diff --git a/DEPS b/DEPS
index 97ffcb3..d1ee856 100644
--- a/DEPS
+++ b/DEPS
@@ -304,15 +304,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': 'b80cbfaf81f32b1e4abfb28454894d4bd1044dd7',
+  'skia_revision': '13266cc111b94a8a29bf8ef1d86f39db3e5d124e',
   # 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': '060d33cde93953acc15a45f37a50d3ebb1703a60',
+  'v8_revision': '10f7ee2375298634126cd353825f2fb3af342194',
   # 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': '3a3a3c655a96200dcea9543f29e3042a1e0838f0',
+  'angle_revision': '341dabf8e58e999974d70295ee498cc10b266c17',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -331,7 +331,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:13.20230613.4.1',
+  'fuchsia_version': 'version:13.20230614.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.
@@ -363,7 +363,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling HarfBuzz
   # and whatever else without interference from each other.
-  'harfbuzz_revision': '8df5cdbcda495a582e72a7e2ce35d6106401edce',
+  'harfbuzz_revision': 'db700b5670d9475cc8ed4880cc9447b232c5e432',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Emoji Segmenter
   # and whatever else without interference from each other.
@@ -391,7 +391,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': '6e8ad1b59f68bf4764a0afefcaa6eec082b6cc71',
+  'devtools_frontend_revision': 'ce4ba169ed6f00e60a797a829d15b5cc8675e392',
   # 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.
@@ -431,7 +431,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': 'b4d3f6811828458ece96f8dd46b987bbae10746f',
+  'dawn_revision': '19f92f9cdeab4e4f888d78ad7a3fd5819fdc2a7d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -1249,7 +1249,7 @@
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
 
   'src/third_party/devtools-frontend-internal': {
-      'url': Var('chrome_git') + '/devtools/devtools-internal.git' + '@' + '5f55a210fa421b1c0a7db170451f2596dc60589b',
+      'url': Var('chrome_git') + '/devtools/devtools-internal.git' + '@' + '7a7573005bba31d7ae3c2698ca065865fa17242f',
     'condition': 'checkout_src_internal',
   },
 
@@ -1716,7 +1716,7 @@
     Var('pdfium_git') + '/pdfium.git' + '@' +  Var('pdfium_revision'),
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + '57cd2bc9b473a24fced56bbf42a51dd1ce6191cb',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '49f628ceb9c9a69c1a92f08eeafa26e715f8ad46',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1756,7 +1756,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/r8',
-              'version': 'AostPkk2hQv2Pz7k7JMtoD346t5IWWll26jAdkVHk2wC',
+              'version': 'vw5kLlW3-suSlCKSO9OQpFWpR8oDnvQ8k1RgKNUapQYC',
           },
       ],
       'condition': 'checkout_android',
@@ -1861,7 +1861,7 @@
       'dep_type': 'cipd',
   },
 
-  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@883f368cdad65e0d5f44429d0c2a4fe07c95dc3c',
+  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@16ff5c9d2ecbdcfdc33565bfd66f1c8bbe91dba0',
 
   'src/third_party/vulkan_memory_allocator':
     Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git' + '@' + 'ebe84bec02c041d28f902da0214bf442743fc907',
@@ -1901,7 +1901,7 @@
     Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + 'e957d8fd868b0793b5e9f14fd523f436ac3f761c',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '3cf60bed1d3c603c153b1ef65f178530aa21c8bc',
+    Var('webrtc_git') + '/src.git' + '@' + 'b7af6b963bedfa9015d015f4b08d9b1e7766bcda',
 
   # 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.
@@ -2059,7 +2059,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/projector_app/app',
-        'version': '4XKZfAUsV0HxB3ygoh4sV9xIAwd79AKpqZCRYmVyV4wC',
+        'version': 'hYEUQKnrR609ieEmgDH86NnZOjD9j-ef370irGLk8X8C',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -4185,7 +4185,7 @@
 
   'src/ios_internal':  {
       'url': Var('chrome_git') + '/chrome/ios_internal.git' + '@' +
-        '982f063c939b3eb4807e903a9eecacacb86fd91a',
+        '44eb5bd19dfeb447aec9ff5565465134efd2be62',
       'condition': 'checkout_ios and checkout_src_internal',
   },
 
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd
index e56b690..3fb1fba2 100644
--- a/ash/ash_strings.grd
+++ b/ash/ash_strings.grd
@@ -1167,6 +1167,9 @@
       <message name="IDS_ASH_SELECT_TO_SPEAK_RESUME" desc="The label for the Select-to-speak resume button, that allows users to continue text-to-speech playback.">
         Continue
       </message>
+      <message name="IDS_ASH_SELECT_TO_SPEAK_TOGGLE_PLAYBACK" is_accessibility_with_no_ui="true" desc="The label for the Select-to-speak pause/resume button as read by screen readers. This button allows users to toggle text-to-speech playback. It is used for both the 'play' and 'pause' states.">
+        Toggle playback
+      </message>
       <message name="IDS_ASH_SELECT_TO_SPEAK_READING_SPEED" desc="The label for the Select-to-speak reading speed button, that allows users to update the rate of text-to-speech playback.">
         Reading speed
       </message>
diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc
index 4f4e8b5..392abe9 100644
--- a/ash/constants/ash_features.cc
+++ b/ash/constants/ash_features.cc
@@ -1112,7 +1112,7 @@
 // Enables the Gaia reauth endpoint.
 BASE_FEATURE(kGaiaReauthEndpoint,
              "GaiaReauthEndpoint",
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enable the Game Dashboard.
 BASE_FEATURE(kGameDashboard,
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index 6e5a804..a13fe1d 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -1841,7 +1841,7 @@
 <translation id="937214777182567951">يتطلّب <ph name="MANAGER" /> منك تحديث جهاز <ph name="DEVICE_TYPE" /> فورًا.</translation>
 <translation id="938963181863597773">ماذا يتضمّن تقويمي؟</translation>
 <translation id="945383118875625837">اسحب الرابط إلى شريط الإشارات</translation>
-<translation id="945522503751344254">إرسال تعليقات</translation>
+<translation id="945522503751344254">إرسال ملاحظات</translation>
 <translation id="951991426597076286">رفض</translation>
 <translation id="953431725143473984">هل تريد إطفاء الجهاز؟</translation>
 <translation id="954052413789300507">لا تتوفّر مساحة كافية لتنزيل الملف <ph name="FILENAME" />. عليك إخلاء بعض المساحة.</translation>
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb
index 512a537..d98f442 100644
--- a/ash/strings/ash_strings_ja.xtb
+++ b/ash/strings/ash_strings_ja.xtb
@@ -141,6 +141,7 @@
 <translation id="1550406609415860283">利用可能なデバイス</translation>
 <translation id="1550523713251050646">クリックするとその他のオプションが表示されます</translation>
 <translation id="1555130319947370107">青</translation>
+<translation id="1576511610858879060">Chromebook または Bluetooth デバイスで古いバージョンの Bluetooth が使用されています。音質を改善するには別の入力ソースを使用してください。</translation>
 <translation id="1576623706766186887">拡大鏡がオンのときにズームアウトします</translation>
 <translation id="1586324912145647027">デスク 1~8 に移動する</translation>
 <translation id="1589090746204042747">このセッションのすべてのアクティビティにアクセスする</translation>
@@ -356,6 +357,7 @@
 <translation id="256712445991462162">ドッキング拡大鏡</translation>
 <translation id="2573588302192866788"><ph name="NAME" /> を接続できませんでした</translation>
 <translation id="2575685495496069081">マルチログインは無効にされています</translation>
+<translation id="2579264398927991698">ファームウェア アップデート</translation>
 <translation id="2582112259361606227">再起動して更新</translation>
 <translation id="2586561057878260610">Ctrl+W キーを押して、<ph name="DESK_NAME" /> と結合します。Ctrl+Shift+W キーを押して、デスクとウィンドウを閉じます。</translation>
 <translation id="2595239820337756193">5 km は何マイル</translation>
@@ -687,6 +689,7 @@
 <translation id="4028481283645788203">セキュリティ強化のためパスワードが必要です</translation>
 <translation id="4032485810211612751"><ph name="HOURS" />:<ph name="MINUTES" />:<ph name="SECONDS" /></translation>
 <translation id="4042660782729322247">画面を共有しています</translation>
+<translation id="404437169852192935">更新は終了しました</translation>
 <translation id="4049230407053723315">クイック設定</translation>
 <translation id="4057003836560082631">ブラウザタブ <ph name="INDEX" />/<ph name="TOTAL_COUNT" />。<ph name="SITE_TITLE" />(<ph name="SITE_URL" />)</translation>
 <translation id="4065525899979931964">{NUM_APPS,plural, =1{1 アプリでオフ}other{# アプリでオフ}}</translation>
@@ -1017,11 +1020,13 @@
 <translation id="5482205457807971887"><ph name="MODIFIER_ONE" />+<ph name="KEY_ONE" /> または <ph name="MODIFIER_TWO" />+<ph name="MODIFIER_THREE" />+<ph name="KEY_TWO" /> キーを押す</translation>
 <translation id="5491186829646618080">利用可能なファームウェアのアップデートがあります</translation>
 <translation id="5503884284981862082">Google アシスタントを起動または終了します</translation>
+<translation id="550391772491508736">キャストを再開</translation>
 <translation id="5506975627792768506">拡大鏡をオンまたはオフにします</translation>
 <translation id="5512042095225963688">前の単語を削除する</translation>
 <translation id="5519195206574732858">LTE</translation>
 <translation id="5520229639206813572">管理者によって eSIM プロファイルがすべて削除されています。詳しくは管理者にお問い合わせください。</translation>
 <translation id="5523434445161341166"><ph name="FEATURE_NAME" /> を接続しています。</translation>
+<translation id="5529587891732734495">キャストを一時停止</translation>
 <translation id="5532994612895037630">全画面を録画するには任意の場所をタップしてください</translation>
 <translation id="5536723544185013515">最近使ったアプリ、左右矢印キーで操作して、最近使ったすべてのアプリにアクセスできます</translation>
 <translation id="553675580533261935">セッションの終了</translation>
@@ -1389,6 +1394,7 @@
 <translation id="7165278925115064263">Alt+Shift+K</translation>
 <translation id="7168224885072002358"><ph name="TIMEOUT_SECONDS" /> 秒後に元の解像度に戻ります</translation>
 <translation id="7180611975245234373">更新</translation>
+<translation id="7185362672357349361">ミュートの通知をオンにしますか?ミュートしているときに話すと、通知されます。音声がデバイスの外部に送信されることはありません。</translation>
 <translation id="7187711731540696127"><ph name="DEVICE_NAME" /> のアクセス ポイントはオンです。デバイスが接続されていません</translation>
 <translation id="7188494361780961876">メニューは画面左上に移動しました。</translation>
 <translation id="7189412385142492784">金星までの距離は</translation>
diff --git a/ash/system/accessibility/autoclick_menu_bubble_controller.h b/ash/system/accessibility/autoclick_menu_bubble_controller.h
index a91e9c8..636b6679 100644
--- a/ash/system/accessibility/autoclick_menu_bubble_controller.h
+++ b/ash/system/accessibility/autoclick_menu_bubble_controller.h
@@ -83,8 +83,8 @@
  private:
   friend class AutoclickMenuBubbleControllerTest;
   friend class AutoclickTest;
+  friend class AutoclickTestUtils;
   friend class FloatingAccessibilityControllerTest;
-  friend class AutoclickBrowserTest;
 
   // Owned by views hierarchy.
   raw_ptr<TrayBubbleView, ExperimentalAsh> bubble_view_ = nullptr;
diff --git a/ash/system/accessibility/select_to_speak/select_to_speak_menu_bubble_controller_unittest.cc b/ash/system/accessibility/select_to_speak/select_to_speak_menu_bubble_controller_unittest.cc
index 0829e66..498e53f 100644
--- a/ash/system/accessibility/select_to_speak/select_to_speak_menu_bubble_controller_unittest.cc
+++ b/ash/system/accessibility/select_to_speak/select_to_speak_menu_bubble_controller_unittest.cc
@@ -85,6 +85,8 @@
       GetMenuButton(SelectToSpeakMenuView::ButtonId::kPause);
   EXPECT_EQ(pause_button->GetTooltipText(),
             l10n_util::GetStringUTF16(IDS_ASH_SELECT_TO_SPEAK_RESUME));
+  EXPECT_EQ(pause_button->GetAccessibleName(),
+            l10n_util::GetStringUTF16(IDS_ASH_SELECT_TO_SPEAK_TOGGLE_PLAYBACK));
   EXPECT_TRUE(GetBubbleWidget()->IsVisible());
 }
 
@@ -97,6 +99,8 @@
       GetMenuButton(SelectToSpeakMenuView::ButtonId::kPause);
   EXPECT_EQ(pause_button->GetTooltipText(),
             l10n_util::GetStringUTF16(IDS_ASH_SELECT_TO_SPEAK_PAUSE));
+  EXPECT_EQ(pause_button->GetAccessibleName(),
+            l10n_util::GetStringUTF16(IDS_ASH_SELECT_TO_SPEAK_TOGGLE_PLAYBACK));
   EXPECT_TRUE(GetBubbleWidget()->IsVisible());
 }
 
diff --git a/ash/system/accessibility/select_to_speak/select_to_speak_menu_view.cc b/ash/system/accessibility/select_to_speak/select_to_speak_menu_view.cc
index 0392bad..2df84e5 100644
--- a/ash/system/accessibility/select_to_speak/select_to_speak_menu_view.cc
+++ b/ash/system/accessibility/select_to_speak/select_to_speak_menu_view.cc
@@ -112,6 +112,13 @@
                       .SetVectorIcon(kSelectToSpeakPauseIcon)
                       .SetTooltipText(l10n_util::GetStringUTF16(
                           IDS_ASH_SELECT_TO_SPEAK_PAUSE))
+                      // Setting the accessible name means that ChromeVox will
+                      // read this rather than the play/pause tooltip. This
+                      // ensures that ChromeVox doesn't immediately interrupt
+                      // reading to announce that the button tooltip text
+                      // changed.
+                      .SetAccessibleName(l10n_util::GetStringUTF16(
+                          IDS_ASH_SELECT_TO_SPEAK_TOGGLE_PLAYBACK))
                       .SetCallback(base::BindRepeating(
                           &SelectToSpeakMenuView::OnButtonPressed,
                           base::Unretained(this),
diff --git a/ash/system/diagnostics/async_log.cc b/ash/system/diagnostics/async_log.cc
index cf48e847..237cc57 100644
--- a/ash/system/diagnostics/async_log.cc
+++ b/ash/system/diagnostics/async_log.cc
@@ -7,7 +7,6 @@
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/memory/scoped_refptr.h"
-#include "base/sequence_checker.h"
 #include "base/task/sequenced_task_runner.h"
 #include "base/task/task_traits.h"
 #include "base/task/thread_pool.h"
@@ -15,19 +14,51 @@
 namespace ash {
 namespace diagnostics {
 
+namespace {
+
+// Create the log file. Called on the first write to the file.
+void CreateFile(const base::FilePath& file_path) {
+  DCHECK(!base::PathExists(file_path));
+
+  if (!base::PathExists(file_path.DirName())) {
+    const bool create_dir_success = base::CreateDirectory(file_path.DirName());
+    if (!create_dir_success) {
+      LOG(ERROR) << "Failed to create diagnostics log directory "
+                 << file_path.DirName();
+      return;
+    }
+  }
+
+  const bool create_file_success = base::WriteFile(file_path, "");
+  if (!create_file_success) {
+    LOG(ERROR) << "Failed to create diagnostics log file " << file_path;
+  }
+}
+
+// Append log to the file. Run on the task runner.
+void AppendImpl(const base::FilePath& file_path, const std::string& text) {
+  // Ensure file exists.
+  if (!base::PathExists(file_path)) {
+    CreateFile(file_path);
+  }
+
+  // Append text to file.
+  base::AppendToFile(file_path, text);
+}
+
+}  // namespace
+
 AsyncLog::AsyncLog(const base::FilePath& file_path) : file_path_(file_path) {
   sequenced_task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(
       {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
        base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
-  DETACH_FROM_SEQUENCE(async_log_checker_);
 }
 
 AsyncLog::~AsyncLog() = default;
 
 void AsyncLog::Append(const std::string& text) {
   sequenced_task_runner_->PostTask(
-      FROM_HERE,
-      base::BindOnce(&AsyncLog::AppendImpl, weak_factory_.GetWeakPtr(), text));
+      FROM_HERE, base::BindOnce(&AppendImpl, file_path_, text));
 }
 
 std::string AsyncLog::GetContents() const {
@@ -46,34 +77,5 @@
   sequenced_task_runner_ = std::move(task_runner);
 }
 
-void AsyncLog::AppendImpl(const std::string& text) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(async_log_checker_);
-  // Ensure file exists.
-  if (!base::PathExists(file_path_)) {
-    CreateFile();
-  }
-
-  // Append text to file.
-  base::AppendToFile(file_path_, text);
-}
-
-void AsyncLog::CreateFile() {
-  DCHECK(!base::PathExists(file_path_));
-
-  if (!base::PathExists(file_path_.DirName())) {
-    const bool create_dir_success = base::CreateDirectory(file_path_.DirName());
-    if (!create_dir_success) {
-      LOG(ERROR) << "Failed to create diagnostics log directory "
-                 << file_path_.DirName();
-      return;
-    }
-  }
-
-  const bool create_file_success = base::WriteFile(file_path_, "");
-  if (!create_file_success) {
-    LOG(ERROR) << "Failed to create diagnostics log file " << file_path_;
-  }
-}
-
 }  // namespace diagnostics
 }  // namespace ash
diff --git a/ash/system/diagnostics/async_log.h b/ash/system/diagnostics/async_log.h
index 60949a88..c627ae0 100644
--- a/ash/system/diagnostics/async_log.h
+++ b/ash/system/diagnostics/async_log.h
@@ -10,8 +10,6 @@
 #include "ash/ash_export.h"
 #include "base/files/file_path.h"
 #include "base/memory/scoped_refptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/sequence_checker.h"
 #include "base/task/sequenced_task_runner.h"
 
 namespace ash {
@@ -37,21 +35,11 @@
       const scoped_refptr<base::SequencedTaskRunner>& task_runner);
 
  private:
-  // Appends to the file. Run on the the task runner.
-  void AppendImpl(const std::string& text);
-
-  // Create the log file. Called on the first write to the file.
-  void CreateFile();
-
   // Path of the log file.
   const base::FilePath file_path_;
 
   // Blockable task runner to enable I/O operations.
   scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner_;
-  SEQUENCE_CHECKER(async_log_checker_);
-
-  // WeakPtr should be destroyed first.
-  base::WeakPtrFactory<AsyncLog> weak_factory_{this};
 };
 
 }  // namespace diagnostics
diff --git a/ash/system/diagnostics/async_log_unittest.cc b/ash/system/diagnostics/async_log_unittest.cc
index 22fb4dd..79cb2bb 100644
--- a/ash/system/diagnostics/async_log_unittest.cc
+++ b/ash/system/diagnostics/async_log_unittest.cc
@@ -110,21 +110,17 @@
 }
 
 TEST_F(AsyncLogTest, NoUseAfterFreeCrash) {
-  auto log = std::make_unique<AsyncLog>(log_path_);
-  log->SetTaskRunnerForTesting(task_runner_);
+  const std::string new_line = "Line\n";
 
-  const std::string line_not_written = "Should not be written";
-  log->Append(line_not_written);
-  EXPECT_EQ(1u, task_runner_->NumPendingTasks());
+  // Simulate race conditions between the destruction of AsyncLog and the
+  // execution of AppendImpl.
+  for (size_t i = 0; i < 10; ++i) {
+    auto log = std::make_unique<AsyncLog>(log_path_);
+    log->Append(new_line);
+  }
 
-  // Simulate log destroyed before append can complete.
-  log.reset();
-
-  // Attempt to run pending AppendImpl call after AsyncLog destroyed.
-  task_runner_->RunUntilIdle();
-
-  EXPECT_FALSE(base::PathExists(log_path_));
-  EXPECT_EQ(0u, task_runner_->NumPendingTasks());
+  // This should finish without crash.
+  task_environment_.RunUntilIdle();
 }
 
 }  // namespace diagnostics
diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings_ar.xtb b/ash/webui/camera_app_ui/resources/strings/camera_strings_ar.xtb
index 75d4b678..1b7db2b0 100644
--- a/ash/webui/camera_app_ui/resources/strings/camera_strings_ar.xtb
+++ b/ash/webui/camera_app_ui/resources/strings/camera_strings_ar.xtb
@@ -168,5 +168,5 @@
 <translation id="906331135292332864">جارٍ معالجة الصورة...</translation>
 <translation id="9161584225258678723">التسريع الزمني</translation>
 <translation id="922762992951083513">المرآة مفعّلة</translation>
-<translation id="945522503751344254">إرسال تعليقات</translation>
+<translation id="945522503751344254">إرسال ملاحظات</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings_da.xtb b/ash/webui/camera_app_ui/resources/strings/camera_strings_da.xtb
index 605ab88b..8924af8 100644
--- a/ash/webui/camera_app_ui/resources/strings/camera_strings_da.xtb
+++ b/ash/webui/camera_app_ui/resources/strings/camera_strings_da.xtb
@@ -158,7 +158,7 @@
 <translation id="8711011893539266636">Slå mikrofonen til eller fra. Lyden er slået fra</translation>
 <translation id="8730621377337864115">Udfør</translation>
 <translation id="8732462232047530626">Se forhåndsvisning af metadata</translation>
-<translation id="8815966864175525708">Skift for at tage et billede i stående format</translation>
+<translation id="8815966864175525708">Skift for at tage et portrætbillede</translation>
 <translation id="8828441885228359828">Genoptag optagelse</translation>
 <translation id="8870695351537079478">Det er ikke muligt at starte en optagelse</translation>
 <translation id="8880167521484863515">4 til 3</translation>
diff --git a/base/compiler_specific.h b/base/compiler_specific.h
index 26eb69d..26bf04f26 100644
--- a/base/compiler_specific.h
+++ b/base/compiler_specific.h
@@ -414,4 +414,25 @@
 #define LOGICALLY_CONST
 #endif
 
+// preserve_most clang's calling convention. Reduces register pressure for the
+// caller and as such can be used for cold calls. Support for the
+// "preserve_most" attribute is limited:
+// - 32-bit platforms do not implement it,
+// - component builds fail because _dl_runtime_resolve() clobbers registers,
+// - there are crashes on arm64 on Windows (https://crbug.com/v8/14065), which
+//   can hopefully be fixed in the future.
+// Additionally, the initial implementation in clang <= 16 overwrote the return
+// register(s) in the epilogue of a preserve_most function, so we only use
+// preserve_most in clang >= 17 (see https://reviews.llvm.org/D143425).
+// See https://clang.llvm.org/docs/AttributeReference.html#preserve-most for
+// more details.
+#if defined(ARCH_CPU_64_BITS) &&                       \
+    !(BUILDFLAG(IS_WIN) && defined(ARCH_CPU_ARM64)) && \
+    !defined(COMPONENT_BUILD) && defined(__clang__) && \
+    __clang_major__ >= 17 && HAS_ATTRIBUTE(preserve_most)
+#define PRESERVE_MOST __attribute__((preserve_most))
+#else
+#define PRESERVE_MOST
+#endif
+
 #endif  // BASE_COMPILER_SPECIFIC_H_
diff --git a/base/debug/dwarf_line_no.cc b/base/debug/dwarf_line_no.cc
index 7ae21421..2f12ea4 100644
--- a/base/debug/dwarf_line_no.cc
+++ b/base/debug/dwarf_line_no.cc
@@ -11,6 +11,7 @@
 #include <cstdint>
 #include <limits>
 
+#include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 
diff --git a/base/trace_event/heap_profiler_allocation_context_tracker.h b/base/trace_event/heap_profiler_allocation_context_tracker.h
index 66cc8713..da4f7472 100644
--- a/base/trace_event/heap_profiler_allocation_context_tracker.h
+++ b/base/trace_event/heap_profiler_allocation_context_tracker.h
@@ -6,6 +6,7 @@
 #define BASE_TRACE_EVENT_HEAP_PROFILER_ALLOCATION_CONTEXT_TRACKER_H_
 
 #include <atomic>
+#include <cstdint>
 #include <vector>
 
 #include "base/base_export.h"
diff --git a/base/tracing/stdlib/chrome/chrome_scroll_janks.sql b/base/tracing/stdlib/chrome/chrome_scroll_janks.sql
new file mode 100644
index 0000000..e6ba71e
--- /dev/null
+++ b/base/tracing/stdlib/chrome/chrome_scroll_janks.sql
@@ -0,0 +1,85 @@
+-- Copyright 2019 The Chromium Authors
+-- Use of this source code is governed by a BSD-style license that can be
+-- found in the LICENSE file.
+
+-- TODO(b/286187288): Move this dependency to stdlib.
+SELECT RUN_METRIC('chrome/event_latency_scroll_jank_cause.sql');
+SELECT IMPORT('common.slices');
+
+-- Selects EventLatency slices that correspond with janks in a scroll. This is
+-- based on the V2 version of scroll jank metrics.
+--
+-- @column id INT                     The slice id.
+-- @column ts INT                     The start timestamp of the slice.
+-- @column dur INT                    The duration of the slice.
+-- @column track_id INT               The track_id for the slice.
+-- @column name STRING                The name of the slice (EventLatency).
+-- @column cause_of_jank STRING       The stage of EventLatency that the caused
+--                                    the jank.
+-- @column sub_cause_of_jank STRING   The stage of cause_of_jank that caused the
+--                                    jank.
+CREATE TABLE chrome_janky_event_latencies_v2 AS
+  SELECT
+    s.id,
+    s.ts,
+    s.dur,
+    s.track_id,
+    s.name,
+    e.cause_of_jank,
+    e.sub_cause_of_jank
+FROM slice s
+JOIN event_latency_scroll_jank_cause e
+  ON s.id = e.slice_id
+WHERE
+  HAS_DESCENDANT_SLICE_WITH_NAME(
+    s.id,
+    'SubmitCompositorFrameToPresentationCompositorFrame');
+
+-- Defines slices for all of janky scrolling intervals in a trace.
+--
+-- @column id            The unique identifier of the janky interval.
+-- @column ts            The start timestamp of the janky interval.
+-- @column dur           The duration of the janky interval.
+CREATE TABLE chrome_scroll_jank_intervals_v2 AS
+-- Sub-table to retrieve all janky slice timestamps. Ordering calculations are
+-- based on timestamps rather than durations.
+WITH janky_latencies AS (
+  SELECT
+    s.ts AS start_ts,
+    s.ts + s.dur AS end_ts
+  FROM chrome_janky_event_latencies_v2 s),
+-- Determine the local maximum timestamp for janks thus far; this will allow
+-- us to coalesce all earlier events up to the maximum.
+ordered_jank_end_ts AS (
+  SELECT
+    *,
+    MAX(end_ts) OVER (
+      ORDER BY start_ts ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+      AS max_end_ts_so_far
+  FROM janky_latencies),
+-- Determine the local minimum timestamp for janks thus far; this will allow
+-- us to coalesce all later events up to the nearest local maximum.
+range_starts AS (
+  SELECT
+    *,
+    CASE
+      -- This is a two-pass calculation to calculate the first event in the
+      -- group. An event is considered the first event in a group if all events
+      -- which started before it also finished the current one started.
+      WHEN start_ts <= 1 + LAG(max_end_ts_so_far) OVER (ORDER BY start_ts) THEN 0
+      ELSE 1
+    END AS range_start
+  FROM ordered_jank_end_ts),
+-- Assign an id to allow coalescing of individual slices.
+range_groups AS (
+  SELECT
+    *,
+    SUM(range_start) OVER (ORDER BY start_ts) AS range_group
+  FROM range_starts)
+-- Coalesce all slices within an interval.
+SELECT
+  range_group AS id,
+  MIN(start_ts) AS ts,
+  MAX(end_ts) - MIN(start_ts) AS dur
+FROM range_groups
+GROUP BY range_group;
diff --git a/base/tracing/stdlib/chrome/chrome_scrolls.sql b/base/tracing/stdlib/chrome/chrome_scrolls.sql
new file mode 100644
index 0000000..809dd27
--- /dev/null
+++ b/base/tracing/stdlib/chrome/chrome_scrolls.sql
@@ -0,0 +1,98 @@
+-- Copyright 2019 The Chromium Authors
+-- Use of this source code is governed by a BSD-style license that can be
+-- found in the LICENSE file.
+
+-- Defines slices for all of the individual scrolls in a trace based on the
+-- LatencyInfo-based scroll definition.
+--
+-- @column id            The unique identifier of the scroll.
+-- @column ts            The start timestamp of the scroll.
+-- @column dur           The duration of the scroll.
+--
+-- NOTE: this view of top level scrolls is based on the LatencyInfo definition
+-- of a scroll, which differs subtly from the definition based on
+-- EventLatencies.
+-- TODO(b/278684408): add support for tracking scrolls across multiple Chrome/
+-- WebView instances. Currently gesture_scroll_id unique within an instance, but
+-- is not unique across multiple instances. Switching to an EventLatency based
+-- definition of scrolls should resolve this.
+CREATE TABLE chrome_scrolls AS
+WITH all_scrolls AS (
+  SELECT
+    name,
+    ts,
+    dur,
+    extract_arg(arg_set_id, 'chrome_latency_info.gesture_scroll_id') AS scroll_id
+  FROM slice
+  WHERE name GLOB 'InputLatency::GestureScroll*'
+  AND extract_arg(arg_set_id, 'chrome_latency_info.gesture_scroll_id') IS NOT NULL
+),
+scroll_starts AS (
+  SELECT
+    scroll_id,
+    MIN(ts) AS scroll_start_ts
+  FROM all_scrolls
+  WHERE name = 'InputLatency::GestureScrollBegin'
+  GROUP BY scroll_id
+), scroll_ends AS (
+  SELECT
+    scroll_id,
+    MIN(ts) AS scroll_end_ts
+  FROM all_scrolls
+  WHERE name = 'InputLatency::GestureScrollEnd'
+  GROUP BY scroll_id
+)
+SELECT
+  sa.scroll_id AS id,
+  MIN(ts) AS ts,
+  CAST(MAX(ts + dur) - MIN(ts) AS INT) AS dur,
+  IFNULL(ss.scroll_start_ts, -1) AS scroll_start_ts,
+  IFNULL(se.scroll_end_ts, -1) AS scroll_end_ts
+FROM all_scrolls sa
+  LEFT JOIN scroll_starts ss ON
+    sa.scroll_id = ss.scroll_id
+  LEFT JOIN scroll_ends se ON
+    sa.scroll_id = se.scroll_id
+GROUP BY sa.scroll_id;
+
+-- Defines slices for all of scrolls intervals in a trace based on the scroll
+-- definition in chrome_scrolls. Note that scrolls may overlap (particularly in
+-- cases of jank/broken traces, etc); so scrolling intervals are not exactly the
+-- same as individual scrolls.
+--
+-- @column id            The unique identifier of the scroll interval. This may
+--                       span multiple scrolls if they overlap.
+-- @column ts            The start timestamp of the scroll interval.
+-- @column dur           The duration of the scroll interval.
+CREATE VIEW chrome_scrolling_intervals AS
+WITH all_scrolls AS (
+  SELECT
+    id AS scroll_id,
+    s.ts AS start_ts,
+    s.ts + s.dur AS end_ts
+  FROM chrome_scrolls s),
+ordered_end_ts AS (
+  SELECT
+    *,
+    MAX(end_ts) OVER (ORDER BY start_ts) AS max_end_ts_so_far
+  FROM all_scrolls),
+range_starts AS (
+  SELECT
+    *,
+    CASE
+      WHEN start_ts <= 1 + LAG(max_end_ts_so_far) OVER (ORDER BY start_ts) THEN 0
+      ELSE 1
+    END AS range_start
+  FROM ordered_end_ts),
+range_groups AS (
+  SELECT
+    *,
+    SUM(range_start) OVER (ORDER BY start_ts) AS range_group
+  FROM range_starts)
+SELECT
+  range_group AS id,
+  GROUP_CONCAT(scroll_id) AS scroll_ids,
+  MIN(start_ts) AS ts,
+  MAX(end_ts) - MIN(start_ts) AS dur
+FROM range_groups
+GROUP BY range_group;
diff --git a/base/tracing/stdlib/chrome/cpu_powerups.sql b/base/tracing/stdlib/chrome/cpu_powerups.sql
new file mode 100644
index 0000000..a09d365
--- /dev/null
+++ b/base/tracing/stdlib/chrome/cpu_powerups.sql
@@ -0,0 +1,166 @@
+-- Copyright 2019 The Chromium Authors
+-- Use of this source code is governed by a BSD-style license that can be
+-- found in the LICENSE file.
+
+-- Find causes for CPUs powering up.
+--
+-- The scripts below analyse traces with the following tracing options
+-- enabled:
+--
+--  - Linux kernel:
+---    "power/*", "sched/*", "task/*",
+--  - Chromium:
+--      "toplevel", "toplevel.flow".
+
+-- Noteworthy tables:
+--
+--   chrome_cpu_power_first_toplevel_slice_after_powerup :: The top-level
+--      slices that ran after a CPU power-up.
+
+-- The CPU power transitions in the trace.
+--
+-- @column ts            The timestamp at the start of the slice.
+-- @column dur           The duration of the slice.
+-- @column cpu           The CPU on which the transition occurred
+-- @column power_state   The power state that the CPU was in at time 'ts' for
+--                       duration 'dur'.
+-- @column previous_power_state The power state that the CPU was previously in.
+-- @column powerup_id    A unique ID for the CPU power-up.
+--
+-- Power states are encoded as non-negative integers, with zero representing
+-- full-power operation and positive values representing increasingly deep
+-- sleep states.
+--
+-- On ARM systems, power state 1 represents the WFI (Wait For Interrupt) sleep
+-- state that the CPU enters while idle.
+CREATE VIEW chrome_cpu_power_slice AS
+  WITH cpu_power_states AS (
+    SELECT
+      c.id AS id,
+      cct.cpu AS cpu,
+      c.ts,
+      -- Encode the 'value' field as a power state.
+      CAST((CASE c.value WHEN 4294967295 THEN 0 ELSE c.value + 1 END)
+        AS INT) AS power_state
+    FROM counter AS c
+    JOIN cpu_counter_track AS cct
+      ON c.track_id = cct.id
+    WHERE cct.name = 'cpuidle'
+  )
+  SELECT *
+  FROM (
+    SELECT
+      ts,
+      LEAD(ts) OVER (PARTITION BY cpu ORDER BY ts ASC) - ts
+        AS dur,
+      cpu,
+      power_state,
+      LAG(power_state) OVER (PARTITION BY cpu ORDER BY ts ASC)
+        AS previous_power_state,
+      id AS powerup_id
+    FROM cpu_power_states
+  )
+  WHERE dur IS NOT NULL
+    AND previous_power_state IS NOT NULL
+    AND power_state = 0                      -- Track full-power states.
+    AND power_state != previous_power_state  -- Skip missing spans.
+    ORDER BY ts ASC;
+
+-- We do not want scheduler slices with utid = 0 (the 'swapper' kernel thread).
+CREATE VIEW internal_cpu_power_valid_sched_slice AS
+  SELECT *
+  FROM sched_slice
+  WHERE utid != 0;
+
+-- Join scheduler slices with the spans with CPU power slices.
+--
+-- There multiple scheduler slices could fall into one CPU power slice.
+--
+---  CPU Power:
+--   |----------------------------|....................|---------|
+--   A       <cpu active>         B     <cpu idling>   C         D
+
+--   Scheduler slices on that CPU:
+--     |-----T1-----| |....T2....|                      |---T3--|
+--     E            F G          H                      I       J
+--
+-- Here threads T1 and T2 executed in CPU power slice [A,B].  The
+-- time between F and G represents time between threads in the kernel.
+CREATE VIRTUAL TABLE internal_cpu_power_and_sched_slice
+USING
+  SPAN_JOIN(chrome_cpu_power_slice PARTITIONED cpu,
+            internal_cpu_power_valid_sched_slice PARTITIONED cpu);
+
+-- The Linux scheduler slices that executed immediately after a
+-- CPU power up.
+--
+-- @column ts          The timestamp at the start of the slice.
+-- @column dur         The duration of the slice.
+-- @column cpu         The cpu on which the slice executed.
+-- @column sched_id    Id for the sched_slice table.
+-- @column utid        Unique id for the thread that ran within the slice.
+-- @column previous_power_state   The CPU's power state before this slice.
+CREATE TABLE chrome_cpu_power_first_sched_slice_after_powerup AS
+  SELECT
+    ts,
+    dur,
+    cpu,
+    id AS sched_id,
+    utid,
+    previous_power_state,
+    powerup_id
+  FROM internal_cpu_power_and_sched_slice
+  WHERE power_state = 0     -- Power-ups only.
+  GROUP BY cpu, powerup_id
+  HAVING ts = MIN(ts)       -- There will only be one MIN sched slice
+                            -- per CPU power up.
+  ORDER BY ts ASC;
+
+-- A view joining thread tracks and top-level slices.
+--
+-- This view is intended to be intersected by time with the scheduler
+-- slices scheduled after a CPU power up.
+--
+--   utid      Thread unique id.
+--   slice_id  The slice_id for the top-level slice.
+--   ts        Starting timestamp for the slice.
+--   dur       The duration for the slice.
+CREATE VIEW internal_cpu_power_thread_and_toplevel_slice AS
+  SELECT
+    t.utid AS utid,
+    s.id AS slice_id,
+    s.ts,
+    s.dur
+  FROM slice AS s
+  JOIN thread_track AS t
+    ON s.track_id = t.id
+  WHERE s.depth = 0   -- Top-level slices only.
+  ORDER BY ts ASC;
+
+-- A table holding the slices that executed within the scheduler
+-- slice that ran on a CPU immediately after power-up.
+--
+-- @column  ts        Timestamp of the resulting slice
+-- @column dur        Duration of the slice.
+-- @column cpu        The CPU the sched slice ran on.
+-- @column utid       Unique thread id for the slice.
+-- @column sched_id   'id' field from the sched_slice table.
+-- @column type       From the sched_slice table, always 'sched_slice'.
+-- @column end_state  The ending state for the sched_slice
+-- @column priority   The kernel thread priority
+-- @column slice_id   Id of the top-level slice for this (sched) slice.
+CREATE VIRTUAL TABLE chrome_cpu_power_post_powerup_slice
+USING
+  SPAN_JOIN(chrome_cpu_power_first_sched_slice_after_powerup PARTITIONED utid,
+            internal_cpu_power_thread_and_toplevel_slice PARTITIONED utid);
+
+-- The first top-level slice that ran after a CPU power-up.
+--
+-- @column slice_id              ID of the slice in the slice table.
+-- @column previous_power_state  The power state of the CPU prior to power-up.
+CREATE VIEW chrome_cpu_power_first_toplevel_slice_after_powerup AS
+  SELECT slice_id, previous_power_state
+  FROM chrome_cpu_power_post_powerup_slice
+  GROUP BY cpu, powerup_id
+  HAVING ts = MIN(ts)
+  ORDER BY ts ASC;
diff --git a/base/tracing/stdlib/chrome/histograms.sql b/base/tracing/stdlib/chrome/histograms.sql
new file mode 100644
index 0000000..e23f88e
--- /dev/null
+++ b/base/tracing/stdlib/chrome/histograms.sql
@@ -0,0 +1,36 @@
+-- Copyright 2019 The Chromium Authors
+-- Use of this source code is governed by a BSD-style license that can be
+-- found in the LICENSE file.
+
+DROP VIEW IF EXISTS chrome_histograms;
+
+-- A helper view on top of the histogram events emitted by Chrome.
+-- Requires "disabled-by-default-histogram_samples" Chrome category.
+--
+-- @column name          The name of the histogram.
+-- @column value         The value of the histogram sample.
+-- @column ts            Alias of |slice.ts|.
+-- @column thread_name   Thread name.
+-- @column utid          Utid of the thread.
+-- @column tid           Tid of the thread.
+-- @column process_name  Process name.
+-- @column upid          Upid of the process.
+-- @column pid           Pid of the process.
+CREATE VIEW chrome_histograms AS
+SELECT
+  extract_arg(slice.arg_set_id, "chrome_histogram_sample.name") as name,
+  extract_arg(slice.arg_set_id, "chrome_histogram_sample.sample") as value,
+  ts,
+  thread.name as thread_name,
+  thread.utid as utid,
+  thread.tid as tid,
+  process.name as process_name,
+  process.upid as upid,
+  process.pid as pid
+FROM slice
+JOIN thread_track ON thread_track.id = slice.track_id
+JOIN thread USING (utid)
+JOIN process USING (upid)
+WHERE
+  slice.name = "HistogramSample"
+  AND category = "disabled-by-default-histogram_samples";
diff --git a/base/tracing/stdlib/chrome/metadata.sql b/base/tracing/stdlib/chrome/metadata.sql
new file mode 100644
index 0000000..68027f9
--- /dev/null
+++ b/base/tracing/stdlib/chrome/metadata.sql
@@ -0,0 +1,16 @@
+-- Copyright 2019 The Chromium Authors
+-- Use of this source code is governed by a BSD-style license that can be
+-- found in the LICENSE file.
+
+-- Returns hardware class of the device, often use to find device brand
+-- and model.
+-- @ret STRING Hardware class name.
+SELECT CREATE_FUNCTION(
+  'CHROME_HARDWARE_CLASS()',
+  'STRING',
+  'SELECT
+    str_value
+   FROM metadata
+  WHERE name = "cr-hardware-class"
+  '
+);
diff --git a/base/tracing/stdlib/chrome/speedometer.sql b/base/tracing/stdlib/chrome/speedometer.sql
new file mode 100644
index 0000000..5054e5c1
--- /dev/null
+++ b/base/tracing/stdlib/chrome/speedometer.sql
@@ -0,0 +1,192 @@
+-- Copyright 2019 The Chromium Authors
+-- Use of this source code is governed by a BSD-style license that can be
+-- found in the LICENSE file.
+
+-- Annotates a trace with Speedometer 2.1 related information.
+--
+-- The scripts below analyse traces with the following tracing options
+-- enabled:
+--
+--  - Chromium:
+--      "blink.user_timing".
+--
+--  NOTE: A regular speedometer run (e.g. from the website) will generate the
+--  required events. No need to add any extra JS or anything.
+--
+-- Noteworthy tables:
+--   speedometer_mark: List of marks (event slices) emitted by Speedometer.
+--       These are the points in time Speedometer makes a clock reading to
+--       compute intervals of time for the final score.
+--   speedometer_measure_slice: Augmented slices for Speedometer measurements.
+--       These are the intervals of time Speedometer uses to compute the final
+--       score.
+--   speedometer_iteration_slice: Slice that covers one Speedometer iteration
+--       and has the total_time and score for it. If you average all the scores
+--       over all iterations you get the final Speedometer score for the run.
+
+-- List of marks (event slices) emitted by Speedometer.
+-- These are the points in time Speedometer makes a clock reading to compute
+-- intervals of time for the final score.
+--
+-- @column slice_id      Slice this data refers to.
+-- @column iteration     Speedometer iteration the mark belongs to.
+-- @column suite_name    Suite name
+-- @column test_name     Test name
+-- @column mark_type     Type of mark (start, sync-end, async-end)
+CREATE VIEW internal_chrome_speedometer_mark
+AS
+WITH
+  speedometer_21_suite_name(suite_name) AS (
+    VALUES
+      ('VanillaJS-TodoMVC'),
+      ('Vanilla-ES2015-TodoMVC'),
+      ('Vanilla-ES2015-Babel-Webpack-TodoMVC'),
+      ('React-TodoMVC'),
+      ('React-Redux-TodoMVC'),
+      ('EmberJS-TodoMVC'),
+      ('EmberJS-Debug-TodoMVC'),
+      ('BackboneJS-TodoMVC'),
+      ('AngularJS-TodoMVC'),
+      ('Angular2-TypeScript-TodoMVC'),
+      ('VueJS-TodoMVC'),
+      ('jQuery-TodoMVC'),
+      ('Preact-TodoMVC'),
+      ('Inferno-TodoMVC'),
+      ('Elm-TodoMVC'),
+      ('Flight-TodoMVC')
+  ),
+  speedometer_21_test_name(test_name) AS (
+    VALUES
+      ('Adding100Items'),
+      ('CompletingAllItems'),
+      -- This seems to be an issue with Speedometer 2.1. All tests delete all items,
+      -- but for some reason the test names do not match for all suites.
+      ('DeletingAllItems'),
+      ('DeletingItems')
+  ),
+  speedometer_21_test_mark_type(mark_type) AS (
+    VALUES
+      ('start'),
+      ('sync-end'),
+      ('async-end')
+  ),
+  -- Make sure we only look at slices with names we expect.
+  speedometer_mark_name AS (
+    SELECT
+      s.suite_name || '.' || t.test_name || '-' || m.mark_type AS name,
+      s.suite_name,
+      t.test_name,
+      m.mark_type
+    FROM
+      speedometer_21_suite_name AS s,
+      speedometer_21_test_name AS t,
+      speedometer_21_test_mark_type AS m
+  )
+SELECT
+  s.id AS slice_id,
+  RANK() OVER (PARTITION BY name ORDER BY ts ASC) AS iteration,
+  m.suite_name,
+  m.test_name,
+  m.mark_type
+FROM slice AS s
+JOIN speedometer_mark_name AS m
+  USING (name)
+WHERE category = 'blink.user_timing';
+
+-- Augmented slices for Speedometer measurements.
+-- These are the intervals of time Speedometer uses to compute the final score.
+-- There are two intervals that are measured for every test: sync and async
+-- sync is the time between the start and sync-end marks, async is the time
+-- between the sync-end and async-end marks.
+--
+-- @column iteration     Speedometer iteration the mark belongs to.
+-- @column suite_name    Suite name
+-- @column test_name     Test name
+-- @column measure_type  Type of the measure (sync or async)
+-- @column ts            Start timestamp of the measure
+-- @column dur           Duration of the measure
+CREATE VIEW chrome_speedometer_measure
+AS
+WITH
+  -- Get the 3 test timestamps (start, sync-end, async-end) in one row. Using a
+  -- the LAG window function and partitioning by test. 2 out of the 3 rows
+  -- generated per test will have some NULL ts values.
+  augmented AS (
+    SELECT
+      iteration,
+      suite_name,
+      test_name,
+      ts AS async_end_ts,
+      LAG(ts, 1)
+        OVER (PARTITION BY iteration, suite_name, test_name ORDER BY ts ASC)
+        AS sync_end_ts,
+      LAG(ts, 2)
+        OVER (PARTITION BY iteration, suite_name, test_name ORDER BY ts ASC)
+        AS start_ts,
+      COUNT()
+        OVER (PARTITION BY iteration, suite_name, test_name ORDER BY ts ASC)
+        AS mark_count
+    FROM internal_chrome_speedometer_mark
+    JOIN slice
+      USING (slice_id)
+  ),
+  filtered AS (
+    SELECT *
+    FROM augmented
+    -- This server 2 purposes: make sure we have all the marks (think truncated
+    -- trace), and remove the NULL ts values due to the LAG window function.
+    WHERE mark_count = 3
+  )
+SELECT
+  iteration,
+  suite_name,
+  test_name,
+  'async' AS measure_type,
+  sync_end_ts AS ts,
+  async_end_ts - sync_end_ts AS dur
+FROM filtered
+UNION ALL
+SELECT
+  iteration,
+  suite_name,
+  test_name,
+  'sync' AS measure_type,
+  start_ts AS ts,
+  sync_end_ts - start_ts AS dur
+FROM filtered;
+
+-- Slice that covers one Speedometer iteration.
+-- This slice is actually estimated as a default Speedometer run will not emit
+-- marks to cover this interval. The metrics associated are the same ones
+-- Speedometer would output, but note we use ns precision (Speedometer uses
+-- ~100us) so the actual values might differ a bit. Also note Speedometer
+-- returns the values in ms these here and in ns.
+--
+-- @column iteration Speedometer iteration.
+-- @column ts        Start timestamp of the iteration
+-- @column dur       Duration of the iteration
+-- @column total     Total duration of the measures in this iteration
+-- @column mean      Average suite duration for this iteration.
+-- @column geomean   Geometric mean of the suite durations for this iteration.
+-- @column score     Speedometer score for this iteration (The total score for a
+--                   run in the average of all iteration scores).
+CREATE VIEW chrome_speedometer_iteration
+AS
+SELECT
+  iteration,
+  MIN(start) AS ts,
+  MAX(end) - MIN(start) AS dur,
+  SUM(suite_total) AS total,
+  AVG(suite_total)AS mean,
+  -- Compute geometric mean using LN instead of multiplication to prevent
+  -- overflows
+  EXP(AVG(LN(suite_total))) AS geomean,
+  1e9 / EXP(AVG(LN(suite_total))) * 60 / 3 AS score
+FROM
+  (
+    SELECT
+      iteration, SUM(dur) AS suite_total, MIN(ts) AS start, MAX(ts + dur) AS end
+    FROM chrome_speedometer_measure
+    GROUP BY suite_name, iteration
+  )
+GROUP BY iteration;
diff --git a/build/fuchsia/linux_internal.sdk.sha1 b/build/fuchsia/linux_internal.sdk.sha1
index 4fc622d..b5a8f96 100644
--- a/build/fuchsia/linux_internal.sdk.sha1
+++ b/build/fuchsia/linux_internal.sdk.sha1
@@ -1 +1 @@
-13.20230614.0.1
+13.20230614.1.1
diff --git a/cc/base/features.cc b/cc/base/features.cc
index 8759323..c3b4b21 100644
--- a/cc/base/features.cc
+++ b/cc/base/features.cc
@@ -49,10 +49,6 @@
              "MainRepaintScrollPrefersNewContent",
              base::FEATURE_ENABLED_BY_DEFAULT);
 
-BASE_FEATURE(kFlushGpuAtDraw,
-             "FlushGpuAtDraw",
-             base::FEATURE_ENABLED_BY_DEFAULT);
-
 BASE_FEATURE(kSchedulerSmoothnessForAnimatedScrolls,
              "SmoothnessModeForAnimatedScrolls",
              base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/cc/base/features.h b/cc/base/features.h
index e8b1e060..63fbfdb 100644
--- a/cc/base/features.h
+++ b/cc/base/features.h
@@ -32,9 +32,6 @@
 // unified scroll with main-thread repaint reasons.
 CC_BASE_EXPORT BASE_DECLARE_FEATURE(kMainRepaintScrollPrefersNewContent);
 
-// Flush pending GPU raster work before running the LTHI::DrawLayers stage.
-CC_BASE_EXPORT BASE_DECLARE_FEATURE(kFlushGpuAtDraw);
-
 // When enabled, wheel scrolls trigger smoothness mode. When disabled,
 // smoothness mode is limited to non-animated (precision) scrolls, such as
 // touch scrolling.
diff --git a/cc/mojo_embedder/async_layer_tree_frame_sink.cc b/cc/mojo_embedder/async_layer_tree_frame_sink.cc
index c84696c..3ec9b29 100644
--- a/cc/mojo_embedder/async_layer_tree_frame_sink.cc
+++ b/cc/mojo_embedder/async_layer_tree_frame_sink.cc
@@ -57,6 +57,7 @@
           std::move(params->synthetic_begin_frame_source)),
 #if BUILDFLAG(IS_ANDROID)
       io_thread_id_(params->io_thread_id),
+      main_thread_id_(params->main_thread_id),
 #endif
       pipes_(std::move(params->pipes)),
       wants_animate_only_begin_frames_(params->wants_animate_only_begin_frames),
@@ -117,6 +118,9 @@
   thread_ids.push_back(base::PlatformThread::CurrentId());
   if (io_thread_id_ != base::kInvalidThreadId)
     thread_ids.push_back(io_thread_id_);
+  if (main_thread_id_ != base::kInvalidThreadId) {
+    thread_ids.push_back(main_thread_id_);
+  }
   compositor_frame_sink_ptr_->SetThreadIds(thread_ids);
 #endif
 
diff --git a/cc/mojo_embedder/async_layer_tree_frame_sink.h b/cc/mojo_embedder/async_layer_tree_frame_sink.h
index 2c06c4bc..b84d5a8 100644
--- a/cc/mojo_embedder/async_layer_tree_frame_sink.h
+++ b/cc/mojo_embedder/async_layer_tree_frame_sink.h
@@ -76,6 +76,7 @@
     UnboundMessagePipes pipes;
     bool wants_animate_only_begin_frames = false;
     base::PlatformThreadId io_thread_id = base::kInvalidThreadId;
+    base::PlatformThreadId main_thread_id = base::kInvalidThreadId;
 
     // If `true`, the CompositorFrameSinkClient receiver will receive IPC
     // directly to the thread on which the AsyncLayerTreeFrameSink lives, rather
@@ -142,6 +143,7 @@
   std::unique_ptr<viz::SyntheticBeginFrameSource> synthetic_begin_frame_source_;
 #if BUILDFLAG(IS_ANDROID)
   base::PlatformThreadId io_thread_id_;
+  base::PlatformThreadId main_thread_id_;
 #endif
 
   // Message pipes that will be bound when BindToClient() is called.
diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc
index 3ebce5d6..91a5f42 100644
--- a/cc/tiles/tile_manager.cc
+++ b/cc/tiles/tile_manager.cc
@@ -608,11 +608,12 @@
   tile_task_manager_->CheckForCompletedTasks();
   did_check_for_completed_tasks_since_last_schedule_tasks_ = true;
 
-  if (base::FeatureList::IsEnabled(features::kFlushGpuAtDraw)) {
-    // Flush the GPU before calling SetReadyToDrawCallback, which happens in
-    // CheckPendingGpuWorkAndIssueSignals.
-    raster_buffer_provider_->Flush();
-  }
+  // Flush the GPU before calling SetReadyToDrawCallback, which happens in
+  // CheckPendingGpuWorkAndIssueSignals.
+  // TODO(crbug.com/1369739): This flush is unnecessary if no raster work
+  // occurred. Consider tracking whether a flush is needed, either in
+  // TileManager or inside the RasterBufferProvider.
+  raster_buffer_provider_->Flush();
   CheckPendingGpuWorkAndIssueSignals();
 
   TRACE_EVENT_INSTANT1(
diff --git a/chrome/VERSION b/chrome/VERSION
index 9084fa76..519426e 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=116
 MINOR=0
-BUILD=5832
+BUILD=5833
 PATCH=0
diff --git a/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd b/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd
index ccea89c..aa890289 100644
--- a/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd
+++ b/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings.grd
@@ -223,9 +223,8 @@
       <message name="IDS_IPH_KEYBOARD_ACCESSORY_SWIPE_FOR_MORE" desc="Text in In-Product-Help bubble suggesting to scroll the accessory to reveal more suggestions.">
         Swipe to see more suggestions
       </message>
-      <!-- TODO(crbug/1444418): Introduce proper string. -->
-      <message translateable="false" name="IDS_CREDMAN_REENTRY_ACCESSORY_BUTTON" desc="Text for the button used to show platform passkeys again.">
-        Show Passkeys
+      <message name="IDS_CREDMAN_REENTRY_ACCESSORY_BUTTON" desc="Text for the button used to show platform passkeys and passwords again.">
+        Choose a sign-in
       </message>
       <message name="IDS_PASSWORD_GENERATION_ACCESSORY_BUTTON" desc="Text for the button used to generate a password.">
         Suggest strong password
diff --git a/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings_grd/IDS_CREDMAN_REENTRY_ACCESSORY_BUTTON.png.sha1 b/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings_grd/IDS_CREDMAN_REENTRY_ACCESSORY_BUTTON.png.sha1
new file mode 100644
index 0000000..cc4e519
--- /dev/null
+++ b/chrome/android/features/keyboard_accessory/internal/java/strings/android_keyboard_accessory_strings_grd/IDS_CREDMAN_REENTRY_ACCESSORY_BUTTON.png.sha1
@@ -0,0 +1 @@
+bc91c20caa4e96e023a7fbce2ee258ff9dd4c5ea
\ No newline at end of file
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManagerTest.java
index f7f45c6e..4f1db02 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManagerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManagerTest.java
@@ -22,6 +22,7 @@
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.chrome.browser.compositor.CompositorView;
 import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -86,6 +87,7 @@
 
     @Test
     @MediumTest
+    @DisabledTest(message = "https://crbug.com/1454653")
     public void testJpegRefetch() throws Exception {
         final String testHttpsUrl1 =
                 sActivityTestRule.getTestServer().getURL("/chrome/test/data/android/test.html");
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/gesturenav/NavigationHandlerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/gesturenav/NavigationHandlerTest.java
index ae5a3aa8..ebba9388 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/gesturenav/NavigationHandlerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/gesturenav/NavigationHandlerTest.java
@@ -173,19 +173,8 @@
     @Test
     @SmallTest
     public void testSwipeNavigateOnRenderedPage() {
-        FeatureList.setTestFeatures(Map.of(ChromeFeatureList.BACK_FORWARD_TRANSITIONS, false));
-        testSwipeNavigateOnRenderedPageInternal();
-    }
-
-    @Test
-    @SmallTest
-    @DisabledTest(message = "crbug.com/1426201")
-    public void testSwipeNavigateOnRenderedPage_withBackForwardTransition() {
-        FeatureList.setTestFeatures(Map.of(ChromeFeatureList.BACK_FORWARD_TRANSITIONS, true));
-        testSwipeNavigateOnRenderedPageInternal();
-    }
-
-    private void testSwipeNavigateOnRenderedPageInternal() {
+        // TODO(crbug.com/1426201): Write a test variation running with
+        //     ChromeFeatureList.BACK_FORWARD_TRANSITIONS enabled when the feature is completed.
         mTestServer = EmbeddedTestServer.createAndStartServer(
                 InstrumentationRegistry.getInstrumentation().getContext());
         mActivityTestRule.loadUrl(mTestServer.getURL(RENDERED_PAGE));
@@ -303,13 +292,14 @@
     @Test
     @SmallTest
     @Restriction(UiRestriction.RESTRICTION_TYPE_PHONE)
+    @DisabledTest(message = "https://crbug.com/1435090")
     public void testSwipeAndHoldOnNtp_EnterTabSwitcher() throws TimeoutException {
         // Clicking tab switcher button while swiping and holding the gesture navigation
         // bubble should reset the state and dismiss the UI.
         mActivityTestRule.loadUrl(UrlConstants.NTP_URL);
         mNavUtils.swipeFromEdgeAndHold(/*leftEdge=*/true);
         setTabSwitcherModeAndWait(true);
-        CriteriaHelper.pollUiThread(() -> !mNavigationHandler.isActive());
+        Assert.assertFalse("Navigation UI should be reset.", mNavigationHandler.isActive());
     }
 
     /**
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninFirstRunFragmentTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninFirstRunFragmentTest.java
index 429e381..8242d91 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninFirstRunFragmentTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninFirstRunFragmentTest.java
@@ -67,6 +67,7 @@
 import org.chromium.base.test.util.DoNotBatch;
 import org.chromium.base.test.util.HistogramWatcher;
 import org.chromium.base.test.util.Restriction;
+import org.chromium.base.test.util.ScalableTimeout;
 import org.chromium.chrome.browser.enterprise.util.EnterpriseInfo;
 import org.chromium.chrome.browser.enterprise.util.EnterpriseInfo.OwnedState;
 import org.chromium.chrome.browser.enterprise.util.FakeEnterpriseInfo;
@@ -673,7 +674,6 @@
         verify(mFirstRunPageDelegateMock).advanceToNextPage();
     }
 
-    @DisabledTest(message = "https:://crbug.com/1447085")
     @Test
     @MediumTest
     public void testDismissButtonWhenUserIsSignedIn() {
@@ -690,9 +690,9 @@
                             .getIdentityManager(Profile.getLastUsedRegularProfile())
                             .hasPrimaryAccount(ConsentLevel.SIGNIN);
         });
-        verify(mFirstRunPageDelegateMock).acceptTermsOfService(true);
-        verify(mFirstRunPageDelegateMock).advanceToNextPage();
-        verify(mFirstRunPageDelegateMock)
+        waitForEvent(mFirstRunPageDelegateMock).acceptTermsOfService(true);
+        waitForEvent(mFirstRunPageDelegateMock).advanceToNextPage();
+        waitForEvent(mFirstRunPageDelegateMock)
                 .recordFreProgressHistogram(MobileFreProgress.WELCOME_DISMISS);
     }
 
@@ -1340,4 +1340,9 @@
     private ViewAction clickOnTosLink() {
         return ViewUtils.clickOnClickableSpan(0);
     }
+
+    private static <T> T waitForEvent(T mock) {
+        return verify(mock,
+                timeout(ScalableTimeout.scaleTimeout(CriteriaHelper.DEFAULT_MAX_TIME_TO_POLL)));
+    }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenCurrentPageVerifierTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenCurrentPageVerifierTest.java
index a77028ab2..4a6f711 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenCurrentPageVerifierTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenCurrentPageVerifierTest.java
@@ -19,7 +19,6 @@
 
 import org.chromium.base.CommandLine;
 import org.chromium.base.test.util.CommandLineFlags;
-import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
 import org.chromium.chrome.browser.browserservices.ui.controller.CurrentPageVerifier.VerificationStatus;
@@ -71,7 +70,6 @@
     @Test
     @LargeTest
     @Feature({"Webapps"})
-    @DisabledTest(message = "http://crbug.com/1283235")
     public void testInScope() {
         String page = "https://foo.com/chrome/test/data/android/customtabs/cct_header.html";
         String otherPageInScope = "https://foo.com/chrome/test/data/android/simple.html";
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenTest.java
index c78c52c..2c6d60d 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenTest.java
@@ -26,7 +26,6 @@
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.DisableIf;
-import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.Restriction;
 import org.chromium.base.test.util.UrlUtils;
@@ -315,7 +314,6 @@
     @Feature("{Webapp}")
     @Restriction(Restriction.RESTRICTION_TYPE_NON_LOW_END_DEVICE)
     @CommandLineFlags.Add(ContentSwitches.DISABLE_POPUP_BLOCKING)
-    @DisabledTest(message = "https://crbug.com/1269022")
     public void testAddWebappShortcutWithEmptyPage() {
         Tab spawnedPopup = spawnPopupInBackground("");
         addShortcutToTab(spawnedPopup, "", true /* expectAdded */);
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index ab50f05..2577f83 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -14690,6 +14690,13 @@
       Learn more
     </message>
 
+    <!-- Additional information for app uninstall prompt for apps that are considered 'parent apps' by the Multi App API-->
+    <message name="IDS_APP_UNINSTALL_PROMPT_ADDITIONAL_UNINSTALLS_MESSAGE" desc="Text displayed in the app uninstall prompt above a list of one or more associated apps that will also be uninstalled if the user continues with the uninstallation. [ICU Syntax]">
+      {NUM_SUB_APPS, plural,
+        =1 {Uninstalling "<ph name="APP_NAME">{APP_NAME}<ex>Citrix</ex></ph>" will also uninstall this app:}
+        other {Uninstalling "<ph name="APP_NAME">{APP_NAME}<ex>Citrix</ex></ph>" will also uninstall these apps:}}
+    </message>
+
     <!-- Speech Recognition -->
     <message name="IDS_UTILITY_PROCESS_SPEECH_RECOGNITION_SERVICE_NAME" desc="The name of the service process used to interface with the Speech On-Demand API.">
       Speech recognition service
diff --git a/chrome/app/generated_resources_grd/IDS_APP_UNINSTALL_PROMPT_ADDITIONAL_UNINSTALLS_MESSAGE.png.sha1 b/chrome/app/generated_resources_grd/IDS_APP_UNINSTALL_PROMPT_ADDITIONAL_UNINSTALLS_MESSAGE.png.sha1
new file mode 100644
index 0000000..137e3c5
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_APP_UNINSTALL_PROMPT_ADDITIONAL_UNINSTALLS_MESSAGE.png.sha1
@@ -0,0 +1 @@
+a83c75e884c3de0c1905d95dbc4508f7c4c7ca7c
\ No newline at end of file
diff --git a/chrome/app/password_manager_ui_strings.grdp b/chrome/app/password_manager_ui_strings.grdp
index dd011a2f..e065d5a 100644
--- a/chrome/app/password_manager_ui_strings.grdp
+++ b/chrome/app/password_manager_ui_strings.grdp
@@ -595,4 +595,10 @@
   <message name="IDS_PASSWORD_MANAGER_UI_USERNAME_PLACEHOLDER" desc="Placeholder shown when the user has no username set on a passkey.">
     No username
   </message>
+  <message name="IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_TITLE" desc="Title of a dialog shown when the user clicks a button to delete a passkey. For consistency, the word 'passkey' is in the glossary with translations already suggested.">
+    Delete passkey?
+  </message>
+  <message name="IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_DESCRIPTION" desc="Description of a dialog shown when the user clicks a button to delete a passkey. For consistency, the word 'passkey' is in the glossary with translations already suggested.">
+    Your <ph name="DOMAIN_LINK">$1<ex>&lt;a href="https://google.ca" target="_blank"&gt;google.ca&lt;/a&gt;</ex></ph> account won't be deleted
+  </message>
 </grit-part>
diff --git a/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_DESCRIPTION.png.sha1 b/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_DESCRIPTION.png.sha1
new file mode 100644
index 0000000..29078013
--- /dev/null
+++ b/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_DESCRIPTION.png.sha1
@@ -0,0 +1 @@
+a5de9746332c70d1893b771bb244a4ac93911642
\ No newline at end of file
diff --git a/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_TITLE.png.sha1 b/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_TITLE.png.sha1
new file mode 100644
index 0000000..29078013
--- /dev/null
+++ b/chrome/app/password_manager_ui_strings_grdp/IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_TITLE.png.sha1
@@ -0,0 +1 @@
+a5de9746332c70d1893b771bb244a4ac93911642
\ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_af.xtb b/chrome/app/resources/chromium_strings_af.xtb
index fe3a94bd..5a17e686 100644
--- a/chrome/app/resources/chromium_strings_af.xtb
+++ b/chrome/app/resources/chromium_strings_af.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">Belangrike sekuriteitverbeterings en nuwe kenmerke is in die jongste weergawe beskikbaar.</translation>
 <translation id="4050599136622776556">Chromium probeer tans om betaalmetodes te wysig.</translation>
 <translation id="4055805654398742145">W&amp;agwoordbestuurder</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Jou organisasie maak Chromium outomaties toe nadat dit 1 minuut lank nie gebruik is nie. Blaaierdata word uitgevee. Dit kan geskiedenis, outovul en aflaaie insluit.}other{Jou organisasie maak Chromium outomaties toe nadat dit # minute lank nie gebruik is nie. Blaaierdata word uitgevee. Dit kan geskiedenis, outovul en aflaaie insluit.}}</translation>
 <translation id="4148957013307229264">Installeer tans …</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> – Netwerkaanmelding – Chromium</translation>
 <translation id="421369550622382712">Ontdek wonderlike programme, speletjies, uitbreidings en temas vir Chromium.</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">Dit gebruik dieselfde speltoetser wat in Google-soektog gebruik word. Teks wat jy in die blaaier tik, word na Google toe gestuur. Jy kan altyd hierdie gedrag in instellings verander.</translation>
 <translation id="4888717733111232871">Inkomende reël vir Chromium om mDNS-verkeer toe te laat.</translation>
 <translation id="4893347770495441059">Begin weer om &amp;Chromium op te dateer</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Jou organisasie vee blaaierdata outomaties uit nadat Chromium 1 minuut lank nie gebruik is nie. Dit kan geskiedenis, outovul en aflaaie insluit. Jou bestaande oortjies sal oop bly.}other{Jou organisasie vee blaaierdata outomaties uit nadat Chromium # minute lank nie gebruik is nie. Dit kan geskiedenis, outovul en aflaaie insluit. Jou bestaande oortjies sal oop bly.}}</translation>
 <translation id="4943838377383847465">Chromium is in agtergrondmodus.</translation>
 <translation id="4987820182225656817">Gaste kan Chromium gebruik sonder om iets agter te laat.</translation>
 <translation id="4994636714258228724">Voeg jouself by Chromium</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">Koppel tans aan die internet …</translation>
 <translation id="5941711191222866238">Maak kleiner</translation>
 <translation id="5972142260211327093">As Chromium jou lukraak vir ’n aktiewe proeflopie gekies het, sal jou blaaigeskiedenis die advertensies wat jy sien, beïnvloed asook die belangstellings soos hieronder geskat. Chromium vee elke maand jou belangstellings op ’n rollende basis uit om jou privaatheid te beskerm. Belangstellings herlaai, tensy jy hulle verwyder.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Jou organisasie maak Chromium outomaties toe nadat dit 1 minuut lank nie gebruik is nie.}other{Jou organisasie maak Chromium outomaties toe nadat dit # minute lank nie gebruik is nie.}}</translation>
 <translation id="5987687638152509985">Dateer Chromium op om sinkronisering te begin</translation>
 <translation id="5988505247484123880">Dit is algemeen vir werwe wat jy besoek om dinge waarin jy belangstel te onthou en jou ervaring te personaliseer. Werwe kan ook inligting oor jou belangstellings in Chromium stoor.</translation>
 <translation id="6003112304606738118">Laai tans af … <ph name="HOURS" /> uur oor</translation>
diff --git a/chrome/app/resources/chromium_strings_ar.xtb b/chrome/app/resources/chromium_strings_ar.xtb
index cc26bf4..7c62661 100644
--- a/chrome/app/resources/chromium_strings_ar.xtb
+++ b/chrome/app/resources/chromium_strings_ar.xtb
@@ -137,6 +137,7 @@
 <translation id="4050175100176540509">تحسينات الأمان المهمة والميزات الجديدة متاحة في أحدث إصدار.</translation>
 <translation id="4050599136622776556">‏يحاول Chromium تعديل طُرق الدفع.</translation>
 <translation id="4055805654398742145">مدير كلمات المرور</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة دقيقة واحدة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}zero{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقيقة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}two{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة دقيقتَين. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}few{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقائق. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}many{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقيقة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}other{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقيقة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}}</translation>
 <translation id="4148957013307229264">جارٍ التثبيت...</translation>
 <translation id="419998258129752635">‏<ph name="PAGE_TITLE" /> - تسجيل الدخول إلى الشبكة - Chromium</translation>
 <translation id="421369550622382712">‏اكتشف تطبيقات، وألعاب، وإضافات، ومظاهر رائعة لمتصفح Chromium.</translation>
@@ -172,6 +173,7 @@
 <translation id="479167709087336770">‏يستخدم ذلك المدقق الإملائي نفسه الذي يتم استخدامه في "بحث Google". ويتم إرسال النص الذي تكتبه في المتصفّح إلى Google. يمكنك دائمًا تغيير هذا السلوك في الإعدادات.</translation>
 <translation id="4888717733111232871">‏قاعدة الوارد إلى Chromium للسماح بحركة مرور mDNS.</translation>
 <translation id="4893347770495441059">‏إعادة تشغيل متصفِّح Chromium لتحديثه</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chromium لمدة دقيقة واحدة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}zero{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chromium لمدة # دقيقة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}two{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chromium لمدة دقيقتَين. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}few{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chromium لمدة # دقائق. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}many{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chromium لمدة # دقيقة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}other{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chromium لمدة # دقيقة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}}</translation>
 <translation id="4943838377383847465">‏Chromium في وضع الخلفية.</translation>
 <translation id="4987820182225656817">‏يمكن للضيف استخدام Chromium بدون أن يترك أي أثر وراءه.</translation>
 <translation id="4994636714258228724">‏إضافة نفسك إلى Chromium</translation>
@@ -206,6 +208,7 @@
 <translation id="5924017743176219022">جارٍ الاتصال بالإنترنت...</translation>
 <translation id="5941711191222866238">تصغير</translation>
 <translation id="5972142260211327093">‏في حال أضافك Chromium عشوائيًا إلى تجربة نشطة، سيؤثر سجلّ تصفّحك في الإعلانات التي تظهر لك والاهتمامات التي يتم تقديرها على النحو الموضّح أدناه. ولحماية خصوصيتك، يحذف Chromium اهتماماتك بشكل متواصل مرة واحدة على الأقل شهريًا. يتم تحديث الاهتمامات ما لم تزِلها.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة دقيقة واحدة.}zero{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقيقة.}two{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة دقيقتَين.}few{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقائق.}many{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقيقة.}other{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chromium تلقائيًا عند عدم استخدامه لمدة # دقيقة.}}</translation>
 <translation id="5987687638152509985">‏تحديث Chromium لبدء المزامنة</translation>
 <translation id="5988505247484123880">‏غالبًا ما تتذكّر المواقع الإلكترونية التي تزورها المحتوى الذي يهمك، وذلك من أجل تخصيص تجربتك. يمكن أيضًا أن تخزّن المواقع الإلكترونية معلومات عن اهتماماتك في متصفّح Chromium.</translation>
 <translation id="6003112304606738118">جارٍ التنزيل… الساعات المتبقّية: <ph name="HOURS" /></translation>
diff --git a/chrome/app/resources/chromium_strings_as.xtb b/chrome/app/resources/chromium_strings_as.xtb
index 2d1dc671..81bc646 100644
--- a/chrome/app/resources/chromium_strings_as.xtb
+++ b/chrome/app/resources/chromium_strings_as.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">শেহতীয়া সংস্কৰণত কিছুমান গুৰুত্বপূর্ণ উন্নত সুৰক্ষাৰ ব্যৱস্থা আৰু নতুন সুবিধা উপলব্ধ।</translation>
 <translation id="4050599136622776556">Chromiumএ পৰিশোধ পদ্ধতি সম্পাদনা কৰিবলৈ চেষ্টা কৰি আছে।</translation>
 <translation id="4055805654398742145">পা&amp;ছৱৰ্ড পৰিচালক</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Chromium ১ মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে। ব্ৰাউজিঙৰ ডেটা মচি পেলোৱা হয়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে।}one{Chromium # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে। ব্ৰাউজিঙৰ ডেটা মচি পেলোৱা হয়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে।}other{Chromium # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে। ব্ৰাউজিঙৰ ডেটা মচি পেলোৱা হয়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে।}}</translation>
 <translation id="4148957013307229264">ইনষ্টল কৰি থকা হৈছে…</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - নেটৱর্কত ছাইন ইন - Chromium</translation>
 <translation id="421369550622382712">Chromiumৰ বাবে উৎকৃষ্ট এপ্, গে’ম, এক্সটেনশ্বন আৰু থীমসমূহ বিচাৰক।</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">এইটোৱে Google Searchত ব্যৱহৃত একেটা বানান পৰীক্ষকেই ব্যৱহাৰ কৰে। আপুনি ব্ৰাউজাৰত টাইপ কৰা পাঠ Googleলৈ পঠিওৱা হয়। আপুনি ছেটিংসমূহ-ত যিকোনো সময়তে এই আচৰণটো সলনি কৰিব পাৰে।</translation>
 <translation id="4888717733111232871">mDNS ট্ৰেফিকক অনুমতি দিবলৈ Chromium অন্তৰ্গামী নিয়ম।</translation>
 <translation id="4893347770495441059">&amp;Chromium আপডে'ট কৰিবলৈ পুনৰ লঞ্চ কৰক</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Chromium ১ মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ব্ৰাউজিঙৰ ডেটা মচি পেলায়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে। আপোনাৰ পূৰ্বৰে পৰা থকা টেববোৰ খোলা থাকিব।}one{Chromium # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ব্ৰাউজিঙৰ ডেটা মচি পেলায়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে। আপোনাৰ পূৰ্বৰে পৰা থকা টেববোৰ খোলা থাকিব।}other{Chromium # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ব্ৰাউজিঙৰ ডেটা মচি পেলায়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে। আপোনাৰ পূৰ্বৰে পৰা থকা টেববোৰ খোলা থাকিব।}}</translation>
 <translation id="4943838377383847465">Chromium নেপথ্য ম’ডত আছে।</translation>
 <translation id="4987820182225656817">অতিথিসকলে কোনো সুবিধা বাদ নিদিয়াকৈ Chromium ব্যৱহাৰ কৰিব পাৰে।</translation>
 <translation id="4994636714258228724">নিজকে Chromiumত যোগ কৰক</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">ইন্টাৰনেটৰ সৈতে সংযোগ কৰি থকা হৈছে...</translation>
 <translation id="5941711191222866238">সৰু কৰক</translation>
 <translation id="5972142260211327093">যদি আপোনাক Chromiumএ যাদৃশ্যিকভাৱে কোনো সক্ৰিয় ট্ৰায়েলত ৰাখিছে, তেন্তে আপোনাৰ ব্ৰাউজিঙৰ ইতিহাসে আপুনি দেখা পোৱা বিজ্ঞাপন আৰু তলত অনুমান কৰা আগ্ৰহসমূহত প্ৰভাৱ পেলায়। আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰিবলৈ, Chromiumএ প্ৰতি মাহে এক নিৰ্দিষ্ট সময়ৰ অন্তৰে অন্তৰে আপোনাৰ আগ্ৰহসমূহ মচে। আপুনি আঁতৰাই নিদিয়া পৰ্যন্ত আগ্ৰহসমূহ ৰিফ্ৰেশ্ব হয়।</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Chromium ১ মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে।}one{Chromium # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে।}other{Chromium # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে।}}</translation>
 <translation id="5987687638152509985">ছিংক আৰম্ভ কৰিবলৈ Chromium আপডে’ট কৰক</translation>
 <translation id="5988505247484123880">আপোনাৰ অভিজ্ঞতা ব্যক্তিগতকৃত কৰিবলৈ, আপুনি চোৱা ছাইটে আপোনাৰ আগ্ৰহৰ বিষয়সমূহ মনত ৰখাটো সাধাৰণ কথা। ছাইটে আপোনাৰ আগ্ৰহৰ বিষয়ে তথ্য Chromiumৰ জৰিয়তে ষ্ট’ৰ কৰিবও পাৰে।</translation>
 <translation id="6003112304606738118">ডাউনল’ড হৈ আছে... <ph name="HOURS" /> ঘণ্টা বাকী আছে</translation>
diff --git a/chrome/app/resources/chromium_strings_az.xtb b/chrome/app/resources/chromium_strings_az.xtb
index 6f019b4..1a7f7e7 100644
--- a/chrome/app/resources/chromium_strings_az.xtb
+++ b/chrome/app/resources/chromium_strings_az.xtb
@@ -144,6 +144,7 @@
 <translation id="4050175100176540509">Mühüm təhlükəsizlik təkmilləşdirilmələri və yeni funksiyalar son versiyada əlçatandır.</translation>
 <translation id="4050599136622776556">Chromium ödəniş metodlarını redaktə etməyə çalışır.</translation>
 <translation id="4055805654398742145">Parol Meneceri</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Chromium 1 dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır. Baxış datası silinir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər.}other{Chromium # dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır. Baxış datası silinir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər.}}</translation>
 <translation id="4148957013307229264">Quraşdırılır...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - Şəbəkəyə Giriş - Chromium</translation>
 <translation id="421369550622382712">Chromium üçün möhtəşəm tətbiqlər, oyunlar, artırmalar və temalar kəşf edin.</translation>
@@ -180,6 +181,7 @@
 <translation id="479167709087336770">Bu, Google axtarışda istifadə edilən eyni orfoqrafiya yoxlayandan istifadə edir. Brauzerdə yazdığınız mətn Google'a göndərilir. Bunu istənilən vaxt ayarlardan dəyişə bilərsiniz.</translation>
 <translation id="4888717733111232871">mDNS trafikinə imkan vermək üçün Chromium üçün daxil olan qayda.</translation>
 <translation id="4893347770495441059">&amp;Chromium'u Güncəlləmək üçün yenidən başladın</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Chromium 1 dəqiqə istifadə edilmədikdə təşkilat baxış datasını avtomatik silir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər. Mövcud tablar açıq qalacaq.}other{Chromium # dəqiqə istifadə edilmədikdə təşkilat baxış datasını avtomatik silir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər. Mövcud tablar açıq qalacaq.}}</translation>
 <translation id="4943838377383847465">Chromium arxa fon rejimindədir.</translation>
 <translation id="4987820182225656817">Qonaqlar geridə heç nə buraxmadan Chromium istifadə edə bilər.</translation>
 <translation id="4994636714258228724">Özünüzü Chromium'a əlavə edin</translation>
@@ -214,6 +216,7 @@
 <translation id="5924017743176219022">İnternetə qoşulur...</translation>
 <translation id="5941711191222866238">Minimallaşdırın</translation>
 <translation id="5972142260211327093">Chromium təsadüfi olaraq sizi aktiv sınağa təyin edibsə, baxış tarixçəniz gördüyünüz reklamlara və aşağıda təxmin edilən maraqlara təsir edir. Məxfiliyinizi qorumaq üçün Chromium hər ay maraqlarınızı növbəlilik əsasında silir. Silmədiyiniz təqdirdə maraqlar yenilənir.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Chromium 1 dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır.}other{Chromium # dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır.}}</translation>
 <translation id="5987687638152509985">Sinxronizasiyanı başlatmaq üçün Chromium'u güncəlləyin</translation>
 <translation id="5988505247484123880">Ziyarət etdiyiniz saytların təcrübənizi fərdiləşdirmək üçün maraqlarınızı xatırlaması normaldır. Saytlar həmçinin maraqlarınız haqqında Chromium ilə məlumat saxlaya bilər.</translation>
 <translation id="6003112304606738118">Endirilir... <ph name="HOURS" /> saat qalıb</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb
index 253806be..e1332ac 100644
--- a/chrome/app/resources/chromium_strings_el.xtb
+++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -144,6 +144,7 @@
 <translation id="4050175100176540509">Στην πιο πρόσφατη έκδοση διατίθενται σημαντικές βελτιώσεις ασφάλειας και νέες λειτουργίες.</translation>
 <translation id="4050599136622776556">Το Chromium προσπαθεί να επεξεργαστεί τους τρόπους πληρωμής.</translation>
 <translation id="4055805654398742145">Δ&amp;ιαχειριστής κωδικών πρόσβασης</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Ο οργανισμός σας κλείνει αυτόματα το Chromium όταν δεν χρησιμοποιείται για 1 λεπτό. Τα δεδομένα περιήγησης διαγράφονται. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις.}other{Ο οργανισμός σας κλείνει αυτόματα το Chromium όταν δεν χρησιμοποιείται για # λεπτά. Τα δεδομένα περιήγησης διαγράφονται. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις.}}</translation>
 <translation id="4148957013307229264">Γίνεται εγκατάσταση...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - Σύνδεση δικτύου - Chromium</translation>
 <translation id="421369550622382712">Ανακαλύψτε καταπληκτικές εφαρμογές, παιχνίδια, επεκτάσεις και θέματα για το Chromium.</translation>
@@ -180,6 +181,7 @@
 <translation id="479167709087336770">Αυτό χρησιμοποιεί τον ίδιο ορθογραφικό έλεγχο που χρησιμοποιείται στην Αναζήτηση Google. Το κείμενο που πληκτρολογείτε στο πρόγραμμα περιήγησης αποστέλλεται στην Google. Μπορείτε ανά πάσα στιγμή να αλλάξετε αυτήν τη συμπεριφορά στις ρυθμίσεις.</translation>
 <translation id="4888717733111232871">Εισερχόμενος κανόνας για το Chromium για να επιτρέπεται η κυκλοφορία του mDNS.</translation>
 <translation id="4893347770495441059">Επανεκκίνηση για ενημέρωση του &amp;Chromium</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Ο οργανισμός σας διαγράφει αυτόματα τα δεδομένα περιήγησης όταν το Chromium δεν χρησιμοποιείται για 1 λεπτό. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις. Οι υπάρχουσες καρτέλες θα παραμείνουν ανοιχτές.}other{Ο οργανισμός σας διαγράφει αυτόματα τα δεδομένα περιήγησης όταν το Chromium δεν χρησιμοποιείται για # λεπτά. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις. Οι υπάρχουσες καρτέλες θα παραμείνουν ανοιχτές.}}</translation>
 <translation id="4943838377383847465">Το Chromium εκτελείται στο παρασκήνιο.</translation>
 <translation id="4987820182225656817">Οι επισκέπτες μπορούν να χρησιμοποιούν το Chromium χωρίς να αφήνουν κανένα ίχνος.</translation>
 <translation id="4994636714258228724">Προσθήκη του εαυτού σας στο Chromium</translation>
@@ -214,6 +216,7 @@
 <translation id="5924017743176219022">Γίνεται σύνδεση στο διαδίκτυο…</translation>
 <translation id="5941711191222866238">Ελαχιστοποίηση</translation>
 <translation id="5972142260211327093">Εάν το Chromium σας έχει τοποθετήσει τυχαία σε μια ενεργή δοκιμή, το ιστορικό περιήγησής σας επηρεάζει τις διαφημίσεις που βλέπετε και τις εκτιμήσεις για τα ενδιαφέροντά σας παρακάτω. Για την προστασία του απορρήτου σας, το Chromium διαγράφει τα ενδιαφέροντά σας σε κυλιόμενη βάση κάθε μήνα. Τα ενδιαφέροντα ανανεώνονται, εκτός εάν τα καταργήσετε.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Ο οργανισμός σας κλείνει αυτόματα το Chromium όταν δεν χρησιμοποιείται για 1 λεπτό.}other{Ο οργανισμός σας κλείνει αυτόματα το Chromium όταν δεν χρησιμοποιείται για # λεπτά.}}</translation>
 <translation id="5987687638152509985">Για να ξεκινήσει ο συγχρονισμός, ενημερώστε το Chromium</translation>
 <translation id="5988505247484123880">Είναι σύνηθες οι ιστότοποι που επισκέπτεστε να απομνημονεύουν τα ενδιαφέροντά σας για να εξατομικεύουν την εμπειρία σας. Οι ιστότοποι μπορούν να αποθηκεύουν επίσης πληροφορίες σχετικά με τα ενδιαφέροντά σας στο Chromium.</translation>
 <translation id="6003112304606738118">Λήψη… Απομένουν <ph name="HOURS" /> ώρες</translation>
diff --git a/chrome/app/resources/chromium_strings_fa.xtb b/chrome/app/resources/chromium_strings_fa.xtb
index 5a86eba0..9a44af8 100644
--- a/chrome/app/resources/chromium_strings_fa.xtb
+++ b/chrome/app/resources/chromium_strings_fa.xtb
@@ -143,6 +143,7 @@
 <translation id="4050175100176540509">بهبودهای امنیتی مهم و ویژگی‌های جدید در جدیدترین نسخه در دسترس است.</translation>
 <translation id="4050599136622776556">‏Chromium می‌خواهد روش‌های پرداخت را ویرایش کند.</translation>
 <translation id="4055805654398742145">مدیر گذرواژه</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{‏اگر به‌مدت یک دقیقه از Chromium استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد. داده‌های مرور حذف می‌شود. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود.}one{‏اگر به‌مدت # دقیقه از Chromium استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد. داده‌های مرور حذف می‌شود. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود.}other{‏اگر به‌مدت # دقیقه از Chromium استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد. داده‌های مرور حذف می‌شود. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود.}}</translation>
 <translation id="4148957013307229264">در حال نصب...</translation>
 <translation id="419998258129752635">‏<ph name="PAGE_TITLE" /> - ورود به سیستم شبکه - Chromium</translation>
 <translation id="421369550622382712">‏برنامه‌ها، بازی‌ها، افزونه‌ها و طرح‌های زمینه Chromium را کشف کنید.</translation>
@@ -179,6 +180,7 @@
 <translation id="479167709087336770">‏از همان غلط‌یاب املا استفاده می‌کند که در جستجوی Google استفاده می‌شود. نوشتاری که در مرورگر تایپ کرده‌اید برای Google ارسال می‌شود. هروقت بخواهید می‌توانید این رفتار را در تنظیمات تغییر دهید.</translation>
 <translation id="4888717733111232871">‏قانون ترافیک ورودی برای Chromium جهت اجازه به ترافیک mDNS.</translation>
 <translation id="4893347770495441059">‏راه‌اندازی مجدد برای به‌روزرسانی Chromium</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{‏اگر به‌مدت یک دقیقه از Chromium استفاده نشود، سازمانتان داده‌های مرور را به‌طور خودکار حذف می‌کند. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود. برگه‌های موجود باز می‌ماند.}one{‏اگر به‌مدت # دقیقه از Chromium استفاده نشود، سازمانتان داده‌های مرور را به‌طور خودکار حذف می‌کند. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود. برگه‌های موجود باز می‌ماند.}other{‏اگر به‌مدت # دقیقه از Chromium استفاده نشود، سازمانتان داده‌های مرور را به‌طور خودکار حذف می‌کند. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود. برگه‌های موجود باز می‌ماند.}}</translation>
 <translation id="4943838377383847465">‏Chromium در حالت پس‌زمینه است.</translation>
 <translation id="4987820182225656817">‏مهمان‌ها می توانند از Chromium استفاده کنند بدون این‌که اثری از خود به جا بگذارند.</translation>
 <translation id="4994636714258228724">‏افرودن خودتان به Chromium</translation>
@@ -213,6 +215,7 @@
 <translation id="5924017743176219022">درحال اتصال به اینترنت…</translation>
 <translation id="5941711191222866238">کوچک کردن</translation>
 <translation id="5972142260211327093">‏اگر Chromium به‌طور تصادفی نسخه آزمایشی را برایتان فعال کرده باشد، سابقه مرورتان بر آگهی‌هایی که می‌بینید و علایقتان که در زیر برآورد شده است تأثیر می‌گذارد. برای محافظت از حریم خصوصی شما، Chromium علایقتان را هر ماه به‌طور چرخشی حذف می‌کند. ممکن است علایق بازآوری شود، مگر اینکه آن‌ها را بردارید.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{‏اگر به‌مدت یک دقیقه از Chromium استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد.}one{‏اگر به‌مدت # دقیقه از Chromium استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد.}other{‏اگر به‌مدت # دقیقه از Chromium استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد.}}</translation>
 <translation id="5987687638152509985">‏به‌روزرسانی Chromium برای شروع همگام‌سازی</translation>
 <translation id="5988505247484123880">‏امری عادی است که سایت‌هایی که بازدید می‌کنید برای شخصی کردن تجربه‌تان، علایق شما را به‌خاطر آورند. به‌علاوه، سایت‌ها می‌توانند بااستفاده از Chromium اطلاعاتی درباره علایقتان ذخیره کنند.</translation>
 <translation id="6003112304606738118">درحال بارگیری… <ph name="HOURS" /> ساعت باقی مانده است</translation>
diff --git a/chrome/app/resources/chromium_strings_gu.xtb b/chrome/app/resources/chromium_strings_gu.xtb
index af88424..b8268b5 100644
--- a/chrome/app/resources/chromium_strings_gu.xtb
+++ b/chrome/app/resources/chromium_strings_gu.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">નવીનતમ વર્ઝનમાં મહત્ત્વપૂર્ણ સુરક્ષા સુધારણાઓ અને નવી સુવિધાઓ ઉપલબ્ધ છે.</translation>
 <translation id="4050599136622776556">Chromium ચુકવણી પદ્ધતિઓમાં ફેરફાર કરવાનો પ્રયાસ કરી રહ્યું છે.</translation>
 <translation id="4055805654398742145">P&amp;assword Manager</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{જ્યારે 1 મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે. બ્રાઉઝિંગ ડેટા ડિલીટ કરવામાં આવે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે.}one{જ્યારે # મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે. બ્રાઉઝિંગ ડેટા ડિલીટ કરવામાં આવે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે.}other{જ્યારે # મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે. બ્રાઉઝિંગ ડેટા ડિલીટ કરવામાં આવે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે.}}</translation>
 <translation id="4148957013307229264">ઇન્સ્ટોલ કરી રહ્યું છે...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - નેટવર્ક સાઇન ઇન - Chromium</translation>
 <translation id="421369550622382712">Chromium માટે શ્રેષ્ઠ એપ્લીકેશન્સ, રમતો, એક્સટેન્શન્સ અને થીમ્સ શોધો.</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">આ પણ Google Searchમાં જે જોડણી તપાસનારનો ઉપયોગ થાય છે તેનો જ ઉપયોગ કરે છે. તમે બ્રાઉઝરમાં ટાઇપ કરો છો તે ટેક્સ્ટ Googleને મોકલવામાં આવે છે. તમે સેટિંગમાં આ વર્તણૂકને હંમેશાં બદલી શકો છો.</translation>
 <translation id="4888717733111232871">mDNS ટ્રાફિકને મંજૂરી આપવા Chromium માટે ઇનબાઉન્ડ નિયમ.</translation>
 <translation id="4893347770495441059">&amp;Chromium અપડેટ કરવા માટે, ફરીથી લૉન્ચ કરો</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{જ્યારે 1 મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા બ્રાઉઝિંગ ડેટાને ઑટોમૅટિક રીતે ડિલીટ કરે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે. તમારી વર્તમાન ટૅબ ખુલી જ રહે છે.}one{જ્યારે # મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા બ્રાઉઝિંગ ડેટાને ઑટોમૅટિક રીતે ડિલીટ કરે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે. તમારી વર્તમાન ટૅબ ખુલી જ રહે છે.}other{જ્યારે # મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા બ્રાઉઝિંગ ડેટાને ઑટોમૅટિક રીતે ડિલીટ કરે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે. તમારી વર્તમાન ટૅબ ખુલી જ રહે છે.}}</translation>
 <translation id="4943838377383847465">Chromium બૅકગ્રાઉન્ડ મોડમાં છે.</translation>
 <translation id="4987820182225656817">અતિથિઓ કંઈપણ પાછળ છોડ્યાં વિના Chromium નો ઉપયોગ કરી શકે છે.</translation>
 <translation id="4994636714258228724">સ્વયંને Chromium માં ઉમેરો</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">ઇન્ટરનેટ સાથે કનેક્ટ કરી રહ્યાં છીએ...</translation>
 <translation id="5941711191222866238">નાનું કરો</translation>
 <translation id="5972142260211327093">જો Chromium કોઈ સક્રિય અજમાયશમાં કોઈપણ ક્રમમાં તમારી ગોઠવણ કરી લે, તો તમારો બ્રાઉઝિંગ ઇતિહાસ તમને દેખાતી જાહેરાતો અને નીચે જણાવેલી અનુમાનિત રુચિઓને અસર કરે છે. તમારી પ્રાઇવસીની સુરક્ષા કરવા માટે Chromium નવા વિષયો આવતા જાય, તેના આધારે દર મહિને તમારી રુચિના વિષયોને ડિલીટ કરે છે. જો તમે રુચિઓને કાઢી ન નાખો, તો તે રિફ્રેશ થાય છે.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{જ્યારે 1 મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે.}one{જ્યારે # મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે.}other{જ્યારે # મિનિટ સુધી Chromiumનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે.}}</translation>
 <translation id="5987687638152509985">સમન્વયનને પ્રારંભ કરવા માટે Chromium ને અપડેટ કરો</translation>
 <translation id="5988505247484123880">તમારા અનુભવને મનગમતો બનાવવા માટે તમે જે સાઇટની મુલાકાત લો છો તે બધી સાઇટ તમને જેમાં રુચિ હોય એવી તમામ વસ્તુઓ યાદ રાખી લે તે સામાન્ય બાબત છે. સાઇટ, Chromium પર તમારી રુચિના વિષયો વિશેની માહિતી પણ સ્ટોર કરી શકે છે.</translation>
 <translation id="6003112304606738118">ડાઉનલોડ કરી રહ્યાં છીએ… <ph name="HOURS" /> કલાક બાકી છે</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb
index 73b82b2..0164b12 100644
--- a/chrome/app/resources/chromium_strings_hu.xtb
+++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -144,6 +144,7 @@
 <translation id="4050175100176540509">A legújabb verzióban fontos biztonsági fejlesztések és új funkciók érhetők el.</translation>
 <translation id="4050599136622776556">A Chromium szerkeszteni próbálja a fizetési módokat.</translation>
 <translation id="4055805654398742145">J&amp;elszókezelő</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Szervezete automatikusan bezárja a Chromiumot, ha 1 percig nincs használatban. A böngészési adatok ekkor törlődnek. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések.}other{Szervezete automatikusan bezárja a Chromiumot, ha # percig nincs használatban. A böngészési adatok ekkor törlődnek. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések.}}</translation>
 <translation id="4148957013307229264">Telepítés...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> – Hálózati bejelentkezés – Chromium</translation>
 <translation id="421369550622382712">Fedezzen fel nagyszerű alkalmazásokat, játékokat, bővítményeket és témákat a Chromiumhoz.</translation>
@@ -180,6 +181,7 @@
 <translation id="479167709087336770">A szolgáltatás ugyanazt a helyesírás-ellenőrzést használja, mint a Google Kereső. A begépelt szöveget a böngésző elküldi a Google-nak. A beállítások között ezt bármikor módosíthatja.</translation>
 <translation id="4888717733111232871">Bejövő szabály a Chromiumhoz az mDNS forgalom engedélyezése céljából.</translation>
 <translation id="4893347770495441059">Indítsa újra a Chromium frissítéshez</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Szervezete automatikusan törli a böngészési adatokat, ha a Chromium 1 percig nincs használatban. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések. A megnyitott lapok nyitva maradnak.}other{Szervezete automatikusan törli a böngészési adatokat, ha a Chromium # percig nincs használatban. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések. A megnyitott lapok nyitva maradnak.}}</translation>
 <translation id="4943838377383847465">A Chromium háttérmódban van.</translation>
 <translation id="4987820182225656817">A vendégek úgy használhatják a Chromiumot, hogy nem hagynak hátra semmit.</translation>
 <translation id="4994636714258228724">Adja hozzá magát a Chromiumban</translation>
@@ -214,6 +216,7 @@
 <translation id="5924017743176219022">Kapcsolódás az internethez…</translation>
 <translation id="5941711191222866238">Kis méret</translation>
 <translation id="5972142260211327093">Ha a Chromium véletlenszerű módon regisztrálta Önt egy aktív próbaidőszakra, az Ön böngészési előzményei hatással vannak a megjelenő hirdetésekre és a becslések szerinti érdeklődési körökre. Adatai védelme érdekében a Chromium havi rendszerességgel törli az Ön érdeklődési köreit. Az érdeklődési körök frissülnek, kivéve, ha eltávolítja őket.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Szervezete automatikusan bezárja a Chromiumot, ha 1 percig nincs használatban.}other{Szervezete automatikusan bezárja a Chromiumot, ha # percig nincs használatban.}}</translation>
 <translation id="5987687638152509985">Frissítse a Chromiumot a szinkronizálás megkezdéséhez</translation>
 <translation id="5988505247484123880">A felkeresett webhelyek esetében megszokott dolog, hogy megjegyzik az Önt érdeklő dolgokat a felhasználói élmény személyre szabása érdekében. Emellett a webhelyek tárolhatnak az Ön érdeklődési köreivel kapcsolatos információkat a Chromiumban.</translation>
 <translation id="6003112304606738118">Letöltés… <ph name="HOURS" /> óra van hátra</translation>
diff --git a/chrome/app/resources/chromium_strings_ja.xtb b/chrome/app/resources/chromium_strings_ja.xtb
index e383291..325b41a 100644
--- a/chrome/app/resources/chromium_strings_ja.xtb
+++ b/chrome/app/resources/chromium_strings_ja.xtb
@@ -12,8 +12,10 @@
 <translation id="1185134272377778587">Chromium について</translation>
 <translation id="1203500561924088507">インストールいただきありがとうございます。<ph name="BUNDLE_NAME" /> を使用するにはブラウザを再起動してください。</translation>
 <translation id="1261119230216066228">メモリセーバーで Chromium の速度を向上</translation>
+<translation id="1262876892872089030">Chromium を高速に保つため、このタブがアクティブでないときにメモリを解放しました。このサイトを常にアクティブにするよう選択できます。</translation>
 <translation id="1315551408014407711">新しい Chromium プロファイルの設定</translation>
 <translation id="1414495520565016063">Chromium にログインしました</translation>
+<translation id="1478370723027452770">Chrome for Testing のヘルプを見る</translation>
 <translation id="1524282610922162960">Chromium タブの共有</translation>
 <translation id="1553461853655228091">周囲の 3D マップを作成するには、Chromium にカメラの使用を許可する必要があります</translation>
 <translation id="1555506416658437797">お支払い方法を編集します。</translation>
@@ -71,6 +73,7 @@
 <translation id="2711502716910134313">Chromium タブ</translation>
 <translation id="2718390899429598676">セキュリティ強化のため、Chromium ではデータが暗号化されます。</translation>
 <translation id="2770231113462710648">既定のブラウザを変更:</translation>
+<translation id="2785438272836277133">この拡張機能にはマルウェアが含まれており、安全ではありません。アクセスしたサイトでユーザーデータ(個人情報を含む)が参照、変更されないように、Chromium からこの拡張機能を削除してください。</translation>
 <translation id="2799223571221894425">再起動</translation>
 <translation id="2837693172913560447"><ph name="USER_EMAIL_ADDRESS" /> 用の新しい Chromium プロファイルが作成されます。</translation>
 <translation id="2847479871509788944">Chromium から削除...</translation>
@@ -130,9 +133,11 @@
 <translation id="388648406173476553">Chromium をカスタマイズ、制御します。確認の必要な項目があります。クリックして詳細をご覧ください。</translation>
 <translation id="3889543394854987837">Chromium を開いてブラウジングを始めるには、名前をクリックしてください。</translation>
 <translation id="390528597099634151"><ph name="EXISTING_USER" /> さんはこの Chromium プロフィールにすでにログインしています。ブラウジング環境を分ける場合は、Chromium で自分用のプロフィールを作成できます。</translation>
+<translation id="3909353120217047026">この拡張機能は Chrome ウェブストアのポリシーに違反しており、安全でない可能性があります。アクセスしたサイトでユーザーデータ(個人情報を含む)が参照、変更されないように、Chromium からこの拡張機能を削除してください。</translation>
 <translation id="391789666908693569">あなたのアカウントは <ph name="MANAGER_NAME" /> によって管理されています。管理者は、この Chromium ブラウザのプロフィールとそのデータ(ブックマーク、履歴、パスワードなど)を表示、編集できます。</translation>
 <translation id="3945058413678539331">Chromium がパスワードをコピーしようとしています。続行するには、Windows のパスワードを入力してください。</translation>
 <translation id="3962623956404948996">このファイルは危害を及ぼす可能性があるため、スキャンすることをおすすめします</translation>
+<translation id="3975724895399328945">Google Chrome for Testing について</translation>
 <translation id="3997429360543082038">Chromium OS について</translation>
 <translation id="4019629340646866719">Chromium OS は、<ph name="BEGIN_LINK_LINUX_OSS" />Linux 開発環境<ph name="END_LINK_LINUX_OSS" />と同様に、追加の<ph name="BEGIN_LINK_CROS_OSS" />オープンソース ソフトウェア<ph name="END_LINK_CROS_OSS" />によって実現しました。</translation>
 <translation id="4036079820698952681"><ph name="BEGIN_LINK" />現在の設定<ph name="END_LINK" />を送信して Chromium の品質向上にご協力ください</translation>
@@ -154,6 +159,7 @@
 <translation id="4415566066719264597">Chromium をバックグラウンドで実行する</translation>
 <translation id="4423735387467980091">Chromium の設定</translation>
 <translation id="4427306783828095590">保護強化機能により、フィッシングを防ぎ、不正なソフトウェアをより強力にブロックします</translation>
+<translation id="4447409407328223819">Chrome for Testing について</translation>
 <translation id="452711251841752011">Chromium へようこそ。新しいブラウザ ウィンドウが開いています</translation>
 <translation id="4544142686420020088">エラーが発生したため、Chromium が更新されませんでした。<ph name="BEGIN_LINK" />Chromium の更新に関する問題を解決してください。<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">新しい Chromium プロフィールで続行しますか?</translation>
@@ -348,6 +354,7 @@
 <translation id="8357820681460164151">お使いのすべてのデバイスで Chromium ブラウザの設定やデータを使用するには、ログインして同期を有効にしてください</translation>
 <translation id="8360718212975266891">今後、Chromium のアップデートを受信するには、Windows 10 以降が必要となります。このパソコンでは Windows 8 が実行されています。</translation>
 <translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. All rights reserved.</translation>
+<translation id="8401454788024434101">この拡張機能はデベロッパーが非公開にしており、安全でない可能性があります。アクセスしたサイトでユーザーデータ(個人情報を含む)が参照、変更されないように、Chromium からこの拡張機能を削除してください。</translation>
 <translation id="8417404458978023919">{0,plural, =1{1 日以内に Chromium を再起動してください}other{# 日以内に Chromium を再起動してください}}</translation>
 <translation id="8453117565092476964">インストーラ アーカイブが壊れているか無効です。Chromium をダウンロードし直してください。</translation>
 <translation id="8458614432758743027">Chromium のご利用には Windows 10 以上が必要です。</translation>
@@ -360,6 +367,7 @@
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />このデータの利用方法:<ph name="END_BOLD" /> サイトでは、ユーザーの興味 / 関心に関する情報を Chromium に保存できます。たとえば、マラソン用のシューズを購入するためにあるサイトにアクセスすると、そのサイトでは「ランニング」をユーザーの興味 / 関心として定義する可能性があります。その後、別のサイトにアクセスして競技に登録しようとすると、そのサイトでは、ユーザーの興味 / 関心に基づいてランニング用シューズの広告が表示される場合があります。</translation>
 <translation id="8619360774459241877">Chromium を起動しています...</translation>
 <translation id="8621669128220841554">原因不明のエラーによりインストールに失敗しました。Chromium をもう一度ダウンロードしてください。</translation>
+<translation id="8648201657708811153">Google Chrome for Testing は、既定のブラウザには設定できません。</translation>
 <translation id="867492205098279939">{NUM_DEVICES,plural, =0{Chromium 拡張機能が HID デバイスにアクセスしていました}=1{Chromium 拡張機能が 1 個の HID デバイスにアクセスしています}other{Chromium 拡張機能が # 個の HID デバイスにアクセスしています}}</translation>
 <translation id="8697124171261953979">この拡張機能では、Chromium の起動時、またはアドレスバーからの検索時に表示されるページも制御されます。</translation>
 <translation id="8704119203788522458">自分好みに設定</translation>
diff --git a/chrome/app/resources/chromium_strings_kn.xtb b/chrome/app/resources/chromium_strings_kn.xtb
index 2a0ea96..cfb2cfe 100644
--- a/chrome/app/resources/chromium_strings_kn.xtb
+++ b/chrome/app/resources/chromium_strings_kn.xtb
@@ -142,6 +142,7 @@
 <translation id="4050175100176540509">ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯಲ್ಲಿ ಪ್ರಮುಖವಾದ ಭದ್ರತಾ ಸುಧಾರಣೆಗಳು ಮತ್ತು ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು ಲಭ್ಯವಿದೆ.</translation>
 <translation id="4050599136622776556">ಪಾವತಿ ವಿಧಾನಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಲು Chromium ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ.</translation>
 <translation id="4055805654398742145">P&amp;assword Manager</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Chromium ಅನ್ನು 1 ನಿಮಿಷದ ಕಾಲ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ. ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.}one{Chromium ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ. ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.}other{Chromium ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ. ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.}}</translation>
 <translation id="4148957013307229264">ಸ್ಥಾಪನೆಗೊಳ್ಳುತ್ತಿದೆ...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - ನೆಟ್‌ವರ್ಕ್ ಸೈನ್ ಇನ್ - Chromium</translation>
 <translation id="421369550622382712">Chromium ಗಾಗಿ ಅದ್ಭುತ ಅಪ್ಲಿಕೇಶನ್‌‌ಗಳು, ಗೇಮ್‌ಗಳು, ಎಕ್ಸ್‌ಟೆನ್ಷನ್‌‌ಗಳು ಹಾಗೂ ಥೀಮ್‌ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ.</translation>
@@ -178,6 +179,7 @@
 <translation id="479167709087336770">ಇದು Google ಹುಡುಕಾಟದಲ್ಲಿ ಬಳಸಲಾದ ಅದೇ ಕಾಗುಣಿತ ಪರೀಕ್ಷೆಯನ್ನು ಬಳಸುತ್ತದೆ. ನೀವು ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಟೈಪ್ ಮಾಡುವ ಪಠ್ಯವನ್ನು Google ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನೀವು ಈ ವರ್ತನೆಯನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಬದಲಾಯಿಸಬಹುದು.</translation>
 <translation id="4888717733111232871">mDNS ಟ್ರಾಫಿಕ್‌ಗೆ ಅನುಮತಿಸುವ ನಿಟ್ಟಿನಲ್ಲಿ Chromium ಗೆ ಒಳಬರುವ ನಿಯಮ.</translation>
 <translation id="4893347770495441059">&amp;Chromium ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Chromium ಅನ್ನು 1 ನಿಮಿಷದ ಕಾಲ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿರುತ್ತವೆ.}one{Chromium ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿರುತ್ತವೆ.}other{Chromium ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿರುತ್ತವೆ.}}</translation>
 <translation id="4943838377383847465">Chromium ಹಿನ್ನೆಲೆ ಮೋಡ್‌ನಲ್ಲಿದೆ.</translation>
 <translation id="4987820182225656817">ಅತಿಥಿಗಳು ಏನನ್ನೂ ಉಳಿಸದೆಯೇ Chromium ಬಳಸಬಹುದು.</translation>
 <translation id="4994636714258228724">ನೀವಾಗಿಯೇ Chromium ಗೆ ಸೇರಿಕೊಳ್ಳಿ</translation>
@@ -212,6 +214,7 @@
 <translation id="5924017743176219022">ಇಂಟರ್ನೆಟ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="5941711191222866238">ಕುಗ್ಗಿಸಿ</translation>
 <translation id="5972142260211327093">Chromium ನಿಮ್ಮನ್ನು ರ್‍ಯಾಂಡಮ್ ಆಗಿ ಸಕ್ರಿಯ ಪ್ರಯೋಗದಲ್ಲಿ ಇರಿಸಿದ್ದರೆ, ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸ ನಿಮಗೆ ಕಾಣಿಸುವ ಜಾಹೀರಾತುಗಳು ಮತ್ತು ಆಸಕ್ತಿಗಳ ಮೇಲೆ ಕೆಳಗೆ ಅಂದಾಜು ಮಾಡಿರುವಂತೆ ಪ್ರಭಾವ ಬೀರುತ್ತದೆ. ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸಲು, Chromium ನಿಮ್ಮ ಆಸಕ್ತಿಗಳನ್ನು ಪ್ರತಿ ತಿಂಗಳು ರೋಲಿಂಗ್ ಆಧಾರದಲ್ಲಿ ಅಳಿಸುತ್ತದೆ. ನೀವು ಆಸಕ್ತಿಗಳನ್ನು ತೆಗೆದುಹಾಕದ ಹೊರತು ಅವು ರಿಫ್ರೆಶ್ ಆಗುತ್ತವೆ.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Chromium ಅನ್ನು 1 ನಿಮಿಷದ ಕಾಲ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ.}one{Chromium ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ.}other{Chromium ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ.}}</translation>
 <translation id="5987687638152509985">ಸಿಂಕ್ ಪ್ರಾರಂಭಿಸಲು Chromium ಅಪ್‌ಡೇಟ್ ಮಾಡಿ</translation>
 <translation id="5988505247484123880">ನೀವು ಭೇಟಿ ನೀಡುವ ಸೈಟ್‌ಗಳು, ನಿಮ್ಮ ಅನುಭವವನ್ನು ವೈಯಕ್ತಿಕಗೊಳಿಸುವ ಸಲುವಾಗಿ ನಿಮಗೆ ಆಸಕ್ತಿಯಿರುವ ವಿಚಾರಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದು ಸಾಮಾನ್ಯ ಸಂಗತಿಯಾಗಿದೆ. ಸೈಟ್‌ಗಳು ನಿಮ್ಮ ಆಸಕ್ತಿಗಳ ಕುರಿತಾದ ಮಾಹಿತಿಯನ್ನು Chromium ನಲ್ಲಿ ಸಹ ಸಂಗ್ರಹಿಸಿಡಬಲ್ಲವು.</translation>
 <translation id="6003112304606738118">ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ… <ph name="HOURS" /> ಗಂಟೆ(ಗಳು) ಬಾಕಿಯಿವೆ.</translation>
diff --git a/chrome/app/resources/chromium_strings_ky.xtb b/chrome/app/resources/chromium_strings_ky.xtb
index a624e2f..7471f3e 100644
--- a/chrome/app/resources/chromium_strings_ky.xtb
+++ b/chrome/app/resources/chromium_strings_ky.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">Эң акыркы версияда коопсуздукту бекемдөө каражаттары менен жаңы мүмкүнчүлүктөр камтылган.</translation>
 <translation id="4050599136622776556">Chromium төлөм ыкмаларын түзөтүүгө аракет кылууда.</translation>
 <translation id="4055805654398742145">С&amp;ырсөздөрдү башкаргыч</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Chromium 1 мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат. Серептөө дайындары өчүрүлөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн.}other{Chromium # мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат. Серептөө дайындары өчүрүлөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн.}}</translation>
 <translation id="4148957013307229264">Орнотулууда…</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> – Тармакка кирүү – Chromium</translation>
 <translation id="421369550622382712">Chromium үчүн укмуш колдонмолор, оюндар, кеңейтүүлөр жана темаларды таап алыңыз.</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">Ал Google Издөөдө колдонулган орфографияны текшерүүчү программаны колдонот. Серепчиде терилген текстти Google кызматтарына жөнөтүп турат. Бул параметрди каалаган убакта параметрлерге өтүп, өзгөртүп койсоңуз болот.</translation>
 <translation id="4888717733111232871">mDNS трафигине уруксат берүү үчүн Chromium'дун кирүү эрежеси.</translation>
 <translation id="4893347770495441059">&amp;Chromium'ду жаңыртуу үчүн кайра иштетиңиз</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Chromium 1 мүнөткө колдонулбаса, уюмуңуз серептөө дайындарын автоматтык түрдө өчүрөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн. Учурдагы өтмөктөрүңүз ачык бойдон калат.}other{Chromium # мүнөткө колдонулбаса, уюмуңуз серептөө дайындарын автоматтык түрдө өчүрөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн. Учурдагы өтмөктөрүңүз ачык бойдон калат.}}</translation>
 <translation id="4943838377383847465">Chromium фондук режимде.</translation>
 <translation id="4987820182225656817">Коноктор Chromium'ду артында эч нерсе калтырбай колдоно алышат.</translation>
 <translation id="4994636714258228724">Өзүңүздү Chromium'га кошуңуз</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">Интернетке туташууда...</translation>
 <translation id="5941711191222866238">Кичирейтүү</translation>
 <translation id="5972142260211327093">Эгер Chromium сизди башаламан иретте активдүү сыноого кошуп койгон болсо, Жарнамалар көрүлгөн вебсайттарга жана төмөндө болжолдонгон кызыккан нерселериңизге жараша көрсөтүлөт. Купуялыгыңызды коргоо максатында Chromium кызыккан нерселериңизди ай сайын өчүрүп турат. Кызыккан нерселериңиз өчүрүлмөйүнчө жаңыртыла берет.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Chromium 1 мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат.}other{Chromium # мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат.}}</translation>
 <translation id="5987687638152509985">Шайкештирип баштоо үчүн Chromium'ду жаңыртыңыз</translation>
 <translation id="5988505247484123880">Сиз баш баккан сайттар жалпысынан эле сиз кызыккан нерселерди тажрыйбаңызды жекелештирүү максатында эстеп калышат. Ошондой эле, сайттар кызыккан нерселериңиз тууралуу маалыматты Chromium'да сакташы мүмкүн.</translation>
 <translation id="6003112304606738118">Жүктөлүп алынууда... <ph name="HOURS" /> саат калды</translation>
diff --git a/chrome/app/resources/chromium_strings_lo.xtb b/chrome/app/resources/chromium_strings_lo.xtb
index 8c6e9af..90d4ee6 100644
--- a/chrome/app/resources/chromium_strings_lo.xtb
+++ b/chrome/app/resources/chromium_strings_lo.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">ການ​ປັບ​ປຸງ​ຄວາມ​ປອດ​ໄພ​ທີ່​ສຳ​ຄັນ ແລະ​ຄຸນ​ສົມ​ບັດ​ໃໝ່​ມີ​ໃຫ້​ຢູ່​ໃນ​ເວີ​ຊັນ​ຫຼ້າ​ສຸດ.</translation>
 <translation id="4050599136622776556">Chromium ກຳລັງພະຍາຍາມແກ້ໄຂວິທີການຈ່າຍເງິນ.</translation>
 <translation id="4055805654398742145">ຕົວຈັດການລະຫັດຜ່ານ</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{ອົງກອນຂອງທ່ານຈະປິດ Chromium ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ 1 ນາທີ. ລຶບຂໍ້ມູນການທ່ອງເວັບອອກແລ້ວ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ.}other{ອົງກອນຂອງທ່ານຈະປິດ Chromium ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ # ນາທີ. ລຶບຂໍ້ມູນການທ່ອງເວັບອອກແລ້ວ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ.}}</translation>
 <translation id="4148957013307229264">ກໍາລັງ​ຕິດ​ຕັ້ງ...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - ການເຂົ້າສູ່ລະບົບເຄືອຂ່າຍ - Chromium</translation>
 <translation id="421369550622382712">ຄົ້ນພົບແອັບ, ເກມ, ສ່ວນຂະຫຍາຍ ແລະ ຮູບແບບສີສັນສຳລັບ Chromium.</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">ນີ້ໃຊ້ຕົວກວດການສະກົດຄໍາດຽວກັນກັບທີ່ໃຊ້ໃນ Google ຊອກຫາ. ຂໍ້ຄວາມທີ່ທ່ານພິມໃນໂປຣແກຣມທ່ອງເວັບຖືກສົ່ງໃຫ້ Google. ທ່ານສາມາດປ່ຽນລັກສະນະການນໍາໃຊ້ນີ້ໄດ້ສະເໝີໃນການຕັ້ງຄ່າ.</translation>
 <translation id="4888717733111232871">ກົດລະບຽບຂາເຂົ້າສໍາລັບ Chromium ເພື່ອອະນຸຍາດການຈາລະຈອນ mDNS.</translation>
 <translation id="4893347770495441059">ເລີ່ມເປີດໃຊ້ໃໝ່ເພື່ອອັບເດດ &amp;Chromium</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{ອົງກອນຂອງທ່ານຈະລຶບຂໍ້ມູນການທ່ອງເວັບອອກໂດຍອັດຕະໂນມັດເມື່ອບໍ່ໄດ້ໃຊ້ Chromium ເປັນເວລາ 1 ນາທີ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ. ແຕ່ແຖບທີ່ມີຢູ່ຂອງທ່ານຈະຍັງເປີດຢູ່.}other{ອົງກອນຂອງທ່ານຈະລຶບຂໍ້ມູນການທ່ອງເວັບອອກໂດຍອັດຕະໂນມັດເມື່ອບໍ່ໄດ້ໃຊ້ Chromium ເປັນເວລາ # ນາທີ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ. ແຕ່ແຖບທີ່ມີຢູ່ຂອງທ່ານຈະຍັງເປີດຢູ່.}}</translation>
 <translation id="4943838377383847465">Chromium ຢູ່ໃນໂໝດພື້ນຫຼັງ.</translation>
 <translation id="4987820182225656817">ແຂກສາມາດໃຊ້ Chromium ໂດຍ​ບໍ່​ມີ​ການປະອັນໃດໄວ້ເບື້ອງຫຼັງ.</translation>
 <translation id="4994636714258228724">ເພີ່ມທ່ານເອງໃສ່ Chromium</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">ກຳ​ລັງ​ເຊື່ອມ​ຕໍ່​ອິນ​ເຕີ​ເນັດ...</translation>
 <translation id="5941711191222866238">ຫຍໍ້ລົງ</translation>
 <translation id="5972142260211327093">ຫາກ Chromium ຕັ້ງໃຫ້ທ່ານຢູ່ໃນການທົດລອງໃຊ້ທີ່ເຄື່ອນໄຫວຢູ່, ປະຫວັດການທ່ອງເວັບຂອງທ່ານຈະມີຜົນກັບໂຄສະນາທີ່ທ່ານເຫັນ ແລະ ຄວາມສົນໃຈຕາມທີ່ຄາດຄະເນໄວ້ທາງລຸ່ມ. ເພື່ອປົກປ້ອງຄວາມເປັນສ່ວນຕົວຂອງທ່ານ, Chromium ຈະລຶບຄວາມສົນໃຈຂອງທ່ານອອກເປັນປະຈຳໃນແຕ່ລະເດືອນ. ຄວາມສົນໃຈຈະໂຫຼດຂໍ້ມູນຄືນໃໝ່ເວັ້ນແຕ່ທ່ານຈະລຶບພວກມັນອອກ.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{ອົງກອນຂອງທ່ານຈະປິດ Chromium ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ 1 ນາທີ.}other{ອົງກອນຂອງທ່ານຈະປິດ Chromium ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ # ນາທີ.}}</translation>
 <translation id="5987687638152509985">ອັບເດດ Chromium ເພື່ອເລີ່ມຊິ້ງຂໍ້ມູນ</translation>
 <translation id="5988505247484123880">ມັນເປັນເລື່ອງປົກກະຕິສຳລັບເວັບໄຊທີ່ທ່ານເຂົ້າໃນການຈື່ສິ່ງຕ່າງໆທີ່ທ່ານສົນໃຈ, ເພື່ອປັບແຕ່ງປະສົບການຂອງທ່ານໃຫ້ເປັນແບບສ່ວນຕົວ. ເວັບໄຊສາມາດບັນທຶກຂໍ້ມູນກັບ Chromium ກ່ຽວກັບຄວາມສົນໃຈຂອງທ່ານໄດ້ນຳ.</translation>
 <translation id="6003112304606738118">ກຳລັງດາວໂຫຼດ... ຍັງເຫຼືອ <ph name="HOURS" /> ຊົ່ວໂມງ</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb
index 0efd6ef7..8500dc8b 100644
--- a/chrome/app/resources/chromium_strings_ml.xtb
+++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">ഏറ്റവും പുതിയ പതിപ്പിൽ പ്രധാനപ്പെട്ട സുരക്ഷാ മെച്ചപ്പെടുത്തലുകളും പുതിയ ഫീച്ചറുകളും ലഭ്യമാണ്.</translation>
 <translation id="4050599136622776556">പേയ്‌മെന്റ് രീതികൾ എഡിറ്റ് ചെയ്യാൻ Chromium ശ്രമിക്കുന്നു.</translation>
 <translation id="4055805654398742145">P&amp;assword Manager</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{ഒരു മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chromium അടയ്‌ക്കും. ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കുകയും ചെയ്യും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും.}other{# മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chromium അടയ്‌ക്കും. ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കുകയും ചെയ്യും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും.}}</translation>
 <translation id="4148957013307229264">ഇന്‍സ്റ്റാളുചെയ്യുന്നു...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - നെറ്റ്‌വർക്ക് സൈൻ ഇൻ - Chromium</translation>
 <translation id="421369550622382712">Chromium-നായി മികച്ച അപ്ലിക്കേഷനുകളും വിപുലീകരണങ്ങളും തീമുകളും കണ്ടെത്തുക.</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">Google തിരയലിൽ ഉപയോഗിക്കുന്ന അതേ സ്പെൽ ചെക്കർ ഇത് ഉപയോഗിക്കുന്നു. ബ്രൗസറിൽ നിങ്ങൾ ടൈപ്പ് ചെയ്യുന്ന ടെക്‌സ്‌റ്റ് Google-ന് അയയ്ക്കുന്നു. ക്രമീകരണത്തിൽ എപ്പോഴും ഈ രീതി മാറ്റാനാകും.</translation>
 <translation id="4888717733111232871">mDNS ട്രാഫിക്ക് അനുവദിക്കാൻ Chromium-നുള്ള ഇൻബൗണ്ട് നയം.</translation>
 <translation id="4893347770495441059">&amp;Chromium അപ്‌ഡേറ്റ് ചെയ്യാൻ വീണ്ടും ആരംഭിക്കുക</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{ഒരു മിനിറ്റ് Chromium ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും. നിലവിൽ തുറന്നിരിക്കുന്ന ടാബുകൾ അങ്ങനെ തന്നെ തുടരും.}other{# മിനിറ്റ് Chromium ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും. നിലവിൽ തുറന്നിരിക്കുന്ന ടാബുകൾ അങ്ങനെ തന്നെ തുടരും.}}</translation>
 <translation id="4943838377383847465">Chromium പശ്ചാത്തല മോഡിലാണ്.</translation>
 <translation id="4987820182225656817">അതിഥികൾക്ക് ഒന്നും ശേഷിപ്പിക്കാതെ തന്നെ Chromium ഉപയോഗിക്കാനാകും.</translation>
 <translation id="4994636714258228724">Chromium-ലേക്ക് സ്വയം ചേരുക</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">ഇന്റർനെറ്റിലേക്ക് കണക്റ്റ് ചെയ്യുന്നു...</translation>
 <translation id="5941711191222866238">ചെറുതാക്കുക</translation>
 <translation id="5972142260211327093">Chromium നിങ്ങളെ ക്രമരഹിതമായി ഒരു സജീവ ട്രയലിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾ കാണുന്ന പരസ്യങ്ങളെയും ചുവടെ നിർണ്ണയിച്ചിരിക്കുന്നത് പോലുള്ള താൽപ്പര്യങ്ങളെയും നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രം ബാധിക്കുന്നു. നിങ്ങളുടെ സ്വകാര്യത പരിരക്ഷിക്കുന്നതിന് ഓരോ മാസവും റോളിംഗ് അടിസ്ഥാനത്തിൽ Chromium നിങ്ങളുടെ താൽപ്പര്യങ്ങൾ ഇല്ലാതാക്കുന്നു. നിങ്ങൾ താൽപ്പര്യങ്ങൾ നീക്കം ചെയ്തില്ലെങ്കിൽ അവ റീഫ്രഷ് ചെയ്യും.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{ഒരു മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chromium അടയ്‌ക്കും.}other{# മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chromium അടയ്‌ക്കും.}}</translation>
 <translation id="5987687638152509985">സമന്വയിപ്പിക്കാൻ തുടങ്ങുന്നതിന് Chromium അപ്‌ഡേറ്റ് ചെയ്യുക</translation>
 <translation id="5988505247484123880">നിങ്ങളുടെ അനുഭവം വ്യക്തിപരമാക്കുന്നതിന്, നിങ്ങൾ സന്ദർശിക്കുന്ന സൈറ്റുകൾ നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള കാര്യങ്ങൾ ഓർമ്മിക്കുന്നത് സാധാരണമാണ്. സൈറ്റുകൾക്ക്, നിങ്ങളുടെ താൽപ്പര്യങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ Chromium-ൽ സംഭരിക്കാനുമാകും.</translation>
 <translation id="6003112304606738118">ഡൗൺലോഡ് ചെയ്യുന്നു... <ph name="HOURS" /> മണിക്കൂർ ശേഷിക്കുന്നു</translation>
diff --git a/chrome/app/resources/chromium_strings_my.xtb b/chrome/app/resources/chromium_strings_my.xtb
index 88bcdfe..d3023df6 100644
--- a/chrome/app/resources/chromium_strings_my.xtb
+++ b/chrome/app/resources/chromium_strings_my.xtb
@@ -147,6 +147,7 @@
 <translation id="4050175100176540509">အရေးကြီးလုံခြုံရေးဆိုင်ရာဖွံ့ဖြိုးတိုးတက်မှုများနှင့် အင်္ဂါရပ် အသစ်များအား နောက်ဆုံးပေါ် ဗားရှင်းဖြင့် ရရှိနိုင်ပါသည်။</translation>
 <translation id="4050599136622776556">Chromium က ငွေပေးချေနည်းလမ်းများကို ပြင်ရန် ကြိုးပမ်းနေသည်။</translation>
 <translation id="4055805654398742145">P&amp;assword Manager</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Chromium ကို ၁ မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။ ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို ဖျက်လိုက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။}other{Chromium ကို # မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။ ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို ဖျက်လိုက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။}}</translation>
 <translation id="4148957013307229264">တပ်ဆင်နေ...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - ကွန်ရက် လက်မှတ်ထိုးဝင်ခြင်း - Chromium</translation>
 <translation id="421369550622382712">Chromium အတွက် ကောင်းသော အက်ပ် များ၊ ဂိမ်းများ၊ တိုးချဲ့လိုင်းများနှင့် အပြင်အဆင်များအား ရှာဖွေလေ့လာပါ။</translation>
@@ -183,6 +184,7 @@
 <translation id="479167709087336770">၎င်းက Google ရှာဖွေမှုတွင် အသုံးပြုထားသော စာလုံးပေါင်း စစ်စနစ် တစ်ခုတည်းကို အသုံးပြုသည်။ ဘရောင်ဇာတွင် သင်ရိုက်သည့် စာသားကို Google သို့ပို့ပါသည်။ ဤလုပ်ဆောင်ပုံကို ဆက်တင်များတွင် အချိန်မရွေး ပြောင်းနိုင်သည်။</translation>
 <translation id="4888717733111232871">Chromium အတွက် mDNS သွားလာမှု ခွင့်ပြုရေး အဝင် စည်းကမ်းချက်</translation>
 <translation id="4893347770495441059">&amp;Chromium အပ်ဒိတ်လုပ်ရန် ပြန်ဖွင့်ပါ</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Chromium ကို ၁ မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို အလိုအလျောက်ဖျက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။ ဖွင့်ထားသည့်တဘ်များ ဆက်လက်ပွင့်နေပါမည်။}other{Chromium ကို # မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို အလိုအလျောက်ဖျက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။ ဖွင့်ထားသည့်တဘ်များ ဆက်လက်ပွင့်နေပါမည်။}}</translation>
 <translation id="4943838377383847465">Chromium သည် နောက်ခံ မုဒ်ထဲမှာ ရှိနေသည်။</translation>
 <translation id="4987820182225656817">ဧည့်သည်များသည် Chromium ကို သုံးနိုင်ကြကာ နောက်မှာ ဘာမှ ကျန်ရစ်မည် မဟုတ်ပါ။</translation>
 <translation id="4994636714258228724">Chromium သို့သင့်ကိုယ်သင် ပေါင်းထည့်ရန်</translation>
@@ -218,6 +220,7 @@
 <translation id="5924017743176219022">အင်တာနက် ချိတ်ဆက်နေသည်…</translation>
 <translation id="5941711191222866238">အနည်းဆုံး လုပ်ရန်</translation>
 <translation id="5972142260211327093">Chromium သည် လက်ရှိအစမ်းသုံးခြင်းတွင် သင့်အား ကျပန်းထည့်သွင်းထားပါက သင်၏ကြည့်ရှုခြင်းမှတ်တမ်းသည် သင်မြင်ရသည့်ကြော်ငြာများနှင့် အောက်တွင် ခန့်မှန်းထားသည့် စိတ်ဝင်စားမှုများအပေါ် သက်ရောက်မှုရှိသည်။ သင်၏ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ရန် Chromium သည် သင်၏စိတ်ဝင်စားမှုများကို လစဉ်အလှည့်ကျ ဖျက်သည်။ စိတ်ဝင်စားမှုများကို မဖယ်ရှားပါက ပြန်လည်စတင်သည်။</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Chromium ကို ၁ မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။}other{Chromium ကို # မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။}}</translation>
 <translation id="5987687638152509985">စင့်ခ်လုပ်ခြင်းစတင်ရန် Chromium ကို အပ်ဒိတ်လုပ်ပါ</translation>
 <translation id="5988505247484123880">သင်ဝင်ကြည့်သောဝဘ်ဆိုက်များအနေနှင့် သင့်အသုံးပြုမှုကို ပုဂ္ဂိုလ်ရေးသီးသန့်ပြုလုပ်ရန် သင်စိတ်ဝင်စားသောအရာများကို မှတ်သားခြင်းက ပုံမှန်ဖြစ်သည်။ ဝဘ်ဆိုက်များသည် သင်၏စိတ်ဝင်စားမှုများကိုလည်း Chromium တွင် သိမ်းနိုင်သည်။</translation>
 <translation id="6003112304606738118">ဒေါင်းလုဒ်လုပ်နေသည်… <ph name="HOURS" /> နာရီ ကျန်သည်</translation>
diff --git a/chrome/app/resources/chromium_strings_nl.xtb b/chrome/app/resources/chromium_strings_nl.xtb
index 9f98c302..4d7880f9 100644
--- a/chrome/app/resources/chromium_strings_nl.xtb
+++ b/chrome/app/resources/chromium_strings_nl.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">Er zijn belangrijke beveiligingsverbeteringen en nieuwe functies beschikbaar in de nieuwste versie.</translation>
 <translation id="4050599136622776556">Chromium probeert betaalmethoden te bewerken.</translation>
 <translation id="4055805654398742145">W&amp;achtwoordmanager</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Je organisatie sluit Chromium automatisch als deze 1 minuut niet wordt gebruikt. Browsegegevens worden verwijderd. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn.}other{Je organisatie sluit Chromium automatisch als deze # minuten niet wordt gebruikt. Browsegegevens worden verwijderd. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn.}}</translation>
 <translation id="4148957013307229264">Installeren...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - Inloggen bij netwerk - Chromium</translation>
 <translation id="421369550622382712">Ontdek fantastische apps, games, extensies en thema's voor Chromium.</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">Hiervoor wordt dezelfde spellingcontrole gebruikt als voor Google Zoeken. Tekst die je in de browser typt, wordt naar Google gestuurd. Je kunt dit altijd wijzigen in de instellingen.</translation>
 <translation id="4888717733111232871">Inkomende regel zodat Chromium mDNS-verkeer toestaat.</translation>
 <translation id="4893347770495441059">Opnieuw starten om &amp;Chromium te updaten</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Je organisatie verwijdert browsegegevens automatisch als Chromium 1 minuut niet wordt gebruikt. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn. Je bestaande tabbladen blijven geopend.}other{Je organisatie verwijdert browsegegevens automatisch als Chromium # minuten niet wordt gebruikt. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn. Je bestaande tabbladen blijven geopend.}}</translation>
 <translation id="4943838377383847465">Chromium bevindt zich in de achtergrondmodus.</translation>
 <translation id="4987820182225656817">Gasten kunnen Chromium gebruiken zonder iets achter te laten.</translation>
 <translation id="4994636714258228724">Jezelf toevoegen aan Chromium</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">Verbinding maken met internet...</translation>
 <translation id="5941711191222866238">Minimaliseren</translation>
 <translation id="5972142260211327093">Als Chromium je willekeurig in een actieve proef heeft geplaatst, heeft je browsegeschiedenis invloed op de advertenties die je te zien krijgt en de interesses zoals hieronder geschat. Ter bescherming van je privacy verwijdert Chromium je interesses elke maand op voortschrijdende basis. Interesses worden vernieuwd, tenzij je ze verwijdert.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Je organisatie sluit Chromium automatisch als deze 1 minuut niet wordt gebruikt.}other{Je organisatie sluit Chromium automatisch als deze # minuten niet wordt gebruikt.}}</translation>
 <translation id="5987687638152509985">Chromium updaten om de synchronisatie te starten</translation>
 <translation id="5988505247484123880">Door jou bezochte sites onthouden over het algemeen informatie over je interesses om zo de functionaliteit te personaliseren. Sites kunnen ook informatie over je interesses in Chromium opslaan.</translation>
 <translation id="6003112304606738118">Downloaden... Nog <ph name="HOURS" /> uur</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb
index 3de8d3c9..8eb1bdd5 100644
--- a/chrome/app/resources/chromium_strings_ro.xtb
+++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -144,6 +144,7 @@
 <translation id="4050175100176540509">În cea mai recentă versiune sunt disponibile îmbunătățiri de securitate și funcții noi importante.</translation>
 <translation id="4050599136622776556">Chromium încearcă să modifice metodele de plată.</translation>
 <translation id="4055805654398742145">M&amp;anager de parole</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Organizația ta închide automat Chromium dacă nu este folosit timp de un minut. Datele de navigare sunt șterse. Aici pot fi incluse istoricul, completările automate și descărcările.}few{Organizația ta închide automat Chromium dacă nu este folosit timp de # minute. Datele de navigare sunt șterse. Aici pot fi incluse istoricul, completările automate și descărcările.}other{Organizația ta închide automat Chromium dacă nu este folosit timp de # de minute. Datele de navigare sunt șterse. Aici pot fi incluse istoricul, completările automate și descărcările.}}</translation>
 <translation id="4148957013307229264">Se instalează...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> – conectare la rețea – Chromium</translation>
 <translation id="421369550622382712">Descoperă aplicații, jocuri, extensii și teme extraordinare pentru Chromium.</translation>
@@ -180,6 +181,7 @@
 <translation id="479167709087336770">Folosește același verificator ortografic folosit în Căutarea Google. Textul pe care îl introduci în browser este trimis la Google. Poți schimba acest comportament în setări.</translation>
 <translation id="4888717733111232871">Regula de intrare pentru Chromium pentru a permite traficul mDNS.</translation>
 <translation id="4893347770495441059">Relansează pentru a actualiza &amp;Chromium</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Organizația ta șterge automat datele de navigare când Chromium nu este folosit timp de un minut. Aici pot fi incluse istoricul, completările automate și descărcările. Filele existente vor rămâne deschise.}few{Organizația ta șterge automat datele de navigare când Chromium nu este folosit timp de # minute. Aici pot fi incluse istoricul, completările automate și descărcările. Filele existente vor rămâne deschise.}other{Organizația ta șterge automat datele de navigare când Chromium nu este folosit timp de # de minute. Aici pot fi incluse istoricul, completările automate și descărcările. Filele existente vor rămâne deschise.}}</translation>
 <translation id="4943838377383847465">Chromium este în modul fundal.</translation>
 <translation id="4987820182225656817">Invitații pot folosi Chromium fără a lăsa nicio urmă.</translation>
 <translation id="4994636714258228724">Adăugați-vă la Chromium</translation>
@@ -214,6 +216,7 @@
 <translation id="5924017743176219022">Se conectează la internet…</translation>
 <translation id="5941711191222866238">Minimizează</translation>
 <translation id="5972142260211327093">Dacă Chromium te-a inclus în mod aleatoriu într-o versiune de încercare activă, istoricul tău de navigare influențează anunțurile pe care le vezi și categoriile de interese estimate de mai jos. Pentru a-ți proteja confidențialitatea, Chromium șterge categoriile de interese în permanență, în fiecare lună. Categoriile de interese se actualizează dacă nu le elimini.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Organizația ta închide automat Chromium dacă nu este folosit timp de un minut.}few{Organizația ta închide automat Chromium dacă nu este folosit timp de # minute.}other{Organizația ta închide automat Chromium dacă nu este folosit timp de # de minute.}}</translation>
 <translation id="5987687638152509985">Actualizează Chromium pentru a începe sincronizarea</translation>
 <translation id="5988505247484123880">Se întâmplă frecvent ca site-urile pe care le accesezi să rețină lucrurile care te interesează, pentru a-ți personaliza experiența. În plus, site-urile pot stoca informații în Chromium despre interesele tale.</translation>
 <translation id="6003112304606738118">Se descarcă… Au rămas <ph name="HOURS" /> ore</translation>
diff --git a/chrome/app/resources/chromium_strings_ur.xtb b/chrome/app/resources/chromium_strings_ur.xtb
index 50263da..4fd95def 100644
--- a/chrome/app/resources/chromium_strings_ur.xtb
+++ b/chrome/app/resources/chromium_strings_ur.xtb
@@ -146,6 +146,7 @@
 <translation id="4050175100176540509">اہم سیکیورٹی اصلاحات اور نئی خصوصیات تازہ ترین ورژن میں دستیاب ہیں۔</translation>
 <translation id="4050599136622776556">‏Chromium ادائیگی کے طریقوں میں ترمیم کرنے کی کوشش کر رہا ہے۔</translation>
 <translation id="4055805654398742145">پاس ورڈ مینیجر</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{‏1 منٹ تک Chromium کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر اسے بند کر دیتی ہے۔ براؤزنگ ڈیٹا کو حذف کر دیا جاتا ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔}other{‏# منٹ تک Chromium کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر اسے بند کر دیتی ہے۔ براؤزنگ ڈیٹا کو حذف کر دیا جاتا ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔}}</translation>
 <translation id="4148957013307229264">انسٹال جاری…</translation>
 <translation id="419998258129752635">‏<ph name="PAGE_TITLE" /> - نیٹ ورک سائن ان - Chromium</translation>
 <translation id="421369550622382712">‏Chromium کیلئے زبردست ایپس، گیمز، ایکسٹینشنز اور تھیمز دریافت کریں۔</translation>
@@ -182,6 +183,7 @@
 <translation id="479167709087336770">‏یہ وہی املا جانچ کنندہ استعمال کرتا ہے جسے Google تلاش میں استعمال کیا جاتا ہے۔ آپ براؤزر میں جو متن ٹائپ کرتے ہیں، اسے Google کو بھیجا جاتا ہے۔ آپ اس برتاؤ کو کسی بھی وقت ترتیبات میں تبدیل کر سکتے ہیں۔</translation>
 <translation id="4888717733111232871">‏mDNS ٹریفک کی اجازت دینے کیلئے Chromium کیلئے ان باؤنڈ اصول۔</translation>
 <translation id="4893347770495441059">‏Chromium&amp; کو اپ ڈیٹ کرنے کیلئے بند کر کے دوبارہ چلائیں</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{‏1 منٹ تک Chromium کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر براؤزنگ ڈیٹا حذف کر دیتی ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔ آپ کے موجودہ ٹیبز کھلے رہیں گے۔}other{‏# منٹ تک Chromium کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر براؤزنگ ڈیٹا کو حذف کر دیتی ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔ آپ کے موجودہ ٹیبز کھلے رہیں گے۔}}</translation>
 <translation id="4943838377383847465">‏Chromium پس منظر وضع میں ہے۔</translation>
 <translation id="4987820182225656817">‏مہمان کسی چیز کو پیچھے چھوڑے بغیر Chromium کو استعمال کر سکتے ہیں۔</translation>
 <translation id="4994636714258228724">‏خود کو Chromium میں شامل کریں</translation>
@@ -216,6 +218,7 @@
 <translation id="5924017743176219022">انٹرنیٹ سے منسلک کیا جا رہا ہے…</translation>
 <translation id="5941711191222866238">چھوٹا کریں</translation>
 <translation id="5972142260211327093">‏اگر Chromium نے آپ کو اتفاقی طور پر ایک فعال ٹرائل میں رکھا ہے تو آپ کی براؤزنگ کی سرگزشت آپ کے دیکھے جانے والے اشتہارات اور ذیل میں لگائے گئے اندازے کے مطابق دلچسپیوں کو متاثر کرتی ہے۔ آپ کی رازداری کے تحفظ کے لیے، Chromium آپ کی دلچسپیوں کو ہر ماہ رولنگ کے تحت حذف کرتا ہے۔ دلچسپیاں آپ کے ہٹانے تک ریفریش ہوتی ہیں۔</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{‏1 منٹ تک Chromium کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر اسے بند کر دیتی ہے۔}other{‏# منٹ تک Chromium کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر اسے بند کر دیتی ہے۔}}</translation>
 <translation id="5987687638152509985">‏مطابقت پذیری شروع کرنے کیلئے Chromium کو اپ ڈیٹ کریں</translation>
 <translation id="5988505247484123880">‏جن سائٹس کو آپ ملاحظہ کرتے ہیں ان میں آپ کی دلچسپیوں کو یاد رکھنا سائٹس کے لئے عام بات ہے تاکہ وہ آپ کے تجربے کو ذاتی نوعیت کا بنا سکیں۔ سائٹس Chromium کے ساتھ آپ کی دلچسپیوں کے بارے میں معلومات بھی اسٹور کر سکتی ہیں۔</translation>
 <translation id="6003112304606738118">ڈاؤن لوڈ ہو رہی ہے… <ph name="HOURS" /> گھنٹہ(گھنٹے) باقی ہے</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb
index 2c3e5057..576ed82 100644
--- a/chrome/app/resources/chromium_strings_vi.xtb
+++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -144,6 +144,7 @@
 <translation id="4050175100176540509">Cải thiện bảo mật quan trọng và tính năng mới có trong phiên bản mới nhất.</translation>
 <translation id="4050599136622776556">Chromium đang cố gắng chỉnh sửa phương thức thanh toán.</translation>
 <translation id="4055805654398742145">Trình quản lý mật khẩu</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{Tổ chức sẽ tự động đóng Chromium sau 1 phút bạn không dùng đến. Dữ liệu duyệt web sẽ bị xoá. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống.}other{Tổ chức sẽ tự động đóng Chromium sau # phút bạn không dùng đến. Dữ liệu duyệt web sẽ bị xoá. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống.}}</translation>
 <translation id="4148957013307229264">Đang cài đặt...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> – Đăng nhập vào mạng – Chromium</translation>
 <translation id="421369550622382712">Khám phá các ứng dụng, trò chơi, tiện ích và chủ đề tuyệt vời cho Chromium.</translation>
@@ -180,6 +181,7 @@
 <translation id="479167709087336770">Dịch vụ này sử dụng cùng một trình kiểm tra chính tả dùng trong Google Tìm kiếm. Thông tin bạn nhập vào trình duyệt sẽ được gửi tới Google. Bạn luôn có thể thay đổi hành động này trong phần cài đặt.</translation>
 <translation id="4888717733111232871">Quy tắc kết nối để Chromium cho phép lưu lượng truy cập mDNS.</translation>
 <translation id="4893347770495441059">Chạy lại để cập nhật &amp;Chromium</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{Tổ chức sẽ tự động xoá dữ liệu duyệt web sau 1 phút bạn không dùng đến Chromium. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống. Các thẻ hiện tại sẽ vẫn mở.}other{Tổ chức sẽ tự động xoá dữ liệu duyệt web sau # phút bạn không dùng đến Chromium. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống. Các thẻ hiện tại sẽ vẫn mở.}}</translation>
 <translation id="4943838377383847465">Chromium đang chạy trong nền.</translation>
 <translation id="4987820182225656817">Khách có thể sử dụng Chromium mà không phải thoát khỏi bất cứ nội dung nào.</translation>
 <translation id="4994636714258228724">Thêm chính bạn vào Chromium</translation>
@@ -214,6 +216,7 @@
 <translation id="5924017743176219022">Đang kết nối Internet...</translation>
 <translation id="5941711191222866238">Thu nhỏ</translation>
 <translation id="5972142260211327093">Nếu Chromium ngẫu nhiên đưa bạn vào một giai đoạn dùng thử đang hoạt động, nhật ký duyệt web của bạn sẽ ảnh hưởng đến quảng cáo mà bạn thấy cũng như các mối quan tâm được ước đoán như dưới đây. Để bảo vệ quyền riêng tư của bạn, Chromium xoá thông tin về các mối quan tâm của bạn theo chu kỳ luân phiên mỗi tháng. Các mối quan tâm sẽ được làm mới trừ phi bạn xoá chúng.</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{Tổ chức sẽ tự động đóng Chromium sau 1 phút bạn không dùng đến.}other{Tổ chức sẽ tự động đóng Chromium sau # phút bạn không dùng đến.}}</translation>
 <translation id="5987687638152509985">Cập nhật Chromium để bắt đầu đồng bộ hóa</translation>
 <translation id="5988505247484123880">Các trang web bạn truy cập thường ghi nhớ các mối quan tâm của bạn để cá nhân hoá trải nghiệm cho bạn. Các trang web cũng có thể lưu trữ thông tin trên Chromium về mối quan tâm của bạn.</translation>
 <translation id="6003112304606738118">Đang tải xuống... Còn <ph name="HOURS" /> giờ.</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-CN.xtb b/chrome/app/resources/chromium_strings_zh-CN.xtb
index c2c3f45..3b286a15 100644
--- a/chrome/app/resources/chromium_strings_zh-CN.xtb
+++ b/chrome/app/resources/chromium_strings_zh-CN.xtb
@@ -144,6 +144,7 @@
 <translation id="4050175100176540509">最新版本不仅在安全性方面做出了重要改进,还提供了多项新功能。</translation>
 <translation id="4050599136622776556">Chromium 正在尝试修改付款方式。</translation>
 <translation id="4055805654398742145">密码管理工具(&amp;A)</translation>
+<translation id="4095980151185649725">{COUNT,plural, =1{贵组织会在 Chromium 闲置 1 分钟后自动关闭它。浏览数据会被删除。这些数据可能包括历史记录、自动填充数据和下载内容。}other{贵组织会在 Chromium 闲置 # 分钟后自动关闭它。浏览数据会被删除。这些数据可能包括历史记录、自动填充数据和下载内容。}}</translation>
 <translation id="4148957013307229264">正在安装...</translation>
 <translation id="419998258129752635"><ph name="PAGE_TITLE" /> - 网络登录 - Chromium</translation>
 <translation id="421369550622382712">在这里,您可以找到适用于 Chromium 的精彩应用、游戏、扩展程序和主题背景。</translation>
@@ -180,6 +181,7 @@
 <translation id="479167709087336770">这项服务会使用 Google 搜索所用的拼写检查工具。您在浏览器中输入的文字会被发送给 Google。您随时可在“设置”中更改此行为。</translation>
 <translation id="4888717733111232871">Chromium的入站规则,允许mDNS流量。</translation>
 <translation id="4893347770495441059">重新启动以更新 Chromium(&amp;C)</translation>
+<translation id="4927674536707046009">{COUNT,plural, =1{贵组织会在 Chromium 闲置 1 分钟后自动删除浏览数据。这些数据可能包括历史记录、自动填充数据和下载内容。现有标签页仍将保持打开状态。}other{贵组织会在 Chromium 闲置 # 分钟后自动删除浏览数据。这些数据可能包括历史记录、自动填充数据和下载内容。现有标签页仍将保持打开状态。}}</translation>
 <translation id="4943838377383847465">Chromium处于后台运行模式。</translation>
 <translation id="4987820182225656817">访客使用Chromium不会留下任何痕迹。</translation>
 <translation id="4994636714258228724">将您自己添加到Chromium</translation>
@@ -214,6 +216,7 @@
 <translation id="5924017743176219022">正在连接到互联网…</translation>
 <translation id="5941711191222866238">最小化</translation>
 <translation id="5972142260211327093">如果 Chromium 随机将您加入某项正在开展的试用活动的参与名单,您的浏览记录会影响您看到的广告以及系统推测出的兴趣(如下所示)。为了保护您的隐私,Chromium 每个月都会按保留时间先后顺序删除您的部分兴趣。兴趣会刷新,除非您将其移除。</translation>
+<translation id="5986585015444752010">{COUNT,plural, =1{贵组织会在 Chromium 闲置 1 分钟后自动关闭它。}other{贵组织会在 Chromium 闲置 # 分钟后自动关闭它。}}</translation>
 <translation id="5987687638152509985">更新 Chromium 以开始同步</translation>
 <translation id="5988505247484123880">您访问的网站经常会记住您感兴趣的内容,以便为您提供个性化体验。网站还可以将您的兴趣信息存储在 Chromium 中。</translation>
 <translation id="6003112304606738118">正在下载…还需 <ph name="HOURS" /> 小时</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index d135449..a2fe28e2 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Gekanselleer</translation>
 <translation id="1022489261739821355">Wys tans wagwoorde in jou <ph name="BEGIN_LINK" />Google-rekening<ph name="END_LINK" /></translation>
 <translation id="1022669824195822609">Jou toestel word bestuur deur <ph name="DOMAIN" />. Administrateurs het toegang tot die data in enige profiel op hierdie toestel.</translation>
+<translation id="1024734233509995696">Hierdie oortjie gebruik tans jou kamera of mikrofoon</translation>
 <translation id="1026655690966755180">Voeg poort by</translation>
 <translation id="1026822031284433028">Laai prent</translation>
 <translation id="1026959648338730078">Windows Hello of eksterne sekuriteitsleutel</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">Koppel tans aan jou foon</translation>
 <translation id="1158080958325422608">Maak dit hoofletters</translation>
 <translation id="1158238185437008462">Sien herinneringe</translation>
+<translation id="1159879754517035595">Bestuur uitbreidinginstellings</translation>
 <translation id="1160842321113409343">Ons vee werwe op die lys wat ouer as 4 weke is outomaties uit om jou privaatheid te beskerm. ’n Werf wat jy weer besoek, kan weer op die lys verskyn. Of jy kan ’n werf verwyder as jy nie wil hê dat daardie werf ooit jou belangstellings moet bepaal nie.</translation>
 <translation id="1161575384898972166">Meld asseblief by <ph name="TOKEN_NAME" /> aan om die kliëntsertifikaat uit te voer.</translation>
 <translation id="116173250649946226">Jou administrateur het 'n verstektema gestel wat nie verander kan word nie.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> het sensitiewe of gevaarlike data. Jou administrateur sê: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> wil aan 'n HID-toestel koppel</translation>
 <translation id="1172750555846831341">Keer om na kort kant</translation>
+<translation id="1173036203040243666">Hierdie oortjie is aan ’n Bluetooth-toestel gekoppel</translation>
 <translation id="1173332155861271669">Besonderhede van Passpoint-verskaffer</translation>
 <translation id="1173894706177603556">Hernoem</translation>
 <translation id="1174073918202301297">Kortpad is bygevoeg</translation>
@@ -316,6 +319,7 @@
 <translation id="1252987234827889034">Profielfout het voorgekom</translation>
 <translation id="1253664522045778676">Klik ’n resultaat en die bladsy sal in jou huidige oortjie oopmaak</translation>
 <translation id="1254593899333212300">Direkte internetverbinding</translation>
+<translation id="1256588359404100567">Instelling is van jou vorige toestel af gesinkroniseer.</translation>
 <translation id="1257336506558170607">Voer gekose sertifikaat uit</translation>
 <translation id="1258491128795710625">Wat's nuut</translation>
 <translation id="1259152067760398571">Veiligheidskontrole het gister plaasgevind</translation>
@@ -661,6 +665,7 @@
 <translation id="1556537182262721003">Kon nie uitbreidinggids na profiel skuif nie.</translation>
 <translation id="1558391695376153246">Maak Incognito-oortjies toe</translation>
 <translation id="155865706765934889">Raakpaneel</translation>
+<translation id="1558671750917454373">Hervat uitsending na <ph name="DEVICE_NAME" /></translation>
 <translation id="1562119309884184621">As hierdie kontak bygevoeg word, sal dit onthou word wanneer dit weer deel</translation>
 <translation id="1563137369682381456">Vervaldatum</translation>
 <translation id="1563702743503072935">Wagwoorde vanuit jou Google-rekening sal ook op hierdie toestel beskikbaar wees terwyl jy aangemeld is</translation>
@@ -792,6 +797,7 @@
 <translation id="1648528859488547844">Gebruik Wi-Fi of selnetwerke om ligging te bepaal</translation>
 <translation id="164936512206786300">Maak Bluetooth-toestel los</translation>
 <translation id="1651008383952180276">Jy moet dieselfde wagfrase twee keer invoer</translation>
+<translation id="1651609627703324721">Hierdie oortjie bied VR-inhoud vir ’n kopstuk aan</translation>
 <translation id="1652326691684645429">Aktiveer Nabydeling</translation>
 <translation id="1654580009054503925">Nie toegelaat om versoeke te wys nie</translation>
 <translation id="1656528038316521561">Agtergrondondeursigtigheid</translation>
@@ -891,6 +897,7 @@
 <translation id="173522743738009831">Meer oor Privacy Sandbox</translation>
 <translation id="173628468822554835">Het dit. Nuwe werwe wat jy besoek, sal by verstek nie kennisgewings vir jou stuur nie.</translation>
 <translation id="1737968601308870607">Lêerfout</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Kies om werftoestemmings te verander</translation>
 <translation id="1741190788710022490">Aanpasbare laaiproses</translation>
 <translation id="174123615272205933">Gepasmaak</translation>
 <translation id="1741314857973421784">Gaan voort</translation>
@@ -1006,6 +1013,7 @@
 <translation id="18260074040409954">Jy kan gestoorde wagwoorde op enige toestel gebruik. Hulle is in <ph name="GOOGLE_PASSWORD_MANAGER" /> gestoor vir <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinkroniseer jou Chrome-blaaierboekmerke, -wagwoorde, -geskiedenis en meer</translation>
 <translation id="1826516787628120939">Gaan tans na</translation>
+<translation id="1826657447823925402">Omgekeerde rollees is gedeaktiveer</translation>
 <translation id="1827504459960247692">Warmkolnaam</translation>
 <translation id="1828378091493947763">Hierdie inprop word nie op hierdie toestel gesteun nie</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{Maak almal &amp;oop}=1{Maak boekmerk &amp;oop}other{Maak almal ({COUNT}) &amp;oop}}</translation>
@@ -1083,6 +1091,7 @@
 <translation id="1885066963699478692">XML-lêers wat gebruik word om die beleide te stel.</translation>
 <translation id="1885106732301550621">Skyfspasie</translation>
 <translation id="1886996562706621347">Laat werwe toe om te vra om verstekhanteerders vir protokolle te word (aanbeveel)</translation>
+<translation id="1887210448491286312">Hou op om oortjie na <ph name="DEVICE_NAME" /> toe uit te saai</translation>
 <translation id="1887442540531652736">Aanmeldfout</translation>
 <translation id="1887597546629269384">Sê weer "Hey Google"</translation>
 <translation id="1889091146873278175">Klik die “G”-knoppie om meer soekresultate in ’n kantpaneel te sien</translation>
@@ -1109,6 +1118,7 @@
 <translation id="1910908536872421421">Chrome vir Toetse v<ph name="BROWSER_VERSION" /> is net vir geoutomatiseerde toetse. Gebruik ’n standaardweergawe van Chrome wat outomaties opdateer vir gewone blaai-aktiwiteit.</translation>
 <translation id="1915073950770830761">kanarie</translation>
 <translation id="1915307458270490472">Sit neer</translation>
+<translation id="1915613305720536742">Vertaal</translation>
 <translation id="1915734383465415025">Winkelnommer</translation>
 <translation id="1916260783734263714">Huidige oortjie</translation>
 <translation id="1916502483199172559">Verstek- rooi avatar</translation>
@@ -1213,6 +1223,7 @@
 <translation id="2007404777272201486">Gee 'n probleem aan …</translation>
 <translation id="2009590708342941694">Emosiekoonnutsding</translation>
 <translation id="2010501376126504057">Versoenbare toestelle</translation>
+<translation id="2012935757369720523">Vee lêer uit</translation>
 <translation id="2013550551806600826">Probeer dit. Skakel die instelling aan of af, en rollees dan met twee vingers op jou raakpaneel in die toetsarea. Jy kan dit ook later kry in Instellings &gt; Toestel &gt; Muis en raakpaneel.</translation>
 <translation id="2015232545623037616">Rekenaar en Chromecast in dieselfde wi-fi-netwerk</translation>
 <translation id="2016473077102413275">Kenmerke wat prente nodig het, sal nie werk nie</translation>
@@ -1294,6 +1305,7 @@
 <translation id="2081816110395725788">Sluimerkraggebruik wanneer battery gebruik word</translation>
 <translation id="2082187087049518845">Groepoortjie</translation>
 <translation id="2082510809738716738">Kies 'n temakleur</translation>
+<translation id="2084891381052978619">Jy kan hierdie opsies ook in instellings vind sodra jy jou Chromebook klaar opgestel het</translation>
 <translation id="208586643495776849">Probeer asseblief weer</translation>
 <translation id="208634871997892083">Altydaan-VPN</translation>
 <translation id="2087822576218954668">Druk uit: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1375,7 @@
 <translation id="212862741129535676">Frekwensietoestand-besettingpersentasie</translation>
 <translation id="212876957201860463">Maak tans gereed om jou sellulêre toestel op te stel …</translation>
 <translation id="2131077480075264">Kan nie "<ph name="APP_NAME" />" installeer nie omdat dit nie deur "<ph name="IMPORT_NAME" />" toegelaat word nie</translation>
+<translation id="2133775869826239001">Kies nog kenmerke om op te stel</translation>
 <translation id="2133857665503360653">Herprobeer <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Stelsel-CA’s</translation>
 <translation id="21354425047973905">Versteek PIN-nommers</translation>
@@ -1784,6 +1797,7 @@
 <translation id="2458379781610688953">Dateer rekening op, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Toestelbestuurteken is ongeldig.</translation>
 <translation id="2459703812219683497">Aktiveringkode is bespeur</translation>
+<translation id="2459706890611560967">Hervat uitsending van oortjie na <ph name="DEVICE_NAME" /></translation>
 <translation id="2460356425461033301">Rugsteun jou blaaiergoed en gebruik dit op enige toestel</translation>
 <translation id="2462332841984057083">Steam is reeds opgestel. Wag vir opstelling om klaar te maak.</translation>
 <translation id="2462724976360937186">Sertifiseringoutoriteit se Sleutel-ID</translation>
@@ -2630,10 +2644,12 @@
 <translation id="3194786596445804250">Wys besonderhede oor wat gebeur wanneer alle derdepartywebkoekies geblokkeer word</translation>
 <translation id="3197453258332670132">Wys verwante inligting vir jou tekskeuse met 'n regsklik of langdruk</translation>
 <translation id="3199127022143353223">Bedieners</translation>
+<translation id="3199637719075529971">Hierdie oortjie is aan ’n reekspoort gekoppel</translation>
 <translation id="3200061262156232574">In jou inkopiemandjie</translation>
 <translation id="3201237270673604992">Z tot A</translation>
 <translation id="3201422919974259695">Beskikbare USB-toestelle sal hier verskyn.</translation>
 <translation id="3202131003361292969">Pad</translation>
+<translation id="3202499879214571401">Onderbreek uitsending van die skerm na <ph name="DEVICE_NAME" /></translation>
 <translation id="3202578601642193415">Nuutste</translation>
 <translation id="3204648577100496185">Data wat met hierdie program geassosieer word, kan van hierdie toestel verwyder word</translation>
 <translation id="3207960819495026254">Geboekmerk</translation>
@@ -2946,6 +2962,7 @@
 <translation id="347785443197175480">Hou aan om <ph name="HOST" /> toegang tot jou kamera en mikrofoon te gee</translation>
 <translation id="3479552764303398839">Nie nou nie</translation>
 <translation id="3479685872808224578">Kon nie die drukbediener bespeur nie. Gaan die adres na en probeer weer.</translation>
+<translation id="3479753605053415848">Klik om Chrome te pasmaak</translation>
 <translation id="3480612136143976912">Pasmaak onderskrif se grootte en styl vir Intydse Onderskrifte. Sommige programme en werwe sal ook hierdie instelling gebruik.</translation>
 <translation id="3480827850068960424">Het <ph name="NUM" /> oortjies gekry</translation>
 <translation id="3481268647794498892">Maak <ph name="ALTERNATIVE_BROWSER_NAME" /> binne <ph name="COUNTDOWN_SECONDS" /> sekondes oop</translation>
@@ -3028,6 +3045,7 @@
 <translation id="3557101512409028104">Stel webwerfbeperkings en skermtydlimiete met Family Link</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />As jy Chrome-toestelle toelaat om outomatiese verslae te stuur, help dit ons om te prioritiseer wat om in ChromeOS reg te stel en te verbeter. Hierdie verslae kan dinge insluit soos wanneer ChromeOS omval, watter kenmerke gebruik is, en hoeveel geheue gewoonlik gebruik is.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Jy kan toestemming vir hierdie verslae enige tyd in die instellings van jou kind se Chrome-toestel begin of stop. As jy ’n domeinadministrateur is, kan jy hierdie instelling in die adminkonsole verander.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">Hou op om skerm na <ph name="DEVICE_NAME" /> toe uit te saai</translation>
 <translation id="3559262020195162408">Kon nie beleid op die toestel installeer nie.</translation>
 <translation id="3559533181353831840">Ongeveer <ph name="TIME_LEFT" /> oor</translation>
 <translation id="3560034655160545939">&amp;Speltoets</translation>
@@ -3194,6 +3212,7 @@
 <translation id="370415077757856453">JavaScript word geblokkeer</translation>
 <translation id="3704331259350077894">Beëindiging van handeling</translation>
 <translation id="3705722231355495246">–</translation>
+<translation id="3706366828968376544">Hervat uitsending van skerm na <ph name="DEVICE_NAME" /></translation>
 <translation id="3706463572498736864">Bladsye per blad</translation>
 <translation id="370649949373421643">Aktiveer Wi-Fi</translation>
 <translation id="370665806235115550">Laai tans …</translation>
@@ -3239,6 +3258,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />-data sal binne 24 uur uitgevee word</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Maak <ph name="APPLICATION" /> oop?</translation>
+<translation id="3740945083753997630">Verklein skerm- en teksgrootte</translation>
 <translation id="3741056951918180319">Jy kan altyd die uitbreiding klik om dit op enige werf te gebruik</translation>
 <translation id="3742235229730461951">Koreaanse sleutelborduitleg</translation>
 <translation id="3742666961763734085">Kan nie 'n organisatoriese eenheid met daardie naam kry nie. Probeer asseblief weer.</translation>
@@ -3408,6 +3428,7 @@
 <translation id="3867134342671430205">Sleep of gebruik pylsleutels om 'n skerm te skuif</translation>
 <translation id="3867944738977021751">Sertifikaatvelde</translation>
 <translation id="3869917919960562512">Verkeerde indeks.</translation>
+<translation id="3870688298003434214">Ontkies <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">Geen gestoorde wagwoorde vir <ph name="DOMAIN" /> nie</translation>
 <translation id="3871350334636688135">Ná 24 uur sal jou administrateur 'n eenmalige opdatering uitvoer wat jou plaaslike data sal uitvee wanneer jy jou toestel herbegin. Berg enige plaaslike data wat jy moet hê binne 24 uur in wolkberging.</translation>
 <translation id="3872220884670338524">Nog handelinge; het <ph name="USERNAME" /> se rekening op <ph name="DOMAIN" /> gestoor</translation>
@@ -3503,6 +3524,7 @@
 <translation id="3945513714196326460">Probeer 'n korter naam</translation>
 <translation id="3948027458879361203">Verander gasheernaam</translation>
 <translation id="3948116654032448504">Deursoek <ph name="SEARCH_ENGINE" /> vir prent</translation>
+<translation id="3948334586359655083">Hierdie oortjie speel tans oudio</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> kan jou lêers in die volgende vouers wysig</translation>
 <translation id="394984172568887996">Van IE af ingevoer</translation>
 <translation id="3950820424414687140">Meld aan</translation>
@@ -3561,6 +3583,7 @@
 <translation id="3987544746655539083">Hou aan om hierdie werf te keer om toegang tot jou ligging te kry</translation>
 <translation id="3987938432087324095">Jammer, het dit nie gehoor nie.</translation>
 <translation id="3987993985790029246">Kopieer skakel</translation>
+<translation id="3988124842897276887">Hierdie oortjie is aan ’n USB-toestel gekoppel</translation>
 <translation id="3988488665753590964">Verstel hoe kleure op jou skerm verskyn</translation>
 <translation id="3988996860813292272">Kies tydsone</translation>
 <translation id="399179161741278232">Ingevoer</translation>
@@ -3710,6 +3733,7 @@
 <translation id="4130207949184424187">Hierdie uitbreiding het verander watter bladsy gewys word wanneer jy van die omniboks af soek.</translation>
 <translation id="4130750466177569591">Ek stem in</translation>
 <translation id="413121957363593859">Komponente</translation>
+<translation id="4131283654370308898">Laat <ph name="EXTENSION_NAME" /> op hierdie werf toe</translation>
 <translation id="4131410914670010031">Swart en wit</translation>
 <translation id="413193092008917129">Netwerk se diagnostiese roetines</translation>
 <translation id="4132183752438206707">Kry programme in die Google Play Winkel</translation>
@@ -4067,6 +4091,7 @@
 <translation id="4444512841222467874">Gebruikers en data sal dalk outomaties verwyder word as spasie nie beskikbaar gemaak word nie.</translation>
 <translation id="4445446646109808714">Lisensie-ooreenkoms vir eindgebruikers: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Weerspieël</translation>
+<translation id="4448560527907365660">Stoor en sien meer</translation>
 <translation id="4448914100439890108">Versteek wagwoord vir <ph name="USERNAME" /> op <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Bestuur toestemmings</translation>
 <translation id="4449948729197510913">Jou gebruikernaam behoort aan jou organisasie se werkrekening. As jy toestelle by die rekening wil inskryf, moet jy eers domeineienaarskap in die Adminkonsole verifieer. Jy het administratiewe voorregte vir die rekening nodig om te verifieer.</translation>
@@ -4247,6 +4272,7 @@
 <translation id="4601426376352205922">Merk as ongelees</translation>
 <translation id="460190672235687855">Bekyk wagwoorde</translation>
 <translation id="4602466770786743961">Laat <ph name="HOST" /> altyd toe om by jou kamera en mikrofoon in te gaan</translation>
+<translation id="4602776638371779614">Hierdie oortjie soek tans aktief na Bluetooth-toestelle</translation>
 <translation id="4606551464649945562">Moenie werwe toelaat om 'n 3D-kaart van jou omgewing te skep of kameraposisie na te spoor nie</translation>
 <translation id="4608500690299898628">Vind …</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> het 'n fout ondervind</translation>
@@ -4430,6 +4456,7 @@
 <translation id="4770119228883592393">Toestemming is versoek; druk ⌘ + Option + afpyl om te antwoord</translation>
 <translation id="4773112038801431077">Gradeer Linux op</translation>
 <translation id="4774456473286455263">Stel met jou Android-foon op</translation>
+<translation id="477548766361111120">Laat uitbreiding toe om hierdie werf te lees en te verander</translation>
 <translation id="477647109558161443">Skep 'n werkskermkortpad</translation>
 <translation id="4776594120007763294">Klik die knoppie om 'n bladsy by te voeg om later te lees</translation>
 <translation id="4777458362738635055">Ander gebruikers van hierdie toestel kan hierdie netwerk gebruik</translation>
@@ -5175,6 +5202,7 @@
 <translation id="5439680044267106777">Slaan oor en stel nuwe profiel op</translation>
 <translation id="544083962418256601">Skep kortpaaie …</translation>
 <translation id="5441133529460183413">Webprogram uit Chrome-blaaier geïnstalleer</translation>
+<translation id="5441292787273562014">Herlaai bladsy</translation>
 <translation id="5441466871879044658">Vertaal in hierdie taal</translation>
 <translation id="5442228125690314719">Kon nie skyfprent skep nie. Probeer asseblief weer.</translation>
 <translation id="5442550868130618860">Skakel outo-opdatering aan</translation>
@@ -5222,6 +5250,7 @@
 <translation id="5485102783864353244">Voeg program by</translation>
 <translation id="5485435764083510385">Voorkeuronderskriftaal</translation>
 <translation id="5485754497697573575">Stel alle oortjies terug</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> kan ’n nuwer of ander soort toestel vereis</translation>
 <translation id="5486261815000869482">Bevestig wagwoord</translation>
 <translation id="5486561344817861625">Simuleer blaaierherbegin</translation>
 <translation id="5487460042548760727">Hernoem profiel na <ph name="PROFILE_NAME" /></translation>
@@ -5577,6 +5606,7 @@
 <translation id="5799508265798272974">Linux- virtuele masjien: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Bestemminglêer is afgekap of verwyder sedert die laaste aflaai.</translation>
 <translation id="5800351251499368110">Maak soekbladsy in kantpaneel toe Soekbladsy is oop in die kantpaneel.</translation>
+<translation id="5800703268655655701">Kies lig- of donkertema</translation>
 <translation id="5801051031414037185">Stel foon op</translation>
 <translation id="5801568494490449797">Voorkeure</translation>
 <translation id="5803689677801500549">Gestoorde wagwoorde sal hier verskyn. <ph name="BEGIN_LINK" />Kies ’n CSV-lêer<ph name="END_LINK" /> om wagwoorde na <ph name="BRAND" /> vir <ph name="USER_EMAIL" /> in te voer.</translation>
@@ -5692,6 +5722,7 @@
 <translation id="5889282057229379085">Maksimum getal intermediêre CA's: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">Enkripteer gesinkroniseerde data met jou eie <ph name="BEGIN_LINK" />sinkroniseringwagfrase<ph name="END_LINK" />. Betaalmetodes en -adresse van Google Pay af sal nie geënkripteer word nie. Blaaigeskiedenis van Chrome af sal nie sinkroniseer nie.</translation>
 <translation id="5891688036610113830">Voorkeur-Wi-Fi-netwerke</translation>
+<translation id="5894056653502215961">Ontkies vouer <ph name="FOLDER_TITLE" /></translation>
 <translation id="5895138241574237353">Herbegin</translation>
 <translation id="5895335062901455404">Jou gestoorde voorkeure en aktiwiteit sal op enige Chrome OS Flex-toestel gereed wees wanneer jy met jou Google-rekening aanmeld. Jy kan in Instellings kies wat om te sinkroniseer.</translation>
 <translation id="589541317545606110">Deursoek bladsy met <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5763,6 +5794,7 @@
 <translation id="5948476936444935795">Kanselleer invoer</translation>
 <translation id="5948536763493709626">Koppel 'n sleutelbord of 'n muis, of gebruik jou raakskerm om voort te gaan met opstelling. As jy Bluetooth-toestelle gebruik, moet jy seker maak dat jou toestelle gereed is om saam te bind.</translation>
 <translation id="5949544233750246342">Kan nie lêer ontleed nie</translation>
+<translation id="5950762317146173294">Hierdie lêer kan dalk ’n virus of wanware wees</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> wil plaaslike lettertipes gebruik</translation>
 <translation id="5951624318208955736">Monitor</translation>
 <translation id="595262438437661818">Geen uitbreidings het toegang tot hierdie werf nodig nie</translation>
@@ -5847,6 +5879,7 @@
 <translation id="6022526133015258832">Maak volskerm oop</translation>
 <translation id="6022659036123304283">Maak Chrome jou eie</translation>
 <translation id="6023643151125006053">Hierdie toestel (SN: <ph name="SERIAL_NUMBER" />) is deur die <ph name="SAML_DOMAIN" />-administrateur gesluit.</translation>
+<translation id="6024072172641380781">Laat uitbreidings op hierdie webwerf toe</translation>
 <translation id="6025215716629925253">Stapelnasporing</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB-toestel is gekoppel</translation>
 <translation id="6027945736510816438">Het jy bedoel <ph name="WEBSITE" />?</translation>
@@ -6130,6 +6163,7 @@
 <translation id="6268252012308737255">Maak met <ph name="APP" /> oop</translation>
 <translation id="6270309713620950855">Demp por</translation>
 <translation id="6270391203985052864">Werwe kan vra om kennisgewings te stuur</translation>
+<translation id="6270486800167535228">Uitbreiding is vasgespeld. Kies om meer opsies te sien</translation>
 <translation id="6270770586500173387">Stuur <ph name="BEGIN_LINK1" />stelsel- en programinligting<ph name="END_LINK1" /> en <ph name="BEGIN_LINK2" />maatstawwe<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">Reisekaart</translation>
 <translation id="6271348838875430303">regstelling is ontdoen</translation>
@@ -6210,6 +6244,7 @@
 <translation id="6344608411615208519">Jou ouer <ph name="BEGIN_LINK" />bestuur jou blaaier<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910">Jou gebruikernaam en wagwoord word vir die instaanbediener <ph name="PROXY" /> vereis sodat die admin jou netwerk kan opstel</translation>
 <translation id="6345878117466430440">Merk as gelees</translation>
+<translation id="6346952829206698721">Plak van knipbord af</translation>
 <translation id="6347010704471250799">Wys kennisgewing</translation>
 <translation id="634887995541211148">Laat loop Bruschetta op jou toestel.</translation>
 <translation id="6349101878882523185">Installeer <ph name="APP_NAME" /></translation>
@@ -6495,6 +6530,7 @@
 <translation id="6596325263575161958">Enkripsie-opsies</translation>
 <translation id="6596816719288285829">IP-adres</translation>
 <translation id="6597017209724497268">Voorbeelde</translation>
+<translation id="6597324406048772521">Uitbreidings word nie op hierdie werf toegelaat nie</translation>
 <translation id="6597331566371766302">Jou administrateur het die volgende uitbreidings geblokkeer:</translation>
 <translation id="659894938503552850">nuutste</translation>
 <translation id="6601262427770154296">Bestuur gebruikerwoordeboeke</translation>
@@ -6512,6 +6548,7 @@
 <translation id="6609478180749378879">Aanmelddata sal op hierdie toestel geberg word nadat jy Incognitomodus verlaat het. Jy sal later weer met jou toestel by hierdie werf kan aanmeld.</translation>
 <translation id="6610002944194042868">Vertaalopsies</translation>
 <translation id="6611972847767394631">Vind jou oortjies hier</translation>
+<translation id="6613267708691765962">Skandeer tans vir wanware …</translation>
 <translation id="6613668613087513143">Daar is te min spasie op dié toestel om hierdie opdatering te voltooi. Maak <ph name="NECESSARY_SPACE" /> beskikbaar op jou toestel en probeer weer van jou Chrome-blaaier af.</translation>
 <translation id="6615455863669487791">Wys my</translation>
 <translation id="6618097958368085618">Hou in elk geval</translation>
@@ -6760,6 +6797,7 @@
 <translation id="6825184156888454064">Sorteer volgens naam</translation>
 <translation id="6826872289184051766">Verifieer deur USB</translation>
 <translation id="6827121912381363404">Laat alle uitbreidings toe om <ph name="PERMITTED_SITE" /> te lees en te verander</translation>
+<translation id="6827422464708099620">Kies om meer opsies te sien</translation>
 <translation id="6827517233063803343">Jou programme en instellings sal gesinkroniseer word op alle Chrome-bedryfstelseltoestelle waarop jy met jou Google-rekening aangemeld is. Gaan na <ph name="LINK_BEGIN" />Chrome-instellings<ph name="LINK_END" /> toe vir blaaiersinkroniseringopsies.</translation>
 <translation id="6827767090350758381">Ouer weergawes van Chrome-programme sal nie ná Desember 2022 op Windows-toestelle oopmaak nie. Kontak jou admin om na ’n nuwe weergawe toe op te dateer of hierdie program te verwyder.</translation>
 <translation id="6828153365543658583">Beperk aanmelding tot die volgende gebruikers:</translation>
@@ -6823,6 +6861,7 @@
 <translation id="6868934826811377550">Sien besonderhede</translation>
 <translation id="6871644448911473373">OCSP-respondent: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Die wagwoord wat jy ingevoer het, is deur die bediener afgekeur.</translation>
+<translation id="6873571253135628430">Verander werftoestemmings</translation>
 <translation id="6876155724392614295">Fiets</translation>
 <translation id="6876469544038980967">Nie nuttig nie</translation>
 <translation id="6878422606530379992">Sensors toegelaat</translation>
@@ -6963,6 +7002,7 @@
 <translation id="6993050154661569036">Dateer tans Chrome-blaaier op</translation>
 <translation id="6995899638241819463">Waarsku jou as wagwoorde in 'n dataskending blootgestel is</translation>
 <translation id="6995984090981858039">Lees Chrome-toestelinligting en -data</translation>
+<translation id="6996438701394974959">Vergroot skerm- en teksgrootte</translation>
 <translation id="6997553674029032185">Gaan na werf</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – aktiwiteitloglêer</translation>
 <translation id="6997707937646349884">Op jou toestelle:</translation>
@@ -7083,6 +7123,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Verwyder program}other{Verwyder programme}}</translation>
 <translation id="7099337801055912064">Kan nie groot PPD laai nie. Maksimum grootte is 250 KB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Geen gekompromitteerde wagwoorde nie}=1{{COUNT} gekompromitteerde wagwoord}other{{COUNT} gekompromitteerde wagwoorde}}</translation>
+<translation id="710047887584828070">Hierdie oortjie se inhoud word tans gedeel</translation>
 <translation id="7102832101143475489">Die versoek het uitgetel</translation>
 <translation id="710640343305609397">Maak netwerkinstellings oop</translation>
 <translation id="7107609441453408294">Speel dieselfde oudio deur al die luidsprekers</translation>
@@ -7178,6 +7219,7 @@
 <translation id="719791532916917144">Sleutelbordkortpad</translation>
 <translation id="7198503619164954386">Jy moet 'n toestel gebruik wat by 'n onderneming ingeskryf is</translation>
 <translation id="7199158086730159431">Kry hulp</translation>
+<translation id="7199452998289813782">Onderbreek uitsending na <ph name="DEVICE_NAME" /></translation>
 <translation id="7200083590239651963">Kies opstelling</translation>
 <translation id="720110658997053098">Hou hierdie toestel permanent in kioskmodus</translation>
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" is uitgevee</translation>
@@ -7224,6 +7266,7 @@
 <translation id="7241389281993241388">Meld asseblief by <ph name="TOKEN_NAME" /> aan om die kliëntsertifikaat in te voer.</translation>
 <translation id="7241763419756062043">Kies jou soek- en blaaigehalte</translation>
 <translation id="7243632151880336635">Vee uit en meld af</translation>
+<translation id="7245162963905242662">Soek hierdie bladsy met Google …</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (beste)</translation>
 <translation id="7246230585855757313">Sit jou sekuriteitsleutel weer in en probeer weer</translation>
 <translation id="724835896049478274">Rekeninge beskikbaar vir Android-programme</translation>
@@ -7530,8 +7573,10 @@
 <translation id="7497981768003291373">Jy het geen onlangs vasgevangde WebRTC-teksloglêers nie.</translation>
 <translation id="7501957181231305652">of</translation>
 <translation id="7502220299952823578">Voeg by die "hou hierdie werwe altyd aktief"-lys</translation>
+<translation id="7502528909759062987">Onderbreek uitsending van die oortjie na <ph name="DEVICE_NAME" /></translation>
 <translation id="7503191893372251637">Netscape-sertifikaattipe</translation>
 <translation id="7503985202154027481">'n Rekord van jou besoek aan hierdie werf sal op jou sekuriteitsleutel gehou word.</translation>
+<translation id="7504145862399276792">Hierdie oortjie se klank word gedemp</translation>
 <translation id="750509436279396091">Maak aflaaivouer oop</translation>
 <translation id="7505149250476994901">Sê "cap" (hoofletter) voor letter</translation>
 <translation id="7505717542095249632">Versteek <ph name="MERCHANT" /></translation>
@@ -7771,6 +7816,7 @@
 <translation id="7701040980221191251">Geen</translation>
 <translation id="7701265686005869308">Maak profiel toe</translation>
 <translation id="7701869757853594372">GEBRUIKER-handvatsel</translation>
+<translation id="7702463352133825032">Hou op om na <ph name="DEVICE_NAME" /> toe uit te saai</translation>
 <translation id="7702574632857388784">Verwyder <ph name="FILE_NAME" /> uit lys</translation>
 <translation id="7702907602086592255">Domein</translation>
 <translation id="7704305437604973648">Taak</translation>
@@ -7890,6 +7936,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Beginbladsyagtergrond is verander na <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Omgekeerde rollees is geaktiveer</translation>
 <translation id="7791543448312431591">Voeg by</translation>
 <translation id="7792012425874949788">Kon nie aanmeld nie</translation>
 <translation id="7792388396321542707">Hou op deel</translation>
@@ -8056,6 +8103,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% voltooi</translation>
 <translation id="7939062555109487992">Gevorderde opsies</translation>
 <translation id="7939073735115504773">Klik hierdie uitbreiding se ikoon om <ph name="HOST" /> te lees en te verander</translation>
+<translation id="793923212791838">Jou toestel kan nie met hierdie werf gebruik word nie</translation>
 <translation id="7939328347457537652">Bestuur toestelsertifikate</translation>
 <translation id="7939412583708276221">Hou in elk geval</translation>
 <translation id="7940265372707990269">Rankgskik volgens <ph name="SORT_TYPE" /></translation>
@@ -8231,6 +8279,7 @@
 <translation id="8084114998886531721">Gestoorde wagwoord</translation>
 <translation id="8084510406207562688">Stel alle oortjies terug</translation>
 <translation id="8086015605808120405">Stel <ph name="PRINTER_NAME" /> tans op …</translation>
+<translation id="8086121155774250556">Hierdie oortjie deel tans jou skerm</translation>
 <translation id="8086442853986205778">Stel <ph name="PRINTER_NAME" /> op</translation>
 <translation id="8086610718778464681">Kan nie Linux-programme en -lêers opdateer nie</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Hierdie lêer is geënkripteer. Vra die eienaar om dit te dekripteer.}other{Sommige van hierdie lêers is geënkripteer. Vra hul eienaar om hulle te dekripteer.}}</translation>
@@ -8533,6 +8582,7 @@
 <translation id="8345848587667658367">Jy kan nou jou foon se onlangse foto's, media, kennisgewings en programme bekyk</translation>
 <translation id="8347227221149377169">Druktake</translation>
 <translation id="834785183489258869">Terwyl jy in Incognito is, kan werwe nie jou webkoekies gebruik om jou blaai-aktiwiteit op verskillende werwe te sien nie, byvoorbeeld om advertensies te personaliseer. Kenmerke op sommige werwe sal dalk nie werk nie.</translation>
+<translation id="8349325309815489209">Uitbreidings word op hierdie werf toegelaat</translation>
 <translation id="8349826889576450703">lanseerder</translation>
 <translation id="8350789879725387295">Stilusnutsgoed in dok</translation>
 <translation id="8351316842353540018">Wys altyd a11y-opsies</translation>
@@ -8561,6 +8611,7 @@
 <translation id="8370294614544004647">Slaap wanneer skootrekenaar toe is</translation>
 <translation id="8371695176452482769">Praat nou</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Demp werf}other{Demp werwe}}</translation>
+<translation id="8372441176515901959">Maak versoek toe</translation>
 <translation id="8373652277231415614">Gedeelde gidse in Crostini</translation>
 <translation id="8374243500935816406">Moenie werwe toelaat om vensters op al jou skerms te bestuur nie</translation>
 <translation id="8376137163494131156">Vertel ons wat met Google Cast gebeur.</translation>
@@ -8920,6 +8971,7 @@
 <translation id="8687103160920393343">Kanselleer <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Beskikbaar</translation>
 <translation id="8690129572193755009">Werwe kan vra om protokolle te hanteer</translation>
+<translation id="869144235543261764">Hierdie oortjie speel tans ’n video in prent-in-prent-modus</translation>
 <translation id="8692107307702113268">Wagwoord is meer as 1 000 karakters</translation>
 <translation id="8694596275649352090">Sluit wanneer dit gaan slaap of deksel toegemaak word</translation>
 <translation id="8695139659682234808">Voeg ouerkontroles by ná opstelling</translation>
@@ -9153,6 +9205,7 @@
 <translation id="8877448029301136595">[ouergids]</translation>
 <translation id="8879284080359814990">Wys as oortjie</translation>
 <translation id="8879921471468674457">Onthou aanmeldinligting</translation>
+<translation id="8880009256105053174">Soek hierdie bladsy met Google …</translation>
 <translation id="8880054210564666174">Kan nie kontaklys aflaai nie. Gaan jou netwerkverbinding na of <ph name="LINK_BEGIN" />probeer weer<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Probeer weer. Kontak <ph name="CARRIER_NAME" /> vir tegniese ondersteuning.</translation>
 <translation id="888256071122006425">Muis- en raakpaneelinstellings</translation>
@@ -9417,6 +9470,7 @@
 <translation id="9102864637938129124">Werwe en adverteerders kan verstaan hoe advertensies vaar. Hierdie instelling is aan.</translation>
 <translation id="9103479157856427471">Ingezoemde skerm volg sleutelbordfokus</translation>
 <translation id="9103868373786083162">Druk om terug te gaan, kontekskieslys om geskiedenis te sien</translation>
+<translation id="9107096627210171112">Vertaal …</translation>
 <translation id="9108035152087032312">Naam en venster</translation>
 <translation id="9108072915170399168">Huidige datagebruikinstelling is Sonder Internet</translation>
 <translation id="9108294543511800041">Jy kan nou jou foon se onlangse foto's, media en kennisgewings bekyk</translation>
@@ -9573,6 +9627,7 @@
 <translation id="947329552760389097">&amp;Ondersoek elemente</translation>
 <translation id="947526284350604411">Jou antwoord</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> kan nie lêers in hierdie vouer oopmaak nie omdat dit stelsellêers bevat</translation>
+<translation id="949807244219288032">Hierdie oortjie is aan ’n HID-toestel gekoppel</translation>
 <translation id="950307215746360464">Opstellinggids</translation>
 <translation id="951991426597076286">Weier</translation>
 <translation id="952471655966876828">Die toestel word outomaties gekoppel wanneer dit aangeskakel of gebruik word</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index 85c8f29..608415b 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -315,6 +315,7 @@
 <translation id="1252987234827889034">የመገለጫ ስህተት ተከስቷል</translation>
 <translation id="1253664522045778676">አንድ ውጤት ላይ ጠቅ ያድርጉ እና ገጹ በአሁኑ ትርዎ ውስጥ ይከፈታል</translation>
 <translation id="1254593899333212300">ቀጥተኛ የበይነመረብ ግንኙነት</translation>
+<translation id="1256588359404100567">ቅንብር ከእርስዎ የቀድሞ መሣሪያ ሰምሯል።</translation>
 <translation id="1257336506558170607">የተመረጠውን የእውቅና ማረጋገጫ ወደ ውጭ ላክ</translation>
 <translation id="1258491128795710625">ምን አዲስ ነገር አለ</translation>
 <translation id="1259152067760398571">የደህንነት ፍተሻ ትላንትና ተካሂዷል</translation>
@@ -1003,6 +1004,7 @@
 <translation id="18260074040409954">በማንኛውም መሣሪያ ላይ የተቀመጡ የይለፍ ቃላትን መጠቀም ይችላሉ። ለ<ph name="EMAIL" /> በ<ph name="GOOGLE_PASSWORD_MANAGER" /> ላይ ይቀመጣሉ።</translation>
 <translation id="1826192255355608658">የChrome አሳሽ ዕልባቶችዎን፣ የይለፍ ቃላትዎን፣ ታሪክዎን እና ሌሎችንም ያስምሩ</translation>
 <translation id="1826516787628120939">በመፈተሸ ላይ</translation>
+<translation id="1826657447823925402">የተገላቢጦሽ ማሸብለል ተሰናክሏል</translation>
 <translation id="1827504459960247692">የመገናኛ ነጥብ ስም</translation>
 <translation id="1828378091493947763">ይህ ተሰኪ በዚህ መሣሪያ ላይ አይደገፍም</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;ሁሉንም ክፈት}=1{&amp;ዕልባት ክፈት}one{&amp;ሁሉንም ({COUNT}) ክፈት}other{&amp;ሁሉንም ({COUNT}) ክፈት}}</translation>
@@ -1290,6 +1292,7 @@
 <translation id="2081816110395725788">በባትሪ ላይ ሥራ ፈት ኃይል</translation>
 <translation id="2082187087049518845">ትርን ሰብስብ</translation>
 <translation id="2082510809738716738">የገጽታ ቀለም ይምረጡ</translation>
+<translation id="2084891381052978619">እንዲሁም የእርስዎን Chromebook ማዋቀር ካጠናቀቁ በኋላ እነዚህን አማራጮች በቅንብሮች ውስጥ ማግኘት ይችላሉ</translation>
 <translation id="208586643495776849">እባክዎ እንደገና ይሞክሩ</translation>
 <translation id="208634871997892083">ሁሌ የበራ VPN</translation>
 <translation id="2087822576218954668">አትም፦ <ph name="PRINT_NAME" /></translation>
@@ -1359,6 +1362,7 @@
 <translation id="212862741129535676">የተደጋጋሚነት ሁኔታ ያዥነት መቶኛ</translation>
 <translation id="212876957201860463">የእርስዎን የተንቀሳቃሽ ስልክ መሣሪያ ለማዋቀር በመዘጋጀት ላይ...</translation>
 <translation id="2131077480075264">በ«<ph name="IMPORT_NAME" />» ስላልተፈቀደ «<ph name="APP_NAME" />»ን መጫን አልተቻለም</translation>
+<translation id="2133775869826239001">ለማዋቀር ተጨማሪ ባህሪያትን ይምረጡ</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" />ን እንደገና ሞክር</translation>
 <translation id="2134905185275441536">የሥርዓት CAዎች</translation>
 <translation id="21354425047973905">ፒኖችን ይደብቁ</translation>
@@ -2940,6 +2944,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> ካሜራዎን እና ማይክሮፎንዎን እንዲደርስ መፍቀዱን ይቀጥሉ</translation>
 <translation id="3479552764303398839">አሁን አይደለም</translation>
 <translation id="3479685872808224578">የህትመት አገልጋዩን ማግኘት አልተቻለም። እባክዎ አድራሻውን ይፈትሹ እና እንደገና ይሞክሩ።</translation>
+<translation id="3479753605053415848">Chromeን ለማበጀት ጠቅ ያድርጉ</translation>
 <translation id="3480612136143976912">የመግለጫ ጽሁፍ መጠን እና ቅጥ ለቀጥታ መግለጫ ጽሁፍ ይበጅ? አንዳንድ መተግበሪያዎች እና ጣቢያዎች ይህን ቅንብር ይጠቀሙበታል።</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> ትሮች ተገኝተዋል</translation>
 <translation id="3481268647794498892"><ph name="ALTERNATIVE_BROWSER_NAME" />ን በ<ph name="COUNTDOWN_SECONDS" /> ሰከንዶች ውስጥ ይከፈታል</translation>
@@ -3233,6 +3238,7 @@
 <translation id="3738632186060045350">የ<ph name="DEVICE_TYPE" /> ውሂብ በ24 ሰዓታት ውስጥ ይሰረዛል</translation>
 <translation id="3738924763801731196"><ph name="OID" />፦</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> ይከፈት?</translation>
+<translation id="3740945083753997630">ማሳያ እና የጽሑፍ መጠን ይቀንሱ</translation>
 <translation id="3741056951918180319">በማንኛውም ጣቢያ ላይ ለመጠቀም ቅጥያውን ሁልጊዜ ጠቅ ማድረግ ይችላሉ።</translation>
 <translation id="3742235229730461951">የኮሪያኛ ቁልፍ ሰሌዳ አቀማመጥ</translation>
 <translation id="3742666961763734085">ይህ ስም ያለው ድርጅታዊ አሃድ ማግኘት አልተቻለም። እባክዎ እንደገና ይሞክሩ።</translation>
@@ -4059,6 +4065,7 @@
 <translation id="4444512841222467874">ቦታ ካልተገኘ ተጠቃሚዎች እና ውሂብ በራስ-ሰር ሊወገዱ ይችላሉ።</translation>
 <translation id="4445446646109808714">የዋና ተጠቃሚ የፈቃድ ስምምነት፦ <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">ተንጸባርቋል</translation>
+<translation id="4448560527907365660">አስቀምጥ እና ተጨማሪ አሳይ</translation>
 <translation id="4448914100439890108">የይለፍ ቃል ለ<ph name="USERNAME" /> በ<ph name="DOMAIN" /> ላይ ደብቅ</translation>
 <translation id="4449247303975391730">ፈቃዶችን ያስተዳድሩ</translation>
 <translation id="4449948729197510913">የእርስዎ የተጠቃሚ ስም የእርስዎ ድርጅት የድርጅት መለያ ንብረት ነው። መሣሪያዎችን ወደ መለያው ለማስመዝገብ በመጀመሪያ የጎራ ባለቤትነትን በአስተዳዳሪ መሥሪያ ውስጥ ያረጋግጡ። በመለያው ላይ ለማረጋገጥ የአስተዳደር ልዩ መብቶች ያስፈልገዎታል።</translation>
@@ -5214,6 +5221,7 @@
 <translation id="5485102783864353244">መተግበሪያ አክል</translation>
 <translation id="5485435764083510385">የተመረጠ የመግለጫ ጽሑፍ ቋንቋ</translation>
 <translation id="5485754497697573575">ሁሉንም ትሮች አስመልስ</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> ይበልጥ አዲስ ወይም የተለየ ዓይነት መሣሪያ ሊያስፈልገው ይችላል</translation>
 <translation id="5486261815000869482">የይለፍ ቃል ያረጋግጡ</translation>
 <translation id="5486561344817861625">የአሳሽ ዳግም መጀመር አስመስለህ ስራ</translation>
 <translation id="5487460042548760727">የመገለጫውን ስም ወደ <ph name="PROFILE_NAME" /> ይቀይሩ</translation>
@@ -5568,6 +5576,7 @@
 <translation id="5799508265798272974">የLinux ምናባዊ ማሽን፦ <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">የመድረሻ ፋይሉ ከመጨረሻ ውርዱ በኋላ ተቋርጧል ወይም ተወግዷል።</translation>
 <translation id="5800351251499368110">በጎን ፓነል ውስጥ ፍለጋን ዝጋ። ፍለጋ በጎን ፓነል ውስጥ ተከፍቷል።</translation>
+<translation id="5800703268655655701">የብርሃን ወይም ጠቆር ያለ ገጽታ ይምረጡ</translation>
 <translation id="5801051031414037185">ስልክን አዋቅር</translation>
 <translation id="5801568494490449797">አማራጮች</translation>
 <translation id="5803689677801500549">የተቀመጡ የይለፍ ቃላት እዚህ ይታያሉ። ለ<ph name="USER_EMAIL" /> የይለፍ ቃላትን ወደ <ph name="BRAND" /> ለማስመጣት <ph name="BEGIN_LINK" /> የCSV ፋይልን ይምረጡ።<ph name="END_LINK" /></translation>
@@ -6956,6 +6965,7 @@
 <translation id="6993050154661569036">የChrome አሳሽን በማዘመን ላይ</translation>
 <translation id="6995899638241819463">የይለፍ ቃላት በውሂብ ደንብ ጥሰት ተጋላጭ ከሆነ ያስጠንቅቅዎት</translation>
 <translation id="6995984090981858039">የChromeOS የመሣሪያ መረጃ እና ውሂብን ያንብቡ</translation>
+<translation id="6996438701394974959">ማሳያ እና የጽሑፍ መጠን ይጨምራል</translation>
 <translation id="6997553674029032185">ወደ ጣቢያ ሂድ</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - የእንቅስቃሴ ምዝግብ ማስታወሻ</translation>
 <translation id="6997707937646349884">በእርስዎ መሣሪያዎች ላይ፦</translation>
@@ -7883,6 +7893,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">የጅምር ገፅ ጀርባው ወደ <ph name="CATEGORY" /> ተቀይሯል።</translation>
+<translation id="7791436592012979144">የተገላቢጦሽ ማሸብለል ነቅቷል</translation>
 <translation id="7791543448312431591">ያክሉ</translation>
 <translation id="7792012425874949788">መግባት ላይ የሆነ ችግር ተፈጥሯል</translation>
 <translation id="7792388396321542707">ማጋራት አቁም</translation>
@@ -8049,6 +8060,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% ተጠናቅቋል</translation>
 <translation id="7939062555109487992">የላቁ አማራጮች</translation>
 <translation id="7939073735115504773">የዚህ ቅጥያ አዶ <ph name="HOST" />ን እንዲያነብ እና እንዲለውጥ ጠቅ ያድርጉት</translation>
+<translation id="793923212791838">መሣሪያዎ ከዚህ ጣቢያ ጋር ጥቅም ላይ መዋል አይችልም</translation>
 <translation id="7939328347457537652">የመሣሪያ ማረጋገጫዎችን ያስተዳድሩ</translation>
 <translation id="7939412583708276221">ለማንኛውም አስቀምጥ</translation>
 <translation id="7940265372707990269">በ<ph name="SORT_TYPE" /> ደርድር</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 9ee7d8c..8d2828e2 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">تم الإلغاء</translation>
 <translation id="1022489261739821355">‏عرض كلمات المرور من <ph name="BEGIN_LINK" />حسابك على Google<ph name="END_LINK" /></translation>
 <translation id="1022669824195822609">تتم إدارة جهازك من خلال <ph name="DOMAIN" />. يمكن للمشرفين الوصول إلى البيانات في أي ملف شخصي على هذا الجهاز.</translation>
+<translation id="1024734233509995696">تستخدم علامة التبويب هذه الكاميرا أو الميكروفون.</translation>
 <translation id="1026655690966755180">إضافة منفذ</translation>
 <translation id="1026822031284433028">تحميل صورة</translation>
 <translation id="1026959648338730078">‏‫Windows Hello أو مفتاح أمان خارجي</translation>
@@ -191,6 +192,7 @@
 <translation id="1155816283571436363">جارٍ الاتصال بهاتفك</translation>
 <translation id="1158080958325422608">تحويل الأحرف إلى أحرف كبيرة</translation>
 <translation id="1158238185437008462">الاطّلاع على الذكريات</translation>
+<translation id="1159879754517035595">إدارة إعدادات الإضافات</translation>
 <translation id="1160842321113409343">لحماية خصوصيتك، نحذف تلقائيًا المواقع الإلكترونية التي يمر أكثر من أربعة أسابيع على إضافتها إلى القائمة. وقد يظهر في القائمة مرة أخرى أي موقع إلكتروني تكرِّر زيارته. يمكنك إزالة أي موقع إلكتروني إذا كنت لا تريد مطلقًا أن يحدّد لك اهتماماتك.</translation>
 <translation id="1161575384898972166">يُرجى تسجيل الدخول إلى <ph name="TOKEN_NAME" /> لتصدير شهادة العميل.</translation>
 <translation id="116173250649946226">حدَّد مشرف مؤسستك مظهرًا تلقائيًا لا يمكن تغييره.</translation>
@@ -209,6 +211,7 @@
 <translation id="1169435433292653700">يتضمّن الملف <ph name="FILE_NAME" /> بيانات حساسة أو خطيرة. أرسَل المشرف الرسالة "<ph name="CUSTOM_MESSAGE" />".</translation>
 <translation id="1171515578268894665">‏يريد <ph name="ORIGIN" /> الاتصال بجهاز HID</translation>
 <translation id="1172750555846831341">القلب عند الحافة القصيرة</translation>
+<translation id="1173036203040243666">علامة التبويب هذه متصلة بجهاز يتضمّن بلوتوث.</translation>
 <translation id="1173332155861271669">تفاصيل موفِّر نقطة المرور</translation>
 <translation id="1173894706177603556">إعادة تسمية</translation>
 <translation id="1174073918202301297">تمت إضافة الاختصار</translation>
@@ -657,6 +660,7 @@
 <translation id="1556537182262721003">تعذر نقل دليل الإضافة إلى الملف الشخصي.</translation>
 <translation id="1558391695376153246">إغلاق علامات تبويب التصفح المتخفي</translation>
 <translation id="155865706765934889">لوحة اللمس</translation>
+<translation id="1558671750917454373">استئناف البث على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="1562119309884184621">عند إضافة جهة الاتصال هذه، سيتم تذكُّرها في المرات القادمة عند مشاركة الملفات.</translation>
 <translation id="1563137369682381456">تاريخ انتهاء الصلاحية</translation>
 <translation id="1563702743503072935">‏ستتوفّر أيضًا كلمات المرور من حسابك على Google على هذا الجهاز طالما أنك مسجّلٌ الدخول إلى الحساب.</translation>
@@ -787,6 +791,7 @@
 <translation id="1648528859488547844">‏استخدام شبكة Wi‑Fi أو شبكات الجوَّال لتحديد الموقع الجغرافي</translation>
 <translation id="164936512206786300">إلغاء الإقران بجهاز عبر بلوتوث</translation>
 <translation id="1651008383952180276">يجب إدخال عبارة المرور نفسها مرتين</translation>
+<translation id="1651609627703324721">تعرض علامة التبويب هذه محتوى واقع افتراضي على سماعة رأس.</translation>
 <translation id="1652326691684645429">تفعيل ميزة "المشاركة عن قرب"</translation>
 <translation id="1654580009054503925">غير مسموح للإضافة بعرض الطلبات</translation>
 <translation id="1656528038316521561">درجة تعتيم الخلفية</translation>
@@ -878,6 +883,7 @@
 <translation id="173522743738009831">لمحة عن "مبادرة حماية الخصوصية"</translation>
 <translation id="173628468822554835">حسنًا. حسب الإعدادات التلقائية، لن تتلقّى إشعارات من المواقع الإلكترونية الجديدة التي تزورها.</translation>
 <translation id="1737968601308870607">الإبلاغ عن خطأ</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. انقر لتغيير أذونات الموقع الإلكتروني</translation>
 <translation id="1741190788710022490">ميزة "الشحن التكيُّفي"</translation>
 <translation id="174123615272205933">مخصَّص</translation>
 <translation id="1741314857973421784">متابعة</translation>
@@ -944,7 +950,7 @@
 <translation id="1792619191750875668">شاشة تم توسيعها</translation>
 <translation id="1794051631868188691">عدم عرض <ph name="MERCHANT" /> مرة أخرى</translation>
 <translation id="1794212650797661990">إخفاء كلمة المرور لـ <ph name="DOMAIN" /></translation>
-<translation id="1794791083288629568">يمكنك إرسال تعليقات لمساعدتنا في إصلاح هذه المشكلة.</translation>
+<translation id="1794791083288629568">يمكنك إرسال ملاحظات لمساعدتنا في إصلاح هذه المشكلة.</translation>
 <translation id="1795214765651529549">استخدام المظهر الكلاسيكي</translation>
 <translation id="1796588414813960292">لن تعمل الميزات التي تحتاج إلى استخدام الصوت.</translation>
 <translation id="1797117170091578105">‏يمكنك اللعب باستخدام لوحة مفاتيح Chromebook. ويمكنك تخصيص مفاتيح لتنفيذ إجراءات محدَّدة.</translation>
@@ -1068,6 +1074,7 @@
 <translation id="1885066963699478692">‏ملفات XML المُستخدَمة حاليًا لضبط السياسات</translation>
 <translation id="1885106732301550621">مساحة القرص الصلب</translation>
 <translation id="1886996562706621347">السماح للمواقع الإلكترونية بأن تطلب أن تصبح معالجات تلقائية للبروتوكولات (مستحسن)</translation>
+<translation id="1887210448491286312">إيقاف بث علامة التبويب على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="1887442540531652736">خطأ في تسجيل الدخول</translation>
 <translation id="1887597546629269384">‏يُرجى قول "Ok Google" مرة أخرى.</translation>
 <translation id="1889091146873278175">‏انقر على زر "G" للاطّلاع على المزيد من نتائج البحث في لوحة جانبية.</translation>
@@ -1094,6 +1101,7 @@
 <translation id="1910908536872421421">‏لا يتوفّر الإصدار ‎<ph name="BROWSER_VERSION" /> من متصفّح Chrome for Testing إلا لأغراض الاختبار المبرمَج. بالنسبة إلى التصفّح العادي، يمكنك استخدام إصدار عادي من Chrome يتم تحديثه تلقائيًا.</translation>
 <translation id="1915073950770830761">الكاناري</translation>
 <translation id="1915307458270490472">قطع الاتصال</translation>
+<translation id="1915613305720536742">ترجمة</translation>
 <translation id="1915734383465415025">رقم المتجر</translation>
 <translation id="1916260783734263714">علامة التبويب الحالية</translation>
 <translation id="1916502483199172559">الصورة الرمزية التلقائية الحمراء</translation>
@@ -1197,6 +1205,7 @@
 <translation id="2007404777272201486">الإبلاغ عن مشكلة...</translation>
 <translation id="2009590708342941694">أداة الرموز التعبيرية</translation>
 <translation id="2010501376126504057">الأجهزة المتوافقة</translation>
+<translation id="2012935757369720523">حذف الملف</translation>
 <translation id="2013550551806600826">لتجربة هذه الميزة بنفسك، فعِّل هذا الإعداد أو أوقِفه ثم مرِّر بإصبعين على لوحة اللمس في منطقة الاختبار. يمكنك أيضًا العثور على هذه الميزة لاحقًا في الإعدادات &gt; الجهاز &gt; الماوس ولوحة اللمس.</translation>
 <translation id="2015232545623037616">‏جهاز الكمبيوتر الشخصي وجهاز Chromecast متصلان بشبكة Wi-Fi واحدة</translation>
 <translation id="2016473077102413275">لن تعمل الميزات التي تحتاج إلى استخدام الصور.</translation>
@@ -1765,6 +1774,7 @@
 <translation id="2458379781610688953">تحديث الحساب، <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">الرمز المميَّز لإدارة الجهاز غير صالح</translation>
 <translation id="2459703812219683497">تم التعرّف على رمز التفعيل.</translation>
+<translation id="2459706890611560967">استئناف بث علامة التبويب على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="2460356425461033301">الاحتفاظ بنسخة احتياطية من بيانات المتصفِّح واستخدامها على أي جهاز</translation>
 <translation id="2462332841984057083">‏تجري الآن عملية إعداد تطبيق Steam. يُرجى الانتظار إلى أن تكتمل العملية.</translation>
 <translation id="2462724976360937186">معرّف مفتاح المرجع المصدق</translation>
@@ -2608,10 +2618,12 @@
 <translation id="3194786596445804250">عرض تفاصيل حظر ملفات تعريف الارتباط التابعة لجهات خارجية</translation>
 <translation id="3197453258332670132">يمكنك النقر بزر الماوس الأيمن أو الضغط مع الاستمرار لعرض المعلومات ذات الصلة بالنص الذي اختَرته.</translation>
 <translation id="3199127022143353223">الخوادم</translation>
+<translation id="3199637719075529971">علامة التبويب هذه متصلة بمنفذ تسلسلي.</translation>
 <translation id="3200061262156232574">المنتجات داخل سلّة التسوّق</translation>
 <translation id="3201237270673604992">من الياء إلى الألف</translation>
 <translation id="3201422919974259695">‏ستظهر أجهزة USB المتاحة هنا.</translation>
 <translation id="3202131003361292969">المسار</translation>
+<translation id="3202499879214571401">إيقاف بث محتوى الشاشة مؤقتًا على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3202578601642193415">الأحدث</translation>
 <translation id="3204648577100496185">قد تتم إزالة البيانات المرتبطة بهذا التطبيق من هذا الجهاز.</translation>
 <translation id="3207960819495026254">تمت إضافتها إلى الإشارات المرجعية.</translation>
@@ -3004,6 +3016,7 @@
 <translation id="3557101512409028104">‏ضبط الحدود القصوى المسموح بها للقيود على المواقع الإلكترونية ووقت النظر إلى الشاشة باستخدام Family Link</translation>
 <translation id="3557267430539505890">‏<ph name="BEGIN_PARAGRAPH1" />إنّ السماح لأجهزة ChromeOS بإرسال تقارير تلقائية إلينا يساعدنا في التركيز على ما يجب إصلاحه وتحسينه في ChromeOS. يمكن أن تتضمّن هذه التقارير بيانات، مثل أوقات تعطُّل ChromeOS والميزات التي تتوقّف نتيجة للأعطال وحجم الذاكرة المستخدَم عادةً عند حدوث تلك الأعطال.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />من خلال إعدادات جهاز ChromeOS المخصَّص لطفلك، يمكنك في أي وقت السماح بإرسال هذه التقارير أو إيقاف إرسالها. وإذا كنت مشرفًا لنطاق، يمكنك تغيير هذا الإعداد من وحدة تحكُّم المشرف.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">إيقاف بث محتوى الشاشة على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3559262020195162408">تعذَّر تثبيت السياسة على الجهاز.</translation>
 <translation id="3559533181353831840">يتبقى <ph name="TIME_LEFT" /> تقريبًا</translation>
 <translation id="3560034655160545939">&amp;التدقيق الإملائي</translation>
@@ -3087,7 +3100,7 @@
 <translation id="3630995161997703415">أضف الموقع الإلكتروني هذا إلى الرف لاستخدامه في أي وقت.</translation>
 <translation id="3634652306074934350">انتهت صلاحية طلب الإذن.</translation>
 <translation id="3635199270495525546">‏تم رصد وحدة نظام أساسي موثوق به (TPM)</translation>
-<translation id="3635353578505343390">‏إرسال تعليقات إلى Google</translation>
+<translation id="3635353578505343390">‏إرسال ملاحظات إلى Google</translation>
 <translation id="3635960017746711110">‏إعدادات USB المُفضَّلة في نظام التشغيل Crostini</translation>
 <translation id="3636766455281737684"><ph name="PERCENTAGE" />% - <ph name="TIME" /> وقت متبقٍ</translation>
 <translation id="3636940436873918441">اللغات المفضّلة</translation>
@@ -3170,6 +3183,7 @@
 <translation id="370415077757856453">‏تم حظر JavaScript</translation>
 <translation id="3704331259350077894">إيقاف العملية</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">استئناف بث محتوى الشاشة على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3706463572498736864">عدد الصفحات في كل جدول بيانات</translation>
 <translation id="370649949373421643">‏تفعيل Wi-Fi</translation>
 <translation id="370665806235115550">جارٍ التحميل...</translation>
@@ -3384,6 +3398,7 @@
 <translation id="3867134342671430205">يمكنك السحب أو استخدام مفاتيح الأسهم لتحريك الشاشة.</translation>
 <translation id="3867944738977021751">حقول الشهادة</translation>
 <translation id="3869917919960562512">فهرس خاطئ.</translation>
+<translation id="3870688298003434214">إلغاء اختيار "<ph name="BOOKMARK_TITLE" />"</translation>
 <translation id="3870931306085184145">ليست هناك أي كلمات مرور محفوظة لاسم النطاق <ph name="DOMAIN" /></translation>
 <translation id="3871350334636688135">بعد 24 ساعة، سيجري مشرفك تحديثًا لمرة واحدة سيؤدي إلى حذف بياناتك المحلية عند إعادة تشغيل جهازك. يمكنك حفظ أي بيانات محلية تحتاج إليها وتخزينها في السحابة الإلكترونية خلال 24 ساعة.</translation>
 <translation id="3872220884670338524">المزيد من الإجراءات؛ تم حفظ الحساب الذي يحمل اسم المستخدم <ph name="USERNAME" /> على النطاق <ph name="DOMAIN" /></translation>
@@ -3476,6 +3491,7 @@
 <translation id="3945513714196326460">جرِّب استخدام اسم أقصر.</translation>
 <translation id="3948027458879361203">تغيير اسم المضيف</translation>
 <translation id="3948116654032448504">&amp;بحث على <ph name="SEARCH_ENGINE" /> عن صورة</translation>
+<translation id="3948334586359655083">تشغّل علامة التبويب هذه محتوى صوتيًا.</translation>
 <translation id="3948507072814225786">بإمكان <ph name="ORIGIN" /> تعديل الملفات في المجلدات التالية:</translation>
 <translation id="394984172568887996">‏تمّ الاستيراد من IE</translation>
 <translation id="3950820424414687140">تسجيل الدخول</translation>
@@ -3534,6 +3550,7 @@
 <translation id="3987544746655539083">مواصلة حظر هذا الموقع الإلكتروني من الوصول إلى موقعك الجغرافي</translation>
 <translation id="3987938432087324095">عذرًا، لم يتم التعرف على ذلك.</translation>
 <translation id="3987993985790029246">نسخ الرابط</translation>
+<translation id="3988124842897276887">‏علامة التبويب هذه متصلة بجهاز USB.</translation>
 <translation id="3988488665753590964">يمكنك ضبط كيفية ظهور الألوان على الشاشة.</translation>
 <translation id="3988996860813292272">اختيار منطقة زمنية</translation>
 <translation id="399179161741278232">المستوردة</translation>
@@ -3682,6 +3699,7 @@
 <translation id="4130207949184424187">غيّرت هذه الإضافة الصفحة التي تظهر عند البحث في المربع متعدد الاستخدامات.</translation>
 <translation id="4130750466177569591">أوافق</translation>
 <translation id="413121957363593859">المكونات</translation>
+<translation id="4131283654370308898">السماح بالإضافة "<ph name="EXTENSION_NAME" />" على هذا الموقع الإلكتروني</translation>
 <translation id="4131410914670010031">أبيض وأسود</translation>
 <translation id="413193092008917129">سلسلة إجراءات بيانات تشخيص الشبكة</translation>
 <translation id="4132183752438206707">‏البحث عن تطبيقات على "متجر Google Play" وتنزيلها</translation>
@@ -4218,6 +4236,7 @@
 <translation id="4601426376352205922">وضع علامة "غير مقروءة"</translation>
 <translation id="460190672235687855">عرض كلمات المرور</translation>
 <translation id="4602466770786743961">إتاحة دخول <ph name="HOST" /> دومًا إلى الكاميرا والميكروفون التابعين لك</translation>
+<translation id="4602776638371779614">تبحث علامة التبويب هذه حاليًا عن أجهزة تتضمّن بلوتوث.</translation>
 <translation id="4606551464649945562">عدم السماح للمواقع الإلكترونية بإنشاء خريطة ثلاثية الأبعاد للبيئة المحيطة بك أو تتبُّع موضع الكاميرا</translation>
 <translation id="4608500690299898628">&amp;بحث...</translation>
 <translation id="4610162781778310380">حدث خطأ في <ph name="PLUGIN_NAME" />.</translation>
@@ -4400,6 +4419,7 @@
 <translation id="4770119228883592393">‏تم طلب الإذن، اضغط على ⌘ + Option + السهم المتجه للأسفل للاستجابة للطلب</translation>
 <translation id="4773112038801431077">‏ترقية نظام التشغيل Linux</translation>
 <translation id="4774456473286455263">‏إعداد الجهاز باستخدام هاتف Android</translation>
+<translation id="477548766361111120">السماح للإضافة بقراءة محتوى هذا الموقع الإلكتروني وتغييره</translation>
 <translation id="477647109558161443">إنشاء اختصار على سطح المكتب</translation>
 <translation id="4776594120007763294">لإضافة صفحة وقراءتها لاحقًا، انقر على الزر.</translation>
 <translation id="4777458362738635055">يمكن للمستخدمين الآخرين لهذا الجهاز استخدام هذه الشبكة.</translation>
@@ -5388,7 +5408,7 @@
 <translation id="5653154844073528838">يتوفّر لديك <ph name="PRINTER_COUNT" /> طابعة محفوظة.</translation>
 <translation id="565515993087783098">في حال حذف هذه الشبكة، ستتم أيضًا إزالة الاشتراك في "نقطة مرور" والشبكات المرتبطة بها.</translation>
 <translation id="5655296450510165335">تسجيل الجهاز</translation>
-<translation id="5656845498778518563">‏إرسال تعليقات إلى Google</translation>
+<translation id="5656845498778518563">‏إرسال ملاحظات إلى Google</translation>
 <translation id="5657156137487675418">السماح بملفّات تعريف الارتباط كلّها</translation>
 <translation id="5657667036353380798">‏تتطلب الإضافة الخارجية تثبيت chrome الإصدار <ph name="MINIMUM_CHROME_VERSION" /> أو أعلى.</translation>
 <translation id="5659593005791499971">البريد الإلكتروني</translation>
@@ -5654,6 +5674,7 @@
 <translation id="5889282057229379085">‏أقصى عدد من المراجع المصدقة المتوسطة (CA): <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">‏يمكنك استخدام <ph name="BEGIN_LINK" />عبارة مرور المزامنة<ph name="END_LINK" /> لتشفير البيانات التي تمت مزامنتها. ولن يتم تشفير طُرق الدفع والعناوين من Google Pay، أو مزامنة سجلّ التصفُّح من Chrome.</translation>
 <translation id="5891688036610113830">‏شبكات Wi-Fi المفضَّلة</translation>
+<translation id="5894056653502215961">إلغاء اختيار مجلد "<ph name="FOLDER_TITLE" />"</translation>
 <translation id="5895138241574237353">إعادة التشغيل</translation>
 <translation id="5895335062901455404">‏ستكون إعداداتك المفضّلة وبيانات نشاطك المحفوظة جاهزة على أي جهاز يعمل بنظام التشغيل ChromeOS Flex عند تسجيل الدخول باستخدام حسابك على Google. ويمكنك اختيار ما تريد مزامنته من خلال "الإعدادات".</translation>
 <translation id="589541317545606110">البحث في صفحة باستخدام "<ph name="VISUAL_SEARCH_PROVIDER" />"</translation>
@@ -5725,6 +5746,7 @@
 <translation id="5948476936444935795">إلغاء الاستيراد</translation>
 <translation id="5948536763493709626">يمكنك توصيل لوحة مفاتيح أو ماوس أو مواصلة عملية الإعداد باستخدام الشاشة التي تعمل باللمس. وإذا كنت تستخدم أجهزة تتضمّن بلوتوث، يجب أن تكون هذه الأجهزة جاهزة لعملية الإقران.</translation>
 <translation id="5949544233750246342">تعذَّر تحليل الملف</translation>
+<translation id="5950762317146173294">قد يكون هذا الملف فيروسًا أو برنامجًا ضارًا.</translation>
 <translation id="5951303645598168883">يطلب الموقع الإلكتروني <ph name="ORIGIN" /> استخدام الخطوط المحلية.</translation>
 <translation id="5951624318208955736">إعدادات الشاشة</translation>
 <translation id="595262438437661818">ما مِن إضافات تحتاج إلى إذن وصول إلى هذا الموقع الإلكتروني.</translation>
@@ -5809,6 +5831,7 @@
 <translation id="6022526133015258832">فتح في وضع ملء الشاشة</translation>
 <translation id="6022659036123304283">‏اجعل Chrome متصفِّحك الدائم.</translation>
 <translation id="6023643151125006053">تم إقفال هذا الجهاز (الرقم التسلسلي: <ph name="SERIAL_NUMBER" />) من خلال مشرف <ph name="SAML_DOMAIN" />.</translation>
+<translation id="6024072172641380781">السماح بالإضافات على هذا الموقع الإلكتروني</translation>
 <translation id="6025215716629925253">تتبع التكديس</translation>
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - تم توصيل جهاز USB</translation>
 <translation id="6027945736510816438">هل كنت تقصد <ph name="WEBSITE" />؟</translation>
@@ -6092,6 +6115,7 @@
 <translation id="6268252012308737255">فتح باستخدام <ph name="APP" /></translation>
 <translation id="6270309713620950855">تذكير تلقائي بأنّ الصوت مكتوم</translation>
 <translation id="6270391203985052864">السماح للمواقع الإلكترونية بطلب إرسال إشعارات</translation>
+<translation id="6270486800167535228">تم تثبيت الإضافة. انقر للاطّلاع على المزيد من الخيارات.</translation>
 <translation id="6270770586500173387">إرسال <ph name="BEGIN_LINK1" />معلومات النظام والتطبيق<ph name="END_LINK1" />، و<ph name="BEGIN_LINK2" />المقاييس<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">بطاقة "رحلات البحث"</translation>
 <translation id="6271348838875430303">تم التراجع عن التصحيح</translation>
@@ -6172,6 +6196,7 @@
 <translation id="6344608411615208519">يتولّى أحد والدَيك <ph name="BEGIN_LINK" />إدارة متصفِّحك<ph name="END_LINK" />.</translation>
 <translation id="6345418402353744910">يطلب الخادم الوكيل <ph name="PROXY" /> اسم المستخدم وكلمة المرور الخاصَّين بك حتى يتمكّن المشرف من إعداد الشبكة.</translation>
 <translation id="6345878117466430440">وضع علامة "مقروءة"</translation>
+<translation id="6346952829206698721">لصق من الحافظة</translation>
 <translation id="6347010704471250799">عرض إشعار</translation>
 <translation id="634887995541211148">‏يتيح لك هذا الخيار إمكانية تشغيل حاوية Bruschetta على جهازك.</translation>
 <translation id="6349101878882523185">تثبيت "<ph name="APP_NAME" />"</translation>
@@ -6463,6 +6488,7 @@
 <translation id="6596325263575161958">خيارات التشفير</translation>
 <translation id="6596816719288285829">‏عنوان IP</translation>
 <translation id="6597017209724497268">نماذج</translation>
+<translation id="6597324406048772521">الإضافات غير مسموح بها على هذا الموقع الإلكتروني.</translation>
 <translation id="6597331566371766302">حظر المشرف الإضافات التالية:</translation>
 <translation id="659894938503552850">الإشارات المرجعية الأحدث</translation>
 <translation id="6601262427770154296">إدارة قواميس المستخدم</translation>
@@ -6480,6 +6506,7 @@
 <translation id="6609478180749378879">سيتم حفظ بيانات تسجيل الدخول على هذا الجهاز بعد الخروج من "وضع التصفُّح المتخفي". وستتمكّن من تسجيل الدخول إلى هذا الموقع الإلكتروني باستخدام جهازك مرة أخرى لاحقًا.</translation>
 <translation id="6610002944194042868">خيارات الترجمة</translation>
 <translation id="6611972847767394631">ستجد علامات التبويب هنا</translation>
+<translation id="6613267708691765962">جارٍ البحث عن برامج ضارة…</translation>
 <translation id="6613668613087513143">‏المساحة على هذا الجهاز غير كافية لإكمال عملية التحديث. يُرجى توفير مساحة بمقدار <ph name="NECESSARY_SPACE" /> على جهازك وإعادة المحاولة من خلال متصفّح Chrome.</translation>
 <translation id="6615455863669487791">عرض</translation>
 <translation id="6618097958368085618">الاحتفاظ به على أيّ حال</translation>
@@ -6727,6 +6754,7 @@
 <translation id="6825184156888454064">تصنيف بحسب الاسم</translation>
 <translation id="6826872289184051766">‏التحقُّق عبر USB</translation>
 <translation id="6827121912381363404">السماح لجميع الإضافات بقراءة اسم الموقع الإلكتروني <ph name="PERMITTED_SITE" /> وتغييره</translation>
+<translation id="6827422464708099620">انقر للاطّلاع على المزيد من الخيارات.</translation>
 <translation id="6827517233063803343">‏ستتم مزامنة التطبيقات والإعدادات على جميع الأجهزة التي تعمل بنظام التشغيل Chrome والتي سجّلت الدخول إليها باستخدام حسابك على Google. للوصول إلى خيارات مزامنة المتصفّح، انتقِل إلى <ph name="LINK_BEGIN" />إعدادات Chrome<ph name="LINK_END" />.</translation>
 <translation id="6827767090350758381">‏لن تُفتَح الإصدارات القديمة من تطبيقات Chrome على الأجهزة التي تعمل بنظام التشغيل Windows بعد كانون الأول (ديسمبر) 2022. يمكنك التواصل مع المشرف للتحديث إلى إصدار جديد من هذا التطبيق أو إزالته.</translation>
 <translation id="6828153365543658583">قصر تسجيل الدخول على المستخدمين التالين:</translation>
@@ -6790,6 +6818,7 @@
 <translation id="6868934826811377550">عرض التفاصيل</translation>
 <translation id="6871644448911473373">‏مستجيب OCSP: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">رفض الخادم كلمة المرور التي أدخلتَها.</translation>
+<translation id="6873571253135628430">تغيير أذونات الموقع الإلكتروني</translation>
 <translation id="6876155724392614295">دراجة</translation>
 <translation id="6876469544038980967">غير مفيد</translation>
 <translation id="6878422606530379992">استخدام أجهزة الاستشعار مسموح به</translation>
@@ -7049,6 +7078,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{إزالة التطبيق}zero{إزالة التطبيقات}two{إزالة التطبيقَين}few{إزالة التطبيقات}many{إزالة التطبيقات}other{إزالة التطبيقات}}</translation>
 <translation id="7099337801055912064">‏يتعذّر تحميل ملف PPD كبير الحجم. الحد الأقصى للحجم هو 250 كيلوبايت.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{ما مِن كلمات مرور محتمَل تعرّضها للاختراق}=1{كلمة مرور واحدة ({COUNT}) محتمَل تعرّضها للاختراق}two{كلمتا مرور ({COUNT}) محتمَل تعرّضهما للاختراق}few{{COUNT} كلمات مرور محتمَل تعرّضها للاختراق}many{{COUNT} كلمة مرور محتمَل تعرّضها للاختراق}other{{COUNT} كلمة مرور محتمَل تعرّضها للاختراق}}</translation>
+<translation id="710047887584828070">تجري حاليًا مشاركة محتوى علامة التبويب هذه.</translation>
 <translation id="7102832101143475489">انتهت مهلة الطلب</translation>
 <translation id="710640343305609397">فتح إعدادات الشبكة</translation>
 <translation id="7107609441453408294">تشغيل الصوت نفسه من خلال جميع مكبِّرات الصوت</translation>
@@ -7144,6 +7174,7 @@
 <translation id="719791532916917144">اختصار لوحة المفاتيح</translation>
 <translation id="7198503619164954386">يجب أن تستخدم جهازًا تديره مؤسسة.</translation>
 <translation id="7199158086730159431">الحصول على مساعدة</translation>
+<translation id="7199452998289813782">إيقاف البث مؤقتًا على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="7200083590239651963">اختيار إعداد</translation>
 <translation id="720110658997053098">تشغيل هذا الجهاز في وضع الكشك دائمًا</translation>
 <translation id="7201118060536064622">تم حذف "<ph name="DELETED_ITEM_NAME" />"</translation>
@@ -7190,6 +7221,7 @@
 <translation id="7241389281993241388">يُرجى تسجيل الدخول إلى <ph name="TOKEN_NAME" /> لاستيراد شهادة العميل.</translation>
 <translation id="7241763419756062043">اختيار جودة البحث والتصفّح</translation>
 <translation id="7243632151880336635">المحو والخروج</translation>
+<translation id="7245162963905242662">‏البحث في هذه الصفحة باستخدام Google…</translation>
 <translation id="7245628041916450754">‏<ph name="WIDTH" /> x <ph name="HEIGHT" /> (الأفضل)</translation>
 <translation id="7246230585855757313">أعِد إدخال مفتاح الأمان وحاول مجددًا</translation>
 <translation id="724835896049478274">‏الحسابات المتاحة لتطبيقات Android</translation>
@@ -7491,8 +7523,10 @@
 <translation id="7497981768003291373">‏ليست لديك أي سجلَّات نصية WebRTC تم التقاطها مؤخرًا.</translation>
 <translation id="7501957181231305652">أو</translation>
 <translation id="7502220299952823578">الإضافة إلى قائمة "إبقاء المواقع الإلكترونية التالية نشطة طوال الوقت"</translation>
+<translation id="7502528909759062987">إيقاف بث علامة التبويب مؤقتًا على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="7503191893372251637">‏نوع شهادات Netscape</translation>
 <translation id="7503985202154027481">سيتم حفظ سجلّ زيارتك لهذا الموقع الإلكتروني في مفتاح الأمان.</translation>
+<translation id="7504145862399276792">تم كتم صوت علامة التبويب هذه.</translation>
 <translation id="750509436279396091">فتح مجلد "المحتوى الذي تم تنزيله"</translation>
 <translation id="7505149250476994901">قُل "حرف كبير" قبل كتابة الحرف</translation>
 <translation id="7505717542095249632">إخفاء <ph name="MERCHANT" /></translation>
@@ -7731,6 +7765,7 @@
 <translation id="7701040980221191251">لا يوجد</translation>
 <translation id="7701265686005869308">إغلاق الملف الشخصي</translation>
 <translation id="7701869757853594372">معالجات المستخدم</translation>
+<translation id="7702463352133825032">إيقاف البث على "<ph name="DEVICE_NAME" />"</translation>
 <translation id="7702574632857388784">إزالة الملف <ph name="FILE_NAME" /> من القائمة</translation>
 <translation id="7702907602086592255">النطاق</translation>
 <translation id="7704305437604973648">المهمة</translation>
@@ -8132,7 +8167,7 @@
 <translation id="8037117027592400564">قراءة جميع النصوص المنطوقة باستخدام الكلام المركب</translation>
 <translation id="8037357227543935929">الطلب (تلقائي)</translation>
 <translation id="803771048473350947">ملف</translation>
-<translation id="8041089156583427627">إرسال تعليقات</translation>
+<translation id="8041089156583427627">إرسال ملاحظات</translation>
 <translation id="8041267120753677077">بث تطبيقات هاتفك</translation>
 <translation id="8042142357103597104">درجة تعتيم النص</translation>
 <translation id="8042331986490021244">‏يتم تشفير كلمات المرور على جهازك قبل حفظها في "مدير كلمات المرور" من Google.</translation>
@@ -8191,6 +8226,7 @@
 <translation id="8084114998886531721">كلمة مرور محفوظة</translation>
 <translation id="8084510406207562688">&amp;استعادة جميع علامات التبويب</translation>
 <translation id="8086015605808120405">جارٍ إعداد <ph name="PRINTER_NAME" /> ...</translation>
+<translation id="8086121155774250556">تشارك علامة التبويب هذه محتوى شاشتك.</translation>
 <translation id="8086442853986205778">إعداد <ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">‏يتعذَّر الاحتفاظ بنسخة احتياطية من تطبيقات وملفات نظام التشغيل Linux</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{هذا الملف مشفّر. يُرجى طلب فكّ تشفيره من المالك.}zero{بعض هذه الملفات مشفّرة. يُرجى طلب فكّ تشفيرها من المالك.}two{هذان الملفان مشفّران. يُرجى طلب فكّ تشفيرهما من المالك.}few{بعض هذه الملفات مشفّرة. يُرجى طلب فكّ تشفيرها من المالك.}many{بعض هذه الملفات مشفّرة. يُرجى طلب فكّ تشفيرها من المالك.}other{بعض هذه الملفات مشفّرة. يُرجى طلب فكّ تشفيرها من المالك.}}</translation>
@@ -8493,6 +8529,7 @@
 <translation id="8345848587667658367">يمكنك الآن الاطّلاع على أحدث الصور والوسائط والإشعارات والتطبيقات المتوفّرة على هاتفك</translation>
 <translation id="8347227221149377169">مهام الطباعة</translation>
 <translation id="834785183489258869">في وضع التصفُّح المتخفي، لا يمكن للمواقع الإلكترونية استخدام ملفات تعريف الارتباط للاطّلاع على نشاط التصفُّح على المواقع الإلكترونية المختلفة، بهدف تقديم إعلانات مخصّصة لك مثلاً. قد لا تعمل ميزات بعض المواقع الإلكترونية.</translation>
+<translation id="8349325309815489209">الإضافات مسموح بها على هذا الموقع الإلكتروني.</translation>
 <translation id="8349826889576450703">launcher</translation>
 <translation id="8350789879725387295">أدوات قلم الشاشة في لوحة الأدوات</translation>
 <translation id="8351316842353540018">عرض خيارات إمكانية الوصول دائمًا</translation>
@@ -8521,6 +8558,7 @@
 <translation id="8370294614544004647">السكون عند غلق الكمبيوتر المحمول</translation>
 <translation id="8371695176452482769">تحدث الآن</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{كتم صوت موقع إلكتروني واحد}zero{كتم صوت المواقع الإلكترونية}two{كتم صوت موقعيِّ الويب}few{كتم صوت المواقع الإلكترونية}many{كتم صوت المواقع الإلكترونية}other{كتم صوت المواقع الإلكترونية}}</translation>
+<translation id="8372441176515901959">رفض الطلب</translation>
 <translation id="8373652277231415614">‏مجلدات نظام التشغيل Crostini التي تمت مشاركتها</translation>
 <translation id="8374243500935816406">عدم السماح للمواقع الإلكترونية بإدارة النوافذ على جميع شاشات أجهزتك</translation>
 <translation id="8376137163494131156">‏يرجى إخبارنا بما يحدث في Google Cast</translation>
@@ -8879,6 +8917,7 @@
 <translation id="8687103160920393343">إلغاء تنزيل "<ph name="FILE_NAME" />"</translation>
 <translation id="8688672835843460752">متوفِّر</translation>
 <translation id="8690129572193755009">السماح للمواقع الإلكترونية بطلب معالجة البروتوكولات</translation>
+<translation id="869144235543261764">تشغِّل علامة التبويب هذه فيديو في وضع "نافذة ضمن النافذة".</translation>
 <translation id="8692107307702113268">عدد أحرف كلمة المرور يزيد عن 1,000 حرف.</translation>
 <translation id="8694596275649352090">قفل الجهاز عند دخوله وضع السكون أو عند إغلاق غطاء الجهاز</translation>
 <translation id="8695139659682234808">إضافة أدوات الرقابة الأبوية بعد الانتهاء من الإعداد</translation>
@@ -9114,6 +9153,7 @@
 <translation id="8877448029301136595">[الدليل الأصل]</translation>
 <translation id="8879284080359814990">إ&amp;ظهار كعلامة تبويب</translation>
 <translation id="8879921471468674457">تذكّر معلومات تسجيل الدخول</translation>
+<translation id="8880009256105053174">‏البحث في هذه الصفحة باستخدام Google…</translation>
 <translation id="8880054210564666174">تعذَّر تنزيل قائمة جهات الاتصال. يُرجى التحقُّق من الاتصال بالشبكة أو <ph name="LINK_BEGIN" />إعادة المحاولة<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">يُرجى إعادة المحاولة. للحصول على الدعم الفني، يُرجى التواصل مع <ph name="CARRIER_NAME" />.</translation>
 <translation id="888256071122006425">إعدادات الماوس ولوحة اللمس</translation>
@@ -9377,6 +9417,7 @@
 <translation id="9102864637938129124">يمكن للمواقع الإلكترونية والمعلنين الاطّلاع على أداء إعلاناتهم. هذا الإعداد مفعَّل.</translation>
 <translation id="9103479157856427471">الشاشة التي يتم تكبيرها تتبع تركيز لوحة المفاتيح.</translation>
 <translation id="9103868373786083162">اضغط للرجوع، وقائمة السياقات لمشاهدة السجلّ.</translation>
+<translation id="9107096627210171112">ترجمة…</translation>
 <translation id="9108035152087032312">‏تسمية &amp;window...</translation>
 <translation id="9108072915170399168">إعداد استخدام البيانات الحالي هو "بدون إنترنت"</translation>
 <translation id="9108294543511800041">يمكنك الآن الاطّلاع على أحدث الصور والوسائط والإشعارات المتوفّرة على هاتفك</translation>
@@ -9528,11 +9569,12 @@
 <translation id="939736085109172342">مجلد جديد</translation>
 <translation id="940212040923880623">بحث وتعديل</translation>
 <translation id="942532530371314860">‏يشارك <ph name="APP_NAME" /> علامة تبويب متصفح Chrome والصوت.</translation>
-<translation id="945522503751344254">إرسال تعليقات</translation>
+<translation id="945522503751344254">إرسال ملاحظات</translation>
 <translation id="947156494302904893">يمكن للمواقع الإلكترونية التي تزورها التأكّد من أنّك مستخدِم حقيقي ولست برنامج تتبُّع.</translation>
 <translation id="947329552760389097">وعناصر الفحص</translation>
 <translation id="947526284350604411">إجابتك</translation>
 <translation id="947667444780368238">يتعذّر على <ph name="ORIGIN" /> فتح الملفات في هذا المجلّد لأنّه يحتوي على ملفات النظام.</translation>
+<translation id="949807244219288032">‏علامة التبويب هذه متصلة بجهاز HID.</translation>
 <translation id="950307215746360464">دليل عملية الإعداد</translation>
 <translation id="951991426597076286">رفض</translation>
 <translation id="952471655966876828">سيتصل الجهاز بالبلوتوث تلقائيًا عند تشغيله أو استخدامه.</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index ecb41788..98948f4 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">বাতিল কৰা হ’ল</translation>
 <translation id="1022489261739821355">আপোনাৰ <ph name="BEGIN_LINK" /> Google একাউণ্ট<ph name="END_LINK" />ৰ পৰা পাছৱৰ্ডসমূহ দেখুওৱা হৈছে</translation>
 <translation id="1022669824195822609">আপোনাৰ ডিভাইচটো <ph name="DOMAIN" />এ পৰিচালনা কৰে। প্ৰশাসকে এই ডিভাইচটোত থকা যিকোনো প্ৰ’ফাইলত ডেটা এক্সেছ কৰিব পাৰে।</translation>
+<translation id="1024734233509995696">এই টেবটোৱে আপোনাৰ কেমেৰা অথবা মাইক্ৰ’ফ’ন ব্যৱহাৰ কৰি আছে</translation>
 <translation id="1026655690966755180">প’ৰ্ট যোগ কৰক</translation>
 <translation id="1026822031284433028">প্ৰতিচ্ছবি ল’ড কৰক</translation>
 <translation id="1026959648338730078">Windows Hello অথবা বাহ্যিক সুৰক্ষা সম্পৰ্কীয় চাবি</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">আপোনাৰ ফ’নটোৰ সৈতে সংযোগ কৰি থকা হৈছে</translation>
 <translation id="1158080958325422608">বৰফলা কৰক</translation>
 <translation id="1158238185437008462">স্মৃতিসমূহ চাওক</translation>
+<translation id="1159879754517035595">এক্সটেনশ্বনৰ ছেটিং পৰিচালনা কৰক</translation>
 <translation id="1160842321113409343">আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰিবলৈ, আমি ৪ সপ্তাহতকৈ পুৰণি হোৱা ছাইটসমূহ সূচীখনৰ পৰা স্বয়ংক্ৰিয়ভাৱে মচোঁ। আপুনি পুনৰ চোৱা কোনো ছাইট সূচীখনত পুনৰ প্ৰদৰ্শিত হ’ব পাৰে। অথবা আপুনি কোনো ছাইটে আপোনাৰ আগ্ৰহ আৰু কেতিয়াও সংজ্ঞাবদ্ধ কৰাটো নিবিচাৰিলে সেই ছাইটটো আঁতৰাব পাৰে।</translation>
 <translation id="1161575384898972166">ক্লায়েণ্টৰ প্ৰমাণপত্ৰখন ৰপ্তানি কৰিবলৈ অনুগ্ৰহ কৰি <ph name="TOKEN_NAME" />ত ছাইন ইন কৰক।</translation>
 <translation id="116173250649946226">আপোনাৰ প্ৰশাসকে এটা ডিফ’ল্ট থীম ছেট কৰিছে যিটো সলনি কৰিব নোৱাৰি।</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" />ত সংবেদনশীল অথবা বিপজ্জনক ডেটা আছে। আপোনাৰ প্ৰশাসকে কৈছে "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" />এ এটা HID ডিভাইচৰ সৈতে সংযুক্ত হ'ব বিচাৰে</translation>
 <translation id="1172750555846831341">চুটি প্রান্তত লুটিয়াওক</translation>
+<translation id="1173036203040243666">এই টেবটো এটা ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ কৰা হৈছে</translation>
 <translation id="1173332155861271669">পাছপইণ্ট প্ৰদানকাৰীৰ সবিশেষ</translation>
 <translation id="1173894706177603556">নতুন নাম দিয়ক</translation>
 <translation id="1174073918202301297">শ্বর্টকাট যোগ কৰা হ’ল</translation>
@@ -317,6 +320,7 @@
 <translation id="1252987234827889034">প্ৰ’ফাইলত আসোঁৱাহ হৈছে</translation>
 <translation id="1253664522045778676">এটা ফলাফলত ক্লিক কৰক আৰু পৃষ্ঠাখন আপোনাৰ বৰ্তমানৰ টেবটোত খোল খাব</translation>
 <translation id="1254593899333212300">পোনপটীয়া ইণ্টাৰনেট সংযোগ</translation>
+<translation id="1256588359404100567">আপোনাৰ আগৰ ডিভাইচটোৰ পৰা ছিংক কৰা ছেটিং।</translation>
 <translation id="1257336506558170607">বাছনি কৰা প্ৰমাণপত্ৰ ৰপ্তানি কৰক</translation>
 <translation id="1258491128795710625">নতুন কি আছে</translation>
 <translation id="1259152067760398571">কালি সুৰক্ষা পৰীক্ষা চলোৱা হৈছে</translation>
@@ -528,6 +532,7 @@
 <translation id="1448779317883494811">ব্ৰাশ্বৰ সঁজুলি</translation>
 <translation id="1449191289887455076">আবণ্টন নিশ্চিত কৰিবলৈ পুনৰ “<ph name="CURRENTKEY" />” টিপক আৰু <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">ৱেবপৃষ্ঠা, একক ফাইল</translation>
+<translation id="145280054552001290">কেপশ্বনৰ বাবে ভাষা যোগ দিয়ক আৰু আঁতৰাওক</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />
     ডিবাগ লগ<ph name="END_LINK" /> পঠিয়াওক (চুপাৰিছ কৰা)</translation>
 <translation id="1454223536435069390">স্ক্ৰীনশ্বট ল&amp;ওক</translation>
@@ -658,6 +663,7 @@
 <translation id="1556537182262721003">এক্সটেনশ্বন ডাইৰেক্টৰী প্ৰ’ফাইললৈ আঁতৰাব পৰা নগ’ল।</translation>
 <translation id="1558391695376153246">ইনক’গনিট’ টেবসমূহ বন্ধ কৰক</translation>
 <translation id="155865706765934889">টাচ্চ্‌পেড</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" />লৈ কাষ্ট কৰাটো পুনৰ আৰম্ভ কৰক</translation>
 <translation id="1562119309884184621">এই সম্পৰ্কটো যোগ দিলে পৰৱৰ্তী সময়ত সেইটোৱে শ্বেয়াৰ কৰিলে মনত ৰাখিব</translation>
 <translation id="1563137369682381456">ম্যাদ উকলাৰ তাৰিখ</translation>
 <translation id="1563702743503072935">আপুনি ছাইন ইন হৈ থাকোঁতে আপোনাৰ Google একাউণ্টৰ পাছৱৰ্ডসমূহো এই ডিভাইচটোত উপলব্ধ হ’ব</translation>
@@ -789,6 +795,7 @@
 <translation id="1648528859488547844">অৱস্থান নির্ধাৰণ কৰিবলৈ ৱাই-ফাই বা ম’বাইল নেটৱর্কসমূহ ব্যৱহাৰ কৰক</translation>
 <translation id="164936512206786300">ব্লুটুথ ডিভাইচ আনপেয়াৰ কৰক</translation>
 <translation id="1651008383952180276">আপুনি একেটা পাছফ্ৰেজ দুবাৰ দিবই লাগিব</translation>
+<translation id="1651609627703324721">এই টেবটোৱে কোনো হেডছেটত VR সমল উপস্থাপন কৰি আছে</translation>
 <translation id="1652326691684645429">Nearby Share সুবিধাটো সক্ষম কৰক</translation>
 <translation id="1654580009054503925">অনুৰোধ দেখুৱাবলৈ অনুমতি নাই</translation>
 <translation id="1656528038316521561">নেপথ্যৰ অস্বচ্ছতা</translation>
@@ -888,6 +895,7 @@
 <translation id="173522743738009831">প্ৰাইভেচি ছেণ্ডবক্সৰ বিষয়ে</translation>
 <translation id="173628468822554835">বুজি পালোঁ। আপুনি চোৱা নতুন ছাইটসমূহে ডিফ’ল্ট হিচাপে আপোনালৈ জাননীসমূহ নপঠিয়াব।</translation>
 <translation id="1737968601308870607">বাগ ফাইল কৰক</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />। ছাইটৰ অনুমতি সলনি কৰিবলৈ বাছনি কৰক</translation>
 <translation id="1741190788710022490">অভিযোজিত চাৰ্জিং</translation>
 <translation id="174123615272205933">কাষ্টম</translation>
 <translation id="1741314857973421784">অব্যাহত ৰাখক</translation>
@@ -1003,6 +1011,7 @@
 <translation id="18260074040409954">আপুনি ছেভ হৈ থকা পাছৱৰ্ড যিকোনো ডিভাইচত ব্যৱহাৰ কৰিব পাৰে। সেইবোৰ <ph name="EMAIL" />ত <ph name="GOOGLE_PASSWORD_MANAGER" /> ছেভ কৰা হয়।</translation>
 <translation id="1826192255355608658">আপোনাৰ Chrome ব্ৰাউজাৰৰ বুকমাৰ্ক, পাছৱৰ্ড, ইতিহাস আৰু বহুতো বস্তু ছিংক কৰক</translation>
 <translation id="1826516787628120939">পৰীক্ষা কৰি থকা হৈছে</translation>
+<translation id="1826657447823925402">ওলোটাকৈ স্ক্ৰ’ল কৰাৰ সুবিধাটো অক্ষম কৰা হৈছে</translation>
 <translation id="1827504459960247692">হটস্পটৰ নাম</translation>
 <translation id="1828378091493947763">এই প্লাগইনটো এই ডিভাইচটোত সমৰ্থিত নহয়</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{সকলো &amp;খোলক}=1{বুকমাৰ্ক &amp;খোলক}one{সকলো ({COUNT} টা) &amp;খোলক}other{সকলো ({COUNT} টা) &amp;খোলক}}</translation>
@@ -1080,6 +1089,7 @@
 <translation id="1885066963699478692">নীতি ছেট কৰিবলৈ ব্যৱহাৰ কৰা XML ফাইল।</translation>
 <translation id="1885106732301550621">ডিস্কৰ ঠাই</translation>
 <translation id="1886996562706621347">প্ৰ’ট’ক’লৰ বাবে ছাইটসমূহক ডিফ’ল্ট হেণ্ডলাৰ হ’বলৈ অনুমতি বিচাৰিবলৈ দিয়ক (চুপাৰিছ কৰা)</translation>
+<translation id="1887210448491286312"><ph name="DEVICE_NAME" />ত টেব কাষ্ট কৰাটো বন্ধ কৰক</translation>
 <translation id="1887442540531652736">ছাইন-ইন সম্পর্কীয় আসোঁৱাহ</translation>
 <translation id="1887597546629269384">পুনৰ "Hey Google" বুলি কওক</translation>
 <translation id="1889091146873278175">এটা ছাইডৰ পেনেলত অধিক সন্ধানৰ ফলাফল চাবলৈ "G" বুটামটোত ক্লিক কৰক</translation>
@@ -1106,6 +1116,7 @@
 <translation id="1910908536872421421">Chrome for Testing স<ph name="BROWSER_VERSION" /> হৈছে কেৱল স্বয়ংক্ৰিয় পৰীক্ষণৰ বাবে। নিয়মীয়া ব্ৰাউজিঙৰ বাবে, Chromeৰ এটা মানক সংস্কৰণ ব্যৱহাৰ কৰক, যিটোৱে স্বয়ংক্ৰিয়ভাৱে আপডে’ট কৰে।</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">কল শেষ কৰক</translation>
+<translation id="1915613305720536742">অনুবাদ কৰক</translation>
 <translation id="1915734383465415025">দোকানৰ নম্বৰ</translation>
 <translation id="1916260783734263714">বৰ্তমান টেব</translation>
 <translation id="1916502483199172559">ডিফ’ল্ট ৰঙা অৱতাৰ</translation>
@@ -1210,6 +1221,7 @@
 <translation id="2007404777272201486">কোনো সমস্যাৰ অভিযোগ দিয়ক...</translation>
 <translation id="2009590708342941694">ইম’জিৰ সঁজুলি</translation>
 <translation id="2010501376126504057">সমিল ডিভাইচসমূহ</translation>
+<translation id="2012935757369720523">ফাইল মচক</translation>
 <translation id="2013550551806600826">এইটো ব্যৱহাৰ কৰি চাওক। ছেটিং অন অথবা অফ কৰক, তাৰ পাছত পৰীক্ষণৰ এলেকাত আপোনাৰ টাচ্চপেডত দুটা আঙুলিৰে স্ক্ৰ’ল কৰক। আপুনি পাছত এইটো ছেটিং &gt; ডিভাইচ &gt; মাউছ আৰু টাচ্চপেডত বিচাৰি পাব পাৰে।</translation>
 <translation id="2015232545623037616">PC আৰু Chromecast দুয়োটা একেটা ৱাই-ফাই নেটৱৰ্কত আছে</translation>
 <translation id="2016473077102413275">প্ৰতিচ্ছবি আৱশ্যক হোৱা সুবিধাসমূহে কাম নকৰিব</translation>
@@ -1291,6 +1303,7 @@
 <translation id="2081816110395725788">বেটাৰী ব্যৱহাৰ কৰি থকাৰ সময়ত পাৱাৰ ব্যৱহাৰ নকৰাকৈ ৰাখক</translation>
 <translation id="2082187087049518845">টেবৰ গোট বনাওক</translation>
 <translation id="2082510809738716738">এটা থীমৰ ৰং বাছনি কৰক</translation>
+<translation id="2084891381052978619">আপুনি Chromebook ছেট আপ কৰি সম্পূৰ্ণ কৰাৰ পাছত ছেটিঙতো এই বিকল্পসমূহ পাব পাৰে</translation>
 <translation id="208586643495776849">অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক</translation>
 <translation id="208634871997892083">সদায় অন থকা ভিপিএন</translation>
 <translation id="2087822576218954668">প্ৰিণ্ট কৰক: <ph name="PRINT_NAME" /></translation>
@@ -1360,6 +1373,7 @@
 <translation id="212862741129535676">সঘনতাৰ স্থিতি দখলৰ শতকৰা হাৰ</translation>
 <translation id="212876957201860463">আপোনাৰ চেলুলাৰ ডিভাইচ ছেট আপ কৰিবলৈ প্ৰস্তুত কৰি থকা হৈছে...</translation>
 <translation id="2131077480075264">"<ph name="IMPORT_NAME" />"এ অনুমতি প্ৰদান নকৰাৰ বাবে "<ph name="APP_NAME" />" ইনষ্টল কৰিব পৰা নগ’ল</translation>
+<translation id="2133775869826239001">ছেট আপ কৰিবলৈ অধিক সুবিধা বাছনি কৰক</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> পুনৰ চেষ্টা কৰক</translation>
 <translation id="2134905185275441536">ছিষ্টেম CAs</translation>
 <translation id="21354425047973905">পিনসমূহ লুকুৱাওক</translation>
@@ -1454,6 +1468,7 @@
 <translation id="2204020417499639567">ইমেইল ঠিকনাটো পূৰ কৰা হৈছে।</translation>
 <translation id="2204034823255629767">আপুনি টাইপ কৰা যিকোনো সমল পঢ়ক আৰু সলনি কৰক</translation>
 <translation id="2204387456724731099">এই পৃষ্ঠাখন অনুবাদ কৰিব পৰা নগ’ল</translation>
+<translation id="2207116775853792104">এই এক্সটেনশ্বনটো ৰাখক</translation>
 <translation id="2210462644007531147">ইনষ্টলেশ্বন সম্পূৰ্ণ কৰিব পৰা নগ’ল</translation>
 <translation id="2211245494465528624">ছিংক কৰাৰ বিকল্পসমূহ পৰিচালনা কৰক</translation>
 <translation id="2212565012507486665">কুকিসমূহক অনুমতি দিয়ক</translation>
@@ -1781,6 +1796,7 @@
 <translation id="2458379781610688953">একাউণ্ট আপডে'ট কৰক, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">ডিভাইচ পৰিচালনাৰ ট'কেনটো অমান্য।</translation>
 <translation id="2459703812219683497">সক্ৰিয়কৰণ ক’ড চিনাক্ত কৰা হৈছে</translation>
+<translation id="2459706890611560967"><ph name="DEVICE_NAME" />লৈ টেব কাষ্ট কৰাটো পুনৰ আৰম্ভ কৰক</translation>
 <translation id="2460356425461033301">আপোনাৰ ব্ৰাউজাৰৰ বস্তুবোৰৰ বেক আপ লওক আৰু সেইবোৰ যিকোনো ডিভাইচত ব্যৱহাৰ কৰক</translation>
 <translation id="2462332841984057083">ইতিমধ্যে Steamৰ ছেট আপ কৰি থকা হৈছে। ছেটআপ সম্পূৰ্ণ হোৱালৈকে অপেক্ষা কৰক।</translation>
 <translation id="2462724976360937186">প্ৰমাণপত্ৰ প্ৰদানকাৰী কৰ্তৃপক্ষৰ কী আইডি</translation>
@@ -2627,10 +2643,12 @@
 <translation id="3194786596445804250">তৃতীয় পক্ষৰ কুকি অৱৰোধ কৰাৰ বিষয়ে সবিশেষ দেখুৱাওক</translation>
 <translation id="3197453258332670132">এবাৰ ৰাইট-ক্লিক কৰি অথবা দীঘলীয়াকৈ টিপি, আপোনাৰ পৰৱৰ্তী পাঠৰ বাছনি সম্পৰ্কীয় তথ্য দেখুৱাওক</translation>
 <translation id="3199127022143353223">ছাৰ্ভাৰসমূহ</translation>
+<translation id="3199637719075529971">এই টেবটো এটা ছিৰিয়েল প’ৰ্টৰ সৈতে সংযোগ কৰা হৈছে</translation>
 <translation id="3200061262156232574">আপোনাৰ শ্বপিং কাৰ্টত</translation>
 <translation id="3201237270673604992">Zৰ পৰা Aলৈ</translation>
 <translation id="3201422919974259695">উপলব্ধ ইউএছবি ডিভাইচসমূহ ইয়াত দেখা পোৱা যাব।</translation>
 <translation id="3202131003361292969">পথ</translation>
+<translation id="3202499879214571401"><ph name="DEVICE_NAME" />লৈ স্ক্ৰীন কাষ্ট কৰাটো পজ কৰক</translation>
 <translation id="3202578601642193415">একেবাৰে নতুন</translation>
 <translation id="3204648577100496185">এই এপ্‌টোৰ সৈতে জড়িত ডেটা এই ডিভাইচটোৰ পৰা আঁতৰোৱা হ’ব পাৰে</translation>
 <translation id="3207960819495026254">বুকমার্ক কৰা হৈছে</translation>
@@ -2943,6 +2961,7 @@
 <translation id="347785443197175480"><ph name="HOST" />ক আপোনাৰ কেমেৰা আৰু মাইক্ৰ’ফ’ন এক্সেছ কৰি থাকিবলৈ দিয়ক</translation>
 <translation id="3479552764303398839">এতিয়া নহয়</translation>
 <translation id="3479685872808224578">প্ৰিণ্ট ছার্ভাৰটো চিনাক্ত কৰিব পৰা নগ’ল। অনুগ্ৰহ কৰি ঠিকনাটো পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক।</translation>
+<translation id="3479753605053415848">Chrome কাষ্টমাইজ কৰিবলৈ ক্লিক কৰক</translation>
 <translation id="3480612136143976912">লাইভ কেপশ্বনৰ বাবে কেপশ্বনৰ আকাৰ আৰু শৈলী কাষ্টমাইজ কৰক। কিছুমান এপ্ আৰু ছাইটেও এই ছেটিংটো ব্যৱহাৰ কৰিব পাৰে।</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> টা টেব বিচাৰি পোৱা গৈছে</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> ছেকেণ্ডত <ph name="ALTERNATIVE_BROWSER_NAME" />ত খোলা হ'ব</translation>
@@ -3025,6 +3044,7 @@
 <translation id="3557101512409028104">Family Linkৰ জৰিয়তে ৱেবছাইট সম্পর্কীয় প্ৰতিবন্ধকতা আৰু স্ক্ৰীন সক্ৰিয় হৈ থকাৰ সময় সীমা ছেট কৰক</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ChromeOS ডিভাইচক স্বয়ংক্ৰিয় ৰিপ’ৰ্ট পঠিওৱাৰ অনুমতি দিয়াটোৱে ChromeOSত কি সমস্যাৰ সমাধান কৰিব আৰু কি উন্নতি সাধিব লাগে তাত অগ্ৰাধিকাৰ দিয়াত আমাক সহায় কৰে। এই ৰিপ’ৰ্টসমূহত ChromeOS কেতিয়া ক্ৰেশ্ব হয়, কোনবোৰ সুবিধা ব্যৱহাৰ কৰা হৈছে আৰু সাধাৰণতে কিমান মেম’ৰী ব্যৱহাৰ কৰা হৈছে আদিৰ দৰে বস্তুবোৰ অন্তৰ্ভুক্ত হ’ব পাৰে।<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />আপুনি নিজৰ শিশুৰ ChromeOS ডিভাইচৰ ছেটিঙত যিকোনো সময়তে এই ৰিপ’ৰ্টসমূহৰ অনুমতি দিয়া আৰম্ভ অথবা বন্ধ কৰিব পাৰে। আপুনি যদি ড’মেইনৰ প্ৰশাসক, তেন্তে আপুনি প্ৰশাসকৰ কনছ’লত এই ছেটিংটো সলনি কৰিব পাৰে।<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653"><ph name="DEVICE_NAME" />লৈ স্ক্ৰীন কাষ্ট কৰা বন্ধ কৰক</translation>
 <translation id="3559262020195162408">ডিভাইচটোত নীতি ইনষ্টল কৰিব পৰা নগ'ল।</translation>
 <translation id="3559533181353831840">প্ৰায় <ph name="TIME_LEFT" /> বাকী আছে</translation>
 <translation id="3560034655160545939">&amp;বানান পৰীক্ষণ</translation>
@@ -3191,6 +3211,7 @@
 <translation id="370415077757856453">JavaScript অৱৰোধ কৰা হৈছে</translation>
 <translation id="3704331259350077894">কার্যৰ অন্ত</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544"><ph name="DEVICE_NAME" />লৈ স্ক্ৰীন কাষ্ট কৰাটো পুনৰ আৰম্ভ কৰক</translation>
 <translation id="3706463572498736864">প্ৰতি পৃষ্ঠাত থকা শ্বীট</translation>
 <translation id="370649949373421643">ৱাই-ফাই সক্ষম কৰক</translation>
 <translation id="370665806235115550">ল'ড হৈ আছে...</translation>
@@ -3236,6 +3257,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />ৰ ডেটা ২৪ ঘণ্টাৰ ভিতৰত মচি পেলোৱা হ’ব</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> খুলিবনে?</translation>
+<translation id="3740945083753997630">ডিছপ্লে’ আৰু পাঠৰ আকাৰ কমাওক</translation>
 <translation id="3741056951918180319">আপুনি যিকোনো ছাইটত এক্সটেনশ্বনটো ব্যৱহাৰ কৰিবলৈ যিকোনো সময়তে তাত ক্লিক কৰিব পাৰে</translation>
 <translation id="3742235229730461951">কোৰিয়ান কীব’ৰ্ডৰ লে’আউট</translation>
 <translation id="3742666961763734085">প্ৰতিষ্ঠানৰ সৈতে সংগতি থকা সেই নামটোৰ কোনো ইউনিট বিচাৰি পোৱা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।</translation>
@@ -3405,6 +3427,7 @@
 <translation id="3867134342671430205">কোনো ডিছপ্লে’ স্থানান্তৰ কৰিবলৈ টানক অথবা কাঁড়চিহ্নৰ কী ব্যৱহাৰ কৰক</translation>
 <translation id="3867944738977021751">প্ৰমাণপত্ৰৰ ক্ষেত্ৰ</translation>
 <translation id="3869917919960562512">ভুল সূচক।</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> বাছনিৰ পৰা আঁতৰাওক</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" />ৰ কাৰণে ছেভ কৰি থোৱা কোনো পাছৱৰ্ড নাই</translation>
 <translation id="3871350334636688135">২৪ ঘণ্টাৰ পাছত, আপুনি নিজৰ ডিভাইচ ৰিষ্টার্ট কৰিলে, আপোনাৰ প্ৰশাসকে এবাৰেই কৰিবলগীয়া আপডে'টটো কৰিব যিয়ে আপোনাৰ স্থানীয় ডেটা মচিব। আপুনি Cloud Storageত ৰাখিব খোজা যিকোনো ডেটা ২৪ ঘণ্টাৰ ভিতৰত ছেভ কৰক।</translation>
 <translation id="3872220884670338524"><ph name="DOMAIN" />ত <ph name="USERNAME" />ৰ অধিক কার্যকলাপ আৰু ছেভ কৰি থোৱা একাউণ্ট</translation>
@@ -3499,6 +3522,7 @@
 <translation id="3945513714196326460">এটা চুটি নাম দি চাওক</translation>
 <translation id="3948027458879361203">হ’ষ্টনাম সলনি কৰক</translation>
 <translation id="3948116654032448504"><ph name="SEARCH_ENGINE" />ত প্ৰতিচ্ছবিৰ &amp;সন্ধান কৰক</translation>
+<translation id="3948334586359655083">এই টেবটোৱে অডিঅ’ প্লে’ কৰি আছে</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" />এ তলৰ ফ’ল্ডাৰসমূহত থকা ফাইলসমূহ সম্পাদনা কৰিব পাৰে</translation>
 <translation id="394984172568887996">IEৰ পৰা আমদানি কৰা হৈছে</translation>
 <translation id="3950820424414687140">ছাইন ইন কৰক</translation>
@@ -3557,6 +3581,7 @@
 <translation id="3987544746655539083">এই ছাইটটোৱে আপোনাৰ অৱস্থান এক্সেছ কৰাটো অৱৰোধ কৰাটো অব্যাহত ৰাখক</translation>
 <translation id="3987938432087324095">দুঃখিত, এইটো চিনাক্ত কৰিব নোৱাৰিলে।</translation>
 <translation id="3987993985790029246">লিংক প্ৰতিলিপি কৰক</translation>
+<translation id="3988124842897276887">এই টেবটো এটা USB ডিভাইচৰ সৈতে সংযোগ কৰা হৈছে</translation>
 <translation id="3988488665753590964">আপোনাৰ স্ক্ৰীনত ৰংবোৰ কেনেদৰে প্ৰদৰ্শিত হয় সেয়া মিলাওক</translation>
 <translation id="3988996860813292272">সময় মণ্ডল বাছনি কৰক</translation>
 <translation id="399179161741278232">আমদানি কৰা</translation>
@@ -3613,6 +3638,7 @@
 <translation id="4044612648082411741">আপোনাৰ প্ৰমাণপত্ৰৰ পাছৱৰ্ডটো দিয়ক</translation>
 <translation id="4044708573046946214">স্ক্ৰীন লকৰ পাছৱৰ্ড</translation>
 <translation id="404493185430269859">সন্ধানৰ ডিফ’ল্ট ইঞ্জিন</translation>
+<translation id="4045196801416070837">ডিভাইচৰ ধ্বনি</translation>
 <translation id="4046013316139505482">এই এক্সটেনশ্বনসমূহে এই ছাইটটোত তথ্য চোৱা আৰু সলনি কৰাৰ আৱশ্যক নাই।</translation>
 <translation id="4046123991198612571">পৰৱৰ্তী ট্ৰেক</translation>
 <translation id="4047345532928475040">উপলব্ধ নহয়</translation>
@@ -3705,6 +3731,7 @@
 <translation id="4130207949184424187">এই এক্সটেনশ্বনে আপুনি Omniboxৰ পৰা সন্ধান কৰিলে দেখুওৱা পৃষ্ঠাটো সলনি কৰিছে।</translation>
 <translation id="4130750466177569591">মই সন্মত</translation>
 <translation id="413121957363593859">উপাদানসমূহ</translation>
+<translation id="4131283654370308898">এই ছাইটটোত <ph name="EXTENSION_NAME" />ৰ অনুমতি দিয়ক</translation>
 <translation id="4131410914670010031">ক’লা আৰু বগা</translation>
 <translation id="413193092008917129">নেটৱৰ্ক ডায়েগন’ষ্টিক ৰুটিনসমূহ</translation>
 <translation id="4132183752438206707">Google Play Storeত এপ্‌সমূহ বিচাৰক</translation>
@@ -4062,6 +4089,7 @@
 <translation id="4444512841222467874">যদি আপুনি ঠাই খালী নকৰে, ব্যৱহাৰকাৰী আৰু ডেটা হয়তো স্বয়ংক্ৰিয়ভাৱে আঁতৰোৱা হ’ব পাৰে।</translation>
 <translation id="4445446646109808714">অন্তিম ব্যৱহাৰকাৰীৰ অনুজ্ঞাপত্ৰৰ চুক্তি: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">প্ৰতিবিম্বকৰণ কৰা ডিছপ্লে’ৰ নাম</translation>
+<translation id="4448560527907365660">ছেভ কৰক আৰু অধিক চাওক</translation>
 <translation id="4448914100439890108"><ph name="USERNAME" />ৰ <ph name="DOMAIN" />ৰ পাছৱৰ্ড দেখুৱাওক</translation>
 <translation id="4449247303975391730">অনুমতি পৰিচালনা কৰক</translation>
 <translation id="4449948729197510913">আপোনাৰ ব্যৱহাৰকাৰী নামটোৰ গৰাকী হৈছে আপোনাৰ প্ৰতিষ্ঠানৰ এণ্টাৰপ্ৰাইজ একাউণ্টটো। ডিভাইচসমূহ একাউণ্টটোত পঞ্জীয়ন কৰিবলৈ, প্ৰথমতে প্রশাসকৰ কনছ’লত ড’মেইনৰ গৰাকীস্বত্ব সত্যাপন কৰক। সত্যাপন কৰিবলৈ আপোনাক একাউণ্টটোত প্ৰশাসকীয় বিশেষ সুবিধাসমূহৰ আৱশ্যক হ’ব।</translation>
@@ -4242,6 +4270,7 @@
 <translation id="4601426376352205922">নপঢ়া হিচাপে চিহ্নিত কৰক</translation>
 <translation id="460190672235687855">পাছৱৰ্ডসমূহ চাওক</translation>
 <translation id="4602466770786743961">আপোনাৰ কেমেৰা আৰু মাইক্ৰ’ফ’নলৈ সদায় <ph name="HOST" />ক এক্সেছ দিয়ক</translation>
+<translation id="4602776638371779614">এই টেবটোৱে সক্ৰিয়ভাৱে ব্লুটুথ ডিভাইচসমূহৰ বাবে স্কেন কৰি আছে</translation>
 <translation id="4606551464649945562">ছাইটসমূহক আপোনাৰ চৌপাশৰ এখন 3D মেপ সৃষ্টি কৰাৰ অথবা কেমেৰাৰ স্থান ট্ৰেক কৰাৰ অনুমতি নিদিব</translation>
 <translation id="4608500690299898628">&amp;বিচাৰক…</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" />এ কিবা আসোঁৱাহ পাইছে</translation>
@@ -4425,6 +4454,7 @@
 <translation id="4770119228883592393">অনুমতিৰ বাবে অনুৰোধ জনোৱা হৈছে, সঁহাৰি জনাবলৈ ⌘ + অপশ্বন + ডাউন এৰ’ত টিপক</translation>
 <translation id="4773112038801431077">Linux আপগ্ৰে’ড কৰক</translation>
 <translation id="4774456473286455263">আপোনাৰ Android ফ’নৰ জৰিয়তে ছেট আপ কৰক</translation>
+<translation id="477548766361111120">এক্সটেনশ্বনসমূহক এই ছাইটটো পঢ়িবলৈ আৰু ইয়াত সালসলনি কৰিবলৈ অনুমতি দিয়ক</translation>
 <translation id="477647109558161443">ডেস্কটপৰ শ্বৰ্টকাট সৃষ্টি কৰক</translation>
 <translation id="4776594120007763294">পাছত পঢ়িবৰ বাবে কোনো পৃষ্ঠা যোগ দিবলৈ বুটামটোত ক্লিক কৰক</translation>
 <translation id="4777458362738635055">এই ডিভাইচৰ অন্য ব্যৱহাৰকাৰীয়ে এইটো নেটৱৰ্ক ব্যৱহাৰ কৰিব পাৰে</translation>
@@ -5170,6 +5200,7 @@
 <translation id="5439680044267106777">বাদ দিয়ক আৰু নতুন প্ৰ'ফাইল ছেট আপ কৰক</translation>
 <translation id="544083962418256601">শ্বৰ্টকাট সৃষ্টি কৰক...</translation>
 <translation id="5441133529460183413">Chrome ব্ৰাউজাৰৰ পৰা ৱেব এপ্‌ ইনষ্টল কৰা হৈছে</translation>
+<translation id="5441292787273562014">পৃষ্ঠাখন পুনৰ ল’ড কৰক</translation>
 <translation id="5441466871879044658">এইটো ভাষালৈ অনুবাদ কৰক</translation>
 <translation id="5442228125690314719">ডিস্কৰ প্ৰতিচ্ছবি সৃষ্টি কৰাত আসোঁৱাহ হৈছে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।</translation>
 <translation id="5442550868130618860">স্বয়ংক্ৰিয় আপডে’ট অন কৰক</translation>
@@ -5215,7 +5246,9 @@
 <translation id="5481941284378890518">নিকটৱৰ্তী প্ৰিণ্টাৰ যোগ কৰক</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" />ৰ বাবে আপুনি নিজৰ ডেটাৰ বেক আপ লোৱাৰ আৰু এই <ph name="DEVICE_TYPE" />টো আজি উভতাই দিয়াৰ আৱশ্যক। <ph name="LINK_BEGIN" />সবিশেষ চাওক<ph name="LINK_END" />}one{<ph name="MANAGER" />ৰ বাবে আপুনি নিজৰ ডেটাৰ বেক আপ লোৱা আৰু {NUM_DAYS} দিনৰ ভিতৰত এই <ph name="DEVICE_TYPE" />টো ঘূৰাই দিয়াৰ আৱশ্যক। <ph name="LINK_BEGIN" />সবিশেষ চাওক<ph name="LINK_END" />}other{<ph name="MANAGER" />ৰ বাবে আপুনি নিজৰ ডেটাৰ বেক আপ লোৱা আৰু {NUM_DAYS} দিনৰ ভিতৰত এই <ph name="DEVICE_TYPE" />টো ঘূৰাই দিয়াৰ আৱশ্যক। <ph name="LINK_BEGIN" />সবিশেষ চাওক<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">এপ্ যোগ কৰক</translation>
+<translation id="5485435764083510385">অগ্ৰাধিকাৰপ্ৰাপ্ত কেপশ্বনৰ ভাষা</translation>
 <translation id="5485754497697573575">সকলো টেব পুনৰুদ্ধাৰ কৰক</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" />ৰ বাবে এটা নতুন অথবা বেলেগ ধৰণৰ ডিভাইচৰ আৱশ্যক হ’ব পাৰে</translation>
 <translation id="5486261815000869482">পাছৱৰ্ড নিশ্চিত কৰক</translation>
 <translation id="5486561344817861625">ছিমুলে’ট ব্ৰাউজাৰ ৰিষ্টাৰ্ট</translation>
 <translation id="5487460042548760727">প্ৰ'ফাইলটোৰ নাম <ph name="PROFILE_NAME" />লৈ সলনি কৰক</translation>
@@ -5570,6 +5603,7 @@
 <translation id="5799508265798272974">Linux ভাৰ্চুৱেল মেচিন: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">ডাউনল’ডৰ পাছত গন্তব্যস্থানৰ ফাইল চুটি কৰা বা আঁতৰোৱা হৈছে।</translation>
 <translation id="5800351251499368110">ছাইডৰ পেনেলত থকা সন্ধানৰ টুলবাৰ বন্ধ কৰক। ছাইডৰ পেনেলত সন্ধানৰ টুলবাৰ খোলা আছে।</translation>
+<translation id="5800703268655655701">পোহৰ অথবা গাঢ় ৰঙৰ থীম বাছনি কৰক</translation>
 <translation id="5801051031414037185">ফ’ন ছেট আপ কৰক</translation>
 <translation id="5801568494490449797">অগ্ৰাধিকাৰসমূহ</translation>
 <translation id="5803689677801500549">ছেভ কৰি থোৱা পাছৱৰ্ডসমূহ ইয়াত ওলাব। <ph name="USER_EMAIL" />ৰ বাবে <ph name="BRAND" />লৈ পাছৱৰ্ড আমদানি কৰিবলৈ, <ph name="BEGIN_LINK" />এটা CSV ফাইল বাছনি কৰক।<ph name="END_LINK" /></translation>
@@ -5685,6 +5719,7 @@
 <translation id="5889282057229379085">মধ্যৱৰ্তী CAৰ সর্বাধিক সংখ্যা: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">আপোনাৰ নিজৰ <ph name="BEGIN_LINK" />ছিংক কৰা পাছফ্ৰেজ<ph name="END_LINK" />ৰ সৈতে ছিংক কৰা ডেটা এনক্ৰিপ্ট কৰক। Google Payৰ পৰা পৰিশোধ পদ্ধতি আৰু ঠিকনা এনক্ৰিপ্ট কৰা নহ’ব। Chromeৰ পৰা ব্ৰাউজিঙৰ ইতিহাস ছিংক কৰা নহ’ব।</translation>
 <translation id="5891688036610113830">অগ্ৰাধিকাৰপ্ৰাপ্ত ৱাই-ফাই নেটৱৰ্কসমূহ</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> ফ’ল্ডাৰটো বাছনিৰ পৰা আঁতৰাওক</translation>
 <translation id="5895138241574237353">ৰিষ্টাৰ্ট কৰক</translation>
 <translation id="5895335062901455404">আপুনি আপোনাৰ Google একাউণ্টটোৰ জৰিয়তে ছাইন ইন কৰিলে আপুনি ছেভ কৰি থোৱা অগ্ৰাধিকাৰ আৰু কাৰ্যকলাপ যিকোনো ChromeOS Flex ডিভাইচত সাজু হ’ব। আপুনি কি ছিংক কৰিব লাগে সেয়া ছেটিঙত বাছনি কৰিব পাৰে।</translation>
 <translation id="589541317545606110"><ph name="VISUAL_SEARCH_PROVIDER" />জৰিয়তে পৃষ্ঠাখন সন্ধান কৰক</translation>
@@ -5756,6 +5791,7 @@
 <translation id="5948476936444935795">আমদানি বাতিল কৰক</translation>
 <translation id="5948536763493709626">এখন কীব’ৰ্ড অথবা এটা মাউছ সংযোগ কৰক অথবা আপোনাৰ টাচ্‌স্ক্ৰীন ব্যৱহাৰ কৰি ছেটআপ কৰাটো অব্যাহত ৰাখক। আপুনি যদি ব্লুটুথ ডিভাইচ ব্যৱহাৰ কৰি আছে, আপোনাৰ ডিভাইচসমূহ পেয়াৰ কৰিবলৈ সাজু হৈছে বুলি নিশ্চিত কৰক।</translation>
 <translation id="5949544233750246342">ফাইল পার্ছ কৰিব পৰা নগ’ল</translation>
+<translation id="5950762317146173294">এই ফাইলটো এটা ভাইৰাছ অথবা মালৱেৰ হ’ব পাৰে</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" />এ স্থানীয় ফ’ণ্ট ব্যৱহাৰ কৰিবলৈ বিচাৰিছে</translation>
 <translation id="5951624318208955736">মনিটৰ</translation>
 <translation id="595262438437661818">কোনো এক্সটেনশ্বনক এই ছাইটটোৰ এক্সেছ নালাগে</translation>
@@ -5840,6 +5876,7 @@
 <translation id="6022526133015258832">পূৰ্ণ স্ক্ৰীন হিচাপে খোলক</translation>
 <translation id="6022659036123304283">আপোনাৰ ডিভাইচত Chromeৰ ছেট আপ কৰক</translation>
 <translation id="6023643151125006053">এই ডিভাইচটো (SN: <ph name="SERIAL_NUMBER" />) <ph name="SAML_DOMAIN" /> প্ৰশাসকে লক কৰিছিল</translation>
+<translation id="6024072172641380781">এই ছাইটটোত এক্সটেনশ্বনসমূহৰ অনুমতি দিয়ক</translation>
 <translation id="6025215716629925253">ষ্টেক ট্ৰেচ</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ডিভাইচ সংযোগ কৰা হৈছে</translation>
 <translation id="6027945736510816438">আপুনি <ph name="WEBSITE" />ৰ কথা কৈছে নেকি?</translation>
@@ -6123,6 +6160,7 @@
 <translation id="6268252012308737255"><ph name="APP" />ৰ জৰিয়তে খোলক</translation>
 <translation id="6270309713620950855">নাজ মিউট কৰক</translation>
 <translation id="6270391203985052864">ছাইটসমূহে জাননী পঠিয়াবলৈ ক’ব পাৰে</translation>
+<translation id="6270486800167535228">এক্সটেনশ্বনটো পিন কৰা হৈছে। অধিক বিকল্প চাবলৈ বাছনি কৰক</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />ছিষ্টেম আৰু এপৰ তথ্য<ph name="END_LINK1" /> আৰু <ph name="BEGIN_LINK2" />মেট্ৰিক্স<ph name="END_LINK2" /> পঠিয়াওক</translation>
 <translation id="6270896861225278704">জাৰ্নী কাৰ্ড</translation>
 <translation id="6271348838875430303">শুধৰণি কৰা কাৰ্যটো আনডু কৰা হ’ল</translation>
@@ -6203,6 +6241,7 @@
 <translation id="6344608411615208519">আপোনাৰ অভিভাৱকে <ph name="BEGIN_LINK" />আপোনাৰ ব্ৰাউজাৰটো<ph name="END_LINK" /> পৰিচালনা কৰে</translation>
 <translation id="6345418402353744910">প্ৰশাসকগৰাকীয়ে আপোনাৰ নেটৱৰ্কটো কনফিগাৰ কৰিব পৰা হ'বলৈ প্ৰক্সিটোৰ <ph name="PROXY" /> বাবে আপোনাৰ ব্যৱহাৰকাৰীৰ নাম আৰু পাছৱৰ্ডৰ প্ৰয়োজন</translation>
 <translation id="6345878117466430440">পঢ়া হৈছে বুলি চিহ্নিত কৰক</translation>
+<translation id="6346952829206698721">ক্লিপব’ৰ্ডৰ পৰা পে’ষ্ট কৰক</translation>
 <translation id="6347010704471250799">জাননী দেখুৱাওক</translation>
 <translation id="634887995541211148">আপোনাৰ ডিভাইচত Bruschetta চলাওক।</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> ইনষ্টল কৰক</translation>
@@ -6490,6 +6529,7 @@
 <translation id="6596325263575161958">এনক্ৰিপশ্বনৰ বিকল্প</translation>
 <translation id="6596816719288285829">আইপি ঠিকনা</translation>
 <translation id="6597017209724497268">নমুনা</translation>
+<translation id="6597324406048772521">এই ছাইটটোত এক্সটেনশ্বনসমূহৰ অনুমতি দিয়া নহয়</translation>
 <translation id="6597331566371766302">আপোনাৰ প্ৰশাসকে তলত দিয়া এক্সটেনশ্বনসমূহ অৱৰোধ কৰিছে:</translation>
 <translation id="659894938503552850">আটাইতকৈ নতুন</translation>
 <translation id="6601262427770154296">ব্যৱহাৰকাৰীৰ অভিধানসমূহ পৰিচালনা কৰক</translation>
@@ -6507,6 +6547,7 @@
 <translation id="6609478180749378879">আপুনি ইনক’গনিট’ ম’ডৰ পৰা বাহিৰ ওলোৱাৰ পাছত এই ডিভাইচটোত ছাইন-ইনৰ ডেটা ষ্ট’ৰ কৰা হ’ব। আপুনি নিজৰ ডিভাইচটোৰ জৰিয়তে এই ৱেবছাইটটোত পাছত পুনৰ ছাইন ইন কৰিব পাৰিব।</translation>
 <translation id="6610002944194042868">অনুবাদৰ বিকল্প</translation>
 <translation id="6611972847767394631">ইয়াত আপোনাৰ টেবসমূহ বিচাৰক</translation>
+<translation id="6613267708691765962">মালৱেৰৰ বাবে স্কেন কৰি থকা হৈছে...</translation>
 <translation id="6613668613087513143">এই আপডে’টটো সম্পূৰ্ণ কৰিবলৈ এই ডিভাইচটোত পৰ্যাপ্ত খালী ঠাই নাই। আপোনাৰ ডিভাইচত <ph name="NECESSARY_SPACE" /> খালী কৰক আৰু আপোনাৰ Chrome ব্ৰাউজাৰৰ পৰা পুনৰ চেষ্টা কৰক।</translation>
 <translation id="6615455863669487791">মোক দেখুৱাওক</translation>
 <translation id="6618097958368085618">যি কি নহ’লেও ৰাখক</translation>
@@ -6755,6 +6796,7 @@
 <translation id="6825184156888454064">নাম অনুসৰি সজাওক</translation>
 <translation id="6826872289184051766">USBৰ মাধ্যমেৰে সত্যাপন কৰক</translation>
 <translation id="6827121912381363404">আটাইবোৰ এক্সটেনশ্বনক <ph name="PERMITTED_SITE" /> পঢ়িবলৈ আৰু সলনি কৰিবলৈ অনুমতি দিয়ক</translation>
+<translation id="6827422464708099620">অধিক বিকল্প চাবলৈ বাছনি কৰক</translation>
 <translation id="6827517233063803343">আপোনাৰ এপ্‌ আৰু ছেটিং আপুনি আপোনাৰ Google একাউণ্টেৰে ছাইন ইন কৰি থোৱা আটাইবোৰ ChromeOS ডিভাইচত ছিংক হ’ব। ব্ৰাউজাৰ ছিংক কৰাৰ বিকল্পসমূহৰ বাবে <ph name="LINK_BEGIN" />Chromeৰ ছেটিঙ<ph name="LINK_END" />লৈ যাওক।</translation>
 <translation id="6827767090350758381">২০২২ চনৰ ডিচেম্বৰৰ পাছত Windows ডিভাইচসমূহত Chrome এপৰ পুৰণি সংস্কৰণসমূহ খোল নাখাব। এটা নতুন সংস্কৰণলৈ আপডে’ট কৰিবলৈ অথবা এই এপ্‌টো আঁতৰাবলৈ আপোনাৰ প্ৰশাসকৰ সৈতে যোগাযোগ কৰক।</translation>
 <translation id="6828153365543658583">নিম্নোক্ত ব্যৱহাৰকাৰীসকলক ছাইন ইন কৰিব নিদিব:</translation>
@@ -6818,6 +6860,7 @@
 <translation id="6868934826811377550">সবিশেষ চাওক</translation>
 <translation id="6871644448911473373">OCSP সঁহাৰিদাতা: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">আপুনি দিয়া পাছৱর্ডটো ছার্ভাৰে অগ্ৰাহ্য কৰিছে।</translation>
+<translation id="6873571253135628430">ছাইটৰ অনুমতি সলনি কৰক</translation>
 <translation id="6876155724392614295">বাইক</translation>
 <translation id="6876469544038980967">সহায়ক নহয়</translation>
 <translation id="6878422606530379992">ছেন্সৰসমূহ ব্যৱহাৰ কৰিবলৈ অনুমতি দিয়া হৈছে</translation>
@@ -6958,6 +7001,7 @@
 <translation id="6993050154661569036">Chrome ব্ৰাউজাৰ আপডে’ট কৰি থকা হৈছে</translation>
 <translation id="6995899638241819463">ডেটা উলংঘনৰ ফলত পাছৱৰ্ডসমূহ ফাদিল হ’লে আপোনাক সকীয়নি দিয়ে</translation>
 <translation id="6995984090981858039">ChromeOS ডিভাইচৰ তথ্য আৰু ডেটা পঢ়া</translation>
+<translation id="6996438701394974959">ডিছপ্লে’ আৰু পাঠৰ আকাৰ বৃদ্ধি কৰক</translation>
 <translation id="6997553674029032185">ছাইটটোলৈ যাওক</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - কাৰ্যকলাপৰ লগ</translation>
 <translation id="6997707937646349884">আপোনাৰ ডিভাইচসমূহত:</translation>
@@ -7078,6 +7122,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{এপ্ আঁতৰাওক}one{এপ্‌সমূহ আঁতৰাওক}other{এপ্‌সমূহ আঁতৰাওক}}</translation>
 <translation id="7099337801055912064">ডাঙৰ PPD ল‘ড কৰিব পৰা নগ‘ল। সৰ্বোচ্চ আকাৰ ২৫০ কেবি</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{কোনো পাছৱৰ্ড হেক কৰা হোৱা নাই}=1{{COUNT} টা হেক কৰা পাছৱৰ্ড}one{{COUNT} টা হেক কৰা পাছৱৰ্ড}other{{COUNT} টা হেক কৰা পাছৱৰ্ড}}</translation>
+<translation id="710047887584828070">এই টেবটোৰ সমল শ্বেয়াৰ কৰি থকা হৈছে</translation>
 <translation id="7102832101143475489">অনুৰোধটোৰ সময় উকলিল</translation>
 <translation id="710640343305609397">নেটৱৰ্ক ছেটিংসমূহ খোলক</translation>
 <translation id="7107609441453408294">একেটা অডিঅ’ আটাইবোৰ স্পীকাৰতে প্লে’ কৰক</translation>
@@ -7173,6 +7218,7 @@
 <translation id="719791532916917144">কীব’ৰ্ডৰ শ্বৰ্টকাট</translation>
 <translation id="7198503619164954386">আপুনি এটা এণ্টাৰপ্ৰাইজে পঞ্জীয়ন কৰা ডিভাইচ ব্যৱহাৰ কৰি থাকিব লাগিব</translation>
 <translation id="7199158086730159431">স&amp;হায় পাওক</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" />লৈ কাষ্ট কৰাটো পজ কৰক</translation>
 <translation id="7200083590239651963">কনফিগাৰেশ্বন বাছনি কৰক</translation>
 <translation id="720110658997053098">আপুনি এই ডিভাইচটো স্থায়ীভাৱে কিঅ’স্ক ম’ডত ৰাখক</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' মচা হ’ল</translation>
@@ -7219,6 +7265,7 @@
 <translation id="7241389281993241388">ক্লাইণ্টৰ প্ৰমাণপত্ৰ আমদানি কৰিবলৈ <ph name="TOKEN_NAME" />ত ছাইন ইন কৰক।</translation>
 <translation id="7241763419756062043">আপোনাৰ চোৱা আৰু ব্ৰাউজ কৰাৰ গুণগত মান বাছনি কৰক</translation>
 <translation id="7243632151880336635">মচক আৰু ছাইন আউট কৰক</translation>
+<translation id="7245162963905242662">Googleৰ জৰিয়তে এই পৃষ্ঠাখন সন্ধান কৰক...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (উত্তম)</translation>
 <translation id="7246230585855757313">আপোনাৰ সুৰক্ষা চাবিটো পুনৰাই দি চেষ্টা কৰক</translation>
 <translation id="724835896049478274">Android এপৰ বাবে উপলব্ধ একাউণ্ট</translation>
@@ -7400,6 +7447,7 @@
 <translation id="7400839060291901923">আপোনাৰ <ph name="PHONE_NAME" />ত সংযোগ ছেট আপ কৰক</translation>
 <translation id="7401778920660465883">এই বাৰ্তাটো বাতিল কৰক</translation>
 <translation id="7402198013420237102">ছেভ কৰি থোৱা পাছৱৰ্ডসমূহ আপোনাৰ Google একাউণ্টলৈ স্থানান্তৰ কৰিবনে?</translation>
+<translation id="740333000181878130">ডিভাইচ ষ্টাৰ্টআপৰ ধ্বনি</translation>
 <translation id="7403642243184989645">উৎসসমূহ ডাউনল’ড কৰি থকা হৈছে</translation>
 <translation id="7404065585741198296">এডাল ইউএছবি কে’বলৰ জৰিয়তে আপোনাৰ ফ’নটো সংযোগ কৰি</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{১ ঘণ্টা পূর্বে সুৰক্ষা পৰীক্ষা চলোৱা হৈছিল}one{{NUM_HOURS} ঘণ্টা পূর্বে সুৰক্ষা পৰীক্ষা চলোৱা হৈছিল}other{{NUM_HOURS} ঘণ্টা পূর্বে সুৰক্ষা পৰীক্ষা চলোৱা হৈছিল}}</translation>
@@ -7448,6 +7496,7 @@
 <translation id="7434509671034404296">বিকাশকৰ্তা</translation>
 <translation id="7434757724413878233">মাউছৰ এক্সিলাৰেশ্বন</translation>
 <translation id="7434969625063495310">প্ৰিণ্ট ছার্ভাৰটো যোগ দিব পৰা নগ’ল। অনুগ্ৰহ কৰি ছার্ভাৰটোৰ কনফিগাৰেশ্বন পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক।</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Chrome Web Storeৰ পৰা আঁতৰোৱা ১ টা এক্সটেনশ্বন পৰ্যালোচনা কৰক}one{Chrome Web Storeৰ পৰা আঁতৰোৱা {NUM_EXTENSIONS} টা এক্সটেনশ্বন পৰ্যালোচনা কৰক}other{Chrome Web Storeৰ পৰা আঁতৰোৱা {NUM_EXTENSIONS} টা এক্সটেনশ্বন পৰ্যালোচনা কৰক}}</translation>
 <translation id="7436921188514130341">আমি দুঃখিত! পূৰ্বৰ নাম সলাই নতুন নাম দি থাকোঁতে কিবা আসোঁৱাহ হ'ল।</translation>
 <translation id="7439519621174723623">অব্যাহত ৰাখিবলৈ ডিভাইচৰ নাম যোগ দিয়ক</translation>
 <translation id="7441736921018636843">এই ছেটিং সলনি কৰিবলৈ, ছিংক পাছফ্ৰেজ আঁতৰবলৈ <ph name="BEGIN_LINK" />ছিংক ৰিছেট কৰক<ph name="END_LINK" /></translation>
@@ -7464,6 +7513,7 @@
 <translation id="7452166281927983300">অগ্ৰাহ্য কৰা সকীয়নি (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">আপুনি এই প্ৰিণ্টাৰ বাছনি কৰি ইয়াত উল্লেখ কৰা এক্সটেনশ্বনক আপোনাৰ প্ৰিণ্টাৰলৈ এক্সেছ প্ৰদান কৰিছে:</translation>
 <translation id="7453467225369441013">অধিকাংশ ছাইটৰ পৰাই আপোনাক ছাইন আউট কৰায়। আপোনাক নিজৰ Google একাউণ্টৰ পৰা ছাইন আউট কৰোৱা নহয়।</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{এই এক্সটেনশ্বনটো অসুৰক্ষিত হ’ব পাৰে। Chromeএ আপোনাক এইটো আঁতৰাবলৈ চুপাৰিছ কৰে।}one{এই এক্সটেনশ্বনসমূহ অসুৰক্ষিত হ’ব পাৰে। Chromeএ আপোনাক এইসমূহ আঁতৰাবলৈ চুপাৰিছ কৰে।}other{এই এক্সটেনশ্বনসমূহ অসুৰক্ষিত হ’ব পাৰে। Chromeএ আপোনাক এইসমূহ আঁতৰাবলৈ চুপাৰিছ কৰে।}}</translation>
 <translation id="7454548535253569100">পর্টেল: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">অতিৰিক্ত কণ্টেনাৰ পৰিচালনা কৰক</translation>
 <translation id="7455988709578031708">আপোনাৰ ব্ৰাউজিঙৰ ইতিহাসৰ ওপৰত ভিত্তি কৰি। এই ছেটিংটো অন হৈ আছে।</translation>
@@ -7524,8 +7574,10 @@
 <translation id="7497981768003291373">আপোনাৰ শেহতীয়াকৈ কেপশ্বাৰ কৰা কোনো WebRTC পাঠ লগ নাই।</translation>
 <translation id="7501957181231305652">অথবা</translation>
 <translation id="7502220299952823578">"এই ছাইটসমূহ সদায় সক্ৰিয় কৰি ৰাখক"ৰ সূচীত যোগ দিয়ক</translation>
+<translation id="7502528909759062987"><ph name="DEVICE_NAME" />লৈ টেব কাষ্ট কৰাটো পজ কৰক</translation>
 <translation id="7503191893372251637">Netscapeৰ প্ৰমাণপত্ৰৰ প্ৰকাৰ</translation>
 <translation id="7503985202154027481">আপুনি এই ছাইটলৈ যোৱাৰ এটা ৰেকৰ্ড আপোনাৰ সুৰক্ষা চাবিত ৰখা হ’ব।</translation>
+<translation id="7504145862399276792">এই টেবটোৰ অডিঅ’ মিউট কৰি থোৱা হৈছে</translation>
 <translation id="750509436279396091">ডাউনল’ড ফ’ল্ডাৰ খোলক</translation>
 <translation id="7505149250476994901">আখৰৰ আগত "cap" বুলি কওক</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> লুকুৱাওক</translation>
@@ -7765,6 +7817,7 @@
 <translation id="7701040980221191251">নাই</translation>
 <translation id="7701265686005869308">প্ৰ’ফাইল বন্ধ কৰক</translation>
 <translation id="7701869757853594372">ব্যৱহাৰকাৰীৰ হেণ্ডেল</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" />লৈ কাষ্ট কৰা বন্ধ কৰক</translation>
 <translation id="7702574632857388784">সূচীৰ পৰা <ph name="FILE_NAME" /> আঁতৰাওক</translation>
 <translation id="7702907602086592255">ড’মেইন</translation>
 <translation id="7704305437604973648">কাৰ্য</translation>
@@ -7884,6 +7937,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">আৰম্ভণিৰ পৃষ্ঠাৰ নেপথ্য <ph name="CATEGORY" />লৈ সলনি কৰা হ’ল।</translation>
+<translation id="7791436592012979144">ওলোটাকৈ স্ক্ৰ’ল কৰাৰ সুবিধাটো সক্ষম কৰা হৈছে</translation>
 <translation id="7791543448312431591">যোগ কৰক</translation>
 <translation id="7792012425874949788">ছাইন ইন কৰি থাকোঁতে কিবা আসোঁৱাহ হ’ল</translation>
 <translation id="7792388396321542707">শ্বেয়াৰ কৰা কার্য বন্ধ কৰক</translation>
@@ -8050,6 +8104,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% সম্পূৰ্ণ হ’ল</translation>
 <translation id="7939062555109487992">উচ্চখাপৰ বিকল্প</translation>
 <translation id="7939073735115504773">পঢ়িবলৈ আৰু সলনি কৰিবলৈ এই এক্সটেনশ্বনটোৰ চিহ্নটোত ক্লিক কতক <ph name="HOST" /></translation>
+<translation id="793923212791838">এই ছাইটোৰ জৰিয়তে আপোনাৰ ডিভাইচটো ব্যৱহাৰ কৰিব নোৱাৰি</translation>
 <translation id="7939328347457537652">ডিভাইচৰ প্ৰমাণপত্ৰ পৰিচালনা কৰক</translation>
 <translation id="7939412583708276221">যিকোনো প্ৰকাৰে ৰাখক</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> অনুসৰি সজাওক</translation>
@@ -8225,6 +8280,7 @@
 <translation id="8084114998886531721">ছেভ কৰা পাছৱর্ড</translation>
 <translation id="8084510406207562688">আটাইবোৰ টেব পুনঃস্থাপন কৰক</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> কনফিগাৰ কৰি থকা হৈছে...</translation>
+<translation id="8086121155774250556">এই টেবটোৱে আপোনাৰ স্ক্ৰীন শ্বেয়াৰ কৰি আছে</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> ছেট আপ কৰক</translation>
 <translation id="8086610718778464681">Linux এপ্‌ আৰু ফাইলসমূহৰ বেকআপ ল’ব নোৱাৰি</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{এই ফাইলটো এনক্ৰিপ্ট কৰা আছে। এইটোৰ গৰাকীক ডিক্ৰিপ্ট কৰিবলৈ কওক।}one{এই ফাইলসমূহৰ কিছুসংখ্যক এনক্ৰিপ্ট কৰা আছে। সেইকেইটাৰ গৰাকীক ডিক্ৰিপ্ট কৰিবলৈ কওক।}other{এই ফাইলসমূহৰ কিছুসংখ্যক এনক্ৰিপ্ট কৰা আছে। সেইকেইটাৰ গৰাকীক ডিক্ৰিপ্ট কৰিবলৈ কওক।}}</translation>
@@ -8527,6 +8583,7 @@
 <translation id="8345848587667658367">এতিয়া আপুনি আপোনাৰ ফ’নৰ শেহতীয়া ফট’, মিডিয়া, জাননী আৰু এপ্‌সমূহ চাব পাৰে</translation>
 <translation id="8347227221149377169">প্ৰিণ্টিঙৰ কামসমূহ</translation>
 <translation id="834785183489258869">ইনক’গনিট’ ম’ডত থকাৰ সময়ত, ছাইটসমূহে বিভিন্ন ছাইটত আপোনাৰ ব্ৰাউজিঙৰ কাৰ্যকলাপ চাবলৈ আপোনাৰ কুকিসমূহ ব্যৱহাৰ কৰিব নোৱাৰে; যেনে, বিজ্ঞাপন ব্যক্তিগতকৃত কৰা ইত্যাদি। কিছুমান ছাইটত সুবিধাসমূহে কাম নকৰিবও পাৰে।</translation>
+<translation id="8349325309815489209">এই ছাইটটোত এক্সটেনশ্বনসমূহৰ অনুমতি দিয়া হয়</translation>
 <translation id="8349826889576450703">লঞ্চাৰ</translation>
 <translation id="8350789879725387295">ড'কত থকা ষ্টাইলাছ সঁজুলিসমূহ</translation>
 <translation id="8351316842353540018">সাধ্য সুবিধাৰ বিকল্পসমূহ সদায় দেখুৱাওক</translation>
@@ -8555,6 +8612,7 @@
 <translation id="8370294614544004647">লেপটপটো বন্ধ কৰিলে সুপ্ত অৱস্থালৈ নিয়ক</translation>
 <translation id="8371695176452482769">এতিয়া কওক</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{ছাইট মিউট কৰক}one{ছাইটসমূহ মিউট কৰক}other{ছাইটসমূহ মিউট কৰক}}</translation>
+<translation id="8372441176515901959">অনুৰোধটো অগ্ৰাহ্য কৰক</translation>
 <translation id="8373652277231415614">Crostiniৰ শ্বেয়াৰ কৰা ডাইৰেক্টৰীসমূহ</translation>
 <translation id="8374243500935816406">ছাইটসমূহক আপোনাৰ আটাইবোৰ ডিছপ্লে’ত থকা ৱিণ্ড’সমূহ পৰিচালনা কৰিবলৈ নিদিব</translation>
 <translation id="8376137163494131156">Google Castত কি হৈ আছে আমাক জনাওক।</translation>
@@ -8914,6 +8972,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> বাতিল কৰক</translation>
 <translation id="8688672835843460752">উপলব্ধ</translation>
 <translation id="8690129572193755009">ছাইটে প্ৰট’কল পৰিচালনা কৰিবলৈ বিচাৰিব পাৰে</translation>
+<translation id="869144235543261764">এই টেবটোৱে picture-in-picture ম’ডত এটা ভিডিঅ’ প্লে’ কৰি আছে</translation>
 <translation id="8692107307702113268">পাছৱৰ্ডটোত ১০০০ টাতকৈ অধিক বৰ্ণ আছে</translation>
 <translation id="8694596275649352090">সুপ্ত ম’ডত অথবা লিডখন বন্ধ কৰা থাকিলে লক কৰক</translation>
 <translation id="8695139659682234808">ছেটআপ কৰাৰ পাছত অভিভাৱকীয় নিয়ন্ত্ৰণসমূহ যোগ দিয়ক</translation>
@@ -9148,6 +9207,7 @@
 <translation id="8877448029301136595">[পেৰেণ্ট ডাইৰেক্টৰী]</translation>
 <translation id="8879284080359814990">টেব হিচাপে &amp;দেখুৱাওক</translation>
 <translation id="8879921471468674457">ছাইন-ইন তথ্য মনত ৰাখক</translation>
+<translation id="8880009256105053174">Googleৰ জৰিয়তে এই পৃষ্ঠাখন সন্ধান কৰক...</translation>
 <translation id="8880054210564666174">সম্পৰ্কৰ সূচী ডাউনল’ড কৰিব পৰা নাই। অনুগ্ৰহ কৰি আপোনাৰ নেটৱৰ্ক সংযোগ পৰীক্ষা কৰক অথবা <ph name="LINK_BEGIN" />পুনৰ চেষ্টা কৰক<ph name="LINK_END" />।</translation>
 <translation id="8881020143150461183">অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক। কাৰিকৰী সহায়ৰ বাবে <ph name="CARRIER_NAME" />ৰ সৈতে যোগাযোগ কৰক।</translation>
 <translation id="888256071122006425">মাউছ আৰু টাচ্চপেডৰ ছেটিং</translation>
@@ -9412,6 +9472,7 @@
 <translation id="9102864637938129124">বিজ্ঞাপনে কেনেকৈ কাম কৰে সেয়া ছাইট বিজ্ঞাপনদাতাসকলে বুজি পাব পাৰে। এই ছেটিংটো অন হৈ আছে।</translation>
 <translation id="9103479157856427471">জুম ইন কৰা স্ক্ৰীনে কীব’ৰ্ডৰ ফ’কাছ অনুসৰণ কৰে</translation>
 <translation id="9103868373786083162">উভতি যাবলৈ টিপক, ইতিহাস চাবলৈ প্ৰসংগ মেনুলৈ যাওক</translation>
+<translation id="9107096627210171112">অনুবাদ কৰক...</translation>
 <translation id="9108035152087032312">ৱিণ্ডৰ নাম দিয়ক...</translation>
 <translation id="9108072915170399168">বৰ্তমানৰ ডেটাৰ ব্যৱহাৰৰ ছেটিংটো হৈছে ইণ্টাৰনেটৰ অবিহনে</translation>
 <translation id="9108294543511800041">এতিয়া আপুনি আপোনাৰ ফ’নৰ শেহতীয়া ফট’, মিডিয়া আৰু জাননীসমূহ চাব পাৰে</translation>
@@ -9568,6 +9629,7 @@
 <translation id="947329552760389097">উপাদানসমূহ  &amp;পৰীক্ষা কৰক</translation>
 <translation id="947526284350604411">আপোনাৰ উত্তৰ</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" />এ এই ফ’ল্ডাৰটোত থকা ফাইলসমূহ খুলিব নোৱাৰে কাৰণ ইয়াত ছিষ্টেমৰ ফাইল আছে</translation>
+<translation id="949807244219288032">এই টেবটো এটা HID ডিভাইচৰ সৈতে সংযোগ কৰা হৈছে</translation>
 <translation id="950307215746360464">ছেটআপ গাইড</translation>
 <translation id="951991426597076286">অস্বীকাৰ কৰক</translation>
 <translation id="952471655966876828">অন কৰিলে অথবা ব্যৱহাৰ কৰিলে ডিভাইচ স্বয়ংক্ৰিয়ভাৱে সংযুক্ত হ’ব</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index 11cebd0..0f8b100 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Ləğv edilib</translation>
 <translation id="1022489261739821355"><ph name="BEGIN_LINK" />Google Hesabınızdakı<ph name="END_LINK" /> parolların göstərilməsi</translation>
 <translation id="1022669824195822609">Cihazınız <ph name="DOMAIN" /> tərəfindən idarə olunur. Administratorlar bu cihazda istənilən profildəki dataya giriş edə bilərlər.</translation>
+<translation id="1024734233509995696">Bu tab kamera və ya mikrofon istifadə edir</translation>
 <translation id="1026655690966755180">Port əlavə edin</translation>
 <translation id="1026822031284433028">Şəkli Yükləyin</translation>
 <translation id="1026959648338730078">Windows Hello və ya xarici təhlükəsizlik açarı</translation>
@@ -189,6 +190,7 @@
 <translation id="1155816283571436363">Telefonunuza qoşulur</translation>
 <translation id="1158080958325422608">Böyük hərflərə çevirin</translation>
 <translation id="1158238185437008462">Xatirələrə baxın</translation>
+<translation id="1159879754517035595">Artırma ayarlarını idarə edin</translation>
 <translation id="1160842321113409343">Məxfiliyinizi qorumaq üçün 4 həftədən köhnə saytları siyahıdan avtomatik silirik. Yenidən ziyarət etdiyiniz sayt yenidən siyahıda görünə bilər. Və ya saytın sizin üçün maraqlar müəyyən etməsini istəmirsinizsə, həmin saytı silə bilərsiniz.</translation>
 <translation id="1161575384898972166">Klient sertifikatını eksport etmək üçün <ph name="TOKEN_NAME" /> üzərinə daxil olun.</translation>
 <translation id="116173250649946226">Administratorunuz dəyişdirilə bilməyən bir defolt tema ayarlayıb.</translation>
@@ -207,6 +209,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> həssas və ya təhlükəli data ehtiva edir. Administratorunuz "<ph name="CUSTOM_MESSAGE" />" deyir</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> HID cihazına qoşulmaq istəyir</translation>
 <translation id="1172750555846831341">Qısa kənardan çevirin</translation>
+<translation id="1173036203040243666">Bu tab Bluetooth cihazına qoşuludur</translation>
 <translation id="1173332155861271669">Keçid nöqtəsi provayderinin detalları</translation>
 <translation id="1173894706177603556">Adını dəyişin</translation>
 <translation id="1174073918202301297">Qısayol əlavə edildi</translation>
@@ -312,6 +315,7 @@
 <translation id="1252987234827889034">Profil xətası baş verdi</translation>
 <translation id="1253664522045778676">Nəticəyə klikləyin, səhifə cari tabda açılacaq</translation>
 <translation id="1254593899333212300">Birbaşa İnternet bağlantısı</translation>
+<translation id="1256588359404100567">Ayar əvvəlki cihazdan sinxronlaşdırıldı.</translation>
 <translation id="1257336506558170607">Seçilmiş sertifikatı eksport edin</translation>
 <translation id="1258491128795710625">Yeniliklər</translation>
 <translation id="1259152067760398571">Təhlükəsizlik yoxlanışı dünən icra olunub</translation>
@@ -523,6 +527,7 @@
 <translation id="1448779317883494811">Fırça Aləti</translation>
 <translation id="1449191289887455076">Təyinatı təsdiq etmək və <ph name="RESPONSE" /> üçün yenidən "<ph name="CURRENTKEY" />" düyməsinə basın</translation>
 <translation id="1451375123200651445">Veb səhifə, Tək Fayl</translation>
+<translation id="145280054552001290">Altyazıya dil əlavə edin və silin</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />Sazlama jurnalları<ph name="END_LINK" /> göndərin (tövsiyə edilir)</translation>
 <translation id="1454223536435069390">Skrinşot çəkin</translation>
 <translation id="145432137617179457">Orfoqrafiya yoxlamasını dəstəkləyən dillər</translation>
@@ -655,6 +660,7 @@
 <translation id="1556537182262721003">Artırmanı birbaşa qovluğa daşıya bilmədi.</translation>
 <translation id="1558391695376153246">Anonim tabları qapadın</translation>
 <translation id="155865706765934889">Taçped</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> cihazında yayımı bərpa edin</translation>
 <translation id="1562119309884184621">Bu kontaktı əlavə etdikdə, onun növbəti dəfə paylaşımı yadda saxlanacaq</translation>
 <translation id="1563137369682381456">Bitmə tarixi</translation>
 <translation id="1563702743503072935">Google Hesabınızdakı parollar da daxil olduğunuz halda bu cihazda əlçatan olacaq</translation>
@@ -784,6 +790,7 @@
 <translation id="1648528859488547844">Məkanı aşkarlamaq üçün Wi‑Fi və ya mobil şəbəkə istifadə edin</translation>
 <translation id="164936512206786300">Bluetooth cihazını ayırın</translation>
 <translation id="1651008383952180276">Eyni parol sözü iki dəfə daxil etməlisiniz</translation>
+<translation id="1651609627703324721">Bu tab qulaqlıq üçün VR kontenti göstərir</translation>
 <translation id="1652326691684645429">Yaxındakılarla Paylaşmanı aktivləşdirin</translation>
 <translation id="1654580009054503925">Sorğular göstərməsinə icazə verilməyib</translation>
 <translation id="1656528038316521561">Arxa fonun qeyri-şəffaflığı</translation>
@@ -875,6 +882,7 @@
 <translation id="173522743738009831">Təhlükəsiz Sandbox haqqında</translation>
 <translation id="173628468822554835">Anladım. Defolt olaraq, daxil olduğunuz yeni saytlar sizə bildirişlər göndərməyəcək.</translation>
 <translation id="1737968601308870607">Fayl baqı</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Sayt icazələrini dəyişmək üçün seçin</translation>
 <translation id="1741190788710022490">Adaptiv şarj</translation>
 <translation id="174123615272205933">Fərdi</translation>
 <translation id="1741314857973421784">Davam edin</translation>
@@ -990,6 +998,7 @@
 <translation id="18260074040409954">İstənilən cihazda saxlanmış parollarınızı istifadə edə bilərsiniz. Onlar <ph name="EMAIL" /> üçün <ph name="GOOGLE_PASSWORD_MANAGER" /> bölməsində saxlanılır.</translation>
 <translation id="1826192255355608658">Chrome brauzerinizin əlfəcinlərini, parollarını, tarixçəsini və daha çoxunu sinxronlaşdırın</translation>
 <translation id="1826516787628120939">Yoxlanılır...</translation>
+<translation id="1826657447823925402">Əksinə sürüşdürmə deaktivdir</translation>
 <translation id="1827504459960247692">Hotspot adı</translation>
 <translation id="1828378091493947763">Plagin bu cihazda dəstəklənmir</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Hamısını Açın}=1{&amp;Əlfəcini Açın}other{&amp;Hamısını Açın ({COUNT})}}</translation>
@@ -1066,6 +1075,7 @@
 <translation id="1885066963699478692">Siyasətləri ayarlamaq üçün istifadə olunan XML faylları.</translation>
 <translation id="1885106732301550621">Disk ölçüsü</translation>
 <translation id="1886996562706621347">Saytlara defolt protokol icraçıları olmağa icazə verin (tövsiyə olunur)</translation>
+<translation id="1887210448491286312"><ph name="DEVICE_NAME" /> cihazında tab yayımını dayandırın</translation>
 <translation id="1887442540531652736">Giriş xətası</translation>
 <translation id="1887597546629269384">Yenidən "Hey Google" deyin</translation>
 <translation id="1889091146873278175">Yan paneldə digər axtarış nəticələrini görmək üçün "G" düyməsinə klikləyin</translation>
@@ -1092,6 +1102,7 @@
 <translation id="1910908536872421421">Test üçün Chrome v<ph name="BROWSER_VERSION" /> yalnız avtomatlaşdırılmış test üçündür. Müntəzəm baxış üçün avtomatik olaraq güncəllənən Chrome'un standart versiyasından istifadə edin</translation>
 <translation id="1915073950770830761">kanar</translation>
 <translation id="1915307458270490472">Dəstəyi qoyun</translation>
+<translation id="1915613305720536742">Tərcümə edin</translation>
 <translation id="1915734383465415025">Mağaza Nömrəsi</translation>
 <translation id="1916260783734263714">Cari Tab</translation>
 <translation id="1916502483199172559">Defolt qırmızı avatar</translation>
@@ -1196,6 +1207,7 @@
 <translation id="2007404777272201486">Problemi xəbər verin...</translation>
 <translation id="2009590708342941694">Emoji aləti</translation>
 <translation id="2010501376126504057">Uyğun cihazlar</translation>
+<translation id="2012935757369720523">Faylı silin</translation>
 <translation id="2013550551806600826">Sınayın. Ayarı aktiv və ya deaktiv edib, test sahəsində taçped üzərində iki barmaq ilə sürüşdürün. Bunu Ayarlar &gt; Cihaz &gt; Maus və taçped bölməsində də tapa bilərsiniz.</translation>
 <translation id="2015232545623037616">Kompüter və Chromecast eyni Wi-Fi şəbəkəsindədir</translation>
 <translation id="2016473077102413275">Şəkil tələb edən funksiyalar işləməyəcək</translation>
@@ -1277,6 +1289,7 @@
 <translation id="2081816110395725788">Batareya istifadəsi zamanı fəaliyyətsiz rejim</translation>
 <translation id="2082187087049518845">Tabeli qrupa əlavə edin</translation>
 <translation id="2082510809738716738">Tema rəngi seçin</translation>
+<translation id="2084891381052978619">Chromebook ayarlandıqdan sonra Ayarlarda bu seçimlər ola bilər</translation>
 <translation id="208586643495776849">Yenidən cəhd edin</translation>
 <translation id="208634871997892083">VPN həmişə aktiv</translation>
 <translation id="2087822576218954668">Çap edin: <ph name="PRINT_NAME" /></translation>
@@ -1346,6 +1359,7 @@
 <translation id="212862741129535676">Tezlik Statusu Məşğulluq Faizi</translation>
 <translation id="212876957201860463">Mobil cihazın quraşdırılması hazırlanır...</translation>
 <translation id="2131077480075264">"<ph name="IMPORT_NAME" />" tərəfindən icazə verilmədiyi üçün "<ph name="APP_NAME" />" quraşdırıla bilməz</translation>
+<translation id="2133775869826239001">Ayarlanacaq digər funksiyaları seçin</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> faylını yenidən sınayın</translation>
 <translation id="2134905185275441536">Sistem CA-ləri</translation>
 <translation id="21354425047973905">PIN-ləri gizlədin</translation>
@@ -1440,6 +1454,7 @@
 <translation id="2204020417499639567">E-poçt dolduruldu.</translation>
 <translation id="2204034823255629767">Oxuyun və yazdığınız istənilən şeyi dəyişin</translation>
 <translation id="2204387456724731099">Bu seçimi tərcümə etmək mümkün olmadı</translation>
+<translation id="2207116775853792104">Bu artırmanı saxlayın</translation>
 <translation id="2210462644007531147">Quraşdırmanı tamamlamaq alınmadı</translation>
 <translation id="2211245494465528624">Sinxronlaşdırma seçimlərini idarə edin</translation>
 <translation id="2212565012507486665">Kukilərə icazə verin</translation>
@@ -1767,6 +1782,7 @@
 <translation id="2458379781610688953">Hesabı yeniləyin, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Cihaz idarəetmə açarı yanlışdır.</translation>
 <translation id="2459703812219683497">Aktivasiya kodu aşkarlanıb</translation>
+<translation id="2459706890611560967"><ph name="DEVICE_NAME" /> cihazında tab yayımını bərpa edin</translation>
 <translation id="2460356425461033301">Brauzer elementlərini yedəkləyin və istənilən cihazda istifadə edin</translation>
 <translation id="2462332841984057083">Steam ayarlanır. Ayarlamanın tamamlanmasını gözləyin.</translation>
 <translation id="2462724976360937186">Sertifikatlaşdırma İcazəsi Açar ID</translation>
@@ -2613,10 +2629,12 @@
 <translation id="3194786596445804250">Üçüncü tərəf kukilərini bloklamaq haqqında detalları göstərin</translation>
 <translation id="3197453258332670132">Sağ düymə ilə toxunduqda və ya basıb saxladıqda mətn seçiminizlə əlaqəli məlumatlar göstərilsin</translation>
 <translation id="3199127022143353223">Serverlər</translation>
+<translation id="3199637719075529971">Bu tab ardıcıl porta qoşuludur</translation>
 <translation id="3200061262156232574">Alış-veriş arabanızda</translation>
 <translation id="3201237270673604992">Z-dən A-ya</translation>
 <translation id="3201422919974259695">Əlçatan USB cihazları burada görünəcək.</translation>
 <translation id="3202131003361292969">Yol</translation>
+<translation id="3202499879214571401"><ph name="DEVICE_NAME" /> cihazında ekran yayımını durdurun</translation>
 <translation id="3202578601642193415">Ən yeni</translation>
 <translation id="3204648577100496185">Bu tətbiqlə bağlı data bu cihazdan silinəcək</translation>
 <translation id="3207960819495026254">Əlfəcinlənib</translation>
@@ -2929,6 +2947,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> hostuna kameranıza və mikrofonunuza giriş verirsiniz</translation>
 <translation id="3479552764303398839">İndi yox</translation>
 <translation id="3479685872808224578">Çap serverini aşkar etmək mümkün olmadı. Ünvanı yoxlayın və yenidən cəhd edin.</translation>
+<translation id="3479753605053415848">Chrome-u fərdiləşdirmək üçün klikləyin</translation>
 <translation id="3480612136143976912">Canlı Altyazı üçün altyazı ölçüsünü və üslubunu fərdiləşdirin. Bəzi tətbiqlər və saytlar da bu ayarı istifadə edəcək.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> Tab tapılıb</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> saniyə ərzində <ph name="ALTERNATIVE_BROWSER_NAME" /> tətbiqində açılacaq</translation>
@@ -3011,6 +3030,7 @@
 <translation id="3557101512409028104">Family Link ilə veb sayt məhdudiyyətləri və ekran vaxtı limitləri ayarlaya bilərsiniz.</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ChromeOS cihazlarına avtomatik hesabatlar göndərmək icazəsi vermək bizə ChromeOS'da nəyi düzəldəcıyimizi və təkmilləşdirəcəyimizi prioritetləşdirməyə kömək edir. Bu hesabatlara ChromeOS'un nə vaxt çökməsi, hansı funksiyaların istifadə edilməsi və adətən nə qədər yaddaş istifadə edildiyi kimi məlumatlar daxil ola bilər.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />İstənilən vaxt övladınızın ChromeOS cihaz ayarlarında bu hesabatlara icazə verməyə başlaya və ya dayandıra bilərsiniz. Domen administratorusunuzsa, bu ayarı admin konsolunda dəyişə bilərsiniz.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653"><ph name="DEVICE_NAME" /> cihazında ekran yayımını dayandırın</translation>
 <translation id="3559262020195162408">Cihazda qayda quraşdırıla bilmədi.</translation>
 <translation id="3559533181353831840">Təxminən <ph name="TIME_LEFT" /> qalıb</translation>
 <translation id="3560034655160545939">&amp;Yazı yoxlanışı</translation>
@@ -3177,6 +3197,7 @@
 <translation id="370415077757856453">JavaScript blok edildi</translation>
 <translation id="3704331259350077894">Əməliyyat Dayandırılması</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544"><ph name="DEVICE_NAME" /> cihazında ekran yayımını bərpa edin</translation>
 <translation id="3706463572498736864">Vərəq üzrə səhifə</translation>
 <translation id="370649949373421643">Wi-Fi aktiv edin</translation>
 <translation id="370665806235115550">Yüklənir...</translation>
@@ -3222,6 +3243,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> datası 24 saat ərzində silinəcək</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> tətbiqi açılsın?</translation>
+<translation id="3740945083753997630">Displey və mətn ölçüsünü kiçildin</translation>
 <translation id="3741056951918180319">İstənilən vaxt artırmaya klikləyərək onu bütün saytlarda istifadə edə bilərsiniz</translation>
 <translation id="3742235229730461951">Koreya dilində klaviatura düzəni</translation>
 <translation id="3742666961763734085">Bu adda təşkilatı vahid tapılmadı. Yenidən cəhd edin.</translation>
@@ -3391,6 +3413,7 @@
 <translation id="3867134342671430205">Ekranı hərəkət etdirmək üçün çəkin və ya ox düymələrindən istifadə edin</translation>
 <translation id="3867944738977021751">Sertifikat Sahələri</translation>
 <translation id="3869917919960562512">Yanlış indeks.</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> seçimini silin</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> üçün parollar yadda saxlanıldı</translation>
 <translation id="3871350334636688135">24 saat sonra administrator cihazı birdəfəlik güncəlləyəcək. Bununla cihazı yenidən başlatdığınız zaman lokal datanızı siləcək. Ehtiyacınız olan lokal datanı 24 saat ərzində buludun yaddaşında saxlayın.</translation>
 <translation id="3872220884670338524"><ph name="DOMAIN" /> domenindəki <ph name="USERNAME" /> üçün daha çox əməliyyat və yadda saxlanmış hesa</translation>
@@ -3486,6 +3509,7 @@
 <translation id="3945513714196326460">Daha qısa ad seçin</translation>
 <translation id="3948027458879361203">Host adını dəyişdirin</translation>
 <translation id="3948116654032448504"><ph name="SEARCH_ENGINE" /> şəkil axtarır</translation>
+<translation id="3948334586359655083">Bu tab audio oxudur</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> aşağıdakı qovluqlarda olan faylları redaktə edə bilər</translation>
 <translation id="394984172568887996">İnternet Explorer'dən import edildi</translation>
 <translation id="3950820424414687140">Giriş</translation>
@@ -3544,6 +3568,7 @@
 <translation id="3987544746655539083">Bu saytın məkanınıza girişini bloklamağa davam edin</translation>
 <translation id="3987938432087324095">Eşidilmir.</translation>
 <translation id="3987993985790029246">Linki kopyalayın</translation>
+<translation id="3988124842897276887">Bu tab USB cihazına qoşuludur</translation>
 <translation id="3988488665753590964">Rənglərin ekranda görünmə qaydasını tənzimləyin</translation>
 <translation id="3988996860813292272">Vaxt zonası seçin</translation>
 <translation id="399179161741278232">İmport edilmiş</translation>
@@ -3600,6 +3625,7 @@
 <translation id="4044612648082411741">Sertifikat parolunuzu daxil edin</translation>
 <translation id="4044708573046946214">Ekran kilidi parolu</translation>
 <translation id="404493185430269859">Defolt axtarış sistemi</translation>
+<translation id="4045196801416070837">Cihaz səsləri</translation>
 <translation id="4046013316139505482">Bu artırmaların bu saytdakı məlumatları görməsinə və dəyişməsinə ehtiyac yoxdur.</translation>
 <translation id="4046123991198612571">Növbəti trek</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -3690,6 +3716,7 @@
 <translation id="4130207949184424187">Bu artırma Omnibox ilə axtardığınız zaman hansı səhifənin göstərildiyini dəyişdi.</translation>
 <translation id="4130750466177569591">Razıyam</translation>
 <translation id="413121957363593859">Komponentlər</translation>
+<translation id="4131283654370308898">Bu saytda <ph name="EXTENSION_NAME" /> artırmasına icazə verin</translation>
 <translation id="4131410914670010031">Ağ və qara</translation>
 <translation id="413193092008917129">Şəbəkə Diaqnostikası Rejimləri</translation>
 <translation id="4132183752438206707">Google Play Marketdə tətbiqlər tapın</translation>
@@ -4047,6 +4074,7 @@
 <translation id="4444512841222467874">Boş yer əlçatan olmadıqda, istifadəçilər və data avtomatik silinə bilər.</translation>
 <translation id="4445446646109808714">Son İstifadəçinin Lisenziya Müqaviləsi: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Güzgülü</translation>
+<translation id="4448560527907365660">Yadda saxlayın və digərlərinə baxın</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> domenindəki <ph name="USERNAME" /> üçün parolu gizlədin</translation>
 <translation id="4449247303975391730">İcazələri idarə edin</translation>
 <translation id="4449948729197510913">İstifadəçi adınız təşkilatınızın müəssisə hesabına məxsusdur. Cihazları bu hesabda qeydiyyatdan keçirmək üçün Admin konsolunda domen sahibliyini doğrulayın. Doğrulamaq üçün hesab üzərində admin hüquqlarına sahib olmalısınız.</translation>
@@ -4226,6 +4254,7 @@
 <translation id="4601426376352205922">Oxunmamış kimi qeyd edin</translation>
 <translation id="460190672235687855">Parollara baxın</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> hostuna kameranıza və mikrofonunuza həmişə girməsinə imkan verin</translation>
+<translation id="4602776638371779614">Bu tab Bluetooth cihazlarını aktiv şəkildə skanlayır</translation>
 <translation id="4606551464649945562">Saytların ətrafınızdakı sahələrin 3D xəritəsini yaratmasına və ya kamera mövqeyini izləməsinə icazə verməyin</translation>
 <translation id="4608500690299898628">Tapın...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> ilə bağlı xəta oldu</translation>
@@ -4409,6 +4438,7 @@
 <translation id="4770119228883592393">İcazə tələb edilib, cavablandırmaq üçün ⌘ + Seçim + Aşağı ox düyməsini basın</translation>
 <translation id="4773112038801431077">Linux'u təkmilləşdirin</translation>
 <translation id="4774456473286455263">Android telefonu ilə qurun</translation>
+<translation id="477548766361111120">Artırmaya bu saytı oxumaq və dəyişmək icazəsi verin</translation>
 <translation id="477647109558161443">Masaüstü qısayol yaradın</translation>
 <translation id="4776594120007763294">Daha sonra oxumaq məqsədilə bir səhifə əlavə etmək üçün düyməni basın</translation>
 <translation id="4777458362738635055">Bu cihazın digər istifadəçiləri şəbəkədən istifadə edə bilər</translation>
@@ -5154,6 +5184,7 @@
 <translation id="5439680044267106777">Ötürün və Yeni profil ayarlayın</translation>
 <translation id="544083962418256601">Qısayollar yaradın...</translation>
 <translation id="5441133529460183413">Veb Tətbiqi Chrome brauzerindən quraşdırılmışdır</translation>
+<translation id="5441292787273562014">Səhifəni yenidən yükləyin</translation>
 <translation id="5441466871879044658">Bu dilə tərcümə edin</translation>
 <translation id="5442228125690314719">Disk şəkli yaradılarkən xəta baş verdi. Yenidən cəhd edin.</translation>
 <translation id="5442550868130618860">Avto güncəlləməni aktiv edin</translation>
@@ -5199,7 +5230,9 @@
 <translation id="5481941284378890518">Yaxınlıqdakı Printerləri əlavə edin</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> bugün datanızı yedəkləmənizi və bu <ph name="DEVICE_TYPE" /> cihazını qaytarmanızı tələb edir. <ph name="LINK_BEGIN" />Detallara baxın<ph name="LINK_END" />}other{<ph name="MANAGER" /> {NUM_DAYS} gün ərzində datanızı yedəkləmənizi və bu <ph name="DEVICE_TYPE" /> cihazını qaytarmanızı tələb edir. <ph name="LINK_BEGIN" />Detallara baxın<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Tətbiq əlavə edin</translation>
+<translation id="5485435764083510385">Tərcih edilən altyazı dili</translation>
 <translation id="5485754497697573575">Bütün Panelləri Bərpa edin</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> üçün yeni və ya fərqli cihaz lazım ola bilər</translation>
 <translation id="5486261815000869482">Şifrəni tesdiq edin:</translation>
 <translation id="5486561344817861625">Yenidən Brauzer Başladılmasını Modelləşdirmək</translation>
 <translation id="5487460042548760727">Profilin adını <ph name="PROFILE_NAME" /> olaraq dəyişin</translation>
@@ -5554,6 +5587,7 @@
 <translation id="5799508265798272974">Virtual Linux Cihazı: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Təyinat faylı sonuncu endirmədən sonra ya kəsilib, ya da silinib.</translation>
 <translation id="5800351251499368110">Yan paneldə axtarışı bağlayın. Axtarış yan paneldə açıqdır.</translation>
+<translation id="5800703268655655701">İşıqlı və ya tünd tema seçin</translation>
 <translation id="5801051031414037185">Telefonu ayarlayın</translation>
 <translation id="5801568494490449797">Seçimlər</translation>
 <translation id="5803689677801500549">Saxlanmış parollar burada görünəcək. <ph name="USER_EMAIL" /> üçün parolları <ph name="BRAND" /> bölməsinə import etmək məqsədilə <ph name="BEGIN_LINK" /> CSV faylı seçin.<ph name="END_LINK" /></translation>
@@ -5669,6 +5703,7 @@
 <translation id="5889282057229379085">Orta CA-ların maksimal sayı: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638"><ph name="BEGIN_LINK" />Sinxronizasiya parol ifadəniz<ph name="END_LINK" /> ilə sinxronizasiya edilmiş datanı şifrələyin. Google Pay'dən ödəniş metodları və ünvanlar şifrələnməyəcək. Chrome'dan baxış tarixçəsi sinxronlaşdırılmayacaq.</translation>
 <translation id="5891688036610113830">Tərcih edilən Wi-Fi şəbəkələri</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> qovluğunun seçimini silin</translation>
 <translation id="5895138241574237353">Yenidən başladın</translation>
 <translation id="5895335062901455404">Google Hesabınızla daxil olduğunuz zaman yadda saxlanılan tərcihləriniz və fəaliyyətiniz istənilən ChromeOS Flex cihazında hazır olacaq. Ayarlarda nələri sinxronlaşdıracağınızı seçə bilərsiniz.</translation>
 <translation id="589541317545606110">Səhifəni <ph name="VISUAL_SEARCH_PROVIDER" /> ilə axtarın</translation>
@@ -5738,6 +5773,7 @@
 <translation id="5948476936444935795">İmportu ləğv edin</translation>
 <translation id="5948536763493709626">Klaviatura və ya maus qoşun və ya sensor ekranınızdan istifadə edərək ayarlamağa davam edin. Bluetooth cihazları istifadə edirsinizsə, onların birləşdirmə üçün hazır olduğuna əmin olun.</translation>
 <translation id="5949544233750246342">Faylı təhlil etmək alınmır</translation>
+<translation id="5950762317146173294">Bu fayl virus və ya zərərli proqram ola bilər</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> yerli şriftlərdən istifadə etmək istəyir</translation>
 <translation id="5951624318208955736">Monitor</translation>
 <translation id="595262438437661818">Bu sayta giriş tələb edən artırma yoxdur</translation>
@@ -5822,6 +5858,7 @@
 <translation id="6022526133015258832">Tam ekran açın</translation>
 <translation id="6022659036123304283">Chrome'u özünüzküləşdirin</translation>
 <translation id="6023643151125006053">Bu cihaz (SN <ph name="SERIAL_NUMBER" />) <ph name="SAML_DOMAIN" /> administratoru tərəfindən kilidlənib.</translation>
+<translation id="6024072172641380781">Bu saytda artırmalara icazə verin</translation>
 <translation id="6025215716629925253">İz Toplusu</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB cihaz qoşuldu</translation>
 <translation id="6027945736510816438"><ph name="WEBSITE" /> nəzərdə tuturdunuz?</translation>
@@ -6105,6 +6142,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> ilə açın</translation>
 <translation id="6270309713620950855">Xatırlatma bildirişini susdurun</translation>
 <translation id="6270391203985052864">Saytlar bildiriş göndərilməsini tələb edə bilər</translation>
+<translation id="6270486800167535228">Artırma bərkidilib. Digər seçimləri görmək üçün seçin</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />Sistem və tətbiq məlumatı<ph name="END_LINK1" /> və <ph name="BEGIN_LINK2" />ölçüləri<ph name="END_LINK2" /> göndərin</translation>
 <translation id="6270896861225278704">Fəaliyyət kartı</translation>
 <translation id="6271348838875430303">düzəliş geri qaytarıldı</translation>
@@ -6185,6 +6223,7 @@
 <translation id="6344608411615208519"><ph name="BEGIN_LINK" />Brauzerinizi<ph name="END_LINK" /> valideyn idarə edir</translation>
 <translation id="6345418402353744910">Proksi <ph name="PROXY" /> üçün istifadəçi adı və parolunuz tələb olunur ki, admin şəbəkənizi konfiqurasiya edə bilsin</translation>
 <translation id="6345878117466430440">Oxunmuş kimi qeyd edin</translation>
+<translation id="6346952829206698721">Mübadilə buferindən əlavə edin</translation>
 <translation id="6347010704471250799">Bildiriş göstərin</translation>
 <translation id="634887995541211148">Cihazınızda Bruschetta'nı işə salın.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> tətbiqini quraşdırın</translation>
@@ -6470,6 +6509,7 @@
 <translation id="6596325263575161958">Şifrələmə variantları</translation>
 <translation id="6596816719288285829">IP Ünvanı</translation>
 <translation id="6597017209724497268">Nümunələr</translation>
+<translation id="6597324406048772521">Bu saytda artırmalara icazə verilməyib</translation>
 <translation id="6597331566371766302">Aşağıdakı artırmalar administratorunuz tərəfindən bloklanıb:</translation>
 <translation id="659894938503552850">ən yeni</translation>
 <translation id="6601262427770154296">İstifadəçi lüğətlərini idarə edin</translation>
@@ -6487,6 +6527,7 @@
 <translation id="6609478180749378879">Anonim rejimdən çıxdıqdan sonra giriş datası bu cihazda saxlanılacaq. Bu veb sayta daha sonra cihazınızla yenidən daxil ola biləcəksiniz.</translation>
 <translation id="6610002944194042868">Tərcümə Seçimləri</translation>
 <translation id="6611972847767394631">Tablarınızı burada tapın</translation>
+<translation id="6613267708691765962">Zərərli proqram skanlanır...</translation>
 <translation id="6613668613087513143">Bu güncəlləməni tamamlamaq üçün bu cihazda kifayət qədər yer yoxdur. Cihazınızda <ph name="NECESSARY_SPACE" /> yer boşaldın və Chrome brauzerinizdə yenidən cəhd edin.</translation>
 <translation id="6615455863669487791">Mənə göstərin</translation>
 <translation id="6618097958368085618">Hər Bir Halda Saxlayın</translation>
@@ -6735,6 +6776,7 @@
 <translation id="6825184156888454064">Ad üzrə sıralayın</translation>
 <translation id="6826872289184051766">USB ilə doğrulayın</translation>
 <translation id="6827121912381363404">Bütün artırmaların <ph name="PERMITTED_SITE" /> saytını oxumasına və dəyişməsinə icazə verin</translation>
+<translation id="6827422464708099620">Digər seçimləri görmək üçün seçin</translation>
 <translation id="6827517233063803343">Tətbiqlər və ayarlarınız Google hesabınız ilə daxil olduğunuz bütün ChromeOS cihazlarında sinxronlaşdırılacaq. Brauzerin sinxronlaşdırma seçimləri üçün <ph name="LINK_BEGIN" />Chrome ayarları<ph name="LINK_END" /> bölməsinə keçin.</translation>
 <translation id="6827767090350758381">Chrome tətbiqlərinin köhnə versiyaları 2022-ci ilin dekabrından sonra Windows cihazlarında açılmayacaq. Yeni versiyaya güncəlləmək və ya bu tətbiqi silmək üçün administratorunuzla əlaqə saxlayın.</translation>
 <translation id="6828153365543658583">Aşağıdakı istifadəçilərə girişi məhdudlaşdırın:</translation>
@@ -6798,6 +6840,7 @@
 <translation id="6868934826811377550">Detallara baxın</translation>
 <translation id="6871644448911473373">OCSP Cavablayıcı: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Daxil etdiyiniz parol server tərəfindən rədd edildi.</translation>
+<translation id="6873571253135628430">Sayt icazələrini dəyişin</translation>
 <translation id="6876155724392614295">Velosiped</translation>
 <translation id="6876469544038980967">Faydalı deyil</translation>
 <translation id="6878422606530379992">Sensorlara icazə verilib</translation>
@@ -6938,6 +6981,7 @@
 <translation id="6993050154661569036">Chrome brauzeri güncəllənir</translation>
 <translation id="6995899638241819463">Data pozulması halında parolların ələ keçirilib-keçirilmədiyi bildirilir</translation>
 <translation id="6995984090981858039">ChromeOS cihaz məlumatı və datasının oxunması</translation>
+<translation id="6996438701394974959">Displey və mətn ölçüsünü böyüdün</translation>
 <translation id="6997553674029032185">Sayta keçin</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Fəaliyyət Qeydi</translation>
 <translation id="6997707937646349884">Cihazlarınızda:</translation>
@@ -7058,6 +7102,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Tətbiqi silin}other{Tətbiqləri silin}}</translation>
 <translation id="7099337801055912064">Böyük PPD əlavə etmək mümkün deyil. Maksimum ölçü 250kB-dır.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Oğurlanmış parol yoxdur}=1{{COUNT} oğurlanmış parol}other{{COUNT} oğurlanmış parol}}</translation>
+<translation id="710047887584828070">Bu tab kontenti paylaşılır</translation>
 <translation id="7102832101143475489">Sorğunun vaxtı bitib</translation>
 <translation id="710640343305609397">Şəbəkə ayarlarını açın</translation>
 <translation id="7107609441453408294">Eyni audionu bütün spikerlər vasitsəilə oxudun</translation>
@@ -7153,6 +7198,7 @@
 <translation id="719791532916917144">Klaviatura qısayolu</translation>
 <translation id="7198503619164954386">Müəssisədə qeydiyyatdan keçmiş bir cihazda olmalısınız</translation>
 <translation id="7199158086730159431">Yardım əldə edin</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> cihazında yayımı durdurun</translation>
 <translation id="7200083590239651963">Konfiqurasiya seçin</translation>
 <translation id="720110658997053098">Bu cihazı daimi olaraq kiosk rejimində saxlayın</translation>
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" silindi</translation>
@@ -7199,6 +7245,7 @@
 <translation id="7241389281993241388">Klient sertifikatını import etmək üçün <ph name="TOKEN_NAME" /> üzərinə daxil olun.</translation>
 <translation id="7241763419756062043">Axtarış və baxış keyfiyyətinizi seçin</translation>
 <translation id="7243632151880336635">Silin və çıxış edin</translation>
+<translation id="7245162963905242662">Google ilə bu Səhifəni axtarın...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (Ən yaxşı)</translation>
 <translation id="7246230585855757313">Güvənlik açarını yenidən daxil edib cəhd edin</translation>
 <translation id="724835896049478274">Android tətbiqləri üçün əlçatan hesablar</translation>
@@ -7380,6 +7427,7 @@
 <translation id="7400839060291901923"><ph name="PHONE_NAME" /> telefonunda bağlantı ayarlayın</translation>
 <translation id="7401778920660465883">Bu mesajı kənarlaşdırın</translation>
 <translation id="7402198013420237102">Yadda saxlanmış parollar Google Hesabına köçürülsün?</translation>
+<translation id="740333000181878130">Cihaz başlatma səsi</translation>
 <translation id="7403642243184989645">Resurslar endirilir</translation>
 <translation id="7404065585741198296">Telefonunuzu USB kabeli ilə</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Təhlükəsizlik yoxlanışı 1 saat əvvəl icra olunub}other{Təhlükəsizlik yoxlanışı {NUM_HOURS} saat əvvəl icra olunub}}</translation>
@@ -7428,6 +7476,7 @@
 <translation id="7434509671034404296">Developer</translation>
 <translation id="7434757724413878233">Siçanın sürəti</translation>
 <translation id="7434969625063495310">Çap serverini əlavə etmək mümkün olmadı. Serverin konfiqurasiyasını yoxlayın və yenidən cəhd edin.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Chrome Veb Dükanından silinən 1 artırmaya nəzər salın}other{Chrome Veb Dükanından silinən {NUM_EXTENSIONS} artırmaya nəzər salın}}</translation>
 <translation id="7436921188514130341">Yenidən adlandırarkən xəta baş verdi.</translation>
 <translation id="7439519621174723623">Davam etmək üçün cihaz adı əlavə edin</translation>
 <translation id="7441736921018636843">Bu ayarı dəyişmək və sinxronizasiya parolunu silmək üçün <ph name="BEGIN_LINK" />sinxronizasiyanı sıfırlayın<ph name="END_LINK" /></translation>
@@ -7444,6 +7493,7 @@
 <translation id="7452166281927983300">Qapadılmış xəbərdarlıqlar (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Bu printer seçməklə, aşağıdakı uzadılması printer daxil olmaq üçün icazə verir:</translation>
 <translation id="7453467225369441013">Bununla əksər saytlardan çıxacaqsınız. Google Hesabından çıxmayacaqsınız.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Bu artırma təhlükəli ola bilər. Chrome onu silməyinizi tövsiyə edir.}other{Bu artırmalar təhlükəli ola bilər. Chrome onları silməyinizi tövsiyə edir.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Əlavə konteynerləri idarə edin</translation>
 <translation id="7455988709578031708">Axtarış tarixçənizə əsaslanır. Bu ayar aktivdir.</translation>
@@ -7504,8 +7554,10 @@
 <translation id="7497981768003291373">Son vaxtlar WebRTC mətn girişləri çəkməmisiniz.</translation>
 <translation id="7501957181231305652">və ya</translation>
 <translation id="7502220299952823578">"Bu saytları həmişə aktiv saxlayın" siyahısına əlavə edin</translation>
+<translation id="7502528909759062987"><ph name="DEVICE_NAME" /> cihazında tab yayımını durdurun</translation>
 <translation id="7503191893372251637">Netscape Sertifikat növü</translation>
 <translation id="7503985202154027481">Sayta girişiniz güvənlik açarında qeyd ediləcək.</translation>
+<translation id="7504145862399276792">Bu tab audiosu susdurulub</translation>
 <translation id="750509436279396091">Endirilənlər qovluğunu açın</translation>
 <translation id="7505149250476994901">Hərfdən əvvəl "böyük hərflə" deyin</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> platformasını gizlədin</translation>
@@ -7745,6 +7797,7 @@
 <translation id="7701040980221191251">Heç biri</translation>
 <translation id="7701265686005869308">Profili bağlayın</translation>
 <translation id="7701869757853594372">USER tutacaqları</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> cihazında yayımı dayandırın</translation>
 <translation id="7702574632857388784"><ph name="FILE_NAME" /> faylını siyahıdan silin</translation>
 <translation id="7702907602086592255">Domen</translation>
 <translation id="7704305437604973648">Tapşırıq</translation>
@@ -7864,6 +7917,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Başlanğıc səhifəsinin arxa fonu <ph name="CATEGORY" /> ilə dəyişdirilib.</translation>
+<translation id="7791436592012979144">Əksinə sürüşdürmə aktivdir</translation>
 <translation id="7791543448312431591">Əlavə etmək</translation>
 <translation id="7792012425874949788">Giriş ilə bağlı xəta baş verdi</translation>
 <translation id="7792388396321542707">Paylaşımı dayandırın</translation>
@@ -8030,6 +8084,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% tamamlanıb</translation>
 <translation id="7939062555109487992">Qabaqcıl seçimlər</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> domenini oxumaq və dəyişmək üçün bu artırmanın işarəsinə klikləyin</translation>
+<translation id="793923212791838">Cihaz bu saytı dəstəkləmir</translation>
 <translation id="7939328347457537652">Cihaz sertifikatlarını idarə edin</translation>
 <translation id="7939412583708276221">Hər bir halda saxlamaq</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> üzrə çeşidləyin</translation>
@@ -8205,6 +8260,7 @@
 <translation id="8084114998886531721">Yadda saxlanmış parol</translation>
 <translation id="8084510406207562688">B&amp;ütün tabları bərpa edin</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> konfiqurasiya edilir...</translation>
+<translation id="8086121155774250556">Bu tab ekranı paylaşır</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> cihazını ayarlayın</translation>
 <translation id="8086610718778464681">Linux tətbiqləri və fayllarını yedəkləmək mümkün deyil</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Bu fayl şifrələnib. Sahibindən onun şifrəsini açmasını istəyin.}other{Bu fayllardan bəziləri şifrələnib. Sahibindən onların şifrəni açmasını istəyin.}}</translation>
@@ -8507,6 +8563,7 @@
 <translation id="8345848587667658367">İndi telefonunuzun son fotolarına, mediasına, bildirişlərinə və tətbiqlərinə baxa bilərsiniz</translation>
 <translation id="8347227221149377169">Çap işləri</translation>
 <translation id="834785183489258869">Anonim rejimdə olduqda saytlar müxtəlif saytlarda axtarış fəaliyyətinizi görmək üçün kukilərinizdən istifadə edə bilmir (məsələn, reklamları fərdiləşdirmək üçün). Bəzi saytlardakı funksiyalar işləməyə bilər.</translation>
+<translation id="8349325309815489209">Bu saytda artırmalara icazə verilib</translation>
 <translation id="8349826889576450703">başladıcı</translation>
 <translation id="8350789879725387295">Dokda stilus alətləri</translation>
 <translation id="8351316842353540018">Həmişə a11y seçimlərini göstərin</translation>
@@ -8535,6 +8592,7 @@
 <translation id="8370294614544004647">Noutbuk bağlandıqda yuxu rejiminə keçsin</translation>
 <translation id="8371695176452482769">İndi Danışın</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Saytı Susdurun}other{Saytları Susdurun}}</translation>
+<translation id="8372441176515901959">Sorğudan imtina edin</translation>
 <translation id="8373652277231415614">Crostini'nin paylaşılan kataloqları</translation>
 <translation id="8374243500935816406">Saytlara bütün displeylərinizdə pəncərələri idarə etməyə icazə verməyin</translation>
 <translation id="8376137163494131156">Google Yayım ilə baş verənləri bizə deyin.</translation>
@@ -8894,6 +8952,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> faylını ləğv edin</translation>
 <translation id="8688672835843460752">Əlçatandır</translation>
 <translation id="8690129572193755009">Saytlar protokolları nizamlamaq üçün icazə istəyə bilər</translation>
+<translation id="869144235543261764">Bu tab şəkildə şəkil rejimində video göstərir</translation>
 <translation id="8692107307702113268">Parol 1000 simvoldan uzundur</translation>
 <translation id="8694596275649352090">Yatarkən və ya qapaq bağlı olduqda kilidləyin</translation>
 <translation id="8695139659682234808">Ayarlamadan sonra valideyn nəzarəti əlavə edin</translation>
@@ -9125,6 +9184,7 @@
 <translation id="8877448029301136595">[ana direktoriya]</translation>
 <translation id="8879284080359814990">&amp;Panel kimi göstərin</translation>
 <translation id="8879921471468674457">Giriş məlumatını yadda saxlayın</translation>
+<translation id="8880009256105053174">Google ilə bu səhifəni axtarın...</translation>
 <translation id="8880054210564666174">Kontakt siyahısını endirmək olmur. Şəbəkə bağlantınızı yoxlayın və ya <ph name="LINK_BEGIN" />yenidən cəhd edin<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Yenidən cəhd edin. Texniki dəstək üçün <ph name="CARRIER_NAME" /> ilə əlaqə saxlayın.</translation>
 <translation id="888256071122006425">Maus və taçped ayarları</translation>
@@ -9389,6 +9449,7 @@
 <translation id="9102864637938129124">Saytlar və reklamçılar reklamların necə işlədiyini başa düşə bilər. Bu ayar aktivdir.</translation>
 <translation id="9103479157856427471">Miqyası böyüdülmüş ekran klaviatura gokusunu izləyir</translation>
 <translation id="9103868373786083162">Geri qayıtmaq üçün basın və tarixməni görmək üçün kontekst menyuya basın</translation>
+<translation id="9107096627210171112">Tərcümə edin...</translation>
 <translation id="9108035152087032312">&amp;Pəncərəyə ad verin...</translation>
 <translation id="9108072915170399168">Cari data istifadəsi ayarı: İnternet olmadan</translation>
 <translation id="9108294543511800041">İndi telefonunuzun son fotolarına, mediasına və bildirişlərinə baxa bilərsiniz</translation>
@@ -9545,6 +9606,7 @@
 <translation id="947329552760389097">&amp;Elementləri Yoxlayın</translation>
 <translation id="947526284350604411">Cavabınız</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> sistem faylları ehtiva etdiyinə görə bu qovluqdakı faylları aça bilmir</translation>
+<translation id="949807244219288032">Bu tab HID cihazına qoşuludur</translation>
 <translation id="950307215746360464">Ayarlama bələdçisi</translation>
 <translation id="951991426597076286">Kənarlaşdırın</translation>
 <translation id="952471655966876828">Cihaz işə salındıqda və istifadə edildikdə avtomatik olaraq qoşulacaq</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb
index 0775241..550578c 100644
--- a/chrome/app/resources/generated_resources_be.xtb
+++ b/chrome/app/resources/generated_resources_be.xtb
@@ -528,6 +528,7 @@
 <translation id="1448779317883494811">Інструмент "Пэндзаль"</translation>
 <translation id="1449191289887455076">Каб пацвердзіць прызначэнне і <ph name="RESPONSE" />, яшчэ раз націсніце "<ph name="CURRENTKEY" />"</translation>
 <translation id="1451375123200651445">Вэб-старонка адным файлам</translation>
+<translation id="145280054552001290">Дадавайце і выдаляйце мовы для субцітраў</translation>
 <translation id="1453561711872398978">Адправіць <ph name="BEGIN_LINK" />журналы адладкі<ph name="END_LINK" /> (рэкамендуецца)</translation>
 <translation id="1454223536435069390">З&amp;рабіць здымак экрана</translation>
 <translation id="145432137617179457">Мовы праверкі правапісу</translation>
@@ -3602,6 +3603,7 @@
 <translation id="4044612648082411741">Увядзіце пароль сертыфіката</translation>
 <translation id="4044708573046946214">Пароль блакіроўкі экрана</translation>
 <translation id="404493185430269859">Стандартная пошукавая сістэма</translation>
+<translation id="4045196801416070837">Гукі прылады</translation>
 <translation id="4046013316139505482">Гэтым пашырэнням не трэба праглядаць і змяняць інфармацыю на гэтым сайце.</translation>
 <translation id="4046123991198612571">Наступны трэк</translation>
 <translation id="4047345532928475040">Няма ацэнкі</translation>
@@ -5203,6 +5205,7 @@
 <translation id="5481941284378890518">Дадаць прынтары паблізу</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> патрабуе, каб вы стварылі рэзервовую копію сваіх даных і вярнулі прыладу <ph name="DEVICE_TYPE" /> сёння. <ph name="LINK_BEGIN" />Больш падрабязна<ph name="LINK_END" />}one{<ph name="MANAGER" /> патрабуе, каб вы стварылі рэзервовую копію сваіх даных і вярнулі прыладу <ph name="DEVICE_TYPE" /> на працягу {NUM_DAYS} дня. <ph name="LINK_BEGIN" />Больш падрабязна<ph name="LINK_END" />}few{<ph name="MANAGER" /> патрабуе, каб вы стварылі рэзервовую копію сваіх даных і вярнулі прыладу <ph name="DEVICE_TYPE" /> на працягу {NUM_DAYS} дзён. <ph name="LINK_BEGIN" />Больш падрабязна<ph name="LINK_END" />}many{<ph name="MANAGER" /> патрабуе, каб вы стварылі рэзервовую копію сваіх даных і вярнулі прыладу <ph name="DEVICE_TYPE" /> на працягу {NUM_DAYS} дзён. <ph name="LINK_BEGIN" />Больш падрабязна<ph name="LINK_END" />}other{<ph name="MANAGER" /> патрабуе, каб вы стварылі рэзервовую копію сваіх даных і вярнулі прыладу <ph name="DEVICE_TYPE" /> на працягу {NUM_DAYS} дня. <ph name="LINK_BEGIN" />Больш падрабязна<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Дадаць праграму</translation>
+<translation id="5485435764083510385">Прыярытэтная мова субцітраў</translation>
 <translation id="5485754497697573575">Аднавіць усе ўкладкі</translation>
 <translation id="5486261815000869482">Пацвердзіце пароль</translation>
 <translation id="5486561344817861625">Імітаваць перазапуск браўзера</translation>
@@ -7392,6 +7395,7 @@
 <translation id="7400839060291901923">Наладзьце падключэнне на прыладзе <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Адхіліць гэта паведамленне</translation>
 <translation id="7402198013420237102">Перамясціць захаваныя паролі ва Уліковы запіс Google?</translation>
+<translation id="740333000181878130">Гук пры запуску прылады</translation>
 <translation id="7403642243184989645">Спампоўванне рэсурсаў</translation>
 <translation id="7404065585741198296">Ваш тэлефон з кабелем USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Праверка бяспекі выконвалася гадзіну таму}one{Праверка бяспекі выконвалася {NUM_HOURS} гадзіну таму}few{Праверка бяспекі выконвалася {NUM_HOURS} гадзіны таму}many{Праверка бяспекі выконвалася {NUM_HOURS} гадзін таму}other{Праверка бяспекі выконвалася {NUM_HOURS} гадзіны таму}}</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index f8172d4..1ff4a2ab 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -527,6 +527,7 @@
 <translation id="1448779317883494811">Инструмент за четка</translation>
 <translation id="1449191289887455076">Натиснете <ph name="CURRENTKEY" /> отново, за да потвърдите зададеното действие и да <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Уеб страница, един файл</translation>
+<translation id="145280054552001290">Добавяне и премахване на езици за надписите</translation>
 <translation id="1453561711872398978">Изпращане на
 <ph name="BEGIN_LINK" />регистрационните файлове за отстраняване на програмни грешки<ph name="END_LINK" /> (препоръчително)</translation>
 <translation id="1454223536435069390">Създаване на &amp;екранна снимка</translation>
@@ -3613,6 +3614,7 @@
 <translation id="4044612648082411741">Въведете паролата си за сертификата</translation>
 <translation id="4044708573046946214">Парола за заключване на екрана</translation>
 <translation id="404493185430269859">Основна търсеща машина</translation>
+<translation id="4045196801416070837">Звуци от устройството</translation>
 <translation id="4046013316139505482">Тези разширения нямат нужда да виждат и променят информацията на сайта.</translation>
 <translation id="4046123991198612571">Следващ запис</translation>
 <translation id="4047345532928475040">Няма данни</translation>
@@ -5216,6 +5218,7 @@
 <translation id="5481941284378890518">Добавяне на принтери в близост</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> изисква да създадете резервно копие на данните си и да върнете това устройство <ph name="DEVICE_TYPE" /> днес. <ph name="LINK_BEGIN" />Вижте подробности<ph name="LINK_END" />}other{<ph name="MANAGER" /> изисква да създадете резервно копие на данните си и да върнете това устройство <ph name="DEVICE_TYPE" /> в рамките на {NUM_DAYS} дни. <ph name="LINK_BEGIN" />Вижте подробности<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Добавяне на приложението</translation>
+<translation id="5485435764083510385">Предпочитан език на надписите</translation>
 <translation id="5485754497697573575">Възстановяване на всички раздели</translation>
 <translation id="5486261815000869482">Потвърждаване на паролата</translation>
 <translation id="5486561344817861625">Симулиране на рестартиране на браузъра</translation>
@@ -7400,6 +7403,7 @@
 <translation id="7400839060291901923">Настройте връзката на телефона си <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Отхвърляне на това съобщение</translation>
 <translation id="7402198013420237102">Искате ли да преместите запазените пароли в профила си в Google?</translation>
+<translation id="740333000181878130">Звук при стартиране на устройството</translation>
 <translation id="7403642243184989645">Ресурсите се изтеглят</translation>
 <translation id="7404065585741198296">Вашият телефон, свързан с USB кабел</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Проверката на безопасността бе изпълнена преди 1 час}other{Проверката на безопасността бе изпълнена преди {NUM_HOURS} часа}}</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index 60e9937..cbd9175 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">প্রোফাইল ত্রুটি ঘটেছে</translation>
 <translation id="1253664522045778676">একটি ফলাফলে ক্লিক করুন এবং পৃষ্ঠাটি আপনার বর্তমান ট্যাবে খুলবে</translation>
 <translation id="1254593899333212300">সরাসরি ইন্টারনেট সংযোগ</translation>
+<translation id="1256588359404100567">আপনার আগের ডিভাইস থেকে সেটিং সিঙ্ক করা হয়েছে।</translation>
 <translation id="1257336506558170607">বেছে নেওয়া সার্টিফিকেট এক্সপোর্ট করুন</translation>
 <translation id="1258491128795710625">নতুন কী আছে</translation>
 <translation id="1259152067760398571">গতকাল নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে</translation>
@@ -528,6 +529,7 @@
 <translation id="1448779317883494811">ব্রাশ টুল</translation>
 <translation id="1449191289887455076">অ্যাসাইনমেন্ট কনফার্ম করতে, "<ph name="CURRENTKEY" />" আবার প্রেস করুন এবং <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Webpage, Single File</translation>
+<translation id="145280054552001290">ক্যাপশনে ভাষা যোগ করুন ও সরান</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />
     ডিবাগ লগ<ph name="END_LINK" /> পাঠান (সাজেস্ট করা হয়)</translation>
 <translation id="1454223536435069390">স্ক্রিনশট নিন</translation>
@@ -1006,6 +1008,7 @@
 <translation id="18260074040409954">যেকোনও ডিভাইসে আপনি সেভ করা পাসওয়ার্ড ব্যবহার করতে পারবেন। সেগুলি <ph name="EMAIL" />-এর জন্য <ph name="GOOGLE_PASSWORD_MANAGER" />-এ সেভ হয়</translation>
 <translation id="1826192255355608658">আপনার Chrome ব্রাউজারের বুকমার্ক, পাসওয়ার্ড, ইতিহাস এবং আরও অনেক কিছু সিঙ্ক করুন</translation>
 <translation id="1826516787628120939">চেক করা হচ্ছে</translation>
+<translation id="1826657447823925402">রিভার্স স্ক্রলিং বন্ধ করা হয়েছে</translation>
 <translation id="1827504459960247692">হটস্পটের নাম</translation>
 <translation id="1828378091493947763">এই ডিভাইসে এই প্লাগ-ইন সমর্থিত নয়</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{সবকটি &amp;খুলুন}=1{বুকমার্ক &amp;খুলুন}one{সবকটি ({COUNT}টি) &amp;খুলুন}other{সবকটি ({COUNT}টি) &amp;খুলুন}}</translation>
@@ -1294,6 +1297,7 @@
 <translation id="2081816110395725788">ব্যাটারিতে চালানোর সময় ডিভাইসকে 'নিষ্ক্রিয়' বা 'স্লিপ' স্ট্যাটাসে রাখা</translation>
 <translation id="2082187087049518845">ট্যাবকে নতুন কোনও গ্রুপে যুক্ত করুন</translation>
 <translation id="2082510809738716738">একটি থিম রঙ বেছে নিন</translation>
+<translation id="2084891381052978619">এছাড়া, আপনার Chromebook সেট-আপ করা শেষ হলে, আপনি এইসব বিকল্প, সেটিংসে দেখতে পারবেন</translation>
 <translation id="208586643495776849">আবার চেষ্টা করুন</translation>
 <translation id="208634871997892083">সবসময় চালু ভিপিএন</translation>
 <translation id="2087822576218954668">প্রিন্ট করুন: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1367,7 @@
 <translation id="212862741129535676">ফ্রিকোয়েন্সি স্টেট ওকুপেন্সির শতকরা হার</translation>
 <translation id="212876957201860463">আপনার সেলুলার ডিভাইসকে সেট-আপ করার জন্য প্রস্তুত করা হচ্ছে...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" ইনস্টল করা যায়নি কারণ এটি "<ph name="IMPORT_NAME" />" এর দ্বারা অনুমোদিত নয়</translation>
+<translation id="2133775869826239001">সেট-আপ করতে, আরও ফিচার বেছে নিন</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> আবার চেষ্টা করুন</translation>
 <translation id="2134905185275441536">সিস্টেম সিএ (CA)</translation>
 <translation id="21354425047973905">পিন লুকিয়ে রাখুন</translation>
@@ -2946,6 +2951,7 @@
 <translation id="347785443197175480">আপনার ক্যামেরা এবং মাইক্রোফোন অ্যাক্সেস করতে <ph name="HOST" /> এর মঞ্জুরি অবিরত রাখুন</translation>
 <translation id="3479552764303398839">এখনই নয়</translation>
 <translation id="3479685872808224578">প্রিন্ট সার্ভার খুঁজে পাওয়া যায়নি। অ্যাড্রেস চেক করে আবার চেষ্টা করে দেখুন।</translation>
+<translation id="3479753605053415848">Chrome কাস্টমাইজ করতে ক্লিক করুন</translation>
 <translation id="3480612136143976912">'লাইভ ক্যাপশন' ফিচারের স্টাইল ও ক্যাপশন সাইজ কাস্টমাইজ করুন। কিছু অ্যাপ ও সাইটও এই সেটিং ব্যবহার করবে।</translation>
 <translation id="3480827850068960424"><ph name="NUM" />টি ট্যাব পাওয়া গেছে</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> সেকেন্ডের মধ্যে <ph name="ALTERNATIVE_BROWSER_NAME" /> চালু হতে চলেছে</translation>
@@ -3239,6 +3245,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />-এর ডেটা ২৪ ঘণ্টার মধ্যে মুছে যাবে</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> খুলবেন?</translation>
+<translation id="3740945083753997630">ডিসপ্লে ও টেক্সটের সাইজ ছোট করুন</translation>
 <translation id="3741056951918180319">যেকোনও সাইটে এক্সটেনশন ব্যবহার করার জন্য আপনি সবসময় সেটি ক্লিক করতে পারবেন</translation>
 <translation id="3742235229730461951">কোরীয়  কীবোর্ড লেআউট</translation>
 <translation id="3742666961763734085">এই নামের কোনও প্রতিষ্ঠানের ইউনিট খুঁজে পাওয়া যাচ্ছে না। অনুগ্রহ করে আবার চেষ্টা করুন।</translation>
@@ -3616,6 +3623,7 @@
 <translation id="4044612648082411741">আপনার সার্টিফিকেটের পাসওয়ার্ড লিখুন</translation>
 <translation id="4044708573046946214">স্ক্রিন লক করার পাসওয়ার্ড</translation>
 <translation id="404493185430269859">ডিফল্ট সার্চ ইঞ্জিন</translation>
+<translation id="4045196801416070837">ডিভাইসের শব্দ</translation>
 <translation id="4046013316139505482">এই এক্সটেনশনগুলির এই সাইটের তথ্য দেখা ও পরিবর্তন করার দরকার নেই।</translation>
 <translation id="4046123991198612571">পরবর্তী ট্র্যাক</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -4066,6 +4074,7 @@
 <translation id="4444512841222467874">যদি জায়গা প্রস্তুত করা না হয়, তাহলে ব্যবহারকারী এবং ডেটাকে স্বয়ংক্রিয়ভাবে সরানো হতে পারে।</translation>
 <translation id="4445446646109808714">গ্রাহকের লাইসেন্স চুক্তি: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">মিরর করা হয়েছে</translation>
+<translation id="4448560527907365660">সেভ করুন ও আরও বেশি দেখুন</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" />-এ <ph name="USERNAME" />-এর পাসওয়ার্ড লুকান</translation>
 <translation id="4449247303975391730">অনুমতি ম্যানেজ করুন</translation>
 <translation id="4449948729197510913">আপনার ইউজারনেম আপনার সংস্থার এন্টারপ্রাইজ অ্যাকাউন্টের সাথে যুক্ত আছে। এই অ্যাকাউন্টে ডিভাইস এনরোল করতে, প্রথমে অ্যাডমিন কনসোলে ডোমেনের মালিকানা যাচাই করে নিন। যাচাই করার জন্য আপনাকে এই অ্যাকাউন্টে অ্যাডমিনিস্ট্রেটর সম্বন্ধীয় বিশেষাধিকার অর্জন করতে হবে।</translation>
@@ -5221,7 +5230,9 @@
 <translation id="5481941284378890518">আশেপাশের প্রিন্টারগুলি যোগ করুন</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> আপনাকে ডেটার ব্যাকআপ নিয়ে এই <ph name="DEVICE_TYPE" /> আজই ফেরত দিতে বলছে। <ph name="LINK_BEGIN" />বিবরণ দেখুন<ph name="LINK_END" />}one{<ph name="MANAGER" /> আপনাকে {NUM_DAYS} দিনের মধ্যে ডেটার ব্যাকআপ নিতে ও এই <ph name="DEVICE_TYPE" /> ফেরত দিতে বলছে। <ph name="LINK_BEGIN" />বিস্তারিত দেখুন<ph name="LINK_END" />}other{<ph name="MANAGER" /> আপনাকে {NUM_DAYS} দিনের মধ্যে ডেটার ব্যাকআপ নিতে ও এই <ph name="DEVICE_TYPE" /> ফেরত দিতে বলছে। <ph name="LINK_BEGIN" />বিস্তারিত দেখুন<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">অ্যাপ্লিকেশান যোগ করুন</translation>
+<translation id="5485435764083510385">ক্যাপশনের জন্য পছন্দের ভাষা</translation>
 <translation id="5485754497697573575">সকল ট্যাব পুনরুদ্ধার করুন</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> ব্যবহার করার জন্য নতুন বা অন্য ধরনের ডিভাইস প্রয়োজন হতে পারে</translation>
 <translation id="5486261815000869482">পাসওয়ার্ড নিশ্চিত করুন</translation>
 <translation id="5486561344817861625">ব্রাউজার রিস্টার্ট সিমুলেট করুন</translation>
 <translation id="5487460042548760727">প্রোফাইলের নাম পরিবর্তন করে <ph name="PROFILE_NAME" /> রাখুন</translation>
@@ -5577,6 +5588,7 @@
 <translation id="5799508265798272974">Linux ভার্চুয়াল মেশিন: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">শেষ ডাউনলোড থেকে গন্তব্য ফাইল হয় ছাঁটকাট অথবা সরানো হয়েছে৷</translation>
 <translation id="5800351251499368110">সাইড প্যানেলে সার্চ বন্ধ করুন। সাইড প্যানেলে সার্চ বিকল্প খোলা আছে।</translation>
+<translation id="5800703268655655701">লাইট বা ডার্ক থিম বেছে নিন</translation>
 <translation id="5801051031414037185">ফোন সেট-আপ করুন</translation>
 <translation id="5801568494490449797">অভিরুচিসমূহ</translation>
 <translation id="5803689677801500549">সেভ করা পাসওয়ার্ড এখানে দেখা যাবে। <ph name="USER_EMAIL" />-এর জন্য <ph name="BRAND" />-এ পাসওয়ার্ড ইমপোর্ট করতে, <ph name="BEGIN_LINK" />একটি CSV ফাইল বেছে নিন<ph name="END_LINK" />।</translation>
@@ -6966,6 +6978,7 @@
 <translation id="6993050154661569036">Chrome ব্রাউজার আপডেট করা হচ্ছে</translation>
 <translation id="6995899638241819463">আপনার পাসওয়ার্ড কোনও ডেটা নিরাপত্তা লঙ্ঘনের কারণে সর্বজনীনভাবে প্রকাশ হলে তা আপনাকে জানানো হবে</translation>
 <translation id="6995984090981858039">ChromeOS ডিভাইসের তথ্য এবং ডেটা অ্যাক্সেস করতে পারবে</translation>
+<translation id="6996438701394974959">ডিসপ্লে ও টেক্সটের সাইজ বাড়ান</translation>
 <translation id="6997553674029032185">সাইটে যান</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - অ্যাক্টিভিটি লগ</translation>
 <translation id="6997707937646349884">আপনার ডিভাইসে:</translation>
@@ -7408,6 +7421,7 @@
 <translation id="7400839060291901923">আপনার <ph name="PHONE_NAME" /> এ সংযোগ সেট-আপ করুন</translation>
 <translation id="7401778920660465883">এই মেসেজ বাতিল করুন</translation>
 <translation id="7402198013420237102">আপনার Google অ্যাকাউন্টে সেভ করা পাসওয়ার্ডগুলি সরাবেন?</translation>
+<translation id="740333000181878130">ডিভাইস শুরু হওয়ার আওয়াজ</translation>
 <translation id="7403642243184989645">রিসোর্স ডাউনলোড করা হচ্ছে</translation>
 <translation id="7404065585741198296">ইউএসবি কেবেল দিয়ে আপনার ফোন কানেক্ট করুন</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{১ ঘণ্টা আগে নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে}one{{NUM_HOURS} ঘণ্টা আগে নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে}other{{NUM_HOURS} ঘণ্টা আগে নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে}}</translation>
@@ -7891,6 +7905,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">স্টার্ট পেজের ব্যাকগ্রাউন্ড পরিবর্তন করে <ph name="CATEGORY" /> করা হয়েছে।</translation>
+<translation id="7791436592012979144">রিভার্স স্ক্রলিং চালু করা হয়েছে</translation>
 <translation id="7791543448312431591">জুড়ুন</translation>
 <translation id="7792012425874949788">প্রবেশ করার সময় কিছু সমস্যা হয়েছে</translation>
 <translation id="7792388396321542707">শেয়ার করা বন্ধ করুন</translation>
@@ -8057,6 +8072,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% হয়ে গেছে</translation>
 <translation id="7939062555109487992">উন্নত বিকল্প</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> পড়তে ও পরিবর্তন করতে, এই এক্সটেনশনের আইকন ক্লিক করুন</translation>
+<translation id="793923212791838">এই সাইটের সাথে আপনার ডিভাইস ব্যবহার করা যাবে না</translation>
 <translation id="7939328347457537652">ডিভাইস সার্টিফিকেট ম্যানেজ করুন</translation>
 <translation id="7939412583708276221">যে কোনও অবস্থাতেই রাখুন</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> অনুসারে সাজান</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index c7dac70..7e0ce68ca 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -318,7 +318,7 @@
 <translation id="1252987234827889034">Došlo je do greške na profilu</translation>
 <translation id="1253664522045778676">Kliknite na rezultat i stranica će se otvoriti u trenutnoj kartici</translation>
 <translation id="1254593899333212300">Direktna internetska veza</translation>
-<translation id="1256588359404100567">Postavka je sinkronizirana s vašeg prethodnog uređaja.</translation>
+<translation id="1256588359404100567">Postavka je sinhronizirana s prethodnog uređaja.</translation>
 <translation id="1257336506558170607">Izvoz odabranih certifikata</translation>
 <translation id="1258491128795710625">Šta je novo</translation>
 <translation id="1259152067760398571">Sigurnosna provjera je izvršena jučer</translation>
@@ -1006,7 +1006,7 @@
 <translation id="18260074040409954">Sačuvane lozinke možete koristiti na bilo kojem uređaju. Pohranjuju se u <ph name="GOOGLE_PASSWORD_MANAGER" /> za <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinhronizirajte oznake, lozinke, historiju i druge podatke preglednika Chrome</translation>
 <translation id="1826516787628120939">Provjera</translation>
-<translation id="1826657447823925402">Onemogućeno je obrnuto pomicanje</translation>
+<translation id="1826657447823925402">Klizanje unazad je onemogućeno</translation>
 <translation id="1827504459960247692">Naziv pristupne tačke</translation>
 <translation id="1828378091493947763">Dodatak nije podržan na ovom uređaju.</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Otvori sve}=1{&amp;Otvori oznaku}one{&amp;Otvori sve ({COUNT})}few{&amp;Otvori sve ({COUNT})}other{&amp;Otvori sve ({COUNT})}}</translation>
@@ -1295,7 +1295,7 @@
 <translation id="2081816110395725788">Neaktivnost tokom baterijskog napajanja</translation>
 <translation id="2082187087049518845">Dodaj karticu u grupu</translation>
 <translation id="2082510809738716738">Odaberite boju teme</translation>
-<translation id="2084891381052978619">Te opcije možete pronaći i u postavkama nakon što dovršite postavljanje Chromebooka</translation>
+<translation id="2084891381052978619">Možete pronaći ove opcije i u Postavkama nakon što završite postavljanje Chromebooka</translation>
 <translation id="208586643495776849">Pokušajte ponovo</translation>
 <translation id="208634871997892083">Uvijek aktivni VPN</translation>
 <translation id="2087822576218954668">Štampaj: <ph name="PRINT_NAME" /></translation>
@@ -1365,7 +1365,7 @@
 <translation id="212862741129535676">Postotak zauzetosti stanja frekvencije</translation>
 <translation id="212876957201860463">Priprema za postavljanje vašeg mobilnog uređaja...</translation>
 <translation id="2131077480075264">Nije moguće instalirati aplikaciju "<ph name="APP_NAME" />" jer to ne dozvoljava "<ph name="IMPORT_NAME" />"</translation>
-<translation id="2133775869826239001">Odaberite više značajki za postavljanje</translation>
+<translation id="2133775869826239001">Odaberite više funkcija koje želite postaviti</translation>
 <translation id="2133857665503360653">Ponovni pokušaj fajla <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA certifikati sistema</translation>
 <translation id="21354425047973905">Sakrij PIN-ove</translation>
@@ -2950,7 +2950,7 @@
 <translation id="347785443197175480">I dalje dozvoljavaj host računaru <ph name="HOST" /> da pristupa kameri i mikrofonu</translation>
 <translation id="3479552764303398839">Ne sada</translation>
 <translation id="3479685872808224578">Otkrivanje servera za štampanje nije uspjelo. Provjerite adresu i pokušajte ponovo.</translation>
-<translation id="3479753605053415848">Kliknite da biste prilagodili Chrome</translation>
+<translation id="3479753605053415848">Kliknite da prilagodite Chrome</translation>
 <translation id="3480612136143976912">Prilagodite veličinu i stil titlova za Automatske titlove. Neke aplikacije i web lokacije će također koristiti ovu postavku.</translation>
 <translation id="3480827850068960424">Pronađen je sljedeći broj kartica: <ph name="NUM" /></translation>
 <translation id="3481268647794498892">Otvaranje u pregledniku <ph name="ALTERNATIVE_BROWSER_NAME" /> za <ph name="COUNTDOWN_SECONDS" /> s</translation>
@@ -3245,7 +3245,7 @@
 <translation id="3738632186060045350">Podaci na uređaju <ph name="DEVICE_TYPE" /> će se izbrisati za 24 sata</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Otvoriti <ph name="APPLICATION" />?</translation>
-<translation id="3740945083753997630">Smanjite veličinu prikaza i teksta</translation>
+<translation id="3740945083753997630">Smanjivanje veličine prikaza i teksta</translation>
 <translation id="3741056951918180319">Uvijek možete kliknuti na ekstenziju da ga koristite na bilo kojoj web lokaciji</translation>
 <translation id="3742235229730461951">Raspored korejske tastature</translation>
 <translation id="3742666961763734085">Nije moguće pronaći organizacionu jedinicu pod tim imenom. Pokušajte ponovo.</translation>
@@ -4074,7 +4074,7 @@
 <translation id="4444512841222467874">Ako se ne obezbijedi prostor, može doći do automatskog uklanjanja korisnika i podataka.</translation>
 <translation id="4445446646109808714">Ugovor o licenci za krajnjeg korisnika: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Preslikan</translation>
-<translation id="4448560527907365660">Spremite i pogledajte više</translation>
+<translation id="4448560527907365660">Sačuvaj i prikaži više</translation>
 <translation id="4448914100439890108">Sakrivanje lozinke za korisnika <ph name="USERNAME" /> na domeni <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Upravljajte odobrenjima</translation>
 <translation id="4449948729197510913">Vaše korisničko ime pripada računu preduzeća vaše organizacije. Da prijavite uređaje na račun, najprije potvrdite vlasništvo domene u konzoli administratora. Trebat će vam administrativne privilegije na računu da potvrdite.</translation>
@@ -5232,7 +5232,7 @@
 <translation id="5485102783864353244">Dodaj aplikaciju</translation>
 <translation id="5485435764083510385">Željeni jezik titlova</translation>
 <translation id="5485754497697573575">Vrati sve kartice</translation>
-<translation id="5486071940327595306"><ph name="WEBSITE" /> može zahtijevati noviji uređaj ili neku drugu vrstu uređaja</translation>
+<translation id="5486071940327595306">Web lokacija <ph name="WEBSITE" /> može zahtijevati noviju ili drugu vrstu uređaja</translation>
 <translation id="5486261815000869482">Potvrdite lozinku</translation>
 <translation id="5486561344817861625">Simuliacija ponovnog pokretanja preglednika</translation>
 <translation id="5487460042548760727">Promjena naziva profila u <ph name="PROFILE_NAME" /></translation>
@@ -5588,7 +5588,7 @@
 <translation id="5799508265798272974">Linux virtuelni uređaj: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Odredišni fajl je skraćen ili uklonjen od zadnjeg preuzimanja.</translation>
 <translation id="5800351251499368110">Zatvaranje pretraživanja na bočnoj ploči. Pretraživanje je otvoreno na bočnoj ploči.</translation>
-<translation id="5800703268655655701">Odabir svijetle ili tamne teme</translation>
+<translation id="5800703268655655701">Odaberite svijetlu ili tamnu temu</translation>
 <translation id="5801051031414037185">Postavljanje telefona</translation>
 <translation id="5801568494490449797">Postavke</translation>
 <translation id="5803689677801500549">Sačuvane lozinke će se prikazivati ovdje. Da uvezete lozinke na uslugu <ph name="BRAND" /> za račun <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />odaberite CSV fajl.<ph name="END_LINK" /></translation>
@@ -6979,7 +6979,7 @@
 <translation id="6993050154661569036">Ažuriranje preglednika Chrome</translation>
 <translation id="6995899638241819463">Upozori ako su lozinke izložene pri narušavanju podataka</translation>
 <translation id="6995984090981858039">Čitaj informacije i podatke s ChromeOS uređaja</translation>
-<translation id="6996438701394974959">Povećajte veličinu prikaza i teksta</translation>
+<translation id="6996438701394974959">Povećavanje veličine prikaza i teksta</translation>
 <translation id="6997553674029032185">Idi na web lokaciju</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – zapisnik aktivnosti</translation>
 <translation id="6997707937646349884">Na vašim uređajima:</translation>
@@ -7907,7 +7907,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Pozadina početne stranice promijenjena je u fotografiju <ph name="CATEGORY" />.</translation>
-<translation id="7791436592012979144">Omogućeno je obrnuto pomicanje</translation>
+<translation id="7791436592012979144">Klizanje unazad je omogućeno</translation>
 <translation id="7791543448312431591">Dodaj</translation>
 <translation id="7792012425874949788">Nešto nije uredu s prijavom</translation>
 <translation id="7792388396321542707">Zaustavi dijeljenje</translation>
@@ -8074,7 +8074,7 @@
 <translation id="7935451262452051102">Završeno <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Napredne opcije</translation>
 <translation id="7939073735115504773">Kliknite na ikonu ekstenzije da pročitate i promijenite <ph name="HOST" /></translation>
-<translation id="793923212791838">Uređaj se ne može upotrebljavati s ovom web-lokacijom</translation>
+<translation id="793923212791838">Uređaj se ne može koristiti s ovom web lokacijom</translation>
 <translation id="7939328347457537652">Upravljaj certifikatima uređaja</translation>
 <translation id="7939412583708276221">Ipak zadrži</translation>
 <translation id="7940265372707990269">Poredaj po: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index e153633..ebe39ba 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">S'ha produït un error amb el perfil</translation>
 <translation id="1253664522045778676">Fes clic en un resultat i la pàgina s'obrirà a la pestanya actual</translation>
 <translation id="1254593899333212300">Connexió directa a Internet</translation>
+<translation id="1256588359404100567">L'opció de configuració s'ha sincronitzat des del dispositiu anterior.</translation>
 <translation id="1257336506558170607">Exporta el certificat seleccionat</translation>
 <translation id="1258491128795710625">Novetats</translation>
 <translation id="1259152067760398571">Es va executar una comprovació de seguretat ahir</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">Eina de pinzell</translation>
 <translation id="1449191289887455076">Torna a prémer <ph name="CURRENTKEY" /> per confirmar l'assignació i <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Pàgina web, un únic fitxer</translation>
+<translation id="145280054552001290">Afegeix i suprimeix idiomes als subtítols</translation>
 <translation id="1453561711872398978">Envia <ph name="BEGIN_LINK" />registres de depuració<ph name="END_LINK" /> (opció recomanada)</translation>
 <translation id="1454223536435069390">Fes una c&amp;aptura de pantalla</translation>
 <translation id="145432137617179457">Idiomes del corrector ortogràfic</translation>
@@ -994,6 +996,7 @@
 <translation id="18260074040409954">Pots utilitzar les contrasenyes desades en qualsevol dispositiu. Es desen al <ph name="GOOGLE_PASSWORD_MANAGER" /> per a <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sincronitza les adreces d'interès, les contrasenyes, l'historial i altres elements del teu navegador Chrome</translation>
 <translation id="1826516787628120939">S'està comprovant</translation>
+<translation id="1826657447823925402">El desplaçament invers està desactivat</translation>
 <translation id="1827504459960247692">Nom del punt d'accés Wi-Fi</translation>
 <translation id="1828378091493947763">Aquest connector no és compatible amb el dispositiu</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Obre-les totes}=1{&amp;Obre l'adreça d'interès}other{&amp;Obre-les totes ({COUNT})}}</translation>
@@ -1281,6 +1284,7 @@
 <translation id="2081816110395725788">Inactiu mentre utilitza la bateria</translation>
 <translation id="2082187087049518845">Agrupa la pestanya</translation>
 <translation id="2082510809738716738">Tria un color de tema</translation>
+<translation id="2084891381052978619">També podràs trobar aquestes opcions a Configuració quan hagis acabat de configurar el Chromebook</translation>
 <translation id="208586643495776849">Torna-ho a provar</translation>
 <translation id="208634871997892083">VPN sempre activada</translation>
 <translation id="2087822576218954668">Impressió: <ph name="PRINT_NAME" /></translation>
@@ -1350,6 +1354,7 @@
 <translation id="212862741129535676">Percentatge d'ocupació de l'estat de freqüència</translation>
 <translation id="212876957201860463">S'està preparant la configuració del dispositiu mòbil...</translation>
 <translation id="2131077480075264">No s'ha pogut instal·lar <ph name="APP_NAME" /> perquè <ph name="IMPORT_NAME" /> no ho permet.</translation>
+<translation id="2133775869826239001">Tria més funcions per configurar-les</translation>
 <translation id="2133857665503360653">Torna a provar <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA del sistema</translation>
 <translation id="21354425047973905">Amaga els PIN</translation>
@@ -2930,6 +2935,7 @@
 <translation id="347785443197175480">Continua permetent que <ph name="HOST" /> accedeixi a la càmera i al micròfon</translation>
 <translation id="3479552764303398839">Ara no</translation>
 <translation id="3479685872808224578">No s'ha pogut detectar el servidor d'impressió. Comprova l'adreça i torna-ho a provar.</translation>
+<translation id="3479753605053415848">Fes clic per personalitzar Chrome</translation>
 <translation id="3480612136143976912">Personalitza la mida i l'estil dels subtítols que s'utilitzen a Subtítols instantanis. Algunes aplicacions i llocs web també utilitzaran aquesta opció de configuració.</translation>
 <translation id="3480827850068960424">S'han trobat <ph name="NUM" /> pestanyes</translation>
 <translation id="3481268647794498892">S'obrirà a <ph name="ALTERNATIVE_BROWSER_NAME" /> d'aquí a <ph name="COUNTDOWN_SECONDS" /> segons</translation>
@@ -3223,6 +3229,7 @@
 <translation id="3738632186060045350">Les dades del dispositiu <ph name="DEVICE_TYPE" /> se suprimiran en un termini de 24 hores</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Vols obrir <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Redueix la mida de la pantalla i del text</translation>
 <translation id="3741056951918180319">Sempre pots fer clic a l'extensió per utilitzar-la en qualsevol lloc web</translation>
 <translation id="3742235229730461951">Disseny de teclat coreà</translation>
 <translation id="3742666961763734085">No es troba cap unitat organitzativa amb aquest nom. Torna-ho a provar.</translation>
@@ -3600,6 +3607,7 @@
 <translation id="4044612648082411741">Introdueix la contrasenya del certificat</translation>
 <translation id="4044708573046946214">Contrasenya del bloqueig de pantalla</translation>
 <translation id="404493185430269859">Motor de cerca predeterminat</translation>
+<translation id="4045196801416070837">Sons del dispositiu</translation>
 <translation id="4046013316139505482">Aquestes extensions no necessiten veure ni modificar la informació d'aquest lloc web.</translation>
 <translation id="4046123991198612571">Pista següent</translation>
 <translation id="4047345532928475040">N/D</translation>
@@ -4049,6 +4057,7 @@
 <translation id="4444512841222467874">Si no alliberes espai, pot ser que se suprimeixin dades i usuaris automàticament.</translation>
 <translation id="4445446646109808714">Acord de llicència d'usuari final: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Duplicat</translation>
+<translation id="4448560527907365660">Desa i mostra'n més</translation>
 <translation id="4448914100439890108">Amaga la contrasenya per a <ph name="USERNAME" /> a <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Gestiona els permisos</translation>
 <translation id="4449948729197510913">El teu nom d'usuari pertany al compte d'empresa de la teva organització. Per inscriure dispositius al compte, primer has de verificar la propietat del domini a la consola d'administració. Per verificar-la, hauràs de tenir privilegis administratius al compte.</translation>
@@ -5203,7 +5212,9 @@
 <translation id="5481941284378890518">Afegeix impressores properes</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> requereix que creïs una còpia de seguretat de les teves dades i que tornis aquest dispositiu <ph name="DEVICE_TYPE" /> avui. <ph name="LINK_BEGIN" />Mostra els detalls<ph name="LINK_END" />}other{<ph name="MANAGER" /> requereix que creïs una còpia de seguretat de les teves dades i que tornis aquest dispositiu <ph name="DEVICE_TYPE" /> en un termini de {NUM_DAYS} dies. <ph name="LINK_BEGIN" />Mostra els detalls<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Afegeix l'aplicació</translation>
+<translation id="5485435764083510385">Idioma preferit per als subtítols</translation>
 <translation id="5485754497697573575">Restaura totes les pestanyes</translation>
+<translation id="5486071940327595306">És possible que <ph name="WEBSITE" /> requereixi un tipus de dispositiu més nou o diferent</translation>
 <translation id="5486261815000869482">Confirma la contrasenya</translation>
 <translation id="5486561344817861625">Simula el reinici del navegador</translation>
 <translation id="5487460042548760727">Canvia el nom del perfil per <ph name="PROFILE_NAME" /></translation>
@@ -5557,6 +5568,7 @@
 <translation id="5799508265798272974">Màquina virtual de Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">El fitxer de destinació s'ha truncat o eliminat des de la darrera baixada.</translation>
 <translation id="5800351251499368110">Tanca la cerca al tauler lateral. La cerca està oberta al tauler lateral.</translation>
+<translation id="5800703268655655701">Selecciona el tema clar o fosc</translation>
 <translation id="5801051031414037185">Configura el telèfon</translation>
 <translation id="5801568494490449797">Preferències</translation>
 <translation id="5803689677801500549">Les contrasenyes desades es mostraran aquí. Per importar contrasenyes a <ph name="BRAND" /> per a <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />selecciona un fitxer CSV<ph name="END_LINK" />.</translation>
@@ -6942,6 +6954,7 @@
 <translation id="6993050154661569036">S'està actualitzant el navegador Chrome</translation>
 <translation id="6995899638241819463">Rep un advertiment si les contrasenyes queden exposades en l'àmbit d'una violació de les dades</translation>
 <translation id="6995984090981858039">Llegir informació i dades de dispositius ChromeOS</translation>
+<translation id="6996438701394974959">Augmenta la mida de la pantalla i del text</translation>
 <translation id="6997553674029032185">Ves al lloc web</translation>
 <translation id="6997642619627518301">Registre d'activitat a <ph name="NAME_PH" /></translation>
 <translation id="6997707937646349884">Als teus dispositius:</translation>
@@ -7384,6 +7397,7 @@
 <translation id="7400839060291901923">Configura la connexió al telèfon <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Omet aquest missatge</translation>
 <translation id="7402198013420237102">Vols moure les contrasenyes desades al Compte de Google?</translation>
+<translation id="740333000181878130">So d'inici del dispositiu</translation>
 <translation id="7403642243184989645">S'estan baixant els recursos</translation>
 <translation id="7404065585741198296">El teu telèfon amb un cable USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{S'ha executat una comprovació de seguretat fa 1 hora}other{S'ha executat una comprovació de seguretat fa {NUM_HOURS} hores}}</translation>
@@ -7868,6 +7882,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">El fons de la pàgina d'inici s'ha canviat a <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">El desplaçament invers està activat</translation>
 <translation id="7791543448312431591">Afegeix</translation>
 <translation id="7792012425874949788">S'ha produït un problema en iniciar la sessió</translation>
 <translation id="7792388396321542707">Deixa de compartir</translation>
@@ -8034,6 +8049,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% completat</translation>
 <translation id="7939062555109487992">Opcions avançades</translation>
 <translation id="7939073735115504773">Fes clic a la icona d'aquesta extensió per llegir i canviar <ph name="HOST" /></translation>
+<translation id="793923212791838">El dispositiu no es pot utilitzar en aquest lloc web</translation>
 <translation id="7939328347457537652">Gestiona els certificats del dispositiu</translation>
 <translation id="7939412583708276221">Continua de totes maneres</translation>
 <translation id="7940265372707990269">Ordena per <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_cy.xtb b/chrome/app/resources/generated_resources_cy.xtb
index 0db9a69e5..e233a18 100644
--- a/chrome/app/resources/generated_resources_cy.xtb
+++ b/chrome/app/resources/generated_resources_cy.xtb
@@ -320,6 +320,7 @@
 <translation id="1252987234827889034">Bu gwall proffil</translation>
 <translation id="1253664522045778676">Cliciwch ar ganlyniad a bydd y dudalen yn agor yn eich tab presennol</translation>
 <translation id="1254593899333212300">Cysylltiad Rhyngrwyd uniongyrchol</translation>
+<translation id="1256588359404100567">Mae'r gosodiad wedi'i gysoni o'ch dyfais flaenorol.</translation>
 <translation id="1257336506558170607">Allforio tystysgrif a ddewiswyd</translation>
 <translation id="1258491128795710625">Beth sy'n newydd</translation>
 <translation id="1259152067760398571">Cynhaliwyd gwiriad diogelwch ddoe</translation>
@@ -1009,6 +1010,7 @@
 <translation id="18260074040409954">Gallwch ddefnyddio cyfrineiriau sydd wedi'u cadw ar unrhyw ddyfais. Maent wedi'u cadw i <ph name="GOOGLE_PASSWORD_MANAGER" /> ar gyfer <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Cysoni eich nodau tudalen Chrome, cyfrineiriau, hanes a rhagor</translation>
 <translation id="1826516787628120939">Wrthi'n gwirio</translation>
+<translation id="1826657447823925402">Mae sgrolio tuag yn ôl wedi'i analluogi</translation>
 <translation id="1827504459960247692">Enw'r poethfan</translation>
 <translation id="1828378091493947763">Ni chefnogir yr ategyn hwn ar y ddyfais hon</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Agor Pob Un}=1{&amp;Agor Nod Tudalen}two{&amp;Agor Pob Un ({COUNT})}few{&amp;Agor Pob Un ({COUNT})}many{&amp;Agor Pob Un ({COUNT})}other{&amp;Agor Pob Un ({COUNT})}}</translation>
@@ -1297,6 +1299,7 @@
 <translation id="2081816110395725788">Pŵer segur ar fatri</translation>
 <translation id="2082187087049518845">Grwpio'r Tab</translation>
 <translation id="2082510809738716738">Dewiswch liw thema</translation>
+<translation id="2084891381052978619">Gallwch hefyd ddod o hyd i'r opsiynau hyn yn y Gosodiadau ar ôl i chi orffen gosod eich Chromebook</translation>
 <translation id="208586643495776849">Rhowch gynnig arall arni</translation>
 <translation id="208634871997892083">VPN ymlaen drwy'r amser</translation>
 <translation id="2087822576218954668">Argraffu: <ph name="PRINT_NAME" /></translation>
@@ -1366,6 +1369,7 @@
 <translation id="212862741129535676">Canran Meddiannaeth y Cyflwr Amledd</translation>
 <translation id="212876957201860463">Wrthi'n paratoi i osod eich dyfais symudol...</translation>
 <translation id="2131077480075264">Methu â gosod "<ph name="APP_NAME" />" oherwydd na chaniateir gan " <ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">Dewiswch ragor o nodweddion i'w gosod</translation>
 <translation id="2133857665503360653">Rhoi cynnig arall ar <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">System CA</translation>
 <translation id="21354425047973905">Cuddio PIN</translation>
@@ -2949,6 +2953,7 @@
 <translation id="347785443197175480">Parhau i ganiatáu i <ph name="HOST" /> gael mynediad at eich camera a'ch meicroffon</translation>
 <translation id="3479552764303398839">Nid nawr</translation>
 <translation id="3479685872808224578">Ni ellid canfod gweinydd yr argraffydd. Gwiriwch y cyfeiriad a rhowch gynnig arall arni.</translation>
+<translation id="3479753605053415848">Cliciwch i addasu Chrome</translation>
 <translation id="3480612136143976912">Addasu maint ac arddull capsiynau ar gyfer Capsiynau Byw. Bydd rhai apiau a gwefannau hefyd yn defnyddio'r gosodiad hwn.</translation>
 <translation id="3480827850068960424">Wedi Canfod <ph name="NUM" /> o Dabiau</translation>
 <translation id="3481268647794498892">Wrthi'n agor yn <ph name="ALTERNATIVE_BROWSER_NAME" /> mewn <ph name="COUNTDOWN_SECONDS" /> eiliad</translation>
@@ -3242,6 +3247,7 @@
 <translation id="3738632186060045350">Bydd data <ph name="DEVICE_TYPE" /> yn cael eu dileu mewn 24 awr</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Agor <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Lleihau yr arddangosiad a maint y testun</translation>
 <translation id="3741056951918180319">Gallwch bob amser glicio ar yr estyniad i'w ddefnyddio ar unrhyw wefan</translation>
 <translation id="3742235229730461951">Cynllun bysellfwrdd Corëeg</translation>
 <translation id="3742666961763734085">Methu â dod o hyd i uned sefydliadol gyda'r enw hwnnw. Rhowch gynnig arall arni.</translation>
@@ -4070,6 +4076,7 @@
 <translation id="4444512841222467874">Os na fyddwch yn creu lle, gallai defnyddwyr a data gael eu tynnu'n awtomatig.</translation>
 <translation id="4445446646109808714">Cytundeb Trwydded Defnyddiwr Terfynol: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Wedi'i adlewyrchu</translation>
+<translation id="4448560527907365660">Cadw a gweld mwy</translation>
 <translation id="4448914100439890108">Cuddio cyfrinair ar gyfer <ph name="USERNAME" /> ar <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Rheoli caniatadau</translation>
 <translation id="4449948729197510913">Mae eich enw defnyddiwr yn perthyn i gyfrif busnes eich sefydliad. Er mwyn cofrestru dyfeisiau i'r cyfrif, yn gyntaf rhaid i chi ddilysu perchnogaeth o'r parth yn y panel gweinyddwr. Bydd angen breintiau gweinyddwr arnoch ar gyfer y cyfrif i'w ddilysu.</translation>
@@ -5225,6 +5232,7 @@
 <translation id="5485102783864353244">Ychwanegu ap</translation>
 <translation id="5485435764083510385">Iaith capsiwn a ffefrir</translation>
 <translation id="5485754497697573575">Adfer Pob Tab</translation>
+<translation id="5486071940327595306">Mae'n bosib y bydd angen math gwahanol o ddyfais neu un mwy newydd ar <ph name="WEBSITE" /></translation>
 <translation id="5486261815000869482">Cadarnhewch eich cyfrinair</translation>
 <translation id="5486561344817861625">Efelychu Ailgychwyn y Porwr</translation>
 <translation id="5487460042548760727">Ailenwi'r proffil i <ph name="PROFILE_NAME" /></translation>
@@ -5579,6 +5587,7 @@
 <translation id="5799508265798272974">Peiriant Rhithwir Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Cafodd y ffeil cyrchfan ei chwtogi neu ei dileu ers ei lawrlwytho ddiwethaf.</translation>
 <translation id="5800351251499368110">Cau chwilio yn y panel ochr. Mae chwilio ar agor yn y panel ochr.</translation>
+<translation id="5800703268655655701">Dewis thema golau neu dywyll</translation>
 <translation id="5801051031414037185">Gosod ffôn</translation>
 <translation id="5801568494490449797">Dewisiadau</translation>
 <translation id="5803689677801500549">Bydd cyfrineiriau sydd wedi'u cadw yn ymddangos yma. I fewnforio cyfrineiriau i <ph name="BRAND" /> ar gyfer <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />dewiswch ffeil CSV.<ph name="END_LINK" /></translation>
@@ -6973,6 +6982,7 @@
 <translation id="6993050154661569036">Wrthi'n diweddaru porwr Chrome</translation>
 <translation id="6995899638241819463">Yn eich rhybuddio os yw cyfrineiriau'n cael eu datgelu mewn tor data</translation>
 <translation id="6995984090981858039">Darllen gwybodaeth a data dyfais ChromeOS</translation>
+<translation id="6996438701394974959">Cynyddu yr arddangosiad a maint y testun</translation>
 <translation id="6997553674029032185">Mynd i'r wefan</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Cofnod gweithgarwch</translation>
 <translation id="6997707937646349884">Ar eich dyfeisiau:</translation>
@@ -7900,6 +7910,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Mae cefndir y dudalen gychwynnol wedi newid i <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Mae sgrolio tuag yn ôl wedi'i alluogi</translation>
 <translation id="7791543448312431591">Ychwanegu</translation>
 <translation id="7792012425874949788">Aeth rhywbeth o'i le wrth fewngofnodi</translation>
 <translation id="7792388396321542707">Stopio rhannu</translation>
@@ -8066,6 +8077,7 @@
 <translation id="7935451262452051102">Wedi cwblhau <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Dewisiadau uwch</translation>
 <translation id="7939073735115504773">Cliciwch ar eicon yr estyniad hwn i ddarllen a newid <ph name="HOST" /></translation>
+<translation id="793923212791838">Ni allwch ddefnyddio'ch dyfais gyda'r wefan hon</translation>
 <translation id="7939328347457537652">Rheoli tystysgrifau dyfais</translation>
 <translation id="7939412583708276221">Cadw beth bynnag</translation>
 <translation id="7940265372707990269">Trefnu yn ôl <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 07227f07..e67ecc88 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">Der opstod en fejl i forbindelse med profilen</translation>
 <translation id="1253664522045778676">Klik på et resultat, hvorefter siden åbnes på din aktuelle fane</translation>
 <translation id="1254593899333212300">Direkte internetforbindelse</translation>
+<translation id="1256588359404100567">Indstillingen er synkroniseret fra din tidligere enhed.</translation>
 <translation id="1257336506558170607">Eksportér det valgte certifikat</translation>
 <translation id="1258491128795710625">Nyheder</translation>
 <translation id="1259152067760398571">Sikkerhedstjekket blev udført i går</translation>
@@ -528,6 +529,7 @@
 <translation id="1448779317883494811">Penselværktøj</translation>
 <translation id="1449191289887455076">Tryk på "<ph name="CURRENTKEY" />" igen for at bekræfte tildelingen og <ph name="RESPONSE" />.</translation>
 <translation id="1451375123200651445">Webside, enkelt fil</translation>
+<translation id="145280054552001290">Tilføj og fjern sprog til undertekster</translation>
 <translation id="1453561711872398978">Send <ph name="BEGIN_LINK" />
     fejlretningslogger<ph name="END_LINK" /> (anbefales)</translation>
 <translation id="1454223536435069390">T&amp;ag screenshot</translation>
@@ -1006,6 +1008,7 @@
 <translation id="18260074040409954">Du kan bruge gemte adgangskoder på alle enheder. De er gemt i <ph name="GOOGLE_PASSWORD_MANAGER" /> for <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Synkroniser bogmærkerne, adgangskoderne, historikken m.m. i din Chrome-browser</translation>
 <translation id="1826516787628120939">Kontrollerer</translation>
+<translation id="1826657447823925402">Omvendt rulning er deaktiveret</translation>
 <translation id="1827504459960247692">Navn på hotspot</translation>
 <translation id="1828378091493947763">Dette plugin understøttes ikke på denne enhed</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Åbn alle}=1{&amp;Åbn bogmærke}one{&amp;Åbn ({COUNT})}other{&amp;Åbn alle ({COUNT})}}</translation>
@@ -1294,6 +1297,7 @@
 <translation id="2081816110395725788">Inaktiv tilstand ved batteribrug</translation>
 <translation id="2082187087049518845">Opret en gruppe med fanen</translation>
 <translation id="2082510809738716738">Vælg en temafarve</translation>
+<translation id="2084891381052978619">Du kan også finde disse valgmuligheder under Indstillinger, når du har konfigureret din Chromebook</translation>
 <translation id="208586643495776849">Prøv igen</translation>
 <translation id="208634871997892083">Konstant VPN</translation>
 <translation id="2087822576218954668">Udskrift: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1367,7 @@
 <translation id="212862741129535676">Anvendt andel for frekvenstilstand</translation>
 <translation id="212876957201860463">Forbereder konfiguration af din mobilenhed...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" kan ikke installeres, fordi den ikke tillades af "<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">Vælg flere funktioner, du vil konfigurere</translation>
 <translation id="2133857665503360653">Prøv at downloade <ph name="FILE_NAME" /> igen</translation>
 <translation id="2134905185275441536">System-CA'er</translation>
 <translation id="21354425047973905">Skjul pinkoder</translation>
@@ -2947,6 +2952,7 @@
 <translation id="347785443197175480">Tillad fortsat, at <ph name="HOST" /> har adgang til dit kamera og din mikrofon</translation>
 <translation id="3479552764303398839">Ikke nu</translation>
 <translation id="3479685872808224578">Printerserveren kunne ikke registreres. Tjek adressen, og prøv igen.</translation>
+<translation id="3479753605053415848">Klik for at tilpasse Chrome</translation>
 <translation id="3480612136143976912">Tilpas tekststørrelsen og -stilarten for Livetekstning. Nogle apps og websites vil også anvende denne indstilling.</translation>
 <translation id="3480827850068960424">Der blev fundet <ph name="NUM" /> faner</translation>
 <translation id="3481268647794498892">Åbner i <ph name="ALTERNATIVE_BROWSER_NAME" /> om <ph name="COUNTDOWN_SECONDS" /> sekunder</translation>
@@ -3241,6 +3247,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />-data slettes om 24 timer</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Vil du åbne <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Formindsk skærm- og tekststørrelse</translation>
 <translation id="3741056951918180319">Du kan altid klikke på udvidelsen for at bruge den på enhver side</translation>
 <translation id="3742235229730461951">Koreansk tastaturlayout</translation>
 <translation id="3742666961763734085">Der blev ikke fundet nogen organisationsenhed med det pågældende navn. Prøv igen.</translation>
@@ -3619,6 +3626,7 @@
 <translation id="4044612648082411741">Angiv adgangskoden til dit certifikat</translation>
 <translation id="4044708573046946214">Adgangskode til skærmlås</translation>
 <translation id="404493185430269859">Standardsøgemaskine</translation>
+<translation id="4045196801416070837">Lyde på enheden</translation>
 <translation id="4046013316139505482">Disse udvidelser kan ikke se og ændre oplysninger på dette website.</translation>
 <translation id="4046123991198612571">Næste nummer</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -4068,6 +4076,7 @@
 <translation id="4444512841222467874">Hvis der ikke frigives lagerplads, fjernes brugere og data muligvis automatisk.</translation>
 <translation id="4445446646109808714">Slutbrugerlicensaftale: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Spejlet</translation>
+<translation id="4448560527907365660">Gem og se mere</translation>
 <translation id="4448914100439890108">Skjul adgangskoden for <ph name="USERNAME" /> på <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Administrer tilladelser</translation>
 <translation id="4449948729197510913">Dit brugernavn tilhører din organisations virksomhedskonto. Hvis du vil tilmelde enheder på kontoen, skal du først verificere ejerskab af domænet i Administrationskonsol. Du skal have administratorrettigheder på kontoen for at verificere.</translation>
@@ -5223,7 +5232,9 @@
 <translation id="5481941284378890518">Tilføj printere i nærheden</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> kræver, at du sikkerhedskopierer dine data og returnerer denne <ph name="DEVICE_TYPE" /> i dag. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" />}one{<ph name="MANAGER" /> kræver, at du sikkerhedskopierer dine data og returnerer denne <ph name="DEVICE_TYPE" /> inden for {NUM_DAYS} dag.<ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" />}other{<ph name="MANAGER" /> kræver, at du sikkerhedskopierer dine data og returnerer denne <ph name="DEVICE_TYPE" /> inden for {NUM_DAYS} dage.<ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Tilføj app</translation>
+<translation id="5485435764083510385">Foretrukket sprog til undertekster</translation>
 <translation id="5485754497697573575">Gendan alle faner</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> kræver muligvis en nyere eller anden type enhed</translation>
 <translation id="5486261815000869482">Bekræft adgangskode</translation>
 <translation id="5486561344817861625">Simuler genstart af browser</translation>
 <translation id="5487460042548760727">Omdøb profil til <ph name="PROFILE_NAME" /></translation>
@@ -5579,6 +5590,7 @@
 <translation id="5799508265798272974">Virtuel Linux-maskine: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Destinationsfilen er blevet forkortet eller fjernet siden sidste download.</translation>
 <translation id="5800351251499368110">Luk søgning i sidepanel. Søgningen er åben i sidepanelet.</translation>
+<translation id="5800703268655655701">Vælg lyst eller mørkt tema</translation>
 <translation id="5801051031414037185">Konfigurer telefon</translation>
 <translation id="5801568494490449797">Præferencer</translation>
 <translation id="5803689677801500549">Dine gemte adgangskoder vises her. <ph name="BEGIN_LINK" />Vælg en CSV-fil<ph name="END_LINK" /> for at importere adgangskoder til <ph name="BRAND" /> for <ph name="USER_EMAIL" />.</translation>
@@ -6967,6 +6979,7 @@
 <translation id="6993050154661569036">Opdaterer Chrome-browseren</translation>
 <translation id="6995899638241819463">Få en underretning, hvis adgangskoder afsløres i forbindelse med et brud på datasikkerheden</translation>
 <translation id="6995984090981858039">Læs enhedsoplysninger og -data for ChromeOS</translation>
+<translation id="6996438701394974959">Forstør skærm- og tekststørrelse</translation>
 <translation id="6997553674029032185">Gå til website</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Aktivitetshistorik</translation>
 <translation id="6997707937646349884">På dine enheder:</translation>
@@ -7409,6 +7422,7 @@
 <translation id="7400839060291901923">Konfigurer en forbindelse på din <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Luk denne meddelelse</translation>
 <translation id="7402198013420237102">Vil du flytte gemte adgangskoder til din Google-konto?</translation>
+<translation id="740333000181878130">Lyd ved opstart af enheden</translation>
 <translation id="7403642243184989645">Downloader ressourcer</translation>
 <translation id="7404065585741198296">Din telefon med et USB-kabel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Sikkerhedstjekket blev udført for 1 time siden}one{Sikkerhedstjekket blev udført for {NUM_HOURS} time siden}other{Sikkerhedstjekket blev udført for {NUM_HOURS} timer siden}}</translation>
@@ -7892,6 +7906,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Baggrunden for startsiden blev ændret til <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Omvendt rulning er aktiveret</translation>
 <translation id="7791543448312431591">Tilføj</translation>
 <translation id="7792012425874949788">Der opstod en fejl under login</translation>
 <translation id="7792388396321542707">Stop deling</translation>
@@ -8058,6 +8073,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> % gennemført</translation>
 <translation id="7939062555109487992">Avancerede valgmuligheder</translation>
 <translation id="7939073735115504773">Klik på ikonet for denne udvidelse for at give den tilladelse til at læse og ændre <ph name="HOST" /></translation>
+<translation id="793923212791838">Din enhed kan ikke bruges på dette website</translation>
 <translation id="7939328347457537652">Administrer enhedscertifikater</translation>
 <translation id="7939412583708276221">Behold alligevel</translation>
 <translation id="7940265372707990269">Sortér efter <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 780e3ed..ef48ae7 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -313,6 +313,7 @@
 <translation id="1252987234827889034">Profilfehler aufgetreten</translation>
 <translation id="1253664522045778676">Klicke auf ein Suchergebnis, um die Seite im aktuellen Tab zu öffnen</translation>
 <translation id="1254593899333212300">Direkte Internetverbindung</translation>
+<translation id="1256588359404100567">Die Einstellung wurde von deinem vorherigen Gerät synchronisiert.</translation>
 <translation id="1257336506558170607">Ausgewähltes Zertifikat exportieren</translation>
 <translation id="1258491128795710625">Neue Funktionen</translation>
 <translation id="1259152067760398571">Der Sicherheitscheck wurde gestern durchgeführt</translation>
@@ -523,6 +524,7 @@
 <translation id="1448779317883494811">Pinseltool</translation>
 <translation id="1449191289887455076">Drücke zum Bestätigen der Zuweisung und <ph name="RESPONSE" /> noch einmal „<ph name="CURRENTKEY" />“</translation>
 <translation id="1451375123200651445">Webseite, Einzeldatei</translation>
+<translation id="145280054552001290">Sprachen für Untertitel hinzufügen und entfernen</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />Fehlerbehebungsprotokolle<ph name="END_LINK" /> senden (empfohlen)</translation>
 <translation id="1454223536435069390">Screenshot &amp;erstellen</translation>
 <translation id="145432137617179457">Sprachen für die Rechtschreibprüfung</translation>
@@ -986,6 +988,7 @@
 <translation id="18260074040409954">Du kannst gespeicherte Passwörter auf jedem Gerät nutzen. Sie werden im <ph name="GOOGLE_PASSWORD_MANAGER" /> für <ph name="EMAIL" /> gespeichert.</translation>
 <translation id="1826192255355608658">Lesezeichen, Passwörter, Verlauf und mehr in deinem Chrome-Browser synchronisieren</translation>
 <translation id="1826516787628120939">Überprüfung läuft</translation>
+<translation id="1826657447823925402">Umgekehrtes Scrollen deaktiviert</translation>
 <translation id="1827504459960247692">Name des Hotspots</translation>
 <translation id="1828378091493947763">Dieses Plug-in wird auf diesem Gerät nicht unterstützt</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{Alle &amp;öffnen}=1{Lesezeichen &amp;öffnen}other{Alle ({COUNT}) &amp;öffnen}}</translation>
@@ -1271,6 +1274,7 @@
 <translation id="2081816110395725788">Inaktivität im Akkubetrieb</translation>
 <translation id="2082187087049518845">Tab gruppieren</translation>
 <translation id="2082510809738716738">Designfarbe auswählen</translation>
+<translation id="2084891381052978619">Du findest diese Optionen auch in den Einstellungen, wenn du die Einrichtung deines Chromebook fertiggestellt hast</translation>
 <translation id="208586643495776849">Versuche es bitte noch einmal</translation>
 <translation id="208634871997892083">Durchgehend aktives VPN</translation>
 <translation id="2087822576218954668">Drucken: <ph name="PRINT_NAME" /></translation>
@@ -1340,6 +1344,7 @@
 <translation id="212862741129535676">Aktiver Zustand – Auslastung in Prozent</translation>
 <translation id="212876957201860463">Die Einrichtung des Mobilgeräts wird vorbereitet…</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" konnte nicht installiert werden, da dies vom "<ph name="IMPORT_NAME" />" nicht zugelassen wurde.</translation>
+<translation id="2133775869826239001">Weitere Funktionen zum Einrichten auswählen</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> noch einmal herunterladen</translation>
 <translation id="2134905185275441536">System-Zertifizierungsstellen</translation>
 <translation id="21354425047973905">PINs ausblenden</translation>
@@ -2914,6 +2919,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> weiterhin Zugriff auf Kamera und Mikrofon gestatten</translation>
 <translation id="3479552764303398839">Jetzt nicht</translation>
 <translation id="3479685872808224578">Der Druckserver wurde nicht erkannt. Prüfe die Adresse und versuche es noch einmal.</translation>
+<translation id="3479753605053415848">Zum Anpassen von Chrome klicken</translation>
 <translation id="3480612136143976912">Hier kannst du die Größe von Untertiteln und den Stil der Funktion „Automatische Untertitel“ anpassen. Diese Einstellung wird auch in einigen Apps und Websites verwendet.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> Tabs gefunden</translation>
 <translation id="3481268647794498892">Wird in <ph name="COUNTDOWN_SECONDS" /> Sekunden in <ph name="ALTERNATIVE_BROWSER_NAME" /> geöffnet</translation>
@@ -3207,6 +3213,7 @@
 <translation id="3738632186060045350">Die <ph name="DEVICE_TYPE" />-Daten werden in 24 Stunden gelöscht</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> öffnen?</translation>
+<translation id="3740945083753997630">Anzeige- und Textgröße verringern</translation>
 <translation id="3741056951918180319">Du kannst die Erweiterung jederzeit anklicken, um sie auf einer beliebigen Website zu verwenden</translation>
 <translation id="3742235229730461951">Koreanische Tastaturbelegung</translation>
 <translation id="3742666961763734085">Keine Organisationseinheit mit diesem Namen vorhanden. Versuche es noch einmal.</translation>
@@ -3584,6 +3591,7 @@
 <translation id="4044612648082411741">Du musst dein Zertifikatspasswort eingeben</translation>
 <translation id="4044708573046946214">Passwort für die Displaysperre</translation>
 <translation id="404493185430269859">Standardsuchmaschine</translation>
+<translation id="4045196801416070837">Gerätetöne</translation>
 <translation id="4046013316139505482">Diese Erweiterungen funktionieren, ohne Daten dieser Website abzurufen oder zu verändern.</translation>
 <translation id="4046123991198612571">Nächster Titel</translation>
 <translation id="4047345532928475040">k.A.</translation>
@@ -4033,6 +4041,7 @@
 <translation id="4444512841222467874">Wenn kein Speicherplatz freigegeben wird, können Nutzer und Daten automatisch entfernt werden.</translation>
 <translation id="4445446646109808714">Endnutzer-Lizenzvereinbarung: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Gespiegelt</translation>
+<translation id="4448560527907365660">Speichern und mehr ansehen</translation>
 <translation id="4448914100439890108">Passwort für <ph name="USERNAME" /> in <ph name="DOMAIN" /> ausblenden</translation>
 <translation id="4449247303975391730">Berechtigungen verwalten</translation>
 <translation id="4449948729197510913">Dein Nutzername gehört zum Unternehmenskonto deiner Organisation. Wenn du Geräte für das Konto registrieren möchtest, musst du zuerst in der Admin-Konsole die Domaininhaberschaft verifizieren. Du benötigst Administratorberechtigungen für das zu verifizierende Konto.</translation>
@@ -5180,7 +5189,9 @@
 <translation id="5481941284378890518">Drucker in der Nähe hinzufügen</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{Gemäß <ph name="MANAGER" /> ist es notwendig, ein Daten-Backup zu erstellen und dieses <ph name="DEVICE_TYPE" /> heute zurückzugeben. <ph name="LINK_BEGIN" />Details anzeigen.<ph name="LINK_END" />}other{Gemäß <ph name="MANAGER" /> ist es notwendig, ein Daten-Backup zu erstellen und dieses <ph name="DEVICE_TYPE" /> innerhalb von {NUM_DAYS} Tagen zurückzugeben. <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">App hinzufügen</translation>
+<translation id="5485435764083510385">Bevorzugte Sprache für Untertitel</translation>
 <translation id="5485754497697573575">Alle Tabs wiederherstellen</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> erfordert möglicherweise ein neueres Gerät oder einen anderen Gerätetyp</translation>
 <translation id="5486261815000869482">Passwort bestätigen</translation>
 <translation id="5486561344817861625">Browser-Neustart simulieren</translation>
 <translation id="5487460042548760727">Profil umbenennen in „<ph name="PROFILE_NAME" />“</translation>
@@ -5531,6 +5542,7 @@
 <translation id="5799508265798272974">Virtuelle Maschine für Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Die Zieldatei wurde seit dem letzen Download gekürzt oder entfernt.</translation>
 <translation id="5800351251499368110">Suche in der Seitenleiste schließen. Suche in der Seitenleiste ist geöffnet.</translation>
+<translation id="5800703268655655701">Helles oder dunkles Design auswählen</translation>
 <translation id="5801051031414037185">Smartphone einrichten</translation>
 <translation id="5801568494490449797">Einstellungen</translation>
 <translation id="5803689677801500549">Gespeicherte Passwörter erscheinen hier. Um Passwörter für <ph name="USER_EMAIL" /> in <ph name="BRAND" /> zu importieren, <ph name="BEGIN_LINK" />wähle eine CSV-Datei aus<ph name="END_LINK" />.</translation>
@@ -6913,6 +6925,7 @@
 <translation id="6993050154661569036">Chrome-Browser wird aktualisiert</translation>
 <translation id="6995899638241819463">Warnen, wenn Passwörter durch eine Datenpanne preisgegeben wurden</translation>
 <translation id="6995984090981858039">ChromeOS-Geräteinformationen und -daten lesen</translation>
+<translation id="6996438701394974959">Anzeige- und Textgröße erhöhen</translation>
 <translation id="6997553674029032185">Zur Website</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Aktivitätsprotokoll</translation>
 <translation id="6997707937646349884">Auf deinen Geräten:</translation>
@@ -7351,6 +7364,7 @@
 <translation id="7400839060291901923">Verbindung auf <ph name="PHONE_NAME" /> einrichten</translation>
 <translation id="7401778920660465883">Diese Nachricht schließen</translation>
 <translation id="7402198013420237102">Gespeicherte Passwörter in dein Google-Konto verschieben?</translation>
+<translation id="740333000181878130">Startton des Geräts</translation>
 <translation id="7403642243184989645">Ressourcen herunterladen</translation>
 <translation id="7404065585741198296">Mein Smartphone mit einem USB-Kabel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Der Sicherheitscheck wurde vor 1 Stunde durchgeführt}other{Der Sicherheitscheck wurde vor {NUM_HOURS} Stunden durchgeführt}}</translation>
@@ -7833,6 +7847,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Der Hintergrund der Startseite wurde zu <ph name="CATEGORY" /> geändert.</translation>
+<translation id="7791436592012979144">Umgekehrtes Scrollen aktiviert</translation>
 <translation id="7791543448312431591">Hinzufügen</translation>
 <translation id="7792012425874949788">Bei der Anmeldung ist ein Fehler aufgetreten.</translation>
 <translation id="7792388396321542707">Freigabe beenden</translation>
@@ -7998,6 +8013,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> % abgeschlossen</translation>
 <translation id="7939062555109487992">Erweiterte Optionen</translation>
 <translation id="7939073735115504773">Klicke auf das Symbol dieser Erweiterung, um das Lesen und Ändern von <ph name="HOST" /> zu erlauben</translation>
+<translation id="793923212791838">Dein Gerät kann für diese Website nicht verwendet werden</translation>
 <translation id="7939328347457537652">Gerätezertifikate verwalten</translation>
 <translation id="7939412583708276221">Trotzdem beibehalten</translation>
 <translation id="7940265372707990269">Sortieren nach: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index ed74acff..d8fa657 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Ακυρώθηκε</translation>
 <translation id="1022489261739821355">Εμφάνιση κωδικών πρόσβασης από τον <ph name="BEGIN_LINK" />Λογαριασμό σας Google<ph name="END_LINK" /></translation>
 <translation id="1022669824195822609">Η διαχείριση της συσκευής σας γίνεται από τον τομέα <ph name="DOMAIN" />. Οι διαχειριστές μπορούν να αποκτήσουν πρόσβαση στα δεδομένα οποιουδήποτε προφίλ σε αυτήν τη συσκευή.</translation>
+<translation id="1024734233509995696">Η συγκεκριμένη καρτέλα χρησιμοποιεί την κάμερα ή το μικρόφωνο</translation>
 <translation id="1026655690966755180">Προσθήκη θύρας</translation>
 <translation id="1026822031284433028">Φόρτωση εικόνας</translation>
 <translation id="1026959648338730078">Windows Hello ή εξωτερικό κλειδί ασφαλείας</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">Γίνεται σύνδεση με το τηλέφωνό σας…</translation>
 <translation id="1158080958325422608">Μετατροπή σε κεφαλαία γράμματα</translation>
 <translation id="1158238185437008462">Δείτε αναμνήσεις</translation>
+<translation id="1159879754517035595">Διαχείριση ρυθμίσεων επεκτάσεων</translation>
 <translation id="1160842321113409343">Για την προστασία του απορρήτου σας, διαγράφουμε αυτόματα από τη λίστα τους ιστοτόπους που είναι παλαιότεροι των 4 εβδομάδων. Ένας ιστότοπος που επισκέπτεστε ξανά ενδέχεται να εμφανιστεί πάλι στη λίστα. Εναλλακτικά, μπορείτε να καταργήσετε έναν ιστότοπο, εάν θέλετε ο συγκεκριμένος ιστότοπος να μην ορίζει ποτέ ενδιαφέροντα για εσάς.</translation>
 <translation id="1161575384898972166">Συνδεθείτε στο <ph name="TOKEN_NAME" /> για εξαγωγή του πιστοποιητικού πελάτη.</translation>
 <translation id="116173250649946226">Ο διαχειριστής σας έχει ορίσει ένα προεπιλεγμένο θέμα που δεν μπορεί να αλλάξει.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700">Το αρχείο <ph name="FILE_NAME" /> έχει ευαίσθητα ή επικίνδυνα δεδομένα. Ο διαχειριστής σας λέει: <ph name="CUSTOM_MESSAGE" />.</translation>
 <translation id="1171515578268894665">Το <ph name="ORIGIN" /> θέλει να συνδεθεί σε μια συσκευή HID</translation>
 <translation id="1172750555846831341">Αναστροφή στη μικρή πλευρά</translation>
+<translation id="1173036203040243666">Η συγκεκριμένη καρτέλα είναι συνδεδεμένη σε μια συσκευή Bluetooth</translation>
 <translation id="1173332155861271669">Λεπτομέρειες παρόχου Passpoint</translation>
 <translation id="1173894706177603556">Μετονομασία</translation>
 <translation id="1174073918202301297">Η συντόμευση προστέθηκε</translation>
@@ -316,6 +319,7 @@
 <translation id="1252987234827889034">Προέκυψε σφάλμα προφίλ</translation>
 <translation id="1253664522045778676">Κάντε κλικ σε ένα αποτέλεσμα και η σελίδα θα ανοίξει στην τρέχουσα καρτέλα</translation>
 <translation id="1254593899333212300">Άμεση σύνδεση στο διαδίκτυο</translation>
+<translation id="1256588359404100567">Η ρύθμιση συγχρονίστηκε από την προηγούμενη συσκευή σας.</translation>
 <translation id="1257336506558170607">Εξαγωγή επιλεγμένου πιστοποιητικού</translation>
 <translation id="1258491128795710625">Τι νέο υπάρχει</translation>
 <translation id="1259152067760398571">Ο έλεγχος ασφαλείας εκτελέστηκε χθες.</translation>
@@ -661,6 +665,7 @@
 <translation id="1556537182262721003">Δεν ήταν δυνατή η μετακίνηση του καταλόγου επέκτασης στο προφίλ.</translation>
 <translation id="1558391695376153246">Κλείσιμο ανών. περιήγησης</translation>
 <translation id="155865706765934889">Επιφάνεια Αφής</translation>
+<translation id="1558671750917454373">Συνέχιση μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="1562119309884184621">Αυτή η επαφή θα απομνημονευτεί μετά την προσθήκη της για την επόμενη φορά που θα κάνετε κοινή χρήση μαζί της</translation>
 <translation id="1563137369682381456">Ημερομηνία λήξης</translation>
 <translation id="1563702743503072935">Οι κωδικοί πρόσβασής σας από τον Λογαριασμό σας Google θα είναι επίσης διαθέσιμοι σε αυτήν τη συσκευή ενώ είστε συνδεδεμένοι.</translation>
@@ -792,6 +797,7 @@
 <translation id="1648528859488547844">Χρήση Wi‑Fi ή δικτύων κινητής τηλεφωνίας για καθορισμό τοποθεσίας</translation>
 <translation id="164936512206786300">Διακοπή σύζευξης συσκευής Bluetooth</translation>
 <translation id="1651008383952180276">Πρέπει να εισαγάγετε δύο φορές την ίδια φράση πρόσβασης</translation>
+<translation id="1651609627703324721">Η συγκεκριμένη καρτέλα παρουσιάζει περιεχόμενο VR σε μια συσκευή εικονικής πραγματικότητας</translation>
 <translation id="1652326691684645429">Ενεργοποίηση Κοινοποίησης κοντά</translation>
 <translation id="1654580009054503925">Δεν επιτρέπεται η εμφάνιση αιτημάτων</translation>
 <translation id="1656528038316521561">Αδιαφάνεια φόντου</translation>
@@ -891,6 +897,7 @@
 <translation id="173522743738009831">Σχετικά με το Πλαίσιο ιδιωτικότητας</translation>
 <translation id="173628468822554835">Το κατάλαβα. Από προεπιλογή, οι νέοι ιστότοποι που επισκέπτεστε δεν θα σας στέλνουν ειδοποιήσεις.</translation>
 <translation id="1737968601308870607">Σφάλμα αρχείου</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Επιλέξτε για να αλλάξετε τις άδειες του ιστοτόπου</translation>
 <translation id="1741190788710022490">Προσαρμοστική φόρτιση</translation>
 <translation id="174123615272205933">Προσαρμοσμένο</translation>
 <translation id="1741314857973421784">Συνέχεια</translation>
@@ -1006,6 +1013,7 @@
 <translation id="18260074040409954">Μπορείτε να χρησιμοποιείτε τους αποθηκευμένους κωδικούς πρόσβασης σε οποιαδήποτε συσκευή. Αποθηκεύονται στην εφαρμογή <ph name="GOOGLE_PASSWORD_MANAGER" /> για τον λογαριασμό <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Συγχρονίστε τους σελιδοδείκτες, τους κωδικούς πρόσβασης, το ιστορικό και άλλες λειτουργίες του προγράμματος περιήγησης Chrome</translation>
 <translation id="1826516787628120939">Έλεγχος</translation>
+<translation id="1826657447823925402">Η αντίστροφη κύλιση απενεργοποιήθηκε</translation>
 <translation id="1827504459960247692">Όνομα σημείου πρόσβασης Wi-Fi</translation>
 <translation id="1828378091493947763">Αυτή η προσθήκη δεν υποστηρίζεται σε αυτήν τη συσκευή</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Άνοιγμα όλων}=1{&amp;Άνοιγμα σελιδοδείκτη}other{&amp;Άνοιγμα όλων ({COUNT})}}</translation>
@@ -1083,6 +1091,7 @@
 <translation id="1885066963699478692">Τα αρχεία XML που χρησιμοποιούνται για τον ορισμό των πολιτικών.</translation>
 <translation id="1885106732301550621">Χώρος δίσκου</translation>
 <translation id="1886996562706621347">Να επιτρέπεται σε ιστότοπους να ζητούν να γίνονται προεπιλεγμένα προγράμματα χειρισμού για πρωτόκολλα (συνιστάται)</translation>
+<translation id="1887210448491286312">Διακοπή μετάδοσης καρτέλας στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="1887442540531652736">Σφάλμα σύνδεσης</translation>
 <translation id="1887597546629269384">Πείτε "Hey Google" ξανά</translation>
 <translation id="1889091146873278175">Κάντε κλικ στο κουμπί G για να δείτε περισσότερα αποτελέσματα αναζήτησης σε ένα πλαϊνό πλαίσιο</translation>
@@ -1109,6 +1118,7 @@
 <translation id="1910908536872421421">Το Chrome for Testing v<ph name="BROWSER_VERSION" /> προορίζεται μόνο για αυτοματοποιημένες δοκιμές. Για κανονική περιήγηση, χρησιμοποιήστε μια βασική έκδοση του Chrome που ενημερώνεται αυτόματα.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">Τερματισμός κλήσης</translation>
+<translation id="1915613305720536742">Μ&amp;ετάφραση</translation>
 <translation id="1915734383465415025">Αριθμός καταστήματος</translation>
 <translation id="1916260783734263714">Τρέχουσα καρτέλα</translation>
 <translation id="1916502483199172559">Προεπιλεγμένο κόκκινο avatar</translation>
@@ -1213,6 +1223,7 @@
 <translation id="2007404777272201486">Αναφορά προβλήματος...</translation>
 <translation id="2009590708342941694">Εργαλείο emoji</translation>
 <translation id="2010501376126504057">Συμβατές συσκευές</translation>
+<translation id="2012935757369720523">Διαγραφή αρχείου</translation>
 <translation id="2013550551806600826">Δοκιμάστε το. Ενεργοποιήστε ή απενεργοποιήστε τη ρύθμιση και έπειτα κάντε κύλιση με δύο δάχτυλα στην επιφάνεια αφής στην περιοχή δοκιμής. Μπορείτε επίσης να βρείτε αυτήν την επιλογή αργότερα στο μενού Ρυθμίσεις &gt; Συσκευή &gt; Ποντίκι και επιφάνεια αφής.</translation>
 <translation id="2015232545623037616">PC και Chromecast στο ίδιο δίκτυο Wi-Fi</translation>
 <translation id="2016473077102413275">Οι λειτουργίες που απαιτούν εικόνες δεν θα είναι διαθέσιμες</translation>
@@ -1294,6 +1305,7 @@
 <translation id="2081816110395725788">Κατανάλωση ενέργειας σε κατάσταση αδράνειας κατά τη χρήση μπαταρίας</translation>
 <translation id="2082187087049518845">Ομαδοποίηση καρτέλας</translation>
 <translation id="2082510809738716738">Επιλέξτε ένα χρώμα θέματος</translation>
+<translation id="2084891381052978619">Μπορείτε επίσης να βρείτε αυτές τις επιλογές στις Ρυθμίσεις, αφού ολοκληρώσετε τη ρύθμιση του Chromebook</translation>
 <translation id="208586643495776849">Προσπαθήστε ξανά</translation>
 <translation id="208634871997892083">Πάντα ενεργοποιημένο VPN</translation>
 <translation id="2087822576218954668">Εκτύπωση: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1375,7 @@
 <translation id="212862741129535676">Ποσοστό κατοχής κατάστασης συχνότητας</translation>
 <translation id="212876957201860463">Προετοιμασία ρύθμισης της συσκευής κινητής τηλεφωνίας…</translation>
 <translation id="2131077480075264">Δεν είναι δυνατή η εγκατάσταση του "<ph name="APP_NAME" />" επειδή δεν επιτρέπεται από το "<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">Επιλέξτε περισσότερες λειτουργίες για ρύθμιση</translation>
 <translation id="2133857665503360653">Επανάληψη προσπάθειας για το αρχείο <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA συστήματος</translation>
 <translation id="21354425047973905">Απόκρυψη PIN</translation>
@@ -1784,6 +1797,7 @@
 <translation id="2458379781610688953">Ενημέρωση λογαριασμού, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Το διακριτικό διαχείρισης συσκευής δεν είναι έγκυρο.</translation>
 <translation id="2459703812219683497">Εντοπίστηκε κωδικός ενεργοποίησης</translation>
+<translation id="2459706890611560967">Συνέχιση καρτέλας μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="2460356425461033301">Δημιουργήστε αντίγραφο ασφαλείας για τα δεδομένα του προγράμματος περιήγησης και χρησιμοποιήστε τα σε οποιαδήποτε συσκευή.</translation>
 <translation id="2462332841984057083">Γίνεται ήδη ρύθμιση του Steam. Περιμένετε μέχρι να ολοκληρωθεί η ρύθμιση.</translation>
 <translation id="2462724976360937186">Αναγνωριστικό κλειδιού Αρχής πιστοποίησης</translation>
@@ -2530,6 +2544,7 @@
 <translation id="3088325635286126843">&amp;Μετονομασία...</translation>
 <translation id="3089137131053189723">Η αναζήτηση διαγράφηκε</translation>
 <translation id="3089941350495701096">&amp;Λίστα ανάγνωσης</translation>
+<translation id="3089948625237571254">Α&amp;ντιγραφή καρέ βίντεο</translation>
 <translation id="3090227230165225418">Ανακοίνωση ειδοποιήσεων λήψης</translation>
 <translation id="3090589793601454425">Να μην γίνει μετακίνηση</translation>
 <translation id="3090819949319990166">Δεν είναι δυνατή η αντιγραφή του εξωτερικού αρχείου crx στο <ph name="TEMP_CRX_FILE" />.</translation>
@@ -2630,10 +2645,12 @@
 <translation id="3194786596445804250">Εμφάνιση λεπτομερειών σχετικά με τον αποκλεισμό cookie τρίτου μέρους</translation>
 <translation id="3197453258332670132">Με δεξί κλικ ή παρατεταμένο πάτημα, εμφανίζονται πληροφορίες που σχετίζονται με την επιλογή κειμένου σας</translation>
 <translation id="3199127022143353223">Διακομιστές</translation>
+<translation id="3199637719075529971">Η συγκεκριμένη καρτέλα είναι συνδεδεμένη σε μια σειριακή θύρα.</translation>
 <translation id="3200061262156232574">Στο καλάθι αγορών σας</translation>
 <translation id="3201237270673604992">Ω έως A</translation>
 <translation id="3201422919974259695">Εδώ θα εμφανίζονται οι διαθέσιμες συσκευές USB.</translation>
 <translation id="3202131003361292969">Διαδρομή</translation>
+<translation id="3202499879214571401">Παύση οθόνης μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="3202578601642193415">Νεότερο</translation>
 <translation id="3204648577100496185">Τα δεδομένα που σχετίζονται με αυτήν την εφαρμογή μπορεί να καταργηθούν από αυτήν τη συσκευή.</translation>
 <translation id="3207960819495026254">Προστέθηκε στους σελιδοδείκτες</translation>
@@ -2946,6 +2963,7 @@
 <translation id="347785443197175480">Να συνεχίσει να επιτρέπεται στο <ph name="HOST" /> η πρόσβαση στην κάμερα και στο μικρόφωνό σας</translation>
 <translation id="3479552764303398839">Όχι τώρα</translation>
 <translation id="3479685872808224578">Δεν ήταν δυνατός ο εντοπισμός του διακομιστή εκτύπωσης. Βεβαιωθείτε ότι η διεύθυνση είναι σωστή και δοκιμάστε ξανά.</translation>
+<translation id="3479753605053415848">Κάντε κλικ για προσαρμογή του Chrome</translation>
 <translation id="3480612136143976912">Προσαρμόστε το μέγεθος και το στιλ των υπότιτλων για τους Ζωντανούς υπότιτλους. Ορισμένες εφαρμογές και ιστότοποι θα χρησιμοποιούν επίσης αυτήν τη ρύθμιση.</translation>
 <translation id="3480827850068960424">Βρέθηκαν <ph name="NUM" /> καρτέλες</translation>
 <translation id="3481268647794498892">Άνοιγμα σε <ph name="ALTERNATIVE_BROWSER_NAME" /> σε <ph name="COUNTDOWN_SECONDS" /> δευτερόλεπτα</translation>
@@ -3028,9 +3046,11 @@
 <translation id="3557101512409028104">Ορίστε περιορισμούς ιστοτόπων και όρια χρόνου χρήσης με το Family Link</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />Επιτρέποντας στις συσκευές ChromeOS να στέλνουν αυτόματες αναφορές, μας βοηθάτε να επιλέξουμε ποιες διορθώσεις και βελτιώσεις θα θέσουμε σε προτεραιότητα για το ChromeOS. Αυτές οι αναφορές μπορούν να περιλαμβάνουν διάφορα στοιχεία, όπως πότε το ChromeOS παρουσίασε σφάλματα, ποιες λειτουργίες καθώς και πόση μνήμη χρησιμοποιούνταν συνήθως.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε την αποστολή αυτών των αναφορών ανά πάσα στιγμή από τις ρυθμίσεις της συσκευής ChromeOS του παιδιού σας. Εάν είστε διαχειριστής τομέα, μπορείτε να αλλάξετε αυτήν τη ρύθμιση από την Κονσόλα διαχειριστή.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">Διακοπή οθόνης μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="3559262020195162408">Αποτυχία εγκατάστασης πολιτικής στη συσκευή.</translation>
 <translation id="3559533181353831840">Απομένουν περίπου <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">&amp;Ορθογραφικός έλεγχος</translation>
+<translation id="3561201631376780358">Άνοιγμα πλαϊνού πλαισίου για προβολή όλων των σελιδοδεικτών</translation>
 <translation id="3562423906127931518">Αυτή η διαδικασία μπορεί να διαρκέσει μερικά λεπτά. Ρύθμιση του κοντέινερ Linux.</translation>
 <translation id="3562655211539199254">Δείτε τις πρόσφατες καρτέλες Chrome από το τηλέφωνό σας.</translation>
 <translation id="3563432852173030730">Δεν ήταν δυνατή η λήψη της εφαρμογής Kiosk.</translation>
@@ -3194,6 +3214,7 @@
 <translation id="370415077757856453">Η JavaScript αποκλείστηκε</translation>
 <translation id="3704331259350077894">Παύση λειτουργίας</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">Συνέχιση οθόνης μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="3706463572498736864">Σελίδες ανά φύλλο</translation>
 <translation id="370649949373421643">Ενεργοποίηση Wi-Fi</translation>
 <translation id="370665806235115550">Φόρτωση...</translation>
@@ -3239,6 +3260,7 @@
 <translation id="3738632186060045350">Τα δεδομένα της συσκευής <ph name="DEVICE_TYPE" /> θα διαγραφούν εντός 24 ωρών</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Άνοιγμα <ph name="APPLICATION" />;</translation>
+<translation id="3740945083753997630">Μείωση μεγέθους προβολής και κειμένου</translation>
 <translation id="3741056951918180319">Μπορείτε ανά πάσα στιγμή να κάνετε κλικ στην επέκταση για να τη χρησιμοποιήσετε σε οποιονδήποτε ιστότοπο</translation>
 <translation id="3742235229730461951">Κορεάτικη διάταξη πληκτρολογίου</translation>
 <translation id="3742666961763734085">Δεν είναι δυνατή η εύρεση μιας μονάδας οργάνωσης με αυτό το όνομα. Προσπαθήστε ξανά.</translation>
@@ -3408,6 +3430,7 @@
 <translation id="3867134342671430205">Σύρετε ή χρησιμοποιήστε τα πλήκτρα βέλους για να μετακινήσετε μια οθόνη.</translation>
 <translation id="3867944738977021751">Πεδία πιστοποιητικού</translation>
 <translation id="3869917919960562512">Εσφαλμένος κατάλογος.</translation>
+<translation id="3870688298003434214">Αποεπιλογή <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">Δεν υπάρχουν αποθηκευμένοι κωδικοί πρόσβασης για τον τομέα <ph name="DOMAIN" /></translation>
 <translation id="3871350334636688135">Μετά από 24 ώρες, ο διαχειριστής σας θα εκτελέσει ενημέρωση για μία μόνο φορά που θα έχει ως αποτέλεσμα τη διαγραφή των τοπικών δεδομένων σας κατά την επόμενη επανεκκίνηση της συσκευής σας. Αποθηκεύστε τυχόν απαραίτητα τοπικά δεδομένα στο cloud μέσα στις επόμενες 24 ώρες.</translation>
 <translation id="3872220884670338524">Περισσότερες ενέργειες, αποθηκευμένος λογαριασμός για τον χρήστη <ph name="USERNAME" /> στον τομέα <ph name="DOMAIN" /></translation>
@@ -3503,6 +3526,7 @@
 <translation id="3945513714196326460">Δοκιμάστε ένα πιο σύντομο όνομα</translation>
 <translation id="3948027458879361203">Αλλαγή ονόματος κεντρικού υπολογιστή</translation>
 <translation id="3948116654032448504">&amp;Αναζήτηση <ph name="SEARCH_ENGINE" /> για εικόνα</translation>
+<translation id="3948334586359655083">Η συγκεκριμένη καρτέλα αναπαράγει ήχο</translation>
 <translation id="3948507072814225786">Ο ιστότοπος <ph name="ORIGIN" /> μπορεί να επεξεργαστεί τα αρχεία στους παρακάτω φακέλους</translation>
 <translation id="394984172568887996">Εισαγωγή από το IE</translation>
 <translation id="3950820424414687140">Σύνδεση</translation>
@@ -3561,6 +3585,7 @@
 <translation id="3987544746655539083">Να συνεχιστεί ο αποκλεισμός αυτού του ιστοτόπου από την πρόσβαση στην τοποθεσία σας.</translation>
 <translation id="3987938432087324095">Λυπάμαι, δεν το κατάλαβα.</translation>
 <translation id="3987993985790029246">Αντ. συνδ.</translation>
+<translation id="3988124842897276887">Η συγκεκριμένη καρτέλα είναι συνδεδεμένη σε μια συσκευή USB</translation>
 <translation id="3988488665753590964">Προσαρμόστε τον τρόπο που θα εμφανίζονται τα χρώματα στην οθόνη σας</translation>
 <translation id="3988996860813292272">Επιλογή ζώνης ώρας</translation>
 <translation id="399179161741278232">Έγινε εισαγωγή</translation>
@@ -3710,6 +3735,7 @@
 <translation id="4130207949184424187">Αυτή η επέκταση άλλαξε τη σελίδα που εμφανίζεται όταν κάνετε αναζήτηση από το κύριο πλαίσιο.</translation>
 <translation id="4130750466177569591">Συμφωνώ</translation>
 <translation id="413121957363593859">Στοιχεία</translation>
+<translation id="4131283654370308898">Να επιτρέπεται η επέκταση <ph name="EXTENSION_NAME" /> σε αυτόν τον ιστότοπο</translation>
 <translation id="4131410914670010031">Ασπρόμαυρο</translation>
 <translation id="413193092008917129">Ρουτίνες διαγνωστικών στοιχείων δικτύου</translation>
 <translation id="4132183752438206707">Βρείτε εφαρμογές στο Google Play Store</translation>
@@ -4067,6 +4093,7 @@
 <translation id="4444512841222467874">Εάν δεν ελευθερωθεί χώρος, οι χρήστες και τα δεδομένα ενδέχεται να καταργηθούν αυτόματα.</translation>
 <translation id="4445446646109808714">Συμφωνία άδειας χρήσης τελικού χρήστη: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Κατοπτριζόμενο</translation>
+<translation id="4448560527907365660">Αποθήκευση και εμφάνιση περισσότερων</translation>
 <translation id="4448914100439890108">Απόκρυψη κωδικού πρόσβασης για <ph name="USERNAME" /> σε <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Διαχείριση αδειών</translation>
 <translation id="4449948729197510913">Το όνομα χρήστη ανήκει στον εταιρικό λογαριασμό του οργανισμού σας. Για να εγγράψετε συσκευές στον λογαριασμό, επαληθεύστε πρώτα την κατοχή του τομέα στην κονσόλα διαχειριστή. Για την επαλήθευση, θα χρειαστείτε προνόμια διαχειριστή στον λογαριασμό.</translation>
@@ -4247,6 +4274,7 @@
 <translation id="4601426376352205922">Σήμανση ως μη αναγνωσμένης</translation>
 <translation id="460190672235687855">Προβολή κωδικών πρόσβασης</translation>
 <translation id="4602466770786743961">Να επιτρέπεται πάντα στο <ph name="HOST" /> η πρόσβαση στην κάμερα και στο μικρόφωνό σας</translation>
+<translation id="4602776638371779614">Η συγκεκριμένη καρτέλα κάνει ενεργά σάρωση για συσκευές Bluetooth.</translation>
 <translation id="4606551464649945562">Να μην επιτρέπεται σε ιστοτόπους η δημιουργία τρισδιάστατου χάρτη του περιβάλλοντα χώρου σας και η παρακολούθηση της θέσης της κάμερας</translation>
 <translation id="4608500690299898628">&amp;Εύρεση...</translation>
 <translation id="4610162781778310380">Η προσθήκη <ph name="PLUGIN_NAME" /> παρουσίασε κάποιο σφάλμα</translation>
@@ -4430,6 +4458,7 @@
 <translation id="4770119228883592393">Ζητήθηκε άδεια, πατήστε ⌘ + Option + κάτω βέλος για απάντηση.</translation>
 <translation id="4773112038801431077">Αναβάθμιση Linux</translation>
 <translation id="4774456473286455263">Ρύθμιση με το τηλέφωνό σας Android</translation>
+<translation id="477548766361111120">Να επιτρέπεται στην επέκταση να διαβάζει και να κάνει αλλαγές σε αυτόν τον ιστότοπο</translation>
 <translation id="477647109558161443">Δημιουργία συντόμευσης επιφάνειας εργασίας</translation>
 <translation id="4776594120007763294">Για να προσθέσετε μια σελίδα για ανάγνωση αργότερα, κάντε κλικ στο κουμπί</translation>
 <translation id="4777458362738635055">Άλλοι χρήστες της συσκευής μπορούν να χρησιμοποιούν αυτό το δίκτυο.</translation>
@@ -4878,6 +4907,7 @@
 <translation id="5173668317844998239">Προσθέστε και διαγράψτε τα δακτυλικά αποτυπώματα που έχουν αποθηκευτεί στο κλειδί ασφαλείας σας.</translation>
 <translation id="5174169235862638850">Ο κωδικός πρόσβασης αντιγράφηκε στο πρόχειρο</translation>
 <translation id="5175379009094579629">Το όνομα της συσκευής δεν είναι έγκυρο. Εισαγάγετε ένα έγκυρο όνομα συσκευής για να δοκιμάσετε ξανά.</translation>
+<translation id="5176787661653201403">Α&amp;ντιγραφή καρέ βίντεο</translation>
 <translation id="5177479852722101802">Συνέχιση αποκλεισμού της πρόσβασης στην κάμερα και στο μικρόφωνο</translation>
 <translation id="5177549709747445269">Χρησιμοποιείτε δεδομένα κινητής τηλεφωνίας</translation>
 <translation id="5178667623289523808">Εύρεση προηγούμενου</translation>
@@ -5223,6 +5253,7 @@
 <translation id="5485102783864353244">Προσθήκη εφαρμογής</translation>
 <translation id="5485435764083510385">Προτιμώμενη γλώσσα υποτίτλων</translation>
 <translation id="5485754497697573575">Επαναφορά όλων των καρτελών</translation>
+<translation id="5486071940327595306">Ο ιστότοπος <ph name="WEBSITE" /> μπορεί να χρειάζεται νεότερη συσκευή ή συσκευή άλλου είδους</translation>
 <translation id="5486261815000869482">Επιβεβαίωση κωδικού πρόσβασης</translation>
 <translation id="5486561344817861625">Προσομοίωση επανεκκίνησης προγράμματος περιήγησης</translation>
 <translation id="5487460042548760727">Μετονομασία προφίλ σε <ph name="PROFILE_NAME" /></translation>
@@ -5326,6 +5357,7 @@
 <translation id="5571066253365925590">Το Bluetooth έχει ενεργοποιηθεί</translation>
 <translation id="5571092938913434726">Καθολικά στοιχεία ελέγχου μέσων</translation>
 <translation id="5571832155627049070">Προσαρμογή του προφίλ σας</translation>
+<translation id="5572166921642484567">Επιλέξτε λειτουργία συνδυασμού χρωμάτων</translation>
 <translation id="5572252023412311448">Εμφάνιση λεπτομερειών ιστοτόπου για <ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">Θα λαμβάνετε βελτιωμένες προτάσεις στη γραμμή διευθύνσεων.</translation>
 <translation id="557506220935336383">Προβολή αδειών επέκτασης για άλλους ιστοτόπους</translation>
@@ -5578,6 +5610,7 @@
 <translation id="5799508265798272974">Εικονικό μηχάνημα Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Το αρχείο προορισμού περικόπηκε ή καταργήθηκε από την τελευταία λήψη.</translation>
 <translation id="5800351251499368110">Κλείσιμο αναζήτησης στο πλαϊνό πλαίσιο. Η αναζήτηση είναι ανοιχτή στο πλαϊνό πλαίσιο.</translation>
+<translation id="5800703268655655701">Επιλογή φωτεινού ή σκούρου θέματος</translation>
 <translation id="5801051031414037185">Ρύθμιση τηλεφώνου</translation>
 <translation id="5801568494490449797">Προτιμήσεις</translation>
 <translation id="5803689677801500549">Οι αποθηκευμένοι κωδικοί πρόσβασης θα εμφανίζονται εδώ. Για να εισαγάγετε κωδικούς πρόσβασης στο <ph name="BRAND" /> για το <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />επιλέξτε ένα αρχείο CSV<ph name="END_LINK" />.</translation>
@@ -5693,6 +5726,7 @@
 <translation id="5889282057229379085">Μέγιστος αριθμός ενδιάμεσων CA: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">Κρυπτογράφηση συγχρονισμένων δεδομένων με τη δική σας <ph name="BEGIN_LINK" />φράση πρόσβασης συγχρονισμού<ph name="END_LINK" />. Οι τρόποι και οι διευθύνσεις πληρωμών από το Google Pay δεν θα κρυπτογραφούνται. Το ιστορικό περιήγησης από το Chrome δεν θα συγχρονίζεται.</translation>
 <translation id="5891688036610113830">Προτιμώμενα δίκτυα Wi-Fi</translation>
+<translation id="5894056653502215961">Αποεπιλογή φακέλου <ph name="FOLDER_TITLE" /></translation>
 <translation id="5895138241574237353">Επανεκκίνηση</translation>
 <translation id="5895335062901455404">Όταν συνδέεστε στον Λογαριασμό σας Google, οι αποθηκευμένες προτιμήσεις και η δραστηριότητά σας θα είναι έτοιμα σε οποιαδήποτε συσκευή ChromeOS Flex. Μπορείτε να επιλέξετε τα στοιχεία που θέλετε να συγχρονίζονται στις Ρυθμίσεις.</translation>
 <translation id="589541317545606110">Αναζήτηση σελίδας με <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5764,6 +5798,7 @@
 <translation id="5948476936444935795">Ακύρωση εισαγωγής</translation>
 <translation id="5948536763493709626">Συνδέστε ένα πληκτρολόγιο ή ποντίκι ή συνεχίστε τη ρύθμιση χρησιμοποιώντας την οθόνη αφής σας. Εάν χρησιμοποιείτε συσκευές Bluetooth, βεβαιωθείτε ότι οι συσκευές σας είναι έτοιμες για σύζευξη.</translation>
 <translation id="5949544233750246342">Δεν είναι δυνατή η ανάλυση του αρχείου</translation>
+<translation id="5950762317146173294">Το συγκεκριμένο αρχείο μπορεί να είναι ιός ή κακόβουλο πρόγραμμα</translation>
 <translation id="5951303645598168883">Ο ιστότοπος <ph name="ORIGIN" /> θέλει να χρησιμοποιήσει τοπικές γραμματοσειρές.</translation>
 <translation id="5951624318208955736">Οθόνη</translation>
 <translation id="595262438437661818">Καμία επέκταση δεν χρειάζεται πρόσβαση σε αυτόν τον ιστότοπο</translation>
@@ -5848,6 +5883,7 @@
 <translation id="6022526133015258832">Άνοιγμα πλήρους οθόνης</translation>
 <translation id="6022659036123304283">Προσαρμόστε το Chrome για εσάς</translation>
 <translation id="6023643151125006053">Αυτή η συσκευή (σειριακός αριθμός: <ph name="SERIAL_NUMBER" />) κλειδώθηκε από τον διαχειριστή του τομέα <ph name="SAML_DOMAIN" />.</translation>
+<translation id="6024072172641380781">Να επιτρέπονται οι επεκτάσεις σε αυτόν τον ιστότοπο</translation>
 <translation id="6025215716629925253">Ανίχνευση στοίβας</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Συνδέθηκε συσκευή USB</translation>
 <translation id="6027945736510816438">Μήπως εννοούσατε <ph name="WEBSITE" />;</translation>
@@ -6131,6 +6167,7 @@
 <translation id="6268252012308737255">Άνοιγμα με <ph name="APP" /></translation>
 <translation id="6270309713620950855">Υπενθύμιση σίγασης</translation>
 <translation id="6270391203985052864">Οι ιστότοποι μπορούν να ζητούν να στέλνουν ειδοποιήσεις.</translation>
+<translation id="6270486800167535228">Η επέκταση είναι καρφιτσωμένη. Επιλέξτε για να δείτε περισσότερες επιλογές</translation>
 <translation id="6270770586500173387">Αποστολή <ph name="BEGIN_LINK1" />πληροφοριών συστήματος και εφαρμογών<ph name="END_LINK1" /> και <ph name="BEGIN_LINK2" />μετρήσεων<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">Κάρτα λειτουργίας Διαδρομές</translation>
 <translation id="6271348838875430303">Η διόρθωση αναιρέθηκε</translation>
@@ -6211,6 +6248,7 @@
 <translation id="6344608411615208519">Η <ph name="BEGIN_LINK" />διαχείριση του προγράμματος περιήγησης<ph name="END_LINK" /> γίνεται από τον γονέα σου</translation>
 <translation id="6345418402353744910">Το όνομα χρήστη και ο κωδικός πρόσβασης απαιτούνται για τον διακομιστή μεσολάβησης <ph name="PROXY" />, έτσι ώστε ο διαχειριστής να μπορεί να διαμορφώσει το δίκτυό σας.</translation>
 <translation id="6345878117466430440">Επισήμανση ως αναγνωσμένο</translation>
+<translation id="6346952829206698721">Επικόλληση από το πρόχειρο</translation>
 <translation id="6347010704471250799">Εμφάνιση ειδοποίησης</translation>
 <translation id="634887995541211148">Εκτελέστε το Bruschetta στη συσκευή σας.</translation>
 <translation id="6349101878882523185">Εγκατάσταση εφαρμογής <ph name="APP_NAME" /></translation>
@@ -6496,6 +6534,7 @@
 <translation id="6596325263575161958">Επιλογές κρυπτογράφησης</translation>
 <translation id="6596816719288285829">Διεύθυνση IP</translation>
 <translation id="6597017209724497268">Δείγματα</translation>
+<translation id="6597324406048772521">Οι επεκτάσεις δεν επιτρέπονται σε αυτόν τον ιστότοπο</translation>
 <translation id="6597331566371766302">Οι παρακάτω επεκτάσεις αποκλείστηκαν από τον διαχειριστή σας:</translation>
 <translation id="659894938503552850">νεότερα</translation>
 <translation id="6601262427770154296">Διαχείριση λεξικών χρήστη</translation>
@@ -6513,6 +6552,7 @@
 <translation id="6609478180749378879">Τα δεδομένα σύνδεσης θα αποθηκευτούν σε αυτήν τη συσκευή αφού εξέλθετε από την κατάσταση ανώνυμης περιήγησης. Θα μπορείτε να συνδεθείτε σε αυτόν τον ιστότοπο ξανά με τη συσκευή σας αργότερα.</translation>
 <translation id="6610002944194042868">Μετάφραση επιλογών</translation>
 <translation id="6611972847767394631">Βρείτε τις καρτέλες σας εδώ</translation>
+<translation id="6613267708691765962">Σάρωση για κακόβουλα προγράμματα…</translation>
 <translation id="6613668613087513143">Δεν υπάρχει αρκετός χώρος σε αυτήν τη συσκευή για την ολοκλήρωση αυτής της ενημέρωσης. Αποδεσμεύστε <ph name="NECESSARY_SPACE" /> κάνοντας εκκαθάριση στη συσκευή σας, και προσπαθήστε ξανά από το πρόγραμμα περιήγησης Chrome.</translation>
 <translation id="6615455863669487791">Εμφάνιση</translation>
 <translation id="6618097958368085618">Διατήρηση</translation>
@@ -6761,6 +6801,7 @@
 <translation id="6825184156888454064">Ταξινόμηση κατά όνομα</translation>
 <translation id="6826872289184051766">Επαλήθευση μέσω USB</translation>
 <translation id="6827121912381363404">Να επιτρέπεται σε όλες τις επεκτάσεις να διαβάζουν και να αλλάζουν τον ιστότοπο <ph name="PERMITTED_SITE" /></translation>
+<translation id="6827422464708099620">Επιλέξτε για να δείτε περισσότερες επιλογές</translation>
 <translation id="6827517233063803343">Οι εφαρμογές και οι ρυθμίσεις σας θα συγχρονιστούν σε όλες τις συσκευές Chrome OS, στις οποίες έχετε συνδεθεί με τον Λογαριασμό σας Google. Για επιλογές συγχρονισμού προγράμματος περιήγησης, μεταβείτε στις <ph name="LINK_BEGIN" />Ρυθμίσεις Chrome<ph name="LINK_END" />.</translation>
 <translation id="6827767090350758381">Οι παλιές εκδόσεις των Εφαρμογών Chrome δεν θα ανοίγουν σε συσκευές Windows μετά τον Δεκέμβριο του 2022. Επικοινωνήστε με τον διαχειριστή σας για να κάνετε ενημέρωση σε μια νέα έκδοση ή να καταργήσετε αυτήν την εφαρμογή.</translation>
 <translation id="6828153365543658583">Περιορισμός σύνδεσης στους ακόλουθους χρήστες:</translation>
@@ -6824,6 +6865,7 @@
 <translation id="6868934826811377550">Δείτε λεπτομέρειες</translation>
 <translation id="6871644448911473373">Απόκριση OCSP: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Ο κωδικός πρόσβασης που εισαγάγατε απορρίφθηκε από τον διακομιστή.</translation>
+<translation id="6873571253135628430">Αλλαγή αδειών ιστοτόπου</translation>
 <translation id="6876155724392614295">Ποδήλατο</translation>
 <translation id="6876469544038980967">Δεν είναι χρήσιμη</translation>
 <translation id="6878422606530379992">Επιτρέπονται οι αισθητήρες</translation>
@@ -6964,6 +7006,7 @@
 <translation id="6993050154661569036">Ενημέρωση προγράμματος περιήγησης Chrome</translation>
 <translation id="6995899638241819463">Σας προειδοποιεί σε περίπτωση που οι κωδικοί πρόσβασής σας αποκαλυφθούν στο πλαίσιο μιας παραβίασης δεδομένων.</translation>
 <translation id="6995984090981858039">Ανάγνωση πληροφοριών και δεδομένων συσκευής Chrome OS</translation>
+<translation id="6996438701394974959">Αύξηση μεγέθους προβολής και κειμένου</translation>
 <translation id="6997553674029032185">Μετάβαση στον ιστότοπο</translation>
 <translation id="6997642619627518301">Αρχείο καταγραφής δραστηριοτήτων - <ph name="NAME_PH" /></translation>
 <translation id="6997707937646349884">Στις συσκευές σας:</translation>
@@ -7084,6 +7127,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Κατάργηση εφαρμογής}other{Κατάργηση εφαρμογών}}</translation>
 <translation id="7099337801055912064">Δεν είναι δυνατή η φόρτωση μεγάλου PPD. Το μέγιστο μέγεθος είναι 250 KB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Δεν υπάρχουν παραβιασμένοι κωδικοί πρόσβασης}=1{{COUNT} παραβιασμένος κωδικός πρόσβασης}other{{COUNT} παραβιασμένοι κωδικοί πρόσβασης}}</translation>
+<translation id="710047887584828070">Κοινοποιείται το περιεχόμενο της συγκεκριμένης καρτέλας</translation>
 <translation id="7102832101143475489">Το χρονικό όριο αιτήματος έληξε</translation>
 <translation id="710640343305609397">Άνοιγμα ρυθμίσεων δικτύου</translation>
 <translation id="7107609441453408294">Αναπαραγωγή του ίδιου ήχου σε όλα τα ηχεία</translation>
@@ -7179,6 +7223,7 @@
 <translation id="719791532916917144">Συντόμευση πληκτρολογίου</translation>
 <translation id="7198503619164954386">Πρέπει να χρησιμοποιείτε συσκευή που έχει εγγραφεί σε επιχείρηση</translation>
 <translation id="7199158086730159431">Λάβετε β&amp;οήθεια</translation>
+<translation id="7199452998289813782">Παύση μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="7200083590239651963">Επιλογή διαμόρφωσης</translation>
 <translation id="720110658997053098">Μόνιμη διατήρηση της παρούσας συσκευής σε λειτουργία Kiosk</translation>
 <translation id="7201118060536064622">Το "<ph name="DELETED_ITEM_NAME" />" διαγράφηκε</translation>
@@ -7225,6 +7270,7 @@
 <translation id="7241389281993241388">Συνδεθείτε στο <ph name="TOKEN_NAME" /> για εισαγωγή του πιστοποιητικού πελάτη.</translation>
 <translation id="7241763419756062043">Επιλέξτε την ποιότητα αναζήτησης και περιήγησης</translation>
 <translation id="7243632151880336635">Διαγραφή και αποσύνδεση</translation>
+<translation id="7245162963905242662">Αναζ&amp;ήτηση αυτής της σελίδας με το Google…</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (βέλτιστη)</translation>
 <translation id="7246230585855757313">Επανατοποθετήστε το κλειδί ασφαλείας και δοκιμάστε ξανά</translation>
 <translation id="724835896049478274">Λογαριασμοί διαθέσιμοι για εφαρμογές Android</translation>
@@ -7531,8 +7577,10 @@
 <translation id="7497981768003291373">Δεν υπάρχουν αρχεία καταγραφής κειμένου WebRTC τα οποία λήφθηκαν πρόσφατα.</translation>
 <translation id="7501957181231305652">ή</translation>
 <translation id="7502220299952823578">Προσθήκη στη λίστα "να διατηρούνται πάντα ενεργοί αυτοί οι ιστότοποι"</translation>
+<translation id="7502528909759062987">Παύση καρτέλας μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="7503191893372251637">Τύπος πιστοποιητικού Netscape</translation>
 <translation id="7503985202154027481">Μια καταγραφή της επίσκεψής σας σε αυτόν τον ιστότοπο θα διατηρηθεί στο κλειδί ασφαλείας.</translation>
+<translation id="7504145862399276792">Ο ήχος αυτής της καρτέλας έχει τεθεί σε σίγαση</translation>
 <translation id="750509436279396091">Άνοιγμα φακέλου λήψεων</translation>
 <translation id="7505149250476994901">Πείτε "κεφαλαίο" πριν από το γράμμα</translation>
 <translation id="7505717542095249632">Απόκρυψη <ph name="MERCHANT" /></translation>
@@ -7772,6 +7820,7 @@
 <translation id="7701040980221191251">Καμία</translation>
 <translation id="7701265686005869308">Κλείσιμο προφίλ</translation>
 <translation id="7701869757853594372">Χειρισμοί ΧΡΗΣΤΗ</translation>
+<translation id="7702463352133825032">Διακοπή μετάδοσης στη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="7702574632857388784">Κατάργηση αρχείου <ph name="FILE_NAME" /> από τη λίστα</translation>
 <translation id="7702907602086592255">Τομέας</translation>
 <translation id="7704305437604973648">Εργασία</translation>
@@ -7891,6 +7940,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Το φόντο της αρχικής σελίδας άλλαξε σε <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Η αντίστροφη κύλιση ενεργοποιήθηκε</translation>
 <translation id="7791543448312431591">Προσθήκη</translation>
 <translation id="7792012425874949788">Παρουσιάστηκε κάποιο πρόβλημα κατά τη σύνδεση</translation>
 <translation id="7792388396321542707">Διακοπή κοινής χρήσης</translation>
@@ -8057,6 +8107,7 @@
 <translation id="7935451262452051102">Ολοκλήρωση κατά <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Επιλογές για προχωρημένους</translation>
 <translation id="7939073735115504773">Κάντε κλικ στο εικονίδιο αυτής της επέκτασης για ανάγνωση και αλλαγή του ιστοτόπου <ph name="HOST" /></translation>
+<translation id="793923212791838">Δεν είναι δυνατή η χρήση της συσκευής με αυτόν τον ιστότοπο</translation>
 <translation id="7939328347457537652">Διαχείριση πιστοποιητικών συσκευής</translation>
 <translation id="7939412583708276221">Να συνεχιστεί</translation>
 <translation id="7940265372707990269">Ταξινόμηση κατά <ph name="SORT_TYPE" /></translation>
@@ -8233,6 +8284,7 @@
 <translation id="8084114998886531721">Αποθηκευμένος κωδικός πρόσβασης</translation>
 <translation id="8084510406207562688">Επαναφορά όλων των καρτελών</translation>
 <translation id="8086015605808120405">Διαμόρφωση <ph name="PRINTER_NAME" /> …</translation>
+<translation id="8086121155774250556">Η συγκεκριμένη καρτέλα κοινοποιεί την οθόνη σας</translation>
 <translation id="8086442853986205778">Ρύθμιση <ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">Δεν είναι δυνατή η δημιουργία αντιγράφων ασφαλείας των εφαρμογών και των αρχείων Linux</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Αυτό το αρχείο είναι κρυπτογραφημένο. Ζητήστε από τον κάτοχό του να το αποκρυπτογραφήσει.}other{Ορισμένα από αυτά τα αρχεία είναι κρυπτογραφημένα. Ζητήστε από τον κάτοχό τους να τα αποκρυπτογραφήσει.}}</translation>
@@ -8535,6 +8587,7 @@
 <translation id="8345848587667658367">Μπορείτε πλέον να βλέπετε τις πρόσφατες φωτογραφίες, τα μέσα, τις ειδοποιήσεις και τις εφαρμογές του τηλεφώνου σας.</translation>
 <translation id="8347227221149377169">Εργασίες εκτύπωσης</translation>
 <translation id="834785183489258869">Ενώ βρίσκεστε σε κατάσταση ανώνυμης περιήγησης, οι ιστότοποι δεν μπορούν να χρησιμοποιήσουν τα cookie σας για να βλέπουν τη δραστηριότητα περιήγησής σας σε διαφορετικούς ιστοτόπους, για παράδειγμα, για την εξατομίκευση των διαφημίσεων. Ορισμένες λειτουργίες κάποιων ιστοτόπων μπορεί να μην είναι διαθέσιμες.</translation>
+<translation id="8349325309815489209">Επιτρέπονται οι επεκτάσεις σε αυτόν τον ιστότοπο</translation>
 <translation id="8349826889576450703">εφαρμογή εκκίνησης</translation>
 <translation id="8350789879725387295">Εργαλεία γραφίδας στη θέση αγκύρωσης</translation>
 <translation id="8351316842353540018">Να εμφανίζονται πάντα οι επιλογές προσβασιμότητας</translation>
@@ -8563,6 +8616,7 @@
 <translation id="8370294614544004647">Λειτουργία αδράνειας όταν ο φορητός υπολογιστής είναι κλειστός</translation>
 <translation id="8371695176452482769">Μιλήστε τώρα</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Σίγαση ιστοτόπου}other{Σίγαση ιστοτόπων}}</translation>
+<translation id="8372441176515901959">Παράβλεψη αιτήματος</translation>
 <translation id="8373652277231415614">Κοινόχρηστοι κατάλογοι Crostini</translation>
 <translation id="8374243500935816406">Να μην επιτρέπεται στους ιστοτόπους η διαχείριση των παραθύρων σε όλες τις οθόνες σας</translation>
 <translation id="8376137163494131156">Πείτε μας τι συμβαίνει με το Google Cast.</translation>
@@ -8922,6 +8976,7 @@
 <translation id="8687103160920393343">Ακύρωση <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Διαθέσιμο</translation>
 <translation id="8690129572193755009">Οι ιστότοποι μπορούν να ζητούν να διαχειρίζονται πρωτόκολλα</translation>
+<translation id="869144235543261764">Η συγκεκριμένη καρτέλα αναπαράγει κάποιο βίντεο σε λειτουργία picture-in-picture.</translation>
 <translation id="8692107307702113268">Ο κωδικός πρόσβασης υπερβαίνει τους 1.000 χαρακτήρες</translation>
 <translation id="8694596275649352090">Κλείδωμα όταν η συσκευή είναι σε κατάσταση αδράνειας ή όταν το καπάκι είναι κλειστό</translation>
 <translation id="8695139659682234808">Προσθήκη γονικών ελέγχων μετά τη ρύθμιση</translation>
@@ -9153,6 +9208,7 @@
 <translation id="8877448029301136595">[γονικός κατάλογος]</translation>
 <translation id="8879284080359814990">&amp;Εμφάνιση ως καρτέλα</translation>
 <translation id="8879921471468674457">Απομνημόνευση πληροφοριών σύνδεσης</translation>
+<translation id="8880009256105053174">Αναζ&amp;ήτηση αυτής της σελίδας με το Google…</translation>
 <translation id="8880054210564666174">Δεν είναι δυνατή η λήψη της λίστας επαφών. Ελέγξτε τη σύνδεση δικτύου σας ή <ph name="LINK_BEGIN" />δοκιμάστε ξανά<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Δοκιμάστε ξανά. Για τεχνική υποστήριξη, επικοινωνήστε με <ph name="CARRIER_NAME" />.</translation>
 <translation id="888256071122006425">Ρυθμίσεις ποντικιού και επιφάνειας αφής</translation>
@@ -9417,6 +9473,7 @@
 <translation id="9102864637938129124">Οι ιστότοποι και οι διαφημιζόμενοι μπορούν να κατανοούν την απόδοση των διαφημίσεων. Αυτή η ρύθμιση είναι ενεργοποιημένη.</translation>
 <translation id="9103479157856427471">Η μεγεθυμένη οθόνη ακολουθεί την εστίαση πληκτρολογίου</translation>
 <translation id="9103868373786083162">Πατήστε για να επιστρέψετε στο μενού περιβάλλοντος για να δείτε το ιστορικό</translation>
+<translation id="9107096627210171112">Μ&amp;ετάφραση…</translation>
 <translation id="9108035152087032312">Όνομα και παράθυρο…</translation>
 <translation id="9108072915170399168">Η τρέχουσα ρύθμιση χρήσης δεδομένων είναι Χωρίς διαδίκτυο.</translation>
 <translation id="9108294543511800041">Μπορείτε πλέον να βλέπετε τις πρόσφατες φωτογραφίες, τα μέσα και τις ειδοποιήσεις του τηλεφώνου σας.</translation>
@@ -9573,6 +9630,7 @@
 <translation id="947329552760389097">&amp;Inspect Elements</translation>
 <translation id="947526284350604411">Η απάντησή σας</translation>
 <translation id="947667444780368238">Το <ph name="ORIGIN" /> δεν μπορεί να ανοίξει αρχεία σε αυτόν τον φάκελο επειδή περιέχει αρχεία συστήματος</translation>
+<translation id="949807244219288032">Η συγκεκριμένη καρτέλα είναι συνδεδεμένη σε συσκευή HID</translation>
 <translation id="950307215746360464">Οδηγός ρύθμισης</translation>
 <translation id="951991426597076286">Απόρριψη</translation>
 <translation id="952471655966876828">Η συσκευή θα συνδέεται αυτόματα όταν ενεργοποιείται και χρησιμοποιείται</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index c2ae6ae..ac5b3d5 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -527,6 +527,7 @@
 <translation id="1448779317883494811">Brush tool</translation>
 <translation id="1449191289887455076">Press '<ph name="CURRENTKEY" />' again to confirm assignment and <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Web page, Single File</translation>
+<translation id="145280054552001290">Add and remove languages to caption</translation>
 <translation id="1453561711872398978">Send <ph name="BEGIN_LINK" />
     debug logs<ph name="END_LINK" /> (recommended)</translation>
 <translation id="1454223536435069390">T&amp;ake screenshot</translation>
@@ -1456,6 +1457,7 @@
 <translation id="2204020417499639567">Email filled.</translation>
 <translation id="2204034823255629767">Read and change anything that you type</translation>
 <translation id="2204387456724731099">This selection couldn't be translated</translation>
+<translation id="2207116775853792104">Keep this extension</translation>
 <translation id="2210462644007531147">Couldn’t complete installation</translation>
 <translation id="2211245494465528624">Manage sync options</translation>
 <translation id="2212565012507486665">Allow cookies</translation>
@@ -3616,6 +3618,7 @@
 <translation id="4044612648082411741">Enter your certificate password</translation>
 <translation id="4044708573046946214">Screen lock password</translation>
 <translation id="404493185430269859">Default search engine</translation>
+<translation id="4045196801416070837">Device sounds</translation>
 <translation id="4046013316139505482">These extensions don't need to see and change information on this site.</translation>
 <translation id="4046123991198612571">Next track</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -5219,6 +5222,7 @@
 <translation id="5481941284378890518">Add Nearby Printers</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> requires you to back up your data and return this <ph name="DEVICE_TYPE" /> today. <ph name="LINK_BEGIN" />See details<ph name="LINK_END" />}other{<ph name="MANAGER" /> requires you to back up your data and return this <ph name="DEVICE_TYPE" /> within {NUM_DAYS} days. <ph name="LINK_BEGIN" />See details<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Add app</translation>
+<translation id="5485435764083510385">Preferred caption language</translation>
 <translation id="5485754497697573575">Restore All Tabs</translation>
 <translation id="5486261815000869482">Confirm password</translation>
 <translation id="5486561344817861625">Simulate Browser Restart</translation>
@@ -7402,6 +7406,7 @@
 <translation id="7400839060291901923">Set up connection on your <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Dismiss this message</translation>
 <translation id="7402198013420237102">Move saved passwords to your Google Account?</translation>
+<translation id="740333000181878130">Device start-up sound</translation>
 <translation id="7403642243184989645">Downloading resources</translation>
 <translation id="7404065585741198296">Your phone with a USB cable</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Safety check ran 1 hour ago}other{Safety check ran {NUM_HOURS} hours ago}}</translation>
@@ -7450,6 +7455,7 @@
 <translation id="7434509671034404296">Developer</translation>
 <translation id="7434757724413878233">Mouse acceleration</translation>
 <translation id="7434969625063495310">Couldn't add the print server. Please check the server's configuration and try again.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Review 1 extension that was taken down from the Chrome Web Store}other{Review {NUM_EXTENSIONS} extensions that were taken down from the Chrome Web Store}}</translation>
 <translation id="7436921188514130341">Oh no! There was an error during renaming.</translation>
 <translation id="7439519621174723623">Add a device name to continue</translation>
 <translation id="7441736921018636843">To change this setting, <ph name="BEGIN_LINK" />reset sync<ph name="END_LINK" /> to remove your sync passphrase</translation>
@@ -7466,6 +7472,7 @@
 <translation id="7452166281927983300">Dismissed warnings (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">By selecting this printer, you are giving the following extension the permission to access your printer:</translation>
 <translation id="7453467225369441013">Signs you out of most sites. You won't be signed out of your Google Account.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{This extension might be unsafe. Chrome recommends that you remove it.}other{These extensions might be unsafe. Chrome recommends that you remove them.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Manage extra containers</translation>
 <translation id="7455988709578031708">Based on your browsing history. This setting is on.</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index 646e88f9..4e50dfdd 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">Se produjo un error en el perfil</translation>
 <translation id="1253664522045778676">Haz clic en un resultado y la página se abrirá en la pestaña actual</translation>
 <translation id="1254593899333212300">Conexión directa a Internet</translation>
+<translation id="1256588359404100567">Se sincronizó la configuración de tu dispositivo anterior.</translation>
 <translation id="1257336506558170607">Exportar el certificado seleccionado</translation>
 <translation id="1258491128795710625">Novedades</translation>
 <translation id="1259152067760398571">Ayer se ejecutó la Verificación de seguridad</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">Herramienta de pincel</translation>
 <translation id="1449191289887455076">Vuelve a presionar "<ph name="CURRENTKEY" />" para confirmar la asignación y presiona <ph name="RESPONSE" />.</translation>
 <translation id="1451375123200651445">Página web (un único archivo)</translation>
+<translation id="145280054552001290">Agrega y quita idiomas para subtítulos</translation>
 <translation id="1453561711872398978">Enviar <ph name="BEGIN_LINK" />registros de depuración<ph name="END_LINK" /> (recomendado)</translation>
 <translation id="1454223536435069390">Tomar captura de pantalla</translation>
 <translation id="145432137617179457">Idiomas del corrector ortográfico</translation>
@@ -991,6 +993,7 @@
 <translation id="18260074040409954">Puedes usar las contraseñas guardadas en cualquier dispositivo. Se guardan en <ph name="GOOGLE_PASSWORD_MANAGER" /> para <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sincroniza los favoritos, las contraseñas, el historial y otros elementos de tu navegador Chrome</translation>
 <translation id="1826516787628120939">Comprobando</translation>
+<translation id="1826657447823925402">Se inhabilitó el desplazamiento inverso</translation>
 <translation id="1827504459960247692">Nombre del hotspot</translation>
 <translation id="1828378091493947763">Este complemento no es compatible con este dispositivo</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Abrir todo}=1{&amp;Abrir favorito}other{&amp;Abrir todo ({COUNT})}}</translation>
@@ -1278,6 +1281,7 @@
 <translation id="2081816110395725788">Suspender mientras se usa la batería</translation>
 <translation id="2082187087049518845">Crear un grupo con la pestaña</translation>
 <translation id="2082510809738716738">Elige un color de tema</translation>
+<translation id="2084891381052978619">También puedes encontrar estas opciones en Configuración cuando termines de configurar tu Chromebook</translation>
 <translation id="208586643495776849">Vuelve a intentarlo</translation>
 <translation id="208634871997892083">VPN siempre activada</translation>
 <translation id="2087822576218954668">Imprimir: <ph name="PRINT_NAME" /></translation>
@@ -1347,6 +1351,7 @@
 <translation id="212862741129535676">Porcentaje de ocupación de estado de frecuencia</translation>
 <translation id="212876957201860463">Preparando la configuración de tu dispositivo celular…</translation>
 <translation id="2131077480075264">No se pudo instalar "<ph name="APP_NAME" />" porque no tiene permisos de "<ph name="IMPORT_NAME" />".</translation>
+<translation id="2133775869826239001">Elige más funciones para configurar</translation>
 <translation id="2133857665503360653">Volver a probar <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA del sistema</translation>
 <translation id="21354425047973905">Oculta los PIN</translation>
@@ -2927,6 +2932,7 @@
 <translation id="347785443197175480">Continuar permitiendo que <ph name="HOST" /> acceda a la cámara y al micrófono</translation>
 <translation id="3479552764303398839">Ahora no</translation>
 <translation id="3479685872808224578">No se pudo detectar el servidor de impresión. Verifica la dirección y vuelve a intentarlo.</translation>
+<translation id="3479753605053415848">Haz clic para personalizar Chrome</translation>
 <translation id="3480612136143976912">Personaliza el tamaño y el estilo de los subtítulos para el Subtitulado instantáneo. Algunas apps y sitios también usarán esta configuración.</translation>
 <translation id="3480827850068960424">Se encontraron <ph name="NUM" /> pestañas</translation>
 <translation id="3481268647794498892">Se abrirá en <ph name="ALTERNATIVE_BROWSER_NAME" /> en <ph name="COUNTDOWN_SECONDS" /> segundos</translation>
@@ -3220,6 +3226,7 @@
 <translation id="3738632186060045350">Se borrarán los datos de <ph name="DEVICE_TYPE" /> en 24 horas</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">¿Abrir <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Disminuir el tamaño de la pantalla y del texto</translation>
 <translation id="3741056951918180319">Puedes hacer clic en la extensión en cualquier momento para usarla en el sitio que desees</translation>
 <translation id="3742235229730461951">Disposición del teclado coreano</translation>
 <translation id="3742666961763734085">No se encontró ninguna unidad organizativa con ese nombre. Vuelve a intentarlo.</translation>
@@ -3598,6 +3605,7 @@
 <translation id="4044612648082411741">Ingresar la contraseña del certificado</translation>
 <translation id="4044708573046946214">Contraseña de bloqueo de pantalla</translation>
 <translation id="404493185430269859">Motor de búsqueda predeterminado</translation>
+<translation id="4045196801416070837">Sonidos del dispositivo</translation>
 <translation id="4046013316139505482">Estas extensiones no necesitan ver ni cambiar información en este sitio.</translation>
 <translation id="4046123991198612571">Siguiente pista</translation>
 <translation id="4047345532928475040">No corresponde.</translation>
@@ -4047,6 +4055,7 @@
 <translation id="4444512841222467874">Si no liberas espacio, es posible que se quiten usuarios y datos de forma automática.</translation>
 <translation id="4445446646109808714">Contrato de licencia para el usuario final: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Duplicado</translation>
+<translation id="4448560527907365660">Guardar y ver más</translation>
 <translation id="4448914100439890108">Ocultar contraseña de <ph name="USERNAME" /> en <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Administrar permisos</translation>
 <translation id="4449948729197510913">Tu nombre de usuario pertenece a la cuenta empresarial de tu organización. Si deseas inscribir dispositivos en la cuenta, primero debes revisar la propiedad del dominio en la Consola del administrador. Deberás tener privilegios administrativos de la cuenta que deseas verificar.</translation>
@@ -5200,7 +5209,9 @@
 <translation id="5481941284378890518">Agregar impresoras cercanas</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> requiere que hagas una copia de seguridad de tus datos y devuelvas este dispositivo <ph name="DEVICE_TYPE" /> hoy mismo. <ph name="LINK_BEGIN" />Ver detalles<ph name="LINK_END" />}other{<ph name="MANAGER" /> requiere que hagas una copia de seguridad de tus datos y devuelvas este dispositivo <ph name="DEVICE_TYPE" /> en el transcurso de {NUM_DAYS} días. <ph name="LINK_BEGIN" />Ver detalles<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Agregar app</translation>
+<translation id="5485435764083510385">Idioma preferido de subtítulos</translation>
 <translation id="5485754497697573575">Restablecer todas las pestañas</translation>
+<translation id="5486071940327595306">Es posible que <ph name="WEBSITE" /> solicite un tipo de dispositivo más nuevo o diferente</translation>
 <translation id="5486261815000869482">Confirmar contraseña</translation>
 <translation id="5486561344817861625">Simular reinicio de navegador</translation>
 <translation id="5487460042548760727">Cambiar el nombre del perfil a <ph name="PROFILE_NAME" /></translation>
@@ -5555,6 +5566,7 @@
 <translation id="5799508265798272974">Máquina virtual de Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">El archivo de destino se truncó o eliminó desde la última descarga.</translation>
 <translation id="5800351251499368110">Cierra la búsqueda en el panel lateral. La búsqueda está abierta en el panel lateral.</translation>
+<translation id="5800703268655655701">Selecciona el tema oscuro o claro</translation>
 <translation id="5801051031414037185">Configurar el teléfono</translation>
 <translation id="5801568494490449797">Preferencias</translation>
 <translation id="5803689677801500549">Las contraseñas guardadas aparecerán aquí. Si quieres importar contraseñas a <ph name="BRAND" /> para <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />selecciona un archivo CSV.<ph name="END_LINK" /></translation>
@@ -6941,6 +6953,7 @@
 <translation id="6993050154661569036">Se está actualizando el navegador Chrome</translation>
 <translation id="6995899638241819463">Advertirme si quedan expuestas las contraseñas ante una violación de la seguridad de los datos</translation>
 <translation id="6995984090981858039">Leer la información y los datos del dispositivo ChromeOS</translation>
+<translation id="6996438701394974959">Aumentar el tamaño de la pantalla y del texto</translation>
 <translation id="6997553674029032185">Ir al sitio</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" />: Registro de actividad</translation>
 <translation id="6997707937646349884">En tus dispositivos:</translation>
@@ -7383,6 +7396,7 @@
 <translation id="7400839060291901923">Configurar la conexión en tu <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Descartar este mensaje</translation>
 <translation id="7402198013420237102">¿Quieres mover las contraseñas guardadas a tu Cuenta de Google?</translation>
+<translation id="740333000181878130">Sonido de inicio del dispositivo</translation>
 <translation id="7403642243184989645">Descarga de recursos</translation>
 <translation id="7404065585741198296">Tu teléfono con un cable USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Se ejecutó hace 1 hora la Verificación de seguridad}other{Se ejecutó hace {NUM_HOURS} horas la Verificación de seguridad}}</translation>
@@ -7867,6 +7881,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">El fondo de la página de inicio se cambió a <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Se habilitó el desplazamiento inverso</translation>
 <translation id="7791543448312431591">Agregar</translation>
 <translation id="7792012425874949788">Se produjo un error al acceder</translation>
 <translation id="7792388396321542707">Dejar de compartir</translation>
@@ -8033,6 +8048,7 @@
 <translation id="7935451262452051102">Se completó el <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Opciones avanzadas</translation>
 <translation id="7939073735115504773">Haz clic en el ícono de esta extensión para leer y modificar <ph name="HOST" /></translation>
+<translation id="793923212791838">No se puede usar tu dispositivo con este sitio</translation>
 <translation id="7939328347457537652">Administrar certificados de dispositivos</translation>
 <translation id="7939412583708276221">Continuar de todos modos</translation>
 <translation id="7940265372707990269">Ordenar por <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 10ccdb3..c3fd2e746 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">Se ha producido un error del perfil</translation>
 <translation id="1253664522045778676">Haz clic en un resultado y la página se abrirá en la pestaña actual</translation>
 <translation id="1254593899333212300">Conexión directa a Internet</translation>
+<translation id="1256588359404100567">Ajuste sincronizado desde tu dispositivo anterior.</translation>
 <translation id="1257336506558170607">Exportar certificado seleccionado</translation>
 <translation id="1258491128795710625">Novedades</translation>
 <translation id="1259152067760398571">La comprobación de seguridad se ejecutó ayer</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">Herramienta de pincel</translation>
 <translation id="1449191289887455076">Pulsa <ph name="CURRENTKEY" /> otra vez para confirmar la asignación y <ph name="RESPONSE" />.</translation>
 <translation id="1451375123200651445">Página web (un único archivo)</translation>
+<translation id="145280054552001290">Añadir y quitar idiomas de subtítulos</translation>
 <translation id="1453561711872398978">Enviar <ph name="BEGIN_LINK" />registros de depuración<ph name="END_LINK" /> (recomendado)</translation>
 <translation id="1454223536435069390">H&amp;acer captura de pantalla</translation>
 <translation id="145432137617179457">Idiomas de la revisión ortográfica</translation>
@@ -994,6 +996,7 @@
 <translation id="18260074040409954">Puedes usar las contraseñas guardadas en cualquier dispositivo. Se guardan en el <ph name="GOOGLE_PASSWORD_MANAGER" /> para <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sincroniza tus marcadores, tus contraseñas y tu historial de Chrome, entre otros elementos</translation>
 <translation id="1826516787628120939">Comprobando</translation>
+<translation id="1826657447823925402">Desplazamiento invertido inhabilitado</translation>
 <translation id="1827504459960247692">Nombre del punto de acceso</translation>
 <translation id="1828378091493947763">Este complemento no se admite en este dispositivo</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Abrir todas}=1{&amp;Abrir marcador}other{&amp;Abrir todas ({COUNT})}}</translation>
@@ -1281,6 +1284,7 @@
 <translation id="2081816110395725788">Modo de inactividad con batería</translation>
 <translation id="2082187087049518845">Agrupar pestañas</translation>
 <translation id="2082510809738716738">Elige un color de tema</translation>
+<translation id="2084891381052978619">También podrás acceder a estas opciones en Configuración cuando termines de configurar tu Chromebook</translation>
 <translation id="208586643495776849">Vuelve a intentarlo</translation>
 <translation id="208634871997892083">VPN siempre activada</translation>
 <translation id="2087822576218954668">Imprimir: <ph name="PRINT_NAME" /></translation>
@@ -1350,6 +1354,7 @@
 <translation id="212862741129535676">Porcentaje de ocupación de estado de frecuencia</translation>
 <translation id="212876957201860463">Preparando la configuración de tu dispositivo móvil...</translation>
 <translation id="2131077480075264">No se puede instalar la extensión "<ph name="APP_NAME" />" porque no tiene permiso de "<ph name="IMPORT_NAME" />".</translation>
+<translation id="2133775869826239001">Elige más funciones para configurarlas</translation>
 <translation id="2133857665503360653">Reintentar descarga de <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Autoridades de certificación del sistema</translation>
 <translation id="21354425047973905">Ocultar PINs</translation>
@@ -2931,6 +2936,7 @@
 <translation id="347785443197175480">Seguir permitiendo que <ph name="HOST" /> acceda a la cámara y al micrófono</translation>
 <translation id="3479552764303398839">Ahora no</translation>
 <translation id="3479685872808224578">No se ha podido detectar el servidor de impresión. Revisa la dirección y vuelve a intentarlo.</translation>
+<translation id="3479753605053415848">Haz clic para personalizar Chrome</translation>
 <translation id="3480612136143976912">Personaliza el tamaño y el estilo de los subtítulos automáticos. Algunas aplicaciones y sitios también utilizarán este ajuste.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> pestañas encontradas</translation>
 <translation id="3481268647794498892">Se abrirá en <ph name="ALTERNATIVE_BROWSER_NAME" /> dentro de <ph name="COUNTDOWN_SECONDS" /> segundos</translation>
@@ -3224,6 +3230,7 @@
 <translation id="3738632186060045350">Se eliminarán los datos del <ph name="DEVICE_TYPE" /> dentro de 24 horas</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">¿Abrir <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Reducir el tamaño de la pantalla y del texto</translation>
 <translation id="3741056951918180319">Puedes hacer clic en la extensión siempre que quieras para usarla en cualquier sitio web</translation>
 <translation id="3742235229730461951">Diseño de teclado coreano</translation>
 <translation id="3742666961763734085">No se puede encontrar una unidad organizativa con ese nombre. Inténtalo de nuevo.</translation>
@@ -3601,6 +3608,7 @@
 <translation id="4044612648082411741">Introduce la contraseña del certificado</translation>
 <translation id="4044708573046946214">Contraseña de bloqueo de pantalla</translation>
 <translation id="404493185430269859">Motor de búsqueda predeterminado</translation>
+<translation id="4045196801416070837">Sonidos del dispositivo</translation>
 <translation id="4046013316139505482">Estas extensiones no necesitan ver ni cambiar información en este sitio web.</translation>
 <translation id="4046123991198612571">Pista siguiente</translation>
 <translation id="4047345532928475040">No disp.</translation>
@@ -4050,6 +4058,7 @@
 <translation id="4444512841222467874">Si no se libera espacio, es posible que se eliminen automáticamente usuarios y datos.</translation>
 <translation id="4445446646109808714">Contrato de licencia de usuario final: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Duplicado</translation>
+<translation id="4448560527907365660">Guardar y ver más</translation>
 <translation id="4448914100439890108">Ocultar contraseña de <ph name="USERNAME" /> en <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Gestionar permisos</translation>
 <translation id="4449948729197510913">Tu nombre de usuario pertenece a la cuenta de empresa de tu organización. Para registrar dispositivos en la cuenta, primero verifica la propiedad del dominio en la consola de administración. Necesitas tener privilegios de administrador para poder verificar la cuenta.</translation>
@@ -5203,7 +5212,9 @@
 <translation id="5481941284378890518">Añadir impresoras cercanas</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> requiere que crees una copia de seguridad de tus datos y devuelvas este <ph name="DEVICE_TYPE" /> hoy. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" />}other{<ph name="MANAGER" /> requiere que crees una copia de seguridad de tus datos y devuelvas este <ph name="DEVICE_TYPE" /> en un plazo de {NUM_DAYS} días. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Añadir aplicación</translation>
+<translation id="5485435764083510385">Idioma de subtítulos preferido</translation>
 <translation id="5485754497697573575">Restaurar todas las pestañas</translation>
+<translation id="5486071940327595306">Puede que <ph name="WEBSITE" /> requiera un tipo de dispositivo distinto o más reciente</translation>
 <translation id="5486261815000869482">Confirmar contraseña</translation>
 <translation id="5486561344817861625">Simular reinicio del navegador</translation>
 <translation id="5487460042548760727">Cambiar el nombre del perfil a <ph name="PROFILE_NAME" /></translation>
@@ -5558,6 +5569,7 @@
 <translation id="5799508265798272974">Máquina virtual de Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">El archivo de destino está truncado o se ha eliminado desde la última descarga.</translation>
 <translation id="5800351251499368110">Cerrar la búsqueda en el panel lateral. La búsqueda está abierta en el panel lateral.</translation>
+<translation id="5800703268655655701">Seleccionar tema claro u oscuro</translation>
 <translation id="5801051031414037185">Configurar teléfono</translation>
 <translation id="5801568494490449797">Preferencias</translation>
 <translation id="5803689677801500549">Las contraseñas guardadas aparecerán aquí. Para importar contraseñas a <ph name="BRAND" /> con <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />selecciona un archivo CSV<ph name="END_LINK" />.</translation>
@@ -6944,6 +6956,7 @@
 <translation id="6993050154661569036">Actualizando el navegador Chrome</translation>
 <translation id="6995899638241819463">Avisarte si tus contraseñas se ven expuestas en una brecha de seguridad de datos</translation>
 <translation id="6995984090981858039">Leer la información y los datos de los dispositivos ChromeOS</translation>
+<translation id="6996438701394974959">Aumentar el tamaño de la pantalla y del texto</translation>
 <translation id="6997553674029032185">Ir al sitio</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" />: Registro de actividad</translation>
 <translation id="6997707937646349884">En tus dispositivos:</translation>
@@ -7386,6 +7399,7 @@
 <translation id="7400839060291901923">Configurar la conexión en tu <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Ignorar este mensaje</translation>
 <translation id="7402198013420237102">¿Mover contraseñas guardadas a tu cuenta de Google?</translation>
+<translation id="740333000181878130">Sonido de inicio del dispositivo</translation>
 <translation id="7403642243184989645">Descargando recursos</translation>
 <translation id="7404065585741198296">Tu teléfono con un cable USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{La comprobación de seguridad se realizó hace 1 hora}other{La comprobación de seguridad se realizó hace {NUM_HOURS} horas}}</translation>
@@ -7870,6 +7884,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Se ha cambiado el fondo de la página de inicio a <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Desplazamiento invertido habilitado</translation>
 <translation id="7791543448312431591">Añadir</translation>
 <translation id="7792012425874949788">Error al iniciar sesión</translation>
 <translation id="7792388396321542707">Dejar de compartir</translation>
@@ -8036,6 +8051,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> % completado</translation>
 <translation id="7939062555109487992">Opciones avanzadas</translation>
 <translation id="7939073735115504773">Haz clic en el icono de esta extensión para leer y modificar <ph name="HOST" /></translation>
+<translation id="793923212791838">Tu dispositivo no se puede usar con este sitio</translation>
 <translation id="7939328347457537652">Gestionar los certificados del dispositivo</translation>
 <translation id="7939412583708276221">Mantener de todos modos</translation>
 <translation id="7940265372707990269">Ordenar por <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index e4ffc4ae..70f9a74 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -527,6 +527,7 @@
 <translation id="1448779317883494811">Pintslitööriist</translation>
 <translation id="1449191289887455076">Selleks, et määratud toiming kinnitada ja <ph name="RESPONSE" />, vajutage uuesti klahvi <ph name="CURRENTKEY" />.</translation>
 <translation id="1451375123200651445">Veebileht, üks fail</translation>
+<translation id="145280054552001290">Subtiitrite keelte lisamine ja eemaldamine</translation>
 <translation id="1453561711872398978">Saada <ph name="BEGIN_LINK" />
     silumislogid<ph name="END_LINK" /> (soovitatav)</translation>
 <translation id="1454223536435069390">J&amp;äädvusta ekraanipilt</translation>
@@ -1447,6 +1448,7 @@
 <translation id="2204020417499639567">Meiliaadressi väli on täidetud.</translation>
 <translation id="2204034823255629767">Sisestatava teksti lugemine ja muutmine</translation>
 <translation id="2204387456724731099">Seda valikut ei õnnestunud tõlkida</translation>
+<translation id="2207116775853792104">Hoia see laiendus alles</translation>
 <translation id="2210462644007531147">Installimise lõpetamine ei õnnestunud</translation>
 <translation id="2211245494465528624">Halda sünkroonimisvalikuid</translation>
 <translation id="2212565012507486665">Luba küpsisefailid</translation>
@@ -3607,6 +3609,7 @@
 <translation id="4044612648082411741">Sisestage oma sertifikaadi parool</translation>
 <translation id="4044708573046946214">Ekraaniluku parool</translation>
 <translation id="404493185430269859">Vaikeotsingumootor</translation>
+<translation id="4045196801416070837">Seadme helid</translation>
 <translation id="4046013316139505482">Need laiendused ei pea sellel saidil olevat teavet nägema ega saama seda muuta.</translation>
 <translation id="4046123991198612571">Järgmine lugu</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -5209,6 +5212,7 @@
 <translation id="5481941284378890518">Läheduses olevate printerite lubamine</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> nõuab, et varundaksite oma andmed ja tagastaksite seadme <ph name="DEVICE_TYPE" /> täna. <ph name="LINK_BEGIN" />Kuva üksikasjad<ph name="LINK_END" />}other{<ph name="MANAGER" /> nõuab, et varundaksite oma andmed ja tagastaksite seadme <ph name="DEVICE_TYPE" /> {NUM_DAYS} päeva jooksul. <ph name="LINK_BEGIN" />Kuva üksikasjad<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Lisa rakendus</translation>
+<translation id="5485435764083510385">Eelistatud subtiitrite keel</translation>
 <translation id="5485754497697573575">Taasta kõik vahekaardid</translation>
 <translation id="5486261815000869482">Kinnitage parool</translation>
 <translation id="5486561344817861625">Simuleeri brauseri taaskäivitamist</translation>
@@ -7392,6 +7396,7 @@
 <translation id="7400839060291901923">Seadistage ühendus seadmes <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Loobu sellest sõnumist</translation>
 <translation id="7402198013420237102">Kas teisaldada salvestatud paroolid teie Google'i kontole?</translation>
+<translation id="740333000181878130">Seadme käivitamise heli</translation>
 <translation id="7403642243184989645">Ressursside allalaadimine</translation>
 <translation id="7404065585741198296">Teie telefon USB-kaabli kaudu</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Ohutuskontroll tehti 1 tund tagasi}other{Ohutuskontroll tehti {NUM_HOURS} tundi tagasi}}</translation>
@@ -7440,6 +7445,7 @@
 <translation id="7434509671034404296">Arendaja</translation>
 <translation id="7434757724413878233">Hiire kiirendus</translation>
 <translation id="7434969625063495310">Prindiserverit ei õnnestunud lisada. Kontrollige serveri seadistust ja proovige uuesti.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Vaadake üle 1 laiendus, mis eemaldati Chrome’i veebipoest.}other{Vaadake üle {NUM_EXTENSIONS} laiendust, mis eemaldati Chrome’i veebipoest.}}</translation>
 <translation id="7436921188514130341">Ups, ebaõnn! Ümbernimetamisel ilmnes viga.</translation>
 <translation id="7439519621174723623">Jätkamiseks lisage seadme nimi</translation>
 <translation id="7441736921018636843">Seade muutmiseks <ph name="BEGIN_LINK" />lähtestage sünkroonimine<ph name="END_LINK" />, et sünkroonimisparool eemaldada</translation>
@@ -7456,6 +7462,7 @@
 <translation id="7452166281927983300">Hoiatustest loobuti (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Kui valite selle printeri, annate järgmisele laiendile loa printerile juurde pääseda.</translation>
 <translation id="7453467225369441013">Logib teid enamikult saitidelt välja. Google'i kontolt teid välja ei logita.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{See laiendus võib olla ebaturvaline. Chrome soovitab selle eemaldada.}other{Need laiendused võivad olla ebaturvalised. Chrome soovitab need eemaldada.}}</translation>
 <translation id="7454548535253569100">Portaal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Halda lisakonteinereid</translation>
 <translation id="7455988709578031708">Põhinevad teie sirvimisajalool. See seade on sisse lülitatud.</translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index 49266f4..94594de 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -525,6 +525,7 @@
 <translation id="1448779317883494811">Brotxaren tresna</translation>
 <translation id="1449191289887455076">Esleipena berresteko eta <ph name="RESPONSE" />, sakatu "<ph name="CURRENTKEY" />" berriro</translation>
 <translation id="1451375123200651445">Webgunea, fitxategi bakarra</translation>
+<translation id="145280054552001290">Gehitu eta kendu azpitituluetarako hizkuntzak</translation>
 <translation id="1453561711872398978">Bidali <ph name="BEGIN_LINK" />arazketa-erregistroak<ph name="END_LINK" /> (gomendatua)</translation>
 <translation id="1454223536435069390">&amp;Atera pantaila-argazkia</translation>
 <translation id="145432137617179457">Ortografia-zuzentzailearen hizkuntzak</translation>
@@ -3601,6 +3602,7 @@
 <translation id="4044612648082411741">Idatzi ziurtagiriaren pasahitza</translation>
 <translation id="4044708573046946214">Pantaila desblokeatzeko pasahitza</translation>
 <translation id="404493185430269859">Bilatzaile lehenetsia</translation>
+<translation id="4045196801416070837">Gailuaren soinuak</translation>
 <translation id="4046013316139505482">Luzapen hauek ez daukate webgune honetako informazioa ikusi eta aldatzeko beharrik.</translation>
 <translation id="4046123991198612571">Hurrengo pista</translation>
 <translation id="4047345532928475040">E/A</translation>
@@ -5202,6 +5204,7 @@
 <translation id="5481941284378890518">Gehitu inguruko inprimagailuak</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{Gaur datuen babeskopiak egiteko eta <ph name="DEVICE_TYPE" /> gailua itzultzeko eskatzen du <ph name="MANAGER" /> domeinuak. <ph name="LINK_BEGIN" />Ikusi xehetasunak<ph name="LINK_END" />}other{{NUM_DAYS} eguneko epean datuen babeskopia egiteko eta <ph name="DEVICE_TYPE" /> gailua itzultzeko eskatzen du <ph name="MANAGER" /> domeinuak. <ph name="LINK_BEGIN" />Ikusi xehetasunak<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Gehitu aplikazioa</translation>
+<translation id="5485435764083510385">Azpitituluen hizkuntza hobetsia</translation>
 <translation id="5485754497697573575">Leheneratu fitxa guztiak</translation>
 <translation id="5486261815000869482">Berretsi pasahitza</translation>
 <translation id="5486561344817861625">Simulatu arakatzailea berrabiaraztea</translation>
@@ -7382,6 +7385,7 @@
 <translation id="7400839060291901923">Konfiguratu konexioa <ph name="PHONE_NAME" /> gailuan</translation>
 <translation id="7401778920660465883">Baztertu mezu hau</translation>
 <translation id="7402198013420237102">Pasahitz gehiago gorde nahi dituzu Google-ko kontuan?</translation>
+<translation id="740333000181878130">Gailuaren abioko soinua</translation>
 <translation id="7403642243184989645">Baliabideak deskargatzen</translation>
 <translation id="7404065585741198296">Telefonoa eta USB kable bat</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Duela ordubete egin da segurtasun-egiaztapena}other{Duela {NUM_HOURS} ordu egin da segurtasun-egiaztapena}}</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index d1ed2efc..746ddfd9 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">لغو شده</translation>
 <translation id="1022489261739821355">‏درحال نمایش گذرواژه‌های ذخیره‌شده در <ph name="BEGIN_LINK" />حساب Google<ph name="END_LINK" /> شما</translation>
 <translation id="1022669824195822609">دستگاه شما تحت‌مدیریت <ph name="DOMAIN" /> قرار دارد. سرپرستان می‌توانند به داده‌های موجود در همه نمایه‌های این دستگاه دسترسی داشته باشند.</translation>
+<translation id="1024734233509995696">این برگه از دوربین یا میکروفون شما استفاده می‌کند</translation>
 <translation id="1026655690966755180">افزودن درگاه</translation>
 <translation id="1026822031284433028">بارگیری تصویر</translation>
 <translation id="1026959648338730078">‏Windows Hello یا کلید امنیتی خارجی</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">درحال اتصال به تلفن</translation>
 <translation id="1158080958325422608">تبدیل به حروف بزرگ</translation>
 <translation id="1158238185437008462">دیدن خاطرات</translation>
+<translation id="1159879754517035595">مدیریت تنظیمات افزونه</translation>
 <translation id="1160842321113409343">برای محافظت از حریم خصوصی شما، سایت‌هایی را که قدیمی‌تر از ۴ هفته باشند به‌طور خودکار از فهرست حذف می‌کنیم. سایت‌هایی که مجدداً از آن‌ها بازدید می‌کنید ممکن است دوباره در فهرست نمایش داده شود. یا اگر می‌خواهید سایت خاصی هرگز علایق شما را مشخص نکند می‌توانید آن سایت را بردارید.</translation>
 <translation id="1161575384898972166">لطفاً برای صدور مجوز سرویس گیرنده، به <ph name="TOKEN_NAME" /> وارد شوید.</translation>
 <translation id="116173250649946226">سرپرستتان طرح زمینه‌ای پیش‌فرض تنظیم کرده است که نمی‌توان تغییر داد.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> حاوی داده‌های حساس یا خطرناکی است. پیام سرپرست: «<ph name="CUSTOM_MESSAGE" />»</translation>
 <translation id="1171515578268894665">‏<ph name="ORIGIN" /> می‌خواهد به یک دستگاه HID متصل شود</translation>
 <translation id="1172750555846831341">ورق زدن ازطرف لبه کوتاه‌تر</translation>
+<translation id="1173036203040243666">این برگه به دستگاه بلوتوث متصل است</translation>
 <translation id="1173332155861271669">‏جزئیات ارائه‌دهنده Passpoint</translation>
 <translation id="1173894706177603556">تغییر نام</translation>
 <translation id="1174073918202301297">میان‌بر اضافه شد</translation>
@@ -317,6 +320,7 @@
 <translation id="1252987234827889034">خطای نمایه رخ داد</translation>
 <translation id="1253664522045778676">روی یکی از نتایج کلیک کنید تا صفحه در برگه فعلی‌تان باز شود</translation>
 <translation id="1254593899333212300">اتصال اینترنتی مستقیم</translation>
+<translation id="1256588359404100567">تنظیم از دستگاه قبلی‌تان همگام‌سازی شده است.</translation>
 <translation id="1257336506558170607">صادر کردن گواهینامه انتخاب‌شده</translation>
 <translation id="1258491128795710625">ویژگی‌های جدید</translation>
 <translation id="1259152067760398571">«بررسی ایمنی» دیروز اجرا شد</translation>
@@ -528,6 +532,7 @@
 <translation id="1448779317883494811">ابزار قلم‌مو</translation>
 <translation id="1449191289887455076">برای تأیید تخصیص و <ph name="RESPONSE" />، «<ph name="CURRENTKEY" />» را دوباره فشار دهید.</translation>
 <translation id="1451375123200651445">صفحه وب، فایل واحد</translation>
+<translation id="145280054552001290">افزودن و برداشتن زبان از زیرنویس ناشنوایان</translation>
 <translation id="1453561711872398978">ارسال <ph name="BEGIN_LINK" />
     گزارش‌های اشکال‌زدایی<ph name="END_LINK" /> (توصیه می‌شود)</translation>
 <translation id="1454223536435069390">گرفتن نماگرفت</translation>
@@ -658,6 +663,7 @@
 <translation id="1556537182262721003">انتقال دایرکتوری برنامهٔ افزودنی به نمایه ممکن نیست.</translation>
 <translation id="1558391695376153246">بستن «برگه‌های ناشناس»</translation>
 <translation id="155865706765934889">صفحه لمسی</translation>
+<translation id="1558671750917454373">ازسر گرفتن پخش محتوا در <ph name="DEVICE_NAME" /></translation>
 <translation id="1562119309884184621">افزودن این مخاطب باعث می‌شود برای هم‌رسانی بعدی‌اش در حافظه ذخیره شود</translation>
 <translation id="1563137369682381456">تاریخ انقضا</translation>
 <translation id="1563702743503072935">‏وقتی به سیستم وارد شده باشید، گذرواژه‌های ذخیره‌شده در «حساب Google» شما در این دستگاه هم دردسترس خواهد بود</translation>
@@ -789,6 +795,7 @@
 <translation id="1648528859488547844">‏از Wi-Fi یا شبکه‌های تلفن همراه برای تعیین مکان استفاده شود</translation>
 <translation id="164936512206786300">لغو مرتبط‌سازی دستگاه بلوتوث</translation>
 <translation id="1651008383952180276">باید همان گذرعبارت را دو بار وارد کنید</translation>
+<translation id="1651609627703324721">این برگه محتوای واقعیت مجازی را به هدست ارائه می‌دهد</translation>
 <translation id="1652326691684645429">فعال کردن «هم‌رسانی با اطراف»</translation>
 <translation id="1654580009054503925">مجاز به نمایش درخواست‌ها نیست</translation>
 <translation id="1656528038316521561">ماتی پس‌زمینه</translation>
@@ -888,6 +895,7 @@
 <translation id="173522743738009831">درباره «جعبه ایمنی حریم خصوصی»</translation>
 <translation id="173628468822554835">متوجه شدم. به‌طور پیش‌فرض، سایت‌های جدیدی را که بازدید کرده‌اید برایتان اعلان نمی‌فرستند.</translation>
 <translation id="1737968601308870607">اشکال پرونده</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. برای تغییر اجازه‌های سایت انتخاب کنید</translation>
 <translation id="1741190788710022490">شارژ تطبیقی</translation>
 <translation id="174123615272205933">سفارشی</translation>
 <translation id="1741314857973421784">ادامه</translation>
@@ -1003,6 +1011,7 @@
 <translation id="18260074040409954">می‌توانید از گذرواژه‌های ذخیره‌شده در هر دستگاهی استفاده کنید. این گذرواژه‌ها در <ph name="GOOGLE_PASSWORD_MANAGER" /> نشانی ایمیل <ph name="EMAIL" /> ذخیره شده است.</translation>
 <translation id="1826192255355608658">‏همگام‌سازی نشانک‌ها، گذرواژه‌ها، سابقه، و دیگر اطلاعات مرورگر Chrome</translation>
 <translation id="1826516787628120939">در حال بررسی</translation>
+<translation id="1826657447823925402">پیمایش معکوس غیرفعال است</translation>
 <translation id="1827504459960247692">نام نقطه اتصال</translation>
 <translation id="1828378091493947763">این افزایه در این دستگاه پشتیبانی نمی‌شود</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{باز کردن همه}=1{باز کردن نشانک}one{باز کردن همه ({COUNT})}other{باز کردن همه ({COUNT})}}</translation>
@@ -1079,6 +1088,7 @@
 <translation id="1885066963699478692">‏فایل‌های XML که برای تنظیم خط‌مشی‌ها استفاده می‌شوند.</translation>
 <translation id="1885106732301550621">فضای دیسک</translation>
 <translation id="1886996562706621347">به سایت‌ها اجازه داده شود درخواست کنند که کنترل‌کننده پیش‌فرض برای پروتکل‌ها شوند (توصیه می‌شود)</translation>
+<translation id="1887210448491286312">توقف پخش محتوای برگه در <ph name="DEVICE_NAME" /></translation>
 <translation id="1887442540531652736">خطای ورود به سیستم</translation>
 <translation id="1887597546629269384">‏دوباره بگویید «Ok Google»</translation>
 <translation id="1889091146873278175">‏برای دیدن نتایج جستجوی بیشتر در پانل کناری، روی «G» کلیک کنید</translation>
@@ -1105,6 +1115,7 @@
 <translation id="1910908536872421421">‏«Chrome ویژه آزمایش» نسخه <ph name="BROWSER_VERSION" /> فقط برای آزمایش خودکار درنظر گرفته است. برای مرور عادی، از نسخه استاندارد Chrome که به‌طور خودکار به‌روزرسانی می‌شود استفاده کنید.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">قطع تماس</translation>
+<translation id="1915613305720536742">ترجمه</translation>
 <translation id="1915734383465415025">شماره فروشگاه</translation>
 <translation id="1916260783734263714">برگه کنونی</translation>
 <translation id="1916502483199172559">چهره‌نمای پیش‌فرض قرمز</translation>
@@ -1209,6 +1220,7 @@
 <translation id="2007404777272201486">گزارش یک مسئله...</translation>
 <translation id="2009590708342941694">ابزار اموجی</translation>
 <translation id="2010501376126504057">دستگاه‌های سازگار</translation>
+<translation id="2012935757369720523">حذف فایل</translation>
 <translation id="2013550551806600826">امتحانش کنید. این تنظیم را روشن یا خاموش کنید، سپس با دو انگشت روی صفحه لمسی در قسمت آزمایش پیمایش کنید. همچنین می‌توانید این تنظیم را بعداً در «تنظیمات &gt; دستگاه &gt; موشواره و صفحه لمسی» پیدا کنید.</translation>
 <translation id="2015232545623037616">‏رایانه شخصی و Chromecast در یک شبکه Wi-Fi</translation>
 <translation id="2016473077102413275">ویژگی‌هایی که به تصویر نیاز دارند کار نخواهند کرد</translation>
@@ -1290,6 +1302,7 @@
 <translation id="2081816110395725788">حالت راکد هنگام استفاده از باتری</translation>
 <translation id="2082187087049518845">گروه‌بندی برگه</translation>
 <translation id="2082510809738716738">انتخاب رنگ زمینه</translation>
+<translation id="2084891381052978619">‏همچنین می‌توانید این گزینه‌ها را پس‌از تکمیل راه‌اندازی Chromebook در «تنظیمات» پیدا کنید</translation>
 <translation id="208586643495776849">لطفاً دوباره امتحان کنید</translation>
 <translation id="208634871997892083">‏VPN همیشه روشن</translation>
 <translation id="2087822576218954668">چاپ: <ph name="PRINT_NAME" /></translation>
@@ -1359,6 +1372,7 @@
 <translation id="212862741129535676">درصد اشغال حالت فرکانس</translation>
 <translation id="212876957201860463">درحال آماده‌سازی برای راه‌اندازی دستگاه تلفن همراه...</translation>
 <translation id="2131077480075264">نصب «<ph name="APP_NAME" />» انجام نشد، زیرا «<ph name="IMPORT_NAME" />» آن را مجاز نکرده است</translation>
+<translation id="2133775869826239001">ویژگی‌های بیشتری برای راه‌اندازی انتخاب کنید</translation>
 <translation id="2133857665503360653">امتحان مجدد <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">مراجع صدور گواهینامه سیستم</translation>
 <translation id="21354425047973905">پنهان کردن پین‌ها</translation>
@@ -1780,6 +1794,7 @@
 <translation id="2458379781610688953">به‌روزرسانی حساب، <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">کد مدیریت دستگاه نامعتبر است.</translation>
 <translation id="2459703812219683497">کد فعال‌سازی شناسایی شد</translation>
+<translation id="2459706890611560967">ازسر گرفتن پخش محتوای برگه در <ph name="DEVICE_NAME" /></translation>
 <translation id="2460356425461033301">از داده‌های مرورگرتان پشتیبان‌گیری کنید و در هر دستگاهی از آن‌ها استفاده کنید</translation>
 <translation id="2462332841984057083">‏Steam اکنون درحال راه‌اندازی است. منتظر بمانید تا راه‌اندازی تکمیل شود.</translation>
 <translation id="2462724976360937186">شناسه کلید ارائه دهنده مجوز</translation>
@@ -2526,6 +2541,7 @@
 <translation id="3088325635286126843">&amp;تغییر‌نام...</translation>
 <translation id="3089137131053189723">جستجو پاک شد</translation>
 <translation id="3089941350495701096">&amp;فهرست خواندن</translation>
+<translation id="3089948625237571254">کپی کردن قاب ویدیو</translation>
 <translation id="3090227230165225418">اعلام اعلان‌های بارگیری</translation>
 <translation id="3090589793601454425">منتقل نشود</translation>
 <translation id="3090819949319990166">‏فایل خارجی crx در <ph name="TEMP_CRX_FILE" /> کپی نمی‌شود.</translation>
@@ -2626,10 +2642,12 @@
 <translation id="3194786596445804250">نمایش جزئیات مربوط به مسدود کردن کوکی‌های شخص ثالث</translation>
 <translation id="3197453258332670132">با کلیک راست یا فشار طولانی، اطلاعات مربوط به انتخاب نوشتار نمایش داده شود</translation>
 <translation id="3199127022143353223">سرورها</translation>
+<translation id="3199637719075529971">این برگه به درگاه سریال متصل است</translation>
 <translation id="3200061262156232574">در سبد خرید</translation>
 <translation id="3201237270673604992">ی تا الف</translation>
 <translation id="3201422919974259695">‏دستگاه‌های USB دردسترس در اینجا نشان داده می‌شود.</translation>
 <translation id="3202131003361292969">مسیر</translation>
+<translation id="3202499879214571401">توقف موقت پخش محتوای صفحه در <ph name="DEVICE_NAME" /></translation>
 <translation id="3202578601642193415">جدیدترین</translation>
 <translation id="3204648577100496185">داده‌های مرتبط با این برنامه ممکن است از این دستگاه برداشته شود.</translation>
 <translation id="3207960819495026254">نشانک‌گذاری شده</translation>
@@ -2942,6 +2960,7 @@
 <translation id="347785443197175480">همچنان دسترسی به دوربین و میکروفون شما، توسط <ph name="HOST" /> مجاز باشد</translation>
 <translation id="3479552764303398839">حالا نه</translation>
 <translation id="3479685872808224578">سرور چاپ شناسایی نشد. لطفاً نشانی را بررسی و دوباره امتحان کنید.</translation>
+<translation id="3479753605053415848">‏برای سفارشی‌سازی Chrome کلیک کنید</translation>
 <translation id="3480612136143976912">اندازه و سبک زیرنویس ناشنوایان را برای «زیرنویس ناشنوایان زنده» سفارشی می‌کند. برخی از برنامه‌ها و سایت‌ها نیز از این تنظیم استفاده خواهند کرد.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> برگه پیدا شد</translation>
 <translation id="3481268647794498892">درحال باز شدن در <ph name="ALTERNATIVE_BROWSER_NAME" /> در<ph name="COUNTDOWN_SECONDS" /> ثانیه</translation>
@@ -3024,9 +3043,11 @@
 <translation id="3557101512409028104">‏محدودیت‌های وب‌سایت و محدودیت‌های مدت تماشای صفحه با Family Link تنظیم شود</translation>
 <translation id="3557267430539505890">‏<ph name="BEGIN_PARAGRAPH1" />اجازه دادن به دستگاه‌های ChromeOS برای ارسال گزارش‌های خودکار، به ما کمک می‌کند آنچه را باید در ChromeOS درست کنیم و بهبود ببخشیم اولویت‌بندی کنیم. این گزارش‌ها می‌تواند شامل مواردی ازاین‌قبیل باشد: چه زمانی ChromeOS ازکار می‌افتد، از کدام ویژگی‌ها استفاده می‌شود، معمولاً چه مقدار حافظه استفاده می‌شود.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />هرزمان بخواهید می‌توانید مجاز کردن این گزارش‌ها را در تنظیمات دستگاه ChromeOS فرزندتان شروع یا متوقف کنید. اگر سرپرست دامنه هستید، می‌توانید این تنظیم را در «کنسول سرپرست» تغییر دهید.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">توقف پخش محتوای صفحه در <ph name="DEVICE_NAME" /></translation>
 <translation id="3559262020195162408">خط‌مشی روی دستگاه نصب نشد.</translation>
 <translation id="3559533181353831840">تقریباً <ph name="TIME_LEFT" /> باقی مانده است</translation>
 <translation id="3560034655160545939">&amp;غلط‌گیر املا</translation>
+<translation id="3561201631376780358">برای دیدن «همه نشانک‌ها»، «پانل کناری» را باز کنید</translation>
 <translation id="3562423906127931518">‏ممکن است این فرایند چند دقیقه طول بکشد. درحال راه‌اندازی محتوی Linux.</translation>
 <translation id="3562655211539199254">‏مشاهده برگه‌های اخیر Chrome از تلفن</translation>
 <translation id="3563432852173030730">برنامه کیوسک بارگیری نشد.</translation>
@@ -3190,6 +3211,7 @@
 <translation id="370415077757856453">جاوا اسکریپت مسدود شد</translation>
 <translation id="3704331259350077894">توقف عملیات</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">ازسر گرفتن پخش محتوای صفحه در <ph name="DEVICE_NAME" /></translation>
 <translation id="3706463572498736864">صفحه در هر برگ</translation>
 <translation id="370649949373421643">‏فعال کردن Wi-Fi</translation>
 <translation id="370665806235115550">در حال بارکردن…</translation>
@@ -3235,6 +3257,7 @@
 <translation id="3738632186060045350">داده‌های <ph name="DEVICE_TYPE" /> پس از ۲۴ ساعت حذف خواهد شد</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> باز شود؟</translation>
+<translation id="3740945083753997630">کاهش اندازه نمایش و نوشتار</translation>
 <translation id="3741056951918180319">هرزمان خواستید از این افزونه در سایت‌ها استفاده کنید، می‌توانید روی آن کلیک کنید</translation>
 <translation id="3742235229730461951">جانمایی صفحه‌کلید کره‌ای</translation>
 <translation id="3742666961763734085">واحد سازمانی با این نام پیدا نشد. لطفاً دوباره امتحان کنید.</translation>
@@ -3404,6 +3427,7 @@
 <translation id="3867134342671430205">برای انتقال نمایشگر، بکشید یا از کلیدهای پیکان استفاده کنید</translation>
 <translation id="3867944738977021751">فیلدهای گواهی</translation>
 <translation id="3869917919960562512">فهرست اشتباه.</translation>
+<translation id="3870688298003434214">لغو انتخاب <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">هیچ گذرواژه‌ای برای <ph name="DOMAIN" /> ذخیره نشده است</translation>
 <translation id="3871350334636688135">پس از ۲۴ ساعت، سرپرستتان به‌روزرسانی یک‌باره‌ای انجام خواهد داد که داده‌های محلی شما را هنگام بازراه‌اندازی دستگاه حذف می‌کند. ظرف ۲۴ ساعت، همه داده‌های محلی موردنیازتان را در فضای ذخیره‌سازی ابری ذخیره کنید.</translation>
 <translation id="3872220884670338524">عملکردهای بیشتر، حساب ذخیره‌شده برای <ph name="USERNAME" /> در <ph name="DOMAIN" /></translation>
@@ -3499,6 +3523,7 @@
 <translation id="3945513714196326460">نام کوتاه‌تری را امتحان کنید</translation>
 <translation id="3948027458879361203">تغییر نام میزبان</translation>
 <translation id="3948116654032448504">&amp;جستجوی <ph name="SEARCH_ENGINE" /> برای تصویر</translation>
+<translation id="3948334586359655083">این برگه درحال پخش صدا است</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> می‌تواند فایل‌های این پوشه‌ها را ویرایش کند:</translation>
 <translation id="394984172568887996">‏وارد شده از IE</translation>
 <translation id="3950820424414687140">ورود به سیستم</translation>
@@ -3557,6 +3582,7 @@
 <translation id="3987544746655539083">دسترسی این سایت به مکان شما همچنان مسدود شود</translation>
 <translation id="3987938432087324095">متأسفم، متوجه نشدم.</translation>
 <translation id="3987993985790029246">کپی پیوند</translation>
+<translation id="3988124842897276887">‏این برگه به دستگاه USB متصل است</translation>
 <translation id="3988488665753590964">نحوه نمایش رنگ‌ها در صفحه‌نمایش را تنظیم می‌کند</translation>
 <translation id="3988996860813292272">انتخاب منطقه زمانی</translation>
 <translation id="399179161741278232">وارد شده</translation>
@@ -3613,6 +3639,7 @@
 <translation id="4044612648082411741">گذرواژه گواهی‌تان را وارد کنید</translation>
 <translation id="4044708573046946214">گذرواژه قفل صفحه</translation>
 <translation id="404493185430269859">موتور جستجوی پیش‌‌فرض</translation>
+<translation id="4045196801416070837">صداهای دستگاه</translation>
 <translation id="4046013316139505482">این افزونه‌ها نیازی به مشاهده و تغییر اطلاعات در این سایت ندارند.</translation>
 <translation id="4046123991198612571">آهنگ بعدی</translation>
 <translation id="4047345532928475040">نامربوط</translation>
@@ -3705,6 +3732,7 @@
 <translation id="4130207949184424187">‏این افزونه، صفحه‌ای را تغییر داده است که هنگام جستجو از Omnibox نشان داده می‌شود.</translation>
 <translation id="4130750466177569591">موافقم</translation>
 <translation id="413121957363593859">مؤلفه‌ها</translation>
+<translation id="4131283654370308898">مجاز کردن <ph name="EXTENSION_NAME" /> در این سایت</translation>
 <translation id="4131410914670010031">سیاه و سفید</translation>
 <translation id="413193092008917129">روال‌های عیب‌یابی شبکه</translation>
 <translation id="4132183752438206707">‏پیدا کردن برنامه‌ها در «فروشگاه Google Play»</translation>
@@ -4062,6 +4090,7 @@
 <translation id="4444512841222467874">اگر فضای کافی در دسترس قرار نگیرد، ممکن است کاربران و داده‌ها به‌طور خودکار حذف شوند.</translation>
 <translation id="4445446646109808714">قرارداد مجوز کاربر نهایی: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">صفحه نمایش روی دستگاه دیگر نمایش داده شد</translation>
+<translation id="4448560527907365660">ذخیره کردن و دیدن ویژگی‌های بیشتر</translation>
 <translation id="4448914100439890108">پنهان کردن گذرواژه مربوط به <ph name="USERNAME" /> در <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">مدیریت اجازه‌ها</translation>
 <translation id="4449948729197510913">نام کاربری شما به حساب سازمانی سازمانتان تعلق دارد. برای ثبت‌نام دستگاه‌ها در حساب، ابتدا مالکیت دامنه را در کنسول سرپرست به‌تأیید برسانید. باید امتیازهای سرپرستی در حساب به‌تأیید برسد.</translation>
@@ -4242,6 +4271,7 @@
 <translation id="4601426376352205922">علامت‌گذاری به‌عنوان خوانده‌نشده</translation>
 <translation id="460190672235687855">مشاهده گذرواژه‌ها</translation>
 <translation id="4602466770786743961">همیشه به <ph name="HOST" /> اجازه داده شود به دوربین و میکروفون شما دسترسی داشته باشد</translation>
+<translation id="4602776638371779614">این برگه به‌طور فعال درحال اسکن کردن دستگاه‌های بلوتوث است</translation>
 <translation id="4606551464649945562">به سایت‌ها اجازه داده نشود نقشه سه‌بعدی از محیط ایجاد کنند یا موقعیت دوربین را ردیابی کنند</translation>
 <translation id="4608500690299898628">&amp;یافتن...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> با خطایی مواجه شده است</translation>
@@ -4425,6 +4455,7 @@
 <translation id="4770119228883592393">درخواست اجازه ارائه شده است؛ برای پاسخ دادن، کلید «⌘ + گزینه + پیکان روبه‌پایین» را فشار دهید</translation>
 <translation id="4773112038801431077">‏ارتقای Linux</translation>
 <translation id="4774456473286455263">‏راه‌اندازی با تلفن Android</translation>
+<translation id="477548766361111120">مجاز کردن افزونه‌ها برای خواندن و تغییر این سایت</translation>
 <translation id="477647109558161443">ایجاد میان‌بر میزکار</translation>
 <translation id="4776594120007763294">برای افزودن صفحه‌ای که می‌خواهید بعداً بخوانید، روی این دکمه کلیک کنید</translation>
 <translation id="4777458362738635055">دیگر کاربران این دستگاه می‌توانند از این شبکه استفاده کنند</translation>
@@ -4873,6 +4904,7 @@
 <translation id="5173668317844998239">اثرانگشت به کلید امنیتی اضافه کنید یا اثرهای انگشت ذخیره‌شده در آن را حذف کنید</translation>
 <translation id="5174169235862638850">گذرواژه در بریده‌دان کپی شد</translation>
 <translation id="5175379009094579629">نام دستگاه نامعتبر است. برای امتحان مجدد نام دستگاه معتبری وارد کنید.</translation>
+<translation id="5176787661653201403">کپی کردن قاب ویدیو</translation>
 <translation id="5177479852722101802">ادامه مسدود کردن دسترسی به دوربین و میکروفن</translation>
 <translation id="5177549709747445269">از داده تلفن همراه استفاده می‌کنید</translation>
 <translation id="5178667623289523808">یافتن قبلی</translation>
@@ -5216,7 +5248,9 @@
 <translation id="5481941284378890518">افزودن چاپگرهای اطراف</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> لازم می‌داند از داده‌هایتان پشتیبان بگیرید و این <ph name="DEVICE_TYPE" /> را امروز برگردانید. <ph name="LINK_BEGIN" />دیدن جزئیات<ph name="LINK_END" />}one{<ph name="MANAGER" /> لازم می‌داند از داده‌هایتان پشتیبان بگیرید و این <ph name="DEVICE_TYPE" /> را ظرف {NUM_DAYS} روز برگردانید. <ph name="LINK_BEGIN" />مشاهده جزئیات<ph name="LINK_END" />}other{<ph name="MANAGER" /> لازم می‌داند از داده‌هایتان پشتیبان بگیرید و این <ph name="DEVICE_TYPE" /> را ظرف {NUM_DAYS} روز برگردانید. <ph name="LINK_BEGIN" />مشاهده جزئیات<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">افزودن برنامه</translation>
+<translation id="5485435764083510385">زبان برگزیده زیرنویس ناشنوایان</translation>
 <translation id="5485754497697573575">بازیابی همه برگه‌ها</translation>
+<translation id="5486071940327595306">ممکن است <ph name="WEBSITE" /> به دستگاه جدیدتر یا نوع دیگری نیاز داشته باشد</translation>
 <translation id="5486261815000869482">تأیید گذرواژه</translation>
 <translation id="5486561344817861625">شبیه‌سازی راه‌اندازی مجدد مرورگر</translation>
 <translation id="5487460042548760727">تغییر دادن نام نمایه به <ph name="PROFILE_NAME" /></translation>
@@ -5320,6 +5354,7 @@
 <translation id="5571066253365925590">بلوتوث فعال شد</translation>
 <translation id="5571092938913434726">کنترل‌های رسانه جهانی</translation>
 <translation id="5571832155627049070">سفارشی کردن نمایه</translation>
+<translation id="5572166921642484567">حالت آرایش رنگ‌ها را انتخاب کنید</translation>
 <translation id="5572252023412311448">نمایش جزئیات سایت <ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">پیشنهادهای بهبودیافته‌ای در نوار نشانی دریافت خواهید کرد</translation>
 <translation id="557506220935336383">دیدن اجازه‌های افزونه برای سایت‌های دیگر</translation>
@@ -5571,6 +5606,7 @@
 <translation id="5799508265798272974">‏ماشین مجازی Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">فایل مقصد از زمان آخرین بارگیری برداشته شده است یا ناقص است.</translation>
 <translation id="5800351251499368110">جستجو در پانل کناری بسته می‌شود. جستجو در پانل کناری باز است.</translation>
+<translation id="5800703268655655701">زمینه روشن یا تیره را انتخاب کنید</translation>
 <translation id="5801051031414037185">راه‌اندازی تلفن</translation>
 <translation id="5801568494490449797">اولویت‌ها</translation>
 <translation id="5803689677801500549">‏گذرواژه‌های ذخیره‌شده در اینجا نشان داده خواهد شد. برای وارد کردن گذرواژه‌های <ph name="USER_EMAIL" /> به <ph name="BRAND" />، <ph name="BEGIN_LINK" />فایل CSV موردنظر را انتخاب کنید.<ph name="END_LINK" /></translation>
@@ -5686,6 +5722,7 @@
 <translation id="5889282057229379085">‏حداکثر تعداد CA های متوسط: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">‏همه داده‌های همگام‌سازی‌شده را با <ph name="BEGIN_LINK" />گذرعبارت همگام‌سازی<ph name="END_LINK" /> رمزگذاری کنید. روش‌های پرداخت و نشانی‌های ذخیره‌شده در Google Pay رمزگذاری نخواهند شد. سابقه مرور Chrome همگام‌سازی نخواهد شد.</translation>
 <translation id="5891688036610113830">‏شبکه‌های Wi-Fi انتخابی</translation>
+<translation id="5894056653502215961">لغو انتخاب پوشه <ph name="FOLDER_TITLE" /></translation>
 <translation id="5895138241574237353">راه‌اندازی مجدد</translation>
 <translation id="5895335062901455404">‏هرگاه با «حساب Google» خودتان به سیستم وارد شوید، اولویت‌ها و فعالیت ذخیره‌شده‌تان در دستگاه ChromeOS Flex ذخیره خواهند شد. می‌توانید مواردی را که می‌خواهید همگام‌سازی شوند در «تنظیمات» انتخاب کنید.</translation>
 <translation id="589541317545606110">جستجوی صفحه با <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5757,6 +5794,7 @@
 <translation id="5948476936444935795">لغو وارد کردن</translation>
 <translation id="5948536763493709626">برای ادامه راه‌اندازی بااستفاده از صفحه لمسی، صفحه‌کلید یا موشواره‌ای را متصل کنید. اگر از دستگاه‌های بلوتوث استفاده می‌کنید، مطمئن شوید دستگاه‌هایتان برای مرتبط‌سازی آماده باشند.</translation>
 <translation id="5949544233750246342">تجزیه فایل امکان‌پذیر نیست</translation>
+<translation id="5950762317146173294">این فایل ممکن است ویروس یا بدافزار باشد</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> می‌خواهد از قلم‌های محلی استفاده کند</translation>
 <translation id="5951624318208955736">نمایشگر</translation>
 <translation id="595262438437661818">هیچ افزونه‌ای نیاز به دسترسی به این سایت ندارد</translation>
@@ -5841,6 +5879,7 @@
 <translation id="6022526133015258832">بازکردن تمام صفحه</translation>
 <translation id="6022659036123304283">‏Chrome را برای خود اختصاصی کنید</translation>
 <translation id="6023643151125006053">سرپرست دامنه <ph name="SAML_DOMAIN" /> این دستگاه (شماره سریال: <ph name="SERIAL_NUMBER" />) را قفل کرده است.</translation>
+<translation id="6024072172641380781">مجاز کردن افزونه‌ها در این سایت</translation>
 <translation id="6025215716629925253">ردیابی پشته‌ای</translation>
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - دستگاه USB متصل است</translation>
 <translation id="6027945736510816438">منظورتان <ph name="WEBSITE" /> بود؟</translation>
@@ -6124,6 +6163,7 @@
 <translation id="6268252012308737255">باز کردن با <ph name="APP" /></translation>
 <translation id="6270309713620950855">بی‌صدا کردن یادآوری خودکار</translation>
 <translation id="6270391203985052864">سایت‌ها می‌توانند برای ارسال اعلان درخواست دهند</translation>
+<translation id="6270486800167535228">افزونه سنجاق شده است. برای دیدن گزینه‌های بیشتر انتخاب کنید</translation>
 <translation id="6270770586500173387">ارسال <ph name="BEGIN_LINK1" />اطلاعات برنامه و سیستم<ph name="END_LINK1" /> و <ph name="BEGIN_LINK2" />معیارها<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">کارت سفرهای جستجو</translation>
 <translation id="6271348838875430303">تصحیح واگرد شد</translation>
@@ -6204,6 +6244,7 @@
 <translation id="6344608411615208519">ولی‌تان <ph name="BEGIN_LINK" />مرورگر شما را مدیریت می‌کند<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910">وارد کردن نام کاربری و گذرواژه برای پراکسی <ph name="PROXY" /> الزامی است تا سرپرست بتواند شبکه‌تان را پیکربندی کند</translation>
 <translation id="6345878117466430440">علامت‌گذاری به‌عنوان خوانده‌شده</translation>
+<translation id="6346952829206698721">جای‌گذاری از بریده‌دان</translation>
 <translation id="6347010704471250799">نمایش اعلان</translation>
 <translation id="634887995541211148">‏اجرای Bruschetta در دستگاهتان.</translation>
 <translation id="6349101878882523185">نصب <ph name="APP_NAME" /></translation>
@@ -6491,6 +6532,7 @@
 <translation id="6596325263575161958">گزینه‌های رمزگذاری</translation>
 <translation id="6596816719288285829">‏نشانی IP</translation>
 <translation id="6597017209724497268">نمونه‌ها</translation>
+<translation id="6597324406048772521">افزونه‌ها در این سایت مجاز نیست</translation>
 <translation id="6597331566371766302">سرپرستتان افزونه‌های زیر را مسدود کرده است:</translation>
 <translation id="659894938503552850">جدیدترین</translation>
 <translation id="6601262427770154296">مدیریت فرهنگ‌های لغت کاربر</translation>
@@ -6508,6 +6550,7 @@
 <translation id="6609478180749378879">پس‌از خروج از «حالت ناشناس»، داده‌های ورود به سیستم در این دستگاه ذخیره خواهد شد. بعداً می‌توانید با دستگاهتان دوباره به سیستم این وب‌سایت وارد شوید.</translation>
 <translation id="6610002944194042868">گزینه‌های ترجمه</translation>
 <translation id="6611972847767394631">برگه‌هایتان را در اینجا پیدا کنید</translation>
+<translation id="6613267708691765962">درحال اسکن کردن برای یافتن بدافزار…</translation>
 <translation id="6613668613087513143">‏فضای این دستگاه برای تکمیل به‌روزرسانی کافی نیست. <ph name="NECESSARY_SPACE" /> فضا در دستگاهتان آزاد کنید و از مرورگر Chrome دوباره امتحان کنید.</translation>
 <translation id="6615455863669487791">نشانم داده شود</translation>
 <translation id="6618097958368085618">درهرصورت حفظ شود</translation>
@@ -6756,6 +6799,7 @@
 <translation id="6825184156888454064">به‌ترتیب نام</translation>
 <translation id="6826872289184051766">‏به‌تأیید رساندن ازطریق USB</translation>
 <translation id="6827121912381363404">به همه افزونه‌ها اجازه داده شود <ph name="PERMITTED_SITE" /> را بخوانند و تغییر دهند</translation>
+<translation id="6827422464708099620">برای دیدن گزینه‌های بیشتر انتخاب کنید</translation>
 <translation id="6827517233063803343">‏برنامه‌ها و تنظیمات شما در همه دستگاه‌های ChromeOS که با حساب Google خودتان در آن‌ها به سیستم وارد شده‌اید همگام‌سازی خواهد شد. برای گزینه‌های همگام‌سازی مرورگر، به <ph name="LINK_BEGIN" />تنظیمات Chrome<ph name="LINK_END" /> بروید.</translation>
 <translation id="6827767090350758381">‏نسخه‌های قدیمی «برنامه‌های Chrome» بعداز دسامبر ۲۰۲۲ در دستگاه‌های Windows باز نخواهند شد. برای به‌روزرسانی به نسخه جدید یا برداشتن این برنامه، با سرپرست تماس بگیرید.</translation>
 <translation id="6828153365543658583">محدود کردن ورود به سیستم برای کاربران زیر:</translation>
@@ -6819,6 +6863,7 @@
 <translation id="6868934826811377550">دیدن جزئیات</translation>
 <translation id="6871644448911473373">‏پاسخگوی OCSP: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">سرور گذرواژه‌ای را که وارد کردید نپذیرفته است.</translation>
+<translation id="6873571253135628430">تغییر اجازه‌های سایت</translation>
 <translation id="6876155724392614295">دوچرخه‌</translation>
 <translation id="6876469544038980967">مفید نبودند</translation>
 <translation id="6878422606530379992">دسترسی به حسگرها مجاز شده است</translation>
@@ -6959,6 +7004,7 @@
 <translation id="6993050154661569036">‏به‌روزرسانی مرورگر Chrome</translation>
 <translation id="6995899638241819463">اگر گذرواژه‌ها دراثر سرقت اطلاعات شبکه لورفته باشند، به شما اطلاع داده شود</translation>
 <translation id="6995984090981858039">‏خواندن داده‌ها و اطلاعات دستگاه ChromeOS</translation>
+<translation id="6996438701394974959">افزایش اندازه نمایش و نوشتار</translation>
 <translation id="6997553674029032185">رفتن به سایت</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - گزارش فعالیت</translation>
 <translation id="6997707937646349884">در دستگاه‌های شما:</translation>
@@ -7079,6 +7125,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{برداشتن برنامه}one{برداشتن برنامه}other{برداشتن برنامه‌ها}}</translation>
 <translation id="7099337801055912064">‏فایل PPD بزرگ است و بار نمی‌شود. حداکثر اندازه ۲۵۰ کیلوبایت است.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{گذرواژه لورفته‌ای وجود ندارد}=1{{COUNT} گذرواژه لورفته}one{{COUNT} گذرواژه لورفته}other{{COUNT} گذرواژه لورفته}}</translation>
+<translation id="710047887584828070">محتوای این برگه درحال هم‌رسانی است</translation>
 <translation id="7102832101143475489">درنگ درخواست تمام شد</translation>
 <translation id="710640343305609397">بازکردن تنظیمات شبکه</translation>
 <translation id="7107609441453408294">پخش یک صدا ازطریق همه بلندگوها</translation>
@@ -7174,6 +7221,7 @@
 <translation id="719791532916917144">میان‌بر صفحه‌کلید</translation>
 <translation id="7198503619164954386">باید از دستگاه ثیت‌شده شرکتی استفاده کنید</translation>
 <translation id="7199158086730159431">دریافت راهنمایی</translation>
+<translation id="7199452998289813782">توقف موقت پخش محتوا در <ph name="DEVICE_NAME" /></translation>
 <translation id="7200083590239651963">انتخاب پیکربندی</translation>
 <translation id="720110658997053098">این دستگاه همیشه در حالت کیوسک نگه داشته شود</translation>
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» حذف شد</translation>
@@ -7220,6 +7268,7 @@
 <translation id="7241389281993241388">لطفاً جهت ورود به مجوز سرویس گیرنده، به <ph name="TOKEN_NAME" /> وارد شوید.</translation>
 <translation id="7241763419756062043">کیفیت مرور و جستجو را انتخاب کنید</translation>
 <translation id="7243632151880336635">پاک کردن و خروج از سیستم</translation>
+<translation id="7245162963905242662">‏جستجوی این صفحه با Google…</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> × <ph name="HEIGHT" /> (بهترین)</translation>
 <translation id="7246230585855757313">کلید امنیتی را مجدداً وارد کنید و دوباره امتحان کنید</translation>
 <translation id="724835896049478274">‏حساب‌های دردسترس برای برنامه‌های Android</translation>
@@ -7401,6 +7450,7 @@
 <translation id="7400839060291901923">تنظیم اتصال در <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">رد کردن این پیام</translation>
 <translation id="7402198013420237102">‏گذرواژه‌های ذخیره‌شده به «حساب Google» منتقل شود؟</translation>
+<translation id="740333000181878130">صدای راه‌اندازی دستگاه</translation>
 <translation id="7403642243184989645">درحال بارگیری کردن منابع</translation>
 <translation id="7404065585741198296">‏تلفن با سیم USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{بررسی ایمنی ۱ ساعت پیش اجرا شده است}one{بررسی ایمنی {NUM_HOURS} ساعت پیش اجرا شد}other{بررسی ایمنی {NUM_HOURS} ساعت پیش اجرا شد}}</translation>
@@ -7525,8 +7575,10 @@
 <translation id="7497981768003291373">‏هیچ گزارش نوشتاری WebRTC که اخیراً ثبت شده باشد ندارید.</translation>
 <translation id="7501957181231305652">یا</translation>
 <translation id="7502220299952823578">افزودن به فهرست «این سایت‌ها همیشه فعال نگه داشته شود»</translation>
+<translation id="7502528909759062987">توقف موقت پخش محتوای برگه در <ph name="DEVICE_NAME" /></translation>
 <translation id="7503191893372251637">‏نوع گواهی Netscape</translation>
 <translation id="7503985202154027481">سابقه بازدیدتان از این سایت در کلید امنیتی‌تان نگه‌داری می‌شود.</translation>
+<translation id="7504145862399276792">این برگه بی‌صدا شده است</translation>
 <translation id="750509436279396091">باز کردن پوشه بارگیری‌ها</translation>
 <translation id="7505149250476994901">‏گفتن «cap» (حرف بزرگ) قبل از حرف</translation>
 <translation id="7505717542095249632">پنهان کردن <ph name="MERCHANT" /></translation>
@@ -7766,6 +7818,7 @@
 <translation id="7701040980221191251">هیچ‌کدام</translation>
 <translation id="7701265686005869308">بستن نمایه</translation>
 <translation id="7701869757853594372">مدیریت کاربر</translation>
+<translation id="7702463352133825032">توقف پخش محتوا در <ph name="DEVICE_NAME" /></translation>
 <translation id="7702574632857388784">برداشتن <ph name="FILE_NAME" /> از فهرست</translation>
 <translation id="7702907602086592255">دامنه</translation>
 <translation id="7704305437604973648">کار</translation>
@@ -7884,6 +7937,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">پس‌زمینه صفحه شروع به <ph name="CATEGORY" /> تغییر کرد.</translation>
+<translation id="7791436592012979144">پیمایش معکوس فعال است</translation>
 <translation id="7791543448312431591">افزودن</translation>
 <translation id="7792012425874949788">هنگام ورود به سیستم خطایی رخ داد</translation>
 <translation id="7792388396321542707">توقف هم‌رسانی</translation>
@@ -8050,6 +8104,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> درصد تکمیل شد</translation>
 <translation id="7939062555109487992">گزینه‌های پیشرفته</translation>
 <translation id="7939073735115504773">برای خواندن و تغییر دادن <ph name="HOST" />، روی نماد این افزونه کلیک کنید</translation>
+<translation id="793923212791838">نمی‌توان از دستگاهتان در این سایت استفاده کرد</translation>
 <translation id="7939328347457537652">مدیریت گواهینامه‌های دستگاه</translation>
 <translation id="7939412583708276221">درهر حال حفظ شود</translation>
 <translation id="7940265372707990269">به‌ترتیب <ph name="SORT_TYPE" /></translation>
@@ -8226,6 +8281,7 @@
 <translation id="8084114998886531721">گذرواژه ذخیره‌شده</translation>
 <translation id="8084510406207562688">بازیابی همه برگه‌ها</translation>
 <translation id="8086015605808120405">درحال پیکربندی <ph name="PRINTER_NAME" />…</translation>
+<translation id="8086121155774250556">این برگه درحال هم‌رسانی صفحه‌نمایش شما است</translation>
 <translation id="8086442853986205778">راه‌اندازی <ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">‏برنامه‌ها و فایل‌های Linux پشتیبان‌گیری نشدند</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{این فایل رمزگذاری شده است. از مالک بخواهید آن را رمزگشایی کند.}one{بعضی از این فایل‌ها رمزگذاری شده‌اند. از مالک بخواهید آن را رمزگشایی کند.}other{بعضی از این فایل‌ها رمزگذاری شده‌اند. از مالک بخواهید آن‌ها را رمزگشایی کند.}}</translation>
@@ -8528,6 +8584,7 @@
 <translation id="8345848587667658367">اکنون می‌توانید عکس‌ها، رسانه‌ها، اعلان‌ها، و برنامه‌های جدید تلفنتان را مشاهده کنید</translation>
 <translation id="8347227221149377169">کارهای چاپی</translation>
 <translation id="834785183489258869">در «حالت ناشناس»، سایت‌ها نمی‌توانند از کوکی‌های شما برای دیدن فعالیت مرور شما در سایت‌های مختلف و برای مثال شخصی‌سازی آگهی‌ها استفاده کنند. ممکن است ویژگی‌های برخی‌از سایت‌ها کار نکند.</translation>
+<translation id="8349325309815489209">افزونه‌ها در این سایت مجاز است</translation>
 <translation id="8349826889576450703">راه‌انداز</translation>
 <translation id="8350789879725387295">ابزارهای قلم در قفسه</translation>
 <translation id="8351316842353540018">‏نمایش همیشگی گزینه‌های a11y</translation>
@@ -8556,6 +8613,7 @@
 <translation id="8370294614544004647">به‌خواب رفتن هنگام بسته شدن رایانه کیفی</translation>
 <translation id="8371695176452482769">اکنون صحبت کنید</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{بی‌صدا کردن سایت}one{بی‌صدا کردن سایت‌ها}other{بی‌صدا کردن سایت‌ها}}</translation>
+<translation id="8372441176515901959">رد کردن درخواست</translation>
 <translation id="8373652277231415614">‏فهرست‌های راهنمای هم‌رسانی‌شده Crostini</translation>
 <translation id="8374243500935816406">به سایت‌ها اجازه داده نمی‌شود پنجره‌های همه نمایشگرهایتان را مدیریت کنند</translation>
 <translation id="8376137163494131156">‏به ما بگویید Google Cast چه مشکلی دارد.</translation>
@@ -8915,6 +8973,7 @@
 <translation id="8687103160920393343">لغو <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">دردسترس</translation>
 <translation id="8690129572193755009">سایت‌ها می‌توانند برای کنترل پروتکل‌ها درخواست دهند</translation>
+<translation id="869144235543261764">این برگه درحال پخش ویدیو در حالت تصویردرتصویر است</translation>
 <translation id="8692107307702113268">گذرواژه بیش‌از ۱۰۰۰ نویسه دارد</translation>
 <translation id="8694596275649352090">قفل شدن دستگاه وقتی در حالت خواب است یا در آن بسته است</translation>
 <translation id="8695139659682234808">افزودن کنترل‌های والدین بعد از راه‌اندازی</translation>
@@ -9149,6 +9208,7 @@
 <translation id="8877448029301136595">[دایرکتوری والد]</translation>
 <translation id="8879284080359814990">&amp;نمایش به‌صورت برگه</translation>
 <translation id="8879921471468674457">اطلاعات ورود به سیستم به‌خاطر سپرده شود</translation>
+<translation id="8880009256105053174">‏جستجوی این صفحه با Google…</translation>
 <translation id="8880054210564666174">فهرست مخاطبین بارگیری نشد. لطفاً اتصال شبکه‌تان را بررسی کنید یا <ph name="LINK_BEGIN" />دوباره امتحان کنید<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">لطفاً دوباره امتحان کنید. برای پشتیبانی فنی، با <ph name="CARRIER_NAME" /> تماس بگیرید.</translation>
 <translation id="888256071122006425">تنظیمات موشواره و صفحه لمسی</translation>
@@ -9413,6 +9473,7 @@
 <translation id="9102864637938129124">سایت‌ها و تبلیغ‌کنندگان می‌توانند نحوه عملکرد آگهی‌ها را درک کنند. این تنظیم روشن است.</translation>
 <translation id="9103479157856427471">کانونی کردن صفحه‌کلید پس‌از بزرگ کردن صفحه</translation>
 <translation id="9103868373786083162">برای دیدن سابقه، دکمه را فشار دهید تا به عقب، و به منوی بافت برگردید</translation>
+<translation id="9107096627210171112">ترجمه...</translation>
 <translation id="9108035152087032312">نام‌گذاری پنجره…</translation>
 <translation id="9108072915170399168">تنظیم کنونی مصرف داده روی «بدون اینترنت» است</translation>
 <translation id="9108294543511800041">اکنون می‌توانید عکس‌ها، رسانه‌ها، و اعلان‌های جدید تلفنتان را مشاهده کنید</translation>
@@ -9569,6 +9630,7 @@
 <translation id="947329552760389097">&amp;بازرسی عناصر</translation>
 <translation id="947526284350604411">پاسخ شما</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> نمی‌تواند فایل‌های این پوشه را باز کند زیرا فایل‌های سیستم در آن وجود دارد</translation>
+<translation id="949807244219288032">این برگه به دستگاه میانای انسانی متصل است</translation>
 <translation id="950307215746360464">راهنمای راه‌اندازی</translation>
 <translation id="951991426597076286">رد کردن</translation>
 <translation id="952471655966876828">وقتی دستگاه روشن شود و از آن استفاده شود، به‌طور خودکار وصل می‌شود</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 7992cf0..aab8b24 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -527,6 +527,7 @@
 <translation id="1448779317883494811">Sivellintyökalu</translation>
 <translation id="1449191289887455076">Paina <ph name="CURRENTKEY" /> uudelleen, niin voit vahvistaa näppäimen määrityksen ja <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Verkkosivu, yksi tiedosto</translation>
+<translation id="145280054552001290">Tekstityskielten lisääminen ja poistaminen</translation>
 <translation id="1453561711872398978">Lähetä <ph name="BEGIN_LINK" />
     virhelokeja<ph name="END_LINK" /> (suositus)</translation>
 <translation id="1454223536435069390">Ot&amp;a kuvakaappaus</translation>
@@ -3612,6 +3613,7 @@
 <translation id="4044612648082411741">Anna varmenteen salasana.</translation>
 <translation id="4044708573046946214">Näytön lukituksen salasana</translation>
 <translation id="404493185430269859">Oletushakukone</translation>
+<translation id="4045196801416070837">Laitteen äänet</translation>
 <translation id="4046013316139505482">Näiden laajennusten ei tarvitse nähdä tai muokata sivuston tietoja.</translation>
 <translation id="4046123991198612571">Seuraava kappale</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -5215,6 +5217,7 @@
 <translation id="5481941284378890518">Lisää lähellä olevia tulostimia</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> edellyttää, että varmuuskopioit datasi ja palautat laitteen (<ph name="DEVICE_TYPE" />) tänään. <ph name="LINK_BEGIN" />Näytä tiedot<ph name="LINK_END" />}other{<ph name="MANAGER" /> edellyttää, että varmuuskopioit datasi ja palautat laitteen (<ph name="DEVICE_TYPE" />) {NUM_DAYS} päivän sisällä. <ph name="LINK_BEGIN" />Lue lisää<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Lisää sovellus</translation>
+<translation id="5485435764083510385">Ensisijainen tekstityskieli</translation>
 <translation id="5485754497697573575">Palauta kaikki välilehdet</translation>
 <translation id="5486261815000869482">Vahvista salasana</translation>
 <translation id="5486561344817861625">Simuloi selaimen uudelleenkäynnistys</translation>
@@ -7398,6 +7401,7 @@
 <translation id="7400839060291901923">Avaa <ph name="PHONE_NAME" /> ja määritä yhteys</translation>
 <translation id="7401778920660465883">Ohita tämä viesti</translation>
 <translation id="7402198013420237102">Siirretäänkö tallennetut salasanat Google-tilillesi?</translation>
+<translation id="740333000181878130">Laitteen käynnistysääni</translation>
 <translation id="7403642243184989645">Ladataan resursseja</translation>
 <translation id="7404065585741198296">Puhelimella USB-johdon kautta</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Turvatarkistus tehtiin tunti sitten}other{Turvatarkistus tehtiin {NUM_HOURS} tuntia sitten}}</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index 7eaedc56..a0c4df9f 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -1471,6 +1471,7 @@
 <translation id="2204020417499639567">Napunan ang email.</translation>
 <translation id="2204034823255629767">Basahin at baguhin ang anumang tina-type mo</translation>
 <translation id="2204387456724731099">Hindi maisasalin ang piniling ito</translation>
+<translation id="2207116775853792104">Panatilihin ang extension na ito</translation>
 <translation id="2210462644007531147">Hindi matapos ang pag-install</translation>
 <translation id="2211245494465528624">Pamahalaan ang mga opsyon sa pag-sync</translation>
 <translation id="2212565012507486665">Payagan ang cookies</translation>
@@ -7503,6 +7504,7 @@
 <translation id="7434509671034404296">Bumubuo</translation>
 <translation id="7434757724413878233">Pag-accelerate ng mouse</translation>
 <translation id="7434969625063495310">Hindi maidagdag ang server sa pag-print. Pakisuri ang configuration ng server at subukan ulit.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Suriin ang 1 extension na inalis sa Chrome Web Store}one{Suriin ang {NUM_EXTENSIONS} extension na inalis sa Chrome Web Store}other{Suriin ang {NUM_EXTENSIONS} na extension na inalis sa Chrome Web Store}}</translation>
 <translation id="7436921188514130341">Naku! Nagka-error habang pinapalitan ang pangalan.</translation>
 <translation id="7439519621174723623">Magdagdag ng pangalan ng device para magpatuloy</translation>
 <translation id="7441736921018636843">Para baguhin ang setting na ito, <ph name="BEGIN_LINK" />i-reset ang pag-sync<ph name="END_LINK" /> para alisin ang iyong passphrase sa pag-sync</translation>
@@ -7519,6 +7521,7 @@
 <translation id="7452166281927983300">Mga na-dismiss na babala (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Sa pamamagitan ng pagpili sa printer na ito, binibigyan mo ng pahintulot ang sumusunod na extension upang i-access ang iyong printer:</translation>
 <translation id="7453467225369441013">Isa-sign out ka sa karamihan ng mga site. Hindi ka masa-sign out sa iyong Google Account.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Posibleng hindi ligtas ang extension na ito. Inirerekomenda ng Chrome na alisin mo ito.}one{Posibleng hindi ligtas ang mga extension na ito. Inirerekomenda ng Chrome na alisin mo ang mga ito.}other{Posibleng hindi ligtas ang mga extension na ito. Inirerekomenda ng Chrome na alisin mo ang mga ito.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Pamahalaan ang mga karagdagang container</translation>
 <translation id="7455988709578031708">Batay sa iyong history ng pag-browse. Naka-on ang setting na ito.</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb
index 366737a..067763d 100644
--- a/chrome/app/resources/generated_resources_fr-CA.xtb
+++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -524,6 +524,7 @@
 <translation id="1448779317883494811">Pinceau</translation>
 <translation id="1449191289887455076">Appuyez de nouveau sur la touche « <ph name="CURRENTKEY" /> » pour confirmer l'attribution et <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Page Web, fichier unique</translation>
+<translation id="145280054552001290">Ajouter et supprimer des langues dans la légende</translation>
 <translation id="1453561711872398978">Envoyer les <ph name="BEGIN_LINK" />journaux de débogage<ph name="END_LINK" /> (recommandé)</translation>
 <translation id="1454223536435069390">Faire une s&amp;aisie d'écran</translation>
 <translation id="145432137617179457">Langues du correcteur orthographique</translation>
@@ -3588,6 +3589,7 @@
 <translation id="4044612648082411741">Entrez le mot de passe de votre certificat</translation>
 <translation id="4044708573046946214">Mots de passe de verrouillage d'écran</translation>
 <translation id="404493185430269859">Moteur de recherche par défaut</translation>
+<translation id="4045196801416070837">Sons de l'appareil</translation>
 <translation id="4046013316139505482">Ces extensions n'ont pas besoin de consulter ni de modifier l'information sur ce site.</translation>
 <translation id="4046123991198612571">Chanson suivante</translation>
 <translation id="4047345532928475040">S. O.</translation>
@@ -5183,6 +5185,7 @@
 <translation id="5481941284378890518">Ajouter des imprimantes à proximité</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> exige que vous sauvegardiez vos données et que vous retourniez cet appareil <ph name="DEVICE_TYPE" /> aujourd'hui. <ph name="LINK_BEGIN" />Voir les précisions<ph name="LINK_END" />}one{<ph name="MANAGER" /> exige que vous sauvegardiez vos données et que vous retourniez cet appareil <ph name="DEVICE_TYPE" /> d'ici {NUM_DAYS} jour. <ph name="LINK_BEGIN" />Voir les précisions<ph name="LINK_END" />}other{<ph name="MANAGER" /> exige que vous sauvegardiez vos données et que vous retourniez cet appareil <ph name="DEVICE_TYPE" /> d'ici {NUM_DAYS} jours. <ph name="LINK_BEGIN" />Voir les précisions<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Ajouter une application</translation>
+<translation id="5485435764083510385">Langue préférée des légendes</translation>
 <translation id="5485754497697573575">Restaurer tous les onglets</translation>
 <translation id="5486261815000869482">Confirmation du mot de passe</translation>
 <translation id="5486561344817861625">Simuler le redémarrage du navigateur</translation>
@@ -7359,6 +7362,7 @@
 <translation id="7400839060291901923">Configurez la connexion sur votre <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Ignorer ce message</translation>
 <translation id="7402198013420237102">Transférer les mots de passe enregistrés vers votre compte Google?</translation>
+<translation id="740333000181878130">Son de démarrage de l'appareil</translation>
 <translation id="7403642243184989645">Téléchargement des ressources en cours…</translation>
 <translation id="7404065585741198296">Votre téléphone avec un câble USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{La vérification de sécurité s'est exécutée il y a 1 heure}one{La vérification de sécurité s'est exécutée il y a {NUM_HOURS} heure}other{La vérification de sécurité s'est exécutée il y a {NUM_HOURS} heures}}</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index 31a92d85..777902d5 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -526,6 +526,7 @@
 <translation id="1448779317883494811">Outil Pinceau</translation>
 <translation id="1449191289887455076">Appuyez de nouveau sur <ph name="CURRENTKEY" /> pour confirmer cette association et <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Page Web, un seul fichier</translation>
+<translation id="145280054552001290">Ajouter et supprimer des langues pour les sous-titres</translation>
 <translation id="1453561711872398978">Envoyer les <ph name="BEGIN_LINK" />journaux de débogage<ph name="END_LINK" /> (recommandé)</translation>
 <translation id="1454223536435069390">F&amp;aire une capture d'écran</translation>
 <translation id="145432137617179457">Langues du correcteur orthographique</translation>
@@ -3602,6 +3603,7 @@
 <translation id="4044612648082411741">Saisissez le mot de passe du certificat.</translation>
 <translation id="4044708573046946214">Mot de passe de verrouillage de l'écran</translation>
 <translation id="404493185430269859">Moteur de recherche par défaut</translation>
+<translation id="4045196801416070837">Sons de l'appareil</translation>
 <translation id="4046013316139505482">Ces extensions n'ont pas besoin de voir ni de modifier des informations sur ce site.</translation>
 <translation id="4046123991198612571">Piste suivante</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -5204,6 +5206,7 @@
 <translation id="5481941284378890518">Ajouter des imprimantes à proximité</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> vous demande de sauvegarder vos données et de retourner ce <ph name="DEVICE_TYPE" /> aujourd'hui. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" />}one{<ph name="MANAGER" /> vous demande de sauvegarder vos données et de retourner ce <ph name="DEVICE_TYPE" /> sous {NUM_DAYS} jour. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" />}other{<ph name="MANAGER" /> vous demande de sauvegarder vos données et de retourner ce <ph name="DEVICE_TYPE" /> sous {NUM_DAYS} jours. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Ajouter l'application</translation>
+<translation id="5485435764083510385">Langue préférée pour les sous-titres</translation>
 <translation id="5485754497697573575">Restaurer tous les onglets</translation>
 <translation id="5486261815000869482">Confirmer le mot de passe</translation>
 <translation id="5486561344817861625">Simuler le redémarrage du navigateur</translation>
@@ -7390,6 +7393,7 @@
 <translation id="7400839060291901923">Configurer la connexion sur votre <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Fermer ce message</translation>
 <translation id="7402198013420237102">Transférer les mots de passe enregistrés vers votre compte Google ?</translation>
+<translation id="740333000181878130">Son de démarrage de l'appareil</translation>
 <translation id="7403642243184989645">Téléchargement des ressources</translation>
 <translation id="7404065585741198296">Votre téléphone avec un câble USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Contrôle de sécurité effectué il y a 1 heure}one{Contrôle de sécurité effectué il y a {NUM_HOURS} heure}other{Contrôle de sécurité effectué il y a {NUM_HOURS} heures}}</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb
index 939181c3..0e16103 100644
--- a/chrome/app/resources/generated_resources_gl.xtb
+++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">Produciuse un erro no perfil</translation>
 <translation id="1253664522045778676">Fai clic nun resultado e a páxina abrirase na pestana actual</translation>
 <translation id="1254593899333212300">Conexión directa a Internet</translation>
+<translation id="1256588359404100567">Opción de configuración sincronizada desde o dispositivo anterior.</translation>
 <translation id="1257336506558170607">Exportar o certificado seleccionado</translation>
 <translation id="1258491128795710625">Novidades</translation>
 <translation id="1259152067760398571">A Comprobación de seguranza executouse onte</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">Ferramenta de pincel</translation>
 <translation id="1449191289887455076">Preme de novo <ph name="CURRENTKEY" /> para confirmar a asignación e <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Páxina web (nun só ficheiro)</translation>
+<translation id="145280054552001290">Engade e quita idiomas dos subtítulos</translation>
 <translation id="1453561711872398978">Enviar <ph name="BEGIN_LINK" />rexistros de depuración<ph name="END_LINK" /> (recomendado)</translation>
 <translation id="1454223536435069390">F&amp;acer captura de pantalla</translation>
 <translation id="145432137617179457">Idiomas do corrector ortográfico</translation>
@@ -993,6 +995,7 @@
 <translation id="18260074040409954">Podes usar os contrasinais gardados en calquera dispositivo. Gárdanse no <ph name="GOOGLE_PASSWORD_MANAGER" /> para <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sincroniza os marcadores, os contrasinais, o historial e máis datos do navegador Chrome</translation>
 <translation id="1826516787628120939">Comprobando</translation>
+<translation id="1826657447823925402">Desactivouse o desprazamento inverso</translation>
 <translation id="1827504459960247692">Nome da zona wifi</translation>
 <translation id="1828378091493947763">Este plugin non é compatible con este dispositivo</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Abrir todos}=1{&amp;Abrir marcador}other{&amp;Abrir todos ({COUNT})}}</translation>
@@ -1280,6 +1283,7 @@
 <translation id="2081816110395725788">Activar modo de suspensión mentres se use a batería</translation>
 <translation id="2082187087049518845">Agrupar pestana</translation>
 <translation id="2082510809738716738">Escolle unha cor para o tema</translation>
+<translation id="2084891381052978619">Cando termines de configurar o Chromebook, poderás atopar estas opcións en Configuración</translation>
 <translation id="208586643495776849">Téntao de novo</translation>
 <translation id="208634871997892083">VPN sempre activada</translation>
 <translation id="2087822576218954668">Imprimir: <ph name="PRINT_NAME" /></translation>
@@ -1349,6 +1353,7 @@
 <translation id="212862741129535676">Porcentaxe de ocupación de estado de frecuencia</translation>
 <translation id="212876957201860463">Preparándose para configurar o dispositivo móbil…</translation>
 <translation id="2131077480075264">Non se pode instalar "<ph name="APP_NAME" />" debido a que "<ph name="IMPORT_NAME" />" non o permite</translation>
+<translation id="2133775869826239001">Seleccionar máis funcións para configurar</translation>
 <translation id="2133857665503360653">Tentar descargar <ph name="FILE_NAME" /> de novo</translation>
 <translation id="2134905185275441536">Autoridade certificadora do sistema</translation>
 <translation id="21354425047973905">Ocultar PIN</translation>
@@ -2929,6 +2934,7 @@
 <translation id="347785443197175480">Continuar permitindo a <ph name="HOST" /> acceder á túa cámara e micrófono</translation>
 <translation id="3479552764303398839">Agora non</translation>
 <translation id="3479685872808224578">Non se puido detectar o servidor de impresión. Comproba o enderezo e téntao de novo.</translation>
+<translation id="3479753605053415848">Fai clic para personalizar Chrome</translation>
 <translation id="3480612136143976912">Personaliza o tamaño e o estilo dos Subtítulos instantáneos. Algunhas aplicacións e sitios tamén usarán esta opción de configuración.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> pestanas atopadas</translation>
 <translation id="3481268647794498892">Abrirase a páxina no navegador <ph name="ALTERNATIVE_BROWSER_NAME" /> en <ph name="COUNTDOWN_SECONDS" /> segundos</translation>
@@ -3222,6 +3228,7 @@
 <translation id="3738632186060045350">Eliminaranse os datos do dispositivo (<ph name="DEVICE_TYPE" />) dentro de 24 horas</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Queres abrir <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Reducir o tamaño do texto e da pantalla</translation>
 <translation id="3741056951918180319">Sempre podes facer clic na extensión para utilizala en calquera sitio</translation>
 <translation id="3742235229730461951">Deseño do teclado coreano</translation>
 <translation id="3742666961763734085">Non se atopou ningunha unidade organizativa con ese nome. Téntao outra vez.</translation>
@@ -3600,6 +3607,7 @@
 <translation id="4044612648082411741">Introduce o contrasinal do certificado</translation>
 <translation id="4044708573046946214">Contrasinal de bloqueo de pantalla</translation>
 <translation id="404493185430269859">Motor de busca predeterminado</translation>
+<translation id="4045196801416070837">Sons do dispositivo</translation>
 <translation id="4046013316139505482">Estas extensións non necesitan ver nin cambiar a información deste sitio.</translation>
 <translation id="4046123991198612571">Pista seguinte</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -4047,6 +4055,7 @@
 <translation id="4444512841222467874">Se non se libera espazo, é posible que se eliminen automaticamente usuarios e datos.</translation>
 <translation id="4445446646109808714">Contrato de licenza de usuario final: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Duplicado</translation>
+<translation id="4448560527907365660">Gardar e ver máis</translation>
 <translation id="4448914100439890108">Ocultar contrasinal de <ph name="USERNAME" /> en <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Xestionar os permisos</translation>
 <translation id="4449948729197510913">O teu nome de usuario pertence á conta de empresa da túa organización. Para rexistrar dispositivos na conta, verifica a propiedade do dominio na consola de administración. Se queres realizar esta verificación, deberás ter privilexios administrativos sobre a conta.</translation>
@@ -5199,7 +5208,9 @@
 <translation id="5481941284378890518">Engadir impresoras que estean cerca</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> require que fagas unha copia de seguranza dos teus datos e que devolvas este dispositivo (<ph name="DEVICE_TYPE" />) hoxe. <ph name="LINK_BEGIN" />Ver detalles<ph name="LINK_END" />}other{<ph name="MANAGER" /> require que fagas unha copia de seguranza dos teus datos e que devolvas este dispositivo (<ph name="DEVICE_TYPE" />) no prazo de {NUM_DAYS} días. <ph name="LINK_BEGIN" />Ver detalles<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Engadir aplicación</translation>
+<translation id="5485435764083510385">Idioma preferido para os subtítulos</translation>
 <translation id="5485754497697573575">Restaurar todas as pestanas</translation>
+<translation id="5486071940327595306">Pode que <ph name="WEBSITE" /> necesite que se use un dispositivo diferente ou máis novo</translation>
 <translation id="5486261815000869482">Confirmar contrasinal</translation>
 <translation id="5486561344817861625">Simular o reinicio do navegador</translation>
 <translation id="5487460042548760727">Cambiar nome do perfil por <ph name="PROFILE_NAME" /></translation>
@@ -5552,6 +5563,7 @@
 <translation id="5799508265798272974">Máquina virtual de Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">O ficheiro de destino truncouse ou eliminouse desde a última descarga.</translation>
 <translation id="5800351251499368110">Pechar busca no panel lateral. A busca está aberta no panel lateral.</translation>
+<translation id="5800703268655655701">Seleccionar o tema escuro ou o claro</translation>
 <translation id="5801051031414037185">Configurar teléfono</translation>
 <translation id="5801568494490449797">Preferencias</translation>
 <translation id="5803689677801500549">Os contrasinais gardados aparecerán aquí. Para importar os contrasinais de <ph name="USER_EMAIL" /> ao <ph name="BRAND" />, <ph name="BEGIN_LINK" /> selecciona un ficheiro CSV<ph name="END_LINK" />.</translation>
@@ -6937,6 +6949,7 @@
 <translation id="6993050154661569036">Actualizando navegador Chrome</translation>
 <translation id="6995899638241819463">Avisarte se os teus contrasinais están en risco debido a unha violación da seguranza dos datos</translation>
 <translation id="6995984090981858039">Ler datos e información dos dispositivos con ChromeOS</translation>
+<translation id="6996438701394974959">Aumentar o tamaño do texto e da pantalla</translation>
 <translation id="6997553674029032185">Ir ao sitio</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> (rexistro de actividade)</translation>
 <translation id="6997707937646349884">Nos teus dispositivos:</translation>
@@ -7379,6 +7392,7 @@
 <translation id="7400839060291901923">Configura a conexión no teléfono <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Ignorar esta mensaxe</translation>
 <translation id="7402198013420237102">Queres transferir os contrasinais gardados á túa Conta de Google?</translation>
+<translation id="740333000181878130">Son de inicio do dispositivo</translation>
 <translation id="7403642243184989645">Descargando recursos</translation>
 <translation id="7404065585741198296">O teu teléfono cun cable USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{A Comprobación de seguranza executouse hai 1 hora}other{A Comprobación de seguranza executouse hai {NUM_HOURS} horas}}</translation>
@@ -7863,6 +7877,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">O fondo da páxina de inicio cambiouse por <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Activouse o desprazamento inverso</translation>
 <translation id="7791543448312431591">Engadir</translation>
 <translation id="7792012425874949788">Produciuse un erro ao iniciar sesión</translation>
 <translation id="7792388396321542707">Deixar de compartir</translation>
@@ -8029,6 +8044,7 @@
 <translation id="7935451262452051102">Progreso: <ph name="PERCENT" /> %</translation>
 <translation id="7939062555109487992">Opcións avanzadas</translation>
 <translation id="7939073735115504773">Fai clic na icona desta extensión para que poida ler e cambiar <ph name="HOST" /></translation>
+<translation id="793923212791838">Non se pode utilizar o dispositivo con este sitio</translation>
 <translation id="7939328347457537652">Xestionar certificados do dispositivo</translation>
 <translation id="7939412583708276221">Manter igualmente</translation>
 <translation id="7940265372707990269">Ordenar por <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index b6d49eb7..148f90d 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">રદ કરેલા</translation>
 <translation id="1022489261739821355">તમારા <ph name="BEGIN_LINK" />Google એકાઉન્ટ<ph name="END_LINK" />માંથી પાસવર્ડ બતાવી રહ્યાં છીએ</translation>
 <translation id="1022669824195822609">તમારું ડિવાઇસ <ph name="DOMAIN" /> દ્વારા મેનેજ કરવામાં આવે છે. ઍડમિનિસ્ટ્રેટર આ ડિવાઇસ પર કોઈપણ પ્રોફાઇલમાંનો ડેટા ઍક્સેસ કરી શકે છે.</translation>
+<translation id="1024734233509995696">આ ટૅબ તમારા કૅમેરા કે માઇક્રોફોનનો ઉપયોગ કરી રહ્યું છે</translation>
 <translation id="1026655690966755180">પોર્ટ ઉમેરો</translation>
 <translation id="1026822031284433028">છબી લોડ કરો</translation>
 <translation id="1026959648338730078">Windows Hello અથવા બાહ્ય સિક્યુરિટી કી</translation>
@@ -191,6 +192,7 @@
 <translation id="1155816283571436363">તમારા ફોનને કનેક્ટ કરી રહ્યાં છીએ</translation>
 <translation id="1158080958325422608">અપરકેસ કરો</translation>
 <translation id="1158238185437008462">યાદગીરીઓ જુઓ</translation>
+<translation id="1159879754517035595">એક્સ્ટેન્શનના સેટિંગ મેનેજ કરો</translation>
 <translation id="1160842321113409343">તમારી પ્રાઇવસીની સુરક્ષા કરવા માટે, અમે સૂચિમાંથી 4 અઠવાડિયા કરતાં જૂની હોય એવી સાઇટ ઑટોમૅટિક રીતે ડિલીટ કરીએ છીએ. તમે ફરી વાર મુલાકાત લો છો તે સાઇટ ફરીથી સૂચિમાં દેખાઈ શકે છે. અથવા જો તમે ઇચ્છતા ન હો કે કોઈ સાઇટ તમારા માટે તમારી રુચિઓનું ક્યારે પણ અનુમાન લગાવે, તો તમે તે સાઇટને કાઢી નાખી શકો છો.</translation>
 <translation id="1161575384898972166">ક્લાયંટ પ્રમાણપત્ર નિકાસ કરવા માટે કૃપા કરીને <ph name="TOKEN_NAME" /> પર સાઇન ઇન કરો.</translation>
 <translation id="116173250649946226">તમારા વ્યવસ્થાપકે ડિફૉલ્ટ થીમ સેટ કરી છે જે બદલી શકાતી નથી.</translation>
@@ -209,6 +211,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" />માં સંવેદનશીલ અથવા જોખમી ડેટા છે. તમારા વ્યવસ્થાપકના કહેવા પ્રમાણે: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> HID ડિવાઇસ સાથે કનેક્ટ કરવા માગે છે</translation>
 <translation id="1172750555846831341">નાની કિનારી પર ફ્લિપ કરો</translation>
+<translation id="1173036203040243666">આ ટૅબ કોઈ બ્લૂટૂથ ડિવાઇસ સાથે કનેક્ટ કરેલું છે</translation>
 <translation id="1173332155861271669">Passpoint પ્રદાતાની વિગતો</translation>
 <translation id="1173894706177603556">નામ બદલો</translation>
 <translation id="1174073918202301297">શૉર્ટકટ ઉમેર્યો</translation>
@@ -315,6 +318,7 @@
 <translation id="1252987234827889034">પ્રોફાઇલ ભૂલ આવી</translation>
 <translation id="1253664522045778676">કોઈ પરિણામ પર ક્લિક કરો અને તે પેજ તમારા વર્તમાન ટૅબમાં ખુલશે</translation>
 <translation id="1254593899333212300">ડાયરેક્ટ ઇન્ટરનેટ કનેક્શન</translation>
+<translation id="1256588359404100567">તમારા અગાઉના ડિવાઇસ સાથે સેટિંગ સિંક કર્યા.</translation>
 <translation id="1257336506558170607">પસંદ કરેલા પ્રમાણપત્રની નિકાસ કરો</translation>
 <translation id="1258491128795710625">નવું શું છે</translation>
 <translation id="1259152067760398571">સલામતી માટે તપાસ ગઈકાલે કરવામાં આવી હતી</translation>
@@ -526,6 +530,7 @@
 <translation id="1448779317883494811">બ્રશ ટૂલ</translation>
 <translation id="1449191289887455076">સોંપણી કન્ફર્મ કરવા માટે, ફરી “<ph name="CURRENTKEY" />” દબાવો અને <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">વેબપેજ, એકલ ફાઇલ</translation>
+<translation id="145280054552001290">કૅપ્શનમાં ભાષા ઉમેરો અને કાઢી નાખો</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />ડીબગ લૉગ<ph name="END_LINK" /> મોકલો (ભલામણ કરવામાં આવે છે)</translation>
 <translation id="1454223536435069390">સ્ક્રીનશોટ &amp;લો</translation>
 <translation id="145432137617179457">જોડણીની તપાસ ધરાવતી ભાષાઓ</translation>
@@ -655,6 +660,7 @@
 <translation id="1556537182262721003">એક્સટેંશન ડિરેક્ટરીને પ્રોફાઇલમાં ખસેડી શકાઈ નથી.</translation>
 <translation id="1558391695376153246">છૂપી ટૅબ બંધ કરો</translation>
 <translation id="155865706765934889">Touchpad</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> પર કાસ્ટ કરવાનું ફરી શરૂ કરો</translation>
 <translation id="1562119309884184621">આ સંપર્કને ઉમેરવાથી, આગલી વખતે તેઓ શેર કરતી વખતે સિસ્ટમ આ યાદ રાખી શકશે</translation>
 <translation id="1563137369682381456">સમય સમાપ્તિની તારીખ</translation>
 <translation id="1563702743503072935">તમે સાઇન ઇન કરેલું હશે ત્યારે તમારા Google એકાઉન્ટમાં રહેલા પાસવર્ડ આ ડિવાઇસ પર પણ ઉપલબ્ધ થશે</translation>
@@ -785,6 +791,7 @@
 <translation id="1648528859488547844">સ્થાન નક્કી કરવા માટે વાઇ-ફાઇ અથવા મોબાઇલ નેટવર્કનો ઉપયોગ કરો</translation>
 <translation id="164936512206786300">બ્લૂટૂથ ડિવાઇસ સાથેનું જોડાણ તોડો</translation>
 <translation id="1651008383952180276">તમારે તે જ પાસફ્રેઝ બે વાર દાખલ કરવો આવશ્યક છે</translation>
+<translation id="1651609627703324721">આ ટૅબ કોઈ હૅડસેટ પર VR કન્ટેન્ટ પ્રસ્તુત કરી રહ્યું છે</translation>
 <translation id="1652326691684645429">'નજીકના શેર' સુવિધા ચાલુ કરો</translation>
 <translation id="1654580009054503925">વિનંતીઓ બતાવવાની મંજૂરી આપી નથી</translation>
 <translation id="1656528038316521561">બૅકગ્રાઉન્ડની અપારદર્શકતા</translation>
@@ -876,6 +883,7 @@
 <translation id="173522743738009831">પ્રાઇવસી સૅન્ડબૉક્સનું વર્ણન</translation>
 <translation id="173628468822554835">સમજાઈ ગયું. ડિફૉલ્ટ તરીકે, તમે જેની મુલાકાત લો છો તે નવી સાઇટ, તમને નોટિફિકેશન મોકલશે નહીં.</translation>
 <translation id="1737968601308870607">બગ ફાઇલ કરો</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. સાઇટની પરવાનગીઓ બદલવા માટે પસંદ કરો</translation>
 <translation id="1741190788710022490">અડૅપ્ટિવ ચાર્જિંગ</translation>
 <translation id="174123615272205933">કસ્ટમ</translation>
 <translation id="1741314857973421784">ચાલુ રાખો</translation>
@@ -991,6 +999,7 @@
 <translation id="18260074040409954">તમે કોઈપણ ડિવાઇસ પર સાચવેલા પાસવર્ડનો ઉપયોગ કરી શકો છો. તેમને <ph name="EMAIL" /> માટે <ph name="GOOGLE_PASSWORD_MANAGER" />માં સાચવવામાં આવે છે.</translation>
 <translation id="1826192255355608658">તમારા Chrome બ્રાઉઝર બુકમાર્ક, પાસવર્ડ, ઇતિહાસ અને બીજું ઘણું બધું સિંક કરો</translation>
 <translation id="1826516787628120939">તપાસી રહ્યાં છે</translation>
+<translation id="1826657447823925402">રિવર્સ સ્ક્રોલિંગ બંધ કર્યું</translation>
 <translation id="1827504459960247692">હૉટસ્પૉટનું નામ</translation>
 <translation id="1828378091493947763">આ ઉપકરણ પર આ પ્લગ-ઇન સમર્થિત નથી</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{તમામ URLને &amp;ખોલો}=1{બુકમાર્ક &amp;ખોલો}one{તમામ ({COUNT}) URLને &amp;ખોલો}other{તમામ ({COUNT}) URLને &amp;ખોલો}}</translation>
@@ -1067,6 +1076,7 @@
 <translation id="1885066963699478692">એવી XML ફાઇલો કે જેનો ઉપયોગ પૉલિસીઓ સેટ કરવા માટે કરવામાં આવે છે.</translation>
 <translation id="1885106732301550621">ડિસ્ક સ્પેસ</translation>
 <translation id="1886996562706621347">પ્રોટોકૉલ માટે ડિફૉલ્ટ હૅન્ડલર બનવા માટે સાઇટને પૂછવાની મંજૂરી આપો (સુઝાવ આપીએ છીએ)</translation>
+<translation id="1887210448491286312"><ph name="DEVICE_NAME" /> પર ટૅબ કાસ્ટ કરવાનું રોકો</translation>
 <translation id="1887442540531652736">સાઇન-ઇનમાં ભૂલ</translation>
 <translation id="1887597546629269384">ફરી "હે Google" કહો</translation>
 <translation id="1889091146873278175">બાજુની પૅનલમાં વધુ શોધ પરિણામો જોવા માટે "G" બટનને ક્લિક કરો</translation>
@@ -1093,6 +1103,7 @@
 <translation id="1910908536872421421">Chrome for Testing v<ph name="BROWSER_VERSION" /> માત્ર ઑટોમૅટેડ પરીક્ષણ માટે છે. નિયમિત બ્રાઉઝિંગ માટે, Chromeના સ્ટૅન્ડર્ડ વર્ઝનનો ઉપયોગ કરો જે ઑટોમૅટિક રીતે અપડેટ થાય છે.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">સમાપ્ત કરો</translation>
+<translation id="1915613305720536742">અનુવાદ કરો</translation>
 <translation id="1915734383465415025">સ્ટોર નંબર</translation>
 <translation id="1916260783734263714">વર્તમાન ટૅબ</translation>
 <translation id="1916502483199172559">ડિફોલ્ટ લાલ અવતાર</translation>
@@ -1197,6 +1208,7 @@
 <translation id="2007404777272201486">સમસ્યાની જાણ કરો...</translation>
 <translation id="2009590708342941694">ઇમોજી ટૂલ</translation>
 <translation id="2010501376126504057">સુસંગત ડિવાઇસ</translation>
+<translation id="2012935757369720523">ફાઇલ ડિલીટ કરો</translation>
 <translation id="2013550551806600826">તેને અજમાવી જુઓ. સેટિંગને ચાલુ અથવા બંધ કરો, તે પછી પરીક્ષણ ક્ષેત્રમાં તમારા ટચપૅડ પર બે આંગળી વડે સ્ક્રોલ કરો. તમે આને પછીથી સેટિંગ &gt; ડિવાઇસ &gt; માઉસ અને ટચપૅડમાં પણ શોધી શકો છો.</translation>
 <translation id="2015232545623037616">PC અને Chromecast સમાન વાઇ-ફાઇ નેટવર્ક પર</translation>
 <translation id="2016473077102413275">છબીઓની આવશ્યકતા હોય તેવી સુવિધાઓ કામ કરશે નહીં</translation>
@@ -1278,6 +1290,7 @@
 <translation id="2081816110395725788">બૅટરી પર હોય, ત્યારે પાવર નિષ્ક્રિય કરો</translation>
 <translation id="2082187087049518845">ગ્રૂપ ટૅબ</translation>
 <translation id="2082510809738716738">થીમ માટે રંગ પસંદ કરો</translation>
+<translation id="2084891381052978619">એકવાર તમે તમારી Chromebookનું સેટઅપ પૂર્ણ કરી લો, પછી સેટિંગમાં તમને આ વિકલ્પો પણ મળી આવશે</translation>
 <translation id="208586643495776849">કૃપા કરીને ફરી પ્રયાસ કરો</translation>
 <translation id="208634871997892083">હંમેશાં ચાલુ VPN</translation>
 <translation id="2087822576218954668">પ્રિન્ટ: <ph name="PRINT_NAME" /></translation>
@@ -1347,6 +1360,7 @@
 <translation id="212862741129535676">ફ્રીક્વેંસી સ્થિતિ અક્યુપન્સિ ટકા</translation>
 <translation id="212876957201860463">તમારા સેલ્યુલર ડિવાઇસને સેટઅપ માટે તૈયાર કરી રહ્યાં છીએ...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" ને ઇન્સ્ટોલ કરવામાં અસમર્થ કારણ કે "<ph name="IMPORT_NAME" />" દ્વારા તેની મંજૂરી નથી</translation>
+<translation id="2133775869826239001">સેટઅપ કરવા માટે વધુ સુવિધાઓ પસંદ કરો</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> માટે ફરી પ્રયાસ કરો</translation>
 <translation id="2134905185275441536">સિસ્ટમ CAs</translation>
 <translation id="21354425047973905">પિન છુપાવો</translation>
@@ -1767,6 +1781,7 @@
 <translation id="2458379781610688953">એકાઉન્ટ, <ph name="EMAIL" /> અપડેટ કરો</translation>
 <translation id="2458591546854598341">ડિવાઇસ મેનેજમેન્ટ ટોકન અમાન્ય છે.</translation>
 <translation id="2459703812219683497">સક્રિયકરણના કોડની જાણ થઈ છે</translation>
+<translation id="2459706890611560967"><ph name="DEVICE_NAME" /> પર ટૅબ કાસ્ટ કરવાનું ફરી શરૂ કરો</translation>
 <translation id="2460356425461033301">બ્રાઉઝર પરની તમારી વસ્તુઓનું બૅકઅપ લો અને કોઈપણ ડિવાઇસ પર તેનો ઉપયોગ કરો</translation>
 <translation id="2462332841984057083">Steamનું પહેલેથી સેટઅપ કરવામાં આવી રહ્યું છે. સેટઅપ પૂર્ણ થવાની રાહ જુઓ.</translation>
 <translation id="2462724976360937186">પ્રમાણન અધિકારી કી ID</translation>
@@ -2614,10 +2629,12 @@
 <translation id="3194786596445804250">ત્રીજા પક્ષની કુકીને બ્લૉક કરવા વિશેની વિગતો બતાવો</translation>
 <translation id="3197453258332670132">તમારી ટેક્સ્ટની પસંદગી માટે, રાઇટ ક્લિક વડે અથવા થોડીવાર દબાવી રાખીને સંબંધિત માહિતી બતાવો</translation>
 <translation id="3199127022143353223">સર્વર્સ</translation>
+<translation id="3199637719075529971">આ ટૅબ કોઈ સિરિઅલ પોર્ટ સાથે કનેક્ટ કરેલું છે</translation>
 <translation id="3200061262156232574">તમારા શૉપિંગ કાર્ટમાં</translation>
 <translation id="3201237270673604992">Z થી A</translation>
 <translation id="3201422919974259695">ઉપલબ્ધ USB ડિવાઇસ અહીં દેખાશે.</translation>
 <translation id="3202131003361292969">પથ</translation>
+<translation id="3202499879214571401"><ph name="DEVICE_NAME" /> પર સ્ક્રીન કાસ્ટ કરવાનું થોભાવો</translation>
 <translation id="3202578601642193415">સૌથી નવું</translation>
 <translation id="3204648577100496185">આ ઍપ સાથે સંકળાયેલા ડેટાને આ ડિવાઇસમાંથી કાઢી નાખવામાં આવે તેમ બની શકે</translation>
 <translation id="3207960819495026254">બુકમાર્ક કરેલ</translation>
@@ -2930,6 +2947,7 @@
 <translation id="347785443197175480">તમારા કૅમેરા અને માઇક્રોફોનને ઍક્સેસ કરવા માટે <ph name="HOST" />ને સતત મંજૂરી આપે છે</translation>
 <translation id="3479552764303398839">હમણાં નહીં</translation>
 <translation id="3479685872808224578">પ્રિન્ટ સર્વર શોધી શક્યા નથી. કૃપા કરીને ઍડ્રેસ ચેક કરીને ફરી પ્રયાસ કરો.</translation>
+<translation id="3479753605053415848">Chrome કસ્ટમાઇઝ કરવા માટે ક્લિક કરો</translation>
 <translation id="3480612136143976912">લાઇવ કૅપ્શન માટે કૅપ્શનનું કદ અને શૈલી કસ્ટમાઇઝ કરો. અમુક ઍપ અને સાઇટ પણ આ સેટિંગનો ઉપયોગ કરશે.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> ટૅબ મળી છે</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> સેકન્ડમાં <ph name="ALTERNATIVE_BROWSER_NAME" />માં ખુલી રહ્યું છે</translation>
@@ -3012,6 +3030,7 @@
 <translation id="3557101512409028104">Family Link વડે વેબસાઇટ પ્રતિબંધો અને સ્ર્કીન સમય મર્યાદાઓ સેટ કરો</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ChromeOS ડિવાઇસને ઑટોમૅટિક રિપોર્ટ મોકલવાની મંજૂરી આપવાથી, અમને ChromeOSમાં સુધારવી અને બહેતર બનાવવી જરૂરી બાબતોને પ્રાધાન્ય આપવામાં સહાય મળે છે. આ રિપોર્ટમાં ChromeOS ક્યારે ક્રૅશ થાય છે, કઈ સુવિધાઓનો ઉપયોગ કરવામાં આવ્યો હતો અને સામાન્ય રીતે કેટલી મેમરીનો ઉપયોગ કરવામાં આવ્યો હતો, જેવી બાબતોનો સમાવેશ થઈ શકે છે.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />તમે તમારા બાળકના ChromeOS ડિવાઇસના સેટિંગમાં કોઈપણ સમયે આ રિપોર્ટને મંજૂરી આપવાનું શરૂ અથવા બંધ કરી શકો છો. જો તમે ડોમેન ઍડમિનિસ્ટ્રેટર હો, તો તમે ઍડમિન કન્સોલમાં આ સેટિંગ બદલી શકો છો.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653"><ph name="DEVICE_NAME" /> પર સ્ક્રીન કાસ્ટ કરવાનું રોકો</translation>
 <translation id="3559262020195162408">ડિવાઇસ પર પૉલિસી ઇન્સ્ટૉલ કરવામાં નિષ્ફળ.</translation>
 <translation id="3559533181353831840">લગભગ <ph name="TIME_LEFT" /> બાકી</translation>
 <translation id="3560034655160545939">&amp;જોડણીની તપાસ</translation>
@@ -3179,6 +3198,7 @@
 <translation id="370415077757856453">JavaScript અવરોધિત</translation>
 <translation id="3704331259350077894">ક્રિયાની સમાપ્તિ</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544"><ph name="DEVICE_NAME" /> પર સ્ક્રીન કાસ્ટ કરવાનું ફરી શરૂ કરો</translation>
 <translation id="3706463572498736864">પ્રતિ શીટ પેજ</translation>
 <translation id="370649949373421643">Wi-Fi સક્ષમ કરો</translation>
 <translation id="370665806235115550">લોડ કરી રહ્યું છે...</translation>
@@ -3224,6 +3244,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />નો ડેટા 24 કલાકમાં ડિલીટ કરવામાં આવશે</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> ખોલીએ?</translation>
+<translation id="3740945083753997630">ડિસ્પ્લે અને ટેક્સ્ટનું કદ નાનું કરો</translation>
 <translation id="3741056951918180319">કોઈપણ સાઇટ પર આનો ઉપયોગ કરવા માટે, હંમેશાં એક્સ્ટેન્શન પર તમે ક્લિક કરી શકો છો</translation>
 <translation id="3742235229730461951">કોરિયન કીબોર્ડ લેઆઉટ</translation>
 <translation id="3742666961763734085">તે નામવાળો કોઈ સંસ્થાકીય એકમ શોધી શકાયો નથી. કૃપા કરીને ફરી પ્રયત્ન કરો.</translation>
@@ -3393,6 +3414,7 @@
 <translation id="3867134342671430205">ડિસ્પ્લેને ખસેડવા માટે એરો કીને ખેંચો કે તેનો ઉપયોગ કરો</translation>
 <translation id="3867944738977021751">પ્રમાણપત્ર ફીલ્ડ્સ</translation>
 <translation id="3869917919960562512">ખોટી અનુક્રમણિકા</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" />ને નાપસંદ કરો</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> માટે કોઈ પાસવર્ડ સાચવેેેેલ નથી</translation>
 <translation id="3871350334636688135">24 કલાક પછી તમારા વ્યવસ્થાપક એક-સમયનો અપડેટ કરશે, જેના કારણે તમે તમારું ડિવાઇસ ફરી શરૂ કરશો, ત્યારે તમારો બધો સ્થાનિક ડેટા ડિલીટ થઈ જશે. તમને જરૂર હોય તે બધો સ્થાનિક ડેટા 24 કલાકની અંદર ક્લાઉડ સ્ટોરેજમાં સાચવી લો.</translation>
 <translation id="3872220884670338524">વધુ ક્રિયાઓ, <ph name="DOMAIN" /> પર <ph name="USERNAME" /> માટે સાચવેલ એકાઉન્ટ</translation>
@@ -3488,6 +3510,7 @@
 <translation id="3945513714196326460">ટૂંકું નામ અજમાવી જુઓ</translation>
 <translation id="3948027458879361203">હોસ્ટનું નામ બદલો</translation>
 <translation id="3948116654032448504">છબી માટે <ph name="SEARCH_ENGINE" /> પર &amp;શોધો</translation>
+<translation id="3948334586359655083">આ ટૅબ ઑડિયો ચલાવી રહ્યું છે</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> નીચેના ફોલ્ડરોમાં સાચવેલી ફાઇલોમાં ફેરફાર કરી શકે છે</translation>
 <translation id="394984172568887996">IE થી આયાત કરેલ</translation>
 <translation id="3950820424414687140">સાઇન ઇન</translation>
@@ -3546,6 +3569,7 @@
 <translation id="3987544746655539083">આ સાઇટને તમારા સ્થાનને ઍક્સેસ કરવાથી બ્લૉક કરવાનું ચાલુ રાખો</translation>
 <translation id="3987938432087324095">માફ કરશો, તે સમજાયું ન હતું.</translation>
 <translation id="3987993985790029246">લિંક કૉપિ કરો</translation>
+<translation id="3988124842897276887">આ ટૅબ કોઈ USB ડિવાઇસ સાથે કનેક્ટ કરેલું છે</translation>
 <translation id="3988488665753590964">તમારી સ્ક્રીન પર રંગો કેવી રીતે દેખાય તેની ગોઠવણ કરો</translation>
 <translation id="3988996860813292272">સમયઝોન પસંદ કરો</translation>
 <translation id="399179161741278232">આયાત કરેલા</translation>
@@ -3602,6 +3626,7 @@
 <translation id="4044612648082411741">તમારો પ્રમાણપત્ર પાસવર્ડ દાખલ કરો</translation>
 <translation id="4044708573046946214">સ્ક્રીન લૉકનો પાસવર્ડ</translation>
 <translation id="404493185430269859">ડિફૉલ્ટ શોધ એન્જિન</translation>
+<translation id="4045196801416070837">ડિવાઇસના સાઉન્ડ</translation>
 <translation id="4046013316139505482">આ એક્સ્ટેંશનને આ સાઇટ પરની માહિતી જોવા અને બદલવાની જરૂર પડતી નથી.</translation>
 <translation id="4046123991198612571">આગલો ટ્રૅક</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -3694,6 +3719,7 @@
 <translation id="4130207949184424187">જ્યારે તમે ઑમ્નિબૉક્સથી શોધ કરો છો ત્યારે જે પેજ દર્શાવવામાં આવે છે તે આ એક્સટેન્શને બદલ્યું છે.</translation>
 <translation id="4130750466177569591">હું સંમત છું</translation>
 <translation id="413121957363593859">ઘટકો</translation>
+<translation id="4131283654370308898">આ સાઇટ પર <ph name="EXTENSION_NAME" />ને મંજૂરી આપો</translation>
 <translation id="4131410914670010031">કાળો અને સફેદ</translation>
 <translation id="413193092008917129">નેટવર્કના નિદાન સંબંધિત રૂટિન</translation>
 <translation id="4132183752438206707">Google Play Store પરથી ઍપ મેળવો</translation>
@@ -4051,6 +4077,7 @@
 <translation id="4444512841222467874">જો સ્થાન ઉપલબ્ધ બનાવવામાં ન આવે, તો વપરાશકર્તાઓ અને ડેટા ઑટોમૅટિક રીતે કાઢી નાખવામાં આવી શકે છે.</translation>
 <translation id="4445446646109808714">વાપરનાર લાઇસન્સ કરાર: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">પ્રતિબિંબિત</translation>
+<translation id="4448560527907365660">સાચવો અને વધુ સુવિધાઓ જુઓ</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> પર <ph name="USERNAME" />નો પાસવર્ડ છુપાવો</translation>
 <translation id="4449247303975391730">પરવાનગીઓને મેનેજ કરો</translation>
 <translation id="4449948729197510913">તમારું વપરાશકર્તા નામ તમારી સંસ્થાના એન્ટરપ્રાઇઝ એકાઉન્ટથી સંબંધિત છે. એકાઉન્ટ પર ડિવાઇસની નોંધણી કરાવવા માટે, પહેલા એડમિન કન્સોલ પર ડોમેનની માલિકીની ચકાસણી કરો. ચકાસણી કરવા માટે તમને એકાઉન્ટ પર વ્યવસ્થાપકીય અધિકારોની જરૂર પડશે.</translation>
@@ -4230,6 +4257,7 @@
 <translation id="4601426376352205922">વાંચ્યા વગરનું તરીકે માર્ક કરો</translation>
 <translation id="460190672235687855">પાસવર્ડ જુઓ</translation>
 <translation id="4602466770786743961">તમારા કૅમેરા અને માઇક્રોફોનને ઍક્સેસ કરવા માટે હંમેશાં <ph name="HOST" />ને મંજૂરી આપો</translation>
+<translation id="4602776638371779614">આ ટૅબ સક્રિય રીતે બ્લૂટૂથ ડિવાઇસ માટે સ્કૅન કરી રહ્યું છે</translation>
 <translation id="4606551464649945562">કોઈ સાઇટને તમારી આજુબાજુનો 3D નકશો બનાવવાની અથવા કૅમેરાનું સ્ટેટસ ટ્રૅક કરવાની મંજૂરી આપશો નહીં</translation>
 <translation id="4608500690299898628">&amp;શોધો...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" />માં એક ભૂલ આવી છે</translation>
@@ -4413,6 +4441,7 @@
 <translation id="4770119228883592393">પરવાનગીની વિનંતી કરવામાં આવી, જવાબ આપવા માટે ⌘ + Option + નીચેનો ઍરો દબાવો</translation>
 <translation id="4773112038801431077">Linux અપગ્રેડ કરો</translation>
 <translation id="4774456473286455263">તમારા Android ફોન વડે સેટઅપ કરો</translation>
+<translation id="477548766361111120">એક્સ્ટેન્શનને આ સાઇટ વાંચવાની અને બદલવાની મંજૂરી આપો</translation>
 <translation id="477647109558161443">ડેસ્કટૉપ શૉર્ટકટ બનાવો</translation>
 <translation id="4776594120007763294">થોડા સમય પછી વાંચી શકવા કોઈ પેજને ઉમેરવા માટે, આ બટન ક્લિક કરો</translation>
 <translation id="4777458362738635055">આ ડિવાઇસના અન્ય વપરાશકર્તાઓ આ નેટવર્કનો ઉપયોગ કરી શકે છે</translation>
@@ -5205,7 +5234,9 @@
 <translation id="5481941284378890518">નજીકના પ્રિન્ટર્સ ઉમેરો</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> માટે જરૂરી છે કે તમે આજે તમારા ડેટાનું બૅકઅપ લો અને આ <ph name="DEVICE_TYPE" /> પરત કરો. <ph name="LINK_BEGIN" />વિગતો જુઓ<ph name="LINK_END" />}one{<ph name="MANAGER" /> માટે જરૂરી છે કે તમે તમારા ડેટાનું બૅકઅપ લો અને આ <ph name="DEVICE_TYPE" /> {NUM_DAYS} દિવસમાં પરત કરો. <ph name="LINK_BEGIN" />વિગતો જુઓ<ph name="LINK_END" />}other{<ph name="MANAGER" /> માટે જરૂરી છે કે તમે તમારા ડેટાનું બૅકઅપ લો અને આ <ph name="DEVICE_TYPE" /> {NUM_DAYS} દિવસમાં પરત કરો. <ph name="LINK_BEGIN" />વિગતો જુઓ<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">ઍપ્લિકેશન ઉમેરો</translation>
+<translation id="5485435764083510385">કૅપ્શનની પસંદગીની ભાષા</translation>
 <translation id="5485754497697573575">તમામ ટૅબ્સ પુનર્સ્થાપિત કરો</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> માટે કોઈ નવું કે અલગ પ્રકારનું ડિવાઇસ હોવું આવશ્યક હોઈ શકે છે</translation>
 <translation id="5486261815000869482">પાસવર્ડની પુષ્ટિ કરો</translation>
 <translation id="5486561344817861625">બ્રાઉઝર પુનઃપ્રારંભનું અનુકરણ કરો</translation>
 <translation id="5487460042548760727">પ્રોફાઇલનું નામ બદલીને <ph name="PROFILE_NAME" /> કરો</translation>
@@ -5562,6 +5593,7 @@
 <translation id="5799508265798272974">Linux વર્ચ્યુઅલ મશીન: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">ગંતવ્ય ફાઇલ કપાયેલી છે અથવા છેલ્લા ડાઉનલોડ પછી દૂર કરવામાં આવી છે.</translation>
 <translation id="5800351251499368110">બાજુની પૅનલમાંથી શોધની સેવા બંધ કરો. બાજુની પૅનલમાં શોધની સેવા ચાલુ છે.</translation>
+<translation id="5800703268655655701">લાઇટ કે ડાર્ક થીમ પસંદ કરો</translation>
 <translation id="5801051031414037185">ફોનનું સેટઅપ કરો</translation>
 <translation id="5801568494490449797">પસંદગીઓ</translation>
 <translation id="5803689677801500549">સાચવેલા પાસવર્ડ અહીં દેખાશે. <ph name="USER_EMAIL" /> માટે <ph name="BRAND" />માં પાસવર્ડ આયાત કરવા માટે, <ph name="BEGIN_LINK" /> CSV ફાઇલ પસંદ કરો.<ph name="END_LINK" /></translation>
@@ -5677,6 +5709,7 @@
 <translation id="5889282057229379085">ઇન્ટરમિડિયેટ CA ની મહત્તમ સંખ્યા: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">તમારા પોતાના <ph name="BEGIN_LINK" />સિંક પાસફ્રેઝ<ph name="END_LINK" /> વડે સિંક કરેલો ડેટા એન્ક્રિપ્ટ કરો. Google Payમાંથી ચુકવણી પદ્ધતિઓ અને સરનામા એન્ક્રિપ્ટ કરવામાં આવશે નહીં. Chromeમાંથી બ્રાઉઝિંગ ઇતિહાસ સિંક થશે નહીં.</translation>
 <translation id="5891688036610113830">પસંદ કરેલા વાઇ-ફાઇ નેટવર્ક</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> ફોલ્ડર નાપસંદ કરો</translation>
 <translation id="5895138241574237353">પુનઃપ્રારંભ કરો</translation>
 <translation id="5895335062901455404">જ્યારે તમે તમારા Google એકાઉન્ટ વડે સાઇન ઇન કરશો, ત્યારે કોઈપણ ChromeOS Flex ડિવાઇસ પર તમારી પસંદગીઓ અને પ્રવૃત્તિ તૈયાર થઈ જશે. શું સિંક કરવું, તે તમે સેટિંગમાં જઈને પસંદ કરી શકો છો.</translation>
 <translation id="589541317545606110"><ph name="VISUAL_SEARCH_PROVIDER" /> વડે પેજ શોધો</translation>
@@ -5749,6 +5782,7 @@
 <translation id="5948476936444935795">આયાત કરવાનું રદ કરો</translation>
 <translation id="5948536763493709626">કોઈ કીબોર્ડ કે માઉસ કનેક્ટ કરો અથવા તમારી ટચસ્ક્રીનનો ઉપયોગ કરીને સેટઅપ કરવાનું ચાલુ રાખો. જો તમે બ્લૂટૂથ ડિવાઇસનો ઉપયોગ કરી રહ્યાં છો, તો ખાતરી કરો કે તમારા ડિવાઇસ જોડાણ બનાવવા માટે તૈયાર છે.</translation>
 <translation id="5949544233750246342">ફાઇલનું વિશ્લેષણ કરવામાં અસમર્થ</translation>
+<translation id="5950762317146173294">આ ફાઇલ કોઈ વાયરસ કે માલવેર હોઈ શકે છે</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> સ્થાનિક ફૉન્ટનો ઉપયોગ કરવા માગે છે</translation>
 <translation id="5951624318208955736">મૉનિટર</translation>
 <translation id="595262438437661818">કોઈ એક્સ્ટેન્શનને આ સાઇટના ઍક્સેસની જરૂર નથી</translation>
@@ -5833,6 +5867,7 @@
 <translation id="6022526133015258832">પૂર્ણ સ્ક્રીન ખોલો</translation>
 <translation id="6022659036123304283">Chromeને તમારી જરૂરિયાત અનુરૂપ બનાવો</translation>
 <translation id="6023643151125006053">આ ઉપકરણ (SN: <ph name="SERIAL_NUMBER" />)ને <ph name="SAML_DOMAIN" /> વ્યવસ્થાપક દ્વારા લૉક કરવામાં આવ્યું હતું.</translation>
+<translation id="6024072172641380781">આ સાઇટ પર એક્સ્ટેન્શનને મંજૂરી આપો</translation>
 <translation id="6025215716629925253">સ્ટેક ટ્રેસ</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ઉપકરણ કનેક્ટ કર્યું</translation>
 <translation id="6027945736510816438">શું તમારો અર્થ <ph name="WEBSITE" /> હતો?</translation>
@@ -6116,6 +6151,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> સાથે ખોલો</translation>
 <translation id="6270309713620950855">સંકેત મ્યૂટ કરો</translation>
 <translation id="6270391203985052864">સાઇટ તમને નોટિફિકેશન મોકલવા માટે પૂછી શકે છે</translation>
+<translation id="6270486800167535228">એક્સ્ટેન્શન પિન કરેલું છે. વધુ વિકલ્પો જોવા માટે પસંદ કરો</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />સિસ્ટમ અને ઍપ્લિકેશન માહિતી<ph name="END_LINK1" /> અને <ph name="BEGIN_LINK2" />મેટ્રિક્સ<ph name="END_LINK2" /> મોકલો</translation>
 <translation id="6270896861225278704">પ્રવાસ કાર્ડ</translation>
 <translation id="6271348838875430303">સુધારાનો છેલ્લો ફેરફાર રદ કર્યો</translation>
@@ -6196,6 +6232,7 @@
 <translation id="6344608411615208519">તમારા માતાપિતા દ્વારા તમારું <ph name="BEGIN_LINK" />બ્રાઉઝર મેનેજ કરવામાં આવે છે<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910"><ph name="PROXY" /> પ્રૉક્સી માટે તમારું વપરાશકર્તાનું નામ અને પાસવર્ડ આવશ્યક છે, જેથી વ્યવસ્થાપક તમારા નેટવર્કની ગોઠવણી કરી શકે</translation>
 <translation id="6345878117466430440">વાંચેલાં તરીકે માર્ક કરો</translation>
+<translation id="6346952829206698721">ક્લિપબોર્ડ પરથી પેસ્ટ કરો</translation>
 <translation id="6347010704471250799">નોટિફિકેશન બતાવો</translation>
 <translation id="634887995541211148">તમારા ડિવાઇસ પર Bruschetta ચલાવો.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> ઇન્સ્ટૉલ કરો</translation>
@@ -6483,6 +6520,7 @@
 <translation id="6596325263575161958">એન્ક્રિપ્શન વિકલ્પો</translation>
 <translation id="6596816719288285829">IP સરનામું</translation>
 <translation id="6597017209724497268">નમૂના</translation>
+<translation id="6597324406048772521">આ સાઇટ પર એક્સ્ટેન્શનની મંજૂરી નથી</translation>
 <translation id="6597331566371766302">નીચે મુજબના એક્સ્ટેન્શનને તમારા વ્યવસ્થાપક દ્વારા બ્લૉક કરવામાં આવ્યા છે:</translation>
 <translation id="659894938503552850">સૌથી નવું</translation>
 <translation id="6601262427770154296">વપરાશકર્તાના શબ્દકોશો મેનેજ કરો</translation>
@@ -6500,6 +6538,7 @@
 <translation id="6609478180749378879">તમે 'છૂપા મોડ'થી બહાર નીકળો, તે પછી સાઇન-ઇન ડેટા આ ડિવાઇસ પર સ્ટોર કરવામાં આવશે. તમે તમારા ડિવાઇસ વડે આ વેબસાઇટમાં થોડા સમય પછી સાઇન ઇન કરી શકશો.</translation>
 <translation id="6610002944194042868">અનુવાદ માટેના વિકલ્પો</translation>
 <translation id="6611972847767394631">તમારા ટૅબ અહીં મેળવો</translation>
+<translation id="6613267708691765962">માલવેર માટે સ્કૅન કરી રહ્યાં છીએ...</translation>
 <translation id="6613668613087513143">આ અપડેટ પૂર્ણ કરવા માટે આ ડિવાઇસ પર પૂરતી સ્પેસ નથી. તમારા ડિવાઇસ પર <ph name="NECESSARY_SPACE" /> સાફ કરો અને તમારા Chrome બ્રાઉઝરમાંથી ફરીથી પ્રયાસ કરો.</translation>
 <translation id="6615455863669487791">મને બતાવો</translation>
 <translation id="6618097958368085618">તો પણ રાખો</translation>
@@ -6748,6 +6787,7 @@
 <translation id="6825184156888454064">નામ અનુસાર સૉર્ટ કરો</translation>
 <translation id="6826872289184051766">USB મારફતે ચકાસો</translation>
 <translation id="6827121912381363404">બધા એક્સ્ટેન્શનને <ph name="PERMITTED_SITE" /> વાંચવાની અને તેમાં ફેરફાર કરવાની મંજૂરી આપો</translation>
+<translation id="6827422464708099620">વધુ વિકલ્પો જોવા માટે પસંદ કરો</translation>
 <translation id="6827517233063803343">તમે તમારા Google એકાઉન્ટ વડે જેમાં સાઇન ઇન કર્યું હોય, તે તમામ ChromeOS ડિવાઇસ પર તમારી ઍપ અને સેટિંગ સિંક કરવામાં આવશે. બ્રાઉઝર સિંક કરવાના વિકલ્પો માટે, <ph name="LINK_BEGIN" />Chrome સેટિંગ<ph name="LINK_END" /> પર જાઓ.</translation>
 <translation id="6827767090350758381">ડિસેમ્બર 2022 પછી Windows ડિવાઇસ પર Chrome ઍપના જૂના વર્ઝન ખૂલશે નહીં. નવા વર્ઝન પર અપડેટ કરવા અથવા આ ઍપને કાઢી નાખવા માટે, તમારા ઍડમિનિસ્ટ્રેટરનો સંપર્ક કરો.</translation>
 <translation id="6828153365543658583">નીચેના વપરાશકર્તાઓ માટે સાઇન-ઇન નિયંત્રિત કરો:</translation>
@@ -6811,6 +6851,7 @@
 <translation id="6868934826811377550">વિગતો જુઓ</translation>
 <translation id="6871644448911473373">OCSP પ્રતિસાદકર્તા: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">તમે દાખલ કરેલ પાસવર્ડ સર્વર દ્વારા નકારવામાં આવ્યો હતો.</translation>
+<translation id="6873571253135628430">સાઇટની પરવાનગીઓ બદલો</translation>
 <translation id="6876155724392614295">બાઇક</translation>
 <translation id="6876469544038980967">સહાયરૂપ નથી</translation>
 <translation id="6878422606530379992">સેન્સરને મંજૂરી છે</translation>
@@ -6951,6 +6992,7 @@
 <translation id="6993050154661569036">Chrome બ્રાઉઝર અપડેટ કરી રહ્યાં છીએ</translation>
 <translation id="6995899638241819463">જો ડેટા ઉલ્લંઘનમાં પાસવર્ડ જાહેર થાય તો તમને ચેતવણી આપવામાં આવે છે</translation>
 <translation id="6995984090981858039">ChromeOS ડિવાઇસની માહિતી અને ડેટા વાંચો</translation>
+<translation id="6996438701394974959">ડિસ્પ્લે અને ટેક્સ્ટનું કદ મોટું કરો</translation>
 <translation id="6997553674029032185">સાઇટ પર જાઓ</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - પ્રવૃત્તિ લૉગ</translation>
 <translation id="6997707937646349884">તમારા ઉપકરણો પર:</translation>
@@ -7071,6 +7113,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{ઍપ કાઢી નાખો}one{ઍપ કાઢી નાખો}other{ઍપ કાઢી નાખો}}</translation>
 <translation id="7099337801055912064">વિશાળ PPD લોડ કરી શકતાં નથી. મહત્તમ કદ 250 kB છે.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{ચેડાં કરાયેલો કોઈ પાસવર્ડ નથી}=1{ચેડાં કરાયેલો {COUNT} પાસવર્ડ}one{ચેડાં કરાયેલો {COUNT} પાસવર્ડ}other{ચેડાં કરાયેલા {COUNT} પાસવર્ડ}}</translation>
+<translation id="710047887584828070">આ ટૅબનું કન્ટેન્ટ શેર કરવામાં આવી રહ્યું છે</translation>
 <translation id="7102832101143475489">વિનંતીનો સમય સમાપ્ત થઈ ગયો</translation>
 <translation id="710640343305609397">નેટવર્ક સેટિંગ ખોલો</translation>
 <translation id="7107609441453408294">બધા સ્પીકરમાંથી એક જ ઑડિયો વગાડો</translation>
@@ -7166,6 +7209,7 @@
 <translation id="719791532916917144">કીબોર્ડ શૉર્ટકટ</translation>
 <translation id="7198503619164954386">તમે કોઈ સંસ્થા દ્વારા નોંધણીકૃત ડિવાઇસનો ઉપયોગ કરતા હોઈ શકો છો</translation>
 <translation id="7199158086730159431">સહાય મેળવો</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> પર કાસ્ટ કરવાનું થોભાવો</translation>
 <translation id="7200083590239651963">ગોઠવણી પસંદ કરો</translation>
 <translation id="720110658997053098">આ ઉપકરણને કાયમ માટે કિઓસ્ક મોડમાં રાખો</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ડિલીટ કર્યું</translation>
@@ -7212,6 +7256,7 @@
 <translation id="7241389281993241388">ક્લાયંટ પ્રમાણપત્ર આયાત કરવા માટે કૃપા કરીને <ph name="TOKEN_NAME" /> પર સાઇન ઇન કરો.</translation>
 <translation id="7241763419756062043">તમારી શોધ અને બ્રાઉઝિંગ ક્વૉલિટી પસંદ કરો</translation>
 <translation id="7243632151880336635">સાફ કરો અને સાઇન આઉટ કરો</translation>
+<translation id="7245162963905242662">Google વડે આ પેજ શોધો...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (શ્રેષ્ઠ)</translation>
 <translation id="7246230585855757313">તમારો સુરક્ષા કોડ ફરી શામેલ કરીને ફરી પ્રયાસ કરો</translation>
 <translation id="724835896049478274">Android ઍપ માટે ઉપલબ્ધ એકાઉન્ટ</translation>
@@ -7393,6 +7438,7 @@
 <translation id="7400839060291901923">તમારા <ph name="PHONE_NAME" /> પર કનેક્શન સેટ કરો</translation>
 <translation id="7401778920660465883">આ સંદેશ છોડી દો</translation>
 <translation id="7402198013420237102">સાચવેલા પાસવર્ડ તમારા Google એકાઉન્ટમાં ખસેડવા છે?</translation>
+<translation id="740333000181878130">ડિવાઇસનો શરૂ થવાનો સાઉન્ડ</translation>
 <translation id="7403642243184989645">સંસાધનો ડાઉનલોડ થઈ રહ્યાં છે</translation>
 <translation id="7404065585741198296">USB કેબલ સાથે તમારો ફોન</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{સલામતી માટે તપાસ 1 કલાક અગાઉ કરવામાં આવી હતી}one{સલામતી માટે તપાસ {NUM_HOURS} કલાક અગાઉ કરવામાં આવી હતી}other{સલામતી માટે તપાસ {NUM_HOURS} કલાક અગાઉ કરવામાં આવી હતી}}</translation>
@@ -7519,8 +7565,10 @@
 <translation id="7497981768003291373">તમારી પાસે તાજેતરમાં કૅપ્ચર કરેલ કોઈ WebRTC ટેક્સ્ટ લૉગ નથી.</translation>
 <translation id="7501957181231305652">અથવા</translation>
 <translation id="7502220299952823578">"આ સાઇટને હંમેશાં સક્રિય રાખો" સૂચિમાં ઉમેરો</translation>
+<translation id="7502528909759062987"><ph name="DEVICE_NAME" /> પર ટૅબ કાસ્ટ કરવાનું થોભાવો</translation>
 <translation id="7503191893372251637">નેટસ્કેપ પ્રમાણપત્રનો પ્રકાર</translation>
 <translation id="7503985202154027481">આ સાઇટની તમારી મુલાકાતનો રેકોર્ડ તમારા સુરક્ષા કોડ પર રાખવામાં આવશે.</translation>
+<translation id="7504145862399276792">આ ટૅબનો ઑડિયો મ્યૂટ કરવામાં આવી રહ્યો છે</translation>
 <translation id="750509436279396091">ડાઉનલોડ્સ ફોલ્ડર ખોલો</translation>
 <translation id="7505149250476994901">અક્ષર પહેલાં "કૅપિટલ" બોલો</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> છુપાવો</translation>
@@ -7760,6 +7808,7 @@
 <translation id="7701040980221191251">કોઈ નથી</translation>
 <translation id="7701265686005869308">પ્રોફાઇલ બંધ કરો</translation>
 <translation id="7701869757853594372">વપરાશકર્તા હેન્ડલ્સ</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> પર કાસ્ટ કરવાનું રોકો</translation>
 <translation id="7702574632857388784">સૂચિમાંથી <ph name="FILE_NAME" />ને કાઢી નાખો</translation>
 <translation id="7702907602086592255">ડોમેન</translation>
 <translation id="7704305437604973648">કાર્ય</translation>
@@ -7878,6 +7927,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">આરંભ પેજનું બૅકગ્રાઉન્ડ બદલીને <ph name="CATEGORY" /> કરવામાં આવ્યું છે.</translation>
+<translation id="7791436592012979144">રિવર્સ સ્ક્રોલિંગ ચાલુ કર્યું</translation>
 <translation id="7791543448312431591">ઉમેરો</translation>
 <translation id="7792012425874949788">સાઇન ઇન કરવામાં કંઈક ખોટું થયું છે</translation>
 <translation id="7792388396321542707">શેર કરવાનું રોકો</translation>
@@ -8044,6 +8094,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% પૂર્ણ થયું</translation>
 <translation id="7939062555109487992">વિગતવાર વિકલ્પો</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> પર વાંચવા અને તેમાં ફેરફાર કરવા માટે આ એક્સ્ટેન્શનના આઇકન પર ક્લિક કરો</translation>
+<translation id="793923212791838">આ સાઇટ સાથે તમારા ડિવાઇસનો ઉપયોગ કરી શકાશે નહીં</translation>
 <translation id="7939328347457537652">ડિવાઇસના પ્રમાણપત્રો મેનેજ કરો</translation>
 <translation id="7939412583708276221">તો પણ રાખો</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> પ્રમાણે સૉર્ટ કરો</translation>
@@ -8215,6 +8266,7 @@
 <translation id="8084114998886531721">સાચવેલ પાસવર્ડ</translation>
 <translation id="8084510406207562688">બધા ટૅબ રિસ્ટોર કરો</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> ને ગોઠવી રહ્યાં છે ...</translation>
+<translation id="8086121155774250556">આ ટૅબ તમારી સ્ક્રીન શેર કરી રહ્યું છે</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" />નું સેટઅપ કરો</translation>
 <translation id="8086610718778464681">Linux ઍપ અને ફાઇલોનું બૅકઅપ લઈ શકાતું નથી</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{આ ફાઇલ એન્ક્રિપ્ટ કરેલી છે. તેના માલિકને તેને ડિક્રિપ્ટ કરવાનું કહો.}one{આ ફાઇલ એન્ક્રિપ્ટ કરેલી છે. તેના માલિકને તેને ડિક્રિપ્ટ કરવાનું કહો.}other{આમાંની કેટલીક ફાઇલો એન્ક્રિપ્ટ કરેલી છે. તેમના માલિકને તેને ડિક્રિપ્ટ કરવાનું કહો.}}</translation>
@@ -8517,6 +8569,7 @@
 <translation id="8345848587667658367">હવે તમે તમારા ફોનના તાજેતરના ફોટા, મીડિયા, નોટિફિકેશન અને ઍપ જોઈ શકો છો</translation>
 <translation id="8347227221149377169">પ્રિન્ટ કરવાના કામો</translation>
 <translation id="834785183489258869">જ્યારે છૂપા મોડમાં હો, ત્યારે અલગ-અલગ સાઇટ પરની તમારી બ્રાઉઝિંગ પ્રવૃત્તિ જોવા માટે સાઇટ તમારી કુકીનો ઉપયોગ કરી શકશે નહીં, ઉદાહરણ તરીકે, જાહેરાતોને વ્યક્તિગત બનાવવા માટે. અમુક સુવિધાઓ કેટલીક સાઇટ પર કામ કરી શકશે નહીં.</translation>
+<translation id="8349325309815489209">આ સાઇટ પર એક્સ્ટેન્શનની મંજૂરી છે</translation>
 <translation id="8349826889576450703">લૉન્ચર</translation>
 <translation id="8350789879725387295">ડૉકમાં સ્ટાયલસના સાધનો બતાવો</translation>
 <translation id="8351316842353540018">હંમેશાં ઍક્સેસિબિલિટીનાં વિકલ્પો બતાવો</translation>
@@ -8545,6 +8598,7 @@
 <translation id="8370294614544004647">લૅપટૉપ બંધ કરવામાં આવે ત્યારે નિષ્ક્રિય કરો</translation>
 <translation id="8371695176452482769">હવે બોલો</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{સાઇટને મ્યૂટ કરો}one{સાઇટને મ્યૂટ કરો}other{સાઇટને મ્યૂટ કરો}}</translation>
+<translation id="8372441176515901959">વિનંતી કરવાનું છોડી દો</translation>
 <translation id="8373652277231415614">Crostiniએ શેર કરેલી ડિરેક્ટરી</translation>
 <translation id="8374243500935816406">સાઇટને તમારા બધા ડિસ્પ્લે પર વિન્ડો મેનેજ કરવાની મંજૂરી આપશો નહીં</translation>
 <translation id="8376137163494131156">Google Cast માં શું થઈ રહ્યું છે તે અમને જણાવો.</translation>
@@ -8904,6 +8958,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> રદ કરો</translation>
 <translation id="8688672835843460752">ઉપલબ્ધ</translation>
 <translation id="8690129572193755009">સાઇટ પ્રોટોકૉલ હૅન્ડલ કરવાનું પૂછી શકે છે</translation>
+<translation id="869144235543261764">આ ટૅબ ચિત્ર-માં-ચિત્ર મોડમાં વીડિયો ચલાવી રહ્યું છે</translation>
 <translation id="8692107307702113268">પાસવર્ડ 1000 કરતાં વધુ અક્ષર ધરાવે છે</translation>
 <translation id="8694596275649352090">સૂતી વખતે કે જ્યારે લિડ બંધ કરવામાં આવે, ત્યારે લૉક કરો</translation>
 <translation id="8695139659682234808">સેટઅપ પૂર્ણ થયા પછી માતાપિતાના યોગ્ય નિયંત્રણો ઉમેરો</translation>
@@ -9138,6 +9193,7 @@
 <translation id="8877448029301136595">[માતાપિતાની ડિરેક્ટરી]</translation>
 <translation id="8879284080359814990">ટૅબ તરીકે &amp;બતાવો</translation>
 <translation id="8879921471468674457">સાઇન ઇન માહિતી યાદ રાખો</translation>
+<translation id="8880009256105053174">Google વડે આ પેજ શોધો...</translation>
 <translation id="8880054210564666174">સંપર્ક સૂચિ ડાઉનલોડ કરી શકતા નથી. કૃપા કરીને તમારું નેટવર્ક કનેક્શન ચેક કરો અથવા <ph name="LINK_BEGIN" />ફરી પ્રયાસ કરો<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">કૃપા કરીને ફરી પ્રયાસ કરો. ટેક્નિકલ સપોર્ટ માટે, <ph name="CARRIER_NAME" />નો સંપર્ક કરો.</translation>
 <translation id="888256071122006425">માઉસ અને ટચપૅડના સેટિંગ</translation>
@@ -9402,6 +9458,7 @@
 <translation id="9102864637938129124">જાહેરાતોના પર્ફોર્મન્સ સંબંધી બાબતો સાઇટ અને જાહેરાતકર્તાઓ સમજી શકે છે. આ સેટિંગ ચાલુ છે.</translation>
 <translation id="9103479157856427471">મોટી કરેલી સ્ક્રીન, કીબોર્ડ ફોકસને અનુસરે છે</translation>
 <translation id="9103868373786083162">પાછા જવા માટે દબાવો, ઇતિહાસ જોવા માટે સંદર્ભ મેનૂ પર જાઓ</translation>
+<translation id="9107096627210171112">અનુવાદ કરો...</translation>
 <translation id="9108035152087032312">નામ અને વિંડો…</translation>
 <translation id="9108072915170399168">ડેટા વપરાશના હાલના સેટિંગ ઇન્ટરનેટ વિના માટે સેટ છે</translation>
 <translation id="9108294543511800041">હવે તમે તમારા ફોનના તાજેતરના ફોટા, મીડિયા અને નોટિફિકેશન જોઈ શકો છો</translation>
@@ -9558,6 +9615,7 @@
 <translation id="947329552760389097">&amp;ઘટકોની તપાસ કરો</translation>
 <translation id="947526284350604411">તમારો જવાબ</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> આ ફોલ્ડરમાં ફાઇલો ખોલી શકતું નથી, કારણ કે તેમાં સિસ્ટમ ફાઇલો શામેલ છે</translation>
+<translation id="949807244219288032">આ ટૅબ કોઈ HID ડિવાઇસ સાથે કનેક્ટ કરેલું છે</translation>
 <translation id="950307215746360464">સેટઅપની માર્ગદર્શિકા</translation>
 <translation id="951991426597076286">નકારો</translation>
 <translation id="952471655966876828">ડિવાઇસ જ્યારે ચાલુ કરવામાં આવે અથવા ઉપયોગમાં હોય, ત્યારે તે ઑટોમૅટિક રીતે કનેક્ટ થઈ જશે</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index a8ec054b8..aaf0e40 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">प्रोफ़ाइल संबंधी गड़बड़ी हुई</translation>
 <translation id="1253664522045778676">किसी नतीजे पर क्लिक करें और वह पेज आपके मौजूदा टैब में खुल जाएगा</translation>
 <translation id="1254593899333212300">प्रत्यक्ष इंटरनेट कनेक्‍शन</translation>
+<translation id="1256588359404100567">सेटिंग को आपके पिछले डिवाइस से सिंक कर दिया गया है.</translation>
 <translation id="1257336506558170607">चुना गया सर्टिफ़िकेट एक्सपोर्ट करें</translation>
 <translation id="1258491128795710625">नया क्या है</translation>
 <translation id="1259152067760398571">कल सुरक्षा जांच हुई थी</translation>
@@ -1007,6 +1008,7 @@
 <translation id="18260074040409954">आपके पास सेव किए गए पासवर्ड को किसी भी डिवाइस पर इस्तेमाल करने का विकल्प होता है. <ph name="EMAIL" /> के लिए, ये पासवर्ड <ph name="GOOGLE_PASSWORD_MANAGER" /> में सेव किए गए हैं.</translation>
 <translation id="1826192255355608658">अपने Chrome ब्राउज़र के बुकमार्क, पासवर्ड, इतिहास वगैरह को सिंक करें</translation>
 <translation id="1826516787628120939">जाँच की जा रही है</translation>
+<translation id="1826657447823925402">रिवर्स स्क्रोलिंग बंद की गई</translation>
 <translation id="1827504459960247692">हॉटस्पॉट का नाम</translation>
 <translation id="1828378091493947763">यह प्लग इन इस डिवाइस पर समर्थित नहीं है</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{सभी यूआरएल &amp;खोलें}=1{बुकमार्क &amp;खोलें}one{दिया गया ({COUNT}) यूआरएल &amp;खोलें}other{सभी ({COUNT}) यूआरएल &amp;खोलें}}</translation>
@@ -1295,6 +1297,7 @@
 <translation id="2081816110395725788">बैटरी का इस्तेमाल करते समय डिवाइस काम न करे</translation>
 <translation id="2082187087049518845">ग्रुप टैब</translation>
 <translation id="2082510809738716738">प्रोफ़ाइल के लिए कोई रंग चुनें</translation>
+<translation id="2084891381052978619">Chromebook का सेट अप पूरा करने के बाद, 'सेटिंग' में भी ये विकल्प देखे जा सकते हैं</translation>
 <translation id="208586643495776849">कृपया दोबारा कोशिश करें</translation>
 <translation id="208634871997892083">हमेशा-चालू वीपीएन</translation>
 <translation id="2087822576218954668">प्रिंट: <ph name="PRINT_NAME" /></translation>
@@ -1364,6 +1367,7 @@
 <translation id="212862741129535676">आवृत्ति स्थिति उपयोग प्रतिशत</translation>
 <translation id="212876957201860463">आपका मोबाइल डिवाइस सेटअप किया जा रहा है...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" इंस्‍टॉल करने में असमर्थ क्‍योंकि "<ph name="IMPORT_NAME" />" द्वारा इसकी अनुमति नहीं है</translation>
+<translation id="2133775869826239001">सेट अप करने के लिए, ज़्यादा सुविधाएं चुनें</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> को फिर से डाउनलोड करने की कोशिश करें</translation>
 <translation id="2134905185275441536">सिस्टम CA सर्टिफ़िकेट</translation>
 <translation id="21354425047973905">पिन छिपाएं</translation>
@@ -1458,6 +1462,7 @@
 <translation id="2204020417499639567">ईमेल का फ़ील्ड भरा गया.</translation>
 <translation id="2204034823255629767">आप जो कुछ भी लिखते हैं उसे पढ़ें और बदलें</translation>
 <translation id="2204387456724731099">चुने गए टेक्स्ट का अनुवाद नहीं किया जा सकता</translation>
+<translation id="2207116775853792104">इस एक्सटेंशन को रखें</translation>
 <translation id="2210462644007531147">इंस्टॉल नहीं किया जा सका</translation>
 <translation id="2211245494465528624">सिंक करने के विकल्प मैनेज करें</translation>
 <translation id="2212565012507486665">कुकी की अनुमति दें</translation>
@@ -2947,6 +2952,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> को अपने कैमरे और माइक्रोफ़ोन को एक्सेस करते रहने दें</translation>
 <translation id="3479552764303398839">अभी नहीं</translation>
 <translation id="3479685872808224578">प्रिंट सर्वर नहीं मिला. कृपया पते की जांच करें और फिर से कोशिश करें.</translation>
+<translation id="3479753605053415848">Chrome को पसंद के मुताबिक बनाने के लिए क्लिक करें</translation>
 <translation id="3480612136143976912">लाइव कैप्शन के लिए, कैप्शन के साइज़ और स्टाइल को पसंद के मुताबिक बनाएं. कुछ ऐप्लिकेशन और साइटें भी इस सेटिंग का इस्तेमाल करेंगी.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> टैब मिले</translation>
 <translation id="3481268647794498892"><ph name="ALTERNATIVE_BROWSER_NAME" /> पर <ph name="COUNTDOWN_SECONDS" /> सेकंड में खाेला जा रहा है</translation>
@@ -3240,6 +3246,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> का डेटा 24 घंटे में मिटा दिया जाएगा</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> खोलना चाहते हैं?</translation>
+<translation id="3740945083753997630">डिसप्ले और टेक्स्ट का साइज़ घटाएं</translation>
 <translation id="3741056951918180319">एक्सटेंशन पर क्लिक करके, इसे किसी भी साइट पर इस्तेमाल किया जा सकता है</translation>
 <translation id="3742235229730461951">कोरियाई कीबोर्ड लेआउट</translation>
 <translation id="3742666961763734085">इस नाम की संगठनात्मक इकाई नहीं मिल पा रही है. कृपया फिर से कोशिश करें.</translation>
@@ -4067,6 +4074,7 @@
 <translation id="4444512841222467874">अगर स्थान उपलब्ध नहीं कराया जाता, तो उपयोगकर्ता और डेटा अपने आप निकाले जा सकते हैं.</translation>
 <translation id="4445446646109808714">अंतिम उपयोगकर्ता लाइसेंस समझौता: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">मिरर किया गया</translation>
+<translation id="4448560527907365660">सेव करें और ज़्यादा देखें</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> पर <ph name="USERNAME" /> का पासवर्ड छिपाएं</translation>
 <translation id="4449247303975391730">अनुमतियां मैनेज करें</translation>
 <translation id="4449948729197510913">आपका उपयोगकर्ता नाम आपके संगठन के एंटरप्राइज़ खाते से जुड़ा है. खाते में डिवाइस का नाम दर्ज करने के लिए, पहले Admin console में डोमेन के मालिकाना हक की पुष्टि करें. पुष्टि करने के लिए आपको व्यवस्थापकीय विशेषाधिकार की ज़रूरत होगी.</translation>
@@ -5223,6 +5231,7 @@
 <translation id="5485102783864353244">ऐप्लिकेशन जोड़ें</translation>
 <translation id="5485435764083510385">कैप्शन की पसंदीदा भाषा</translation>
 <translation id="5485754497697573575">सभी टैब पुनर्स्थापित करें</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> के लिए नए या अलग तरह के डिवाइस की ज़रूरत पड़ सकती है</translation>
 <translation id="5486261815000869482">पासवर्ड की पुष्टि करें</translation>
 <translation id="5486561344817861625">ब्राउज़र पुनर्प्रारंभ को सिम्युलेट करें</translation>
 <translation id="5487460042548760727">प्रोफ़ाइल नाम को <ph name="PROFILE_NAME" /> से बदलें</translation>
@@ -5577,6 +5586,7 @@
 <translation id="5799508265798272974">Linux वर्चुअल मशीन: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">अंतिम डाउनलोड के बाद से गंतव्य फ़ाइल छोटी हो गई थी या निकाल दी गई थी.</translation>
 <translation id="5800351251499368110">साइड पैनल में सर्च टूलबार बंद करें. साइड पैनल में सर्च टूलबार चालू है.</translation>
+<translation id="5800703268655655701">हल्के या गहरे रंग वाली थीम चुनें</translation>
 <translation id="5801051031414037185">फ़ोन को सेट अप करें</translation>
 <translation id="5801568494490449797">प्राथमिकताएं</translation>
 <translation id="5803689677801500549">सेव किए गए पासवर्ड यहां दिखेंगे. <ph name="USER_EMAIL" /> से <ph name="BRAND" /> में पासवर्ड इंपोर्ट करने के लिए, <ph name="BEGIN_LINK" />कोई CSV फ़ाइल चुनें.<ph name="END_LINK" /></translation>
@@ -6965,6 +6975,7 @@
 <translation id="6993050154661569036">Chrome ब्राउज़र अपडेट हो रहा है</translation>
 <translation id="6995899638241819463">डेटा का उल्लंघन होने पर अगर आपके पासवर्ड बिना अनुमति के सार्वजनिक हो जाते हैं, तो आपको चेतावनी मिलती है</translation>
 <translation id="6995984090981858039">ChromeOS डिवाइस की जानकारी और डेटा ऐक्सेस करें</translation>
+<translation id="6996438701394974959">डिसप्ले और टेक्स्ट का साइज़ बढ़ाएं</translation>
 <translation id="6997553674029032185">साइट पर जाएं</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - गतिविधि लॉग</translation>
 <translation id="6997707937646349884">आपके इन डिवाइस पर:</translation>
@@ -7455,6 +7466,7 @@
 <translation id="7434509671034404296">डेवलपर</translation>
 <translation id="7434757724413878233">माउस की रफ़्तार बढ़ाना</translation>
 <translation id="7434969625063495310">प्रिंट सर्वर नहीं जोड़ा जा सका. कृपया सर्वर का कॉन्फ़िगरेशन जांचें और फिर से कोशिश करें.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{उस 1 एक्सटेंशन की समीक्षा करें जिसे Chrome Web Store से हटा दिया गया था}one{उस {NUM_EXTENSIONS} एक्सटेंशन की समीक्षा करें जिसे Chrome Web Store से हटा दिया गया था}other{उन {NUM_EXTENSIONS} एक्सटेंशन की समीक्षा करें जिन्हें Chrome Web Store से हटा दिया गया था}}</translation>
 <translation id="7436921188514130341">हे भगवान! नाम बदलने के दौरान गड़बड़ी हुई.</translation>
 <translation id="7439519621174723623">जारी रखने के लिए किसी डिवाइस का नाम जोड़ें</translation>
 <translation id="7441736921018636843">यह सेटिंग बदलने के लिए, <ph name="BEGIN_LINK" />सिंक रीसेट करें<ph name="END_LINK" /> ताकि आपका सिंक करने का लंबा पासवर्ड हटाया जा सके</translation>
@@ -7471,6 +7483,7 @@
 <translation id="7452166281927983300">खारिज की गई चेतावनियां (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">इस प्रिंटर को चुनकर, आप नीचे दिए गए एक्सटेंशन को अपने प्रिंटर के लिए एक्सेस करने की अनुमति दे रहे हैं:</translation>
 <translation id="7453467225369441013">आपको ज़्यादातर साइटों से साइन आउट कर देता है. हालांकि, Google खाते से साइन आउट नहीं किया जाता.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{यह एक्सटेंशन असुरक्षित हो सकता है. Chrome का सुझाव है कि आप इसे हटा दें.}one{यह एक्सटेंशन असुरक्षित हो सकता है. Chrome का सुझाव है कि आप इसे हटा दें.}other{ये एक्सटेंशन असुरक्षित हो सकते हैं. Chrome का सुझाव है कि आप इन्हें हटा दें.}}</translation>
 <translation id="7454548535253569100">पोर्टल: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">अतिरिक्त कंटेनर मैनेज करें</translation>
 <translation id="7455988709578031708">विज्ञापन के विषय, आपके ब्राउज़िंग इतिहास के आधार पर चुने गए हैं. यह सेटिंग चालू है.</translation>
@@ -7890,6 +7903,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">शुरुआत वाला पेज बैकग्राउंड <ph name="CATEGORY" /> में बदल गया है.</translation>
+<translation id="7791436592012979144">रिवर्स स्क्रोलिंग चालू है</translation>
 <translation id="7791543448312431591">जोड़ें</translation>
 <translation id="7792012425874949788">प्रवेश में कुछ गलत हो गया था</translation>
 <translation id="7792388396321542707">शेयर करना बंद करें</translation>
@@ -8056,6 +8070,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% पूरा हो गया है</translation>
 <translation id="7939062555109487992">अतिरिक्त सेटिंग</translation>
 <translation id="7939073735115504773">इस एक्सटेंशन के आइकॉन पर क्लिक करें, ताकि एक्सटेंशन, <ph name="HOST" /> को पढ़ सके और उसमें बदलाव कर सके</translation>
+<translation id="793923212791838">इस साइट के साथ आपका डिवाइस इस्तेमाल नहीं किया जा सकता</translation>
 <translation id="7939328347457537652">डिवाइस के सर्टिफ़िकेट मैनेज करें</translation>
 <translation id="7939412583708276221">फिर भी रखें</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> के हिसाब से क्रम में लगाएं</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index 898281ab..86dee93 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -528,6 +528,7 @@
 <translation id="1448779317883494811">Alat za kistove</translation>
 <translation id="1449191289887455076">Ponovno pritisnite tipku <ph name="CURRENTKEY" /> da biste potvrdili dodjelu i <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Web-stranica, jedna datoteka</translation>
+<translation id="145280054552001290">Dodavanje jezika za titlove i njihovo uklanjanje</translation>
 <translation id="1453561711872398978">Pošalji <ph name="BEGIN_LINK" />zapisnike o otklanjanju pogrešaka<ph name="END_LINK" /> (preporučeno)</translation>
 <translation id="1454223536435069390">I&amp;zradi snimku zaslona</translation>
 <translation id="145432137617179457">Jezici provjere pravopisa</translation>
@@ -1373,7 +1374,7 @@
 <translation id="2143778271340628265">Ručna konfiguracija proxyja</translation>
 <translation id="2143808295261240440">Upotrijebite preporučenu zaporku</translation>
 <translation id="2143915448548023856">Postavke zaslona</translation>
-<translation id="2144536955299248197">Pregledač certifikata: <ph name="CERTIFICATE_NAME" /></translation>
+<translation id="2144536955299248197">Preglednik certifikata: <ph name="CERTIFICATE_NAME" /></translation>
 <translation id="2144557304298909478">Linuxov razvoj Android aplikacija</translation>
 <translation id="2146263598007866206">Web-lokacije mogu automatski zajedno preuzimati povezane datoteke kako bi vam uštedjele vrijeme</translation>
 <translation id="2147151613919729065">Da biste izbrisali povijest u načinu rada za goste, zatvorite sve gostujuće prozore.</translation>
@@ -3610,6 +3611,7 @@
 <translation id="4044612648082411741">Unesite zaporku za certifikat</translation>
 <translation id="4044708573046946214">Zaporka za zaključavanje zaslona</translation>
 <translation id="404493185430269859">Zadana tražilica</translation>
+<translation id="4045196801416070837">Zvukovi uređaja</translation>
 <translation id="4046013316139505482">Proširenja ne mogu vidjeti ni mijenjati podatke na ovoj web-lokaciji.</translation>
 <translation id="4046123991198612571">Sljedeća pjesma</translation>
 <translation id="4047345532928475040">Nije dostupno</translation>
@@ -5213,6 +5215,7 @@
 <translation id="5481941284378890518">Dodaj pisače u blizini</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> traži da stvorite sigurnosnu kopiju svojih podataka i danas vratite ovaj uređaj <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Pogledajte pojedinosti<ph name="LINK_END" />}one{<ph name="MANAGER" /> traži da stvorite sigurnosnu kopiju svojih podataka i vratite ovaj uređaj <ph name="DEVICE_TYPE" /> u roku od {NUM_DAYS} dana.<ph name="LINK_BEGIN" />Pogledajte pojedinosti<ph name="LINK_END" />}few{<ph name="MANAGER" /> traži da stvorite sigurnosnu kopiju svojih podataka i vratite ovaj uređaj <ph name="DEVICE_TYPE" /> u roku od {NUM_DAYS} dana.<ph name="LINK_BEGIN" />Pogledajte pojedinosti<ph name="LINK_END" />}other{<ph name="MANAGER" /> traži da stvorite sigurnosnu kopiju svojih podataka i vratite ovaj uređaj <ph name="DEVICE_TYPE" /> u roku od {NUM_DAYS} dana.<ph name="LINK_BEGIN" />Pogledajte pojedinosti<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Dodaj aplikaciju</translation>
+<translation id="5485435764083510385">Željeni jezik titlova</translation>
 <translation id="5485754497697573575">Vrati sve kartice</translation>
 <translation id="5486071940327595306"><ph name="WEBSITE" /> može zahtijevati noviji uređaj ili neku drugu vrstu uređaja</translation>
 <translation id="5486261815000869482">Potvrdite zaporku</translation>
@@ -7400,6 +7403,7 @@
 <translation id="7400839060291901923">Postavite vezu na telefonu <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Odbacite ovu poruku</translation>
 <translation id="7402198013420237102">Želite li premjestiti spremljene zaporke na Google račun?</translation>
+<translation id="740333000181878130">Zvuk pokretanja uređaja</translation>
 <translation id="7403642243184989645">Preuzimanje resursa</translation>
 <translation id="7404065585741198296">Telefonom povezanim USB kabelom</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Sigurnosna provjera izvršena je prije sat vremena}one{Sigurnosna provjera izvršena je prije {NUM_HOURS} sata}few{Sigurnosna provjera izvršena je prije {NUM_HOURS} sata}other{Sigurnosna provjera izvršena je prije {NUM_HOURS} sati}}</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 0f87fc0..6d9a663 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Megszakítva</translation>
 <translation id="1022489261739821355">Jelszavak megjelenítése a <ph name="BEGIN_LINK" />Google-fiókjából<ph name="END_LINK" /></translation>
 <translation id="1022669824195822609">Az eszközét a következő kezeli: <ph name="DOMAIN" />. A rendszergazdák az ezen az eszközön található összes profil adataihoz hozzáférhetnek.</translation>
+<translation id="1024734233509995696">Ez a lap használja a kamerát vagy a mikrofont</translation>
 <translation id="1026655690966755180">Port hozzáadása</translation>
 <translation id="1026822031284433028">Kép betöltése</translation>
 <translation id="1026959648338730078">Windows Hello vagy külső biztonsági kulcs</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">Kapcsolódás a telefonhoz…</translation>
 <translation id="1158080958325422608">Átalakítás nagybetűssé</translation>
 <translation id="1158238185437008462">Emlékek megtekintése</translation>
+<translation id="1159879754517035595">Bővítménybeállítások kezelése</translation>
 <translation id="1160842321113409343">Adatai védelme érdekében a négy hétnél régebbi webhelyeket automatikusan töröljük a listáról. Előfordulhat, hogy egy újra felkeresett webhely ismét megjelenik a listán. Arra is lehetősége van, hogy eltávolítsa valamelyik webhelyet, ha nem szeretné, hogy az adott webhely a jövőben bármikor is meghatározza az Ön érdeklődési köreit.</translation>
 <translation id="1161575384898972166">Kérjük, jelentkezzen be a(z) <ph name="TOKEN_NAME" /> szolgáltatásba az ügyféltanúsítvány exportálásához.</translation>
 <translation id="116173250649946226">A rendszergazda alapértelmezett témát állított be, amely nem módosítható.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700">A(z) <ph name="FILE_NAME" /> bizalmas vagy veszélyes adatokat tartalmaz. A rendszergazda üzenete: „<ph name="CUSTOM_MESSAGE" />“</translation>
 <translation id="1171515578268894665">A(z) <ph name="ORIGIN" /> HID-eszközhöz szeretne csatlakozni</translation>
 <translation id="1172750555846831341">Átfordítás a rövid oldal mentén</translation>
+<translation id="1173036203040243666">Ez a lap Bluetooth-eszközhöz csatlakozik</translation>
 <translation id="1173332155861271669">Passpoint-szolgáltató adatai</translation>
 <translation id="1173894706177603556">Átnevezés</translation>
 <translation id="1174073918202301297">Parancsikon hozzáadva</translation>
@@ -316,6 +319,7 @@
 <translation id="1252987234827889034">Profilhiba történt</translation>
 <translation id="1253664522045778676">Kattintson valamelyik találatra, és az adott oldal megnyílik az aktuális lapon</translation>
 <translation id="1254593899333212300">Közvetlen internetkapcsolat</translation>
+<translation id="1256588359404100567">Az előző eszközről származó beállítás szinkronizálva.</translation>
 <translation id="1257336506558170607">Kiválasztott tanúsítvány exportálása</translation>
 <translation id="1258491128795710625">Újdonságok</translation>
 <translation id="1259152067760398571">A biztonsági ellenőrzés tegnap lefutott</translation>
@@ -527,6 +531,7 @@
 <translation id="1448779317883494811">Ecset eszköz</translation>
 <translation id="1449191289887455076">Nyomja le újra a(z) „<ph name="CURRENTKEY" />” billentyűt a hozzárendelés megerősítéséhez és <ph name="RESPONSE" />.</translation>
 <translation id="1451375123200651445">Weboldal, egyetlen fájl</translation>
+<translation id="145280054552001290">Feliratnyelvek hozzáadása és eltávolítása</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />Hibakeresési naplók<ph name="END_LINK" />
     küldése (javasolt)</translation>
 <translation id="1454223536435069390">&amp;Képernyőkép készítése</translation>
@@ -660,6 +665,7 @@
 <translation id="1556537182262721003">Nem sikerült áthelyezni a bővítménykönyvtárat a profilba.</translation>
 <translation id="1558391695376153246">Inkognitó lapok bezárása</translation>
 <translation id="155865706765934889">Érintőpad</translation>
+<translation id="1558671750917454373">A következőre való átküldés folytatása: <ph name="DEVICE_NAME" /></translation>
 <translation id="1562119309884184621">E névjegyre a hozzáadása után az eszköze emlékszik majd a legközelebbi megosztáskor</translation>
 <translation id="1563137369682381456">Lejárat dátuma</translation>
 <translation id="1563702743503072935">Az eszközön a Google-fiókjában található jelszavak is hozzáférhetők lesznek, miközben be van jelentkezve</translation>
@@ -791,6 +797,7 @@
 <translation id="1648528859488547844">Wi‑Fi és mobilhálózatok használata a tartózkodási hely megállapításához</translation>
 <translation id="164936512206786300">Bluetooth-párosítás megszüntetése</translation>
 <translation id="1651008383952180276">Mindkét alkalommal ugyanazt az összetett jelszót kell megadnia</translation>
+<translation id="1651609627703324721">Ez a lap VR-tartalmat jelenít meg egy headseten</translation>
 <translation id="1652326691684645429">Közeli megosztás bekapcsolása</translation>
 <translation id="1654580009054503925">Nem jeleníthet meg kérelmeket</translation>
 <translation id="1656528038316521561">Háttér átlátszatlansága</translation>
@@ -890,6 +897,7 @@
 <translation id="173522743738009831">A Privacy Sandbox bemutatása</translation>
 <translation id="173628468822554835">Rendben. A felkeresett új webhelyek alapértelmezés szerint nem fognak értesítéseket küldeni Önnek.</translation>
 <translation id="1737968601308870607">Programhiba bejegyzése</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Válassza ki a webhelyengedélyek módosításához.</translation>
 <translation id="1741190788710022490">Adaptív töltés</translation>
 <translation id="174123615272205933">Egyéni</translation>
 <translation id="1741314857973421784">Tovább</translation>
@@ -1005,6 +1013,7 @@
 <translation id="18260074040409954">A mentett jelszavakat bármelyik eszközön használhatja. A következő fiókhoz társított <ph name="GOOGLE_PASSWORD_MANAGER" /> alkalmazásba menti őket a rendszer: <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Szinkronizálhatja a Chrome böngésző könyvjelzőit, jelszavait, előzményeit és még sok mást is</translation>
 <translation id="1826516787628120939">Ellenőrzés</translation>
+<translation id="1826657447823925402">Fordított görgetés kikapcsolva</translation>
 <translation id="1827504459960247692">Hotspot neve</translation>
 <translation id="1828378091493947763">Ez a beépülő modul nem támogatott ezen az eszközön</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Összes megnyitása}=1{&amp;Könyvjelző megnyitása}other{&amp;Összes ({COUNT}) megnyitása}}</translation>
@@ -1081,6 +1090,7 @@
 <translation id="1885066963699478692">Olyan XML-fájlok, amelyek irányelvek beállítására használhatók.</translation>
 <translation id="1885106732301550621">Lemezterület</translation>
 <translation id="1886996562706621347">A webhelyek kérhetik, hogy protokollok alapértelmezett kezelői legyenek (ajánlott)</translation>
+<translation id="1887210448491286312">Lap következőre való átküldésének leállítása: <ph name="DEVICE_NAME" /></translation>
 <translation id="1887442540531652736">Bejelentkezési hiba</translation>
 <translation id="1887597546629269384">Mondja még egyszer azt, hogy „Ok Google”</translation>
 <translation id="1889091146873278175">Kattintson a „G” gombra, hogy további keresési találatok jelenjenek meg az oldalsó panelen</translation>
@@ -1107,6 +1117,7 @@
 <translation id="1910908536872421421">A Chrome for Testing v<ph name="BROWSER_VERSION" /> csak automatizált tesztelésre szolgál. Hagyományos böngészéshez a Chrome standard, automatikusan frissülő verzióját használja.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">Hívás befejezése</translation>
+<translation id="1915613305720536742">Fordítás</translation>
 <translation id="1915734383465415025">Üzlet száma</translation>
 <translation id="1916260783734263714">Jelenlegi lap</translation>
 <translation id="1916502483199172559">Alapértelmezett piros avatar</translation>
@@ -1211,6 +1222,7 @@
 <translation id="2007404777272201486">Hibabejelentés...</translation>
 <translation id="2009590708342941694">Emoji eszköz</translation>
 <translation id="2010501376126504057">Kompatibilis eszközök</translation>
+<translation id="2012935757369720523">Fájl törlése</translation>
 <translation id="2013550551806600826">Próbálja ki. Kapcsolja be vagy ki a beállítást, majd görgessen két ujjal az érintőpadon a tesztelési területen. Ezt a beállítást később a Beállítások &gt; Eszköz &gt; Egér és érintőpad menüpontban is megtalálja.</translation>
 <translation id="2015232545623037616">A számítógép és a Chromecast ugyanazon a Wi-Fi-hálózaton van</translation>
 <translation id="2016473077102413275">A képeket igénylő funkciók nem működnek majd</translation>
@@ -1292,6 +1304,7 @@
 <translation id="2081816110395725788">Tétlen mód akkumulátorról való működéskor</translation>
 <translation id="2082187087049518845">Lap csoportba helyezése</translation>
 <translation id="2082510809738716738">Témaszín kiválasztása</translation>
+<translation id="2084891381052978619">Ezeket a lehetőségeket is megtalálhatja a Beállításokban a Chromebook beállításának befejezése után</translation>
 <translation id="208586643495776849">Próbálkozzon újra</translation>
 <translation id="208634871997892083">Mindig bekapcsolt VPN</translation>
 <translation id="2087822576218954668">Nyomtatás: <ph name="PRINT_NAME" /></translation>
@@ -1361,6 +1374,7 @@
 <translation id="212862741129535676">Órajel lefoglaltsága százalékban</translation>
 <translation id="212876957201860463">A mobileszköz beállításának előkészítése…</translation>
 <translation id="2131077480075264">A(z) „<ph name="APP_NAME" />” telepítése sikertelen, mivel azt a(z) „<ph name="IMPORT_NAME" />” nem engedélyezi.</translation>
+<translation id="2133775869826239001">További funkciók kiválasztása beállításhoz</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> újrapróbálása</translation>
 <translation id="2134905185275441536">A rendszeren lévő tanúsítványkibocsátók</translation>
 <translation id="21354425047973905">PIN-kódok elrejtése</translation>
@@ -1455,6 +1469,7 @@
 <translation id="2204020417499639567">E-mail-cím kitöltve.</translation>
 <translation id="2204034823255629767">Bárminek az olvasása és módosítása, amit Ön begépel</translation>
 <translation id="2204387456724731099">Ezt a kijelölt szöveget nem sikerült lefordítani</translation>
+<translation id="2207116775853792104">A bővítmény megtartása</translation>
 <translation id="2210462644007531147">Nem sikerült befejezni a telepítést</translation>
 <translation id="2211245494465528624">Szinkronizálási beállítások kezelése</translation>
 <translation id="2212565012507486665">Cookie-k engedélyezése</translation>
@@ -1782,6 +1797,7 @@
 <translation id="2458379781610688953">Fiók frissítése, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">AZ eszközkezelési token érvénytelen.</translation>
 <translation id="2459703812219683497">Aktivációs kód észlelve</translation>
+<translation id="2459706890611560967">Lap következőre való átküldésének folytatása: <ph name="DEVICE_NAME" /></translation>
 <translation id="2460356425461033301">Biztonsági másolatot készíthet a böngészőhöz tartozó adatairól, és bármely eszközön használatja őket</translation>
 <translation id="2462332841984057083">A Steam beállítása már folyamatban van. Várja meg a beállítás befejeződését.</translation>
 <translation id="2462724976360937186">Tanúsítványkibocsátó kulcsazonosítója</translation>
@@ -2528,6 +2544,7 @@
 <translation id="3088325635286126843">Át&amp;nevezés...</translation>
 <translation id="3089137131053189723">Keresés törölve</translation>
 <translation id="3089941350495701096">&amp;Olvasólista</translation>
+<translation id="3089948625237571254">Videókeret másolása</translation>
 <translation id="3090227230165225418">Letöltési értesítések bejelentése</translation>
 <translation id="3090589793601454425">Ne helyezze át</translation>
 <translation id="3090819949319990166">A külső crx-fájl nem másolható a következő helyre: <ph name="TEMP_CRX_FILE" />.</translation>
@@ -2628,10 +2645,12 @@
 <translation id="3194786596445804250">Részletek megjelenítése a harmadik felek cookie-jainak letiltásáról</translation>
 <translation id="3197453258332670132">Jobb kattintással vagy nyomva tartással megjelenítheti a szövegkijelöléshez tartozó adatokat</translation>
 <translation id="3199127022143353223">Szerverek</translation>
+<translation id="3199637719075529971">Ez a lap soros porthoz van csatlakoztatva</translation>
 <translation id="3200061262156232574">A bevásárlókosarában</translation>
 <translation id="3201237270673604992">Z–A</translation>
 <translation id="3201422919974259695">A rendelkezésre álló USB-eszközök itt jelennek meg.</translation>
 <translation id="3202131003361292969">Útvonal</translation>
+<translation id="3202499879214571401">Képernyő következőre való átküldésének szüneteltetése: <ph name="DEVICE_NAME" /></translation>
 <translation id="3202578601642193415">Legújabb</translation>
 <translation id="3204648577100496185">Az alkalmazáshoz kapcsolódó adatok törlődhetnek erről az eszközről.</translation>
 <translation id="3207960819495026254">Könyvjelző rögzítve</translation>
@@ -2944,6 +2963,7 @@
 <translation id="347785443197175480">A(z) <ph name="HOST" /> továbbra is hozzáférhet az Ön kamerájához és mikrofonjához</translation>
 <translation id="3479552764303398839">Ne most</translation>
 <translation id="3479685872808224578">Nem sikerült felfedezni a nyomtatószervert. Ellenőrizze a címet, majd próbálja újra.</translation>
+<translation id="3479753605053415848">Kattintson ide a Chrome személyre szabásához</translation>
 <translation id="3480612136143976912">Személyre szabhatja az Élő feliratozás funkcióhoz tartozó felirat méretét és stílusát. Egyes alkalmazások és webhelyek szintén használják majd ezt a beállítást.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> lapot találtunk</translation>
 <translation id="3481268647794498892">Megnyitás a(z) <ph name="ALTERNATIVE_BROWSER_NAME" /> böngészőben <ph name="COUNTDOWN_SECONDS" /> másodperc múlva…</translation>
@@ -3026,9 +3046,11 @@
 <translation id="3557101512409028104">Webhelyekre és képernyő előtt töltött időre vonatkozó korlátozások beállítása a Family Linkkel</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />Ha engedélyezi a ChromeOS-t futtató eszközöknek az automatikus jelentésküldést, azzal segít nekünk a ChromeOS hibajavításaival és fejlesztéseivel kapcsolatos prioritások meghatározásában. A jelentések tartalmazhatják például, hogy mikor omlik össze a ChromeOS, és hogy Ön milyen funkciókat, illetve jellemzően mennyi memóriát használ.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Ezeket a jelentéseket bármikor engedélyezheti és letilthatja gyermeke ChromeOS-t futtató eszközének beállításai között. Ha Ön domainrendszergazda, akkor ezt a beállítást módosíthatja a Felügyeleti konzolban.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">A képernyőtartalom következőre való átküldésének leállítása: <ph name="DEVICE_NAME" /></translation>
 <translation id="3559262020195162408">Nem sikerült telepíteni a házirendet az eszközre.</translation>
 <translation id="3559533181353831840">Körülbelül <ph name="TIME_LEFT" /> maradt</translation>
 <translation id="3560034655160545939">&amp;Helyesírás-ellenőrzés</translation>
+<translation id="3561201631376780358">Az összes könyvjelző megtekintéséhez nyissa meg az oldalsó panelt</translation>
 <translation id="3562423906127931518">Ez a folyamat néhány percet is igénybe vehet. A Linux-tároló beállítása folyamatban van.</translation>
 <translation id="3562655211539199254">A telefonján nemrég megnyitott Chrome-lapok megtekintése</translation>
 <translation id="3563432852173030730">A kioszkalkalmazást nem sikerült letölteni.</translation>
@@ -3192,6 +3214,7 @@
 <translation id="370415077757856453">JavaScript letiltva</translation>
 <translation id="3704331259350077894">Működés megszüntetése</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">A képernyőtartalom következőre való átküldésének folytatása: <ph name="DEVICE_NAME" /></translation>
 <translation id="3706463572498736864">Laponkénti oldalszám</translation>
 <translation id="370649949373421643">Wi-Fi engedélyezése</translation>
 <translation id="370665806235115550">Betöltés...</translation>
@@ -3237,6 +3260,7 @@
 <translation id="3738632186060045350">A(z) <ph name="DEVICE_TYPE" /> eszközön lévő adatok 24 órán belül törlődnek</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Megnyitja: <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Megjelenítés és szövegméret csökkentése</translation>
 <translation id="3741056951918180319">Bármikor, bármely webhelyen használhatja a bővítményt, ha rákattint</translation>
 <translation id="3742235229730461951">Koreai billentyűzetkiosztás</translation>
 <translation id="3742666961763734085">Nem található szervezeti egység ezzel a névvel. Próbálkozzon újra.</translation>
@@ -3406,6 +3430,7 @@
 <translation id="3867134342671430205">A kijelzőket húzással vagy a nyílbillentyűkkel helyezheti a kívánt helyre</translation>
 <translation id="3867944738977021751">Tanúsítvány mezői</translation>
 <translation id="3869917919960562512">Rossz index.</translation>
+<translation id="3870688298003434214">Kijelölés megszüntetése <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">Nincsenek mentett jelszavak a(z) <ph name="DOMAIN" /> domainhez</translation>
 <translation id="3871350334636688135">24 óra múlva a rendszergazda egyszeri frissítést fog végezni, amely az eszköz újraindításakor törli a helyi adatokat. 24 órán belül mentse felhőtárhelyre a szükséges helyi adatokat.</translation>
 <translation id="3872220884670338524">További műveletek, mentett fiók (<ph name="USERNAME" />) a következő domainen: <ph name="DOMAIN" />.</translation>
@@ -3500,6 +3525,7 @@
 <translation id="3945513714196326460">Próbálkozzon rövidebb név megadásával</translation>
 <translation id="3948027458879361203">Gazdanév megváltoztatása</translation>
 <translation id="3948116654032448504">Képkere&amp;sés ezzel: <ph name="SEARCH_ENGINE" /></translation>
+<translation id="3948334586359655083">Ez a lap hangot játszik le</translation>
 <translation id="3948507072814225786">A(z) <ph name="ORIGIN" /> szerkesztheti a fájlokat a következő mappákban:</translation>
 <translation id="394984172568887996">Az IE alkalmazásból importálva</translation>
 <translation id="3950820424414687140">Bejelentkezés</translation>
@@ -3558,6 +3584,7 @@
 <translation id="3987544746655539083">Ez a webhely továbbra sem férhet hozzá az Ön tartózkodási helyéhez</translation>
 <translation id="3987938432087324095">Elnézést, de nem értettem.</translation>
 <translation id="3987993985790029246">Link másolása</translation>
+<translation id="3988124842897276887">Ez a lap USB-eszközhöz csatlakozik</translation>
 <translation id="3988488665753590964">Beállíthatja, hogy a színek miként jelenjenek meg a képernyőn</translation>
 <translation id="3988996860813292272">Időzóna kiválasztásaƒƒ</translation>
 <translation id="399179161741278232">Importált</translation>
@@ -3614,6 +3641,7 @@
 <translation id="4044612648082411741">A tanúsítvány jelszavának megadása</translation>
 <translation id="4044708573046946214">Képernyőzár jelszava</translation>
 <translation id="404493185430269859">Alapértelmezett keresőmotor</translation>
+<translation id="4045196801416070837">Eszközhangok</translation>
 <translation id="4046013316139505482">Ezeknek a bővítményeknek nincs szükségük az ezen a webhelyen található információk megtekintésére és módosítására.</translation>
 <translation id="4046123991198612571">Következő szám</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -3706,6 +3734,7 @@
 <translation id="4130207949184424187">Ez a bővítmény módosította, hogy melyik oldal jelenjen meg a cím- és keresősávban indított kereséskor.</translation>
 <translation id="4130750466177569591">Elfogadom</translation>
 <translation id="413121957363593859">Összetevők</translation>
+<translation id="4131283654370308898"><ph name="EXTENSION_NAME" /> engedélyezése ezen a webhelyen</translation>
 <translation id="4131410914670010031">Fekete-fehér</translation>
 <translation id="413193092008917129">Hálózati diagnosztikai rutinok</translation>
 <translation id="4132183752438206707">Keressen alkalmazásokat a Google Play Áruházban</translation>
@@ -4063,6 +4092,7 @@
 <translation id="4444512841222467874">Ha nem szabadít fel tárhelyet, előfordulhat, hogy a rendszer automatikusan eltávolít bizonyos felhasználókat és adatokat.</translation>
 <translation id="4445446646109808714">Végfelhasználói licencszerződés: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Tükrözött</translation>
+<translation id="4448560527907365660">Mentés és továbbiak megtekintése</translation>
 <translation id="4448914100439890108"><ph name="USERNAME" /> jelszavának elrejtése a következőhöz: <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Engedélyek kezelése</translation>
 <translation id="4449948729197510913">Felhasználóneve a szervezet vállalati fiókjához tartozik. Először igazolnia kell a domain tulajdonjogát a Felügyeleti Konzolban, csak ezután regisztrálhat eszközt. Az igazolás végrehajtásához rendszergazdajogokkal kell rendelkeznie a fiókban.</translation>
@@ -4243,6 +4273,7 @@
 <translation id="4601426376352205922">Megjelölés olvasatlanként</translation>
 <translation id="460190672235687855">Jelszavak megtekintése</translation>
 <translation id="4602466770786743961">A(z) <ph name="HOST" /> mindig hozzáférhet a kamerához és mikrofonhoz</translation>
+<translation id="4602776638371779614">Ez a lap aktívan keresi a Bluetooth-eszközöket</translation>
 <translation id="4606551464649945562">A webhelyek nem készíthetnek 3D-s térképet az Ön környezetéről, valamint nem követhetik a kamera pozícióját</translation>
 <translation id="4608500690299898628">&amp;Keresés...</translation>
 <translation id="4610162781778310380">A(z) <ph name="PLUGIN_NAME" /> hibába ütközött</translation>
@@ -4426,6 +4457,7 @@
 <translation id="4770119228883592393">Engedély kérelmezve, a válaszhoz nyomja le a ⌘ + Option + lefelé mutató nyíl billentyűkombinációt</translation>
 <translation id="4773112038801431077">A Linux frissítése</translation>
 <translation id="4774456473286455263">Beállítás androidos telefonnal</translation>
+<translation id="477548766361111120">A bővítmény olvashatja és módosíthatja a webhelyet</translation>
 <translation id="477647109558161443">Asztali parancsikon létrehozása</translation>
 <translation id="4776594120007763294">Az oldal későbbi olvasásra való elmentéséhez kattintson a gombra.</translation>
 <translation id="4777458362738635055">Az eszköz többi felhasználója használhatja ezt a hálózatot</translation>
@@ -4874,6 +4906,7 @@
 <translation id="5173668317844998239">A biztonsági kulcsra mentett ujjlenyomatok hozzáadása és törlése</translation>
 <translation id="5174169235862638850">Jelszó a vágólapra másolva</translation>
 <translation id="5175379009094579629">Az eszköznév érvénytelen. Ha szeretne újrapróbálkozni, írjon be érvényes eszköznevet.</translation>
+<translation id="5176787661653201403">Videókeret másolása</translation>
 <translation id="5177479852722101802">A kamerához és mikrofonhoz való hozzáférés tiltásának fenntartása</translation>
 <translation id="5177549709747445269">Jelenleg mobiladatokat használ</translation>
 <translation id="5178667623289523808">Előző keresése</translation>
@@ -5218,7 +5251,9 @@
 <translation id="5481941284378890518">Közeli nyomtatók hozzáadása</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{A(z) <ph name="MANAGER" /> megköveteli, hogy készítsen biztonsági másolatot az adatairól, és küldje vissza ezt az eszközt (<ph name="DEVICE_TYPE" />) a mai napon. <ph name="LINK_BEGIN" />Részletek megtekintése<ph name="LINK_END" />.}other{A(z) <ph name="MANAGER" /> megköveteli, hogy biztonsági másolatot készítsen adatairól, és küldje vissza ezt az eszközt (<ph name="DEVICE_TYPE" />) {NUM_DAYS} napon belül. <ph name="LINK_BEGIN" />Részletek megtekintése<ph name="LINK_END" />.}}</translation>
 <translation id="5485102783864353244">Alkalmazás hozzáadása</translation>
+<translation id="5485435764083510385">Felirat előnyben részesített nyelve</translation>
 <translation id="5485754497697573575">Minden lap visszaállítása</translation>
+<translation id="5486071940327595306">A(z) <ph name="WEBSITE" /> újabb vagy másfajta eszközt igényelhet</translation>
 <translation id="5486261815000869482">Jelszó megerősítése</translation>
 <translation id="5486561344817861625">Böngésző újraindításának szimulálása</translation>
 <translation id="5487460042548760727">Profil átnevezése a következőre: <ph name="PROFILE_NAME" /></translation>
@@ -5322,6 +5357,7 @@
 <translation id="5571066253365925590">Bluetooth engedélyezve</translation>
 <translation id="5571092938913434726">Globális médiavezérlők</translation>
 <translation id="5571832155627049070">Profil személyre szabása</translation>
+<translation id="5572166921642484567">Színsémamód kiválasztása</translation>
 <translation id="5572252023412311448">Webhelyadatok megjelenítése a következőhöz: <ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">Jobb javaslatokat kaphat a címsávban</translation>
 <translation id="557506220935336383">Más webhelyek bővítményekhez tartozó engedélyeinek megtekintése</translation>
@@ -5574,6 +5610,7 @@
 <translation id="5799508265798272974">Linuxos virtuális gép: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">A célfájlt levágták vagy eltávolították a legutóbbi letöltés óta.</translation>
 <translation id="5800351251499368110">Oldalsó paneli keresés bezárása. Meg van nyitva a keresés az oldalsó panelen.</translation>
+<translation id="5800703268655655701">Világos vagy sötét téma kiválasztása</translation>
 <translation id="5801051031414037185">Telefon beállítása</translation>
 <translation id="5801568494490449797">Beállítások</translation>
 <translation id="5803689677801500549">Itt jelennek majd meg a mentett jelszavak. Ha jelszavakat szeretne importálni a <ph name="BRAND" /> szolgáltatásba a(z) <ph name="USER_EMAIL" /> fiók számára, <ph name="BEGIN_LINK" />válassza ki a kívánt CSV-fájlt<ph name="END_LINK" />.</translation>
@@ -5689,6 +5726,7 @@
 <translation id="5889282057229379085">A köztes tanúsítványkibocsátók maximális száma: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">A szinkronizált adatok titkosítása saját <ph name="BEGIN_LINK" />összetett szinkronizálási jelszóval<ph name="END_LINK" />. A Google Payből származó fizetési módok és címek nem lesznek titkosítva. A Chrome böngészési előzményei nem lesznek szinkronizálva.</translation>
 <translation id="5891688036610113830">Előnyben részesített Wi-Fi-hálózatok</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> mappa kijelölésének megszüntetése</translation>
 <translation id="5895138241574237353">Újraindítás</translation>
 <translation id="5895335062901455404">Mentett beállításai és tevékenységei minden ChromeOS Flex-eszközön rendelkezésre állnak, amikor be van jelentkezve Google-fiókjával. A Beállítások között bármikor módosíthatja a szinkronizálni kívánt elemeket.</translation>
 <translation id="589541317545606110">Keresés az oldalon a következővel: <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5760,6 +5798,7 @@
 <translation id="5948476936444935795">Importálás leállítása</translation>
 <translation id="5948536763493709626">Csatlakoztasson billentyűzetet vagy egeret, vagy használja továbbra is az érintőképernyőt a beállítás során. Ha Bluetooth-eszközöket használ, győződjön meg arról, hogy eszközei készen állnak a párosításra.</translation>
 <translation id="5949544233750246342">A fájl szintaktikai elemzése sikertelen</translation>
+<translation id="5950762317146173294">Lehet, hogy ez a fájl vírus vagy rosszindulatú program</translation>
 <translation id="5951303645598168883">A(z) <ph name="ORIGIN" /> helyi betűtípusokat szeretne használni</translation>
 <translation id="5951624318208955736">Monitor</translation>
 <translation id="595262438437661818">Egyik bővítménynek sincs szüksége hozzáférésre ehhez a webhelyhez</translation>
@@ -5844,6 +5883,7 @@
 <translation id="6022526133015258832">Megnyitás teljes képernyőn</translation>
 <translation id="6022659036123304283">Tegye személyessé a Chrome-ot</translation>
 <translation id="6023643151125006053">Az eszközt (sorozatszám: <ph name="SERIAL_NUMBER" />) zárolta a(z) <ph name="SAML_DOMAIN" /> rendszergazdája.</translation>
+<translation id="6024072172641380781">Bővítmények engedélyezése ezen a webhelyen</translation>
 <translation id="6025215716629925253">Veremkivonat</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB-eszköz csatlakoztatva</translation>
 <translation id="6027945736510816438">Erre gondolt: <ph name="WEBSITE" />?</translation>
@@ -6127,6 +6167,7 @@
 <translation id="6268252012308737255">Megnyitás ezzel: <ph name="APP" /></translation>
 <translation id="6270309713620950855">Némítás megbökéssel</translation>
 <translation id="6270391203985052864">A webhelyek rákérdezhetnek, hogy küldjenek-e Önnek értesítéseket</translation>
+<translation id="6270486800167535228">Bővítmény kitűzve. Válasszon a további lehetőségek megtekintéséhez</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />Redszer- és alkalmazásadatok<ph name="END_LINK1" />, valamint <ph name="BEGIN_LINK2" />mutatószámok<ph name="END_LINK2" /> küldése</translation>
 <translation id="6270896861225278704">Utazások kártya</translation>
 <translation id="6271348838875430303">javítás visszavonva</translation>
@@ -6207,6 +6248,7 @@
 <translation id="6344608411615208519"><ph name="BEGIN_LINK" />Böngésződet a szülőd kezeli<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910">Szükség van a(z) <ph name="PROXY" /> proxyhoz tartozó felhasználónevének és jelszavának megadására, hogy a rendszergazda be tudja állítani a hálózatot.</translation>
 <translation id="6345878117466430440">Megjelölés olvasottként</translation>
+<translation id="6346952829206698721">Beillesztés a vágólapról</translation>
 <translation id="6347010704471250799">Értesítés megjelenítése</translation>
 <translation id="634887995541211148">A Bruschetta futtatása az eszközén.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> telepítése</translation>
@@ -6492,6 +6534,7 @@
 <translation id="6596325263575161958">Titkosítási lehetőségek</translation>
 <translation id="6596816719288285829">IP-cím</translation>
 <translation id="6597017209724497268">Minták</translation>
+<translation id="6597324406048772521">A bővítmények nincsenek engedélyezve ezen a webhelyen</translation>
 <translation id="6597331566371766302">A következő bővítményeket letiltotta a rendszergazda:</translation>
 <translation id="659894938503552850">legújabb</translation>
 <translation id="6601262427770154296">Felhasználói szótárak kezelése</translation>
@@ -6509,6 +6552,7 @@
 <translation id="6609478180749378879">Az inkognitó mód elhagyása után ez az eszköz tárolja a bejelentkezési adatokat. Eszközével később újra be tud jelentkezni ezen a webhelyen.</translation>
 <translation id="6610002944194042868">Fordítási beállítások</translation>
 <translation id="6611972847767394631">Itt találhatja lapjait</translation>
+<translation id="6613267708691765962">Rosszindulatú programok keresése…</translation>
 <translation id="6613668613087513143">Nincs elég tárhely ezen az eszközön a frissítés végrehajtásához. Szabadítson fel legalább <ph name="NECESSARY_SPACE" /> tárhelyet eszközén, majd próbálkozzon újra a Chrome böngészőben.</translation>
 <translation id="6615455863669487791">Megjelenítés</translation>
 <translation id="6618097958368085618">Megtartás</translation>
@@ -6757,6 +6801,7 @@
 <translation id="6825184156888454064">Rendezés név szerint</translation>
 <translation id="6826872289184051766">Igazolás USB-n keresztül</translation>
 <translation id="6827121912381363404">Az összes bővítmény olvashatja és módosíthatja a következőt: <ph name="PERMITTED_SITE" /></translation>
+<translation id="6827422464708099620">Válasszon a további lehetőségek megtekintéséhez</translation>
 <translation id="6827517233063803343">Az Ön alkalmazásai és beállításai szinkronizálódnak minden olyan ChromeOS-eszközön, amelyen be van jelentkezve a Google-fiókjával. A böngésző szinkronizálási beállításait a <ph name="LINK_BEGIN" />Chrome-beállításokban<ph name="LINK_END" /> találja.</translation>
 <translation id="6827767090350758381">A Chrome-alkalmazások régi verziói 2022 decembere után nem nyílnak majd meg Windows rendszerű eszközökön. Kérje meg a rendszergazdát, hogy frissítsen az új verzióra, vagy távolítsa el ezt az alkalmazást.</translation>
 <translation id="6828153365543658583">Bejelentkezés korlátozása a következő felhasználókra:</translation>
@@ -6820,6 +6865,7 @@
 <translation id="6868934826811377550">Részletek megtekintése</translation>
 <translation id="6871644448911473373">OCSP válaszadó: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">A szerver elutasította a megadott jelszót.</translation>
+<translation id="6873571253135628430">Webhelyengedélyek módosítása</translation>
 <translation id="6876155724392614295">Kerékpár</translation>
 <translation id="6876469544038980967">Nem hasznos</translation>
 <translation id="6878422606530379992">Érzékelők engedélyezve</translation>
@@ -6960,6 +7006,7 @@
 <translation id="6993050154661569036">A Chrome böngésző frissítése</translation>
 <translation id="6995899638241819463">Figyelmeztetés, ha jelszavai adatvédelmi incidens során nyilvánosságra kerülnek</translation>
 <translation id="6995984090981858039">A ChromeOS-eszközadatok és egyéb adatok olvasása</translation>
+<translation id="6996438701394974959">Megjelenítés és szövegméret növelése</translation>
 <translation id="6997553674029032185">Ugrás a webhelyre</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Tevékenységnapló</translation>
 <translation id="6997707937646349884">Az Ön eszközein:</translation>
@@ -7080,6 +7127,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Alkalmazás eltávolítása}other{Alkalmazások eltávolítása}}</translation>
 <translation id="7099337801055912064">Nem használható túl nagy PPD. A maximális méret 250 kB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Nincsenek olyan jelszavak, amelyekhez illetéktelenül hozzáfértek}=1{{COUNT} olyan jelszó van, amelyhez illetéktelenül hozzáfértek}other{{COUNT} olyan jelszó van, amelyhez illetéktelenül hozzáfértek}}</translation>
+<translation id="710047887584828070">A lap tartalma megosztás alatt van</translation>
 <translation id="7102832101143475489">A kérelem lejárt</translation>
 <translation id="710640343305609397">Hálózati beállítások megnyitása</translation>
 <translation id="7107609441453408294">Hanganyag együttes lejátszása minden hangszórón</translation>
@@ -7175,6 +7223,7 @@
 <translation id="719791532916917144">Billentyűparancsok</translation>
 <translation id="7198503619164954386">Vállalati szinten regisztrált eszközt kell használnia</translation>
 <translation id="7199158086730159431">Súgó</translation>
+<translation id="7199452998289813782">A következőre való átküldés szüneteltetése: <ph name="DEVICE_NAME" /></translation>
 <translation id="7200083590239651963">Konfiguráció kiválasztása</translation>
 <translation id="720110658997053098">Az eszköz állandó kioszk módban tartása</translation>
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />” törölve</translation>
@@ -7221,6 +7270,7 @@
 <translation id="7241389281993241388">Kérjük, jelentkezzen be a(z) <ph name="TOKEN_NAME" /> szolgáltatásba az ügyféltanúsítvány importálásához.</translation>
 <translation id="7241763419756062043">A keresés és a böngészés minőségének beállítása</translation>
 <translation id="7243632151880336635">Törlés és kijelentkezés</translation>
+<translation id="7245162963905242662">Keresés az oldalon a Google-lal…</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> képpont (a legjobb)</translation>
 <translation id="7246230585855757313">Helyezze be újra a biztonsági hardverkulcsot, és próbálja újra</translation>
 <translation id="724835896049478274">Android-alkalmazások számára hozzáférhető fiókok</translation>
@@ -7402,6 +7452,7 @@
 <translation id="7400839060291901923">Kapcsolat beállítása a(z) <ph name="PHONE_NAME" /> eszközön</translation>
 <translation id="7401778920660465883">Az üzenet bezárása</translation>
 <translation id="7402198013420237102">Áthelyezi a mentett jelszavakat a Google-fiókjába?</translation>
+<translation id="740333000181878130">Eszközindítási hang</translation>
 <translation id="7403642243184989645">Erőforrások letöltése…</translation>
 <translation id="7404065585741198296">Telefon USB-kábellel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{A biztonsági ellenőrzés 1 órával ezelőtt futott}other{A biztonsági ellenőrzés {NUM_HOURS} órával ezelőtt futott}}</translation>
@@ -7449,6 +7500,7 @@
 <translation id="7434509671034404296">Fejlesztőknek</translation>
 <translation id="7434757724413878233">Egér gyorsítása</translation>
 <translation id="7434969625063495310">Nem sikerült hozzáadni a nyomtatószervert. Ellenőrizze a szerver beállításait, majd próbálja újra.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Ellenőrizze a Chrome Webáruházból eltávolított 1 bővítményt}other{Ellenőrizze a Chrome Webáruházból eltávolított {NUM_EXTENSIONS} bővítményt}}</translation>
 <translation id="7436921188514130341">Ajjaj! Hiba történt az átnevezés közben.</translation>
 <translation id="7439519621174723623">A folytatáshoz adja meg az eszköz nevét</translation>
 <translation id="7441736921018636843">A beállítás módosításához <ph name="BEGIN_LINK" />állítsa alaphelyzetbe a szinkronizálást<ph name="END_LINK" />, hogy eltávolíthassa összetett szinkronizálási jelszavát.</translation>
@@ -7465,6 +7517,7 @@
 <translation id="7452166281927983300">Elvetett figyelmeztetések (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">A nyomtató kiválasztásával engedélyt ad annak elérésére a következő bővítmény számára:</translation>
 <translation id="7453467225369441013">A rendszer a legtöbb webhelyről kijelentkezteti Önt, de Google-fiókjából nem.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Előfordulhat, hogy ez a bővítmény nem biztonságos. A Chrome az eltávolítását javasolja.}other{Előfordulhat, hogy ezek a bővítmények nem biztonságosak. A Chrome az eltávolításukat javasolja.}}</translation>
 <translation id="7454548535253569100">Portál: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">További tárolók kezelése</translation>
 <translation id="7455988709578031708">A böngészési előzményei alapján. Ez a beállítás be van kapcsolva.</translation>
@@ -7525,8 +7578,10 @@
 <translation id="7497981768003291373">Nincsenek mostanában rögzített szöveges WebRTC-naplói.</translation>
 <translation id="7501957181231305652">vagy</translation>
 <translation id="7502220299952823578">Hozzáadás az „Ezek a webhelyek mindig legyenek aktívak” listához</translation>
+<translation id="7502528909759062987">Lap következőre való átküldésének szüneteltetése: <ph name="DEVICE_NAME" /></translation>
 <translation id="7503191893372251637">Netscape-tanúsítvány típusa</translation>
 <translation id="7503985202154027481">A biztonsági hardverkulcs tárolni fogja, hogy Ön felkereste ezt a webhelyet.</translation>
+<translation id="7504145862399276792">A lap hangja némítva van</translation>
 <translation id="750509436279396091">Letöltések mappa megnyitása</translation>
 <translation id="7505149250476994901">A betű előtt mondja, hogy „nagy”</translation>
 <translation id="7505717542095249632">A(z) <ph name="MERCHANT" /> elrejtése</translation>
@@ -7766,6 +7821,7 @@
 <translation id="7701040980221191251">Nincs</translation>
 <translation id="7701265686005869308">Profil bezárása</translation>
 <translation id="7701869757853594372">FELHASZNÁLÓI azonosítók</translation>
+<translation id="7702463352133825032">A következőre való átküldés leállítása: <ph name="DEVICE_NAME" /></translation>
 <translation id="7702574632857388784">A(z) <ph name="FILE_NAME" /> eltávolítása a listából</translation>
 <translation id="7702907602086592255">Domain</translation>
 <translation id="7704305437604973648">Feladat</translation>
@@ -7885,6 +7941,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">A kezdőoldal háttérképe a következőre változott: <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Fordított görgetés bekapcsolva</translation>
 <translation id="7791543448312431591">Hozzáadás</translation>
 <translation id="7792012425874949788">Hiba történt a bejelentkezés során</translation>
 <translation id="7792388396321542707">Megosztás leállítása</translation>
@@ -8051,6 +8108,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% kész</translation>
 <translation id="7939062555109487992">Haladó beállítások</translation>
 <translation id="7939073735115504773">Kattintson a bővítmény ikonjára a következő olvasásának és módosításának engedélyezéséhez: <ph name="HOST" /></translation>
+<translation id="793923212791838">Az eszköz nem használható ezzel a webhellyel</translation>
 <translation id="7939328347457537652">Eszköztanúsítványok kezelése</translation>
 <translation id="7939412583708276221">Megtartás</translation>
 <translation id="7940265372707990269">Rendezési szempont: <ph name="SORT_TYPE" /></translation>
@@ -8227,6 +8285,7 @@
 <translation id="8084114998886531721">Mentett jelszó</translation>
 <translation id="8084510406207562688">Az össz&amp;es lap helyreállítása</translation>
 <translation id="8086015605808120405">A(z) <ph name="PRINTER_NAME" /> konfigurálása...</translation>
+<translation id="8086121155774250556">Ez a lap megosztja a képernyőt</translation>
 <translation id="8086442853986205778">A(z) <ph name="PRINTER_NAME" /> beállítása</translation>
 <translation id="8086610718778464681">Nem sikerült biztonsági másolatot készíteni a Linux-alkalmazásokról és -fájlokról</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{A fájl titkosítva van. Kérje meg a tulajdonost, hogy oldja fel a titkosítását.}other{A fájlok közül néhány titkosítva van. Kérje meg tulajdonosukat, hogy oldja fel a titkosításukat.}}</translation>
@@ -8529,6 +8588,7 @@
 <translation id="8345848587667658367">Mostantól megtekintheti a telefonon legutóbb megnyitott fotókat, médiatartalmakat, értesítéseket és alkalmazásokat</translation>
 <translation id="8347227221149377169">Nyomtatási feladatok</translation>
 <translation id="834785183489258869">Inkognitó módban a webhelyek nem használhatják fel az Ön cookie-jait arra, hogy lássák a különböző webhelyeken végzett böngészési tevékenységeit például annak érdekében, hogy a hirdetéseket személyre szabják. Előfordulhat, hogy bizonyos webhelyek funkciói nem működnek majd megfelelően.</translation>
+<translation id="8349325309815489209">A webhelyen engedélyezett bővítmények</translation>
 <translation id="8349826889576450703">indító</translation>
 <translation id="8350789879725387295">Érintőceruza eszközei a dokkon</translation>
 <translation id="8351316842353540018">Mindig mutassa a kisegítő lehetőségeket</translation>
@@ -8557,6 +8617,7 @@
 <translation id="8370294614544004647">Alvó mód a laptop lecsukásakor</translation>
 <translation id="8371695176452482769">Most beszéljen</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Webhely némítása}other{Webhelyek némítása}}</translation>
+<translation id="8372441176515901959">Kérelem elvetése</translation>
 <translation id="8373652277231415614">Megosztott Crostini-könyvtárak</translation>
 <translation id="8374243500935816406">A webhelyek nem kezelhetnek ablakokat az összes képernyőn</translation>
 <translation id="8376137163494131156">Mondja el, mi történik a Google Casttal.</translation>
@@ -8916,6 +8977,7 @@
 <translation id="8687103160920393343">A következő fájl letöltésének megszakítása: <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Rendelkezésre áll</translation>
 <translation id="8690129572193755009">A webhelyek engedélyt kérhetnek a protokollok kezelésére</translation>
+<translation id="869144235543261764">A videó lejátszása a lapon kép a képben módban történik</translation>
 <translation id="8692107307702113268">A jelszó több mint 1000 karakterből áll</translation>
 <translation id="8694596275649352090">Zárolás alvó üzemmódban és a fedél lecsukásakor</translation>
 <translation id="8695139659682234808">Szülői felügyelet hozzáadása beállítás után</translation>
@@ -9149,6 +9211,7 @@
 <translation id="8877448029301136595">[szülőkönyvtár]</translation>
 <translation id="8879284080359814990">Megjeleníté&amp;s lapként</translation>
 <translation id="8879921471468674457">Bejelentkezési adatok megjegyzése</translation>
+<translation id="8880009256105053174">Keresés az oldalon a Google-lal…</translation>
 <translation id="8880054210564666174">Nem sikerült a névjegylista letöltése. Ellenőrizze a hálózati kapcsolatot, vagy <ph name="LINK_BEGIN" />próbálja újra<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Próbálja újra. Műszaki támogatásért forduljon a(z) <ph name="CARRIER_NAME" /> szolgáltatóhoz.</translation>
 <translation id="888256071122006425">Egér és érintőpad beállításai</translation>
@@ -9413,6 +9476,7 @@
 <translation id="9102864637938129124">A webhelyek és a hirdetők megismerhetik a hirdetések teljesítményét. Ez a beállítás be van kapcsolva.</translation>
 <translation id="9103479157856427471">A nagyított képernyő a billentyűzetfókuszt követi</translation>
 <translation id="9103868373786083162">Nyomja meg a visszalépéshez, illetve választhatja a helyi menüt az előzmények megtekintéséshez</translation>
+<translation id="9107096627210171112">Fordítás…</translation>
 <translation id="9108035152087032312">Ablak elnevezése…</translation>
 <translation id="9108072915170399168">A jelenlegi adathasználati beállítás: Internet nélkül</translation>
 <translation id="9108294543511800041">Mostantól megtekintheti a telefonon legutóbb megnyitott fotókat, médiatartalmakat és értesítéseket</translation>
@@ -9569,6 +9633,7 @@
 <translation id="947329552760389097">&amp;Elemek vizsgálata</translation>
 <translation id="947526284350604411">Saját válasz</translation>
 <translation id="947667444780368238">A(z) <ph name="ORIGIN" /> nem nyithatja meg az ebben a mappában lévő fájlokat, mert rendszerfájlok találhatók benne.</translation>
+<translation id="949807244219288032">Ez a lap HID-eszközhöz csatlakozik</translation>
 <translation id="950307215746360464">Beállítási útmutató</translation>
 <translation id="951991426597076286">Elutasítás</translation>
 <translation id="952471655966876828">Az eszköz automatikusan csatlakozik, amikor bekapcsolásra kerül, vagy használatban van</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb
index 7bf9c48..86828d79 100644
--- a/chrome/app/resources/generated_resources_hy.xtb
+++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -527,6 +527,7 @@
 <translation id="1448779317883494811">«Վրձին» գործիք</translation>
 <translation id="1449191289887455076">Նշանակումը հաստատելու և <ph name="RESPONSE" /> համար նորից սեղմեք «<ph name="CURRENTKEY" />»։</translation>
 <translation id="1451375123200651445">Վեբէջ, մեկ ֆայլ</translation>
+<translation id="145280054552001290">Ենթագրերի լեզուների ավելացում և հեռացում</translation>
 <translation id="1453561711872398978">Ուղարկել <ph name="BEGIN_LINK" />վրիպազերծման մատյանները<ph name="END_LINK" /> (խորհուրդ է տրվում)</translation>
 <translation id="1454223536435069390">Ստեղ&amp;ծել սքրինշոթ</translation>
 <translation id="145432137617179457">Լեզուների ուղղագրության ստուգում</translation>
@@ -3603,6 +3604,7 @@
 <translation id="4044612648082411741">Մուտքագրեք հավաստագրի գաղտնաբառը</translation>
 <translation id="4044708573046946214">Էկրանի կողպման գաղտնաբառ</translation>
 <translation id="404493185430269859">Կանխադրված որոնիչ</translation>
+<translation id="4045196801416070837">Սարքի ազդանշանները</translation>
 <translation id="4046013316139505482">Այս ընդլայնումներին անհրաժեշտ չէ տեսնել և փոխել այս կայքի տվյալները։</translation>
 <translation id="4046123991198612571">Հաջորդը</translation>
 <translation id="4047345532928475040">Կիրառելի չէ</translation>
@@ -5207,6 +5209,7 @@
 <translation id="5481941284378890518">Ավելացնել մոտակա տպիչներ</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{Գործող կանոնի համաձայն (աղբյուրը՝ <ph name="MANAGER" />)՝ դուք պետք է պահուստավորեք ձեր տվյալները և այսօր վերադարձնեք այս <ph name="DEVICE_TYPE" /> սարքը։ <ph name="LINK_BEGIN" />Դիտել մանրամասները<ph name="LINK_END" />}one{Գործող կանոնի համաձայն (աղբյուրը՝ <ph name="MANAGER" />)՝ դուք պետք է պահուստավորեք ձեր տվյալները և {NUM_DAYS} օրվա ընթացքում վերադարձնեք այս <ph name="DEVICE_TYPE" /> սարքը։<ph name="LINK_BEGIN" />Դիտել մանրամասները<ph name="LINK_END" />}other{Գործող կանոնի համաձայն (աղբյուրը՝ <ph name="MANAGER" />)՝ դուք պետք է պահուստավորեք ձեր տվյալները և {NUM_DAYS} օրվա ընթացքում վերադարձնեք այս <ph name="DEVICE_TYPE" /> սարքը։<ph name="LINK_BEGIN" />Դիտել մանրամասները<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Ավելացնել հավելված</translation>
+<translation id="5485435764083510385">Ենթագրերի նախընտրած լեզու</translation>
 <translation id="5485754497697573575">Վերականգնել բոլոր ներդիրները</translation>
 <translation id="5486261815000869482">Հաստատեք գաղտնաբառը</translation>
 <translation id="5486561344817861625">Նմանակել դիտարկիչի վերագործարկումը</translation>
@@ -7389,6 +7392,7 @@
 <translation id="7400839060291901923">Ստեղծեք թեժ կետ <ph name="PHONE_NAME" /> հեռախոսում</translation>
 <translation id="7401778920660465883">Փակել այս հաղորդագրությունը</translation>
 <translation id="7402198013420237102">Պահված գաղտնաբառերը տեղափոխե՞լ Google հաշիվ</translation>
+<translation id="740333000181878130">Սարքի գործարկման ազդանշան</translation>
 <translation id="7403642243184989645">Ռեսուրսների ներբեռնում</translation>
 <translation id="7404065585741198296">Հեռախոսը՝ միացված USB մալուխով</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Անվտանգության ստուգումն արվել է 1 ժամ առաջ}one{Անվտանգության ստուգումն արվել է {NUM_HOURS} ժամ առաջ}other{Անվտանգության ստուգումն արվել է {NUM_HOURS} ժամ առաջ}}</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 4de0e2ef7..1be704b 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Terjadi error profil</translation>
 <translation id="1253664522045778676">Klik hasil lalu halaman akan dibuka di tab yang Anda buka saat ini</translation>
 <translation id="1254593899333212300">Koneksi internet langsung</translation>
+<translation id="1256588359404100567">Setelan disinkronkan dari perangkat Anda sebelumnya.</translation>
 <translation id="1257336506558170607">Ekspor sertifikat yang dipilih</translation>
 <translation id="1258491128795710625">Yang Baru</translation>
 <translation id="1259152067760398571">Pemeriksaan keamanan berjalan kemarin</translation>
@@ -1006,6 +1007,7 @@
 <translation id="18260074040409954">Anda dapat menggunakan sandi tersimpan di semua perangkat. Sandi disimpan ke <ph name="GOOGLE_PASSWORD_MANAGER" /> untuk <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinkronkan bookmark, sandi, histori, dan lainnya di browser Chrome</translation>
 <translation id="1826516787628120939">Memeriksa</translation>
+<translation id="1826657447823925402">Scroll terbalik dinonaktifkan</translation>
 <translation id="1827504459960247692">Nama hotspot</translation>
 <translation id="1828378091493947763">Plugin tidak didukung di perangkat ini</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Buka Semua}=1{&amp;Buka Bookmark}other{&amp;Buka Semua ({COUNT})}}</translation>
@@ -1294,6 +1296,7 @@
 <translation id="2081816110395725788">Tidak ada aktivitas saat menggunakan baterai</translation>
 <translation id="2082187087049518845">Masukkan Tab ke Grup</translation>
 <translation id="2082510809738716738">Pilih warna tema</translation>
+<translation id="2084891381052978619">Anda juga dapat menemukan opsi ini di Setelan setelah selesai menyiapkan Chromebook</translation>
 <translation id="208586643495776849">Coba lagi</translation>
 <translation id="208634871997892083">VPN selalu aktif</translation>
 <translation id="2087822576218954668">Pencetakan: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1366,7 @@
 <translation id="212862741129535676">Persentase Pemakaian Status Frekuensi</translation>
 <translation id="212876957201860463">Menyiapkan perangkat seluler...</translation>
 <translation id="2131077480075264">Tidak dapat memasang "<ph name="APP_NAME" />" karena tidak diizinkan oleh "<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">Pilih fitur lainnya untuk disiapkan</translation>
 <translation id="2133857665503360653">Coba download <ph name="FILE_NAME" /> lagi</translation>
 <translation id="2134905185275441536">Sistem CA</translation>
 <translation id="21354425047973905">Sembunyikan PIN</translation>
@@ -2946,6 +2950,7 @@
 <translation id="347785443197175480">Terus izinkan <ph name="HOST" /> untuk mengakses kamera dan mikrofon Anda</translation>
 <translation id="3479552764303398839">Jangan sekarang</translation>
 <translation id="3479685872808224578">Tidak dapat mendeteksi server cetak. Periksa alamatnya, lalu coba lagi.</translation>
+<translation id="3479753605053415848">Klik untuk menyesuaikan Chrome</translation>
 <translation id="3480612136143976912">Sesuaikan ukuran dan gaya teks untuk Teks Otomatis. Beberapa aplikasi dan situs juga akan menggunakan setelan ini.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> Tab Ditemukan</translation>
 <translation id="3481268647794498892">Membuka di <ph name="ALTERNATIVE_BROWSER_NAME" /> dalam <ph name="COUNTDOWN_SECONDS" /> detik</translation>
@@ -3239,6 +3244,7 @@
 <translation id="3738632186060045350">Data <ph name="DEVICE_TYPE" /> akan dihapus dalam 24 jam</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Buka <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Perkecil ukuran layar dan teks</translation>
 <translation id="3741056951918180319">Anda dapat mengklik ekstensi kapan saja untuk menggunakannya di situs mana pun</translation>
 <translation id="3742235229730461951">Tata letak keyboard Korea</translation>
 <translation id="3742666961763734085">Tidak dapat menemukan unit organisasi dengan nama tersebut. Coba lagi.</translation>
@@ -4067,6 +4073,7 @@
 <translation id="4444512841222467874">Jika ruang penyimpanan tidak tersedia, pengguna dan data mungkin otomatis dihapus.</translation>
 <translation id="4445446646109808714">Perjanjian Lisensi Pengguna Akhir: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Dicerminkan</translation>
+<translation id="4448560527907365660">Simpan dan lihat lainnya</translation>
 <translation id="4448914100439890108">Sembunyikan sandi untuk <ph name="USERNAME" /> di <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Kelola izin</translation>
 <translation id="4449948729197510913">Nama pengguna Anda tercakup dalam akun perusahaan organisasi Anda. Untuk mendaftarkan perangkat ke akun tersebut, verifikasi kepemilikan domain di konsol Admin terlebih dulu. Anda akan memerlukan hak istimewa administrator pada akun untuk melakukan verifikasi.</translation>
@@ -5223,6 +5230,7 @@
 <translation id="5485102783864353244">Tambahkan aplikasi</translation>
 <translation id="5485435764083510385">Bahasa teks pilihan</translation>
 <translation id="5485754497697573575">Pulihkan Semua Tab</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> mungkin memerlukan jenis perangkat yang lebih baru atau berbeda</translation>
 <translation id="5486261815000869482">Konfirmasi sandi</translation>
 <translation id="5486561344817861625">Simulasikan Mulai Ulang Browser</translation>
 <translation id="5487460042548760727">Ganti nama profil menjadi <ph name="PROFILE_NAME" /></translation>
@@ -5577,6 +5585,7 @@
 <translation id="5799508265798272974">Mesin Virtual Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">File tujuan terpotong atau terhapus sejak download terakhir.</translation>
 <translation id="5800351251499368110">Tutup penelusuran di panel samping. Penelusuran dibuka di panel samping.</translation>
+<translation id="5800703268655655701">Pilih tema terang atau gelap</translation>
 <translation id="5801051031414037185">Siapkan ponsel</translation>
 <translation id="5801568494490449797">Preferensi</translation>
 <translation id="5803689677801500549">Sandi tersimpan akan muncul di sini. Untuk mengimpor sandi ke <ph name="BRAND" /> untuk <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />pilih file CSV.<ph name="END_LINK" /></translation>
@@ -6963,6 +6972,7 @@
 <translation id="6993050154661569036">Mengupdate browser Chrome</translation>
 <translation id="6995899638241819463">Berikan peringatan jika sandi Anda terekspos saat terjadi pelanggaran data</translation>
 <translation id="6995984090981858039">Membaca data dan informasi perangkat ChromeOS</translation>
+<translation id="6996438701394974959">Perbesar ukuran layar dan teks</translation>
 <translation id="6997553674029032185">Buka situs</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Log Aktivitas</translation>
 <translation id="6997707937646349884">Di perangkat Anda:</translation>
@@ -7889,6 +7899,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Latar belakang halaman awal telah diubah menjadi <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Scroll terbalik diaktifkan</translation>
 <translation id="7791543448312431591">Tambahkan</translation>
 <translation id="7792012425874949788">Ada yang tidak beres dengan proses masuk</translation>
 <translation id="7792388396321542707">Hentikan berbagi</translation>
@@ -8055,6 +8066,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% selesai</translation>
 <translation id="7939062555109487992">Opsi lanjutan</translation>
 <translation id="7939073735115504773">Klik ikon ekstensi ini untuk membaca &amp; mengubah <ph name="HOST" /></translation>
+<translation id="793923212791838">Perangkat Anda tidak dapat digunakan dengan situs ini</translation>
 <translation id="7939328347457537652">Kelola sertifikat perangkat</translation>
 <translation id="7939412583708276221">Lanjutkan saja</translation>
 <translation id="7940265372707990269">Urutkan menurut <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index 6aba364..b27ee58 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">Villa í prófíl kom upp</translation>
 <translation id="1253664522045778676">Smelltu á niðurstöðu og síðan mun opnast á núverandi flipa</translation>
 <translation id="1254593899333212300">Beintenging við internetið</translation>
+<translation id="1256588359404100567">Stilling samstillt úr fyrra tæki.</translation>
 <translation id="1257336506558170607">Flytja út valið vottorð</translation>
 <translation id="1258491128795710625">Nýjungar</translation>
 <translation id="1259152067760398571">Öryggisathugun var keyrð í gær</translation>
@@ -1007,6 +1008,7 @@
 <translation id="18260074040409954">Þú getur notað vistuð aðgangsorð í hvaða tæki sem er. Þau eru vistuð í <ph name="GOOGLE_PASSWORD_MANAGER" /> fyrir <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Samstilltu bókamerki, aðgangsorð, feril og annað í Chrome vafranum</translation>
 <translation id="1826516787628120939">Kannar</translation>
+<translation id="1826657447823925402">Slökkt á flettingu aftur á bak</translation>
 <translation id="1827504459960247692">Heiti á heitum reit</translation>
 <translation id="1828378091493947763">Þessi viðbót er ekki studd á þessu tæki</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Opna allt}=1{&amp;Opna bókamerki}one{&amp;Opna allt ({COUNT})}other{&amp;Opna allt ({COUNT})}}</translation>
@@ -1295,6 +1297,7 @@
 <translation id="2081816110395725788">Aðgerðarleysi við notkun rafhlöðu</translation>
 <translation id="2082187087049518845">Hópaflipi</translation>
 <translation id="2082510809738716738">Veldu þemalit</translation>
+<translation id="2084891381052978619">Þú getur einnig fundið þessa valkosti í stillingunum þegar búið er að setja Chromebook upp</translation>
 <translation id="208586643495776849">Reyndu aftur</translation>
 <translation id="208634871997892083">VPN alltaf virkt</translation>
 <translation id="2087822576218954668">Prenta: <ph name="PRINT_NAME" /></translation>
@@ -1364,6 +1367,7 @@
 <translation id="212862741129535676">Nýtingarhlutfall tíðnistöðu</translation>
 <translation id="212876957201860463">Undirbýr uppsetningu farsíma...</translation>
 <translation id="2131077480075264">Ekki er hægt að setja „<ph name="APP_NAME" />“ upp vegna þess að „<ph name="IMPORT_NAME" />“ leyfir það ekki</translation>
+<translation id="2133775869826239001">Veldu fleiri eiginleika til að setja upp</translation>
 <translation id="2133857665503360653">Reyna aftur að sækja <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA-vottorð kerfis</translation>
 <translation id="21354425047973905">Fela PIN-númer</translation>
@@ -2531,6 +2535,7 @@
 <translation id="3088325635286126843">Endu&amp;rnefna...</translation>
 <translation id="3089137131053189723">Leit hreinsuð</translation>
 <translation id="3089941350495701096">Leslisti</translation>
+<translation id="3089948625237571254">Afrita ramma myndskeiðs</translation>
 <translation id="3090227230165225418">Láta vita af niðurhalstilkynningum</translation>
 <translation id="3090589793601454425">Ekki flytja</translation>
 <translation id="3090819949319990166">Ekki er hægt að afrita ytri crx-skrá í <ph name="TEMP_CRX_FILE" />.</translation>
@@ -2947,6 +2952,7 @@
 <translation id="347785443197175480">Halda áfram að veita <ph name="HOST" /> aðgang að myndavélinni og hljóðnemanum</translation>
 <translation id="3479552764303398839">Ekki núna</translation>
 <translation id="3479685872808224578">Prentþjónninn fannst ekki. Athugaðu vistfangið og reyndu aftur.</translation>
+<translation id="3479753605053415848">Smelltu til að sérsníða Chrome</translation>
 <translation id="3480612136143976912">Sérstilla stærð og stíl skjátexta í rauntíma. Sum forrit og vefsvæði munu einnig nota þessa stillingu.</translation>
 <translation id="3480827850068960424">Fann <ph name="NUM" /> flipa</translation>
 <translation id="3481268647794498892">Opnar í <ph name="ALTERNATIVE_BROWSER_NAME" /> eftir <ph name="COUNTDOWN_SECONDS" /> sekúndur</translation>
@@ -3032,6 +3038,7 @@
 <translation id="3559262020195162408">Mistókst að setja upp reglu í tækinu.</translation>
 <translation id="3559533181353831840">Um <ph name="TIME_LEFT" /> eftir</translation>
 <translation id="3560034655160545939">&amp;Ritvilluleit</translation>
+<translation id="3561201631376780358">Opnaðu hliðarglugga til að sjá öll bókamerki</translation>
 <translation id="3562423906127931518">Þetta gæti tekið nokkrar mínútur. Setur upp Linux-geymi.</translation>
 <translation id="3562655211539199254">Skoðaðu nýlega Chrome flipa úr símanum</translation>
 <translation id="3563432852173030730">Ekki tókst að sækja sjálfsalaforrit.</translation>
@@ -3240,6 +3247,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> gögnum verður eytt eftir sólarhring</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Viltu opna <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Minnka skjá og texta</translation>
 <translation id="3741056951918180319">Þú getur alltaf smellt á viðbótina til að nota hana á hvaða vefsvæði sem er</translation>
 <translation id="3742235229730461951">Kóresk lyklaskipan</translation>
 <translation id="3742666961763734085">Skipulagseining með þessu heiti fannst ekki. Reyndu aftur.</translation>
@@ -4068,6 +4076,7 @@
 <translation id="4444512841222467874">Ef ekki er losað um pláss verða notendur og gögn fjarlægð sjálfkrafa.</translation>
 <translation id="4445446646109808714">Leyfissamningur notanda: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Speglað</translation>
+<translation id="4448560527907365660">Vista og sjá meira</translation>
 <translation id="4448914100439890108">Fela aðgangsorð fyrir <ph name="USERNAME" /> á <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Stjórna heimildum</translation>
 <translation id="4449948729197510913">Notandanafn þitt tilheyrir vinnureikningi fyrirtækis. Til að skrá tæki á reikninginn skaltu fyrst staðfesta eignarhald lénsins í Stjórnborði stjórnanda. Þú þarft að vera með stjórnandaréttindi á reikningnum til að staðfesta.</translation>
@@ -4879,6 +4888,7 @@
 <translation id="5173668317844998239">Bæta við og eyða fingraförum sem eru vistuð á öryggislyklinum þínum</translation>
 <translation id="5174169235862638850">Aðgangsorð afritað á klippiborð</translation>
 <translation id="5175379009094579629">Heiti tækisins er ógilt. Sláðu inn gilt nafn tækis til að reyna aftur.</translation>
+<translation id="5176787661653201403">Afrita ramma myndskeiðs</translation>
 <translation id="5177479852722101802">Halda áfram að útiloka aðgang að myndavél og hljóðnema</translation>
 <translation id="5177549709747445269">Þú ert að nota farsímagögn</translation>
 <translation id="5178667623289523808">Finna fyrra</translation>
@@ -5223,6 +5233,7 @@
 <translation id="5485102783864353244">Bæta forriti við</translation>
 <translation id="5485435764083510385">Kjörtungumál skjátexta</translation>
 <translation id="5485754497697573575">Endurheimta alla flipa</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> gæti krafist nýrra eða annars konar tækis</translation>
 <translation id="5486261815000869482">Staðfestu aðgangsorð</translation>
 <translation id="5486561344817861625">Líkja eftir endurræsingu vafra</translation>
 <translation id="5487460042548760727">Breyta heiti prófíls í <ph name="PROFILE_NAME" /></translation>
@@ -5326,6 +5337,7 @@
 <translation id="5571066253365925590">Kveikt á Bluetooth</translation>
 <translation id="5571092938913434726">Altækar efnisstýringar</translation>
 <translation id="5571832155627049070">Útbúðu prófílinn þinn</translation>
+<translation id="5572166921642484567">Velja litaþema</translation>
 <translation id="5572252023412311448">Sýna vefsvæðisupplýsingar um <ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">Þú færð betri tillögur í veffangastikunni</translation>
 <translation id="557506220935336383">Sjá heimildir viðbóta á öðrum vefsvæðum</translation>
@@ -5577,6 +5589,7 @@
 <translation id="5799508265798272974">Sýndarvél Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Áfangaskráin hefur verið stýfð eða fjarlægð síðan hún var sótt.</translation>
 <translation id="5800351251499368110">Loka leit í hliðarglugga. Leit er opin í hliðarglugganum.</translation>
+<translation id="5800703268655655701">Veldu ljóst eða dökkt þema</translation>
 <translation id="5801051031414037185">Setja upp síma</translation>
 <translation id="5801568494490449797">Kjörstillingar</translation>
 <translation id="5803689677801500549">Vistuð aðgangsorð munu birtast hér. <ph name="BEGIN_LINK" />Veldu CVS-skrá<ph name="END_LINK" /> til að flytja aðgangsorð inn í <ph name="BRAND" /> fyrir <ph name="USER_EMAIL" />.</translation>
@@ -6965,6 +6978,7 @@
 <translation id="6993050154661569036">Uppfærir Chrome vafra</translation>
 <translation id="6995899638241819463">Láta vita ef aðgangsorðin þín eru afhjúpuð vegna öryggisbrots</translation>
 <translation id="6995984090981858039">Lesa upplýsingar og gögn Chrome OS-tækis</translation>
+<translation id="6996438701394974959">Stækka skjá og texta</translation>
 <translation id="6997553674029032185">Fara á vefsvæði</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – notkunarskrá</translation>
 <translation id="6997707937646349884">Í tækjunum þínum:</translation>
@@ -7892,6 +7906,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Bakgrunni upphafssíðu hefur verið breytt í <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Kveikt á flettingu aftur á bak</translation>
 <translation id="7791543448312431591">Bæta við</translation>
 <translation id="7792012425874949788">Eitthvað fór úrskeiðis við innskráningu</translation>
 <translation id="7792388396321542707">Hætta að deila</translation>
@@ -8058,6 +8073,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% lokið</translation>
 <translation id="7939062555109487992">Ítarlegir valkostir</translation>
 <translation id="7939073735115504773">Smelltu á tákn þessarar viðbótar til að lesa og breyta <ph name="HOST" /></translation>
+<translation id="793923212791838">Ekki er hægt að nota tækið þitt með þessu vefsvæði</translation>
 <translation id="7939328347457537652">Stjórna tækjavottorðum</translation>
 <translation id="7939412583708276221">Halda samt</translation>
 <translation id="7940265372707990269">Raða eftir <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index 65d166f8..24c0efb 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -529,6 +529,7 @@
 <translation id="1448779317883494811">כלי המברשת</translation>
 <translation id="1449191289887455076">צריך להקיש שוב על "<ph name="CURRENTKEY" />" כדי לאשר את ההקצאה ו<ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">דף אינטרנט, קובץ אחד</translation>
+<translation id="145280054552001290">הוספה והסרה של שפות לכתוביות</translation>
 <translation id="1453561711872398978">שליחת <ph name="BEGIN_LINK" />
     יומני ניפוי באגים<ph name="END_LINK" /> (מומלץ)</translation>
 <translation id="1454223536435069390">צילום של המסך</translation>
@@ -3616,6 +3617,7 @@
 <translation id="4044612648082411741">יש להזין את סיסמת האישור</translation>
 <translation id="4044708573046946214">סיסמת נעילת מסך</translation>
 <translation id="404493185430269859">מנוע החיפוש המוגדר כברירת מחדל</translation>
+<translation id="4045196801416070837">צלילים במכשיר</translation>
 <translation id="4046013316139505482">לתוספים האלה לא דרושה יכולת לראות את המידע באתר הזה ולשנות אותו.</translation>
 <translation id="4046123991198612571">הרצועה הבאה</translation>
 <translation id="4047345532928475040">לא זמין</translation>
@@ -5219,6 +5221,7 @@
 <translation id="5481941284378890518">הוספת מדפסות קרובות</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{לפי הדרישה של <ph name="MANAGER" />, עליך לגבות את הנתונים שלך ולהחזיר את מכשיר ה-<ph name="DEVICE_TYPE" /> היום. <ph name="LINK_BEGIN" />לפרטים<ph name="LINK_END" />}one{לפי הדרישה של <ph name="MANAGER" />, עליך לגבות את הנתונים שלך ולהחזיר את מכשיר ה-<ph name="DEVICE_TYPE" /> בתוך {NUM_DAYS} ימים. <ph name="LINK_BEGIN" />לפרטים<ph name="LINK_END" />}two{לפי הדרישה של <ph name="MANAGER" />, עליך לגבות את הנתונים שלך ולהחזיר את מכשיר ה-<ph name="DEVICE_TYPE" /> בתוך יומיים ({NUM_DAYS}). <ph name="LINK_BEGIN" />לפרטים<ph name="LINK_END" />}other{לפי הדרישה של <ph name="MANAGER" />, עליך לגבות את הנתונים שלך ולהחזיר את מכשיר ה-<ph name="DEVICE_TYPE" /> בתוך {NUM_DAYS} ימים. <ph name="LINK_BEGIN" />לפרטים<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">התקנת האפליקציה</translation>
+<translation id="5485435764083510385">שפת הכתוביות המועדפת</translation>
 <translation id="5485754497697573575">שחזור כל הכרטיסיות</translation>
 <translation id="5486261815000869482">אישור סיסמה</translation>
 <translation id="5486561344817861625">ביצוע הדמיה של הפעלת דפדפן מחדש</translation>
@@ -7406,6 +7409,7 @@
 <translation id="7400839060291901923">הגדרת החיבור בטלפון <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">סגירת ההודעה</translation>
 <translation id="7402198013420237102">‏להעביר את הסיסמאות השמורות לחשבון Google שלך?</translation>
+<translation id="740333000181878130">צליל ההפעלה של המכשיר</translation>
 <translation id="7403642243184989645">מתבצעת הורדת משאבים</translation>
 <translation id="7404065585741198296">‏בטלפון עם כבל USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{בדיקת הבטיחות פעלה לפני שעה}one{בדיקת הבטיחות פעלה לפני {NUM_HOURS} שעות}two{בדיקת הבטיחות פעלה לפני {NUM_HOURS} שעות}other{בדיקת הבטיחות פעלה לפני {NUM_HOURS} שעות}}</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index b35a854..cf524b130 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -222,6 +222,7 @@
 <translation id="1178581264944972037">一時停止</translation>
 <translation id="1178601482396475810">デバイスの同期を管理</translation>
 <translation id="117916940443676133">セキュリティ キーは PIN で保護されていません。ログインデータを管理するには、まず PIN を作成してください。</translation>
+<translation id="118057123461613219">非常に大量の節約</translation>
 <translation id="1181037720776840403">削除</translation>
 <translation id="1181366777303791449">ドメイン: <ph name="MAIN_FRAME_ETLD_PLUS_ONE" /></translation>
 <translation id="1183237619868651138">ローカル キャッシュの <ph name="EXTERNAL_CRX_FILE" /> はインストールできません。</translation>
@@ -313,6 +314,7 @@
 <translation id="1252987234827889034">プロフィール エラーが発生しました</translation>
 <translation id="1253664522045778676">検索結果をクリックすると、そのページが現在のタブで開きます</translation>
 <translation id="1254593899333212300">インターネットへの直接接続</translation>
+<translation id="1256588359404100567">以前のデバイスから設定を同期しました。</translation>
 <translation id="1257336506558170607">選択した証明書をエクスポート</translation>
 <translation id="1258491128795710625">最新情報</translation>
 <translation id="1259152067760398571">安全確認を昨日実行しました</translation>
@@ -465,6 +467,7 @@
 <translation id="139911022479327130">スマートフォンのロックを解除して本人確認を行う</translation>
 <translation id="1401216725754314428">新しいタブで関連サイトの詳細を確認します</translation>
 <translation id="1401308693935339022">位置情報を使用するとともに、位置情報の利用を許可されているアプリやサービスがこのデバイスの位置情報を使用することを許可します。Google は、位置情報の精度と位置情報に基づくサービスを改善する目的で、位置情報を定期的に収集し、このデータを匿名で使用することがあります。</translation>
+<translation id="1402426911829176748">デバイスに接続しています</translation>
 <translation id="1403222014593521787">プロキシに接続できませんでした</translation>
 <translation id="1405779994569073824">クラッシュしました。</translation>
 <translation id="1406500794671479665">確認中...</translation>
@@ -647,6 +650,7 @@
 <translation id="1547936895218027488">サイドパネル アイコンをクリックして開きます</translation>
 <translation id="1549275686094429035">ARC は有効になっています</translation>
 <translation id="1549788673239553762">「<ph name="APP_NAME" />」が <ph name="VOLUME_NAME" /> へのアクセスを求めています。ファイルが変更または削除される可能性があります。</translation>
+<translation id="1549966883323105187">保存したパスワードにすばやくアクセスできます</translation>
 <translation id="1552301827267621511">「<ph name="EXTENSION_NAME" />」拡張機能により <ph name="SEARCH_PROVIDER_DOMAIN" /> を使用して検索するよう変更されました</translation>
 <translation id="1552752544932680961">拡張機能を管理</translation>
 <translation id="1553538517812678578">無制限</translation>
@@ -707,6 +711,7 @@
 <translation id="1598163867407640634"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> を使用して <ph name="SITE_ETLD_PLUS_ONE" /> を利用</translation>
 <translation id="1598233202702788831">更新は管理者によって無効になっています。</translation>
 <translation id="1600857548979126453">ページ デバッガ バックエンドにアクセスする</translation>
+<translation id="1601481906560916994">サイトを除外</translation>
 <translation id="1601560923496285236">適用</translation>
 <translation id="1602085790802918092">仮想マシンを起動しています</translation>
 <translation id="1603411913360944381"><ph name="DEVICE_NAME" /> との接続を解除</translation>
@@ -915,6 +920,7 @@
 <translation id="177053719077591686">Android アプリを Google ドライブにバックアップします。</translation>
 <translation id="1771075623623424448">ブラウザのデバイスログ ページをお探しですか?<ph name="BEGIN_LINK" /><ph name="CHROME_DEVICE_LOG_LINK" /><ph name="END_LINK" /> にアクセスしてください。</translation>
 <translation id="177336675152937177">ホストされているアプリデータ</translation>
+<translation id="177529472352014190">OneDrive に接続</translation>
 <translation id="1776712937009046120">ユーザーを追加</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177814385589420211">ファンクション キーとシステムの最上段のキーを切り替えるには、検索キーを長押しします</translation>
@@ -989,6 +995,7 @@
 <translation id="18260074040409954">保存したパスワードはどのデバイスでも使用できます。パスワードは、<ph name="EMAIL" /> の <ph name="GOOGLE_PASSWORD_MANAGER" /> に保存されます。</translation>
 <translation id="1826192255355608658">Chrome ブラウザのブックマーク、パスワード、履歴、その他の設定を同期します</translation>
 <translation id="1826516787628120939">確認中</translation>
+<translation id="1826657447823925402">逆スクロールは無効です</translation>
 <translation id="1827504459960247692">アクセス ポイント名</translation>
 <translation id="1828378091493947763">このプラグインはこのデバイスではサポートされていません</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{すべてを開く(&amp;O)}=1{ブックマークを開く(&amp;O)}other{すべて({COUNT} 個)を開く(&amp;O)}}</translation>
@@ -1108,6 +1115,7 @@
 <translation id="1926339101652878330">これらの設定は会社のポリシーによって制御されています。詳しくは管理者にお尋ねください。</translation>
 <translation id="1927632033341042996">指紋 <ph name="NEW_FINGER_NUMBER" /></translation>
 <translation id="192817607445937251">画面ロックの PIN</translation>
+<translation id="192858925209436740">OneDrive をファイル アプリに接続して、保存したドキュメントを Chromebook から管理できるようにします。Microsoft アカウントでログインする必要があります。</translation>
 <translation id="1928696683969751773">更新</translation>
 <translation id="1929186283613845153">このファイルをスキャンしています。</translation>
 <translation id="1929343511231420085">すべてのシリアルポート</translation>
@@ -1158,6 +1166,7 @@
 <translation id="1974821797477522211">ネットワークへの接続</translation>
 <translation id="1975841812214822307">削除...</translation>
 <translation id="1976150099241323601">セキュリティ デバイスへのログイン</translation>
+<translation id="1976823515278601587">大量の節約</translation>
 <translation id="1977965994116744507"><ph name="DEVICE_TYPE" /> のロックを解除するにはスマートフォンを近づけます。</translation>
 <translation id="1978666928180318515">Bruschetta を削除</translation>
 <translation id="1979095679518582070">この機能を OFF にしても、システム アップデートやセキュリティといった重要なサービスで必要な情報はデバイスから引き続き送信されます。</translation>
@@ -1272,6 +1281,7 @@
 <translation id="2081816110395725788">バッテリー駆動時のアイドル設定</translation>
 <translation id="2082187087049518845">タブをグループ化する</translation>
 <translation id="2082510809738716738">テーマカラーを選択</translation>
+<translation id="2084891381052978619">これらのオプションは、Chromebook の設定完了後に [設定] でも確認できます</translation>
 <translation id="208586643495776849">もう一度お試しください</translation>
 <translation id="208634871997892083">常時接続 VPN</translation>
 <translation id="2087822576218954668">印刷: <ph name="PRINT_NAME" /></translation>
@@ -1341,6 +1351,7 @@
 <translation id="212862741129535676">周波数状態の占有率(%)</translation>
 <translation id="212876957201860463">モバイル デバイスのセットアップ準備中...</translation>
 <translation id="2131077480075264">「<ph name="APP_NAME" />」は「<ph name="IMPORT_NAME" />」で許可されていないためインストールできません</translation>
+<translation id="2133775869826239001">設定するその他の機能を選択する</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> を再試行</translation>
 <translation id="2134905185275441536">システム CA</translation>
 <translation id="21354425047973905">PIN を非表示</translation>
@@ -2022,6 +2033,7 @@
 <translation id="2691385045260836588">機種</translation>
 <translation id="2691440343905273290">入力設定を変更する</translation>
 <translation id="2692503699962701720">要素タイプと書式付きテキストを読み上げるときにピッチを変更する</translation>
+<translation id="2693134906590795721">充電時の音</translation>
 <translation id="2693176596243495071">不明なエラーが発生しました。後でもう一度お試しになるか、問題が解決しない場合は管理者にお問い合わせください。</translation>
 <translation id="2698147581454716013">これはバンドルされたデバイスです。Kiosk &amp; Signage Upgrade に登録することはできません。</translation>
 <translation id="2699911226086014512">PIN の操作に失敗しました。コード: <ph name="RETRIES" /></translation>
@@ -2194,6 +2206,7 @@
 <translation id="2825758591930162672">サブジェクトの公開鍵</translation>
 <translation id="2828375943530438449">ログインページから戻る</translation>
 <translation id="2828650939514476812">Wi-Fi ネットワークへの接続</translation>
+<translation id="2828833307884755422"><ph name="MEMORY_SAVINGS" /> を解放しました</translation>
 <translation id="2831430281393059038">デバイスはサポートされています</translation>
 <translation id="2832124733806557606">お子様はデバイスのログインやロック解除に PIN を使用できます。</translation>
 <translation id="2835177225987815960">現在のスキャン設定(割り当てたスイッチや自動スキャンの速度設定など)はリセットされます。</translation>
@@ -2207,6 +2220,7 @@
 <translation id="2841837950101800123">提供元</translation>
 <translation id="2842013086666334835">「<ph name="NETWORK_ID" />」にログインしてください</translation>
 <translation id="2843560154284403323">Linux の設定を完了するには、Chrome OS を更新してからもう一度お試しください。</translation>
+<translation id="2843698124892775282"><ph name="MEMORY_SAVINGS" /> を解放しました</translation>
 <translation id="2844169650293029770">USB-C デバイス(左手前のポート)</translation>
 <translation id="2844809857160214557">印刷ジョブの表示と管理</translation>
 <translation id="2845382757467349449">ブックマーク バーを常に表示</translation>
@@ -2360,6 +2374,7 @@
 <translation id="2976756276046118477">赤 - 緑のフィルタ(緑色弱、第二色弱)</translation>
 <translation id="2977480621796371840">グループから削除</translation>
 <translation id="2979639724566107830">新しいウィンドウで開く</translation>
+<translation id="2979893796619951531">サイトを除外</translation>
 <translation id="2981113813906970160">大きいマウスカーソルを表示する</translation>
 <translation id="2981293774053328982">このファイルには、個人アカウントまたはソーシャル ネットワークのアカウントを侵害する恐れのあるマルウェアが含まれています</translation>
 <translation id="2983102365694924129">ユーザーのウェブサイト上でのアクティビティに基づいて提案されます。この設定は無効になっています。</translation>
@@ -2726,12 +2741,14 @@
 <translation id="3317459757438853210">両面印刷</translation>
 <translation id="3317678681329786349">カメラとマイクがブロックされています</translation>
 <translation id="3319306431415395200"><ph name="VISUAL_SEARCH_PROVIDER" /> で画像内のテキストを翻訳する</translation>
+<translation id="3320271870899888245">OneDrive に接続できません。もう一度お試しください。</translation>
 <translation id="3320630259304269485">セーフ ブラウジング(危険なサイトからの保護機能)などのセキュリティ設定</translation>
 <translation id="3321460131042519426">ワードラップを有効にする</translation>
 <translation id="3323521181261657960">ボーナスタイムが加算されました</translation>
 <translation id="3323577066981719144">ここで加えた変更は、Chrome ブラウザにのみ反映されます。Lacros Chrome ブラウザの設定に変更を加えるには、Lacros Chrome ブラウザを開いて [設定] に移動してください。</translation>
 <translation id="3325804108816646710">使用可能なプロファイルを検出しています...</translation>
 <translation id="3325910708063135066">Mac のシステム環境設定でカメラとマイクがオフになっています</translation>
+<translation id="3325930488268995856">Microsoft OneDrive に接続しました</translation>
 <translation id="3327050066667856415">Chromebook はセキュリティを重視して設計されています。デバイスはマルウェアから自動的に保護され、追加のソフトウェアは必要ありません。</translation>
 <translation id="3328489342742826322">バックアップから復元すると、Linux ファイル フォルダの既存の Linux アプリケーションとデータは削除されます。</translation>
 <translation id="3329013043687509092">彩度</translation>
@@ -2912,6 +2929,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> によるカメラとマイクへのアクセスを引き続き許可する</translation>
 <translation id="3479552764303398839">後で</translation>
 <translation id="3479685872808224578">プリント サーバーを検出できませんでした。アドレスを確認してから、もう一度お試しください。</translation>
+<translation id="3479753605053415848">クリックして Chrome をカスタマイズ</translation>
 <translation id="3480612136143976912">自動字幕起こしの字幕のサイズとスタイルをカスタマイズできます。一部のアプリとサイトでもこの設定が使用されます。</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> 個のタブが見つかりました</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> 秒後に <ph name="ALTERNATIVE_BROWSER_NAME" /> で開きます</translation>
@@ -3204,6 +3222,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> のデータは 24 時間後に削除されます</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> を開きますか?</translation>
+<translation id="3740945083753997630">表示と文字サイズを縮小する</translation>
 <translation id="3741056951918180319">どのサイトでも、いつでも拡張機能をクリックして使用できます</translation>
 <translation id="3742235229730461951">韓国語のキーボード レイアウト</translation>
 <translation id="3742666961763734085">この名前の組織部門が見つかりません。もう一度お試しください。</translation>
@@ -3321,6 +3340,7 @@
 <translation id="3823019343150397277">IBAN</translation>
 <translation id="3823310065043511710">Linux 用の推奨される空き容量は <ph name="INSTALL_SIZE" /> 以上です。</translation>
 <translation id="3824621460022590830">デバイス登録トークンが無効です。デバイスの所有者または管理者にお問い合わせください。エラーコード: <ph name="ERROR_CODE" />。</translation>
+<translation id="3824757763656550700">ログインして他のデバイスのタブを表示</translation>
 <translation id="3825041664272812989">{FILE_TYPE_COUNT,plural, =1{次のファイル形式の設定を保存: <ph name="FILE_TYPES" />}other{次のファイル形式の設定を保存: <ph name="FILE_TYPES" />}}</translation>
 <translation id="3825635794653163640">アプリアイコンに通知のドットを表示する</translation>
 <translation id="3826071569074535339">モーション センサーの使用を許可するサイト</translation>
@@ -4030,6 +4050,7 @@
 <translation id="4444512841222467874">十分な空き領域がない場合、ユーザーとデータが自動的に削除される可能性があります。</translation>
 <translation id="4445446646109808714">エンドユーザー使用許諾契約: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">ミラーリング</translation>
+<translation id="4448560527907365660">保存してもっと見る</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> の <ph name="USERNAME" /> のパスワードを非表示にします</translation>
 <translation id="4449247303975391730">権限の管理</translation>
 <translation id="4449948729197510913">お客様のユーザー名は組織の企業アカウントに属しています。アカウントにデバイスを登録するには、まず管理コンソールでドメインの所有権を確認してください。なお、確認にはアカウントの管理者権限が必要です。</translation>
@@ -4290,6 +4311,7 @@
 <translation id="4668279686271488041">広告測定データはデバイスから定期的に削除されます</translation>
 <translation id="4672759829555593783"><ph name="FILE_NAME" /> を今すぐ開く</translation>
 <translation id="4673442866648850031">タッチペンを取り外したらタッチペン ツールを開く</translation>
+<translation id="4673785607287397025">接続できません。Chromecast とパソコンが同じネットワーク上にあることを確認してから、もう一度お試しください。</translation>
 <translation id="4675065861091108046"><ph name="ORIGIN" /> の拡張機能をすべて許可するよう選択しています</translation>
 <translation id="4675828034887792601">サイト内検索のショートカットの設定や検索エンジンの管理を行います</translation>
 <translation id="4676595058027112862">スマートフォン ハブ、詳細</translation>
@@ -4485,6 +4507,7 @@
 <translation id="4849286518551984791">協定世界時(UTC / GMT)</translation>
 <translation id="4849517651082200438">インストールしない</translation>
 <translation id="485053257961878904">通知の同期を設定できませんでした</translation>
+<translation id="4850548109381269495">両方のデバイスでインターネット接続を確認してから、Bluetooth をオンにして、もう一度お試しください。</translation>
 <translation id="4850886885716139402">表示</translation>
 <translation id="485088796993065002">音楽や動画などのメディアの音声を再生するサイトもあります。</translation>
 <translation id="4852916668365817106">マウスの色</translation>
@@ -4737,6 +4760,7 @@
 <translation id="5081960376148623587">ページをプリロードするかどうかを選択する</translation>
 <translation id="5084328598860513926">プロビジョニング フローが中断されました。もう一度お試しいただくか、デバイス所有者または管理者にお問い合わせください。エラーコード: <ph name="ERROR_CODE" />。</translation>
 <translation id="5084622689760736648">サイトが想定どおりに機能する可能性が高くなります</translation>
+<translation id="5084686326967545037">デバイスに表示される手順に沿って操作してください</translation>
 <translation id="5085162214018721575">アップデートを確認しています</translation>
 <translation id="5086082738160935172">HID</translation>
 <translation id="508645147179720015">メモが 1,000 文字を超えています</translation>
@@ -4905,14 +4929,17 @@
 <translation id="5240931875940563122">Android スマートフォンでログイン</translation>
 <translation id="5242724311594467048">「<ph name="EXTENSION_NAME" />」を有効にしますか?</translation>
 <translation id="5243522832766285132">しばらくしてからもう一度お試しください</translation>
+<translation id="5244234799035360187">ファイル アプリに OneDrive が表示されるようになります</translation>
 <translation id="5244474230056479698"><ph name="EMAIL" /> に同期しています</translation>
 <translation id="5245610266855777041">学校用アカウントのご利用開始</translation>
 <translation id="5246282308050205996"><ph name="APP_NAME" /> がクラッシュしました。このバルーンをクリックして再起動してください。</translation>
 <translation id="5247051749037287028">表示名(省略可)</translation>
+<translation id="5247243947166567755"><ph name="BOOKMARK_TITLE" /> を選択</translation>
 <translation id="5249624017678798539">ダウンロードの完了前にブラウザで問題が発生しました。</translation>
 <translation id="5250372599208556903"><ph name="SEARCH_ENGINE_NAME" /> は、ユーザーの現在地情報を使用して地域のコンテンツを提供します。この設定は [<ph name="SETTINGS_LINK" />] で変更できます。</translation>
 <translation id="5252496130205799136">Google アカウントを使用してパスワードを保存、入力しますか?</translation>
 <translation id="5252653240322147470">PIN は <ph name="MAXIMUM" /> 桁未満で指定してください</translation>
+<translation id="5254233580564156835">メモリ使用量: <ph name="MEMORY_USAGE" /></translation>
 <translation id="52550593576409946">キオスク アプリケーションを起動できませんでした。</translation>
 <translation id="5255726914791076208">パスキーを編集しても、<ph name="RP_ID" /> のアカウントは変更されません</translation>
 <translation id="5255859108402770436">もう一度ログインする</translation>
@@ -5177,6 +5204,7 @@
 <translation id="5485102783864353244">アプリを追加</translation>
 <translation id="5485435764083510385">優先する字幕の言語</translation>
 <translation id="5485754497697573575">すべてのタブを復元</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> では、新しいデバイスまたは別の種類のデバイスが必要となる可能性があります</translation>
 <translation id="5486261815000869482">パスワードの確認入力</translation>
 <translation id="5486561344817861625">ブラウザ再起動のシミュレート</translation>
 <translation id="5487460042548760727">プロファイル名を <ph name="PROFILE_NAME" /> に変更します</translation>
@@ -5236,6 +5264,7 @@
 <translation id="5527463195266282916">拡張機能のダウングレードが試行されました。</translation>
 <translation id="5527474464531963247">別のネットワークも選択できます。</translation>
 <translation id="5528295196101251711">VM 名</translation>
+<translation id="5529554942700688235">メモリ節約の概要、<ph name="MEMORY_VALUE" /> を解放しました</translation>
 <translation id="5532223876348815659">グローバル</translation>
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> が次の許可を求めています</translation>
 <translation id="5537725057119320332">キャスト</translation>
@@ -5269,6 +5298,7 @@
 <translation id="5556459405103347317">再読み込み</translation>
 <translation id="5558129378926964177">拡大(&amp;I)</translation>
 <translation id="5559311991468302423">アドレスを削除</translation>
+<translation id="5559768063688681413">保存済みのプリンタはありません</translation>
 <translation id="55601339223879446">ディスプレイ内のデスクトップの境界線を調整します</translation>
 <translation id="5561162485081632007">危険なイベントの発生を検出して警告します</translation>
 <translation id="556321030400250233">ローカルまたは共有ファイル</translation>
@@ -5529,6 +5559,7 @@
 <translation id="5799508265798272974">Linux 仮想マシン: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">対象ファイルは前回のダウンロード後に一部または全体が削除されました。</translation>
 <translation id="5800351251499368110">サイドパネルの検索を閉じます。サイドパネルの検索が開いています。</translation>
+<translation id="5800703268655655701">ライトモードまたはダークモードを選択する</translation>
 <translation id="5801051031414037185">スマートフォンを設定</translation>
 <translation id="5801568494490449797">設定</translation>
 <translation id="5803689677801500549">保存したパスワードはこちらに表示されます。<ph name="BRAND" /> に <ph name="USER_EMAIL" /> のパスワードをインポートするには、<ph name="BEGIN_LINK" />CSV ファイルを選択<ph name="END_LINK" />してください。</translation>
@@ -6360,6 +6391,7 @@
 <translation id="6523574494641144162">Google パスワード マネージャー では、次のパスワードを Google アカウントに保存できませんでした。このデバイスには保存できます。</translation>
 <translation id="6524735478670290456">Google によるデータの使用:</translation>
 <translation id="652492607360843641"><ph name="NETWORK_TYPE" /> ネットワークに接続しています。</translation>
+<translation id="6525767484449074555">[インストール] をクリックします</translation>
 <translation id="6527303717912515753">共有</translation>
 <translation id="6528179044667508675">サイレント</translation>
 <translation id="652948702951888897">Chrome 履歴</translation>
@@ -6403,6 +6435,7 @@
 <translation id="6561726789132298588">Enter</translation>
 <translation id="6562117348069327379">システムログをダウンロード ディレクトリに保存します。</translation>
 <translation id="656293578423618167">ファイルのパスまたは名前が長すぎます。名前を短くするか、別の場所に保存してください。</translation>
+<translation id="6569931898053264308">中量の節約</translation>
 <translation id="6570622975915850879">別のデバイスを使用</translation>
 <translation id="65711204837946324">ダウンロードの権限が必要です</translation>
 <translation id="6571533309669248172">テキストの書式設定</translation>
@@ -6701,6 +6734,7 @@
 <translation id="6818920801736417483">パスワードを保存しますか?</translation>
 <translation id="6820079682647046800">Kerberos 認証に失敗しました</translation>
 <translation id="6823174134746916417">タッチパッドのタップしてクリック</translation>
+<translation id="6823429960180594870">ダウンロードしたファイルを管理して、完了したら開きます</translation>
 <translation id="6824564591481349393">メール アドレスをコピー(&amp;E)</translation>
 <translation id="6824584962142919697">要素の検証(&amp;I)</translation>
 <translation id="6824725898506587159">言語を管理</translation>
@@ -6910,6 +6944,7 @@
 <translation id="6993050154661569036">Chrome ブラウザを更新しています</translation>
 <translation id="6995899638241819463">データ侵害によりパスワードが漏洩した場合に警告する</translation>
 <translation id="6995984090981858039">ChromeOS のデバイス情報とデータを読み取る</translation>
+<translation id="6996438701394974959">表示と文字サイズを拡大する</translation>
 <translation id="6997553674029032185">サイトに移動</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - アクティビティ ログ</translation>
 <translation id="6997707937646349884">デバイスで次の操作を行います。</translation>
@@ -7000,6 +7035,7 @@
 <translation id="706626672220389329">共有フォルダのマウントエラー。指定された共有フォルダはすでにマウントされています。</translation>
 <translation id="7067396782363924830">環境色</translation>
 <translation id="7067725467529581407">今後このメッセージを表示しない。</translation>
+<translation id="7068279399556423026">ログインして他のデバイスのタブを表示</translation>
 <translation id="7070484045139057854">サイトデータの読み取りと変更を行います</translation>
 <translation id="7072010813301522126">ショートカット名</translation>
 <translation id="7074066049407662839">パスワードを保存するにはログインしてください</translation>
@@ -7071,6 +7107,7 @@
 <translation id="7141844554192012199">チェックアップ</translation>
 <translation id="7143207342074048698">接続中</translation>
 <translation id="7143409552554575716">ChromeOS フラグ</translation>
+<translation id="714447804011008506">ツールバーからダウンロードにアクセスできるようになりました</translation>
 <translation id="7144856456372460176"><ph name="APP" /> をインストール(&amp;I)...</translation>
 <translation id="7144878232160441200">再読み込み</translation>
 <translation id="7148426638542880639">サイトが想定どおりに機能しない可能性があります。アクセスしたサイトに関する情報をデバイスに残したくない場合は、このオプションを選択します。</translation>
@@ -7226,6 +7263,7 @@
 <translation id="7292195267473691167"><ph name="LOCALE" />(<ph name="VARIANT" />)</translation>
 <translation id="7295614427631867477">なお、Android、Play、および関連付けられているアプリには、それぞれ独自のデータ収集と使用のポリシーが適用されます。</translation>
 <translation id="729583233778673644">AES 暗号化と RC4 暗号化を許可します。なお RC4 暗号は安全でないため、このオプションを使用するとリスクが高まります。</translation>
+<translation id="7296503797589217366"><ph name="FOLDER_TITLE" /> フォルダを選択</translation>
 <translation id="7297726121602187087">暗い緑</translation>
 <translation id="7298195798382681320">推奨</translation>
 <translation id="7299337219131431707">ゲストのブラウジングを許可する</translation>
@@ -7327,6 +7365,7 @@
 <translation id="738322632977123193">アップロードできません。使用できる画像の形式は .jpg、.gif、.png、.bmp、.tif、.webp のいずれかです</translation>
 <translation id="73843634555824551">入力とキーボード</translation>
 <translation id="7384687527486377545">キーボードの自動リピート</translation>
+<translation id="7384804382450832142">Microsoft OneDrive に接続</translation>
 <translation id="7385490373498027129">この <ph name="DEVICE_TYPE" /> にあるすべてのユーザーのファイルとローカルデータをすべて完全に削除します。</translation>
 <translation id="7385854874724088939">印刷中に問題が発生しました。プリンタを確認してからもう一度お試しください。</translation>
 <translation id="7387273928653486359">許容範囲内</translation>
@@ -7456,6 +7495,7 @@
 <translation id="748138892655239008">証明書の基本制約</translation>
 <translation id="7483145199632798061">2023 年に行われる Chrome の更新</translation>
 <translation id="7484645889979462775">このサイトでは保存しない</translation>
+<translation id="7486587904541741388">大量の節約</translation>
 <translation id="7487141338393529395">拡張スペルチェックの有効化</translation>
 <translation id="7487969577036436319">コンポーネントはインストールされていません</translation>
 <translation id="7488682689406685343">このサイトは、ユーザーをだまして煩わしい通知を許可させようとする可能性があります。</translation>
@@ -7646,6 +7686,7 @@
 <translation id="7652954539215530680">PIN の作成</translation>
 <translation id="7654941827281939388">このアカウントは既にこのパソコンで使用されています。</translation>
 <translation id="7655411746932645568">サイトがシリアルポートへの接続を要求できるようにする</translation>
+<translation id="7657090467145778067">少量の節約</translation>
 <translation id="7657218410916651670">ログイン中は Google アカウントに<ph name="BEGIN_LINK_GOOGLE" />その他のアクティビティ<ph name="END_LINK_GOOGLE" />が保存される可能性があります。これらのデータはいつでも削除できます。</translation>
 <translation id="7658239707568436148">キャンセル</translation>
 <translation id="7659154729610375585">シークレット モードを終了してもよろしいですか?</translation>
@@ -7829,6 +7870,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">スタートページの背景が<ph name="CATEGORY" />に変更されました。</translation>
+<translation id="7791436592012979144">逆スクロールは有効です</translation>
 <translation id="7791543448312431591">追加</translation>
 <translation id="7792012425874949788">ログイン時に問題が発生しました</translation>
 <translation id="7792388396321542707">共有を停止</translation>
@@ -7916,6 +7958,7 @@
 <translation id="7871691770940645922">仮想点字ディスプレイ</translation>
 <translation id="787268756490971083">オフ</translation>
 <translation id="7872758299142009420">ネストされたグループの数が多すぎます: <ph name="ERROR_LINE" /></translation>
+<translation id="7873386145597434863">Steam for Chromebook</translation>
 <translation id="7874257161694977650">Chrome の背景</translation>
 <translation id="7876027585589532670">ショートカットの編集はできません</translation>
 <translation id="7877451762676714207">不明なサーバー エラーが発生しました。もう一度お試しになるか、サーバー管理者にご連絡ください。</translation>
@@ -7994,6 +8037,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% 完了</translation>
 <translation id="7939062555109487992">詳細オプション</translation>
 <translation id="7939073735115504773">この拡張機能のアイコンをクリックすると、<ph name="HOST" /> の読み取りと変更を許可します</translation>
+<translation id="793923212791838">このサイトはお使いのデバイスではご利用いただけません</translation>
 <translation id="7939328347457537652">デバイス証明書の管理</translation>
 <translation id="7939412583708276221">続行する</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> で並べ替え</translation>
@@ -8417,6 +8461,7 @@
 <translation id="8295449579927246485">リアルタイム翻訳</translation>
 <translation id="8297292446125062288">HID 設定</translation>
 <translation id="8298429963694909221">スマートフォンの通知を <ph name="DEVICE_TYPE" /> で受信できるようになりました。<ph name="DEVICE_TYPE" /> で通知を非表示にすると、その通知はスマートフォンでも表示されなくなります。Bluetooth 搭載のスマートフォンが近くにあり、Wi-Fi もオンになっていることを確認してください。</translation>
+<translation id="829923460755755423">Google パスワード マネージャーにショートカットを追加します</translation>
 <translation id="8299319456683969623">現在オフラインです。</translation>
 <translation id="8300011035382349091">このタブのブックマークを編集します</translation>
 <translation id="8300374739238450534">ミッドナイトブルー</translation>
@@ -8651,6 +8696,7 @@
 <translation id="8502536196501630039">Google Play のアプリを使用するには、まずアプリを復元する必要があります。一部のデータは失われている可能性があります。</translation>
 <translation id="8503813439785031346">ユーザー名</translation>
 <translation id="850382998924680137">今日表示</translation>
+<translation id="8505669004895429027">少量の節約</translation>
 <translation id="8507227974644337342">画面の解像度</translation>
 <translation id="8509177919508253835">セキュリティ キーをリセットして PIN を作成します</translation>
 <translation id="8509646642152301857">スペルチェック辞書をダウンロードできませんでした。</translation>
@@ -8990,6 +9036,7 @@
 <translation id="8804419452060773146">次で開く</translation>
 <translation id="8804999695258552249">{NUM_TABS,plural, =1{タブを別のウィンドウに移動}other{タブを別のウィンドウに移動}}</translation>
 <translation id="8805140816472474147">同期を開始するには同期設定を確認してください。</translation>
+<translation id="8805255531353778052">非常に大量の節約</translation>
 <translation id="8805385115381080995">サイトであなたが実在のユーザーであることを確認する頻度が減るため、ブラウジングが高速化されます</translation>
 <translation id="8807588541160250261">デバイスが接続されていない場合、自動的にオフにします</translation>
 <translation id="8807632654848257479">Stable</translation>
@@ -9000,6 +9047,7 @@
 <translation id="8812593354822910461">閲覧履歴データ(<ph name="URL" />)も削除します。これにより、<ph name="DOMAIN" /> からログアウトします。<ph name="LEARN_MORE" /></translation>
 <translation id="8813698869395535039"><ph name="USERNAME" /> にログインできません</translation>
 <translation id="8813872945700551674">保護者の方に「<ph name="EXTENSION_NAME" />」を承認してもらいましょう</translation>
+<translation id="8813937837706331325">中量の節約</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8814319344131658221">言語設定に基づく、スペルチェックが可能な言語です</translation>
 <translation id="8814644416678422095">ハードドライブ</translation>
@@ -9215,6 +9263,7 @@
 <translation id="899657321862108550">あなたの Chrome をいつでもどこでも</translation>
 <translation id="899671834467367922">このページのメモを見たり記録したりするには、別のユーザーとしてログインしてください。</translation>
 <translation id="8998078711690114234">この種類のファイルは危険な可能性があります。<ph name="ORIGIN" /> を信頼できる場合のみ、このファイルを保存してください</translation>
+<translation id="8999027165951679951">非アクティブなタブ: <ph name="MEMORY_SAVINGS" /> を解放しました</translation>
 <translation id="8999560016882908256">セクションの構文エラーです: <ph name="ERROR_LINE" /></translation>
 <translation id="9000185763019430629"><ph name="DEVICE_TYPE" /> の右側にある指紋認証センサーをタップしてください。指紋データは <ph name="DEVICE_TYPE" /> にのみ安全に保存されます。</translation>
 <translation id="9003185744423389627">デバイス管理サーバーに接続できませんでした(ステータス「<ph name="STATUS_TEXT" />」、<ph name="FAILURE_TIME" />)</translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb
index 1ceac8c..ac89a0a 100644
--- a/chrome/app/resources/generated_resources_kk.xtb
+++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">Профиль қатесі кетті</translation>
 <translation id="1253664522045778676">Нәтижені бассаңыз, бет ағымдағы қойындыда ашылады</translation>
 <translation id="1254593899333212300">Тікелей интернет қосылысы</translation>
+<translation id="1256588359404100567">Параметр алдыңғы құрылғыңыздан синхрондалған.</translation>
 <translation id="1257336506558170607">Таңдалған сертификатты экспорттау</translation>
 <translation id="1258491128795710625">Жаңалықтар</translation>
 <translation id="1259152067760398571">Қауіпсіздік тексерісі кеше қолданылды.</translation>
@@ -992,6 +993,7 @@
 <translation id="18260074040409954">Сақталған құпия сөздерді кез келген құрылғыда пайдалана аласыз. <ph name="EMAIL" /> аккаунты үшін сақтау орны: <ph name="GOOGLE_PASSWORD_MANAGER" />.</translation>
 <translation id="1826192255355608658">Chrome браузерінің бетбелгілерін, құпия сөздерін және т.б. синхрондаңыз</translation>
 <translation id="1826516787628120939">Тексеру</translation>
+<translation id="1826657447823925402">Кері айналдыру өшірулі</translation>
 <translation id="1827504459960247692">Хотспот атауы</translation>
 <translation id="1828378091493947763">Плагинге бұл құрылғыда қолдау көрсетілмейді</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Барлығын ашу}=1{&amp;Бетбелгіні ашу}other{&amp;Барлығын ({COUNT}) ашу}}</translation>
@@ -1279,6 +1281,7 @@
 <translation id="2081816110395725788">Батарея зарядымен жұмыс істегенде ұйқы режиміне қою</translation>
 <translation id="2082187087049518845">Қойындыны жаңа топқа енгізу</translation>
 <translation id="2082510809738716738">Тақырып түсін таңдаңыз.</translation>
+<translation id="2084891381052978619">Сондай-ақ Chromebook құрылғыңызды реттеуді аяқтағаннан кейін бұл опцияларды "Параметрлер" бөлімінен табуға болады</translation>
 <translation id="208586643495776849">Қайталап көріңіз</translation>
 <translation id="208634871997892083">Әрқашан қосулы VPN</translation>
 <translation id="2087822576218954668">Басып шығару: <ph name="PRINT_NAME" /></translation>
@@ -1348,6 +1351,7 @@
 <translation id="212862741129535676">Жиілік күйінің қамтылу пайыздық мөлшерлемесі</translation>
 <translation id="212876957201860463">Ұялы құрылғыны реттеуге дайындалуда…</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" орнату мүмкін емес, себебі оған "<ph name="IMPORT_NAME" />" рұқсат бермеген</translation>
+<translation id="2133775869826239001">Реттеу үшін қосымша функцияларды таңдаңыз</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> файлын қайталау</translation>
 <translation id="2134905185275441536">Жүйенің сертификаттау органдары</translation>
 <translation id="21354425047973905">PIN кодтарын жасыру</translation>
@@ -2929,6 +2933,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> хостына камераңыз бен микрофоныңызды пайдалануға берген рұқсатты сақтау</translation>
 <translation id="3479552764303398839">Қазір емес</translation>
 <translation id="3479685872808224578">Басып шығару сервері анықталмады. Оны тексеріп, қайталап көріңіз.</translation>
+<translation id="3479753605053415848">Chrome-ды бейімдеу үшін басыңыз</translation>
 <translation id="3480612136143976912">Live Caption функциясы үшін жазу өлшемі мен стилін реттеңіз. Кейбір қолданбалар мен сайттар да осы параметрді пайдаланатын болады.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> қойынды табылды.</translation>
 <translation id="3481268647794498892"><ph name="ALTERNATIVE_BROWSER_NAME" /> браузері <ph name="COUNTDOWN_SECONDS" /> секундта ашылады.</translation>
@@ -3222,6 +3227,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> деректері 24 сағаттан кейін жойылады.</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> ашу керек пе?</translation>
+<translation id="3740945083753997630">Дисплей мен мәтін өлшемін кішірейту</translation>
 <translation id="3741056951918180319">Кез келген сайтта кеңейтімді басып, пайдалана бере аласыз.</translation>
 <translation id="3742235229730461951">Корей пернетақтасының орналасуы</translation>
 <translation id="3742666961763734085">Мұндай атаулы ұйым бірлігі табылмады. Әрекетті қайталаңыз.</translation>
@@ -4050,6 +4056,7 @@
 <translation id="4444512841222467874">Орын босатылмаса, пайдаланушылар мен деректер автоматты түрде өшірілуі мүмкін.</translation>
 <translation id="4445446646109808714">Түпкі пайдаланушының лицензия туралы келісімі: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Айнадағы бейнесі</translation>
+<translation id="4448560527907365660">Сақтау және көбірек көру</translation>
 <translation id="4448914100439890108"><ph name="USERNAME" /> атты пайдаланушының <ph name="DOMAIN" /> сайтына арналған құпия сөзін жасыру</translation>
 <translation id="4449247303975391730">Рұқсаттарды басқару</translation>
 <translation id="4449948729197510913">Пайдаланушы атыңыз ұйымның корпоративтік аккаунтына тиесілі. Құрылғыларды аккаунтқа тіркеу үшін алдымен Әкімші консолінде доменді иелену құқығын растаңыз. Растау үшін аккаунтта басқару артықшылығыңыз болуы керек.</translation>
@@ -5204,6 +5211,7 @@
 <translation id="5485102783864353244">Қолданба қосу</translation>
 <translation id="5485435764083510385">Қажетті жазу тілі</translation>
 <translation id="5485754497697573575">Барлық қойындыларды қалпына келтіру</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> веб-сайты жаңарақ не басқа құрылғыны сұрауы мүмкін</translation>
 <translation id="5486261815000869482">Құпия сөзді растау</translation>
 <translation id="5486561344817861625">Браузердің қайта іске қосылуын үлгілеу</translation>
 <translation id="5487460042548760727">Профиль атауын "<ph name="PROFILE_NAME" />" деп өзгерту</translation>
@@ -5556,6 +5564,7 @@
 <translation id="5799508265798272974">Linux виртуалдық машинасы: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Мақсатты файл соңғы жүктеуден кейін қысқартылды немесе жойылды.</translation>
 <translation id="5800351251499368110">Бүйірлік панельде іздеу бетін жабыңыз. Бүйірлік панельде іздеу беті ашық.</translation>
+<translation id="5800703268655655701">Жарық немесе қараңғы режимді таңдау</translation>
 <translation id="5801051031414037185">Телефонды реттеу</translation>
 <translation id="5801568494490449797">Параметрлер</translation>
 <translation id="5803689677801500549">Сақталған құпия сөздер мына жерде пайда болады. <ph name="USER_EMAIL" /> мекенжайына арналған құпия сөздерді <ph name="BRAND" /> қолданбасына импорттау үшін <ph name="BEGIN_LINK" /> CSV файлын таңдаңыз.<ph name="END_LINK" /></translation>
@@ -6941,6 +6950,7 @@
 <translation id="6993050154661569036">Chrome браузері жаңартылуда</translation>
 <translation id="6995899638241819463">Құпия сөздер қолды болған жағдайда, сізге бұл туралы хабарлау</translation>
 <translation id="6995984090981858039">ChromeOS құрылғысы туралы ақпарат пен деректерді оқу</translation>
+<translation id="6996438701394974959">Дисплей мен мәтін өлшемін ұлғайту</translation>
 <translation id="6997553674029032185">Сайтқа кіру</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Әрекеттер журналы</translation>
 <translation id="6997707937646349884">Құрылғыларыңызда:</translation>
@@ -7869,6 +7879,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Бастапқы бет фоны <ph name="CATEGORY" /> санатына өзгереді.</translation>
+<translation id="7791436592012979144">Кері айналдыру қосулы</translation>
 <translation id="7791543448312431591">Қосу</translation>
 <translation id="7792012425874949788">Жүйеге кіру кезінде бірдеңе дұрыс болмады</translation>
 <translation id="7792388396321542707">Бөлісуді тоқтату</translation>
@@ -8035,6 +8046,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% аяқталды.</translation>
 <translation id="7939062555109487992">Қосымша опциялар</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> сайтын оқып, өзгерту үшін осы кеңейтімнің белгішесін түртіңіз.</translation>
+<translation id="793923212791838">Құрылғыңызды осы сайтпен пайдалану мүмкін емес</translation>
 <translation id="7939328347457537652">Құрылғының сертификаттарын басқару</translation>
 <translation id="7939412583708276221">Бәрібір сақтау</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> бойынша сұрыптау</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index e1e01d9..b8be121 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="1022489261739821355">ನಿಮ್ಮ <ph name="BEGIN_LINK" />Google ಖಾತೆಯಿಂದ<ph name="END_LINK" /> ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="1022669824195822609">ನಿಮ್ಮ ಸಾಧನವನ್ನು <ph name="DOMAIN" /> ನಿರ್ವಹಿಸುತ್ತಿದೆ. ನಿರ್ವಾಹಕರು ಈ ಸಾಧನದಲ್ಲಿನ ಯಾವುದೇ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿರುವ ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು.</translation>
+<translation id="1024734233509995696">ಈ ಟ್ಯಾಬ್ ನಿಮ್ಮ ಕ್ಯಾಮರಾ ಅಥವಾ ಮೈಕ್ರೊಫೋನ್‌ ಅನ್ನು ಬಳಸುತ್ತಿದೆ</translation>
 <translation id="1026655690966755180">ಪೋರ್ಟ್ ಸೇರಿಸಿ</translation>
 <translation id="1026822031284433028">ಚಿತ್ರ ಲೋಡ್ ಮಾಡು</translation>
 <translation id="1026959648338730078">Windows Hello ಅಥವಾ ಬಾಹ್ಯ ಭದ್ರತಾ ಕೀ</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="1158080958325422608">ಅಪ್ಪರ್‌ಕೇಸ್ ಮಾಡಿ</translation>
 <translation id="1158238185437008462">ಮಧುರ ಕ್ಷಣಗಳನ್ನು ನೋಡಿ</translation>
+<translation id="1159879754517035595">ವಿಸ್ತರಣೆಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="1160842321113409343">ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸಲು, 4 ವಾರಗಳಿಗಿಂತ ಹಳೆಯ ಸೈಟ್‌ಗಳನ್ನು ನಾವು ಪಟ್ಟಿಯಿಂದ ಸ್ವಯಂ-ಅಳಿಸುತ್ತೇವೆ. ನೀವು ಪುನಃ ಭೇಟಿ ನೀಡುವ ಸೈಟ್, ಪಟ್ಟಿಯಲ್ಲಿ ಮತ್ತೊಮ್ಮೆ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು. ಒಂದು ಸೈಟ್ ನಿಮ್ಮ ಆಸಕ್ತಿಗಳನ್ನು ಎಂದಿಗೂ ವ್ಯಾಖ್ಯಾನಿಸಬಾರದೆಂದು ನೀವು ಬಯಸಿದರೆ, ಆ ಸೈಟ್ ಅನ್ನು ನೀವು ತೆಗೆದುಹಾಕಬಹುದು.</translation>
 <translation id="1161575384898972166">ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಫ್ತು ಮಾಡಲು <ph name="TOKEN_NAME" /> ಗೆ ದಯವಿಟ್ಟು ಸೈನ್ ಇನ್ ಆಗಿರಿ.</translation>
 <translation id="116173250649946226">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಡೀಫಾಲ್ಟ್ ಥೀಮ್ ಅನ್ನು ಹೊಂದಿಸಿರುವುದರಿಂದ, ಅದನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> ಸೂಕ್ಷ್ಮ ಅಥವಾ ಅಪಾಯಕಾರಿ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿದೆ. ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಹೀಗೆ ಹೇಳುತ್ತಾರೆ: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> HID ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಿಸಲು ಬಯಸುತ್ತದೆ</translation>
 <translation id="1172750555846831341">ಚಿಕ್ಕ ಅಂಚಿನಲ್ಲಿ ಫ್ಲಿಪ್ ಮಾಡಿ</translation>
+<translation id="1173036203040243666">ಈ ಟ್ಯಾಬ್ ಬ್ಲೂಟೂತ್ ಸಾಧನಕ್ಕೆ ಕನೆಕ್ಟ್ ಆಗಿದೆ</translation>
 <translation id="1173332155861271669">Passpoint ಪೂರೈಕೆದಾರರ ವಿವರಗಳು</translation>
 <translation id="1173894706177603556">ಮರುಹೆಸರಿಸು</translation>
 <translation id="1174073918202301297">ಶಾರ್ಟ್‌ಕಟ್ ಸೇರಿಸಲಾಗಿದೆ</translation>
@@ -317,6 +320,7 @@
 <translation id="1252987234827889034">ಪ್ರೊಫೈಲ್ ದೋಷ ಸಂಭವಿಸಿದೆ</translation>
 <translation id="1253664522045778676">ಫಲಿತಾಂಶವೊಂದರ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿದರೆ ಪುಟವು ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ತೆರೆಯುತ್ತದೆ</translation>
 <translation id="1254593899333212300">ನೇರ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ</translation>
+<translation id="1256588359404100567">ನಿಮ್ಮ ಹಿಂದಿನ ಸಾಧನದಿಂದ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಿಂಕ್ ಮಾಡಲಾಗಿದೆ.</translation>
 <translation id="1257336506558170607">ಆಯ್ಕೆಮಾಡಿದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಫ್ತು ಮಾಡಿ</translation>
 <translation id="1258491128795710625">ಹೊಸತೇನಿದೆ</translation>
 <translation id="1259152067760398571">ಸುರಕ್ಷತಾ ಪರಿಶೀಲನೆಯನ್ನು ನಿನ್ನೆಯ ದಿನ ನಡೆಸಲಾಗಿದೆ</translation>
@@ -663,6 +667,7 @@
 <translation id="1556537182262721003">ಫ್ರೋಫೈಲ್‌ಗೆ ಎಕ್ಸ್‌ಟೆನ್ಷನ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಚಲಿಸಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="1558391695376153246">ಅಜ್ಞಾತ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಮುಚ್ಚಿ</translation>
 <translation id="155865706765934889">ಟಚ್‌ಪ್ಯಾಡ್</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ಪುನರಾರಂಭಿಸಿ</translation>
 <translation id="1562119309884184621">ಈ ಸಂಪರ್ಕವನ್ನು ಸೇರಿಸುವುದರಿಂದ ಮುಂದಿನ ಬಾರಿ ಹಂಚಿಕೊಳ್ಳುವಾಗ ಅವರನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲಾಗುತ್ತದೆ</translation>
 <translation id="1563137369682381456">ಅವಧಿ ಮುಗಿಯುವ ದಿನಾಂಕ</translation>
 <translation id="1563702743503072935">ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರುವಾಗ ನಿಮ್ಮ Google ಖಾತೆಯ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಈ ಸಾಧನದಲ್ಲಿಯೂ ಲಭ್ಯವಿರುತ್ತವೆ</translation>
@@ -794,6 +799,7 @@
 <translation id="1648528859488547844">ಸ್ಥಳವನ್ನು ನಿರ್ಧರಿಸಲು ವೈ-ಫೈ ಅಥವಾ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ​​ಬಳಸಿ</translation>
 <translation id="164936512206786300">ಬ್ಲೂಟೂತ್ ಸಾಧನದ ಜೋಡಿ ರದ್ದುಗೊಳಿಸಿ</translation>
 <translation id="1651008383952180276">ನೀವು ಒಂದೇ ಪಾಸ್‌ಫ್ರೇಸ್ ಅನ್ನು ಎರಡು ಬಾರಿ ನಮೂದಿಸಬೇಕು</translation>
+<translation id="1651609627703324721">ಈ ಟ್ಯಾಬ್ ಹೆಡ್‌ಸೆಟ್‌ಗೆ VR ಕಂಟೆಂಟ್‌ ಅನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುತ್ತಿದೆ</translation>
 <translation id="1652326691684645429">Nearby ಶೇರ್ ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="1654580009054503925">ವಿನಂತಿಗಳನ್ನು ತೋರಿಸಲು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="1656528038316521561">ಹಿನ್ನೆಲೆ ಅಪಾರದರ್ಶಕತೆ</translation>
@@ -885,6 +891,7 @@
 <translation id="173522743738009831">ಪ್ರೈವೆಸಿ ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಕುರಿತು</translation>
 <translation id="173628468822554835">ಅರ್ಥವಾಯಿತು. ಡೀಫಾಲ್ಟ್ ಆಗಿ, ನೀವು ಭೇಟಿ ನೀಡುವ ಹೊಸ ಸೈಟ್‌ಗಳು ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸುವುದಿಲ್ಲ.</translation>
 <translation id="1737968601308870607">ಫೈಲ್ ಬಗ್</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. ಸೈಟ್ ಅನುಮತಿಗಳನ್ನು ಬದಲಾಯಿಸಲು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="1741190788710022490">ಅಡಾಪ್ಟಿವ್ ಚಾರ್ಜಿಂಗ್</translation>
 <translation id="174123615272205933">ಕಸ್ಟಮ್</translation>
 <translation id="1741314857973421784">ಮುಂದುವರಿಸಿ</translation>
@@ -1000,6 +1007,7 @@
 <translation id="18260074040409954">ಉಳಿಸಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ನೀವು ಯಾವುದೇ ಸಾಧನದಲ್ಲಿ ಬಳಸಬಹುದು. ಅವುಗಳನ್ನು <ph name="EMAIL" /> ಗಾಗಿ <ph name="GOOGLE_PASSWORD_MANAGER" /> ನಲ್ಲಿ ಉಳಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="1826192255355608658">ನಿಮ್ಮ Chrome ಬ್ರೌಸರ್ ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳು, ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಇತಿಹಾಸ ಮತ್ತು ಇತ್ಯಾದಿಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಿ</translation>
 <translation id="1826516787628120939">ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ</translation>
+<translation id="1826657447823925402">ಹಿಮ್ಮುಖ ಸ್ಕ್ರಾಲ್ ಮಾಡುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="1827504459960247692">ಹಾಟ್‌ಸ್ಪಾಟ್ ಹೆಸರು</translation>
 <translation id="1828378091493947763">ಈ ಸಾಧನದಲ್ಲಿ ಈ ಪ್ಲಗಿನ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{ಎಲ್ಲವನ್ನೂ &amp;ತೆರೆಯಿರಿ}=1{ಬುಕ್‌ಮಾರ್ಕ್ &amp;ತರೆಯಿರಿ}one{ಎಲ್ಲಾ ({COUNT}) ಗಳನ್ನು &amp;ತೆರೆಯಿರಿ}other{ಎಲ್ಲಾ ({COUNT}) ಗಳನ್ನು &amp;ತೆರೆಯಿರಿ}}</translation>
@@ -1076,6 +1084,7 @@
 <translation id="1885066963699478692">ನೀತಿಗಳನ್ನು ಹೊಂದಿಸಲು XML ಫೈಲ್‌ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತಿದೆ.</translation>
 <translation id="1885106732301550621">ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶ</translation>
 <translation id="1886996562706621347">ಪ್ರೊಟೋಕಾಲ್‌ಗಳಿಗಾಗಿ ಡಿಫಾಲ್ಟ್ ಹ್ಯಾಂಡ್ಲರ್‌‌ಗಳಾಗಲು ಸೈಟ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)</translation>
+<translation id="1887210448491286312">ಟ್ಯಾಬ್ ಅನ್ನು <ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ</translation>
 <translation id="1887442540531652736">ಸೈನ್‌ ಇನ್‌ ದೋಷ</translation>
 <translation id="1887597546629269384">ಮತ್ತೊಮ್ಮೆ "ಹೇ Google" ಎಂದು ಹೇಳಿ</translation>
 <translation id="1889091146873278175">ಸೈಡ್ ಪ್ಯಾನೆಲ್‌ನಲ್ಲಿ ಇನ್ನಷ್ಟು ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳನ್ನು ನೋಡಲು "G" ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation>
@@ -1102,6 +1111,7 @@
 <translation id="1910908536872421421">Chrome for Testing v<ph name="BROWSER_VERSION" /> ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಗೆ ಮಾತ್ರ. ನಿಯಮಿತ ಬ್ರೌಸಿಂಗ್‌ಗಾಗಿ, ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್‌ಡೇಟ್‌ ಮಾಡುವ Chrome ನ ಪ್ರಮಾಣಿತ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿ.</translation>
 <translation id="1915073950770830761">ಕ್ಯಾನರಿ</translation>
 <translation id="1915307458270490472">ಹ್ಯಾಂಗ್ ಅಪ್ ಮಾಡಿ</translation>
+<translation id="1915613305720536742">ಅನುವಾದಿಸಿ</translation>
 <translation id="1915734383465415025">ಸ್ಟೋರ್ ಸಂಖ್ಯೆ</translation>
 <translation id="1916260783734263714">ಈಗಿನ ಟ್ಯಾಬ್</translation>
 <translation id="1916502483199172559">ಡಿಫಾಲ್ಟ್ ಕೆಂಪು ಅವತಾರ್</translation>
@@ -1206,6 +1216,7 @@
 <translation id="2007404777272201486">ಸಮಸ್ಯೆ ವರದಿಮಾಡಿ...</translation>
 <translation id="2009590708342941694">ಎಮೋಜಿ ಟೂಲ್</translation>
 <translation id="2010501376126504057">ಹೊಂದಾಣಿಕೆ ಸಾಧನಗಳು</translation>
+<translation id="2012935757369720523">ಫೈಲ್ ಅನ್ನು ಅಳಿಸಿ</translation>
 <translation id="2013550551806600826">ಇದನ್ನು ಬಳಸಿ ನೋಡಿ. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಿ, ನಂತರ ಪರೀಕ್ಷಾ ಪ್ರದೇಶದಲ್ಲಿ ಎರಡು ಬೆರಳುಗಳಿಂದ ನಿಮ್ಮ ಟಚ್‌ಪ್ಯಾಡ್ ಮೇಲೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ. ನೀವು ಇದನ್ನು ನಂತರ ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಸಾಧನ &gt; ಮೌಸ್ ಮತ್ತು ಟಚ್‌ಪ್ಯಾಡ್‌ನಲ್ಲಿಯೂ ಕಾಣಬಹುದು.</translation>
 <translation id="2015232545623037616">PC ಮತ್ತು Chromecast ಒಂದೇ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಆಗಿವೆ</translation>
 <translation id="2016473077102413275">ಚಿತ್ರಗಳ ಅಗತ್ಯವಿರುವ ಫೀಚರ್‌ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ</translation>
@@ -1287,6 +1298,7 @@
 <translation id="2081816110395725788">ಬ್ಯಾಟರಿ ಆನ್ ಆಗಿರುವಾಗ ನಿಷ್ಕ್ರಿಯ ಶಕ್ತಿ</translation>
 <translation id="2082187087049518845">ಟ್ಯಾಬ್ ಸಮೂಹಗೊಳಿಸಿ</translation>
 <translation id="2082510809738716738">ಥೀಮ್ ಬಣ್ಣವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
+<translation id="2084891381052978619">ನಿಮ್ಮ Chromebook ಸೆಟಪ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ ನೀವು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಈ ಆಯ್ಕೆಗಳನ್ನು ಸಹ ಕಾಣಬಹುದು</translation>
 <translation id="208586643495776849">ಪುನಃ ಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="208634871997892083">VPN ಯಾವಾಗಲೂ ಆನ್ ಇರುತ್ತದೆ</translation>
 <translation id="2087822576218954668">ಮುದ್ರಿಸು: <ph name="PRINT_NAME" /></translation>
@@ -1356,6 +1368,7 @@
 <translation id="212862741129535676">ಆವರ್ತನ ಸ್ಥಿತಿಯ ನೆಲೆಸುವಿಕೆಯ ಪ್ರತಿಶತ</translation>
 <translation id="212876957201860463">ನಿಮ್ಮ ಸೆಲ್ಯುಲಾರ್ ಸಾಧನವನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಸಿದ್ಧಗೊಳಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ ಏಕೆಂದರೆ ಇದನ್ನು "<ph name="IMPORT_NAME" />" ರಿಂದ ಅನುಮತಿಸಲಾಗುತ್ತಿಲ್ಲ</translation>
+<translation id="2133775869826239001">ಸೆಟಪ್ ಮಾಡಲು ಇನ್ನಷ್ಟು ಫೀಚರ್‌ಗಳನ್ನು ಆರಿಸಿ</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> ಮರುಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="2134905185275441536">ಸಿಸ್ಟಂ CA ಗಳು</translation>
 <translation id="21354425047973905">ಪಿನ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ</translation>
@@ -1778,6 +1791,7 @@
 <translation id="2458379781610688953">ಖಾತೆಯನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">ಸಾಧನ ನಿರ್ವಹಣೆಯ ಟೋಕನ್ ಅಮಾನ್ಯವಾಗಿದೆ.</translation>
 <translation id="2459703812219683497">ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಕೋಡ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗಿದೆ</translation>
+<translation id="2459706890611560967">ಟ್ಯಾಬ್ <ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ಪುನರಾರಂಭಿಸಿ</translation>
 <translation id="2460356425461033301">ನಿಮ್ಮ ಬ್ರೌಸರ್ ವಿಷಯವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಿ ಹಾಗೂ ಅದನ್ನು ಯಾವುದೇ ಸಾಧನದಲ್ಲಿ ಬಳಸಿ</translation>
 <translation id="2462332841984057083">Steam ಅನ್ನು ಈಗಾಗಲೇ ಸೆಟಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ. ಸೆಟಪ್ ಪೂರ್ಣಗೊಳ್ಳಲು ನಿರೀಕ್ಷಿಸಿ.</translation>
 <translation id="2462724976360937186">ಪ್ರಮಾಣದಪತ್ರದ ಪ್ರಾಧಿಕಾರ ಕೀ ID</translation>
@@ -2624,10 +2638,12 @@
 <translation id="3194786596445804250">ಥರ್ಡ್-ಪಾರ್ಟಿ ಕುಕಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಕುರಿತು ವಿವರಗಳನ್ನು ತೋರಿಸಿ</translation>
 <translation id="3197453258332670132">ಬಲ-ಕ್ಲಿಕ್ ಅಥವಾ ದೀರ್ಘಕಾಲ ಒತ್ತಿಹಿಡಿಯಿರಿ, ನೀವು ಆಯ್ಕೆಮಾಡಿದ ಪಠ್ಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸಿ</translation>
 <translation id="3199127022143353223">ಸರ್ವರ್‌ಗಳು</translation>
+<translation id="3199637719075529971">ಈ ಟ್ಯಾಬ್ ಸೀರಿಯಲ್ ಪೋರ್ಟ್‌ಗೆ ಕನೆಕ್ಟ್ ಆಗಿದೆ</translation>
 <translation id="3200061262156232574">ನಿಮ್ಮ ಶಾಪಿಂಗ್‌ ಕಾರ್ಟ್‌ನಲ್ಲಿ</translation>
 <translation id="3201237270673604992">Z ನಿಂದ A ವರೆಗೆ</translation>
 <translation id="3201422919974259695">ಲಭ್ಯವಿರುವ USB ಸಾಧನಗಳು ಇಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ.</translation>
 <translation id="3202131003361292969">ಪಾಥ್</translation>
+<translation id="3202499879214571401">ಸ್ಕ್ರೀನ್‌ <ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ವಿರಾಮಗೊಳಿಸಿ</translation>
 <translation id="3202578601642193415">ನವನವೀನ</translation>
 <translation id="3204648577100496185">ಈ ಆ್ಯಪ್ ಜೊತೆಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಡೇಟಾವನ್ನು ಈ ಸಾಧನದಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ</translation>
 <translation id="3207960819495026254">ಬುಕ್‌ಮಾರ್ಕ್‌ ಮಾಡಲಾಗಿದೆ</translation>
@@ -2940,6 +2956,7 @@
 <translation id="347785443197175480">ನಿಮ್ಮ ಕ್ಯಾಮರಾ ಹಾಗೂ ಮೈಕ್ರೋಫೋನ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು <ph name="HOST" /> ಗೆ ಅನುಮತಿಸುವುದನ್ನು ಮುಂದುವರೆಸಿ</translation>
 <translation id="3479552764303398839">ಈಗ ಬೇಡ</translation>
 <translation id="3479685872808224578">ಪ್ರಿಂಟ್ ಸರ್ವರ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ವಿಳಾಸವನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
+<translation id="3479753605053415848">Chrome ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ</translation>
 <translation id="3480612136143976912">ಲೈವ್ ಕ್ಯಾಪ್ಶನ್‌ಗಾಗಿ ಶೀರ್ಷಿಕೆ ಗಾತ್ರ ಮತ್ತು ಶೈಲಿಯನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ. ಕೆಲವೊಂದು ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೈಟ್‌ಗಳು ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಹ ಬಳಸುತ್ತವೆ.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> ಟ್ಯಾಬ್‌ಗಳು ಕಂಡುಬಂದಿವೆ</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> ಸೆಕೆಂಡುಗಳಲ್ಲಿ <ph name="ALTERNATIVE_BROWSER_NAME" /> ನಲ್ಲಿ ತೆರೆಯಲಾಗುತ್ತದೆ</translation>
@@ -3022,6 +3039,7 @@
 <translation id="3557101512409028104">Family Link ಮೂಲಕ ವೆಬ್‌ಸೈಟ್ ನಿರ್ಬಂಧನೆಗಳು ಮತ್ತು ವೀಕ್ಷಣಾ ಅವಧಿಯನ್ನು ಹೊಂದಿಸಿ</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ಸ್ವಯಂಚಾಲಿತ ವರದಿಗಳನ್ನು ಕಳುಹಿಸಲು ChromeOS ಸಾಧನಗಳಿಗೆ ಅನುಮತಿಸುವುದರಿಂದ, ChromeOS ನಲ್ಲಿ ಏನನ್ನು ಸರಿಪಡಿಸಬೇಕು ಮತ್ತು ಸುಧಾರಿಸಬೇಕು ಎಂಬುದನ್ನು ಆದ್ಯತೆಯ ಪ್ರಕಾರ ನಿರ್ವಹಿಸಲು ನಮಗೆ ಸಹಾಯವಾಗುತ್ತದೆ. Chrome OS ಯಾವಾಗ ಕ್ರ್ಯಾಶ್ ಆಗುತ್ತದೆ, ಯಾವ ಫೀಚರ್‌ಗಳನ್ನು ಬಳಸಲಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಎಷ್ಟು ಮೆಮೊರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ ಎನ್ನುವಂತಹ ವಿಷಯಗಳು ಈ ವರದಿಗಳಲ್ಲಿ ಸೇರಿರಬಹುದು.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />ನಿಮ್ಮ ಮಗುವಿನ ChromeOS ಸಾಧನದ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಯಾವಾಗ ಬೇಕಾದರೂ, ನೀವು ಈ ವರದಿಗಳನ್ನು ಅನುಮತಿಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು ಅಥವಾ ನಿಲ್ಲಿಸಬಹುದು. ನೀವು ಡೊಮೇನ್ ನಿರ್ವಾಹಕರಾಗಿದ್ದರೆ, ನಿರ್ವಾಹಕರ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ನೀವು ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಬಹುದು.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653"><ph name="DEVICE_NAME" /> ಗೆ ಸ್ಕ್ರೀನ್‌ ಬಿತ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ</translation>
 <translation id="3559262020195162408">ಸಾಧನದಲ್ಲಿ ಕಾರ್ಯನೀತಿಯನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ.</translation>
 <translation id="3559533181353831840"><ph name="TIME_LEFT" /> ಸಮಯ ಬಾಕಿ ಉಳಿದಿದೆ</translation>
 <translation id="3560034655160545939">&amp;ಕಾಗುಣಿತ ಪರೀಕ್ಷೆ</translation>
@@ -3189,6 +3207,7 @@
 <translation id="370415077757856453">JavaScript ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="3704331259350077894">ಕಾರ್ಯಾಚರಣೆಯ ಅಂತ್ಯ</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544"><ph name="DEVICE_NAME" /> ಗೆ ಸ್ಕ್ರೀನ್‌ ಬಿತ್ತರಿಸುವುದನ್ನು ಪುನರಾರಂಭಿಸಿ</translation>
 <translation id="3706463572498736864">ಪ್ರತಿ ಶೀಟ್‌ನಲ್ಲಿರುವ ಪುಟಗಳು</translation>
 <translation id="370649949373421643">ವೈ-ಫೈ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="370665806235115550">ಲೋಡ್ ಆಗುತ್ತಿದೆ...</translation>
@@ -3234,6 +3253,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> ಡೇಟಾವನ್ನು 24 ಗಂಟೆಗಳಲ್ಲಿ ಅಳಿಸಲಾಗುತ್ತದೆ</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> ತೆರೆಯುವುದೇ?</translation>
+<translation id="3740945083753997630">ಡಿಸ್‌ಪ್ಲೇ ಮತ್ತು ಪಠ್ಯ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಿ</translation>
 <translation id="3741056951918180319">ಯಾವುದೇ ಸೈಟ್‌ನಲ್ಲಿ ಬಳಸಲು ನೀವು ಯಾವಾಗಲೂ ವಿಸ್ತರಣೆಯನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದು</translation>
 <translation id="3742235229730461951">ಕೊರಿಯನ್ ಕೀಬೋರ್ಡ್ ಲೇಔಟ್</translation>
 <translation id="3742666961763734085">ಆ ಹೆಸರಿನ ಸಾಂಸ್ಥಿಕ ಘಟಕವನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
@@ -3403,6 +3423,7 @@
 <translation id="3867134342671430205">ಡಿಸ್‌ಪ್ಲೇ ಒಂದನ್ನು ಸರಿಸಲು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ ಅಥವಾ ಬಾಣದ ಕೀಗಳನ್ನು ಬಳಸಿ</translation>
 <translation id="3867944738977021751">ಪ್ರಮಾಣಪತ್ರ ಕ್ಷೇತ್ರಗಳು</translation>
 <translation id="3869917919960562512">ತಪ್ಪಾದ ವಿಷಯಸೂಚಿ. </translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> ಆಯ್ಕೆ ರದ್ದುಮಾಡಿ</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> ಸೈಟ್‌ಗಾಗಿ ಯಾವುದೇ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸಲಾಗಿಲ್ಲ</translation>
 <translation id="3871350334636688135">24 ಗಂಟೆಗಳ ನಂತರ, ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಒಂದು ಬಾರಿಯ ಅಪ್‌ಡೇಟ್ ಅನ್ನು ನಿರ್ವಹಿಸಲಿದ್ದು, ಅದು ನೀವು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ ನಿಮ್ಮ ಸ್ಥಳೀಯ ಡೇಟಾವನ್ನು ಅಳಿಸಿ ಹಾಕುತ್ತದೆ. ನಿಮಗೆ ಬೇಕಾಗಿರುವ ಯಾವುದೇ ಸ್ಥಳೀಯ ಡೇಟಾವನ್ನು 24 ಗಂಟೆಗಳ ಒಳಗಾಗಿ ಕ್ಲೌಡ್ ಸಂಗ್ರಹೆಯಲ್ಲಿ ಉಳಿಸಿಕೊಳ್ಳಿ.</translation>
 <translation id="3872220884670338524">ಹೆಚ್ಚಿನ ಕ್ರಿಯೆಗಳು, <ph name="DOMAIN" /> ನಲ್ಲಿ  <ph name="USERNAME" /> ಅವರ ಖಾತೆಯನ್ನು ಉಳಿಸಲಾಗಿದೆ</translation>
@@ -3498,6 +3519,7 @@
 <translation id="3945513714196326460">ಚಿಕ್ಕದಾದ ಹೆಸರನ್ನು ಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="3948027458879361203">ಹೋಸ್ಟ್ ಹೆಸರನ್ನು ಬದಲಿಸಿ</translation>
 <translation id="3948116654032448504">ಚಿತ್ರಕ್ಕಾಗಿ <ph name="SEARCH_ENGINE" /> ಹುಡು&amp;ಕಿ</translation>
+<translation id="3948334586359655083">ಈ ಟ್ಯಾಬ್ ಆಡಿಯೊವನ್ನು ಪ್ಲೇ ಮಾಡುತ್ತಿದೆ</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" />, ಕೆಳಗಿನ ಫೋಲ್ಡರ್‌ಗಳಲ್ಲಿರುವ ಫೈಲ್‌ಗಳನ್ನು ಎಡಿಟ್ ಮಾಡಬಹುದು</translation>
 <translation id="394984172568887996">IE ಯಿಂದ ಆಮದುಗೊಂಡಿದೆ</translation>
 <translation id="3950820424414687140">ಸೈನ್ ಇನ್</translation>
@@ -3556,6 +3578,7 @@
 <translation id="3987544746655539083">ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸದಂತೆ ಈ ಸೈಟ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿ</translation>
 <translation id="3987938432087324095">ಕ್ಷಮಿಸಿ, ಅದನ್ನು ಗ್ರಹಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.</translation>
 <translation id="3987993985790029246">ಲಿಂಕ್ ನಕಲಿಸಿ</translation>
+<translation id="3988124842897276887">ಈ ಟ್ಯಾಬ್ USB ಸಾಧನಕ್ಕೆ ಕನೆಕ್ಟ್ ಆಗಿದೆ</translation>
 <translation id="3988488665753590964">ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಬಣ್ಣಗಳು ಹೇಗೆ ಗೋಚರಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಸೆಟ್ ಮಾಡಿ</translation>
 <translation id="3988996860813292272">ಸಮಯ ವಲಯವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="399179161741278232">ಆಮದುಮಾಡಲಾಗಿದೆ</translation>
@@ -3705,6 +3728,7 @@
 <translation id="4130207949184424187">ಆಮ್ನಿಬಾಕ್ಸ್‌ನಿಂದ ನೀವು ಹುಡುಕಿದಾಗ ತೋರಿಸಬೇಕಾದ ಪುಟವನ್ನು ಈ ವಿಸ್ತರಣೆಯು ಬದಲಾಯಿಸಿದೆ.</translation>
 <translation id="4130750466177569591">ನಾನು ಒಪ್ಪುತ್ತೇನೆ</translation>
 <translation id="413121957363593859">ಘಟಕಾಂಶಗಳು</translation>
+<translation id="4131283654370308898">ಈ ಸೈಟ್‌ನಲ್ಲಿ <ph name="EXTENSION_NAME" /> ಅನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="4131410914670010031">ಕಪ್ಪು ಮತ್ತು ಬಿಳುಪು</translation>
 <translation id="413193092008917129">ನೆಟ್‌ವರ್ಕ್ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ ದಿನಚರಿಗಳು</translation>
 <translation id="4132183752438206707">Google Play Store ನಲ್ಲಿ  ಆ್ಯಪ್‌ಗಳನ್ನು ಹುಡುಕಿ</translation>
@@ -4062,6 +4086,7 @@
 <translation id="4444512841222467874">ಸ್ಥಳಾವಕಾಶವನ್ನು ಲಭ್ಯವಾಗಿಸದೇ ಇದ್ದರೆ, ಬಳಕೆದಾರರು ಮತ್ತು ಡೇಟಾವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆಗೆದುಹಾಕಬಹುದು.</translation>
 <translation id="4445446646109808714">ಅಂತಿಮ ಬಳಕೆದಾರ ಪರವಾನಗಿ ಒಪ್ಪಂದ: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">ಪ್ರತಿಬಿಂಬಿತ</translation>
+<translation id="4448560527907365660">ಸೇವ್ ಮಾಡಿ ಹಾಗೂ ಇನ್ನಷ್ಟು ನೋಡಿ</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> ನಲ್ಲಿ <ph name="USERNAME" /> ಗೆ ಸಂಬಂಧಿಸಿದ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮರೆಮಾಡಿ</translation>
 <translation id="4449247303975391730">ಅನುಮತಿಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="4449948729197510913">ನಿಮ್ಮ ಬಳಕೆದಾರರ ಹೆಸರು, ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಎಂಟರ್‌ಪ್ರೈಸ್ ಖಾತೆಗೆ ಸೇರಿರುತ್ತದೆ. ಖಾತೆಯಲ್ಲಿ ಸಾಧನಗಳನ್ನು ನೋಂದಾಯಿಸಲು, ಮೊದಲಿಗೆ ನಿರ್ವಾಹಕರ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಡೊಮೇನ್ ಮಾಲೀಕತ್ವವನ್ನು ದೃಢೀಕರಿಸಿ. ದೃಢೀಕರಿಸುವುದಕ್ಕಾಗಿ, ನಿಮಗೆ ಖಾತೆಯಲ್ಲಿ ನಿರ್ವಾಹಕರ ಸವಲತ್ತುಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ.</translation>
@@ -4241,6 +4266,7 @@
 <translation id="4601426376352205922">ಓದದಿರುವುದು ಎಂದು ಗುರುತಿಸಿ</translation>
 <translation id="460190672235687855">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ</translation>
 <translation id="4602466770786743961">ನಿಮ್ಮ ಕ್ಯಾಮರಾ ಹಾಗೂ ಮೈಕ್ರೋಫೋನ್ ಪ್ರವೇಶಿಸಲು <ph name="HOST" /> ಅನ್ನು ಯಾವಾಗಲೂ ಅನುಮತಿಸಿ</translation>
+<translation id="4602776638371779614">ಈ ಟ್ಯಾಬ್ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗಾಗಿ ಸಕ್ರಿಯವಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತಿದೆ</translation>
 <translation id="4606551464649945562">ನಿಮ್ಮ ಸುತ್ತಮುತ್ತಲಿನ 3D ನಕ್ಷೆಗಳನ್ನು ರಚಿಸುವುದು ಅಥವಾ ಕ್ಯಾಮರಾ ಸ್ಥಿತಿಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಸೈಟ್‌ಗಳಿಗೆ ಅನುಮತಿಸಬೇಡಿ.</translation>
 <translation id="4608500690299898628">&amp;ಹುಡುಕು...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> ಗೆ ದೋಷ ಎದುರಾಗಿದೆ</translation>
@@ -4424,6 +4450,7 @@
 <translation id="4770119228883592393">ಅನುಮತಿಯನ್ನು ವಿನಂತಿಸಲಾಗಿದೆ, ಪ್ರತಿಕ್ರಿಯಿಸಲು ⌘ + ಆಯ್ಕೆ + ಡೌನ್ ಆ್ಯರೋ ಒತ್ತಿರಿ</translation>
 <translation id="4773112038801431077">Linux ಅನ್ನು ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡಿ</translation>
 <translation id="4774456473286455263">ನಿಮ್ಮ Android ಫೋನ್‌ ಮೂಲಕ ಸೆಟಪ್‌ ಮಾಡಿ</translation>
+<translation id="477548766361111120">ಈ ಸೈಟ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ವಿಸ್ತರಣೆಯನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="477647109558161443">ಒಂದು ಡೆಸ್ಕ್‌ಟಾಪ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ರಚಿಸಿ</translation>
 <translation id="4776594120007763294">ನಂತರ ಓದುವುದಕ್ಕೆ ಒಂದು ಪುಟವನ್ನು ಸೇರಿಸಲು, ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ</translation>
 <translation id="4777458362738635055">ಈ ಸಾಧನದ ಇತರ ಬಳಕೆದಾರರು ಈ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಬಹುದು</translation>
@@ -5218,6 +5245,7 @@
 <translation id="5485102783864353244">ಅಪ್ಲಿಕೇಶನ್‌ ಸೇರಿಸು</translation>
 <translation id="5485435764083510385">ಆದ್ಯತೆಯ ಶೀರ್ಷಿಕೆ ಭಾಷೆ</translation>
 <translation id="5485754497697573575">ಎಲ್ಲಾ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಿ </translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> ಗೆ ಹೊಸದಾದ ಮತ್ತು ಬೇರೆ ರೀತಿಯ ಸಾಧನ ಅಗತ್ಯವಿರಬಹುದು</translation>
 <translation id="5486261815000869482">ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಖಚಿತಪಡಿಸು</translation>
 <translation id="5486561344817861625">ಬ್ರೌಸರ್ ಮರುಪ್ರಾರಂಭಿಸುವಿಕೆ ಸಿಮ್ಯುಲೇಟ್‌ ಮಾಡು</translation>
 <translation id="5487460042548760727">ಪ್ರೊಫೈಲ್ ಅನ್ನು <ph name="PROFILE_NAME" /> ಗೆ ಮರುಹೆಸರಿಸಿ</translation>
@@ -5573,6 +5601,7 @@
 <translation id="5799508265798272974">Linux ವರ್ಚುವಲ್ ಯಂತ್ರ: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">ಕೊನೆಯ ಡೌನ್‌ಲೋಡ್‌ನಿಂದ ಗಮ್ಯಸ್ಥಾನದ ಫೈಲ್ ಅನ್ನು ಮೊಟಕುಮಾಡಲಾಗಿದೆ ಅಥವಾ ತೆಗೆದುಹಾಕಲಾಗಿದೆ.</translation>
 <translation id="5800351251499368110">ಸೈಡ್ ಪ್ಯಾನೆಲ್‌ನಲ್ಲಿ ಹುಡುಕಾಟವನ್ನು ಮುಚ್ಚಿರಿ. ಸೈಡ್ ಪ್ಯಾನೆಲ್‌ನಲ್ಲಿ ಹುಡುಕಾಟ ತೆರೆದಿದೆ.</translation>
+<translation id="5800703268655655701">ಲೈಟ್ ಥೀಮ್‌ ಅಥವಾ ಡಾರ್ಕ್‌ ಥೀಮ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="5801051031414037185">ಫೋನ್ ಸೆಟಪ್ ಮಾಡಿ</translation>
 <translation id="5801568494490449797">ಪ್ರಾಶಸ್ತ್ಯಗಳು</translation>
 <translation id="5803689677801500549">ಉಳಿಸಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ. <ph name="USER_EMAIL" /> ಗಾಗಿ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು <ph name="BRAND" /> ಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು, <ph name="BEGIN_LINK" />CSV ಫೈಲ್ ಆಯ್ಕೆಮಾಡಿ.<ph name="END_LINK" /></translation>
@@ -5688,6 +5717,7 @@
 <translation id="5889282057229379085">ಮಧ್ಯಂತರ CA ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆ: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">ನಿಮ್ಮ ಸ್ವಂತ <ph name="BEGIN_LINK" />ಸಿಂಕ್ ಪಾಸ್‌ಫ್ರೇಸ್<ph name="END_LINK" /> ಮೂಲಕ ಸಿಂಕ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿ. Google Pay ನಲ್ಲಿನ ಪಾವತಿ ವಿಧಾನಗಳು ಮತ್ತು ವಿಳಾಸಗಳನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ. Chrome ನ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವು ಸಿಂಕ್ ಆಗುವುದಿಲ್ಲ.</translation>
 <translation id="5891688036610113830">ಆದ್ಯತೆಯ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗಳು</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> ಫೋಲ್ಡರ್ ಆಯ್ಕೆ ರದ್ದುಮಾಡಿ</translation>
 <translation id="5895138241574237353">ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="5895335062901455404">ನಿಮ್ಮ Google ಖಾತೆಯ ಮೂಲಕ ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಉಳಿಸಲಾದ ಆದ್ಯತೆಗಳು ಮತ್ತು ಚಟುವಟಿಕೆ ಯಾವುದೇ ChromeOS Flex ಸಾಧನದಲ್ಲಿ ಸಿದ್ಧವಾಗಿರುತ್ತವೆ. ಏನನ್ನು ಸಿಂಕ್ ಮಾಡಬೇಕು ಎಂಬುದನ್ನು ನೀವು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಆರಿಸಿಕೊಳ್ಳಬಹುದು.</translation>
 <translation id="589541317545606110"><ph name="VISUAL_SEARCH_PROVIDER" /> ಬಳಸಿಕೊಂಡು ಪುಟವನ್ನು ಹುಡುಕಿ</translation>
@@ -5759,6 +5789,7 @@
 <translation id="5948476936444935795">ಆಮದು ಪ್ರಕ್ರಿಯೆ ರದ್ದುಮಾಡಿ</translation>
 <translation id="5948536763493709626">ಕೀಬೋರ್ಡ್ ಅಥವಾ ಮೌಸ್ ಅನ್ನು ಕನೆಕ್ಟ್ ಮಾಡಿ ಅಥವಾ ನಿಮ್ಮ ಟಚ್‌ಸ್ಕ್ರೀನ್ ಬಳಸಿ ಸೆಟಪ್ ಮುಂದುವರಿಸಿ. ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ನಿಮ್ಮ ಸಾಧನಗಳು ಜೋಡಿಸಲು ಸಿದ್ಧವಾಗಿವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.</translation>
 <translation id="5949544233750246342">ಫೈಲ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
+<translation id="5950762317146173294">ಈ ಫೈಲ್ ವೈರಸ್ ಅಥವಾ ಮಾಲ್‌ವೇರ್ ಆಗಿರಬಹುದು</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" />, ಸ್ಥಳೀಯ ಫಾಂಟ್‌ಗಳನ್ನು ಬಳಸಲು ಬಯಸುತ್ತದೆ</translation>
 <translation id="5951624318208955736">ಮಾನಿಟರ್</translation>
 <translation id="595262438437661818">ಈ ಸೈಟ್‌ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಯಾವುದೇ ವಿಸ್ತರಣೆಗಳಿಗೆ ಆ್ಯಕ್ಸೆಸ್ ಅಗತ್ಯವಿಲ್ಲ</translation>
@@ -5843,6 +5874,7 @@
 <translation id="6022526133015258832">ಪೂರ್ಣ ಪರದೆಯನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="6022659036123304283">Chrome ಅನ್ನು ನಿಮ್ಮದಾಗಿಸಿಕೊಳ್ಳಿ</translation>
 <translation id="6023643151125006053">ಈ ಸಾಧನವು (SN: <ph name="SERIAL_NUMBER" />), <ph name="SAML_DOMAIN" /> ನ ನಿರ್ವಾಹಕರಿಂದ ಲಾಕ್ ಮಾಡಲ್ಪಟ್ಟಿದೆ.</translation>
+<translation id="6024072172641380781">ಈ ಸೈಟ್‌ನಲ್ಲಿ ವಿಸ್ತರಣೆಗಳನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="6025215716629925253">ಸ್ಟ್ಯಾಕ್ ಪತ್ತೆ</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ಸಾಧನ ಸಂಪರ್ಕಗೊಂಡಿದೆ</translation>
 <translation id="6027945736510816438">ನೀವು ಹುಡುಕುತ್ತಿರುವುದು <ph name="WEBSITE" /> ತಾನೇ?</translation>
@@ -6126,6 +6158,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> ರಿಂದ ತೆರೆಯಿರಿ</translation>
 <translation id="6270309713620950855">ನಡ್ಜ್ ಮ್ಯೂಟ್ ಮಾಡಿ</translation>
 <translation id="6270391203985052864">ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಬಹುದೇ ಎಂದು ಸೈಟ್‌ಗಳು ಕೇಳಬಹುದು</translation>
+<translation id="6270486800167535228">ವಿಸ್ತರಣೆಯನ್ನು ಪಿನ್ ಮಾಡಲಾಗಿದೆ. ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳನ್ನು ನೋಡಲು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />ಸಿಸ್ಟಂ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ<ph name="END_LINK1" /> ಮತ್ತು <ph name="BEGIN_LINK2" />ಮಾಪನಗಳನ್ನು<ph name="END_LINK2" /> ಕಳುಹಿಸಿ</translation>
 <translation id="6270896861225278704">ಪ್ರಯಾಣಗಳ ಕಾರ್ಡ್</translation>
 <translation id="6271348838875430303">ತಿದ್ದುಪಡಿಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ</translation>
@@ -6206,6 +6239,7 @@
 <translation id="6344608411615208519">ನಿಮ್ಮ ಪೋಷಕರು ನಿಮ್ಮ <ph name="BEGIN_LINK" />ಬ್ರೌಸರ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತಾರೆ<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910"><ph name="PROXY" /> ಪ್ರಾಕ್ಸಿಗಾಗಿ ನಿಮ್ಮ ಬಳಕೆದಾರರ ಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ನ ಅಗತ್ಯವಿದೆ. ಇದರಿಂದ ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ನಿರ್ವಾಹಕರು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು</translation>
 <translation id="6345878117466430440">ಓದಲಾಗಿದೆ ಎಂದು ಗುರುತಿಸಿ</translation>
+<translation id="6346952829206698721">ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ನಿಂದ ಅಂಟಿಸಿ</translation>
 <translation id="6347010704471250799">ಅಧಿಸೂಚನೆಯನ್ನು ತೋರಿಸಿ</translation>
 <translation id="634887995541211148">ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ Bruschetta ಅನ್ನು ರನ್ ಮಾಡಿ.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ</translation>
@@ -6493,6 +6527,7 @@
 <translation id="6596325263575161958">ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ ಆಯ್ಕೆಗಳು</translation>
 <translation id="6596816719288285829">IP ವಿಳಾಸ</translation>
 <translation id="6597017209724497268">ಮಾದರಿಗಳು</translation>
+<translation id="6597324406048772521">ಈ ಸೈಟ್‌ನಲ್ಲಿ ವಿಸ್ತರಣೆಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿಲ್ಲ</translation>
 <translation id="6597331566371766302">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಕೆಳಗಿನ ವಿಸ್ತರಣೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿದ್ದಾರೆ:</translation>
 <translation id="659894938503552850">ಹೊಚ್ಚ ಹೊಸತು</translation>
 <translation id="6601262427770154296">ಬಳಕೆದಾರ ನಿಘಂಟುಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
@@ -6510,6 +6545,7 @@
 <translation id="6609478180749378879">ನೀವು ಅಜ್ಞಾತ ಮೋಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿದ ಬಳಿಕ, ಸೈನ್ ಇನ್ ಡೇಟಾವನ್ನು ಈ ಸಾಧನದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಮತ್ತೆ ನಿಮ್ಮ ಸಾಧನದ ಮೂಲಕ ಈ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ.</translation>
 <translation id="6610002944194042868">ಅನುವಾದ ಆಯ್ಕೆಗಳು</translation>
 <translation id="6611972847767394631">ನಿಮ್ಮ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಇಲ್ಲಿ ಕಂಡುಕೊಳ್ಳಿ</translation>
+<translation id="6613267708691765962">ಮಾಲ್‌ವೇರ್‌ಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="6613668613087513143">ಈ ಅಪ್‌ಡೇಟ್‌ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಈ ಸಾಧನದಲ್ಲಿ ಸಾಕಷ್ಟು ಸ್ಥಳಾವಕಾಶವಿಲ್ಲ. ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ <ph name="NECESSARY_SPACE" /> ಅನ್ನು ತೆರವುಗೊಳಿಸಿ ಮತ್ತು ನಿಮ್ಮ Chrome ಬ್ರೌಸರ್‌ನಿಂದ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6615455863669487791">ನನಗೆ ತೋರಿಸಿ</translation>
 <translation id="6618097958368085618">ಪರವಾಗಿಲ್ಲ, ಇರಿಸಿ</translation>
@@ -6758,6 +6794,7 @@
 <translation id="6825184156888454064">ಹೆಸರಿನ ಪ್ರಕಾರ ವಿಂಗಡಿಸಿ</translation>
 <translation id="6826872289184051766">USB ಮೂಲಕ ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="6827121912381363404">ಎಲ್ಲಾ ಎಕ್ಸ್‌ಟೆನ್ಷನ್‌‌ಗಳು <ph name="PERMITTED_SITE" /> ಅನ್ನು ಓದಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ಅನುಮತಿಸಿ</translation>
+<translation id="6827422464708099620">ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳನ್ನು ನೋಡಲು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="6827517233063803343">ನಿಮ್ಮ Google ಖಾತೆಯ ಮೂಲಕ ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿದ ಎಲ್ಲಾ ChromeOS ಸಾಧನಗಳಾದ್ಯಂತ ನಿಮ್ಮ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ. ಬ್ರೌಸರ್ ಸಿಂಕ್ ಆಯ್ಕೆಗಳಿಗಾಗಿ, <ph name="LINK_BEGIN" />Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ<ph name="LINK_END" /> ಹೋಗಿ.</translation>
 <translation id="6827767090350758381">ಡಿಸೆಂಬರ್ 2022 ರ ನಂತರ Chrome ಆ್ಯಪ್‌ಗಳ ಹಳೆಯ ಆವೃತ್ತಿಗಳು Windows ಸಾಧನಗಳಲ್ಲಿ ತೆರೆಯುವುದಿಲ್ಲ. ಹೊಸ ಆವೃತ್ತಿಗೆ ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಅಥವಾ ಈ ಆ್ಯಪ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲು ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="6828153365543658583">ಕೆಳಗಿನ ಬಳಕೆದಾರರಿಗೆ ಸೈನ್-ಇನ್ ಮಾಡುವುದನ್ನು ನಿರ್ಬಂಧಿಸು:</translation>
@@ -6821,6 +6858,7 @@
 <translation id="6868934826811377550">ವಿವರಗಳನ್ನು ನೋಡಿ</translation>
 <translation id="6871644448911473373">OCSP ಪ್ರತಿಕ್ರಿಯೆ ನೀಡುಗ: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">ನೀವು ನಮೂದಿಸಿದ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸರ್ವರ್‌ ನಿಂದ ತಿರಸ್ಕರಿಸಲಾಗಿದೆ.</translation>
+<translation id="6873571253135628430">ಸೈಟ್ ಅನುಮತಿಗಳನ್ನು ಬದಲಾಯಿಸಿ</translation>
 <translation id="6876155724392614295">ಬೈಕ್</translation>
 <translation id="6876469544038980967">ಉಪಯುಕ್ತವಲ್ಲ</translation>
 <translation id="6878422606530379992">ಸೆನ್ಸರ್‌ಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ</translation>
@@ -6961,6 +6999,7 @@
 <translation id="6993050154661569036">Chrome ಬ್ರೌಸರ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="6995899638241819463">ಡೇಟಾ ಉಲ್ಲಂಘನೆಯಿಂದಾಗಿ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಿದರೆ ನಿಮಗೆ ಎಚ್ಚರಿಕೆ ನೀಡಲಾಗುತ್ತದೆ</translation>
 <translation id="6995984090981858039">ChromeOS ಸಾಧನದ ಮಾಹಿತಿ ಮತ್ತು ಡೇಟಾವನ್ನು ಓದಿರಿ</translation>
+<translation id="6996438701394974959">ಡಿಸ್‌ಪ್ಲೇ ಮತ್ತು ಪಠ್ಯ ಗಾತ್ರವನ್ನು ಹೆಚ್ಚಿಸಿ</translation>
 <translation id="6997553674029032185">ಸೈಟ್‌ಗೆ ಹೋಗಿ</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - ಚಟುವಟಿಕೆ ಲಾಗ್</translation>
 <translation id="6997707937646349884">ನಿಮ್ಮ ಸಾಧನಗಳಲ್ಲಿ:</translation>
@@ -7082,6 +7121,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{ಆ್ಯಪ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ}one{ಆ್ಯಪ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ}other{ಆ್ಯಪ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ}}</translation>
 <translation id="7099337801055912064">ದೊಡ್ಡ ಗಾತ್ರದ PPD ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಗರಿಷ್ಠ ಗಾತ್ರ 250 kB ಆಗಿದೆ.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{ಯಾವುದೇ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಅಪಾಯಕ್ಕೀಡಾಗಿಲ್ಲ}=1{{COUNT} ಪಾಸ್‌ವರ್ಡ್ ಅಪಾಯಕ್ಕೀಡಾಗಿದೆ}one{{COUNT} ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಅಪಾಯಕ್ಕೀಡಾಗಿವೆ}other{{COUNT} ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಅಪಾಯಕ್ಕೀಡಾಗಿವೆ}}</translation>
+<translation id="710047887584828070">ಈ ಟ್ಯಾಬ್‌ನ ವಿಷಯವನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ</translation>
 <translation id="7102832101143475489">ವಿನಂತಿಯ ಅವಧಿ ಮೀರಿದೆ</translation>
 <translation id="710640343305609397">ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="7107609441453408294">ಎಲ್ಲಾ ಸ್ಪೀಕರ್‌ಗಳ ಮೂಲಕ ಒಂದೇ ಆಡಿಯೊವನ್ನು ಪ್ಲೇ ಮಾಡಿ</translation>
@@ -7177,6 +7217,7 @@
 <translation id="719791532916917144">ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್</translation>
 <translation id="7198503619164954386">ನೀವು ಎಂಟರ್‌ಪ್ರೈಸ್-ನೋಂದಣಿ ಮಾಡಿದ ಸಾಧನದಲ್ಲಿರಬೇಕು</translation>
 <translation id="7199158086730159431">ಸಹಾಯ ಪಡೆಯಿರಿ</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ವಿರಾಮಗೊಳಿಸಿ</translation>
 <translation id="7200083590239651963">ಕಾನ್ಫಿಗರೇಶನ್ ಆಯ್ಕೆ ಮಾಡಿ</translation>
 <translation id="720110658997053098">ಈ ಸಾಧನವನ್ನು ಕಿಯೋಸ್ಕ್-ಮೋಡ್‌ನಲ್ಲಿ ಶಾಶ್ವತವಾಗಿ ಇರಿಸಿಕೊಳ್ಳಿ</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ</translation>
@@ -7223,6 +7264,7 @@
 <translation id="7241389281993241388">ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು <ph name="TOKEN_NAME" /> ಗೆ ದಯವಿಟ್ಟು ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation>
 <translation id="7241763419756062043">ನಿಮ್ಮ ಹುಡುಕಾಟ ಮತ್ತು ಬ್ರೌಸಿಂಗ್ ಗುಣಮಟ್ಟವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="7243632151880336635">ತೆರವುಗೊಳಿಸು ಮತ್ತು ಸೈನ್ ಔಟ್ ಮಾಡು</translation>
+<translation id="7245162963905242662">Google ಮೂಲಕ ಈ ಪುಟವನ್ನು ಹುಡುಕಿ...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (ಅತ್ಯುತ್ತಮ)</translation>
 <translation id="7246230585855757313">ನಿಮ್ಮ ಭದ್ರತೆ ಕೀ ಅನ್ನು ಮರುಸೇರ್ಪಡಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="724835896049478274">Android ಆ್ಯಪ್‌ಗಳಿಗೆ ಖಾತೆಗಳು ಲಭ್ಯವಿದೆ</translation>
@@ -7530,8 +7572,10 @@
 <translation id="7497981768003291373">ನಿಮ್ಮಲ್ಲಿ ಇತ್ತೀಚೆಗೆ ಕ್ಯಾಪ್ಚರ್‌ ಆಗಿರುವ WebRTC ಪಠ್ಯ ಲಾಗ್‌ಗಳು ಇಲ್ಲ.</translation>
 <translation id="7501957181231305652">ಅಥವಾ</translation>
 <translation id="7502220299952823578">"ಯಾವಾಗಲೂ ಈ ಸೈಟ್‌ಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿರಿಸಿಕೊಳ್ಳಿ" ಪಟ್ಟಿಗೆ ಸೇರಿಸಿ</translation>
+<translation id="7502528909759062987">ಟ್ಯಾಬ್ <ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ವಿರಾಮಗೊಳಿಸಿ</translation>
 <translation id="7503191893372251637">Netscape ಪ್ರಮಾಣಪತ್ರ ಪ್ರಕಾರ</translation>
 <translation id="7503985202154027481">ನೀವು ಈ ಸೈಟ್‌ಗೆ ಭೇಟಿ ನೀಡಿರುವ ಕುರಿತಾದ ದಾಖಲೆಗಳನ್ನು ನಿಮ್ಮ ಭದ್ರತೆ ಕೀಯಲ್ಲಿ ಉಳಿಸಲಾಗಿರುತ್ತದೆ.</translation>
+<translation id="7504145862399276792">ಈ ಟ್ಯಾಬ್‌ನ ಆಡಿಯೊವನ್ನು ಮ್ಯೂಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="750509436279396091">ಡೌನ್‌ಲೋಡ್‌ಗಳ ಫೋಲ್ಡರ್ ಅನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="7505149250476994901">ಅಕ್ಷರದ ಮೊದಲು "ದೊಡ್ಡಕ್ಷರ" ಎಂದು ಹೇಳಿ</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> ಮರೆಮಾಡಿ</translation>
@@ -7771,6 +7815,7 @@
 <translation id="7701040980221191251">ಯಾವುದೂ ಇಲ್ಲ</translation>
 <translation id="7701265686005869308">ಪ್ರೊಫೈಲ್ ಅನ್ನು ಮುಚ್ಚಿ</translation>
 <translation id="7701869757853594372">ಬಳಕೆದಾರರು ನಿರ್ವಹಿಸುತ್ತಾರೆ</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> ಗೆ ಬಿತ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ</translation>
 <translation id="7702574632857388784">ಪಟ್ಟಿಯಿಂದ <ph name="FILE_NAME" /> ತೆಗೆದುಹಾಕಿ</translation>
 <translation id="7702907602086592255">ಡೊಮೇನ್</translation>
 <translation id="7704305437604973648">ಕಾರ್ಯ</translation>
@@ -7889,6 +7934,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">ಆರಂಭಿಕ ಪುಟದ ಹಿನ್ನೆಲೆಯನ್ನು <ph name="CATEGORY" /> ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ.</translation>
+<translation id="7791436592012979144">ಹಿಮ್ಮುಖ ಸ್ಕ್ರಾಲ್ ಮಾಡುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="7791543448312431591">ಸೇರಿಸು</translation>
 <translation id="7792012425874949788">ಸೈನ್ ಇನ್ ಮಾಡುವುದರೊಂದಿಗೆ ಯಾವುದೋ ತಪ್ಪು ಸಂಭವಿಸಿದೆ</translation>
 <translation id="7792388396321542707">ಹಂಚಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಿ</translation>
@@ -8055,6 +8101,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% ಪೂರ್ಣಗೊಂಡಿದೆ</translation>
 <translation id="7939062555109487992">ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> ಅನ್ನು ಓದಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ಈ ವಿಸ್ತರಣೆಯ ಐಕಾನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation>
+<translation id="793923212791838">ನಿಮ್ಮ ಸಾಧನವನ್ನು ಈ ಸೈಟ್ ಜೊತೆಗೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="7939328347457537652">ಸಾಧನ ಪ್ರಮಾಣೀಕರಣಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="7939412583708276221">ಹೇಗಾದರೂ ಇರಿಸಿ</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> ಪ್ರಕಾರ ವಿಂಗಡಿಸಿ</translation>
@@ -8228,6 +8275,7 @@
 <translation id="8084114998886531721">ಉಳಿಸಿರುವ ಪಾಸ್‌ವರ್ಡ್</translation>
 <translation id="8084510406207562688">ಎಲ್ಲಾ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಿ</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ...</translation>
+<translation id="8086121155774250556">ಈ ಟ್ಯಾಬ್ ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತಿದೆ</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ</translation>
 <translation id="8086610718778464681">Linux ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{ಈ ಫೈಲ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ. ಅದನ್ನು ಡಿಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಅದರ ಮಾಲೀಕರಿಗೆ ಕೇಳಿ.}one{ಈ ಫೈಲ್‌ಗಳಲ್ಲಿನ ಕೆಲವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್‌ ಮಾಡಲಾಗಿದೆ. ಡಿಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಅವುಗಳ ಮಾಲೀಕರನ್ನು ಕೇಳಿ}other{ಈ ಫೈಲ್‌ಗಳಲ್ಲಿನ ಕೆಲವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್‌ ಮಾಡಲಾಗಿದೆ. ಡಿಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಅವುಗಳ ಮಾಲೀಕರನ್ನು ಕೇಳಿ}}</translation>
@@ -8530,6 +8578,7 @@
 <translation id="8345848587667658367">ನೀವು ಈಗ ನಿಮ್ಮ ಫೋನ್‌ನ ಇತ್ತೀಚಿನ ಫೋಟೋಗಳು, ಮೀಡಿಯಾ, ಅಧಿಸೂಚನೆಗಳು ಮತ್ತು ಆ್ಯಪ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು</translation>
 <translation id="8347227221149377169">ಮುದ್ರಣ ಕಾರ್ಯಗಳು</translation>
 <translation id="834785183489258869">ಅಜ್ಞಾತ ಮೋಡ್‌ನಲ್ಲಿ ಇರುವಾಗ, ವಿವಿಧ ಸೈಟ್‌ಗಳಾದ್ಯಂತ ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಚಟುವಟಿಕೆಯನ್ನು ನೋಡಲು, ಉದಾಹರಣೆಗೆ, ಜಾಹೀರಾತುಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸುವುದಕ್ಕಾಗಿ ನಿಮ್ಮ ಕುಕೀಗಳನ್ನು ಬಳಸಲು ಸೈಟ್‌ಗಳಿಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಫೀಚರ್‌ಗಳು ಕೆಲವು ಸೈಟ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು.</translation>
+<translation id="8349325309815489209">ಈ ಸೈಟ್‌ನಲ್ಲಿ ವಿಸ್ತರಣೆಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ</translation>
 <translation id="8349826889576450703">ಲಾಂಚರ್</translation>
 <translation id="8350789879725387295">ಡಾಕ್‌ನಲ್ಲಿರುವ ಸ್ಟೈಲಸ್ ಟೂಲ್‌ಗಳು</translation>
 <translation id="8351316842353540018">ಯಾವಾಗಲೂ a11y ಆಯ್ಕೆಗಳನ್ನು ತೋರಿಸಿ</translation>
@@ -8558,6 +8607,7 @@
 <translation id="8370294614544004647">ಲ್ಯಾಪ್‌ಟಾಪ್ ಮುಚ್ಚಿದಾಗ ನಿದ್ರಾವಸ್ಥೆ ಮೋಡ್‌ಗೆ ಬದಲಿಸಿ</translation>
 <translation id="8371695176452482769">ಈಗ ಮಾತನಾಡಿ</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{ಸೈಟ್‌ ಅನ್ನು ಮ್ಯೂಟ್‌ ಮಾಡಿ}one{ಸೈಟ್‌ಗಳನ್ನು ಮ್ಯೂಟ್‌ ಮಾಡಿ}other{ಸೈಟ್‌ಗಳನ್ನು ಮ್ಯೂಟ್‌ ಮಾಡಿ}}</translation>
+<translation id="8372441176515901959">ವಿನಂತಿಯನ್ನು ವಜಾಗೊಳಿಸಿ</translation>
 <translation id="8373652277231415614">Crostini ಹಂಚಿಕೊಂಡ ಡೈರೆಕ್ಟರಿಗಳು</translation>
 <translation id="8374243500935816406">ನಿಮ್ಮ ಎಲ್ಲಾ ಡಿಸ್‌ಪ್ಲೇಗಳಲ್ಲಿ ವಿಂಡೋಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸೈಟ್‌ಗಳನ್ನು ಅನುಮತಿಸಬೇಡಿ</translation>
 <translation id="8376137163494131156">Google Cast ನಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ನಮಗೆ ತಿಳಿಸಿ.</translation>
@@ -8917,6 +8967,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> ರದ್ದುಗೊಳಿಸಿ</translation>
 <translation id="8688672835843460752">ಲಭ್ಯವಿದೆ</translation>
 <translation id="8690129572193755009">ಪ್ರೊಟೊಕಾಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸೈಟ್‌ಗಳು ಕೇಳಬಹುದು</translation>
+<translation id="869144235543261764">ಈ ಟ್ಯಾಬ್ ಚಿತ್ರದಲ್ಲಿ ಚಿತ್ರ ಮೋಡ್‌ನಲ್ಲಿ ವೀಡಿಯೊವನ್ನು ಪ್ಲೇ ಮಾಡುತ್ತಿದೆ</translation>
 <translation id="8692107307702113268">ಪಾಸ್‌ವರ್ಡ್ 1000 ಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿದೆ</translation>
 <translation id="8694596275649352090">ಮಲಗುವಾಗ ಅಥವಾ ಮುಚ್ಚಳವು ಮುಚ್ಚಿರುವಾಗ ಲಾಕ್ ಮಾಡಿ</translation>
 <translation id="8695139659682234808">ಸೆಟಪ್‌ನ ನಂತರ ಪೋಷಕ ನಿಯಂತ್ರಣಗಳನ್ನು ಸೇರಿಸಿ</translation>
@@ -9151,6 +9202,7 @@
 <translation id="8877448029301136595">[ಮೂಲ ಡೈರೆಕ್ಟರಿ]</translation>
 <translation id="8879284080359814990">ಟ್ಯಾಬ್‌ನಂತೆ &amp;ತೋರಿಸಿ</translation>
 <translation id="8879921471468674457">ಸೈನ್-ಇನ್ ಮಾಹಿತಿಯನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ</translation>
+<translation id="8880009256105053174">Google ಮೂಲಕ ಈ ಪುಟವನ್ನು ಹುಡುಕಿ...</translation>
 <translation id="8880054210564666174">ಸಂಪರ್ಕ ಪಟ್ಟಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಕನೆಕ್ಷನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಅಥವಾ <ph name="LINK_BEGIN" />ಪುನಃ ಪ್ರಯತ್ನಿಸಿ<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. ತಾಂತ್ರಿಕ ಬೆಂಬಲಕ್ಕಾಗಿ, <ph name="CARRIER_NAME" /> ಅನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="888256071122006425">ಮೌಸ್ ಮತ್ತು ಟಚ್‌ಪ್ಯಾಡ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
@@ -9415,6 +9467,7 @@
 <translation id="9102864637938129124">ಜಾಹೀರಾತುಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಸೈಟ್‌ಗಳು ಮತ್ತು ಜಾಹೀರಾತುದಾರರು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು. ಈ ಸೆಟ್ಟಿಂಗ್ ಆನ್ ಆಗಿದೆ.</translation>
 <translation id="9103479157856427471">ಜೂಮ್ ಮಾಡಿದ ಸ್ಕ್ರೀನ್, ಕೀಬೋರ್ಡ್ ಫೋಕಸ್ ಅನ್ನು ಅನುಸರಿಸುತ್ತದೆ</translation>
 <translation id="9103868373786083162">ಇತಿಹಾಸವನ್ನು ವೀಕ್ಷಿಸಲು ಹಿಂದೆ, ಸಂದರ್ಭದ ಮೆನುಗೆ ಹೋಗಲು ಒತ್ತಿ</translation>
+<translation id="9107096627210171112">ಅನುವಾದಿಸಿ...</translation>
 <translation id="9108035152087032312">ಹೆಸರಿನ &amp;ವಿಂಡೋ...</translation>
 <translation id="9108072915170399168">ಪ್ರಸ್ತುತ ಡೇಟಾ ಬಳಕೆಯ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಇಂಟರ್ನೆಟ್ ಇಲ್ಲದೆಯೇ ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆ</translation>
 <translation id="9108294543511800041">ನೀವು ಈಗ ನಿಮ್ಮ ಫೋನ್‌ನ ಇತ್ತೀಚಿನ ಫೋಟೋಗಳು, ಮೀಡಿಯಾ ಮತ್ತು ಅಧಿಸೂಚನೆಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು</translation>
@@ -9572,6 +9625,7 @@
 <translation id="947329552760389097">&amp;ಅಂಶಗಳನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="947526284350604411">ನಿಮ್ಮ ಉತ್ತರ</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> ಗೆ ಈ ಫೋಲ್ಡರ್‌ನಲ್ಲಿರುವ ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಇದರಲ್ಲಿ ಸಿಸ್ಟಂ ಫೈಲ್‍ಗಳಿವೆ</translation>
+<translation id="949807244219288032">ಈ ಟ್ಯಾಬ್ HID ಸಾಧನಕ್ಕೆ ಕನೆಕ್ಟ್ ಆಗಿದೆ</translation>
 <translation id="950307215746360464">ಸೆಟಪ್ ಗೈಡ್</translation>
 <translation id="951991426597076286">ನಿರಾಕರಿಸಿ</translation>
 <translation id="952471655966876828">ಸಾಧನವನ್ನು ಆನ್ ಮಾಡಿದಾಗ ಮತ್ತು ಬಳಸುತ್ತಿರುವಾಗ ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಆಗುತ್ತದೆ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 164e276..989580d 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">프로필 오류가 발생했습니다.</translation>
 <translation id="1253664522045778676">검색결과를 클릭하면 페이지가 현재 탭에서 열립니다.</translation>
 <translation id="1254593899333212300">인터넷에 바로 연결</translation>
+<translation id="1256588359404100567">이전 기기에서 동기화된 설정</translation>
 <translation id="1257336506558170607">선택한 인증서 내보내기</translation>
 <translation id="1258491128795710625">새로운 기능</translation>
 <translation id="1259152067760398571">안전 확인이 어제 실행됨</translation>
@@ -1006,6 +1007,7 @@
 <translation id="18260074040409954">어느 기기에서든 저장된 비밀번호를 사용할 수 있습니다. <ph name="EMAIL" />의 <ph name="GOOGLE_PASSWORD_MANAGER" />에 저장됩니다.</translation>
 <translation id="1826192255355608658">Chrome 브라우저 북마크, 비밀번호, 방문 기록 등을 동기화</translation>
 <translation id="1826516787628120939">확인 중</translation>
+<translation id="1826657447823925402">역방향 스크롤 사용 중지됨</translation>
 <translation id="1827504459960247692">핫스팟 이름</translation>
 <translation id="1828378091493947763">이 기기에서 지원되지 않는 플러그인입니다.</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{모두 열기(&amp;O)}=1{북마크 열기(&amp;O)}other{{COUNT}개 모두 열기(&amp;O)}}</translation>
@@ -1295,6 +1297,7 @@
 <translation id="2081816110395725788">배터리 사용 시 전력 유휴 상태로 설정</translation>
 <translation id="2082187087049518845">탭 그룹화</translation>
 <translation id="2082510809738716738">테마 색상 선택</translation>
+<translation id="2084891381052978619">Chromebook 설정을 완료한 후 설정에서도 이 옵션을 찾을 수 있습니다</translation>
 <translation id="208586643495776849">다시 시도해 주세요.</translation>
 <translation id="208634871997892083">연결 유지 VPN</translation>
 <translation id="2087822576218954668">인쇄: <ph name="PRINT_NAME" /></translation>
@@ -1364,6 +1367,7 @@
 <translation id="212862741129535676">주파수 상태 점유율</translation>
 <translation id="212876957201860463">휴대기기 설정 준비 중...</translation>
 <translation id="2131077480075264"><ph name="IMPORT_NAME" />에서 허용하지 않으므로 '<ph name="APP_NAME" />'을(를) 설치할 수 없습니다.</translation>
+<translation id="2133775869826239001">설정할 기능 더 선택</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> 다시 시도</translation>
 <translation id="2134905185275441536">시스템 CA</translation>
 <translation id="21354425047973905">PIN 숨기기</translation>
@@ -2948,6 +2952,7 @@
 <translation id="347785443197175480"><ph name="HOST" />에서 카메라와 마이크에 액세스하도록 계속 허용</translation>
 <translation id="3479552764303398839">나중에</translation>
 <translation id="3479685872808224578">인쇄 서버를 찾을 수 없습니다. 주소를 확인한 다음 다시 시도해 보세요.</translation>
+<translation id="3479753605053415848">클릭하여 Chrome을 맞춤설정하세요</translation>
 <translation id="3480612136143976912">실시간 자막의 자막 크기 및 스타일을 맞춤설정하세요. 일부 앱 및 사이트에서도 이 설정이 사용됩니다.</translation>
 <translation id="3480827850068960424">탭 <ph name="NUM" />개 찾음</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" />초 후 <ph name="ALTERNATIVE_BROWSER_NAME" />에서 열립니다.</translation>
@@ -3241,6 +3246,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> 데이터가 24시간 후에 삭제됩니다</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" />을(를) 여시겠습니까?</translation>
+<translation id="3740945083753997630">디스플레이 및 텍스트 크기 줄이기</translation>
 <translation id="3741056951918180319">확장 프로그램을 클릭하면 모든 사이트에서 사용할 수 있습니다</translation>
 <translation id="3742235229730461951">한국어 자판 배열</translation>
 <translation id="3742666961763734085">해당 이름의 조직 단위를 찾을 수 없습니다. 다시 시도해 보세요.</translation>
@@ -4067,6 +4073,7 @@
 <translation id="4444512841222467874">저장 공간이 충분하지 않으면 사용자 및 데이터가 자동으로 삭제될 수 있습니다.</translation>
 <translation id="4445446646109808714">최종 사용자 라이선스 계약: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">미러링</translation>
+<translation id="4448560527907365660">저장 및 더보기</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" />에서 <ph name="USERNAME" /> 비밀번호 숨기기</translation>
 <translation id="4449247303975391730">권한 관리</translation>
 <translation id="4449948729197510913">사용자 이름이 조직의 회사 계정에 속합니다. 기기를 계정에 등록하려면 먼저 관리 콘솔에서 도메인 소유권을 인증하세요. 인증하려면 계정에서 관리자 권한이 있어야 합니다.</translation>
@@ -5223,6 +5230,7 @@
 <translation id="5485102783864353244">앱 추가</translation>
 <translation id="5485435764083510385">선호하는 자막 언어</translation>
 <translation id="5485754497697573575">모든 탭 복원</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" />에 최신 또는 다른 종류의 기기가 필요할 수 있습니다</translation>
 <translation id="5486261815000869482">비밀번호 확인</translation>
 <translation id="5486561344817861625">브라우저 다시 시작 시뮬레이션</translation>
 <translation id="5487460042548760727">프로필 이름을 다음으로 변경 <ph name="PROFILE_NAME" /></translation>
@@ -5577,6 +5585,7 @@
 <translation id="5799508265798272974">Linux 가상 머신: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">마지막 다운로드 이후 대상 파일이 잘렸거나 삭제되었습니다.</translation>
 <translation id="5800351251499368110">측면 패널의 검색을 닫습니다. 측면 패널에 검색이 열려 있습니다.</translation>
+<translation id="5800703268655655701">밝은 테마 또는 어두운 테마 선택</translation>
 <translation id="5801051031414037185">휴대전화 설정</translation>
 <translation id="5801568494490449797">환경설정</translation>
 <translation id="5803689677801500549">저장한 비밀번호가 여기에 표시됩니다. <ph name="USER_EMAIL" />님을 위해 <ph name="BRAND" />로 비밀번호를 가져오려면 <ph name="BEGIN_LINK" />CSV 파일을 선택하세요.<ph name="END_LINK" /></translation>
@@ -6963,6 +6972,7 @@
 <translation id="6993050154661569036">Chrome 브라우저 업데이트 중</translation>
 <translation id="6995899638241819463">데이터 유출로 인해 비밀번호가 노출된 경우 알림</translation>
 <translation id="6995984090981858039">ChromeOS 기기 정보와 데이터를 읽습니다.</translation>
+<translation id="6996438701394974959">디스플레이 및 텍스트 크기 확대</translation>
 <translation id="6997553674029032185">사이트로 이동</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - 활동 로그</translation>
 <translation id="6997707937646349884">기기에서 다음과 같이 설정하세요.</translation>
@@ -7889,6 +7899,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">시작 페이지 배경화면이 <ph name="CATEGORY" />(으)로 변경되었습니다.</translation>
+<translation id="7791436592012979144">역방향 스크롤 사용 설정됨</translation>
 <translation id="7791543448312431591">추가</translation>
 <translation id="7792012425874949788">로그인 중에 문제가 발생했습니다.</translation>
 <translation id="7792388396321542707">공유 중지</translation>
@@ -8056,6 +8067,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% 완료됨</translation>
 <translation id="7939062555109487992">고급 옵션</translation>
 <translation id="7939073735115504773"><ph name="HOST" />을 읽고 변경하려면 이 확장 프로그램의 아이콘을 클릭하세요.</translation>
+<translation id="793923212791838">이 사이트에서 기기를 사용할 수 없음</translation>
 <translation id="7939328347457537652">기기 인증서 관리</translation>
 <translation id="7939412583708276221">계속 다운로드</translation>
 <translation id="7940265372707990269">정렬 기준: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb
index dbab439..a522bfe8 100644
--- a/chrome/app/resources/generated_resources_ky.xtb
+++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Жокко чыгарылды</translation>
 <translation id="1022489261739821355"><ph name="BEGIN_LINK" />Google аккаунтуңуздагы<ph name="END_LINK" /> сырсөздөр көрсөтүлүүдө</translation>
 <translation id="1022669824195822609">Түзмөгүңүз <ph name="DOMAIN" /> тарабынан башкарылууда. Администраторлор бул түзмөктөгү бардык профилдердин маалыматын колдоно алышат.</translation>
+<translation id="1024734233509995696">Бул өтмөк камераңызды же микрофонуңузду колдонуп жатат</translation>
 <translation id="1026655690966755180">Оюкча кошуу</translation>
 <translation id="1026822031284433028">Сүрөттү жүктөө</translation>
 <translation id="1026959648338730078">Windows Hello же тышкы коопсуздук ачкычы</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">Телефонуңузга туташууда</translation>
 <translation id="1158080958325422608">Баш тамга менен жазуу</translation>
 <translation id="1158238185437008462">Эстен кеткис көз ирмемдерди көрүү</translation>
+<translation id="1159879754517035595">Кеңейтүү параметрлерин башкаруу</translation>
 <translation id="1160842321113409343">Купуялыгыңызды коргоо үчүн сайттар кошулган учурдан тарта 4 аптадан кийин тизмеден автоматтык түрдө өчүрүлөт. Эгер сайтка кайра кирсеңиз, ал тизмеде кайра пайда болуп калат. Сайт кызыккан нерселеримди аныктабасын десеңиз, аны өчүрүп салыңыз.</translation>
 <translation id="1161575384898972166">Кардардын тастыктамасын экспорттоо үчүн <ph name="TOKEN_NAME" /> кириңиз.</translation>
 <translation id="116173250649946226">Администраторуңуз өзгөртүүгө мүмкүн болбогон демейки теманы койгон.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> файлында купуя же кооптуу маалымат бар. Администраторуңуз мындай дейт: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> HID түзмөгүнө туташканы жатат</translation>
 <translation id="1172750555846831341">Туурасынан мукабалоо</translation>
+<translation id="1173036203040243666">Бул өтмөк Bluetooth түзмөгүнө туташтырылган</translation>
 <translation id="1173332155861271669">Passpoint провайдеринин чоо-жайы</translation>
 <translation id="1173894706177603556">Атын өзгөртүү</translation>
 <translation id="1174073918202301297">Кыска жол кошулду</translation>
@@ -661,6 +664,7 @@
 <translation id="1556537182262721003">Кеңейтүү каталогу профилге жылган жок.</translation>
 <translation id="1558391695376153246">Жашыруун өтмөктөрдү жабуу</translation>
 <translation id="155865706765934889">Тийме такта</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну улантуу</translation>
 <translation id="1562119309884184621">Бул байланыш кошулса, ал кийинки бөлүшүү үчүн да сакталып калат</translation>
 <translation id="1563137369682381456">Мөөнөтү аяктай турган күн</translation>
 <translation id="1563702743503072935">Аккаунтуңузга кирип турганда, анда сакталган сырсөздөр түзмөктө жеткиликтүү болот</translation>
@@ -792,6 +796,7 @@
 <translation id="1648528859488547844">Жайгашкан жерди аныктоо үчүн Wi‑Fi же мобилдик тармактар колдонулсун</translation>
 <translation id="164936512206786300">Bluetooth түзмөгүн ажыратуу</translation>
 <translation id="1651008383952180276">Бир купуя сөз айкашын эки жолу киргизишиңиз керек</translation>
+<translation id="1651609627703324721">Бул өтмөктө VR режиминдеги материалдар гарнитурага өткөрүлөт</translation>
 <translation id="1652326691684645429">Nearby Share функциясын иштетүү</translation>
 <translation id="1654580009054503925">Сурамдарды көрсөтүүгө тыюу салынды</translation>
 <translation id="1656528038316521561">Фондун тунуктугу</translation>
@@ -891,6 +896,7 @@
 <translation id="173522743738009831">Privacy Sandbox жөнүндө маалымат</translation>
 <translation id="173628468822554835">Түшүндүм. Демейки жөндөө боюнча сиз ачкан сайттар билдирмелерди жөнөтпөйт.</translation>
 <translation id="1737968601308870607">Файл мүчүлүштүгү</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Сайттын уруксаттарын өзгөртүү үчүн тандоо</translation>
 <translation id="1741190788710022490">Этият кубаттоо</translation>
 <translation id="174123615272205933">Ыңгайлаштырылган</translation>
 <translation id="1741314857973421784">Улантуу</translation>
@@ -1083,6 +1089,7 @@
 <translation id="1885066963699478692">Саясаттарды коюу үчүн колдонулуп жаткан XML файлдары.</translation>
 <translation id="1885106732301550621">Дисктин өлчөмү</translation>
 <translation id="1886996562706621347">Сайттарга сурап туруп протоколдордун демейки иштетүүчүсү болууга уруксат берүү (сунушталат)</translation>
+<translation id="1887210448491286312">Өтмөктү <ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну токтотуу</translation>
 <translation id="1887442540531652736">Аккаунтка кирүү катасы</translation>
 <translation id="1887597546629269384">"Окей Google" деп кайра айтыңыз</translation>
 <translation id="1889091146873278175">Капталдагы тилкеде дагы башка табылган нерселерди көрүү үчүн "G" баскычын басыңыз</translation>
@@ -1109,6 +1116,7 @@
 <translation id="1910908536872421421">Chrome for Testing <ph name="BROWSER_VERSION" /> версиясы автоматташтырылган сыноо үчүн гана жеткиликтүү. Кадимки серептөө үчүн автоматтык түрдө жаңыртылган Chrome'дун стандарттуу версиясын колдонуңуз.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">Жогоруда кадоо</translation>
+<translation id="1915613305720536742">Которуу</translation>
 <translation id="1915734383465415025">Дүкөндүн номери</translation>
 <translation id="1916260783734263714">Учурдагы өтмөк</translation>
 <translation id="1916502483199172559">Демейки кызыл аватар</translation>
@@ -1213,6 +1221,7 @@
 <translation id="2007404777272201486">Маселе жөнүндө кабар берүү…</translation>
 <translation id="2009590708342941694">"Быйтыкча" куралы</translation>
 <translation id="2010501376126504057">Шайкеш түзмөктөр</translation>
+<translation id="2012935757369720523">файлды өчүрүү</translation>
 <translation id="2013550551806600826">Байкап көрүңүз. Параметрди күйгүзүп же өчүрүп, сенсордук тактаны эки манжаңыз менен сыдырып, сыноо аймагына өтүңүз. Муну кийинчерээк Параметрлер &gt; Түзмөк &gt; Чычкан жана сенсордук такта бөлүмүнөн таба аласыз.</translation>
 <translation id="2015232545623037616">Компьютер менен Chromecast бир Wi-Fi тармагына туташып турат</translation>
 <translation id="2016473077102413275">Сүрөттөрдү колдонгон функциялар иштебей калат</translation>
@@ -1784,6 +1793,7 @@
 <translation id="2458379781610688953">Аккаунтту жаңыртуу, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Түзмөктү башкаруу токени жараксыз.</translation>
 <translation id="2459703812219683497">Жандандыруу коду аныкталды</translation>
+<translation id="2459706890611560967">Өтмөктү <ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну улантуу</translation>
 <translation id="2460356425461033301">Серепчидеги нерселердин камдык көчүрмөсүн сактап, башка түзмөктө колдоно аласыз</translation>
 <translation id="2462332841984057083">Steam туураланып жатат. Орнотулганча күтө туруңуз.</translation>
 <translation id="2462724976360937186">Тастыктама борборунун ачкыч далдаштыргычы</translation>
@@ -2630,10 +2640,12 @@
 <translation id="3194786596445804250">Үчүнчү тараптын cookie файлдарын бөгөттөө жөнүндө маалыматты көрсөтүү</translation>
 <translation id="3197453258332670132">Чычкандын оң баскычын чыкылдатып же коё бербей басып турсаңыз, текстти тандоо үчүн тийиштүү маалымат көрүнөт</translation>
 <translation id="3199127022143353223">Серверлер</translation>
+<translation id="3199637719075529971">Бул өтмөк сериялык портко туташтырылган</translation>
 <translation id="3200061262156232574">Арабаңызда</translation>
 <translation id="3201237270673604992">Я-А</translation>
 <translation id="3201422919974259695">Жеткиликтүү USB түзмөктөрү ушул жерде көрүнөт.</translation>
 <translation id="3202131003361292969">Жол</translation>
+<translation id="3202499879214571401">Экранды <ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну тындыруу</translation>
 <translation id="3202578601642193415">Эң акыркы</translation>
 <translation id="3204648577100496185">Бул колдонмого байланыштуу маалымат бул түзмөктөн өчүрүлүшү мүмкүн</translation>
 <translation id="3207960819495026254">Кыстармаланды</translation>
@@ -3028,6 +3040,7 @@
 <translation id="3557101512409028104">Family Link аркылуу вебсайттарга жана түзмөктү колдонуу убакытына чектөөлөрдү коюу</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ChromeOS түзмөктөрүнө кабарларды автоматтык түрдө жөнөтүүгө уруксат берсеңиз, ChromeOS'то кайсы нерселерди оңдоп жана жакшыртуу маанилүү экенин биле алабыз. Бул кабарларда ChromeOS'тун бузулуусу, колдонулган функциялар жана канча эстутум колдонулгандыгы сыяктуу маалымат камтылышы мүмкүн.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Каалаган убакта балаңыздын ChromeOS түзмөгүнүн параметрлерине өтүп, бул кабарларга уруксат берип же тыюу сала аласыз. Эгер сиз домен администратору болсоңуз, бул параметрди администратордун консолунан өзгөртө аласыз.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">Экранды <ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну токтотуу</translation>
 <translation id="3559262020195162408">Түзмөккө саясат орнотулбай койду.</translation>
 <translation id="3559533181353831840">Болжол менен <ph name="TIME_LEFT" /> калды</translation>
 <translation id="3560034655160545939">&amp;Орфографиялык текшерүү</translation>
@@ -3194,6 +3207,7 @@
 <translation id="370415077757856453">JavaScript бөгөттөлдү</translation>
 <translation id="3704331259350077894">Операцияны токтотуу</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">Экранды <ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну улантуу</translation>
 <translation id="3706463572498736864">Бир барактагы беттердин саны</translation>
 <translation id="370649949373421643">Wi-Fi иштетүү</translation>
 <translation id="370665806235115550">Жүктөлүүдө…</translation>
@@ -3408,6 +3422,7 @@
 <translation id="3867134342671430205">Экранды жылдыруу үчүн сүйрөп же жебе баскычтарын колдонуңуз</translation>
 <translation id="3867944738977021751">Тастыктама талаалары</translation>
 <translation id="3869917919960562512">Туура эмес индекс.</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> тандоодон чыгаруу</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> сайты үчүн сакталган сырсөздөр жок</translation>
 <translation id="3871350334636688135">Түзмөгүңүздү кийинки жолу өчүрүп күйгүзгөнүңүздө, администраторуңуз түзмөгүңүздөгү дайындарды 24 сааттан кийин бир жолу аткарылуучу жаңыртуу менен өчүрүп коёт. Түзмөгүңүздөгү керектүү маалыматты 24 сааттын ичинде булуттагы сактагычка сактап коюңуз.</translation>
 <translation id="3872220884670338524">Кошумча аракеттер, <ph name="DOMAIN" /> доменинде <ph name="USERNAME" /> колдонуучусу үчүн сакталган аккаунт</translation>
@@ -3503,6 +3518,7 @@
 <translation id="3945513714196326460">Кыскараак аталышты жазып көрүңүз</translation>
 <translation id="3948027458879361203">Түйүндүн аталышын өзгөртүү</translation>
 <translation id="3948116654032448504">&amp;Сүрөт <ph name="SEARCH_ENGINE" /> издөө</translation>
+<translation id="3948334586359655083">Бул өтмөктө аудио ойнотулууда</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> төмөнкү папкалардагы файлдарды түзөтө алат</translation>
 <translation id="394984172568887996">IE'ден импорттолгон</translation>
 <translation id="3950820424414687140">Кирүү</translation>
@@ -3561,6 +3577,7 @@
 <translation id="3987544746655539083">Бул сайтка жайгашкан жериңизге кирүү мындан ары да бөгөттөлсүн</translation>
 <translation id="3987938432087324095">Кечиресиз, укпай калдым.</translation>
 <translation id="3987993985790029246">Шилтм көчр</translation>
+<translation id="3988124842897276887">Бул өтмөк USB түзмөгүнө туташтырылган</translation>
 <translation id="3988488665753590964">Түстөр экранда кандайча көрүнөрүн тууралаңыз</translation>
 <translation id="3988996860813292272">Убакыт алкагын тандоо</translation>
 <translation id="399179161741278232">Импорттолгон</translation>
@@ -3710,6 +3727,7 @@
 <translation id="4130207949184424187">Бул кеңейтүү, Omnibox'тон кандайдыр бир нерсе изделип жатканда, көрсөтүлө турган бетти өзгөрттү.</translation>
 <translation id="4130750466177569591">Макул</translation>
 <translation id="413121957363593859">Курамдык бөлүктөр</translation>
+<translation id="4131283654370308898">Бул сайтта <ph name="EXTENSION_NAME" /> кеңейтүүсүнө уруксат берүү</translation>
 <translation id="4131410914670010031">Ак-кара</translation>
 <translation id="413193092008917129">Тармактагы мүчүлүштүктөрдү оңдоо</translation>
 <translation id="4132183752438206707">Google Play Store'дон колдонмолорду жүктөп алыңыз</translation>
@@ -4247,6 +4265,7 @@
 <translation id="4601426376352205922">Окула элек деп белгилөө</translation>
 <translation id="460190672235687855">Сырсөздөрдү көрүү</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> камера жана микрофонуңузга кирүүсүнө ар дайым уруксат берүү</translation>
+<translation id="4602776638371779614">Бул өтмөктө Bluetooth түзмөктөрү скандалууда</translation>
 <translation id="4606551464649945562">Сайттарга айланаңыздын 3D картасын түзүүгө же камераңыздын абалына көз салууга тыюу салуу</translation>
 <translation id="4608500690299898628">&amp;Табуу…</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> плагининде ката кетти</translation>
@@ -4430,6 +4449,7 @@
 <translation id="4770119228883592393">Уруксат суралды. Жооп берүү үчүн ⌘ + Параметр + Ылдый жебе баскычтарын басыңыз</translation>
 <translation id="4773112038801431077">Linux'ту жаңыртуу</translation>
 <translation id="4774456473286455263">Android телефонуңузду тууралап алыңыз.</translation>
+<translation id="477548766361111120">Кеңейтүүгө бул сайтты окууга жана өзгөртүүгө уруксат берүү</translation>
 <translation id="477647109558161443">Иш тактадагы кыска жолду түзүү</translation>
 <translation id="4776594120007763294">Кийинчерээк окуй турган баракты кошуу үчүн баскычты басыңыз</translation>
 <translation id="4777458362738635055">Бул түзмөктү колдонгон кишилер ушул тармакты колдоно алышат</translation>
@@ -5175,6 +5195,7 @@
 <translation id="5439680044267106777">Өткөрүп жиберип, жаңы профилди жөндөө</translation>
 <translation id="544083962418256601">Кыска жолдорду түзүү…</translation>
 <translation id="5441133529460183413">Chrome cерепчисинен орнотулган веб колдонмо</translation>
+<translation id="5441292787273562014">Баракты кайрадан жүктөө</translation>
 <translation id="5441466871879044658">Кайсы тилге</translation>
 <translation id="5442228125690314719">Дисктин сүрөтүн түзүүдөгү ката. Кайталап көрүңүз.</translation>
 <translation id="5442550868130618860">Автожаңыртууну күйгүзүү</translation>
@@ -5691,6 +5712,7 @@
 <translation id="5889282057229379085">Ортодогу Тастыктама борборлорунун эң көп саны: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">Шайкештирилген маалыматты өзүңүздүн <ph name="BEGIN_LINK" />шайкештирүүчү сыр сүйлөмүңүз<ph name="END_LINK" /> менен шифрлеңиз. Google Pay'деги даректер жана төлөм ыкмалары шифрленбейт. Chrome'до көрүлгөн вебсайттар шайкештирилбейт.</translation>
 <translation id="5891688036610113830">Тандалган Wi-Fi тармактары</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> папкасын тандоодон чыгаруу</translation>
 <translation id="5895138241574237353">Өчүрүп күйгүзүү</translation>
 <translation id="5895335062901455404">Сакталган параметрлер жана аракеттер Google аккаунтуңуз менен кирген бардык ChromeOS Flex түзмөктөрүндө колдонулат. Эмнени шайкештирүү керек экенин жөндөөлөрдөн тандай аласыз.</translation>
 <translation id="589541317545606110">Баракты <ph name="VISUAL_SEARCH_PROVIDER" /> менен издөө</translation>
@@ -5762,6 +5784,7 @@
 <translation id="5948476936444935795">Өткөрүп алууну жокко чыгаруу</translation>
 <translation id="5948536763493709626">Баскычтопту же чычканды туташтырыңыз, же болбосо сенсордук экран аркылуу жөндөй бериңиз. Bluetooth түзмөктөрүн колдонуп жатсаңыз, түзмөктөрүңүз жупташтырууга даяр экенин текшериңиз.</translation>
 <translation id="5949544233750246342">Файл талданбай жатат</translation>
+<translation id="5950762317146173294">Бул файл вирус же кесепеттүү программа болушу мүмкүн</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> жергиликтүү ариптерди колдонгусу келет</translation>
 <translation id="5951624318208955736">Монитор</translation>
 <translation id="595262438437661818">Бул сайтка кеңейтүүлөр кире албайт</translation>
@@ -5846,6 +5869,7 @@
 <translation id="6022526133015258832">Толук экранда ачуу</translation>
 <translation id="6022659036123304283">Chrome'ду каалагандай ыңгайлаштырып алыңыз</translation>
 <translation id="6023643151125006053">Бул түзмөк (SN: <ph name="SERIAL_NUMBER" />) <ph name="SAML_DOMAIN" /> сайтынын администратору тарабынан кулпуланган.</translation>
+<translation id="6024072172641380781">Бул сайтта кеңейтүүлөргө уруксат берүү</translation>
 <translation id="6025215716629925253">Стек трассировкасы</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB түзмөгү туташты</translation>
 <translation id="6027945736510816438"><ph name="WEBSITE" /> эмес беле?</translation>
@@ -6129,6 +6153,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> менен ачуу</translation>
 <translation id="6270309713620950855">Үнү басылып турганын эстетүү</translation>
 <translation id="6270391203985052864">Сайттар билдирмелерди жөнөтүүнү сурана алышат</translation>
+<translation id="6270486800167535228">Кеңейтүү кадалган. Көбүрөөк параметрлерди көрүү үчүн тандаңыз</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />Система менен колдонмо жөнүндө маалымат<ph name="END_LINK1" /> жана <ph name="BEGIN_LINK2" />чендер<ph name="END_LINK2" /> жөнөтүлсүн</translation>
 <translation id="6270896861225278704">Саякаттар картасы</translation>
 <translation id="6271348838875430303">оңдоо аракети кайтарылды</translation>
@@ -6209,6 +6234,7 @@
 <translation id="6344608411615208519"><ph name="BEGIN_LINK" />Серепчиңди<ph name="END_LINK" /> ата-энең башкарат</translation>
 <translation id="6345418402353744910">Администраторуңуз тармагыңызды конфигурациялоосу үчүн <ph name="PROXY" /> проксиге колдонуучунун аты жана сырсөзү талап кылынат</translation>
 <translation id="6345878117466430440">Окулду деп белгилөө</translation>
+<translation id="6346952829206698721">Алмашуу буферинен чаптоо</translation>
 <translation id="6347010704471250799">Билдирмени көрсөтүү</translation>
 <translation id="634887995541211148">Bruschetta кызматын түзмөгүңүздө иштетиңиз.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> колдонмосун орнотуу</translation>
@@ -6494,6 +6520,7 @@
 <translation id="6596325263575161958">Шифрлөө параметрлери</translation>
 <translation id="6596816719288285829">IP дарек</translation>
 <translation id="6597017209724497268">Үлгүлөр</translation>
+<translation id="6597324406048772521">Бул сайтта кеңейтүүлөргө уруксат берилбейт</translation>
 <translation id="6597331566371766302">Төмөнкү кеңейтүүлөрдү администраторуңуз бөгөттөп койду:</translation>
 <translation id="659894938503552850">эң жаңы</translation>
 <translation id="6601262427770154296">Колдонуучунун сөздүктөрүн тескөө</translation>
@@ -6511,6 +6538,7 @@
 <translation id="6609478180749378879">Жашыруун режимден чыккандан кийин, аккаунтка кирүү дайындары бул түзмөктө сакталат. Кийинчерээк бул вебсайтка түзмөгүңүздөн кайра кире аласыз.</translation>
 <translation id="6610002944194042868">Которуу параметрлери</translation>
 <translation id="6611972847767394631">Өтмөктөрүңүздү бул жерден табасыз</translation>
+<translation id="6613267708691765962">Кесепеттүү программа изделүүдө…</translation>
 <translation id="6613668613087513143">Бул жаңыртууну аягына чыгаруу үчүн түзмөктө орун жетишсиз. Түзмөктө <ph name="NECESSARY_SPACE" /> орун бошотуп, Chrome серепчисинен кайра аракет кылыңыз.</translation>
 <translation id="6615455863669487791">Көрсөтчү гана</translation>
 <translation id="6618097958368085618">Баары бир кала берсин</translation>
@@ -6759,6 +6787,7 @@
 <translation id="6825184156888454064">Аталышы боюнча ылгоо</translation>
 <translation id="6826872289184051766">USB аркылуу ырастоо</translation>
 <translation id="6827121912381363404">Бардык кеңейтүүлөргө <ph name="PERMITTED_SITE" /> сайтын окууга жана өзгөртүүгө уруксат берүү</translation>
+<translation id="6827422464708099620">Көбүрөөк параметрлерди көрүү үчүн тандаңыз</translation>
 <translation id="6827517233063803343">Колдонмолор менен параметрлер Google аккаунтуңуз менен кирип турган бардык ChromeOS түзмөктөрүндө шайкештирилет. Серепчини шайкештирүү параметрлерин көрүү үчүн <ph name="LINK_BEGIN" />Chrome параметрлерине<ph name="LINK_END" /> өтүңүз.</translation>
 <translation id="6827767090350758381">Chrome колдонмолорунун эски версиялары 2022-жылдын декабрь айынан кийин Windows түзмөктөрүндө ачылбай калышат. Версияны жаңыртуу же колдонмону өчүрүү үчүн администраторго кайрылыңыз.</translation>
 <translation id="6828153365543658583">Төмөнкү колдонуучуларга кирүүгө тыюу салынат:</translation>
@@ -6822,6 +6851,7 @@
 <translation id="6868934826811377550">Чоо-жайын көрүү</translation>
 <translation id="6871644448911473373">OCSP Жооп бергичи: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Киргизген сырсөзүңүздү сервер кабыл алган жок.</translation>
+<translation id="6873571253135628430">Сайттын уруксаттарын өзгөртүү</translation>
 <translation id="6876155724392614295">Велосипед</translation>
 <translation id="6876469544038980967">Пайдасы жок</translation>
 <translation id="6878422606530379992">Сенсорлорду колдонууга уруксат берилген</translation>
@@ -7082,6 +7112,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Колдонмону өчүрүү}other{Колдонмолорду өчүрүү}}</translation>
 <translation id="7099337801055912064">Көлөмдүү PPD жүктөлбөйт. Көлөмү 250 Кб ашпашы керек.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Уурдалган сырсөздөр жок}=1{{COUNT} уурдалган сырсөз бар}other{{COUNT} уурдалган сырсөз бар}}</translation>
+<translation id="710047887584828070">Бул өтмөктүн мазмуну жалпы колдонулууда</translation>
 <translation id="7102832101143475489">Сурамдын күтүү мөөнөтү аяктады</translation>
 <translation id="710640343305609397">Тармактын параметрлерин ачуу</translation>
 <translation id="7107609441453408294">Бир эле аудиону бардык динамиктерде ойнотуу</translation>
@@ -7177,6 +7208,7 @@
 <translation id="719791532916917144">Ыкчам баскыч</translation>
 <translation id="7198503619164954386">Ишкана аркылуу катталган түзмөктү пайдаланышыңыз керек</translation>
 <translation id="7199158086730159431">Ж&amp;ардам алуу</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну тындыруу</translation>
 <translation id="7200083590239651963">Конфигурацияны тандоо</translation>
 <translation id="720110658997053098">Бул түзмөк биротоло киоск режиминде калсын</translation>
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" өчүрүлдү</translation>
@@ -7223,6 +7255,7 @@
 <translation id="7241389281993241388">Кардар тастыктамасын импорттоо үчүн <ph name="TOKEN_NAME" /> ичине кириңиз.</translation>
 <translation id="7241763419756062043">Издөө жана карап чыгуу сапатын тандаңыз</translation>
 <translation id="7243632151880336635">Тазалоо жана Чыгуу</translation>
+<translation id="7245162963905242662">Бул баракты Google менен издеңиз…</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> х <ph name="HEIGHT" /> (Эң мыкты)</translation>
 <translation id="7246230585855757313">Коопсуздук ачкычын кайра киргизип туруп, кайра аракет кылып көрүңүз</translation>
 <translation id="724835896049478274">Android колдонмолору үчүн жеткиликтүү аккаунттар</translation>
@@ -7529,8 +7562,10 @@
 <translation id="7497981768003291373">Текст түрүндө сакталган акыркы WebRTC таржымалдары жок.</translation>
 <translation id="7501957181231305652">же</translation>
 <translation id="7502220299952823578">"Бул сайттар ар дайым жигердүү бойдон калсын" тизмесине кошуңуз</translation>
+<translation id="7502528909759062987">Өтмөктү <ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну тындыруу</translation>
 <translation id="7503191893372251637">Netscape тастыктамасынын түрү</translation>
 <translation id="7503985202154027481">Бул вебсайтка киргениңиз тууралуу маалымат коопсуздук ачкычыңызга жазылат.</translation>
+<translation id="7504145862399276792">Бул өтмөктүн үнү өчүрүлүүдө</translation>
 <translation id="750509436279396091">Жүктөлүп алынгандар куржунун ачуу</translation>
 <translation id="7505149250476994901">Тамгага чейин "баш тамга" деп айтыңыз</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> жашыруу</translation>
@@ -7770,6 +7805,7 @@
 <translation id="7701040980221191251">Эч бир</translation>
 <translation id="7701265686005869308">Профилди жабуу</translation>
 <translation id="7701869757853594372">КОЛДОНУУЧУ маркерлери</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> түзмөгүнө чыгарууну токтотуу</translation>
 <translation id="7702574632857388784"><ph name="FILE_NAME" /> файлын тизмеден алып салуу</translation>
 <translation id="7702907602086592255">Домен</translation>
 <translation id="7704305437604973648">Тапшырма</translation>
@@ -8230,6 +8266,7 @@
 <translation id="8084114998886531721">Сакталган сырсөз</translation>
 <translation id="8084510406207562688">Бардык өтмөктөрдү калыбына келтирүү</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> конфигурацияланууда ...</translation>
+<translation id="8086121155774250556">Бул өтмөк экраныңызды бөлүшүүдө</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> түзмөгүн жөндөө</translation>
 <translation id="8086610718778464681">Linux колдонмолору менен файлдарынын камдык көчүрмөлөрү сакталбай калды</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Бул файл шифрленген. Файлдын шифрин чечмелөөнү анын ээсинен сураныңыз.}other{Бул файлдардын айрымдары шифрленген. Алардын ээсинен файлдардын шифрин чечмелөөнү сураныңыз.}}</translation>
@@ -8532,6 +8569,7 @@
 <translation id="8345848587667658367">Телефонуңуздагы акыркы сүрөттөрдү, медиа файлдарды, билдирмелерди жана колдонмолорду көрө аласыз</translation>
 <translation id="8347227221149377169">Басып чыгаруу тапшырмалары</translation>
 <translation id="834785183489258869">Жашыруун режимде, сайттар cookie файлдарыңыз аркылуу сиз көргөн вебсайттарды көрө албайт (мисалы, жарнамаларды жекелештирүү үчүн). Функциялар айрым сайттарда иштебеши мүмкүн.</translation>
+<translation id="8349325309815489209">Бул сайтта кеңейтүүлөргө уруксат берилет</translation>
 <translation id="8349826889576450703">жүргүзгүч</translation>
 <translation id="8350789879725387295">Стилус куралдарын тилкеде көрсөтүү</translation>
 <translation id="8351316842353540018">Атайын мүмкүнчүлүктөр параметрлери дайым көрүнсүн</translation>
@@ -8560,6 +8598,7 @@
 <translation id="8370294614544004647">Ноутбук жабылып турганда уйку режимине өтүү</translation>
 <translation id="8371695176452482769">Сүйлөңүз</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Сайттын үнүн басуу}other{Сайттардын үнүн басуу}}</translation>
+<translation id="8372441176515901959">Сурамды четке кагуу</translation>
 <translation id="8373652277231415614">Crostini'нин бөлүшүлгөн каталогдору</translation>
 <translation id="8374243500935816406">Сайттарга бардык экрандардагы терезелерди тескөөгө тыюу салуу</translation>
 <translation id="8376137163494131156">Google Cast тууралуу пикир билдириңиз.</translation>
@@ -8919,6 +8958,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> файлын жүктөп алууну токтотуу</translation>
 <translation id="8688672835843460752">Бош</translation>
 <translation id="8690129572193755009">Cайттар сиздин уруксатыңыз менен протоколдорду иштете алат</translation>
+<translation id="869144235543261764">Бул өтмөктөгү видео сүрөт ичиндеги сүрөт режиминде ойнотулуп жатат</translation>
 <translation id="8692107307702113268">Сырсөз 1000 символдон ашып кетти</translation>
 <translation id="8694596275649352090">Уктап жатканда же капкагы жабык болгондо кулпулоо</translation>
 <translation id="8695139659682234808">Жөндөгөндөн кийин Ата-эненин көзөмөлүн кошуу</translation>
@@ -9152,6 +9192,7 @@
 <translation id="8877448029301136595">[ата-энелик каталог]</translation>
 <translation id="8879284080359814990">&amp;Өтмөк катарында көрсөтүү</translation>
 <translation id="8879921471468674457">Кирүү маалыматын эстеп калуу</translation>
+<translation id="8880009256105053174">Бул баракты Google менен издеңиз…</translation>
 <translation id="8880054210564666174">Байланыштар тизмеси жүктөлгөн жок. Тармактык туташууңузду текшериңиз же <ph name="LINK_BEGIN" />дагы бир жолу аракет кылыңыз<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Кайталап көрүңүз. Техникалык жардам алуу үчүн <ph name="CARRIER_NAME" /> менен байланышыңыз.</translation>
 <translation id="888256071122006425">Чычкандын жана сенсордук тактанын параметрлери</translation>
@@ -9416,6 +9457,7 @@
 <translation id="9102864637938129124">Сайттар менен жарнамачылар жарнамалардын майнаптуулугун талдай алышат. Бул параметр күйүк.</translation>
 <translation id="9103479157856427471">Жакындатылган экранды баскычтоп менен жылдыруу</translation>
 <translation id="9103868373786083162">Артка кайрылуу үчүн басыңыз, таржымалды көрүү үчүн мазмундук меню</translation>
+<translation id="9107096627210171112">Которуу…</translation>
 <translation id="9108035152087032312">&amp;Терезенин аталышын коюңуз...</translation>
 <translation id="9108072915170399168">Учурда дайын-даректердин өткөрүлүшү "Интернетсиз" деп коюлган</translation>
 <translation id="9108294543511800041">Телефонуңуздагы соңку сүрөттөрдү, медианы жана билдирмелерди көрө аласыз</translation>
@@ -9572,6 +9614,7 @@
 <translation id="947329552760389097">&amp;Элементтерди иликтөө</translation>
 <translation id="947526284350604411">Жообуңуз</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> бул папкадагы файлдарды ача албайт, себеби анда тутум файлдары бар</translation>
+<translation id="949807244219288032">Бул өтмөк HID түзмөгүнө туташтырылган</translation>
 <translation id="950307215746360464">Жөндөө жетеги</translation>
 <translation id="951991426597076286">Четке кагуу</translation>
 <translation id="952471655966876828">Күйүп жана колдонулуп жатканда түзмөк автоматтык түрдө туташат</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb
index d981569..68783d3 100644
--- a/chrome/app/resources/generated_resources_lo.xtb
+++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">ຍົກ​ເລີກ​ແລ້ວ</translation>
 <translation id="1022489261739821355">ກຳລັງສະແດງລະຫັດຜ່ານຈາກ <ph name="BEGIN_LINK" />ບັນຊີ Google<ph name="END_LINK" /> ຂອງທ່ານ</translation>
 <translation id="1022669824195822609">ອຸປະກອນຂອງທ່ານຖືກຈັດການໂດຍ <ph name="DOMAIN" />. ຜູ້ເບິ່ງແຍງລະບົບສາມາດເຂົ້າເຖິງຂໍ້ມູນໃນໂປຣໄຟລ໌ໃດກໍໄດ້ຢູ່ອຸປະກອນນີ້.</translation>
+<translation id="1024734233509995696">ແຖບນີ້ກຳລັງໃຊ້ກ້ອງຖ່າຍຮູບ ຫຼື ໄມໂຄຣໂຟນຂອງທ່ານ</translation>
 <translation id="1026655690966755180">ເພີ່ມຜອດ</translation>
 <translation id="1026822031284433028">ໂຫຼດ​ຮູບ</translation>
 <translation id="1026959648338730078">ໜ້າຈໍ Hello ຫຼື ກະແຈຄວາມປອດໄພພາຍນອກ</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">ກຳລັງເຊື່ອມຕໍ່ກັບໂທລະສັບຂອງທ່ານ</translation>
 <translation id="1158080958325422608">ເຮັດໃຫ້ເປັນຕົວພິມໃຫຍ່</translation>
 <translation id="1158238185437008462">ເບິ່ງຄວາມຊົງຈຳ</translation>
+<translation id="1159879754517035595">ຈັດການການຕັ້ງຄ່າສ່ວນຂະຫຍາຍ</translation>
 <translation id="1160842321113409343">ເພື່ອປົກປ້ອງຄວາມເປັນສ່ວນຕົວຂອງທ່ານ, ພວກເຮົາຈະລຶບເວັບໄຊອອກຈາກລາຍຊື່ທີ່ເກົ່າກວ່າ 4 ອາທິດໂດຍອັດຕະໂນມັດ. ເວັບໄຊທີ່ທ່ານເຂົ້າອາດປາກົດຢູ່ລາຍຊື່ຄືນໃໝ່. ຫຼື ທ່ານສາມາດລຶບເວັບໄຊໃດໜຶ່ງອອກໄດ້ຫາກທ່ານບໍ່ຕ້ອງການໃຫ້ເວັບໄຊນັ້ນກຳນົດຄວາມສົນໃຈໃຫ້ທ່ານອີກ.</translation>
 <translation id="1161575384898972166">ກະ​ລຸ​ນາ​ລົງຊື່ເຂົ້າ​ໃຊ້ <ph name="TOKEN_NAME" /> ເພື່ອສົ່ງໃບຢັ້ງຢືນລູກຂ່າຍອອກໄປ.</translation>
 <translation id="116173250649946226">ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານໄດ້ຕັ້ງຮູບແບບສີສັນເລີ່ມຕົ້ນທີ່ບໍ່ສາມາດປ່ຽນໄດ້.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> ມີຂໍ້ມູນທີ່ລະອຽດອ່ອນ ຫຼື ເປັນອັນຕະລາຍ. ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານເວົ້າວ່າ: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> ຕ້ອງການເຊື່ອມຕໍ່ອຸປະກອນ HID</translation>
 <translation id="1172750555846831341">ກັບດ້ານຕາມແນວກວ້າງ</translation>
+<translation id="1173036203040243666">ແຖບນີ້ຖືກເຊື່ອມຕໍ່ກັບອຸປະກອນ Bluetooth</translation>
 <translation id="1173332155861271669">ລາຍລະອຽດຜູ້ໃຫ້ບໍລິການ Passpoint</translation>
 <translation id="1173894706177603556">ໃສ່ຊື່ໃໝ່</translation>
 <translation id="1174073918202301297">ເພີ່ມທາງລັດແລ້ວ</translation>
@@ -316,6 +319,7 @@
 <translation id="1252987234827889034">ເກີດຄວາມຜິດພາດກັບໂປຣໄຟລ໌</translation>
 <translation id="1253664522045778676">ຄລິກໃສ່ຜົນການຊອກຫາໃດໜຶ່ງແລ້ວໜ້າຈະເປີດໃນແຖບປັດຈຸບັນຂອງທ່ານ</translation>
 <translation id="1254593899333212300">ການເຊື່ອມຕໍ່ອິນເຕີເນັດໂດຍກົງ</translation>
+<translation id="1256588359404100567">ການຕັ້ງຄ່າທີ່ຊິ້ງຈາກອຸປະກອນກ່ອນໜ້າຂອງທ່ານ.</translation>
 <translation id="1257336506558170607">ສົ່ງອອກໃບຮັບຮອງທີ່ເລືອກ</translation>
 <translation id="1258491128795710625">ມີຫຍັງໃໝ່</translation>
 <translation id="1259152067760398571">ດຳເນີນການກວດສອບຄວາມປອດໄພມື້ວານນີ້</translation>
@@ -659,6 +663,7 @@
 <translation id="1556537182262721003">ບໍ່ສາມາດຍ້າຍໄດເຣັກຕໍຣີສ່ວນຂະຫຍາຍເພີ່ມເຕີມໄປເປັນໂປຣໄຟລ໌ໄດ້.</translation>
 <translation id="1558391695376153246">ປິດແຖບ​ບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
 <translation id="155865706765934889">ແຜ່ນສໍາຜັດ</translation>
+<translation id="1558671750917454373">ສົ່ງສັນຍານໄປຫາ <ph name="DEVICE_NAME" /> ຕໍ່</translation>
 <translation id="1562119309884184621">ການເພີ່ມລາຍຊື່ຜູ້ຕິດຕໍ່ນີ້ຈະຈື່ຄັ້ງຕໍ່ໄປທີ່ພວກເຂົາແບ່ງປັນ</translation>
 <translation id="1563137369682381456">ວັນທີໝົດອາຍຸ</translation>
 <translation id="1563702743503072935">ລະຫັດຜ່ານຈາກບັນຊີ Google ຂອງທ່ານຈະມີໃຫ້ນຳໃຊ້ໃນອຸປະກອນນີ້ໃນຂະນະທີ່ທ່ານເຂົ້າສູ່ລະບົບ</translation>
@@ -790,6 +795,7 @@
 <translation id="1648528859488547844">ໃຊ້ Wi‑Fi, Bluetooth ຫຼື ເຄືອຂ່າຍມືຖືເພື່ອກຳນົດສະຖານທີ່</translation>
 <translation id="164936512206786300">ຍົກເລີກການຈັບຄູ່ອຸປະກອນ Bluetooth</translation>
 <translation id="1651008383952180276">ທ່ານຕ້ອງປ້ອນວະລີຜ່ານອັນດຽວກັນສອງເທື່ອ</translation>
+<translation id="1651609627703324721">ແຖບນີ້ກຳລັງນໍາສະເໜີເນື້ອຫາ VR ໄປຫາຊຸດຫູຟັງ</translation>
 <translation id="1652326691684645429">ເປີດການນຳໃຊ້ການແບ່ງປັນໃກ້ຄຽງ</translation>
 <translation id="1654580009054503925">ບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ສະແດງການຮ້ອງຂໍ</translation>
 <translation id="1656528038316521561">ຄວາມທຶບແສງຂອງພື້ນຫຼັງ</translation>
@@ -889,6 +895,7 @@
 <translation id="173522743738009831">ກ່ຽວກັບ Privacy Sandbox</translation>
 <translation id="173628468822554835">ເຂົ້າໃຈແລ້ວ. ຕາມຄ່າເລີ່ມຕົ້ນ, ເວັບໄຊໃໝ່ທີ່ທ່ານເຂົ້າເບິ່ງຈະບໍ່ສົ່ງການແຈ້ງເຕືອນໃຫ້ທ່ານ.</translation>
 <translation id="1737968601308870607">ບັນຫາໄຟລ໌</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. ເລືອກເພື່ອປ່ຽນສິດທິຂອງເວັບໄຊ</translation>
 <translation id="1741190788710022490">ການສາກໄຟແບບປັບອັດຕະໂນມັດ</translation>
 <translation id="174123615272205933">ກຳນົດເອງ</translation>
 <translation id="1741314857973421784">ສືບຕໍ່</translation>
@@ -1004,6 +1011,7 @@
 <translation id="18260074040409954">ທ່ານສາມາດໃຊ້ລະຫັດຜ່ານທີ່ບັນທຶກໄວ້ແລ້ວນີ້ຢູ່ອຸປະກອນໃດກໍໄດ້. ພວກມັນຈະຖືກບັນທຶກໄປໃສ່ <ph name="GOOGLE_PASSWORD_MANAGER" /> ສຳລັບ <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">ຊິ້ງຂໍ້ມູນບຸກມາກ, ລະຫັດຜ່ານ, ປະຫວັດ ແລະ ອື່ນໆຂອງ Chrome ທ່ານ</translation>
 <translation id="1826516787628120939">ກໍາລັງກວດເບິ່ງ</translation>
+<translation id="1826657447823925402">ການເລື່ອນແບບຢ້ອນກັບປິດຢູ່</translation>
 <translation id="1827504459960247692">ຊື່ຮັອດສະປອດ</translation>
 <translation id="1828378091493947763">ບໍ່ຮອງຮັບປລັກອິນນີ້ໃນອຸປະກອນນີ້</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;ເປີດທັງໝົດ}=1{&amp;ເປີດບຸກມາກ}other{&amp;ເປີດທັງໝົດ ({COUNT})}}</translation>
@@ -1080,6 +1088,7 @@
 <translation id="1885066963699478692">ໄຟລ໌ XML ທີ່ກຳລັງຖືກໃຊ້ເພື່ອກຳນົດນະໂຍບາຍ.</translation>
 <translation id="1885106732301550621">ພື້ນທີ່ດິສ</translation>
 <translation id="1886996562706621347">ອະນຸຍາດໃຫ້ເວັບໄຊທ໌ຖາມ ເພື່ອເປັນຕົວຈັດການມາດຕະຖານສໍາລັບໂປຣໂຕໂຄລ (ແນະນໍາ)</translation>
+<translation id="1887210448491286312">ຢຸດສົ່ງສັນຍານແຖບໄປຫາ <ph name="DEVICE_NAME" /></translation>
 <translation id="1887442540531652736">ການເຂົ້າສູ່ລະບົບຜິດພາດ</translation>
 <translation id="1887597546629269384">ເວົ້າ "Hey Google" ອີກຄັ້ງ</translation>
 <translation id="1889091146873278175">ຄລິກປຸ່ມ "G" ເພື່ອເບິ່ງຜົນການຊອກຫາເພີ່ມເຕີມໃນແຜງຄວບຄຸມດ້ານຂ້າງ</translation>
@@ -1106,6 +1115,7 @@
 <translation id="1910908536872421421">Chrome ສຳລັບການທົດສອບເວີເຊັນ v<ph name="BROWSER_VERSION" /> ມີໄວ້ສຳລັບການທົດສອບແບບອັດຕະໂນມັດເທົ່ານັ້ນ. ສຳລັບການເລືອກເບິ່ງແບບປົກກະຕິ, ໃຫ້ໃຊ້ Chrome ເວີຊັນມາດຕະຖານທີ່ອັບເດດໂດຍອັດຕະໂນມັດ.</translation>
 <translation id="1915073950770830761">ຄານາຣີ</translation>
 <translation id="1915307458270490472">ວາງສາຍ</translation>
+<translation id="1915613305720536742">ແປພາສາ</translation>
 <translation id="1915734383465415025">ໝາຍເລກຮ້ານ</translation>
 <translation id="1916260783734263714">ແຖບປັດຈຸບັນ</translation>
 <translation id="1916502483199172559">ຮູບແທນຕົວສີແດງຕາມຄ່າເລີ່ມຕົ້ນ</translation>
@@ -1210,6 +1220,7 @@
 <translation id="2007404777272201486">ລາຍ​ງານ​ບັນ​ຫາ...</translation>
 <translation id="2009590708342941694">ເຄື່ອງມືອີໂມຈິ</translation>
 <translation id="2010501376126504057">ອຸປະກອນທີ່ເຂົ້າກັນໄດ້</translation>
+<translation id="2012935757369720523">ລຶບໄຟລ໌</translation>
 <translation id="2013550551806600826">ລອງໃຊ້ເບິ່ງ. ເປີດ ຫຼື ປິດການຕັ້ງຄ່າ, ຈາກນັ້ນໃຊ້ 2 ນິ້ວເລື່ອນເທິງແຜ່ນສຳຜັດຂອງທ່ານໃນບໍລິເວນທີ່ທົດສອບ. ນອກຈາກນັ້ນ, ທ່ານຍັງສາມາດຊອກຫາສິ່ງນີ້ໃນພາຍຫຼັງໄດ້ໃນການຕັ້ງຄ່າ &gt; ອຸປະກອນ &gt; ເມົ້າ ແລະ ແຜ່ນສຳຜັດ.</translation>
 <translation id="2015232545623037616">PC ແລະ Chromecast ຢູ່ເຄືອຂ່າຍ Wi-Fi ດຽວກັນ</translation>
 <translation id="2016473077102413275">ຄຸນສົມບັດທີ່ຕ້ອງການຮູບຈະໃຊ້ບໍ່ໄດ້</translation>
@@ -1291,6 +1302,7 @@
 <translation id="2081816110395725788">ພັກເຄື່ອງໃນຂະນະໃຊ້ແບັດເຕີຣີ</translation>
 <translation id="2082187087049518845">ຈັດກຸ່ມແຖບ</translation>
 <translation id="2082510809738716738">ເລືອກສີຮູບແບບສີສັນ</translation>
+<translation id="2084891381052978619">ນອກຈາກນັ້ນ, ທ່ານຍັງສາມາດຊອກຫາຕົວເລືອກເຫຼົ່ານີ້ໄດ້ໃນການຕັ້ງຄ່າຫຼັງຈາກທີ່ທ່ານຕັ້ງຄ່າ Chromebook ຂອງທ່ານສຳເລັດແລ້ວ</translation>
 <translation id="208586643495776849">ກະລຸນາລອງໃໝ່</translation>
 <translation id="208634871997892083">VPN ແບບເປີດຕະຫຼອດ</translation>
 <translation id="2087822576218954668">ພິມ​: <ph name="PRINT_NAME" /></translation>
@@ -1361,6 +1373,7 @@
 <translation id="212862741129535676">​ເປີ​ເຊັນການຄອບຄອງສະພາວະຄວາມຖີ່</translation>
 <translation id="212876957201860463">ກຳລັງກະກຽມຕັ້ງຄ່າອຸປະກອນມືຖືຂອງທ່ານ...</translation>
 <translation id="2131077480075264">ບໍ່ສາມາດຕິດຕັ້ງ "<ph name="APP_NAME" />" ໄດ້ ເພາະວ່າມັນບໍ່ໄດ້ຮັບອະນຸຍາດໂດຍ "<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">ເລືອກຄຸນສົມບັດເພີ່ມເຕີມເພື່ອຕັ້ງຄ່າ</translation>
 <translation id="2133857665503360653">ລອງ <ph name="FILE_NAME" /> ໃໝ່</translation>
 <translation id="2134905185275441536">CA ລະບົບ</translation>
 <translation id="21354425047973905">ເຊື່ອງ PIN</translation>
@@ -1783,6 +1796,7 @@
 <translation id="2458379781610688953">ອັບເດດບັນຊີ, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">ໂທເຄັນການຈັດການອຸປະກອນບໍ່ຖືກຕ້ອງ.</translation>
 <translation id="2459703812219683497">ລຶບລະຫັດການເປີດນຳໃຊ້ແລ້ວ</translation>
+<translation id="2459706890611560967">ສົ່ງສັນຍານແຖບໄປຫາ <ph name="DEVICE_NAME" /> ຕໍ່</translation>
 <translation id="2460356425461033301">ສຳຮອງຂໍ້ມູນໂປຣແກຣມທ່ອງເວັບຂອງທ່ານ ແລະ ໃຊ້ມັນຢູ່ອຸປະກອນໃດກໍໄດ້</translation>
 <translation id="2462332841984057083">ກຳລັງຕິດຕັ້ງ Steam ຢູ່ກ່ອນແລ້ວ. ກະລຸນາລໍຖ້າໃຫ້ການຕິດຕັ້ງສຳເລັດ.</translation>
 <translation id="2462724976360937186">ID ລະຫັດໜ່ວຍງານຢັ້ງຢືນ</translation>
@@ -2629,10 +2643,12 @@
 <translation id="3194786596445804250">ສະແດງລາຍລະອຽດກ່ຽວກັບການບລັອກຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="3197453258332670132">ດ້ວຍການຄລິກຂວາ ຫຼື ການກົດຄ້າງໄວ້, ໃຫ້ສະແດງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງສຳລັບການເລືອກຂໍ້ຄວາມຂອງທ່ານ</translation>
 <translation id="3199127022143353223">ເຊີບເວີ</translation>
+<translation id="3199637719075529971">ແຖບນີ້ເຊື່ອມຕໍ່ກັບຜອດຊີຣຽວ</translation>
 <translation id="3200061262156232574">ໃນກະຕ່າຊື້ເຄື່ອງຂອງທ່ານ</translation>
 <translation id="3201237270673604992">Z ຫາ A</translation>
 <translation id="3201422919974259695">ອຸປະກອນ USB ທີ່ສາມາດໃຊ້ໄດ້ຈະປາກົດຢູ່ບ່ອນນີ້.</translation>
 <translation id="3202131003361292969">ເສັ້ນທາງ</translation>
+<translation id="3202499879214571401">ຢຸດສົ່ງສັນຍານໜ້າຈໍໄປຫາ <ph name="DEVICE_NAME" /> ຊົ່ວຄາວ</translation>
 <translation id="3202578601642193415">ໃໝ່ສຸດ</translation>
 <translation id="3204648577100496185">ຂໍ້ມູນທີ່ເຊື່ອມໂຍງກັບແອັບນີ້ອາດຖືກລຶບອອກຈາກອຸປະກອນນີ້</translation>
 <translation id="3207960819495026254">ໃສ່ບຸກ​ມາກ​໌​ແລ້ວ</translation>
@@ -2945,6 +2961,7 @@
 <translation id="347785443197175480">ສືບຕໍ່ອະນຸຍາດໃຫ້ <ph name="HOST" /> ​​ເຂົ້າຫາ​ກ້ອງ​ຖ່າຍ​ຮູບ​ ແລະໄມໂຄຣໂຟນຂອງ​ທ່ານບໍ່</translation>
 <translation id="3479552764303398839">ບໍ່ແມ່ນດຽວນີ້</translation>
 <translation id="3479685872808224578">ກວດບໍ່ພົບເຊີບເວີການພິມ. ກະລຸນາກວດເບິ່ງທີ່ຢູ່ ແລ້ວລອງໃໝ່.</translation>
+<translation id="3479753605053415848">ຄລິກເພື່ອປັບແຕ່ງ Chrome</translation>
 <translation id="3480612136143976912">ປັບແຕ່ງຂະໜາດ ແລະ ຮູບແບບຄຳບັນຍາຍສຳລັບຄຳບັນຍາຍສົດ. ບາງແອັບ ແລະ ບາງເວັບໄຊຈະໃຊ້ການຕັ້ງຄ່ານີ້ນຳ.</translation>
 <translation id="3480827850068960424">ພົບ <ph name="NUM" /> ແຖບ</translation>
 <translation id="3481268647794498892">ກຳລັງເປີດໃນ <ph name="ALTERNATIVE_BROWSER_NAME" /> ໃນ <ph name="COUNTDOWN_SECONDS" /> ວິນາທີ</translation>
@@ -3027,6 +3044,7 @@
 <translation id="3557101512409028104">ຕັ້ງຄ່າການຈຳກັດເວັບໄຊ ແລະ ຂີດຈຳກັດເວລາໜ້າຈໍດ້ວຍ Family Link</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ການອະນຸຍາດໃຫ້ອຸປະກອນ ChromeOS ສົ່ງລາຍງານອັດຕະໂນມັດຈະຊ່ວຍໃຫ້ພວກເຮົາຈັດລຳດັບຄວາມສຳຄັນໄດ້ວ່າຈະແກ້ໄຂ ແລະ ປັບປຸງຫຍັງໃນ ChromeOS. ລາຍງານເຫຼົ່ານີ້ສາມາດຮວມເອົາຂໍ້ມູນຕ່າງໆ ເຊັ່ນ: ChromeOS ຫຼົ້ມຕອນໃດ, ມີການໃຊ້ຄຸນສົມບັດໃດ ແລະ ໂດຍປົກກະຕິແລ້ວໃຊ້ໜ່ວຍຄວາມຈຳເທົ່າໃດ.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />ທ່ານສາມາດເລີ່ມ ຫຼື ຢຸດການອະນຸຍາດລາຍງານເຫຼົ່ານີ້ຕອນໃດກໍໄດ້ໃນການຕັ້ງຄ່າອຸປະກອນ ChromeOS ຂອງລູກທ່ານ. ຫາກທ່ານເປັນຜູ້ເບິ່ງແຍງລະບົບໂດເມນ, ທ່ານສາມາດປ່ຽນການຕັ້ງຄ່ານີ້ໄດ້ໃນຄອນໂຊຜູ້ເບິ່ງແຍງ.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">ຢຸດສົ່ງສັນຍານໜ້າຈໍໄປຫາ <ph name="DEVICE_NAME" /></translation>
 <translation id="3559262020195162408">ຕິດຕັ້ງນະໂຍບາຍໃນອຸປະກອນບໍ່ສຳເລັດ.</translation>
 <translation id="3559533181353831840">ຍັງອີກປະມານ <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">&amp;ກວດການສະກົດຄຳ</translation>
@@ -3193,6 +3211,7 @@
 <translation id="370415077757856453">ບລັອກ JavaScript ໄວ້ແລ້ວ</translation>
 <translation id="3704331259350077894">ການຢຸດການດໍາເນີນການ</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">ສົ່ງສັນຍານໜ້າຈໍໄປຫາ <ph name="DEVICE_NAME" /> ຕໍ່</translation>
 <translation id="3706463572498736864">ໜ້າຕໍ່ແຜ່ນ</translation>
 <translation id="370649949373421643">ເປີດໃຊ້ງານ Wi​-Fi</translation>
 <translation id="370665806235115550">ກໍາລັງໂຫຼດ ...</translation>
@@ -3238,6 +3257,7 @@
 <translation id="3738632186060045350">ຂໍ້ມູນ <ph name="DEVICE_TYPE" /> ຈະຖືກລຶບໃນ 24 ຊົ່ວໂມງ</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">ເປີດ <ph name="APPLICATION" /> ບໍ?</translation>
+<translation id="3740945083753997630">ຫຼຸດຂະໜາດການສະແດງຜົນ ແລະ ຂໍ້ຄວາມ</translation>
 <translation id="3741056951918180319">ທ່ານສາມາດຄລິກສ່ວນຂະຫຍາຍເພື່ອໃຊ້ມັນຢູ່ເວັບໄຊໃດກໍໄດ້ທຸກເທື່ອ</translation>
 <translation id="3742235229730461951">ໂຄງຮ່າງແປ້ນພິມພາສາເກົາຫຼີ</translation>
 <translation id="3742666961763734085">ບໍ່ສາມາດຊອກເຫັນໜ່ວຍງານທີ່ມີຊື່ນັ້ນ. ກະລຸນາລອງໃໝ່.</translation>
@@ -3407,6 +3427,7 @@
 <translation id="3867134342671430205">ລາກ ຫຼື ໃຊ້ປຸ່ມລູກສອນເພື່ອຍ້າຍຈໍສະແດງຜົນ</translation>
 <translation id="3867944738977021751">ບ່ອນໃສ່ໃບຢັ້ງຢືນ</translation>
 <translation id="3869917919960562512">ດັດ​ຊະ​ນີ​ບໍ່ຖືກຕ້ອງ​.</translation>
+<translation id="3870688298003434214">ເຊົາເລືອກ <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">ບໍ່ມີລະຫັດຜ່ານທີ່ບັນທຶກໄວ້ສຳລັບ <ph name="DOMAIN" /></translation>
 <translation id="3871350334636688135">ຫຼັງຈາກ 24 ຊົ່ວໂມງ, ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານຈະເຮັດການອັບເດດຄັ້ງດຽວທີ່ຈະລຶບຂໍ້ມູນໃນເຄື່ອງຂອງທ່ານ ເມື່ອທ່ານປິດເປີດອຸປະກອນຂອງທ່ານຄືນໃໝ່. ບັນທຶກຂໍ້ມູນໃນເຄື່ອງຕ່າງໆທີ່ທ່ານຕ້ອງການໄວ້ໃນບ່ອນຈັດເກັບຂໍ້ມູນຄລາວພາຍໃນ 24 ຊົ່ວໂມງ.</translation>
 <translation id="3872220884670338524">ການດຳເນີນການເພີ່ມເຕີມ, ບັນຊີທີ່ບັນທຶກໄວ້ສຳລັບ <ph name="USERNAME" /> ຢູ່ໃນ <ph name="DOMAIN" /></translation>
@@ -3502,6 +3523,7 @@
 <translation id="3945513714196326460">ກະລຸນາລອງໃຊ້ຊື່ທີ່ສັ້ນລົງ</translation>
 <translation id="3948027458879361203">ປ່ຽນຊື່ໂຮສ</translation>
 <translation id="3948116654032448504">&amp;ຊອກຫາ <ph name="SEARCH_ENGINE" /> ຮູບ</translation>
+<translation id="3948334586359655083">ແຖບນີ້ກຳລັງຫຼິ້ນສຽງ</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> ສາມາດແກ້ໄຂໄຟລ໌ໃນໂຟນເດີຕໍ່ໄປນີ້ໄດ້</translation>
 <translation id="394984172568887996">ນໍາ​ເຂົ້າ​ຈາກ IE ແລ້ວ</translation>
 <translation id="3950820424414687140">ລົງຊື່ເຂົ້າ​ໃຊ້</translation>
@@ -3560,6 +3582,7 @@
 <translation id="3987544746655539083">ສືບຕໍ່ບລັອກບໍ່ໃຫ້ເວັບໄຊນີ້ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານ</translation>
 <translation id="3987938432087324095">ຂໍອະໄພ, ບໍ່ໄດ້ຍິນສິ່ງນັ້ນ.</translation>
 <translation id="3987993985790029246">ອັດ​ສຳ​ເນົາລິ້ງເຊື່ອມໂຍງ</translation>
+<translation id="3988124842897276887">ແຖບນີ້ຖືກເຊື່ອມຕໍ່ກັບອຸປະກອນ USB</translation>
 <translation id="3988488665753590964">ປັບວິທີສະແດງສີຢູ່ໜ້າຈໍຂອງທ່ານ</translation>
 <translation id="3988996860813292272">ເລືອກເຂດເວລາ</translation>
 <translation id="399179161741278232">ນໍາ​ເຂົ້າແລ້ວ</translation>
@@ -3709,6 +3732,7 @@
 <translation id="4130207949184424187">ສ່ວນຂະຫຍາຍໄດ້ປ່ຽນວ່າຈະໃຫ້ໜ້າໃດສະແດງຂຶ້ນ ເມື່ອທ່ານຄົ້ນຫາຈາກ Omnibox.</translation>
 <translation id="4130750466177569591">ຂ້ອຍເຫັນ​ດີ</translation>
 <translation id="413121957363593859">ອົງ​ປະ​ກອບ</translation>
+<translation id="4131283654370308898">ອະນຸຍາດ <ph name="EXTENSION_NAME" /> ຢູ່ເວັບໄຊນີ້</translation>
 <translation id="4131410914670010031">ຂາວດໍາ</translation>
 <translation id="413193092008917129">ສິ່ງທີ່ເຮັດປະຈຳສຳລັບການວິເຄາະບັນຫາເຄືອຂ່າຍ</translation>
 <translation id="4132183752438206707">ຊອກແອັບໃນ Google Play Store</translation>
@@ -4066,6 +4090,7 @@
 <translation id="4444512841222467874">ຖ້າບໍ່ສ້າງພື້ນທີ່ຫວ່າງ, ຜູ້ໃຊ້ ແລະ ຂໍ້ມູນອາດຈະຖືກລຶບອອກໂດຍອັດຕະໂນມັດ.</translation>
 <translation id="4445446646109808714">ຂໍ້ຕົກລົງໃບອະນຸຍາດຜູ້ໃຊ້ປາຍທາງ: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">ແຍງ​ເບິ່ງ​ແລ້ວ</translation>
+<translation id="4448560527907365660">ບັນທຶກ ແລະ ເບິ່ງເພີ່ມເຕີມ</translation>
 <translation id="4448914100439890108">ເຊື່ອງລະຫັດຜ່ານສຳລັບ <ph name="USERNAME" /> ຢູ່ <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">ຈັດການການອະນຸຍາດ</translation>
 <translation id="4449948729197510913">ຊື່ຜູ້ໃຊ້ຂອງທ່ານຂຶ້ນກັບບັນຊີວິສາຫະກິດຂອງອົງການຂອງທ່ານ. ເພື່ອລົງທະບຽນອຸປະກອນກັບບັນຊີ, ກະລຸນາຢັ້ງຢືນຄວາມເປັນເຈົ້າຂອງໂດເມນໃນຄອນໂຊນຜູ້ເບິ່ງແຍງລະບົບກ່ອນ. ທ່ານຈຳເປັນຕ້ອງມີສິດທິຂອງຜູ້ເບິ່ງແຍງລະບົບໃນບັນຊີເພື່ອຢັ້ງຢືນ.</translation>
@@ -4246,6 +4271,7 @@
 <translation id="4601426376352205922">ໝາຍວ່າຍັງບໍ່ໄດ້ອ່ານ</translation>
 <translation id="460190672235687855">ເບິ່ງລະຫັດຜ່ານ</translation>
 <translation id="4602466770786743961">ອະນຸຍາດໃຫ້ <ph name="HOST" /> ​​ເຂົ້າຫາ​ກ້ອງ​ຖ່າຍ​ຮູບ​ ແລະໄມໂຄຣໂຟນຂອງ​ທ່ານສະເໝີ</translation>
+<translation id="4602776638371779614">ແຖບນີ້ກຳລັງສະແກນຫາອຸປະກອນ Bluetooth</translation>
 <translation id="4606551464649945562">ບໍ່ອະນຸຍາດໃຫ້ເວັບໄຊສ້າງແຜນທີ່ 3 ມິຕິຂອງສິ່ງທີ່ຢູ່ອ້ອມຂ້າງຕົວທ່ານ ຫຼື ຕິດຕາມຕຳແໜ່ງກ້ອງ</translation>
 <translation id="4608500690299898628">ຊອກຫາ...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> ເກີດຄວາມຜິດພາດຂຶ້ນ</translation>
@@ -4429,6 +4455,7 @@
 <translation id="4770119228883592393">ຂໍການອະນຸຍາດແລ້ວ, ກະລຸນາກົດ ⌘ + ຕົວເລືອກ + ລູກສອນລົງເພື່ອຕອບກັບ</translation>
 <translation id="4773112038801431077">ອັບເກຣດ Linux</translation>
 <translation id="4774456473286455263">ຕັ້ງຄ່າກັບໂທລະສັບ Android ຂອງທ່ານ</translation>
+<translation id="477548766361111120">ອະນຸຍາດໃຫ້ສ່ວນຂະຫຍາຍອ່ານ ແລະ ປ່ຽນເວັບໄຊນີ້</translation>
 <translation id="477647109558161443">ສ້າງທາງລັດເດັສທັອບ</translation>
 <translation id="4776594120007763294">ເພື່ອເພີ່ມໜ້າໃດໜຶ່ງໄວ້ອ່ານໃນພາຍຫຼັງ, ໃຫ້ຄລິກໃສ່ປຸ່ມ</translation>
 <translation id="4777458362738635055">ຜູ້ໃຊ້ອື່ນຂອງອຸປະກອນນີ້ສາມາດໃຊ້ເຄືອຂ່າຍນີ້ໄດ້</translation>
@@ -5173,6 +5200,7 @@
 <translation id="5439680044267106777">ຂ້າມ ແລະ ຕັ້ງຄ່າໂປຣໄຟລ໌ໃໝ່</translation>
 <translation id="544083962418256601">ສ້າງ​ທາງ​ລັດ...</translation>
 <translation id="5441133529460183413">ຕິດຕັ້ງເວັບແອັບຈາກໂປຣແກຣມທ່ອງເວັບ Chrome ແລ້ວ</translation>
+<translation id="5441292787273562014">ໂຫຼດໜ້າເວັບໃໝ່</translation>
 <translation id="5441466871879044658">ແປເປັນພາສານີ້</translation>
 <translation id="5442228125690314719">ເກີດຄວາມຜິດພາດໃນການສ້າງຮູບດິສກ໌. ກະລຸນາລອງອີກຄັ້ງ.</translation>
 <translation id="5442550868130618860">ເປີດການອັບເດດອັດຕະໂນມັດ</translation>
@@ -5220,6 +5248,7 @@
 <translation id="5485102783864353244">ເພີ່ມ​ແອັບ</translation>
 <translation id="5485435764083510385">ພາສາທີ່ຕ້ອງການສຳລັບຄຳບັນຍາຍ</translation>
 <translation id="5485754497697573575">ຟື້ນ​ຄືນທຸກແຖບ</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> ອາດຕ້ອງໃຊ້ອຸປະກອນທີ່ໃໝ່ກວ່າ ຫຼື ປະເພດອື່ນ</translation>
 <translation id="5486261815000869482">ຢືນ​ຢັນ​ລະ​ຫັດ​ຜ່ານ​</translation>
 <translation id="5486561344817861625">ຈໍາລອງການເລີ່ມປິດເປີດບຣາວ​ເຊີໃໝ່</translation>
 <translation id="5487460042548760727">ປ່ຽນຊື່ໂປຣໄຟລ໌ເປັນ <ph name="PROFILE_NAME" /></translation>
@@ -5574,6 +5603,7 @@
 <translation id="5799508265798272974">ເຄື່ອງຈຳລອງສະເໝືອນຈິງ Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">ໄຟລ໌ປາຍທາງຖືກຕັດລົງ ຫຼືເອົາອອກໄປຕັ້ງແຕ່ການດາວໂຫຼດທີ່ຜ່ານມາ.</translation>
 <translation id="5800351251499368110">ປິດການຊອກຫາໃນແຜງຄວບຄຸມດ້ານຂ້າງ. ເປີດການຊອກຫາໃນແຜງຄວບຄຸມດ້ານຂ້າງແລ້ວ.</translation>
+<translation id="5800703268655655701">ເລືອກຮູບແບບສີສັນແຈ້ງ ຫຼື ມືດ</translation>
 <translation id="5801051031414037185">ຕັ້ງຄ່າໂທລະສັບ</translation>
 <translation id="5801568494490449797">ຄວາມມັກ</translation>
 <translation id="5803689677801500549">ລະຫັດຜ່ານທີ່ບັນທຶກໄວ້ຈະປາກົດຂຶ້ນບ່ອນນີ້. ເພື່ອນຳເຂົ້າລະຫັດຜ່ານໄປໃສ່ <ph name="BRAND" /> ສຳລັບ <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" /> ໃຫ້ເລືອກໄຟລ໌ CSV.<ph name="END_LINK" /></translation>
@@ -5689,6 +5719,7 @@
 <translation id="5889282057229379085">ຈໍານວນ CAs ປານກາງສູງສຸດ: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">ເຂົ້າລະຫັດຂໍ້ມູນທີ່ໄດ້ຊິ້ງດ້ວຍ <ph name="BEGIN_LINK" />ລະຫັດຜ່ານການຊິ້ງ<ph name="END_LINK" /> ຂອງທ່ານ. ວິທີການຈ່າຍເງິນ ແລະ ທີ່ຢູ່ຈາກ Google Pay ຈະບໍ່ໄດ້ຖືກເຂົ້າລະຫັດ. ຈະບໍ່ຊິ້ງປະຫວັດການທ່ອງເວັບຈາກ Chrome.</translation>
 <translation id="5891688036610113830">ເຄືອຂ່າຍ Wi-Fi ທີ່ຕ້ອງການ</translation>
+<translation id="5894056653502215961">ເຊົາເລືອກໂຟນເດີ <ph name="FOLDER_TITLE" /></translation>
 <translation id="5895138241574237353">ເລີ່ມຕົ້ນໃໝ່</translation>
 <translation id="5895335062901455404">ການຕັ້ງຄ່າ ແລະ ການເຄື່ອນໄຫວທີ່ທ່ານບັນທຶກໄວ້ຈະພ້ອມໃຊ້ຢູ່ອຸປະກອນ ChromeOS Flex ໃດກໍຕາມເມື່ອທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google ຂອງທ່ານ. ທ່ານສາມາດເລືອກໄດ້ວ່າຈະຊິ້ງຂໍ້ມູນຫຍັງໃນການຕັ້ງຄ່າ.</translation>
 <translation id="589541317545606110">ຊອກຫາໜ້າດ້ວຍ <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5760,6 +5791,7 @@
 <translation id="5948476936444935795">ຍົກເລີກການນຳເຂົ້າ</translation>
 <translation id="5948536763493709626">ເຊື່ອມຕໍ່ແປ້ນພິມ ຫຼື ເມົ້າ ຫຼື ສືບຕໍ່ຕັ້ງຄ່າໂດຍໃຊ້ໜ້າຈໍສຳຜັດຂອງທ່ານ. ຫາກທ່ານກຳລັງໃຊ້ອຸປະກອນ Bluetooth ຢູ່, ໃຫ້ກວດສອບວ່າອຸປະກອນຂອງທ່ານພ້ອມຈັບຄູ່ແລ້ວ.</translation>
 <translation id="5949544233750246342">ບໍ່ສາມາດແຍກວິເຄາະໄຟລ໌ໄດ້</translation>
+<translation id="5950762317146173294">ໄຟລ໌ນີ້ອາດເປັນໄວຣັສ ຫຼື ເມົາແວ</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> ຕ້ອງການໃຊ້ຟອນໃນເຄື່ອງ</translation>
 <translation id="5951624318208955736">ໜ້າຈໍ</translation>
 <translation id="595262438437661818">ບໍ່ມີສ່ວນຂະຫຍາຍທີ່ຕ້ອງການເຂົ້າເຖິງເວັບໄຊນີ້</translation>
@@ -5844,6 +5876,7 @@
 <translation id="6022526133015258832">ເປີດເຕັມໜ້າຈໍ</translation>
 <translation id="6022659036123304283">ເຮັດໃຫ້ Chrome ເປັນຂອງທ່ານ</translation>
 <translation id="6023643151125006053">ອຸປະກອນນີ້ (SN: <ph name="SERIAL_NUMBER" />) ຖືກລັອກໄວ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບ <ph name="SAML_DOMAIN" />.</translation>
+<translation id="6024072172641380781">ອະນຸຍາດໃຫ້ໃຊ້ສ່ວນຂະຫຍາຍຢູ່ເວັບໄຊນີ້</translation>
 <translation id="6025215716629925253">ຮ່ອງຮອຍການກອງ</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - ເຊື່ອມຕໍ່ກັບອຸປະກອນ USB ແລ້ວ</translation>
 <translation id="6027945736510816438">ທ່ານໝາຍເຖິງ <ph name="WEBSITE" /> ບໍ?</translation>
@@ -6127,6 +6160,7 @@
 <translation id="6268252012308737255">ເປີດດ້ວຍ <ph name="APP" /></translation>
 <translation id="6270309713620950855">ປິດສຽງການສະກິດ</translation>
 <translation id="6270391203985052864">ເວັບໄຊສາມາດຂໍໃຫ້ສົ່ງການແຈ້ງເຕືອນໄດ້</translation>
+<translation id="6270486800167535228">ປັກໝຸດສ່ວນຂະຫຍາຍແລ້ວ. ເລືອກເພື່ອເບິ່ງຕົວເລືອກເພີ່ມເຕີມ</translation>
 <translation id="6270770586500173387">ສົ່ງ <ph name="BEGIN_LINK1" />ຂໍ້ມູນລະບົບ ແລະ ແອັບ<ph name="END_LINK1" />, ແລະ <ph name="BEGIN_LINK2" />ເມຕຣິກ<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">ບັດເສັ້ນທາງການທ່ອງເວັບ</translation>
 <translation id="6271348838875430303">ຍົກເລີກການແກ້ໄຂໃຫ້ຖືກຕ້ອງແລ້ວ</translation>
@@ -6207,6 +6241,7 @@
 <translation id="6344608411615208519">ຜູ້ປົກຄອງຂອງທ່ານເປັນຜູ້ <ph name="BEGIN_LINK" />ຈັດການໂປຣແກຣມທ່ອງເວັບ<ph name="END_LINK" /> ຂອງທ່ານ</translation>
 <translation id="6345418402353744910">ຈຳເປັນຕ້ອງມີຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານຂອງທ່ານສຳລັບພຣັອກຊີ <ph name="PROXY" /> ເພື່ອໃຫ້ຜູ້ເບິ່ງແຍງສາມາດຕັ້ງຄ່າເຄືອຂ່າຍຂອງທ່ານໄດ້</translation>
 <translation id="6345878117466430440">ໝາຍວ່າອ່ານແລ້ວ</translation>
+<translation id="6346952829206698721">ວາງຈາກຄລິບບອດ</translation>
 <translation id="6347010704471250799">ສະແດງການແຈ້ງເຕືອນ</translation>
 <translation id="634887995541211148">ເອີ້ນໃຊ້ Bruschetta ຢູ່ອຸປະກອນຂອງທ່ານ.</translation>
 <translation id="6349101878882523185">ຕິດຕັ້ງ <ph name="APP_NAME" /></translation>
@@ -6492,6 +6527,7 @@
 <translation id="6596325263575161958">ທາງເລືອກການໃສ່ລະຫັດ</translation>
 <translation id="6596816719288285829">ທີ່​ຢູ່ IP</translation>
 <translation id="6597017209724497268">ຕົວ​ຢ່າງ</translation>
+<translation id="6597324406048772521">ສ່ວນຂະຫຍາຍທີ່ບໍ່ອະນຸຍາດຢູ່ເວັບໄຊນີ້</translation>
 <translation id="6597331566371766302">ສ່ວນຂະຫຍາຍຕໍ່ໄປນີ້ຖືກບລັອກໄວ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ:</translation>
 <translation id="659894938503552850">ໃໝ່ສຸດ</translation>
 <translation id="6601262427770154296">ຈັດການວັດຈະນານຸກົມຜູ້ໃຊ້</translation>
@@ -6509,6 +6545,7 @@
 <translation id="6609478180749378879">ລະບົບຈະເກັບຂໍ້ມູນເຂົ້າສູ່ລະບົບໄວ້ໃນອຸປະກອນນີ້ຫຼັງຈາກທີ່ທ່ານອອກຈາກໂໝດທີ່ບໍ່ເຜີຍຕົວຕົນ. ທ່ານຈະສາມາດເຂົ້າສູ່ລະບົບເວັບໄຊນີ້ໄດ້ອີກຄັ້ງໃນພາຍຫຼັງດ້ວຍອຸປະກອນຂອງທ່ານ.</translation>
 <translation id="6610002944194042868">ຕົວເລືອກແປພາສາ</translation>
 <translation id="6611972847767394631">ຊອກຫາແຖບຂອງທ່ານຢູ່ທີ່ນີ້</translation>
+<translation id="6613267708691765962">ກຳລັງສະແກນຫາເມົາແວ...</translation>
 <translation id="6613668613087513143">ມີພື້ນທີ່ບໍ່ພຽງພໍຢູ່ອຸປະກອນນີ້ເພື່ອອັບເດດໃຫ້ສຳເລັດ. ກະລຸນາສ້າງພື້ນທີ່ຫວ່າງ <ph name="NECESSARY_SPACE" /> ຢູ່ອຸປະກອນຂອງທ່ານແລ້ວລອງໃໝ່ຈາກໂປຣແກຣມທ່ອງເວັບ Chrome ຂອງທ່ານ.</translation>
 <translation id="6615455863669487791">ສະ​ແດງຂ້ອຍ</translation>
 <translation id="6618097958368085618">ຢືນຢັນໃຫ້ເກັບໄວ້</translation>
@@ -6757,6 +6794,7 @@
 <translation id="6825184156888454064">ຮຽງຕາມຊື່</translation>
 <translation id="6826872289184051766">ຢັ້ງຢືນຜ່ານ USB</translation>
 <translation id="6827121912381363404">ອະນຸຍາດສ່ວນຂະຫຍາຍທັງໝົດໃຫ້ອ່ານ ແລະ ປ່ຽນ <ph name="PERMITTED_SITE" /> ໄດ້</translation>
+<translation id="6827422464708099620">ເລືອກເພື່ອເບິ່ງຕົວເລືອກເພີ່ມເຕີມ</translation>
 <translation id="6827517233063803343">ແອັບ ແລະ ການຕັ້ງຄ່າຂອງທ່ານຈະຊິ້ງຂໍ້ມູນໃນອຸປະກອນ ChromeOS ທີ່ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google ຂອງທ່ານ. ສຳລັບຕົວເລືອກການຊິ້ງຂໍ້ມູນ, ກະລຸນາເຂົ້າໄປ <ph name="LINK_BEGIN" />ການຕັ້ງຄ່າ Chrome<ph name="LINK_END" />.</translation>
 <translation id="6827767090350758381">ແອັບ Chrome ເວີຊັນເກົ່າຈະບໍ່ເປີດຢູ່ອຸປະກອນ Windows ຫຼັງຈາກເດືອນທັນວາ 2022. ກະລຸນາຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານເພື່ອອັບເດດເປັນເວີຊັນໃໝ່ ຫຼື ລຶບແອັບນີ້ອອກ.</translation>
 <translation id="6828153365543658583">ຈໍາກັດລົງຊື່ເຂົ້າລະບົບຕໍ່ຜູ້ໃຊ້ຕໍ່ໄປນີ້:</translation>
@@ -6820,6 +6858,7 @@
 <translation id="6868934826811377550">ເບິ່ງລາຍລະອຽດ</translation>
 <translation id="6871644448911473373">ເຄື່ອງຕອບຮັບ OCSP: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">ລະຫັດຜ່ານທີ່ທ່ານປ້ອນເຂົ້າຖືກປະຕິເສດໂດຍເຊີບເວີແລ້ວ.</translation>
+<translation id="6873571253135628430">ປ່ຽນສິດທິຂອງເວັບໄຊ</translation>
 <translation id="6876155724392614295">ຖີບລົດ</translation>
 <translation id="6876469544038980967">ບໍ່ມີປະໂຫຍດ</translation>
 <translation id="6878422606530379992">ອະນຸຍາດເຊັນເຊີ</translation>
@@ -6960,6 +6999,7 @@
 <translation id="6993050154661569036">ກຳລັງອັບເດດໂປຣແກຣມທ່ອງເວັບ Chrome</translation>
 <translation id="6995899638241819463">ເຕືອນບອກທ່ານຖ້າລະຫັດຜ່ານຮົ່ວໄຫຼໃນການລະເມີດຂໍ້ມູນ</translation>
 <translation id="6995984090981858039">ອ່ານຂໍ້ມູນອຸປະກອນ ChromeOS ແລະ ຂໍ້ມູນ</translation>
+<translation id="6996438701394974959">ເພີ່ມຂະໜາດການສະແດງຜົນ ແລະ ຂໍ້ຄວາມ</translation>
 <translation id="6997553674029032185">ເຂົ້າໄປເວັບໄຊ</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - ບັນທຶກການເຄື່ອນໄຫວ</translation>
 <translation id="6997707937646349884">ໃນອຸປະກອນຂອງທ່ານ:</translation>
@@ -7080,6 +7120,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{ລຶບແອັບອອກ}other{ລຶບແອັບອອກ}}</translation>
 <translation id="7099337801055912064">ບໍ່ສາມາດໂຫຼດ PPD ທີ່ມີຂະໜາດໃຫຍ່ໄດ້. ຂະໜາດສູງສຸດແມ່ນ 250 kB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{ບໍ່ມີລະຫັດຜ່ານທີ່ຖືກລະເມີດ}=1{ມີລະຫັດຜ່ານທີ່ຖືກລະເມີດ {COUNT} ລາຍການ}other{ມີລະຫັດຜ່ານທີ່ຖືກລະເມີດ {COUNT} ລາຍການ}}</translation>
+<translation id="710047887584828070">ເນື້ອຫາຂອງແຖບນີ້ກຳລັງຖືກແບ່ງປັນຢູ່</translation>
 <translation id="7102832101143475489">ຄຳຂໍໝົດເວລາແລ້ວ</translation>
 <translation id="710640343305609397">ເປີດການຕັ້ງຄ່າເຄືອຂ່າຍ</translation>
 <translation id="7107609441453408294">ຫຼິ້ນສຽງດຽວກັນຜ່ານທຸກລຳໂພງ</translation>
@@ -7175,6 +7216,7 @@
 <translation id="719791532916917144">ຄີລັດ</translation>
 <translation id="7198503619164954386">ທ່ານຕ້ອງໃຊ້ອຸປະກອນທີ່ລົງທະບຽນອົງກອນ</translation>
 <translation id="7199158086730159431">ເອົາການຊ່ວຍເຫຼືອ</translation>
+<translation id="7199452998289813782">ຢຸດສົ່ງສັນຍານໄປຫາ <ph name="DEVICE_NAME" /> ຊົ່ວຄາວ</translation>
 <translation id="7200083590239651963">ເລືອກການກຳນົດຄ່າ</translation>
 <translation id="720110658997053098">ຮັກສາອຸປະກອນນີ້ຢູ່ໃນໂໝດ kiosk ຢ່າງຖາວອນ</translation>
 <translation id="7201118060536064622">ລຶບ '<ph name="DELETED_ITEM_NAME" />' ແລ້ວ</translation>
@@ -7221,6 +7263,7 @@
 <translation id="7241389281993241388">ກະ​ລຸ​ນາ​ລົງຊື່ເຂົ້າ​ໃຊ້<ph name="TOKEN_NAME" /> ເພື່ອນໍາໃບຢັ້ງຢືນລູກຂ່າຍເຂົ້າມາ.</translation>
 <translation id="7241763419756062043">ເລືອກຄຸນນະພາບການຊອກຫາ ແລະ ການທ່ອງເວັບຂອງທ່ານ</translation>
 <translation id="7243632151880336635">ລຶບລ້າງ ແລະ ອອກຈາກລະບົບ</translation>
+<translation id="7245162963905242662">ຊອກຫາໜ້ານີ້ດ້ວຍ Google...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (ດີທີ່ສຸດ)</translation>
 <translation id="7246230585855757313">ສຽບກະແຈຄວາມປອດໄພຂອງທ່ານຄືນໃໝ່ ແລ້ວລອງອີກຄັ້ງ</translation>
 <translation id="724835896049478274">ມີບັນຊີສຳລັບແອັບ Android</translation>
@@ -7526,8 +7569,10 @@
 <translation id="7497981768003291373">ທ່ານບໍ່ມີບັນທຶກຂໍ້ຄວາມ WebRTC ທີ່ບັນທຶກໄວ້ເມື່ອບໍ່ດົນມານີ້.</translation>
 <translation id="7501957181231305652">ຫຼື</translation>
 <translation id="7502220299952823578">ເພີ່ມໃສ່ລາຍຊື່ "ເປີດໃຊ້ເວັບໄຊເຫຼົ່ານີ້ໄວ້ຕະຫຼອດ"</translation>
+<translation id="7502528909759062987">ຢຸດສົ່ງສັນຍານແຖບໄປຫາ <ph name="DEVICE_NAME" /> ຊົ່ວຄາວ</translation>
 <translation id="7503191893372251637">ປະເພດໃບຢັ້ງຢືນ Netscape</translation>
 <translation id="7503985202154027481">ບັນທຶກການເຂົ້າເບິ່ງເວັບໄຊນີ້ຂອງທ່ານຈະຖືກຮັກສາໄວ້ໃນກະແຈຄວາມປອດໄພຂອງທ່ານ.</translation>
+<translation id="7504145862399276792">ປິດສຽງຂອງແຖບນີ້ຢູ່</translation>
 <translation id="750509436279396091">ເປີດໂຟລເດີດາວໂຫຼດ</translation>
 <translation id="7505149250476994901">ເວົ້າ "ຕົວພິມໃຫຍ່" ກ່ອນຕົວອັກສອນ</translation>
 <translation id="7505717542095249632">ເຊື່ອງ <ph name="MERCHANT" /></translation>
@@ -7767,6 +7812,7 @@
 <translation id="7701040980221191251">ບໍ່​ມີ​</translation>
 <translation id="7701265686005869308">ປິດໂປຣໄຟລ໌</translation>
 <translation id="7701869757853594372">ດ້າມຈັບ​ຜູ້​ໃຊ້</translation>
+<translation id="7702463352133825032">ຢຸດສົ່ງສັນຍານໄປຫາ <ph name="DEVICE_NAME" /></translation>
 <translation id="7702574632857388784">ລຶບ <ph name="FILE_NAME" /> ອອກຈາກລາຍການແລ້ວ</translation>
 <translation id="7702907602086592255">ໂດເມນ</translation>
 <translation id="7704305437604973648">ໜ້າວຽກ​</translation>
@@ -7885,6 +7931,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">ພື້ນຫຼັງຂອງໜ້າເລີ່ມຕົ້ນໄດ້ປ່ຽນເປັນ <ph name="CATEGORY" /> ແລ້ວ.</translation>
+<translation id="7791436592012979144">ເປີດໃຊ້ການເລື່ອນແບບຢ້ອນກັບແລ້ວ</translation>
 <translation id="7791543448312431591">ເພີ່ມ</translation>
 <translation id="7792012425874949788">ມີບາງອັນຜິດພາດກັບການລົງຊື່ເຂົ້າ​ໃຊ້</translation>
 <translation id="7792388396321542707">ຢຸດການແຊຣ໌</translation>
@@ -8051,6 +8098,7 @@
 <translation id="7935451262452051102">ສຳເລັດແລ້ວ <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">ຕົວເລືອກຂັ້ນສູງ</translation>
 <translation id="7939073735115504773">ຄລິກໄອຄອນຂອງສ່ວນຂະຫຍາຍນີ້ເພື່ອອ່ານ ແລະ ປ່ຽນແປງ <ph name="HOST" /></translation>
+<translation id="793923212791838">ບໍ່ສາມາດໃຊ້ອຸປະກອນຂອງທ່ານກັບເວັບໄຊນີ້ໄດ້</translation>
 <translation id="7939328347457537652">ຈັດການໃບຮັບຮອງອຸປະກອນ</translation>
 <translation id="7939412583708276221">ແນວໃດກໍ່ຮັກສາໄວ້</translation>
 <translation id="7940265372707990269">ຈັດຮຽງຕາມ <ph name="SORT_TYPE" /></translation>
@@ -8226,6 +8274,7 @@
 <translation id="8084114998886531721">ບັນທຶກລະຫັດຜ່ານແລ້ວ</translation>
 <translation id="8084510406207562688">ກູ້&amp;ທຸກແຖບຄືນມາ</translation>
 <translation id="8086015605808120405">ກຳລັງກຳນົດຄ່າ <ph name="PRINTER_NAME" /> ...</translation>
+<translation id="8086121155774250556">ແຖບນີ້ກຳລັງແບ່ງປັນໜ້າຈໍຂອງທ່ານ</translation>
 <translation id="8086442853986205778">ຕັ້ງຄ່າ <ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">ບໍ່ສາມາດສຳຮອງຂໍ້ມູນແອັບ ແລະ ໄຟລ໌ Linux ໄດ້</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{ໄຟລ໌ນີ້ມີການເຂົ້າລະຫັດໄວ້. ຂໍໃຫ້ເຈົ້າຂອງມັນຖອດລະຫັດ.}other{ບາງໄຟລ໌ເຫຼົ່ານີ້ມີການເຂົ້າລະຫັດໄວ້. ຂໍໃຫ້ເຈົ້າຂອງພວກມັນຖອດລະຫັດ.}}</translation>
@@ -8528,6 +8577,7 @@
 <translation id="8345848587667658367">ຕອນນີ້ທ່ານສາມາດເບິ່ງຮູບພາບ, ມີເດຍ, ການແຈ້ງເຕືອນ ແລະ ແອັບຫຼ້າສຸດຂອງໂທລະສັບທ່ານໄດ້ແລ້ວ</translation>
 <translation id="8347227221149377169">ວຽກການພິມ</translation>
 <translation id="834785183489258869">ເມື່ອຢູ່ໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ, ເວັບໄຊຈະບໍ່ສາມາດໃຊ້ຄຸກກີ້ຂອງທ່ານເພື່ອເບິ່ງການເຄື່ອນໄຫວການທ່ອງເວັບຂອງທ່ານໃນເວັບໄຊຕ່າງໆໄດ້ ຕົວຢ່າງ: ເພື່ອປັບແຕ່ງໂຄສະນາໃຫ້ເປັນແບບສ່ວນຕົວ. ຄຸນສົມບັດຢູ່ບາງເວັບໄຊອາດບໍ່ເຮັດວຽກ.</translation>
+<translation id="8349325309815489209">ສ່ວນຂະຫຍາຍທີ່ອະນຸຍາດຢູ່ເວັບໄຊນີ້</translation>
 <translation id="8349826889576450703">ຕົວເປີດໃຊ້</translation>
 <translation id="8350789879725387295">ເຄື່ອງມືປາຍປາກກາໃນດັອກ</translation>
 <translation id="8351316842353540018">ສະແດງຕົວເລືອກ a11y ທຸກເທື່ອ</translation>
@@ -8556,6 +8606,7 @@
 <translation id="8370294614544004647">ນອນເມື່ອປິດແລັບທັອບ</translation>
 <translation id="8371695176452482769">ເວົ້າ​ດຽວນີ້</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{ປິດສຽງເວັບໄຊ}other{ປິດສຽງເວັບໄຊ}}</translation>
+<translation id="8372441176515901959">ປິດຄຳຮ້ອງຂໍໄວ້</translation>
 <translation id="8373652277231415614">ແຟ້ມທີ່ແບ່ງປັນຂອງ Crostini</translation>
 <translation id="8374243500935816406">ບໍ່ອະນຸຍາດເວັບໄຊໃຫ້ຈັດການໜ້າຈໍຢູ່ການສະແດງຜົນທັງໝົດຂອງທ່ານ</translation>
 <translation id="8376137163494131156">ບອກພວກເຮົາວ່າກຳລັງເກີດຫຍັງຂຶ້ນກັບ Google Cast.</translation>
@@ -8915,6 +8966,7 @@
 <translation id="8687103160920393343">ຍົກເລີກ <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">ຍັງເຫຼືອ</translation>
 <translation id="8690129572193755009">ເວັບໄຊສາມາດຂໍຈັດການໂປຣໂຕຄໍໄດ້</translation>
+<translation id="869144235543261764">ແຖບນີ້ກຳລັງຫຼິ້ນວິດີໂອໃນໂໝດການສະແດງຜົນຊ້ອນກັນ</translation>
 <translation id="8692107307702113268">ລະຫັດຜ່ານມີຫຼາຍກວ່າ 1000 ຕົວອັກສອນ</translation>
 <translation id="8694596275649352090">ລັອກເມື່ອເຂົ້າສູ່ໂໝດນອນຫຼັບ ຫຼື ປິດໜ້າປົກໄວ້</translation>
 <translation id="8695139659682234808">ເພີ່ມການຄວບຄຸມຂອງພໍ່ແມ່ຫຼັງຈາກການຕັ້ງຄ່າ</translation>
@@ -9148,6 +9200,7 @@
 <translation id="8877448029301136595">[ໄດເຣັກຕໍຣີໃຫຍ່]</translation>
 <translation id="8879284080359814990">ສະແດງເປັນແຖບ</translation>
 <translation id="8879921471468674457">ຈື່ຂໍ້ມູນການເຂົ້າສູ່ລະບົບໄວ້</translation>
+<translation id="8880009256105053174">ຊອກຫາໜ້ານີ້ດ້ວຍ Google...</translation>
 <translation id="8880054210564666174">ບໍ່ສາມາດດາວໂຫຼດລາຍຊື່ຜູ້ຕິດຕໍ່ໄດ້. ກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ເຄືອຂ່າຍຂອງທ່ານ ຫຼື <ph name="LINK_BEGIN" />ລອງອີກຄັ້ງ<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">ກະລຸນາລອງໃໝ່. ສຳລັບການຊ່ວຍເຫຼືອດ້ານເທັກນິກ, ກະລຸນາຕິດຕໍ່ <ph name="CARRIER_NAME" />.</translation>
 <translation id="888256071122006425">ການຕັ້ງຄ່າເມົ້າ ແລະ ແຜ່ນສໍາຜັດ</translation>
@@ -9412,6 +9465,7 @@
 <translation id="9102864637938129124">ເວັບໄຊ ແລະ ຜູ້ລົງໂຄສະນາສາມາດຮູ້ໄດ້ວ່າໂຄສະນາມີປະສິດທິພາບແນວໃດ. ການຕັ້ງຄ່ານີ້ເປີດຢູ່.</translation>
 <translation id="9103479157856427471">ໜ້າຈໍທີ່ຊູມເຂົ້າເປັນໄປຕາມໂຟກັສແປ້ນພິມ</translation>
 <translation id="9103868373786083162">ກົດ​ເພື່ອ​ກັບ​ຄືນ, ເມ​ນູ​ເນື້ອ​ໃນ​ເພື່ອ​ເບິ່ງ​ປະ​ຫວັດ</translation>
+<translation id="9107096627210171112">ແປພາສາ...</translation>
 <translation id="9108035152087032312">ຊື່ ແລະ ໜ້າຈໍ...</translation>
 <translation id="9108072915170399168">ການຕັ້ງຄ່າການນຳໃຊ້ອິນເຕີເນັດປັດຈຸບັນແມ່ນບໍ່ໃຊ້ອິນເຕີເນັດເລີຍ</translation>
 <translation id="9108294543511800041">ຕອນນີ້ທ່ານສາມາດເບິ່ງຮູບພາບ, ມີເດຍ ແລະ ການແຈ້ງເຕືອນສຸດຂອງໂທລະສັບທ່ານໄດ້ແລ້ວ</translation>
@@ -9568,6 +9622,7 @@
 <translation id="947329552760389097">&amp;ກວດກາອົງປະກອບ</translation>
 <translation id="947526284350604411">ຄຳຕອບຂອງທ່ານ</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> ບໍ່ສາມາດເປີດໄຟລ໌ໃນໂຟນເດີນີ້ໄດ້ເນື່ອງຈາກມັນມີໄຟລ໌ລະບົບ</translation>
+<translation id="949807244219288032">ແຖບນີ້ເຊື່ອມຕໍ່ກັບອຸປະກອນ HID</translation>
 <translation id="950307215746360464">ຄຳແນະນຳການຕັ້ງຄ່າ</translation>
 <translation id="951991426597076286">ປະຕິເສດ</translation>
 <translation id="952471655966876828">ອຸປະກອນຈະເຊື່ອມຕໍ່ອັດຕະໂນມັດເມື່ອເປີດມັນ ແລະ ກຳລັງຖືກໃຊ້ຢູ່</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index f662dbd..9f8d104 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -322,6 +322,7 @@
 <translation id="1252987234827889034">Įvyko profilio klaida</translation>
 <translation id="1253664522045778676">Spustelėkite rezultatą ir puslapis bus atidarytas dabartiniame skirtuke</translation>
 <translation id="1254593899333212300">Tiesioginis interneto ryšys</translation>
+<translation id="1256588359404100567">Nustatymas sinchronizuotas iš ankstesnio įrenginio.</translation>
 <translation id="1257336506558170607">Eksportuoti pasirinktą sertifikatą</translation>
 <translation id="1258491128795710625">Kas naujo</translation>
 <translation id="1259152067760398571">Saugos patikra atlikta vakar</translation>
@@ -1015,6 +1016,7 @@
 <translation id="18260074040409954">Išsaugotus slaptažodžius galite naudoti bet kuriame įrenginyje. Jie išsaugomi <ph name="GOOGLE_PASSWORD_MANAGER" /> kaip priskirti el. pašto adresui <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">„Chrome“ naršyklės žymių, slaptažodžių, istorijos ir kt. sinchronizavimas</translation>
 <translation id="1826516787628120939">Tikrinama</translation>
+<translation id="1826657447823925402">Atvirkštinis slinkimas išjungtas</translation>
 <translation id="1827504459960247692">Viešosios interneto prieigos taško pavadinimas</translation>
 <translation id="1828378091493947763">Šis papildinys šiame įrenginyje nepalaikomas</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Atidaryti viską}=1{&amp;Atidaryti žymę}one{&amp;Atidaryti viską ({COUNT})}few{&amp;Atidaryti viską ({COUNT})}many{&amp;Atidaryti viską ({COUNT})}other{&amp;Atidaryti viską ({COUNT})}}</translation>
@@ -1306,6 +1308,7 @@
 <translation id="2081816110395725788">Įjungti neaktyvią būseną, kai naudojama akumuliatoriaus energija</translation>
 <translation id="2082187087049518845">Grupuoti skirtuką</translation>
 <translation id="2082510809738716738">Pasirinkite temos spalvą</translation>
+<translation id="2084891381052978619">Šias parinktis taip pat rasite nustatymuose, kai baigsite nustatyti „Chromebook“</translation>
 <translation id="208586643495776849">Bandykite dar kartą</translation>
 <translation id="208634871997892083">Visada įjungtas VPN</translation>
 <translation id="2087822576218954668">Spausdinti: <ph name="PRINT_NAME" /></translation>
@@ -1375,6 +1378,7 @@
 <translation id="212862741129535676">Dažnumo būsenos užėmimo procentas</translation>
 <translation id="212876957201860463">Ruošiamasi nustatyti mobiliojo ryšio įrenginį...</translation>
 <translation id="2131077480075264">Nepavyko įdiegti „<ph name="APP_NAME" />“, nes to neleidžia „<ph name="IMPORT_NAME" />“</translation>
+<translation id="2133775869826239001">Pasirinkite daugiau nustatytinų funkcijų</translation>
 <translation id="2133857665503360653">Vėl bandyti atlikti veiksmą su <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Sistemos CA</translation>
 <translation id="21354425047973905">Slėpti PIN kodus</translation>
@@ -2961,6 +2965,7 @@
 <translation id="347785443197175480">Toliau leisti <ph name="HOST" /> pasiekti fotoaparatą ir mikrofoną</translation>
 <translation id="3479552764303398839">Ne dabar</translation>
 <translation id="3479685872808224578">Nepavyko aptikti spausdinimo serverio. Patikrinkite adresą ir bandykite dar kartą.</translation>
+<translation id="3479753605053415848">Spustelėkite, jei norite tinkinti „Chrome“</translation>
 <translation id="3480612136143976912">Tinkinkite subtitrų realiuoju laiku dydį ir stilių. Šį nustatymą taip pat gali naudoti kai kurios programos ir svetainės.</translation>
 <translation id="3480827850068960424">Rasta skirtukų: <ph name="NUM" /></translation>
 <translation id="3481268647794498892">Atidaroma naršyklėje „<ph name="ALTERNATIVE_BROWSER_NAME" />“ po <ph name="COUNTDOWN_SECONDS" /> sek.</translation>
@@ -3256,6 +3261,7 @@
 <translation id="3738632186060045350">„<ph name="DEVICE_TYPE" />“ duomenys bus ištrinti po 24 val.</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Atidaryti „<ph name="APPLICATION" />“?</translation>
+<translation id="3740945083753997630">Sumažinti pateikties ir teksto dydį</translation>
 <translation id="3741056951918180319">Visada galite spustelėti plėtinį ir naudoti jį bet kurioje svetainėje</translation>
 <translation id="3742235229730461951">Korėjietiškos klaviatūros išdėstymas</translation>
 <translation id="3742666961763734085">Nepavyko rasti organizacinio vieneto tokiu pavadinimu. Bandykite dar kartą.</translation>
@@ -4088,6 +4094,7 @@
 <translation id="4444512841222467874">Jei nėra pasiekiamos vietos, naudotojai ir duomenys gali būti automatiškai pašalinti.</translation>
 <translation id="4445446646109808714">Galutinio naudotojo licencijos sutartis: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Veidrodinis</translation>
+<translation id="4448560527907365660">Išsaugoti ir peržiūrėti daugiau</translation>
 <translation id="4448914100439890108">Slėpti <ph name="USERNAME" /> slaptažodį <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Tvarkyti leidimus</translation>
 <translation id="4449948729197510913">Jūsų naudotojo vardas priklauso organizacijos įmonės paskyrai. Jei norite užregistruoti įrenginių paskyroje, pirmiausia patvirtinkite domeno nuosavybės teisę administratoriaus pulte. Norint patvirtinti reikės paskyros administravimo privilegijų.</translation>
@@ -5246,6 +5253,7 @@
 <translation id="5485102783864353244">Pridėti programą</translation>
 <translation id="5485435764083510385">Pageidaujama subtitrų kalba</translation>
 <translation id="5485754497697573575">Atkurti visus skirtukus</translation>
+<translation id="5486071940327595306">„<ph name="WEBSITE" />“ gali reikėti naujesnio arba kitokio įrenginio</translation>
 <translation id="5486261815000869482">Patvirtinti slaptažodį</translation>
 <translation id="5486561344817861625">Imituoti naršyklės paleidimą iš naujo</translation>
 <translation id="5487460042548760727">Pervardyti profilį į „<ph name="PROFILE_NAME" />“</translation>
@@ -5601,6 +5609,7 @@
 <translation id="5799508265798272974">„Linux“ virtualus įrenginys: „<ph name="LINUX_VM_NAME" />“</translation>
 <translation id="5800020978570554460">Paskirties failas buvo sutrumpintas arba pašalintas po paskutinio atsisiuntimo.</translation>
 <translation id="5800351251499368110">Uždarykite paiešką šoniniame skydelyje. Paieška atidaryta šoniniame skydelyje.</translation>
+<translation id="5800703268655655701">Pasirinkite šviesiąją arba tamsiąją temą</translation>
 <translation id="5801051031414037185">Nustatyti telefoną</translation>
 <translation id="5801568494490449797">Nuostatos</translation>
 <translation id="5803689677801500549">Čia bus rodomi išsaugoti slaptažodžiai. Jei norite importuoti <ph name="USER_EMAIL" /> slaptažodžius į „<ph name="BRAND" />“, <ph name="BEGIN_LINK" />pasirinkite CSV failą<ph name="END_LINK" />.</translation>
@@ -7002,6 +7011,7 @@
 <translation id="6993050154661569036">„Chrome“ naršyklė atnaujinama</translation>
 <translation id="6995899638241819463">Įspėti, jei slaptažodžiai buvo atskleisti įvykus duomenų saugos pažeidimui</translation>
 <translation id="6995984090981858039">Skaityti „ChromeOS“ įrenginio informaciją ir duomenis</translation>
+<translation id="6996438701394974959">Padidinti pateikties ir teksto dydį</translation>
 <translation id="6997553674029032185">Eiti į svetainę</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – veiklos žurnalas</translation>
 <translation id="6997707937646349884">Jūsų įrenginiuose:</translation>
@@ -7935,6 +7945,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Pradžios puslapio fonas pakeistas į <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Atvirkštinis slinkimas įgalintas</translation>
 <translation id="7791543448312431591">Pridėti</translation>
 <translation id="7792012425874949788">Prisijungiant įvyko klaida</translation>
 <translation id="7792388396321542707">Nebebendrinti</translation>
@@ -8101,6 +8112,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> proc. atlikta</translation>
 <translation id="7939062555109487992">Išplėstinės parinktys</translation>
 <translation id="7939073735115504773">Jei norite skaityti ir keisti <ph name="HOST" />, spustelėkite šio plėtinio piktogramą</translation>
+<translation id="793923212791838">Jūsų įrenginys nesuderinamas su šia svetaine</translation>
 <translation id="7939328347457537652">Tvarkykite įrenginių sertifikatus</translation>
 <translation id="7939412583708276221">Vis tiek saugoti</translation>
 <translation id="7940265372707990269">Rūšiuoti pagal: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 52ced349..b039e256 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Radās profila kļūda</translation>
 <translation id="1253664522045778676">Noklikšķiniet uz rezultāta, un lapa tiks atvērta pašreizējā cilnē.</translation>
 <translation id="1254593899333212300">Tiešais interneta savienojums</translation>
+<translation id="1256588359404100567">Iestatījums ir sinhronizēts no jūsu iepriekšējās ierīces.</translation>
 <translation id="1257336506558170607">Eksportēt atlasīto sertifikātu</translation>
 <translation id="1258491128795710625">Jaunumi</translation>
 <translation id="1259152067760398571">Drošības pārbaude tika izpildīta vakar</translation>
@@ -527,6 +528,7 @@
 <translation id="1448779317883494811">Otas rīks</translation>
 <translation id="1449191289887455076">Nospiediet “<ph name="CURRENTKEY" />” vēlreiz, lai apstiprinātu piešķiršanu un <ph name="RESPONSE" />.</translation>
 <translation id="1451375123200651445">Tīmekļa lapa, viens fails</translation>
+<translation id="145280054552001290">Pievienojiet un noņemiet subtitru valodas.</translation>
 <translation id="1453561711872398978">Sūtīt <ph name="BEGIN_LINK" />atkļūdošanas žurnālus<ph name="END_LINK" /> (ieteicams)</translation>
 <translation id="1454223536435069390">I&amp;egūt ekrānuzņēmumu</translation>
 <translation id="145432137617179457">Valodas, kurās var pārbaudīt pareizrakstību</translation>
@@ -996,6 +998,7 @@
 <translation id="18260074040409954">Varat izmantot saglabātās paroles jebkurā ierīcē. Tās ir saglabātas sadaļā <ph name="GOOGLE_PASSWORD_MANAGER" /> kontā <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinhronizējiet pārlūkā Chrome saglabātās grāmatzīmes, paroles, vēsturi u.c. saturu</translation>
 <translation id="1826516787628120939">Pārbaude</translation>
+<translation id="1826657447823925402">Ritināšana pretējā virzienā ir atspējota</translation>
 <translation id="1827504459960247692">Tīklāja nosaukums</translation>
 <translation id="1828378091493947763">Spraudnis šajā ierīcē netiek atbalstīts</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Atvērt visas}=1{&amp;Atvērt grāmatzīmi}zero{&amp;Atvērt visas ({COUNT})}one{&amp;Atvērt visas ({COUNT})}other{&amp;Atvērt visas ({COUNT})}}</translation>
@@ -1283,6 +1286,7 @@
 <translation id="2081816110395725788">Barošanas iestatījumi miega režīmā, kad tiek izmantots akumulators</translation>
 <translation id="2082187087049518845">Pievienot cilni grupai</translation>
 <translation id="2082510809738716738">Izvēlieties motīva krāsu</translation>
+<translation id="2084891381052978619">Šīs opcijas varat atrast arī sadaļā “Iestatījumi” pēc Chromebook datora iestatīšanas pabeigšanas.</translation>
 <translation id="208586643495776849">Lūdzu, mēģiniet vēlreiz</translation>
 <translation id="208634871997892083">Vienmēr ieslēgts VPN</translation>
 <translation id="2087822576218954668">Drukāšana: <ph name="PRINT_NAME" /></translation>
@@ -1352,6 +1356,7 @@
 <translation id="212862741129535676">Frekvences stāvoklis — noslogojuma procentuālais daudzums</translation>
 <translation id="212876957201860463">Notiek gatavošanās mobilās ierīces iestatīšanai...</translation>
 <translation id="2131077480075264">Nevar instalēt lietotni “<ph name="APP_NAME" />”, jo to neatļauj “<ph name="IMPORT_NAME" />”.</translation>
+<translation id="2133775869826239001">Citu iestatāmo funkciju izvēle</translation>
 <translation id="2133857665503360653">Mēģināt vēlreiz lejupielādēt failu “<ph name="FILE_NAME" />”</translation>
 <translation id="2134905185275441536">Sistēmas CA sertifikāti</translation>
 <translation id="21354425047973905">Paslēpt PIN kodus</translation>
@@ -2932,6 +2937,7 @@
 <translation id="347785443197175480">Arī turpmāk ļaut vietnei <ph name="HOST" /> piekļūt kamerai un mikrofonam</translation>
 <translation id="3479552764303398839">Vēlāk</translation>
 <translation id="3479685872808224578">Nevarēja noteikt drukas serveri. Lūdzu, pārbaudiet adresi un mēģiniet vēlreiz.</translation>
+<translation id="3479753605053415848">Noklikšķiniet, lai pielāgotu pārlūku Chrome.</translation>
 <translation id="3480612136143976912">Pielāgojiet subtitru izmēru un stilu, kas jāizmanto funkcijā Subtitri reāllaikā. Šis iestatījums tiks izmantots arī dažās lietotnēs un vietnēs.</translation>
 <translation id="3480827850068960424">Atrastas vairākas cilnes (kopā <ph name="NUM" />)</translation>
 <translation id="3481268647794498892">Atver pārlūkā <ph name="ALTERNATIVE_BROWSER_NAME" /> <ph name="COUNTDOWN_SECONDS" /> sekunžu laikā</translation>
@@ -3225,6 +3231,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />: ierīces dati 24 stundu laikā tiks izdzēsti</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Vai atvērt lietojumprogrammu <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Samazināt attēlojuma un teksta lielumu</translation>
 <translation id="3741056951918180319">Varat jebkurā laikā noklikšķināt uz paplašinājuma, lai to izmantotu jebkurā vietnē</translation>
 <translation id="3742235229730461951">Korejiešu tastatūras izkārtojums</translation>
 <translation id="3742666961763734085">Nevar atrast organizācijas vienību ar šādu nosaukumu. Lūdzu, mēģiniet vēlreiz.</translation>
@@ -3603,6 +3610,7 @@
 <translation id="4044612648082411741">Ievadiet sertifikāta paroli</translation>
 <translation id="4044708573046946214">Ekrāna bloķēšanas parole</translation>
 <translation id="404493185430269859">Noklusējuma meklētājprogramma</translation>
+<translation id="4045196801416070837">Ierīces skaņas</translation>
 <translation id="4046013316139505482">Šiem paplašinājumiem nav nepieciešams skatīt un mainīt informāciju šajā vietnē.</translation>
 <translation id="4046123991198612571">Nākamais ieraksts</translation>
 <translation id="4047345532928475040">Nav pieejama</translation>
@@ -4052,6 +4060,7 @@
 <translation id="4444512841222467874">Ja netiks atbrīvota vieta, lietotāji un dati var tikt automātiski noņemti.</translation>
 <translation id="4445446646109808714">Galalietotāja licences līgums: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Spoguļots</translation>
+<translation id="4448560527907365660">Saglabāt un skatīt vairāk</translation>
 <translation id="4448914100439890108">Paslēpt lietotāja <ph name="USERNAME" /> paroli domēnā <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Pārvaldīt atļaujas</translation>
 <translation id="4449948729197510913">Jūsu lietotājvārds pieder jūsu organizācijas kontam. Lai reģistrētu ierīces kontā, vispirms administrēšanas konsolē verificējiet domēna īpašumtiesības. Lai varētu veikt verificēšanu, būs nepieciešamas konta administratora privilēģijas.</translation>
@@ -5205,7 +5214,9 @@
 <translation id="5481941284378890518">Pievienot tuvumā esošus printerus</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> pieprasa, lai jūs dublētu savus datus un atdotu šo ierīci (<ph name="DEVICE_TYPE" />) šodien. <ph name="LINK_BEGIN" />Skatīt detalizētu informāciju<ph name="LINK_END" />}zero{<ph name="MANAGER" /> pieprasa, lai jūs dublētu datus un atdotu šo ierīci (<ph name="DEVICE_TYPE" />) {NUM_DAYS} dienu laikā. <ph name="LINK_BEGIN" />Skatīt detalizētu informāciju<ph name="LINK_END" />}one{<ph name="MANAGER" /> pieprasa, lai jūs dublētu datus un atdotu šo ierīci (<ph name="DEVICE_TYPE" />) {NUM_DAYS} dienas laikā. <ph name="LINK_BEGIN" />Skatīt detalizētu informāciju<ph name="LINK_END" />}other{<ph name="MANAGER" /> pieprasa, lai jūs dublētu datus un atdotu šo ierīci (<ph name="DEVICE_TYPE" />) {NUM_DAYS} dienu laikā. <ph name="LINK_BEGIN" />Skatīt detalizētu informāciju<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Pievienot lietotni</translation>
+<translation id="5485435764083510385">Vēlamā subtitru valoda</translation>
 <translation id="5485754497697573575">Atjaunot visas cilnes</translation>
+<translation id="5486071940327595306">Vietnei <ph name="WEBSITE" /> var būt nepieciešama jaunāka vai cita veida ierīce.</translation>
 <translation id="5486261815000869482">Apstipriniet paroli</translation>
 <translation id="5486561344817861625">Imitēt pārlūkprogrammas restartēšanu</translation>
 <translation id="5487460042548760727">Pārdēvēt profilu par <ph name="PROFILE_NAME" /></translation>
@@ -5558,6 +5569,7 @@
 <translation id="5799508265798272974">Linux virtuālā mašīna: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Galamērķa fails kopš pēdējās lejupielādes ir saīsināts vai noņemts.</translation>
 <translation id="5800351251499368110">Aizvērt meklēšanas lapu sānu panelī. Meklēšanas lapa ir atvērta sānu panelī.</translation>
+<translation id="5800703268655655701">Gaišā vai tumšā motīva atlase</translation>
 <translation id="5801051031414037185">Iestatīt tālruni</translation>
 <translation id="5801568494490449797">Preferences</translation>
 <translation id="5803689677801500549">Šeit tiks rādītas saglabātās paroles. Lai importētu paroles pakalpojumā <ph name="BRAND" /> kontam <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />atlasiet CSV failu<ph name="END_LINK" />.</translation>
@@ -6947,6 +6959,7 @@
 <translation id="6993050154661569036">Notiek pārlūkprogrammas Chrome atjaunināšana</translation>
 <translation id="6995899638241819463">Brīdināt, ja paroles tiek atklātas datu aizsardzības pārkāpuma dēļ</translation>
 <translation id="6995984090981858039">Lasīt ChromeOS ierīces informāciju un datus</translation>
+<translation id="6996438701394974959">Palielināt attēlojuma un teksta lielumu</translation>
 <translation id="6997553674029032185">Apmeklēt vietni</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" />— darbību žurnāls</translation>
 <translation id="6997707937646349884">Jūsu ierīcēs:</translation>
@@ -7389,6 +7402,7 @@
 <translation id="7400839060291901923">Savienojuma iestatīšana tālrunī <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Noraidīt šo ziņojumu</translation>
 <translation id="7402198013420237102">Vai pārvietot saglabātās paroles uz jūsu Google kontu?</translation>
+<translation id="740333000181878130">Ierīces palaišanas skaņa</translation>
 <translation id="7403642243184989645">Notiek resursu lejupielāde</translation>
 <translation id="7404065585741198296">Jūsu tālrunis ar USB vadu</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Drošības pārbaude tika izpildīta pirms 1 stundas}zero{Drošības pārbaude tika izpildīta pirms {NUM_HOURS} stundām}one{Drošības pārbaude tika izpildīta pirms {NUM_HOURS} stundas}other{Drošības pārbaude tika izpildīta pirms {NUM_HOURS} stundām}}</translation>
@@ -7872,6 +7886,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Sākumlapas fons tika nomainīts uz <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Ritināšana pretējā virzienā ir iespējota</translation>
 <translation id="7791543448312431591">Pievienot</translation>
 <translation id="7792012425874949788">Pierakstīšanās neizdevās</translation>
 <translation id="7792388396321542707">Pārtraukt kopīgošanu</translation>
@@ -8038,6 +8053,7 @@
 <translation id="7935451262452051102">Pabeigts: <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Papildopcijas</translation>
 <translation id="7939073735115504773">Noklikšķiniet uz šī paplašinājuma ikonas, lai lasītu un mainītu vietnes <ph name="HOST" /> datus.</translation>
+<translation id="793923212791838">Jūsu ierīci nevar izmantot ar šo vietni</translation>
 <translation id="7939328347457537652">Pārvaldīt ierīces sertifikātus</translation>
 <translation id="7939412583708276221">Tik un tā saglabāt</translation>
 <translation id="7940265372707990269">Kārtot pēc: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index fb4ff82..b0ea842 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">Се појави грешка на профилот</translation>
 <translation id="1253664522045778676">Кликнете на резултат и страницата ќе се отвори во вашата тековна картичка</translation>
 <translation id="1254593899333212300">Директна интернет-врска</translation>
+<translation id="1256588359404100567">Поставката е синхронизирана од вашиот претходен уред.</translation>
 <translation id="1257336506558170607">Извезете го избраниот сертификат</translation>
 <translation id="1258491128795710625">Што има ново</translation>
 <translation id="1259152067760398571">Безбедносната проверка беше извршена вчера</translation>
@@ -528,6 +529,7 @@
 <translation id="1448779317883494811">Алатка за четка</translation>
 <translation id="1449191289887455076">Притиснете „<ph name="CURRENTKEY" />“ повторно за да го потврдите назначувањето и <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Веб-страница, единечна датотека</translation>
+<translation id="145280054552001290">Додајте или отстранете јазици за титлови</translation>
 <translation id="1453561711872398978">Испраќај <ph name="BEGIN_LINK" />
     евиденција за отстранување грешки<ph name="END_LINK" /> (препорачано)</translation>
 <translation id="1454223536435069390">&amp;Сними слика од екранот</translation>
@@ -1006,6 +1008,7 @@
 <translation id="18260074040409954">Зачуваните лозинки може да ги користите на кој било уред. Тие се зачувуваат во <ph name="GOOGLE_PASSWORD_MANAGER" /> за <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Синхронизирајте ги вашите обележувачи, лозинки, историја и друго на прелистувачот Chrome</translation>
 <translation id="1826516787628120939">Се проверува</translation>
+<translation id="1826657447823925402">Лизгањето наназад е оневозможено</translation>
 <translation id="1827504459960247692">Име на точката на пристап</translation>
 <translation id="1828378091493947763">Приклучоков не е поддржан на уредов</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Отвори ги сите}=1{&amp;Отвори го обележувачот}one{&amp;Отвори ги сите ({COUNT})}other{&amp;Отвори ги сите ({COUNT})}}</translation>
@@ -1294,6 +1297,7 @@
 <translation id="2081816110395725788">Во мирување додека е на батерија</translation>
 <translation id="2082187087049518845">Групирајте ја картичката</translation>
 <translation id="2082510809738716738">Изберете боја за тема</translation>
+<translation id="2084891381052978619">Опцииве може да ги најдете и во „Поставки“ откако ќе завршите со поставувањето на вашиот Chromebook</translation>
 <translation id="208586643495776849">Обидете се повторно</translation>
 <translation id="208634871997892083">Секогаш вклучена VPN</translation>
 <translation id="2087822576218954668">Печати: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1367,7 @@
 <translation id="212862741129535676">Процент на зафатеност на фреквентна состојба</translation>
 <translation id="212876957201860463">Се подготвуваме да го поставиме вашиот мобилен уред…</translation>
 <translation id="2131077480075264">Не може да го инсталира „<ph name="APP_NAME" />“ бидејќи не е дозволено од „<ph name="IMPORT_NAME" />“</translation>
+<translation id="2133775869826239001">Изберете повеќе функции за поставување</translation>
 <translation id="2133857665503360653">Обиди се пак со <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Системски сертификати CA</translation>
 <translation id="21354425047973905">Сокријте ги PIN-кодовите</translation>
@@ -2947,6 +2952,7 @@
 <translation id="347785443197175480">Продолжи дозволувајќи <ph name="HOST" /> да пристапи до вашата камера и микрофон</translation>
 <translation id="3479552764303398839">Не сега</translation>
 <translation id="3479685872808224578">Не може да се открие серверот за печатење. Проверете ја адресата и обидете се повторно.</translation>
+<translation id="3479753605053415848">Кликнете за приспособување на Chrome</translation>
 <translation id="3480612136143976912">Приспособете ја големината на титловите за „Автоматски титлови“. Поставкава ќе ја користат и некои апликации и сајтови.</translation>
 <translation id="3480827850068960424">Најдени се <ph name="NUM" /> картички</translation>
 <translation id="3481268647794498892">Ќе се отвори во <ph name="ALTERNATIVE_BROWSER_NAME" /> за <ph name="COUNTDOWN_SECONDS" /> секунди</translation>
@@ -3241,6 +3247,7 @@
 <translation id="3738632186060045350">Податоците на <ph name="DEVICE_TYPE" /> ќе се избришат по 24 часа</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Да се отвори <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Намалете ги екранот и текстот</translation>
 <translation id="3741056951918180319">Секогаш може да кликнете на екстензијата за да ја користите на кој било сајт</translation>
 <translation id="3742235229730461951">Распоред на тастатурата на корејски</translation>
 <translation id="3742666961763734085">Не може да се најде организациска единица со тоа име. Обидете се повторно.</translation>
@@ -3619,6 +3626,7 @@
 <translation id="4044612648082411741">Внесете ја лозинката за сертификатот</translation>
 <translation id="4044708573046946214">Лозинка за заклучување екран</translation>
 <translation id="404493185430269859">Стандарден пребарувач</translation>
+<translation id="4045196801416070837">Звуци од уредот</translation>
 <translation id="4046013316139505482">Екстензииве не треба да гледаат и менуваат податоци на сајтов.</translation>
 <translation id="4046123991198612571">Следна песна</translation>
 <translation id="4047345532928475040">Не е применливо</translation>
@@ -4068,6 +4076,7 @@
 <translation id="4444512841222467874">Ако не се ослободи простор, автоматски може да се отстранат корисници и податоци.</translation>
 <translation id="4445446646109808714">Договор за лиценца со краен корисник: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Отсликано</translation>
+<translation id="4448560527907365660">Зачувајте и видете повеќе</translation>
 <translation id="4448914100439890108">Скриј ја лозинката за <ph name="USERNAME" /> на <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Управувајте со дозволите</translation>
 <translation id="4449948729197510913">Вашето корисничко име е сопственост на работната сметка на вашата организација. За регистрирање на уредите во сметката, прво треба да ја потврдите сопственоста на доменот во администрациската конзола. За таа цел, ќе ви требаат административни привилегии на сметката.</translation>
@@ -5222,7 +5231,9 @@
 <translation id="5481941284378890518">Додај печатачи во близина</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> бара да направите бекап на вашите податоци и да го вратите овој <ph name="DEVICE_TYPE" /> денес. <ph name="LINK_BEGIN" />Погледнете ги деталите<ph name="LINK_END" />}one{<ph name="MANAGER" /> бара да направите бекап на вашите податоци и да го вратите овој <ph name="DEVICE_TYPE" /> во рок од {NUM_DAYS} ден.<ph name="LINK_BEGIN" />Погледнете ги деталите<ph name="LINK_END" />}other{<ph name="MANAGER" /> бара да направите бекап на вашите податоци и да го вратите овој <ph name="DEVICE_TYPE" /> во рок од {NUM_DAYS} дена.<ph name="LINK_BEGIN" />Погледнете ги деталите<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Додај апликација</translation>
+<translation id="5485435764083510385">Претпочитан јазик на титловите</translation>
 <translation id="5485754497697573575">Обнови ги сите картички</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> може да бара понов или друг тип уред</translation>
 <translation id="5486261815000869482">Потврди лозинка</translation>
 <translation id="5486561344817861625">Симулирај рестартирање на прелистувач</translation>
 <translation id="5487460042548760727">Преименувајте го профилот во <ph name="PROFILE_NAME" /></translation>
@@ -5578,6 +5589,7 @@
 <translation id="5799508265798272974">Виртуелен уред на Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Целната датотека е отсечена или отстранета од последното преземање.</translation>
 <translation id="5800351251499368110">Затворете го пребарувањето на страничната табла. Пребарувањето е отворено на страничната табла.</translation>
+<translation id="5800703268655655701">Изберете „Светла тема“ или „Темна тема“</translation>
 <translation id="5801051031414037185">Постави го телефонот</translation>
 <translation id="5801568494490449797">Претпочитани вредности</translation>
 <translation id="5803689677801500549">Зачуваните лозинки ќе се појават тука. За да увезете лозинки во <ph name="BRAND" /> за <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" /> изберете датотека CSV.<ph name="END_LINK" /></translation>
@@ -6966,6 +6978,7 @@
 <translation id="6993050154661569036">Се ажурира прелистувачот Chrome</translation>
 <translation id="6995899638241819463">Добијте предупредување ако лозинките се откриени при упад во податоците</translation>
 <translation id="6995984090981858039">Читај податоци за уредот со ChromeOS и податоци</translation>
+<translation id="6996438701394974959">Зголемете ги екранот и текстот</translation>
 <translation id="6997553674029032185">Оди на сајтот</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Евиденција на активности</translation>
 <translation id="6997707937646349884">На вашите уреди:</translation>
@@ -7408,6 +7421,7 @@
 <translation id="7400839060291901923">Поставете врска на вашиот <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Отфрлете ја поракава</translation>
 <translation id="7402198013420237102">Дали да се преместат зачуваните лозинки во вашата сметка на Google?</translation>
+<translation id="740333000181878130">Звук при вклучување на уредот</translation>
 <translation id="7403642243184989645">Се преземаат ресурси</translation>
 <translation id="7404065585741198296">Вашиот телефон со USB-кабел</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Безбедносната проверка беше извршена пред 1 час}one{Безбедносната проверка беше извршена пред {NUM_HOURS} час}other{Безбедносната проверка беше извршена пред {NUM_HOURS} часа}}</translation>
@@ -7892,6 +7906,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Заднината на почетната страница е сменета во <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Лизгањето наназад е овозможено</translation>
 <translation id="7791543448312431591">Додај</translation>
 <translation id="7792012425874949788">Нешто не беше во ред со пријавувањето</translation>
 <translation id="7792388396321542707">Запри споделување</translation>
@@ -8058,6 +8073,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% завршено</translation>
 <translation id="7939062555109487992">Напредни опции</translation>
 <translation id="7939073735115504773">Кликнете на иконава за екстензија за да чита и менува <ph name="HOST" /></translation>
+<translation id="793923212791838">Вашиот уред не може да се користи со овој сајт</translation>
 <translation id="7939328347457537652">Управувајте со сертификатите на уредот</translation>
 <translation id="7939412583708276221">Сепак задржи</translation>
 <translation id="7940265372707990269">Подреди по <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 4323d54..f6d67c22 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">റദ്ദാക്കി</translation>
 <translation id="1022489261739821355">നിങ്ങളുടെ <ph name="BEGIN_LINK" />Google അക്കൗണ്ടിൽ<ph name="END_LINK" />നിന്നുള്ള പാസ്‌വേഡുകൾ കാണിക്കുന്നു</translation>
 <translation id="1022669824195822609">നിങ്ങളുടെ ഉപകരണം മാനേജ് ചെയ്യുന്നത് <ph name="DOMAIN" /> ആണ്. ഈ ഉപകരണത്തിലെ ഏത് പ്രൊഫൈലിലുള്ള ഡാറ്റയും അഡ്‌മിൻമാർക്ക് ആക്‌സസ് ചെയ്യാനാകും.</translation>
+<translation id="1024734233509995696">ഈ ടാബ് നിങ്ങളുടെ ക്യാമറയും മൈക്രോഫോണും ഉപയോഗിക്കുന്നു</translation>
 <translation id="1026655690966755180">പോർട്ട് ചേർക്കുക</translation>
 <translation id="1026822031284433028">ചിത്രം ലോഡ് ചെയ്യുക</translation>
 <translation id="1026959648338730078">Windows Hello അല്ലെങ്കിൽ ബാഹ്യ സുരക്ഷാ കീ</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">നിങ്ങളുടെ ഫോണിലേക്ക് കണക്റ്റ് ചെയ്യുന്നു</translation>
 <translation id="1158080958325422608">വലിയക്ഷരമാക്കുക</translation>
 <translation id="1158238185437008462">മനോഹര ഓർമ്മകൾ കാണുക</translation>
+<translation id="1159879754517035595">വിപുലീകരണത്തിന്റെ ക്രമീകരണം മാനേജ് ചെയ്യുക</translation>
 <translation id="1160842321113409343">നിങ്ങളുടെ സ്വകാര്യത പരിരക്ഷിക്കുന്നതിന് 4 ആഴ്‌ചയിലധികം പഴക്കമുള്ള സൈറ്റുകൾ ലിസ്റ്റിൽ നിന്ന് ഞങ്ങൾ സ്വയമേവ ഇല്ലാതാക്കുന്നു. നിങ്ങൾ വീണ്ടും സന്ദർശിക്കുന്ന ഒരു സൈറ്റ് ലിസ്റ്റിൽ വീണ്ടും ദൃശ്യമായേക്കാം. അല്ലെങ്കിൽ ഒരു സൈറ്റ് നിങ്ങൾക്കായി താൽപ്പര്യങ്ങൾ നിർവ്വചിക്കണമെന്ന് നിങ്ങൾ ഒരിക്കലും ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ നിങ്ങൾക്ക് ആ സൈറ്റ് നീക്കം ചെയ്യാം.</translation>
 <translation id="1161575384898972166">ക്ലയന്‍റ് സര്‍ട്ടിഫിക്കറ്റ് എക്‌സ്പോർട്ട് ചെയ്യുന്നതിന് ദയവായി <ph name="TOKEN_NAME" /> എന്നതിലേക്ക് പ്രവേശിക്കുക.</translation>
 <translation id="116173250649946226">നിങ്ങളുടെ അഡ്‌മിൻ മാറ്റാനാകാത്ത വിധത്തിലുള്ള ഡിഫോൾട്ട് തീം സജ്ജീകരിച്ചിരിക്കുന്നു.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> എന്നതിൽ സൂക്ഷ്‌മമായി കൈകാര്യം ചെയ്യേണ്ടതോ അപകടകരമായതോ ആയ ഡാറ്റയുണ്ട്. നിങ്ങളുടെ അഡ്‌മിൻ പറയുന്നു: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> ഒരു HID ഉപകരണത്തിലേക്ക് കണക്‌റ്റ് ചെയ്യാൻ താൽപ്പര്യപ്പെടുന്നു</translation>
 <translation id="1172750555846831341">ഹ്രസ്വ എഡ്‌ജിൽ ഫ്ലിപ്പ് ചെയ്യുക</translation>
+<translation id="1173036203040243666">ഈ ടാബ് Bluetooth ഉപകരണവുമായി കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="1173332155861271669">Passpoint ദാതാവിന്റെ വിശദാംശങ്ങള്‍</translation>
 <translation id="1173894706177603556">പേരുമാറ്റുക</translation>
 <translation id="1174073918202301297">കുറുക്കുവഴി ചേർത്തു</translation>
@@ -658,6 +661,7 @@
 <translation id="1556537182262721003">വിപുലീകരണ ഡയറക്ടറി പ്രൊഫൈലിലേക്ക് നീക്കാന്‍ കഴിഞ്ഞില്ല.</translation>
 <translation id="1558391695376153246">അദൃശ്യ ടാബുകൾ അടയ്‌ക്കുക</translation>
 <translation id="155865706765934889">ടച്ച്‌പാഡ്</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് കാസ്‌റ്റ് ചെയ്യുന്നത് പുനരാരംഭിക്കുക</translation>
 <translation id="1562119309884184621">ഈ കോൺടാക്‌റ്റ് ചേർക്കുന്നത്, അടുത്ത തവണ അവർ പങ്കിടുമ്പോൾ ഓർമ്മിക്കും</translation>
 <translation id="1563137369682381456">കാലഹരണപ്പെടുന്ന തീയതി</translation>
 <translation id="1563702743503072935">സൈൻ ഇൻ ചെയ്‌തിരിക്കുമ്പോൾ, നിങ്ങളുടെ Google അക്കൗണ്ടിൽ നിന്നുള്ള പാസ്‌വേഡുകൾ ഈ ഉപകരണത്തിലും ലഭ്യമാകും</translation>
@@ -789,6 +793,7 @@
 <translation id="1648528859488547844">ലൊക്കേഷൻ നിർണ്ണയിക്കാൻ വൈഫൈ അല്ലെങ്കിൽ മൊബൈൽ നെറ്റ്‌വര്‍ക്കുകൾ ഉപയോഗിക്കുക</translation>
 <translation id="164936512206786300">Bluetooth ഉപകരണം ജോടി പിരിക്കുക</translation>
 <translation id="1651008383952180276">ഒരേ പാസ്ഫ്രെയ്‌സ് തന്നെ നിങ്ങള്‍ രണ്ടുതവണ നല്‍കേണ്ടതുണ്ട്</translation>
+<translation id="1651609627703324721">ഈ ടാബ് ഒരു ഹെഡ്‌സെറ്റിലേക്ക് VR ഉള്ളടക്കം അവതരിപ്പിക്കുന്നു</translation>
 <translation id="1652326691684645429">സമീപമുള്ള പങ്കിടൽ പ്രവർത്തനക്ഷമമാക്കുക</translation>
 <translation id="1654580009054503925">അഭ്യർത്ഥനകൾ കാണിക്കാൻ അനുവാദമില്ല</translation>
 <translation id="1656528038316521561">പശ്ചാത്തല അതാര്യത</translation>
@@ -880,6 +885,7 @@
 <translation id="173522743738009831">സ്വകാര്യതാ സാൻഡ്‌ബോക്‌സിനെ കുറിച്ച്</translation>
 <translation id="173628468822554835">മനസ്സിലായി. ഡിഫോൾട്ടായി, നിങ്ങൾ സന്ദർശിക്കുന്ന പുതിയ സൈറ്റുകൾ നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കില്ല.</translation>
 <translation id="1737968601308870607">ഫയല്‍ പിശക്</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. സൈറ്റ് അനുമതികൾ മാറ്റുന്നതിന് തിരഞ്ഞെടുക്കുക</translation>
 <translation id="1741190788710022490">അഡാപ്റ്റീവ് ചാർജിംഗ്</translation>
 <translation id="174123615272205933">ഇഷ്‍ടാനുസൃതം</translation>
 <translation id="1741314857973421784">തുടരുക</translation>
@@ -1072,6 +1078,7 @@
 <translation id="1885066963699478692">നയങ്ങൾ സജ്ജീകരിക്കാൻ ഉപയോഗിക്കുന്ന XML ഫയലുകൾ.</translation>
 <translation id="1885106732301550621">ഡിസ്ക് സ്പെയ്സ്</translation>
 <translation id="1886996562706621347">പ്രോട്ടോകോളുകള്‍ക്കായി ഡിഫോൾട്ട് ഹാന്‍ഡ്‌ലറുകള്‍ ആകുന്നത് ആവശ്യപ്പെടാൻ സൈറ്റുകളെ അനുവദിക്കുന്നു (ശുപാർശ ചെയ്തിരിക്കുന്നത്)</translation>
+<translation id="1887210448491286312"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് ടാബ് കാസ്റ്റ് ചെയ്യുന്നത് നിർത്തുക</translation>
 <translation id="1887442540531652736">സൈൻ-ഇൻ പിശക്</translation>
 <translation id="1887597546629269384">"Hey Google" എന്ന് വീണ്ടും പറയുക</translation>
 <translation id="1889091146873278175">സൈഡ് പാനലിൽ കൂടുതൽ തിരയൽ ഫലങ്ങൾ കാണാൻ "G" ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക</translation>
@@ -1098,6 +1105,7 @@
 <translation id="1910908536872421421">Chrome for Testing v<ph name="BROWSER_VERSION" /> എന്നത് ഓട്ടോമേറ്റഡ് പരിശോധനക്ക് വേണ്ടി മാത്രമുള്ളതാണ്. സാധാരണ ബ്രൗസിംഗിന്, Chrome-ന്റെ സ്വയമേവ അപ്ഡേറ്റാകുന്ന ഒരു അടിസ്ഥാന പതിപ്പ് ഉപയോഗിക്കുക.</translation>
 <translation id="1915073950770830761">കാനറി</translation>
 <translation id="1915307458270490472">ഹാംഗ് അപ്പ് ചെയ്യുക</translation>
+<translation id="1915613305720536742">വിവർത്തനം ചെയ്യൂ</translation>
 <translation id="1915734383465415025">സ്‌റ്റോറിന്റെ നമ്പർ</translation>
 <translation id="1916260783734263714">നിലവിലെ ടാബ്</translation>
 <translation id="1916502483199172559">ഡിഫോൾട്ടായ ചുവന്ന അവതാർ</translation>
@@ -1202,6 +1210,7 @@
 <translation id="2007404777272201486">ഒരു പ്രശ്നം റിപ്പോര്‍ട്ട് ചെയ്യുക...</translation>
 <translation id="2009590708342941694">ഇമോജി ടൂൾ</translation>
 <translation id="2010501376126504057">അനുയോജ്യമായ ഉപകരണങ്ങൾ</translation>
+<translation id="2012935757369720523">ഫയൽ ഇല്ലാതാക്കുക</translation>
 <translation id="2013550551806600826">ഇത് പരീക്ഷിച്ചുനോക്കൂ. ക്രമീകരണം ഓണാക്കുകയോ ഓഫാക്കുകയോ ചെയ്യുക, തുടർന്ന് പരീക്ഷണ ഏരിയയിലെ ടച്ച്പാഡിൽ രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രോൾ ചെയ്യുക. നിങ്ങൾക്ക് ഇത് പിന്നീട് ക്രമീകരണം &gt; ഉപകരണം &gt; മൗസും ടച്ച്പാഡും എന്നതിൽ കണ്ടെത്തുകയും ചെയ്യാം.</translation>
 <translation id="2015232545623037616">സമാന Wi-Fi നെറ്റ്‌വർക്കിലെ PC, Chromecast എന്നിവ</translation>
 <translation id="2016473077102413275">ചിത്രങ്ങൾ ആവശ്യമായ ഫീച്ചറുകൾ പ്രവർത്തിക്കില്ല</translation>
@@ -1772,6 +1781,7 @@
 <translation id="2458379781610688953">അക്കൗണ്ട് അപ്‌ഡേറ്റ് ചെയ്യുക, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">ഉപകരണ മാനേജ്‌മെന്റ് ടോക്കൺ അസാധുവാണ്.</translation>
 <translation id="2459703812219683497">സജീവമാക്കൽ കോഡ് കണ്ടെത്തി</translation>
+<translation id="2459706890611560967"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് ടാബ് കാസ്‌റ്റ് ചെയ്യുന്നത് പുനരാരംഭിക്കുക</translation>
 <translation id="2460356425461033301">നിങ്ങളുടെ ബ്രൗസർ ഡാറ്റ ബാക്കപ്പ് ചെയ്‌ത് ഏത് ഉപകരണത്തിലും ഉപയോഗിക്കുക</translation>
 <translation id="2462332841984057083">Steam ഇതിനകം സജ്ജീകരിച്ച് കൊണ്ടിരിക്കുകയാണ്. സജ്ജീകരണം പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കുക.</translation>
 <translation id="2462724976360937186">സർട്ടിഫിക്കേഷൻ അതോറിറ്റി കീ ഐഡി</translation>
@@ -2518,6 +2528,7 @@
 <translation id="3088325635286126843">&amp;പേരുമാറ്റുക...</translation>
 <translation id="3089137131053189723">തിരയൽ മായ്ച്ചു</translation>
 <translation id="3089941350495701096">&amp;വായിക്കാനുള്ളവയുടെ ലിസ്‌റ്റ്</translation>
+<translation id="3089948625237571254">വീഡിയോ ഫ്രെയിം പകർത്തുക</translation>
 <translation id="3090227230165225418">ഡൗൺലോഡ് അറിയിപ്പുകൾ പ്രഖ്യാപിക്കുക</translation>
 <translation id="3090589793601454425">നീക്കരുത്</translation>
 <translation id="3090819949319990166"><ph name="TEMP_CRX_FILE" /> എന്നതിലേക്ക് ബാഹ്യ crx ഫയൽ പകർത്താനാവില്ല.</translation>
@@ -2618,10 +2629,12 @@
 <translation id="3194786596445804250">മൂന്നാം കക്ഷി കുക്കികൾ ബ്ലോക്ക് ചെയ്യുന്നതിനെ കുറിച്ചുള്ള വിശദാംശങ്ങൾ കാണിക്കുക</translation>
 <translation id="3197453258332670132">വലത്-ക്ലിക്കിലൂടെയോ ദീർഘനേരം അമർത്തുന്നതിലൂടെയോ നിങ്ങൾ തിരഞ്ഞെടുത്ത ടെക്സ്റ്റിന്റെ അനുബന്ധ വിവരങ്ങൾ കാണിക്കുക</translation>
 <translation id="3199127022143353223">സെര്‍‌വറുകള്‍‌</translation>
+<translation id="3199637719075529971">ഈ ടാബ് ഒരു സീരിയൽ പോർട്ടിലേക്ക് കണക്റ്റ് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="3200061262156232574">നിങ്ങളുടെ ഷോപ്പിംഗ് കാർട്ടിൽ</translation>
 <translation id="3201237270673604992">Z മുതൽ A വരെ</translation>
 <translation id="3201422919974259695">ലഭ്യമായ USB ഉപകരണങ്ങൾ ഇവിടെ ദൃശ്യമാവും.</translation>
 <translation id="3202131003361292969">പാത</translation>
+<translation id="3202499879214571401"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് സ്‌ക്രീൻ കാസ്‌റ്റ് ചെയ്യുന്നത് താൽക്കാലികമായി നിർത്തുക</translation>
 <translation id="3202578601642193415">ഏറ്റവും പുതിയ</translation>
 <translation id="3204648577100496185">ഈ ആപ്പുമായി ബന്ധപ്പെട്ട ഡാറ്റ ഈ ഉപകരണത്തിൽ നിന്ന് നീക്കം ചെയ്‌തേക്കാം</translation>
 <translation id="3207960819495026254">ബുക്ക്‌മാർക്കുചെയ്‌തു</translation>
@@ -3017,9 +3030,11 @@
 <translation id="3557101512409028104">Family Link ഉപയോഗിച്ച് വെബ്സൈറ്റ് നിയന്ത്രണങ്ങളും സ്ക്രീൻ സമയ പരിധികളും സജ്ജീകരിക്കുക</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />സ്വയമേവയുള്ള റിപ്പോർട്ടുകൾ അയയ്ക്കാൻ ChromeOS ഉപകരണങ്ങളെ അനുവദിക്കുന്നത്, ChromeOS-ൽ എന്തൊക്കെ പരിഹരിക്കണമെന്നും മെച്ചപ്പെടുത്തണമെന്നുമുള്ള മുൻഗണന നൽകാൻ ഞങ്ങളെ സഹായിക്കുന്നു. ChromeOS എപ്പോഴാണ് ക്രാഷാകുന്നത്, ഏതൊക്കെ ഫീച്ചറുകളാണ് ഉപയോഗിച്ചത്, സാധാരണ ഗതിയിൽ ഉപയോഗിക്കുന്ന മെമ്മറിയുടെ അളവ് എത്രയാണ് എന്നിവ പോലുള്ള കാര്യങ്ങൾ ഈ റിപ്പോർട്ടിൽ ഉൾപ്പെടാം.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />നിങ്ങളുടെ കുട്ടിയുടെ ChromeOS ഉപകരണ ക്രമീകരണത്തിൽ ഏതുസമയത്തും ഈ റിപ്പോർട്ടുകൾ അനുവദിക്കാൻ തുടങ്ങുകയോ നിർത്തുകയോ ചെയ്യാം. നിങ്ങളൊരു ഡൊമെയ്ൻ അഡ്മിനിസ്ട്രേറ്ററാണെങ്കിൽ, അഡ്മിൻ കൺസോളിൽ നിങ്ങൾക്ക് ഈ ക്രമീകരണം മാറ്റാനാകും.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് സ്ക്രീൻ കാസ്‌റ്റ് ചെയ്യുന്നത് നിർത്തുക</translation>
 <translation id="3559262020195162408">ഉപകരണത്തിൽ നയം ഇൻസ്‌റ്റാൾ ചെയ്യാനായില്ല.</translation>
 <translation id="3559533181353831840">ഏകദേശം <ph name="TIME_LEFT" /> ശേഷിക്കുന്നു</translation>
 <translation id="3560034655160545939">&amp;അക്ഷരത്തെറ്റ് പരിശോധന</translation>
+<translation id="3561201631376780358">എല്ലാ ബുക്ക്‌മാർക്കുകളും കാണുന്നതിന് സൈഡ് പാനൽ തുറക്കുക</translation>
 <translation id="3562423906127931518">ഈ പ്രക്രിയയ്ക്ക് കുറച്ച് സമയമെടുത്തേക്കാം. Linux കണ്ടെയ്‌നർ സജ്ജീകരിക്കുന്നു.</translation>
 <translation id="3562655211539199254">നിങ്ങളുടെ ഫോണിലെ അടുത്തിടെയുള്ള Chrome ടാബുകൾ കാണുക</translation>
 <translation id="3563432852173030730">കിയോസ്‌ക് ആപ്പ് ഡൗൺലോഡ് ചെയ്യാനായില്ല.</translation>
@@ -3183,6 +3198,7 @@
 <translation id="370415077757856453">JavaScript ബ്ലോക്ക് ചെയ്‌തു</translation>
 <translation id="3704331259350077894">പ്രവര്‍ത്തന വിരാമം</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് സ്‌ക്രീൻ കാസ്‌റ്റ് ചെയ്യുന്നത് പുനരാരംഭിക്കുക</translation>
 <translation id="3706463572498736864">ഒരോ ഷീറ്റിലേയും പേജുകൾ</translation>
 <translation id="370649949373421643">Wi-fi പ്രാപ്‌തമാക്കുക</translation>
 <translation id="370665806235115550">ലോഡ്ചെയ്യുന്നു...</translation>
@@ -3398,6 +3414,7 @@
 <translation id="3867134342671430205">ഒരു ഡിസ്പ്ലേ നീക്കാൻ വലിച്ചിടുകയോ അമ്പടയാള കീകൾ ഉപയോഗിക്കുകയോ ചെയ്യുക</translation>
 <translation id="3867944738977021751">സര്‍‌ട്ടിഫിക്കറ്റ് ഫീല്‍‌ഡുകള്‍‌</translation>
 <translation id="3869917919960562512">തെറ്റായ സൂചിക.</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> തിരഞ്ഞെടുത്തത് മാറ്റുക</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> ഡൊമെയ്‌നിന് സംരക്ഷിച്ച പാസ്‌വേഡുകൾ ഇല്ല</translation>
 <translation id="3871350334636688135">24 മണിക്കൂറിന് ശേഷം, നിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യുമ്പോൾ ലോക്കൽ ഡാറ്റ ഇല്ലാതാക്കുന്ന ഒരു ഒറ്റത്തവണ അപ്‌ഡേറ്റ് നിങ്ങളുടെ അഡ്‌മിൻ നിർവ്വഹിക്കും. നിങ്ങൾക്ക് cloud storage ചെയ്യേണ്ട എല്ലാ ലോക്കൽ ഡാറ്റയും 24 മണിക്കൂറിനുള്ളിൽ സംരക്ഷിക്കുക.</translation>
 <translation id="3872220884670338524"><ph name="DOMAIN" /> ഡൊമെയ്‌നിലെ <ph name="USERNAME" /> എന്ന ഉപയോക്താവിന്‍റെ സംരക്ഷിച്ച അക്കൗണ്ടിനായി കൂടുതൽ പ്രവർത്തനങ്ങൾ</translation>
@@ -3492,6 +3509,7 @@
 <translation id="3945513714196326460">ചെറിയ പേര് പരീക്ഷിക്കുക</translation>
 <translation id="3948027458879361203">ഹോസ്‌റ്റ് നാമം മാറ്റുക</translation>
 <translation id="3948116654032448504">&amp;ചിത്രത്തിനായി <ph name="SEARCH_ENGINE" />-ൽ തിരയുക</translation>
+<translation id="3948334586359655083">ഈ ടാബ്, ഓഡിയോ പ്ലേ ചെയ്യുന്നു</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> എന്നതിന് ഇനിപ്പറയുന്ന ഫോൾഡറുകളിലെ ഫയലുകൾ എഡിറ്റ് ചെയ്യാനാവും</translation>
 <translation id="394984172568887996">IE ല്‍ നിന്ന് ഇറക്കുമതി ചെയ്തവ</translation>
 <translation id="3950820424414687140">സൈൻ ഇൻ ചെയ്യുക</translation>
@@ -3550,6 +3568,7 @@
 <translation id="3987544746655539083">നിങ്ങളുടെ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യുന്നതിൽ നിന്ന് ഈ സൈറ്റിനെ ബ്ലോക്ക് ചെയ്യുന്നത് തുടരുക</translation>
 <translation id="3987938432087324095">ക്ഷമിക്കണം, അത് മനസ്സിലായില്ല.</translation>
 <translation id="3987993985790029246">ലിങ്ക് പകർത്തുക</translation>
+<translation id="3988124842897276887">ഈ ടാബ് USB ഉപകരണവുമായി കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="3988488665753590964">നിങ്ങളുടെ സ്‌ക്രീനിൽ നിറങ്ങൾ ദൃശ്യമാകുന്ന രീതി ക്രമീകരിക്കുക</translation>
 <translation id="3988996860813292272">സമയ മേഖല തിരഞ്ഞെടുക്കുക</translation>
 <translation id="399179161741278232">ഇറക്കുമതിചെയ്തു</translation>
@@ -3699,6 +3718,7 @@
 <translation id="4130207949184424187">നിങ്ങൾ ഓമ്‌നിബോക്‌സിൽ നിന്ന് തിരയുമ്പോൾ ദൃശ്യമാകുന്ന പേജിനെ ഈ വിപുലീകരണം മാറ്റി.</translation>
 <translation id="4130750466177569591">ഞാന്‍ അംഗീകരിക്കുന്നു</translation>
 <translation id="413121957363593859">ഘടകങ്ങൾ</translation>
+<translation id="4131283654370308898">ഈ സൈറ്റിൽ <ph name="EXTENSION_NAME" /> അനുവദിക്കുക</translation>
 <translation id="4131410914670010031">കറുപ്പും വെള്ളയും</translation>
 <translation id="413193092008917129">നെറ്റ്‌വർക്ക് പ്രശ്‌നനിർണ്ണയ ദിനചര്യകൾ</translation>
 <translation id="4132183752438206707">Google Play Store-ൽ ആപ്പുകൾ കണ്ടെത്തുക</translation>
@@ -4236,6 +4256,7 @@
 <translation id="4601426376352205922">'വായിക്കാത്തവ' എന്ന് അടയാളപ്പെടുത്തുക</translation>
 <translation id="460190672235687855">പാസ്‌വേഡുകൾ കാണുക</translation>
 <translation id="4602466770786743961">നിങ്ങളുടെ ക്യാമറയും മൈക്രോഫോണും ആക്‌സസ് ചെയ്യുന്നതിന് <ph name="HOST" /> എന്നതിനെ എപ്പോഴും അനുവദിക്കുക</translation>
+<translation id="4602776638371779614">ഈ ടാബ്, Bluetooth ഉപകരണങ്ങൾ കണ്ടെത്താൻ സജീവമായി സ്‌കാൻ ചെയ്യുന്നു</translation>
 <translation id="4606551464649945562">നിങ്ങളുടെ ചുറ്റുപാടുകളുടെ 3D മാപ്പ് സൃഷ്ടിക്കാനോ ക്യാമറയുടെ സ്ഥാനം ട്രാക്ക് ചെയ്യാനോ സൈറ്റുകളെ അനുവദിക്കരുത്</translation>
 <translation id="4608500690299898628">&amp;കണ്ടെത്തുക...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" />-ന് ഒരു പിശക് നേരിട്ടു</translation>
@@ -4419,6 +4440,7 @@
 <translation id="4770119228883592393">അനുമതി അഭ്യർത്ഥിച്ചു, പ്രതികരിക്കാൻ ⌘ + Option + താഴേക്കുള്ള അമ്പടയാളം അമർത്തുക</translation>
 <translation id="4773112038801431077">Linux അപ്ഗ്രേഡ് ചെയ്യുക</translation>
 <translation id="4774456473286455263">നിങ്ങളുടെ Android ഫോൺ ഉപയോഗിച്ച് സജ്ജീകരിക്കുക</translation>
+<translation id="477548766361111120">ഈ സൈറ്റ് റീഡ് ചെയ്യാനും മാറ്റാനും വിപുലീകരണത്തെ അനുവദിക്കുക</translation>
 <translation id="477647109558161443">ഡെസ്‌ക്‌ടോപ്പ് കുറുക്കുവഴി സൃഷ്‌ടിക്കുക</translation>
 <translation id="4776594120007763294">പിന്നീട് വായിക്കുക എന്നതിലേക്ക് ഒരു പേജ് ചേർക്കാൻ, ബട്ടൺ ക്ലിക്ക് ചെയ്യുക</translation>
 <translation id="4777458362738635055">ഈ ഉപകരണത്തിന്റെ മറ്റ് ഉപയോക്താക്കൾക്ക് ഈ നെറ്റ്‌വർക്ക് ഉപയോഗിക്കാനാകും</translation>
@@ -4867,6 +4889,7 @@
 <translation id="5173668317844998239">നിങ്ങളുടെ ഫിംഗർപ്രിന്റുകൾ ചേർക്കുകയും സുരക്ഷാ കീയിൽ സംരക്ഷിച്ചിട്ടുള്ളവ ഇല്ലാതാക്കുകയും ചെയ്യുക</translation>
 <translation id="5174169235862638850">പാസ്‌വേഡ് ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി</translation>
 <translation id="5175379009094579629">ഉപകരണ നാമം അസാധുവാണ്. വീണ്ടും ശ്രമിക്കാൻ സാധുവായൊരു ഉപകരണ നാമം നൽകുക.</translation>
+<translation id="5176787661653201403">വീഡിയോ ഫ്രെയിം പകർത്തുക</translation>
 <translation id="5177479852722101802">ക്യാമറ, മൈക്രോഫോൺ എന്നിവയുടെ ആക്‌സസ് തടയുന്നത് തുടരുക</translation>
 <translation id="5177549709747445269">നിങ്ങൾ മൊബൈൽ വിവരമാണ് ഉപയോഗിക്കുന്നത്</translation>
 <translation id="5178667623289523808">മുമ്പത്തേത് കണ്ടെത്തുക</translation>
@@ -5316,6 +5339,7 @@
 <translation id="5571066253365925590">Bluetooth പ്രവർത്തനക്ഷമമാക്കി</translation>
 <translation id="5571092938913434726">ആഗോള മീഡിയാ നിയന്ത്രണങ്ങൾ</translation>
 <translation id="5571832155627049070">നിങ്ങളുടെ പ്രൊഫൈൽ ഇഷ്‌ടാനുസൃതമാക്കുക</translation>
+<translation id="5572166921642484567">ഒരു വർണ്ണ സ്കീം മോഡ് തിരഞ്ഞെടുക്കുക</translation>
 <translation id="5572252023412311448"><ph name="SITE_GROUP" /> എന്നതിന്റെ സൈറ്റ് വിശദാംശങ്ങൾ കാണിക്കുക</translation>
 <translation id="5572648434713976849">വിലാസ ബാറിൽ നിങ്ങൾക്ക്, മെച്ചപ്പെടുത്തിയ നിർദ്ദേശങ്ങൾ ലഭിക്കും</translation>
 <translation id="557506220935336383">മറ്റ് സൈറ്റുകൾക്കുള്ള വിപുലീകരണ അനുമതികൾ കാണുക</translation>
@@ -5684,6 +5708,7 @@
 <translation id="5889282057229379085">ഇന്‍റര്‍‌മീഡിയറ്റ് CAകളുടെ പരമാവധി എണ്ണം: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">നിങ്ങളുടെ സ്വന്തം <ph name="BEGIN_LINK" />പാസ്‌ഫ്രെയ്‌സ് സമന്വയിപ്പിക്കൽ<ph name="END_LINK" /> ഉപയോഗിച്ച്, സമന്വയിപ്പിച്ച വിവരങ്ങൾ എൻക്രി‌പ്‌റ്റ് ചെയ്യുക. Google Pay-യിൽ നിന്നുള്ള പേയ്‌മെന്റ് രീതികളും വിലാസങ്ങളും എൻക്രിപ്റ്റ് ചെയ്യപ്പെടില്ല. Chrome-ൽ നിന്നുള്ള ബ്രൗസിംഗ് ചരിത്രം സമന്വയിപ്പിക്കില്ല.</translation>
 <translation id="5891688036610113830">തിരഞ്ഞെടുത്ത വൈഫൈ നെറ്റ്‌വർക്കുകൾ</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> എന്ന ഫോൾഡർ തിരഞ്ഞെടുത്തത് മാറ്റുക</translation>
 <translation id="5895138241574237353">പുനരാരംഭിക്കുക</translation>
 <translation id="5895335062901455404">നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുമ്പോൾ ഏതൊരു ChromeOS Flex ഉപകരണത്തിലും നിങ്ങൾ സംരക്ഷിച്ച മുൻഗണനകളും ആക്റ്റിവിറ്റിയും തയ്യാറായിരിക്കും. എന്തൊക്കെ സമന്വയിപ്പിക്കണമെന്നത് ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാം.</translation>
 <translation id="589541317545606110"><ph name="VISUAL_SEARCH_PROVIDER" />-ന്റെ സഹായത്തോടെ പേജ് തിരയുക</translation>
@@ -5755,6 +5780,7 @@
 <translation id="5948476936444935795">ഇമ്പോർട്ട് ചെയ്യൽ റദ്ദാക്കുക</translation>
 <translation id="5948536763493709626">ഒരു കീബോർഡോ മൗസോ കണക്റ്റ് ചെയ്യുക അല്ലെങ്കിൽ നിങ്ങളുടെ ടച്ച്സ്ക്രീൻ ഉപയോഗിച്ച് സജ്ജീകരണം തുടരുക. നിങ്ങൾ Bluetooth ഉപകരണങ്ങളാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, നിങ്ങളുടെ ഉപകരണങ്ങൾ ജോടിയാക്കാൻ തയ്യാറാണെന്ന് ഉറപ്പാക്കുക.</translation>
 <translation id="5949544233750246342">ഫയലിനെ വിശകലനം ചെയ്യാനായില്ല</translation>
+<translation id="5950762317146173294">ഈ ഫയൽ ഒരു വൈറസോ മാൽവെയറോ ആകാം</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> ഉപകരണത്തിലുള്ള ഫോണ്ടുകൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നു</translation>
 <translation id="5951624318208955736">മോണിറ്റർ</translation>
 <translation id="595262438437661818">ഈ സൈറ്റ് ആക്സസ് ചെയ്യാൻ വിപുലീകരണങ്ങളൊന്നും ആവശ്യമില്ല</translation>
@@ -5839,6 +5865,7 @@
 <translation id="6022526133015258832">പൂര്‍ണ്ണ സ്‌ക്രീനില്‍ തുറക്കുക</translation>
 <translation id="6022659036123304283">Chrome-നെ നിങ്ങളുടേതാക്കുക</translation>
 <translation id="6023643151125006053"><ph name="SAML_DOMAIN" /> അഡ്‌മിൻ ഈ ഉപകരണം (SN: <ph name="SERIAL_NUMBER" />) ലോക്ക് ചെയ്‌തു.</translation>
+<translation id="6024072172641380781">ഈ സൈറ്റിൽ വിപുലീകരണങ്ങൾ അനുവദിക്കുക</translation>
 <translation id="6025215716629925253">സ്റ്റാക്ക് ട്രെയ്സ്</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ഉപകരണം കണക്‌റ്റ് ചെയ്‌തു</translation>
 <translation id="6027945736510816438"><ph name="WEBSITE" /> ആണോ നിങ്ങൾ ഉദ്ദേശിച്ചത്?</translation>
@@ -6123,6 +6150,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> ഉപയോഗിച്ച് തുറക്കുക</translation>
 <translation id="6270309713620950855">നഡ്‌ജ് മ്യൂട്ട് ചെയ്യുക</translation>
 <translation id="6270391203985052864">അറിയിപ്പുകൾ അയയ്ക്കാൻ സൈറ്റുകൾക്ക് അനുവാദം ചോദിക്കേണ്ടി വരും</translation>
+<translation id="6270486800167535228">വിപുലീകരണം പിൻ ചെയ്‌തു. കൂടുതൽ ഓപ്‌ഷനുകൾ കാണാൻ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />സിസ്‌റ്റവും ആപ്പ് വിവരവും<ph name="END_LINK1" /> <ph name="BEGIN_LINK2" />മെട്രിക്‌സും<ph name="END_LINK2" /> അയയ്‌ക്കുക</translation>
 <translation id="6270896861225278704">ജേർണികൾ കാർഡ്</translation>
 <translation id="6271348838875430303">തിരുത്തിയത് പഴയപടിയാക്കി</translation>
@@ -6203,6 +6231,7 @@
 <translation id="6344608411615208519">നിങ്ങളുടെ <ph name="BEGIN_LINK" />ബ്രൗസർ മാനേജ് ചെയ്യുന്നത്<ph name="END_LINK" /> നിങ്ങളുടെ രക്ഷിതാവാണ്</translation>
 <translation id="6345418402353744910"><ph name="PROXY" /> എന്ന പ്രോക്‌സിക്ക് നിങ്ങളുടെ ഉപയോക്തൃനാമവും പാസ്‌വേഡും ആവശ്യമാണ്, അതുവഴി അഡ്‌മിന് നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കോൺഫിഗർ ചെയ്യാൻ കഴിയും</translation>
 <translation id="6345878117466430440">വായിച്ചതായി അടയാളപ്പെടുത്തുക</translation>
+<translation id="6346952829206698721">ക്ലിപ്പ്‌ബോർഡിൽ നിന്ന് ഒട്ടിക്കുക</translation>
 <translation id="6347010704471250799">അറിയിപ്പ് കാണിക്കുക</translation>
 <translation id="634887995541211148">നിങ്ങളുടെ ഉപകരണത്തിൽ Bruschetta റൺ ചെയ്യുക.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> ഇൻസ്‌റ്റാൾ ചെയ്യുക</translation>
@@ -6488,6 +6517,7 @@
 <translation id="6596325263575161958">എൻക്രിപ്‌ഷൻ ഓപ്‌ഷനുകൾ</translation>
 <translation id="6596816719288285829">IP വിലാസം</translation>
 <translation id="6597017209724497268">സാമ്പിളുകൾ</translation>
+<translation id="6597324406048772521">ഈ സൈറ്റിൽ വിപുലീകരണങ്ങൾ അനുവദനീയമല്ല</translation>
 <translation id="6597331566371766302">നിങ്ങളുടെ അഡ്‌മിൻ ഇനിപ്പറയുന്ന വിപുലീകരണങ്ങൾ ബ്ലോക്ക് ചെയ്‌തു:</translation>
 <translation id="659894938503552850">ഏറ്റവും പുതിയത്</translation>
 <translation id="6601262427770154296">ഉപയോക്തൃ നിഘണ്ടുക്കൾ മാനേജ് ചെയ്യുക</translation>
@@ -6505,6 +6535,7 @@
 <translation id="6609478180749378879">നിങ്ങൾ അദൃശ്യ മോഡിൽ നിന്ന് പുറത്തുകടന്ന ശേഷം സൈൻ ഇൻ ഡാറ്റ ഈ ഉപകരണത്തിൽ സംഭരിക്കും. നിങ്ങളുടെ ഉപകരണത്തിലൂടെ പിന്നീട് വീണ്ടും ഈ വെബ്‌സൈറ്റിൽ സൈൻ ഇൻ ചെയ്യാനാകും.</translation>
 <translation id="6610002944194042868">വിവർത്തന ഓപ്‌ഷനുകൾ</translation>
 <translation id="6611972847767394631">നിങ്ങളുടെ ടാബുകൾ ഇവിടെ കണ്ടെത്തുക</translation>
+<translation id="6613267708691765962">മാൽവെയർ കണ്ടെത്താൻ സ്‌കാൻ ചെയ്യുന്നു...</translation>
 <translation id="6613668613087513143">ഈ അപ്ഡേറ്റ് പൂർത്തിയാക്കാൻ ആവശ്യമായ ഇടം ഈ ഉപകരണത്തിലില്ല. നിങ്ങളുടെ ഉപകരണത്തിൽ <ph name="NECESSARY_SPACE" /> ഇടം സൃഷ്‌ടിച്ച് Chrome ബ്രൗസറിൽ നിന്ന് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="6615455863669487791">എന്നെ കാണിക്കുക</translation>
 <translation id="6618097958368085618">എന്തായാലും സൂക്ഷിക്കുക</translation>
@@ -6753,6 +6784,7 @@
 <translation id="6825184156888454064">പേര് പ്രകാരം അടുക്കുക</translation>
 <translation id="6826872289184051766">USB വഴി പരിശോധിച്ചുറപ്പിക്കുക</translation>
 <translation id="6827121912381363404"><ph name="PERMITTED_SITE" /> വായിക്കാനും മാറ്റാനും എല്ലാ വിപുലീകരണങ്ങളെയും അനുവദിക്കുക</translation>
+<translation id="6827422464708099620">കൂടുതൽ ഓപ്‌ഷനുകൾ കാണാൻ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="6827517233063803343">നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്തിരിക്കുന്ന എല്ലാ ChromeOS ഉപകരണങ്ങളിലും നിങ്ങളുടെ ആപ്പുകളും ക്രമീകരണവും സമന്വയിപ്പിക്കും. ബ്രൗസർ സമന്വയിപ്പിക്കൽ ഓപ്‌ഷനുകൾക്ക് <ph name="LINK_BEGIN" />Chrome ക്രമീകരണത്തിലേക്ക്<ph name="LINK_END" /> പോകുക.</translation>
 <translation id="6827767090350758381">2022 ഡിസംബറിന് ശേഷം, Chrome ആപ്പുകളുടെ പഴയ പതിപ്പുകൾ Windows ഉപകരണങ്ങളിൽ തുറക്കാനാകില്ല. പുതിയൊരു പതിപ്പിലേക്ക് അപ്‌ഡേറ്റ് ചെയ്യാനോ ഈ ആപ്പ് നീക്കം ചെയ്യാനോ നിങ്ങളുടെ അഡ്‌മിനെ ബന്ധപ്പെടുക.</translation>
 <translation id="6828153365543658583">ഇനിപ്പറയുന്ന ഉപയോക്താക്കള്‍ക്കായി പ്രവേശനം നിയന്ത്രിക്കുക:</translation>
@@ -6816,6 +6848,7 @@
 <translation id="6868934826811377550">വിശദാംശങ്ങൾ കാണുക</translation>
 <translation id="6871644448911473373">OCSP റെസ്‌പ്പോണ്ടര്‍‌: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">നിങ്ങൾ നൽകിയ പാസ്‍വേഡ് സെർവർ നിരസിച്ചു.</translation>
+<translation id="6873571253135628430">സൈറ്റ് അനുമതികൾ മാറ്റുക</translation>
 <translation id="6876155724392614295">ബൈക്കോടിക്കുക</translation>
 <translation id="6876469544038980967">സഹായകരമല്ല</translation>
 <translation id="6878422606530379992">സെൻസറുകൾ അനുവദിച്ചു</translation>
@@ -7077,6 +7110,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{ആപ്പ് നിക്കം ചെയ്യുക}other{ആപ്പുകൾ നീക്കം ചെയ്യുക}}</translation>
 <translation id="7099337801055912064">വലിയ PPD ലോഡ് ചെയ്യാനാകില്ല. പരമാവധി വല‌ുപ്പം 250 kB ആണ്.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{അപഹരിക്കപ്പെട്ട പാസ്‌വേഡുകൾ ഒന്നുമില്ല}=1{അപഹരിക്കപ്പെട്ട {COUNT} പാസ്‌വേഡ്}other{അപഹരിക്കപ്പെട്ട {COUNT} പാസ്‌വേഡുകൾ}}</translation>
+<translation id="710047887584828070">ഈ ടാബിന്റെ ഉള്ളടക്കം പങ്കിടുന്നു</translation>
 <translation id="7102832101143475489">അഭ്യർത്ഥന കാലഹരണപ്പെട്ടു</translation>
 <translation id="710640343305609397">നെറ്റ്‍വര്‍ക്ക് ക്രമീകരണം തുറക്കുക</translation>
 <translation id="7107609441453408294">എല്ലാ സ്‌പീക്കറുകളിലും ഒരേ ഓഡിയോ പ്ലേ ചെയ്യുക</translation>
@@ -7172,6 +7206,7 @@
 <translation id="719791532916917144">കീബോഡ് കുറുക്കുവഴികൾ</translation>
 <translation id="7198503619164954386">എന്റർപ്രൈസ് എൻറോൾ ചെയ്‌ത ഉപകരണമായിരിക്കണം നിങ്ങൾ ഉപയോഗിക്കുന്നത്</translation>
 <translation id="7199158086730159431">സ&amp;ഹായം നേടുക</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് കാസ്‌റ്റ് ചെയ്യുന്നത് താൽക്കാലികമായി നിർത്തുക</translation>
 <translation id="7200083590239651963">കോൺഫിഗറേഷൻ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="720110658997053098">ഈ ഉപകരണം ശാശ്വതമായി കിയോസ്‍ക് മോഡിൽ നിലനിർത്തുക</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ഇല്ലാതാക്കി</translation>
@@ -7218,6 +7253,7 @@
 <translation id="7241389281993241388">ക്ലയന്‍റ് സര്‍ട്ടിഫിക്കറ്റ് ഇമ്പോർട്ട് ചെയ്യുന്നതിന് <ph name="TOKEN_NAME" /> എന്നതിലേക്ക് ദയവായി പ്രവേശിക്കുക.</translation>
 <translation id="7241763419756062043">നിങ്ങളുടെ തിരയൽ, ബ്രൗസിംഗ് നിലവാരം തിരഞ്ഞെടുക്കുക</translation>
 <translation id="7243632151880336635">മായ്‌ച്ച്, സൈൻ ഔട്ട് ചെയ്യുക</translation>
+<translation id="7245162963905242662">ഈ പേജ് Google ഉപയോഗിച്ച് തിരയുക...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (മികച്ചത്)</translation>
 <translation id="7246230585855757313">സുരക്ഷാ കീ വീണ്ടും ബന്ധിപ്പിച്ച് വീണ്ടും ശ്രമിക്കുക</translation>
 <translation id="724835896049478274">Android ആപ്പുകൾക്കുള്ള അക്കൗണ്ടുകൾ ലഭ്യമാണ്</translation>
@@ -7523,8 +7559,10 @@
 <translation id="7497981768003291373">നിങ്ങൾക്ക് അടുത്തിടെ രേഖപ്പെടുത്തിയ WebRTC ടെക്‌സ്‌റ്റ് ലോഗുകളൊന്നുമില്ല.</translation>
 <translation id="7501957181231305652">അല്ലെങ്കിൽ</translation>
 <translation id="7502220299952823578">"ഈ സൈറ്റുകൾ എപ്പോഴും സജീവമായി നിലനിർത്തുക" ലിസ്റ്റിലേക്ക് ചേർക്കുക</translation>
+<translation id="7502528909759062987"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് ടാബ് കാസ്‌റ്റ് ചെയ്യുന്നത് താൽക്കാലികമായി നിർത്തുക</translation>
 <translation id="7503191893372251637">നെറ്റ്‌സ്‌കേപ്പ് സര്‍‌ട്ടിഫിക്കറ്റ് തരം</translation>
 <translation id="7503985202154027481">നിങ്ങൾ ഈ സൈറ്റ് സന്ദർശിച്ചതിൻ്റെ റെക്കോർഡ് നിങ്ങളുടെ സുരക്ഷാ കീയിൽ സൂക്ഷിക്കും.</translation>
+<translation id="7504145862399276792">ഈ ടാബിന്റെ ഓഡിയോ മ്യൂട്ട് ചെയ്‌തു</translation>
 <translation id="750509436279396091">ഡൗൺലോഡുകൾ ഫോൾഡർ തുറക്കുക</translation>
 <translation id="7505149250476994901">അക്ഷരം പറയുന്നതിന് മുമ്പ് "വലിയക്ഷരം" എന്ന് പറയുക</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> മറയ്ക്കുക</translation>
@@ -7764,6 +7802,7 @@
 <translation id="7701040980221191251">ഒന്നുമില്ല</translation>
 <translation id="7701265686005869308">പ്രൊഫൈൽ അടയ്‌ക്കുക</translation>
 <translation id="7701869757853594372">ഉപയോക്താവ് കൈകാര്യംചെയ്യുന്നവ</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> എന്നതിലേക്ക് കാസ്‌റ്റ് ചെയ്യുന്നത് നിർത്തുക</translation>
 <translation id="7702574632857388784">ലിസ്‌റ്റില്‍ നിന്ന് <ph name="FILE_NAME" /> നീക്കംചെയ്യുക</translation>
 <translation id="7702907602086592255">ഡൊമെയ്‌ൻ</translation>
 <translation id="7704305437604973648">ടാസ്‌ക്</translation>
@@ -8227,6 +8266,7 @@
 <translation id="8084114998886531721">സംരക്ഷിച്ച പാസ്‌വേഡ്</translation>
 <translation id="8084510406207562688">എല്ലാ ടാബുകളും പുനഃസ്ഥാപിക്കുക</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> കോൺഫിഗർ ചെയ്യുന്നു ...</translation>
+<translation id="8086121155774250556">ഈ ടാബ് നിങ്ങളുടെ സ്‌ക്രീൻ പങ്കിടുന്നു</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> സജ്ജീകരിക്കുക</translation>
 <translation id="8086610718778464681">Linux ആപ്പുകളും ഫയലുകളും ബാക്കപ്പെടുക്കാനായില്ല</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{ഈ ഫയൽ എൻക്രിപ്റ്റ് ചെയ്‌തതാണ്. ഡീക്രിപ്റ്റ് ചെയ്യാൻ അതിന്റെ ഉടമയോട് ആവശ്യപ്പെടുക.}other{ഈ ഫയലുകളിൽ ചിലത് എൻക്രിപ്റ്റ് ചെയ്‌തതാണ്. ഡീക്രിപ്റ്റ് ചെയ്യാൻ അവയുടെ ഉടമയോട് ആവശ്യപ്പെടുക.}}</translation>
@@ -8529,6 +8569,7 @@
 <translation id="8345848587667658367">നിങ്ങളുടെ ഫോണിലെ പുതിയ ഫോട്ടോകളും മീഡിയയും അറിയിപ്പുകളും ആപ്പുകളും ഇപ്പോൾ കാണാനാകും</translation>
 <translation id="8347227221149377169">പ്രിന്റ് ജോലികൾ</translation>
 <translation id="834785183489258869">അദൃശ്യ മോഡിലായിരിക്കുമ്പോൾ, വ്യത്യസ്‌ത സൈറ്റുകളിലുടനീളമുള്ള നിങ്ങളുടെ ബ്രൗസിംഗ് ആക്റ്റിവിറ്റി കാണാൻ സൈറ്റുകൾക്ക് നിങ്ങളുടെ കുക്കികൾ ഉപയോഗിക്കാനാകില്ല. ഉദാഹരണത്തിന്, പരസ്യങ്ങൾ വ്യക്തിപരമാക്കാൻ. ചില സൈറ്റുകളിലെ ഫീച്ചറുകൾ പ്രവർത്തിച്ചേക്കില്ല.</translation>
+<translation id="8349325309815489209">ഈ സൈറ്റിൽ വിപുലീകരണങ്ങൾ അനുവദനീയം</translation>
 <translation id="8349826889576450703">ലോഞ്ചർ</translation>
 <translation id="8350789879725387295">ഡോക്കിലെ സ്റ്റൈലസ് ടൂളുകൾ</translation>
 <translation id="8351316842353540018">a11y ഓപ്‌ഷനുകൾ എല്ലായ്‌പ്പോഴും കാണിക്കുക</translation>
@@ -8557,6 +8598,7 @@
 <translation id="8370294614544004647">ലാപ്‌ടോപ്പ് അടയ്‌ക്കുമ്പോൾ ഉറക്ക മോഡിലേക്ക് മാറ്റുക</translation>
 <translation id="8371695176452482769">ഇപ്പോള്‍ സംസാരിക്കുക</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{സൈറ്റ് മ്യൂട്ട് ചെയ്യുക}other{സൈറ്റുകൾ മ്യൂട്ട് ചെയ്യുക}}</translation>
+<translation id="8372441176515901959">അഭ്യർത്ഥന ഡിസ്മിസ് ചെയ്യുക</translation>
 <translation id="8373652277231415614">Crostini-യിൽ നിന്ന് പങ്കിട്ട ഡയറക്റ്ററികൾ</translation>
 <translation id="8374243500935816406">നിങ്ങളുടെ എല്ലാ ഡിസ്‌പ്ലേകളിലും വിൻഡോകൾ മാനേജ് ചെയ്യാൻ സൈറ്റുകളെ അനുവദിക്കരുത്</translation>
 <translation id="8376137163494131156">നിങ്ങളുടെ Google Cast ഉപയോഗാനുഭവം ഞങ്ങളോട് പങ്കിടൂ.</translation>
@@ -8916,6 +8958,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> റദ്ദാക്കുക</translation>
 <translation id="8688672835843460752">ലഭ്യമാണ്</translation>
 <translation id="8690129572193755009">പ്രോട്ടോകോളുകൾ കൈകാര്യം ചെയ്യാൻ സൈറ്റുകൾക്ക് അനുവാദം ചോദിക്കാം</translation>
+<translation id="869144235543261764">"ചിത്രത്തിനുള്ളിൽ ചിത്രം" മോഡിൽ ഈ ടാബ് ഒരു വീഡിയോ പ്ലേ ചെയ്യുന്നു</translation>
 <translation id="8692107307702113268">പാസ്‌വേഡിൽ 1000-ലേറെ പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു</translation>
 <translation id="8694596275649352090">ഉറങ്ങുമ്പോഴോ ലിഡ് അടഞ്ഞിരിക്കുമ്പോഴോ ലോക്ക് ചെയ്യുക</translation>
 <translation id="8695139659682234808">സജ്ജീകരിച്ചതിനുശേഷം രക്ഷാകർതൃ നിയന്ത്രണങ്ങൾ ചേർക്കുക</translation>
@@ -9148,6 +9191,7 @@
 <translation id="8877448029301136595">[രക്ഷാകര്‍തൃ ഡയറക്റ്ററി]</translation>
 <translation id="8879284080359814990">&amp;ടാബായി കാണിക്കുക</translation>
 <translation id="8879921471468674457">സൈൻ ഇൻ വിവരം ഓർക്കുക</translation>
+<translation id="8880009256105053174">ഈ പേജ് Google ഉപയോഗിച്ച് തിരയുക...</translation>
 <translation id="8880054210564666174">കോൺടാക്റ്റ് ലിസ്‌റ്റ് ഡൗൺലോഡ് ചെയ്യാനാകുന്നില്ല. നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷൻ പരിശോധിക്കുക അല്ലെങ്കിൽ <ph name="LINK_BEGIN" />വീണ്ടും ശ്രമിക്കുക<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">വീണ്ടും ശ്രമിക്കുക. സാങ്കേതിക പിന്തുണയ്‌ക്ക്, <ph name="CARRIER_NAME" /> എന്നതുമായി ബന്ധപ്പെടുക.</translation>
 <translation id="888256071122006425">മൗസ്, ടച്ച്‌പാഡ് ക്രമീകരണം</translation>
@@ -9412,6 +9456,7 @@
 <translation id="9102864637938129124">പരസ്യങ്ങളുടെ പ്രകടനം എങ്ങനെയുണ്ടെന്ന് സൈറ്റുകൾക്കും പരസ്യദാതാക്കൾക്കും മനസ്സിലാക്കാനാകും. ഈ ക്രമീകരണം ഓണാണ്.</translation>
 <translation id="9103479157856427471">സൂം ഇൻ ചെയ്ത സ്ക്രീൻ, കീബോർഡ് ഫോക്കസ് പിന്തുടരുന്നു</translation>
 <translation id="9103868373786083162">ചരിത്രം കാണാൻ തിരികെ പോകുന്നതിന് സന്ദർഭ മെനു അമർത്തുക</translation>
+<translation id="9107096627210171112">വിവർത്തനം ചെയ്യൂ...</translation>
 <translation id="9108035152087032312">&amp;വിൻഡോയ്ക്ക് പേര് നൽകുക...</translation>
 <translation id="9108072915170399168">നിലവിലെ ഡാറ്റ ഉപയോഗ ക്രമീകരണം "ഇന്റർനെറ്റ് ഇല്ലാതെ" ആണ്</translation>
 <translation id="9108294543511800041">നിങ്ങളുടെ ഫോണിലെ പുതിയ ഫോട്ടോകളും മീഡിയയും അറിയിപ്പുകളും ഇപ്പോൾ കാണാനാകും</translation>
@@ -9568,6 +9613,7 @@
 <translation id="947329552760389097">&amp;ഘടകങ്ങൾ പരിശോധിക്കുക</translation>
 <translation id="947526284350604411">നിങ്ങളുടെ ഉത്തരം</translation>
 <translation id="947667444780368238">സിസ്‌റ്റം ഫയലുകൾ അടങ്ങിയിരിക്കുന്നതിനാൽ <ph name="ORIGIN" /> എന്നതിന് ഈ ഫോൾഡറിലെ ഫയലുകൾ തുറക്കാനാകില്ല</translation>
+<translation id="949807244219288032">ഈ ടാബ് HID ഉപകരണവുമായി കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="950307215746360464">ഗൈഡ് സജ്ജീകരിക്കുക</translation>
 <translation id="951991426597076286">നിരസിക്കുക</translation>
 <translation id="952471655966876828">ഉപകരണം ഓണാക്കിയിരിക്കുമ്പോഴും ഉപയോഗത്തിലായിരിക്കുമ്പോഴും സ്വയമേവ കണക്റ്റ് ചെയ്യും</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 7c72b50..4026a260 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">प्रोफाइल एरर आली</translation>
 <translation id="1253664522045778676">परिणामावर क्लिक करा आणि पेज तुमच्या वर्तमान टॅबमध्ये उघडेल</translation>
 <translation id="1254593899333212300">थेट इंटरनेट कनेक्शन</translation>
+<translation id="1256588359404100567">तुमच्या मागील डिव्हाइसवरून सेटिंग सिंक केले आहे.</translation>
 <translation id="1257336506558170607">निवडलेले सर्टिफिकेट एक्सपोर्ट करा</translation>
 <translation id="1258491128795710625">नवीन काय आहे</translation>
 <translation id="1259152067760398571">सुरक्षा तपासणी काल रन केली गेली</translation>
@@ -527,6 +528,7 @@
 <translation id="1448779317883494811">ब्रश टूल</translation>
 <translation id="1449191289887455076">असाइनमेंट कंफर्म करण्यासाठी, “<ph name="CURRENTKEY" />” प्रेस करा आणि <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">वेबपेज, एकल फाइल</translation>
+<translation id="145280054552001290">कॅप्शनमध्ये भाषा जोडा आणि काढून टाका</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />
     डीबग लॉग<ph name="END_LINK" /> पाठवा (शिफारस केलेले)</translation>
 <translation id="1454223536435069390">स्क्रीनशॉट घ्या</translation>
@@ -1004,6 +1006,7 @@
 <translation id="18260074040409954">तुम्ही सेव्ह केलेले पासवर्ड कोणत्याही डिव्हाइसवर वापरू शकता. ते <ph name="EMAIL" />साठी <ph name="GOOGLE_PASSWORD_MANAGER" /> मध्ये सेव्ह केले आहेत.</translation>
 <translation id="1826192255355608658">तुमच्या Chrome ब्राउझरवरील बुकमार्क, पासवर्ड, इतिहास आणि आणखी बरेच काही सिंक करा</translation>
 <translation id="1826516787628120939">तपासत आहे</translation>
+<translation id="1826657447823925402">रिव्हर्स स्क्रोलिंग बंद केले आहे</translation>
 <translation id="1827504459960247692">हॉटस्पॉटचे नाव</translation>
 <translation id="1828378091493947763">हे प्लग-इन या डिव्हाइसवर सपोर्टेड नाही</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{Open All}=1{बुकमार्क उघडा}other{सर्व ({COUNT}) उघडा}}</translation>
@@ -1292,6 +1295,7 @@
 <translation id="2081816110395725788">बॅटरीवर असताना पॉवर निष्क्रिय करा</translation>
 <translation id="2082187087049518845">गट टॅब</translation>
 <translation id="2082510809738716738">थीमचा रंग निवडा</translation>
+<translation id="2084891381052978619">तुम्ही तुमचे Chromebook सेट करणे पूर्ण केल्यानंतर तुम्हाला सेटिंग्ज मध्ये हे पर्यायदेखील दिसतील</translation>
 <translation id="208586643495776849">कृपया पुन्हा प्रयत्न करा</translation>
 <translation id="208634871997892083">VPN नेहमी सुरू ठेवा</translation>
 <translation id="2087822576218954668">प्रिंट: <ph name="PRINT_NAME" /></translation>
@@ -1361,6 +1365,7 @@
 <translation id="212862741129535676">फ्रिक्वेन्सी स्थिती कब्जा टक्केवारी</translation>
 <translation id="212876957201860463">तुमचे मोबाइल डिव्हाइस सेट करण्यास तयार करत आहे…</translation>
 <translation id="2131077480075264">"<ph name="IMPORT_NAME" />" द्वारे "<ph name="APP_NAME" />" ला अनुमती नसल्‍याने तो स्‍थापित करण्‍यात अक्षम</translation>
+<translation id="2133775869826239001">सेट करण्यासाठी आणखी वैशिष्ट्ये निवडा</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> लोड करण्याचा पुन्हा प्रयत्न करा</translation>
 <translation id="2134905185275441536">सिस्टीम CAs</translation>
 <translation id="21354425047973905">पिन लपवा</translation>
@@ -2945,6 +2950,7 @@
 <translation id="347785443197175480">तुमचा कॅमेरा आणि मायक्रोफोन ॲक्सेस करण्यासाठी <ph name="HOST" /> ला परवानगी देणे सुरू ठेवा</translation>
 <translation id="3479552764303398839">सध्या नाही</translation>
 <translation id="3479685872808224578">प्रिंट सर्व्हर डिटेक्ट करता आला नाही. कृपया ॲड्रेस तपासा आणि पुन्हा प्रयत्न करा.</translation>
+<translation id="3479753605053415848">Chrome कस्टमाइझ करण्यासाठी क्लिक करा</translation>
 <translation id="3480612136143976912">लाइव्ह कॅप्शन साठी कॅप्शनचा आकार आणि शैली कस्टमाइझ करा. हे सेटिंग काही अ‍ॅप्स आणि साइटदेखील वापरतील.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> टॅब आढळले</translation>
 <translation id="3481268647794498892"><ph name="ALTERNATIVE_BROWSER_NAME" /> मध्ये <ph name="COUNTDOWN_SECONDS" /> सेकंदांत उघडत आहे</translation>
@@ -3239,6 +3245,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> डेटा २४ तासांमध्ये हटवला जाईल</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> उघडायचा?</translation>
+<translation id="3740945083753997630">डिस्प्ले आणि मजकुराचा आकार कमी करा</translation>
 <translation id="3741056951918180319">कोणत्याही साइटवर एक्स्टेंशन वापरण्यासाठी तुम्ही कधीही त्यावर क्लिक करू शकता</translation>
 <translation id="3742235229730461951">कोरियन कीबोर्ड लेआउट</translation>
 <translation id="3742666961763734085">त्या नावाचे संस्थात्मक एकक शोधू शकत नाही. कृपया पुन्हा प्रयत्न करा.</translation>
@@ -3617,6 +3624,7 @@
 <translation id="4044612648082411741">तुमचा सर्टिफिकेट पासवर्ड एंटर करा</translation>
 <translation id="4044708573046946214">स्क्रीन लॉक पासवर्ड</translation>
 <translation id="404493185430269859">डीफॉल्ट शोध इंजीन</translation>
+<translation id="4045196801416070837">डिव्हाइसचे आवाज</translation>
 <translation id="4046013316139505482">या एक्स्टेंशनना या साइटवरील माहिती पाहण्याची आणि बदलण्याची गरज नाही.</translation>
 <translation id="4046123991198612571">पुढील ट्रॅक</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -4064,6 +4072,7 @@
 <translation id="4444512841222467874">स्थान उपलब्ध केले नसल्यास, वापरकर्ते आणि डेटा स्वयंचलितपणे काढला जाऊ शकतो.</translation>
 <translation id="4445446646109808714">अंतिम वापरकर्ता परवान्याचा करारनामा: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">मिरर केलेले</translation>
+<translation id="4448560527907365660">सेव्ह करा आणि आणखी पहा</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> वरील <ph name="USERNAME" /> साठीचा पासवर्ड लपवा</translation>
 <translation id="4449247303975391730">परवानग्या व्यवस्थापित करा</translation>
 <translation id="4449948729197510913">तुमचे वापरकर्ता नाव तुमच्या संस्थेच्या एंटरप्राइझ खात्याच्या मालकीचे आहे. खात्यावर डिव्हाइसची नोंदणी करण्यासाठी, अ‍ॅडमिन कन्सोलमध्ये प्रथम डोमेनच्या मालकीची पडताळणी करा. पडताळणी करण्यासाठी, खात्यावर तुमच्याकडे अ‍ॅडमिनिस्ट्रेटिव्ह विशेषाधिकार असावे लागतील.</translation>
@@ -5219,7 +5228,9 @@
 <translation id="5481941284378890518">जवळपासचे प्रिंटर जोडा</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> नुसार, तुम्ही तुमच्या डेटाचा बॅकअप घेणे आणि हे <ph name="DEVICE_TYPE" /> आज परत करणे आवश्यक आहे. <ph name="LINK_BEGIN" />तपशील पहा<ph name="LINK_END" />}other{<ph name="MANAGER" /> नुसार, तुम्ही तुमच्या डेटाचा बॅकअप घेणे आणि हे <ph name="DEVICE_TYPE" /> {NUM_DAYS} दिवसांच्या आत परत करणे आवश्यक आहे. <ph name="LINK_BEGIN" />तपशील पहा<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">ॲप्लिकेशन जोडा</translation>
+<translation id="5485435764083510385">कॅप्शनची प्राधान्य दिलेली भाषा</translation>
 <translation id="5485754497697573575">सर्व टॅब पुनर्संचयित करा</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> ला नवीनतम किंवा वेगळ्या प्रकारच्या डिव्हाइसची आवश्यकता असू शकते</translation>
 <translation id="5486261815000869482">पासवर्ड कन्फर्म करा</translation>
 <translation id="5486561344817861625">ब्राउझर रीस्टार्ट प्रतिकृती करा</translation>
 <translation id="5487460042548760727">प्रोफाइलचे नाव <ph name="PROFILE_NAME" /> वर बदला</translation>
@@ -5575,6 +5586,7 @@
 <translation id="5799508265798272974">Linux व्हर्च्युअल मशीन: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">अंतिम डाउनलोडपासून गंतव्य फाइल कापली किंवा काढली.</translation>
 <translation id="5800351251499368110">साइड पॅनलमध्ये शोध बंद करा. साइड पॅनलमध्ये शोध उघडा आहे.</translation>
+<translation id="5800703268655655701">फिकट किंवा गडद थीम निवडा</translation>
 <translation id="5801051031414037185">फोन सेट करा</translation>
 <translation id="5801568494490449797">प्राधान्ये</translation>
 <translation id="5803689677801500549">सेव्ह केलेले पासवर्ड येथे दिसतील. <ph name="USER_EMAIL" /> साठी <ph name="BRAND" /> वर पासवर्ड इंपोर्ट करण्यासाठी, <ph name="BEGIN_LINK" />CSV फाइल निवडणे<ph name="END_LINK" /> हे करा.</translation>
@@ -6962,6 +6974,7 @@
 <translation id="6993050154661569036">Chrome ब्राउझर अपडेट करत आहे</translation>
 <translation id="6995899638241819463">डेटा भंगामध्ये पासवर्ड उघड झाल्यास, तुम्हाला चेतावणी द्या</translation>
 <translation id="6995984090981858039">ChromeOS डिव्हाइसची माहिती आणि डेटा रीड करा</translation>
+<translation id="6996438701394974959">डिस्प्ले आणि मजकुराचा आकार वाढवा</translation>
 <translation id="6997553674029032185">साइटवर जा</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - ॲक्टिव्हिटी लॉग</translation>
 <translation id="6997707937646349884">तुमच्या डिव्हाइसवर:</translation>
@@ -7404,6 +7417,7 @@
 <translation id="7400839060291901923">तुमच्या <ph name="PHONE_NAME" />वर कनेक्शन सेट अप करा</translation>
 <translation id="7401778920660465883">हा मेसेज डिसमिस करा</translation>
 <translation id="7402198013420237102">सेव्ह केलेले पासवर्ड तुमच्या Google खाते मध्ये हलवायचे आहेत का?</translation>
+<translation id="740333000181878130">डिव्हाइस सुरू होण्याचा आवाज</translation>
 <translation id="7403642243184989645">स्रोत डाउनलोड करत आहे</translation>
 <translation id="7404065585741198296">USB केबल असलेला तुमचा फोन</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{सुरक्षा तपासणी एका तासापूर्वी रन केली गेली}other{सुरक्षा तपासणी {NUM_HOURS} तासांपूर्वी रन केली गेली}}</translation>
@@ -7886,6 +7900,7 @@
 <translation id="7788298548579301890">तुमच्या कॉंप्युटरवरील दुसर्‍या प्रोग्रामने एक अ‍ॅप जोडला जो Chrome ची काम करण्‍याची पद्धत कदाचित बदलू शकतो.
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">पेज बॅकग्राउंड सुरू करा <ph name="CATEGORY" /> असे बदलले गेले आहे.</translation>
+<translation id="7791436592012979144">रिव्हर्स स्क्रोलिंग सुरू केले आहे</translation>
 <translation id="7791543448312431591">जोडा</translation>
 <translation id="7792012425874949788">साइन इन करताना काहीतरी चूक झाली</translation>
 <translation id="7792388396321542707">शेअरिंग थांबवा</translation>
@@ -8052,6 +8067,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% पूर्ण झाले आहे</translation>
 <translation id="7939062555109487992">प्रगत पर्याय</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> रीड करण्यासाठी आणि बदलण्यासाठी या एक्स्टेंशनच्या आयकनवर क्लिक करा</translation>
+<translation id="793923212791838">तुमचे डिव्हाइस या साइटसोबत वापरले जाऊ शकत नाही</translation>
 <translation id="7939328347457537652">डिव्हाइस सर्टिफिकेट व्यवस्थापित करा</translation>
 <translation id="7939412583708276221">तरीही राहू द्या</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> नुसार क्रमवारी लावा</translation>
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb
index 37f0f71..6c456da2 100644
--- a/chrome/app/resources/generated_resources_my.xtb
+++ b/chrome/app/resources/generated_resources_my.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">ဖျက်သိမ်းခဲ့သည်</translation>
 <translation id="1022489261739821355">သင်၏ <ph name="BEGIN_LINK" />Google Account<ph name="END_LINK" /> မှ စကားဝှက်များ ပြနေသည်</translation>
 <translation id="1022669824195822609">သင့်စက်ပစ္စည်းကို <ph name="DOMAIN" /> က စီမံခန့်ခွဲသည်။ စီမံခန့်ခွဲသူများက ဤစက်ပေါ်ရှိ ပရိုဖိုင်အားလုံးမှ ဒေတာများကို ဝင်ကြည့်နိုင်သည်။</translation>
+<translation id="1024734233509995696">ဤတဘ်သည် သင့်ကင်မရာ (သို့) မိုက်ခရိုဖုန်း သုံးနေသည်</translation>
 <translation id="1026655690966755180">ပို့တ်ထည့်ရန်</translation>
 <translation id="1026822031284433028">ပုံကူးတင်ရန်</translation>
 <translation id="1026959648338730078">Windows Hello (သို့) ပြင်ပလုံခြုံရေးကီး</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">သင်၏ဖုန်းသို့ ချိတ်ဆက်နေသည်</translation>
 <translation id="1158080958325422608">အက္ခရာအကြီး ပြောင်းခြင်း</translation>
 <translation id="1158238185437008462">အမှတ်တရများ ကြည့်ရန်</translation>
+<translation id="1159879754517035595">နောက်ဆက်တွဲဆက်တင်များ စီမံရန်</translation>
 <translation id="1160842321113409343">သင်၏ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ရန် စာရင်းတွင် ၄ ပတ်ကျော်ပြီဖြစ်သော ဝဘ်ဆိုက်များကို အလိုအလျောက်ဖျက်သည်။ သင်ထပ်ဝင်ကြည့်သည့် ဝဘ်ဆိုက်က စာရင်းတွင် ထပ်ပေါ်လာနိုင်သည်။ သို့မဟုတ် ထိုဝဘ်ဆိုက်က သင့်အတွက်စိတ်ဝင်စားမှုများ နောက်ထပ်ခွဲခြားသတ်မှတ်ခြင်း မပြုစေလိုပါက ၎င်းကိုဖယ်ရှားနိုင်သည်။</translation>
 <translation id="1161575384898972166">ကျေးဇူးပြုပြီး သုံးသူ လက်မှတ်ကို တင်ပို့ရန် <ph name="TOKEN_NAME" />သို့ လက်မှတ်ထိုး ဝင်ပါ။</translation>
 <translation id="116173250649946226">သင့်စီမံခန့်ခွဲသူသည် ပြောင်း၍မရသော မူရင်းအပြင်အဆင်ကို သတ်မှတ်ထားပါသည်။</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> တွင် သတိထားရမည့် (သို့) အန္တရာယ်ရှိသည့် အချက်အလက် ပါဝင်သည်။ သင့်စီမံခန့်ခွဲသူ ပြောသည်မှာ- “<ph name="CUSTOM_MESSAGE" />”</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> က HID ကိရိယာနှင့် ချိတ်ဆက်လိုသည်</translation>
 <translation id="1172750555846831341">အပေါ်အောက် လှန်ရန်</translation>
+<translation id="1173036203040243666">ဤတဘ်ကို ဘလူးတုသ်သုံးစက်နှင့် ချိတ်ဆက်ထားသည်</translation>
 <translation id="1173332155861271669">ဖြတ်သန်းခွင့်ပြုမှတ် ပံ့ပိုးသူအသေးစိတ်</translation>
 <translation id="1173894706177603556">အမည်ပြောင်းရန်</translation>
 <translation id="1174073918202301297">ဖြတ်လမ်းလင့်ခ် ထည့်ပြီးပါပြီ</translation>
@@ -316,6 +319,7 @@
 <translation id="1252987234827889034">ပရိုဖိုင်ချွတ်ယွင်းချက် ဖြစ်ပေါ်ခဲ့သည်</translation>
 <translation id="1253664522045778676">ရလဒ်ကိုနှိပ်ပါက သင့်လက်ရှိတဘ်တွင် စာမျက်နှာ ပွင့်လာမည်</translation>
 <translation id="1254593899333212300">တိုက်ရိုက် အင်တာနက် ချိတ်ဆက်မှု</translation>
+<translation id="1256588359404100567">သင့်ယခင်စက်မှ ဆက်တင်ကို စင့်ခ်လုပ်ထားသည်။</translation>
 <translation id="1257336506558170607">ရွေးထားသည့်အသိအမှတ်ပြုလက်မှတ်ကို ထုတ်ယူရန်</translation>
 <translation id="1258491128795710625">အသစ်ပါဝင်မှုများ</translation>
 <translation id="1259152067760398571">မနေ့က လုံခြုံရေး စစ်ဆေးခဲ့သည်</translation>
@@ -527,6 +531,7 @@
 <translation id="1448779317883494811">ဘရပ်ရှ် တူးလ်</translation>
 <translation id="1449191289887455076">သတ်မှတ်မှုကို အတည်ပြုရန် “<ph name="CURRENTKEY" />” ထပ်နှိပ်ပြီး <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">ဝဘ်စာမျက်နှာ၊ ဖိုင် တစ်ခုတည်း</translation>
+<translation id="145280054552001290">စာတန်းထိုးရန် ဘာသာစကားများ ထည့်ရန်နှင့် ဖယ်ရှားရန်</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />အမှားရှာပြင်မှု မှတ်တမ်းများ<ph name="END_LINK" /> ပို့ရန် (အကြံပြုထားသည်)</translation>
 <translation id="1454223536435069390">လျှပ်&amp;တပြက် ပုံရိုက်ရန်</translation>
 <translation id="145432137617179457">စာလုံးပေါင်းစစ်ဆေးခြင်း သုံးနိုင်သော ဘာသာစကားများ</translation>
@@ -659,6 +664,7 @@
 <translation id="1556537182262721003">တိုးချဲ့မှုကို ပရိုဖိုင် ထဲကို တိုက်ရိုက် ရွှေ့မပေးနိုင်ပါ။</translation>
 <translation id="1558391695376153246">ရုပ်ဖျက်တဘ်များ ပိတ်ရန်</translation>
 <translation id="155865706765934889">တို့ထိရန် အပြား</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> သို့ ကာစ်ဆက်လုပ်ရန်</translation>
 <translation id="1562119309884184621">ဤအဆက်အသွယ်ကို ထည့်ပါက နောက်တစ်ကြိမ် သူမျှဝေသည့်အခါ မှတ်မိပါမည်</translation>
 <translation id="1563137369682381456">သက်တမ်းကုန်ဆုံးရက်</translation>
 <translation id="1563702743503072935">လက်မှတ်ထိုးဝင်ထားသည့်အခါ သင်၏ Google Account မှ စကားဝှက်များကိုလည်း ဤစက်တွင် အသုံးပြုနိုင်မည်</translation>
@@ -790,6 +796,7 @@
 <translation id="1648528859488547844">တည်နေရာ သိရှိနိုင်ရန် Wi-Fi၊ ဘလူးတုသ် သို့မဟုတ် မိုဘိုင်းကွန်ရက်များကို အသုံးပြုပါ</translation>
 <translation id="164936512206786300">ဘလူးတုသ်စက် ချိတ်ဆက်မှု ဖြုတ်ရန်</translation>
 <translation id="1651008383952180276">တူညီသည့် လျှို့ဝှက်စကားစုကို နှစ်ကြိမ်ထည့်ရပါမည်</translation>
+<translation id="1651609627703324721">ဤတဘ်သည် VR အကြောင်းအရာကို မိုက်ခွက်ပါနားကြပ်သို့ ပေးပို့နေသည်</translation>
 <translation id="1652326691684645429">'အနီးတစ်ဝိုက် မျှဝေခြင်း' ကို ဖွင့်ရန်</translation>
 <translation id="1654580009054503925">တောင်းဆိုချက်များပြရန် ခွင့်မပြုပါ</translation>
 <translation id="1656528038316521561">နောက်ခံ အလင်းပိတ်နှုန်း</translation>
@@ -889,6 +896,7 @@
 <translation id="173522743738009831">Privacy Sandbox အကြောင်း</translation>
 <translation id="173628468822554835">OK မူရင်းအနေနှင့် သင်ဝင်ကြည့်သည့် ဝဘ်ဆိုက်အသစ်များသည် သင့်ထံအကြောင်းကြားချက်များ ပို့မည် မဟုတ်ပါ။</translation>
 <translation id="1737968601308870607">ဘာဂ် ဖိုင်တင်ရန်</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />။ ဝဘ်ဆိုက်ခွင့်ပြုချက်များ ပြောင်းရန် ရွေးပါ</translation>
 <translation id="1741190788710022490">အလိုက်သင့်အားသွင်းခြင်း</translation>
 <translation id="174123615272205933">စိတ်ကြိုက်လုပ်ရန်</translation>
 <translation id="1741314857973421784">ရှေ့ဆက်ရန်</translation>
@@ -1004,6 +1012,7 @@
 <translation id="18260074040409954">သိမ်းထားသော စကားဝှက်များကို မည်သည့်စက်တွင်မဆို သုံးနိုင်သည်။ <ph name="EMAIL" /> အတွက် <ph name="GOOGLE_PASSWORD_MANAGER" /> သို့ ၎င်းတို့ကို သိမ်းထားသည်။</translation>
 <translation id="1826192255355608658">သင့် Chrome ဘရောင်ဇာ၏ လိပ်စာများ၊ စကားဝှက်များနှင့် မှတ်တမ်း စသည်တို့ကို စင့်ခ်လုပ်ပါ</translation>
 <translation id="1826516787628120939">စစ်ကြည့်နေ</translation>
+<translation id="1826657447823925402">ပြောင်းပြန်လှိမ့်ခြင်း ပိတ်ထားသည်</translation>
 <translation id="1827504459960247692">ဟော့စပေါ့အမည်</translation>
 <translation id="1828378091493947763">ဤကိရိယာတွင် ၎င်းပလတ်အင်ကို မပံ့ပိုးပါ</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{အားလုံးကို &amp;ဖွင့်ရန်}=1{လိပ်စာကို &amp;ဖွင့်ရန်}other{({COUNT}) ခုလုံးကို &amp;ဖွင့်ရန်}}</translation>
@@ -1080,6 +1089,7 @@
 <translation id="1885066963699478692">မူဝါဒများသတ်မှတ်ရန် သုံးနေသော XML ဖိုင်များ။</translation>
 <translation id="1885106732301550621">ဒစ်ခ်နေရာ</translation>
 <translation id="1886996562706621347">ဆိုက်များအား ပရိုတိုကောများ အတွက် ပုံသေ ကိုင်တွယ်သူများ ဖြစ်လာရန် တောင်းခွင့် ပြုရန်</translation>
+<translation id="1887210448491286312">တဘ်ကို <ph name="DEVICE_NAME" /> သို့ ကာစ်မလုပ်တော့ရန်</translation>
 <translation id="1887442540531652736">လက်မှတ်ထိုးဝင်ခြင်း အမှားအယွင်း</translation>
 <translation id="1887597546629269384">"ဟေး Google" ဟု ထပ်ပြောပါ</translation>
 <translation id="1889091146873278175">ဘေးအကန့်တွင် ရှာဖွေမှုရလဒ်များ ပိုမြင်ရရန် ‘‘G’’ ခလုတ်ကိုနှိပ်ပါ</translation>
@@ -1106,6 +1116,7 @@
 <translation id="1910908536872421421">စမ်းသပ်ရန်အတွက် Chrome v<ph name="BROWSER_VERSION" /> သည် အလိုအလျောက်ပြုလုပ်သည့် စမ်းသပ်မှုအတွက်သာ ဖြစ်သည်။ ပုံမှန်ကြည့်ရှုရန် အလိုအလျောက် အပ်ဒိတ်လုပ်သည့် Chrome ပုံမှန်ဗားရှင်း သုံးပါ။</translation>
 <translation id="1915073950770830761">ကနေရီ</translation>
 <translation id="1915307458270490472">ဖုန်းချရန်</translation>
+<translation id="1915613305720536742">ဘာသာပြန်ရန်</translation>
 <translation id="1915734383465415025">စတိုးနံပါတ်</translation>
 <translation id="1916260783734263714">လက်ရှိတဘ်</translation>
 <translation id="1916502483199172559">မူရင်းအနီရောင်ချန်နယ်ပုံ</translation>
@@ -1210,6 +1221,7 @@
 <translation id="2007404777272201486">ပြဿနာ တစ်ခုကို အစီရင်ခံရန်...</translation>
 <translation id="2009590708342941694">အီမိုဂျီ တူးလ်</translation>
 <translation id="2010501376126504057">တွဲသုံးနိုင်သည့် စက်များ</translation>
+<translation id="2012935757369720523">ဖိုင်ဖျက်ရန်</translation>
 <translation id="2013550551806600826">စမ်းကြည့်ပါ။ ဆက်တင်ဖွင့် (သို့) ပိတ်ပါ။ ထို့နောက် စမ်းသပ်ဧရိယာရှိ တာ့ချ်ပက်ပေါ်တွင် လက်နှစ်ချောင်းဖြင့် လှိမ့်ပါ။ နောက်ပိုင်းတွင် ၎င်းကို ‘ဆက်တင်များ &gt; စက်ပစ္စည်း &gt; မောက်စ်နှင့် တာ့ချ်ပက်’ တွင်လည်း ရှာတွေ့နိုင်သည်။</translation>
 <translation id="2015232545623037616">PC နှင့် Chromecast သည် တူညီသော Wi-Fi ကွန်ရက်တွင် ရှိသည်</translation>
 <translation id="2016473077102413275">ပုံများလိုအပ်သော ဝန်ဆောင်မှုများ အလုပ်လုပ်မည်မဟုတ်ပါ</translation>
@@ -1291,6 +1303,7 @@
 <translation id="2081816110395725788">ဘက်ထရီဖြင့်ဖွင့်ထားစဉ် နားရန်</translation>
 <translation id="2082187087049518845">တဘ်ကို အုပ်စုဖွဲ့ရန်</translation>
 <translation id="2082510809738716738">အပြင်အဆင်အရောင် ရွေးရန်</translation>
+<translation id="2084891381052978619">သင့် Chromebook ကို စနစ်ထည့်သွင်းပြီးသောအခါ ဤရွေးချယ်မှုများကို ဆက်တင်များတွင် တွေ့နိုင်သည်</translation>
 <translation id="208586643495776849">ထပ်လုပ်ကြည့်ပါ</translation>
 <translation id="208634871997892083">VPN အမြဲတမ်းဖွင့်ထားရန်</translation>
 <translation id="2087822576218954668">ပရင့်: <ph name="PRINT_NAME" /></translation>
@@ -1360,6 +1373,7 @@
 <translation id="212862741129535676">ကြိမ်နှုန်းအခြေအနေ နေထိုင်မှု ရာခိုင်နှုန်း</translation>
 <translation id="212876957201860463">သင့်ဆယ်လူလာ ကိရိယာ စနစ်ထည့်သွင်းရန် ပြင်ဆင်နေသည်...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" အား တပ်ဆင်မရခြင်းမှာ "<ph name="IMPORT_NAME" />" က ခွင့်မပြုသောကြောင့် ဖြစ်၏</translation>
+<translation id="2133775869826239001">စနစ်ထည့်သွင်းရန် နောက်ထပ်တူးလ်များ ရွေးပါ</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> ကို ထပ်စမ်းရန်</translation>
 <translation id="2134905185275441536">စနစ် CA များ</translation>
 <translation id="21354425047973905">ပင်နံပါတ်များ ဖျောက်ထားရန်</translation>
@@ -1781,6 +1795,7 @@
 <translation id="2458379781610688953">အကောင့် အပ်ဒိတ်လုပ်ရန်၊ <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">စက်ပစ္စည်းစီမံခန့်ခွဲမှု တိုကင်နံပါတ် မမှန်ကန်ပါ။</translation>
 <translation id="2459703812219683497">စသုံးရန်ကုဒ် တွေ့ရှိသည်</translation>
+<translation id="2459706890611560967">တဘ်ကို <ph name="DEVICE_NAME" /> သို့ ကာစ်ဆက်လုပ်ရန်</translation>
 <translation id="2460356425461033301">သင့်ဘရောင်ဇာ အချက်အလက်များကို အရန်သိမ်းပြီး စက်တိုင်းတွင် သုံးနိုင်သည်</translation>
 <translation id="2462332841984057083">Steam ကို လက်ရှိ ထည့်သွင်းလျက်ရှိသည်။ စနစ်ထည့်သွင်းပြီးသည်အထိ စောင့်ပါ။</translation>
 <translation id="2462724976360937186">လက်မှတ်ထုတ်ပေးမှု အာဏာပိုင် သော့ ID</translation>
@@ -2628,10 +2643,12 @@
 <translation id="3194786596445804250">ပြင်ပကုမ္ပဏီကွတ်ကီးများ ပိတ်ထားခြင်းအကြောင်း အသေးစိတ်ပြပါ</translation>
 <translation id="3197453258332670132">ညာဘက်ခလုတ်ကို နှိပ်လျှင် (သို့) ကြာရှည်စွာဖိထားလျှင် သင့်စာသားရွေးချယ်မှုအတွက် ဆက်စပ်သော အချက်အလက်ကို ပြနိုင်သည်</translation>
 <translation id="3199127022143353223">ဆာဗာများ</translation>
+<translation id="3199637719075529971">ဤတဘ်ကို အမှတ်စဉ်ပို့တ်နှင့် ချိတ်ဆက်ထားသည်</translation>
 <translation id="3200061262156232574">သင်၏ဈေးခြင်းတောင်းတွင်</translation>
 <translation id="3201237270673604992">Z မှ A</translation>
 <translation id="3201422919974259695">အသုံးပြုနိုင်သော USB စက်ပစ္စည်းများကို ဤနေရာတွင် တွေ့ရပါမည်။</translation>
 <translation id="3202131003361292969">လမ်းကြောင်း</translation>
+<translation id="3202499879214571401"><ph name="DEVICE_NAME" /> သို့ ကာစ်လုပ်ခြင်း ခဏရပ်ရန်</translation>
 <translation id="3202578601642193415">အသစ်ဆုံး</translation>
 <translation id="3204648577100496185">ဤအက်ပ်နှင့်ဆက်စပ်သည့် ဒေတာကို ဤစက်ပစ္စည်းမှ ဖယ်ရှားနိုင်သည်</translation>
 <translation id="3207960819495026254">ဘွတ်မက်လုပ်ပြီး၏</translation>
@@ -2944,6 +2961,7 @@
 <translation id="347785443197175480"><ph name="HOST" />အား သင်၏ ကင်မရာ နှင့် မိုက်ခရိုဖုန်းကို ရယူသုံးမှု ဆက်ခွင့်ပြုရန်</translation>
 <translation id="3479552764303398839">ယခု မလို</translation>
 <translation id="3479685872808224578">ပုံနှိပ်စက်ဆာဗာကို ‌မတွေ့ပါ။ လိပ်စာကို ပြန်စစ်ပြီး ထပ်စမ်းကြည့်ပါ။</translation>
+<translation id="3479753605053415848">Chrome ကို စိတ်ကြိုက်လုပ်ရန် နှိပ်ပါ</translation>
 <translation id="3480612136143976912">‘တိုက်ရိုက်စာတန်း’ အတွက် စာတန်းအရွယ်အစားနှင့် ပုံစံကို စိတ်ကြိုက်လုပ်နိုင်သည်။ အချို့ အက်ပ်နှင့် ဝဘ်ဆိုက်များလည်း ဤဆက်တင်ကို သုံးပါမည်။</translation>
 <translation id="3480827850068960424">တဘ် <ph name="NUM" /> ခု တွေ့သည်</translation>
 <translation id="3481268647794498892"><ph name="ALTERNATIVE_BROWSER_NAME" /> ကို <ph name="COUNTDOWN_SECONDS" /> စက္ကန့်အကြာတွင် ဖွင့်ပါမည်</translation>
@@ -3026,6 +3044,7 @@
 <translation id="3557101512409028104">Family Link ဖြင့် ဝဘ်ဆိုက် ကန့်သတ်ချက်များနှင့် အသုံးပြုချိန် ကန့်သတ်ချက်များ သတ်မှတ်ရန်</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />ChromeOS စက်များအား အလိုအလျောက် အစီရင်ခံစာများ ပို့ခွင့်ပြုခြင်းသည် ChromeOS တွင် ပြုပြင်နိုင်မည့်၊ ပိုမိုကောင်းမွန်နိုင်မည့်အရာများကို ဦးစားပေးလုပ်ဆောင်ရန် ကူညီပေးသည်။ ဤအစီရင်ခံစာများတွင် ChromeOS ရပ်တန့်သွားချိန်၊ အသုံးပြုထားသော ဝန်ဆောင်မှုများနှင့် ပုံမှန်အားဖြင့် အသုံးပြုထားသော မှတ်ဉာဏ်ပမာဏတို့ကဲ့သို့ အချက်များ ပါဝင်နိုင်ပါသည်။<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />သင့်ကလေး၏ ChromeOS စက် ဆက်တင်တွင် ဤအစီရင်ခံစာများ ခွင့်ပြုခြင်းကို အချိန်မရွေး စတင်နိုင်သည် (သို့) ရပ်တန့်နိုင်သည်။ သင်သည် ဒိုမိန်း စီမံခန့်ခွဲသူဖြစ်ပါက ဤဆက်တင်ကို စီမံခန့်ခွဲသူ ကွန်ဆိုးလ်တွင် ပြောင်းနိုင်သည်။<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">စခရင်ကို <ph name="DEVICE_NAME" /> သို့ ကာစ်လုပ်ခြင်း ရပ်ရန်</translation>
 <translation id="3559262020195162408">ဤစက်ပစ္စည်းပေါ်တွင် မူဝါဒကို ထည့်သွင်း၍မရပါ။</translation>
 <translation id="3559533181353831840"><ph name="TIME_LEFT" /> ခန့် ကျန်သည်</translation>
 <translation id="3560034655160545939">&amp;စာလုံးပေါင်းစစ်ဆေးခြင်း</translation>
@@ -3193,6 +3212,7 @@
 <translation id="370415077757856453">JavaScript ကို ပိတ်ထားခြင်း</translation>
 <translation id="3704331259350077894">လုပ်ငန်း ရပ်စဲခြင်း</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">စခရင်ကို <ph name="DEVICE_NAME" /> သို့ ကာစ်ဆက်လုပ်ရန်</translation>
 <translation id="3706463572498736864">စာရင်းတစ်ခုရှိ စာမျက်နှာများ</translation>
 <translation id="370649949373421643">ကြိုးမဲ့ ဖွင့်ပေးရန်</translation>
 <translation id="370665806235115550">တင်ပေးနေ...</translation>
@@ -3238,6 +3258,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> ဒေတာကို ၂၄ နာရီအတွင်း ဖျက်ပါမည်</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> ကို ဖွင့်မလား။</translation>
+<translation id="3740945083753997630">ပြသမှုနှင့် စာသားအရွယ်အစား သေးရန်</translation>
 <translation id="3741056951918180319">မည်သည့်ဝဘ်ဆိုက်တွင်မဆိုသုံးရန် နောက်ဆက်တွဲကို အချိန်မရွေး ကလစ်နှိပ်နိုင်သည်</translation>
 <translation id="3742235229730461951">ကိုရီးယားကီးဘုတ် အပြင်အဆင်</translation>
 <translation id="3742666961763734085">ထိုအမည်ဖြင့် အဖွဲ့အစည်းကို မတွေ့ပါ။ ထပ်စမ်းကြည့်ပါ။</translation>
@@ -3407,6 +3428,7 @@
 <translation id="3867134342671430205">ပြကွက်ကိုရွှေ့ရန် ဖိဆွဲပါ (သို့) မြားကီးများ အသုံးပြုပါ</translation>
 <translation id="3867944738977021751">လက်မှတ် အကွက်များ</translation>
 <translation id="3869917919960562512">အညွှန်း မှားနေ။</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> ကို မရွေးရန်</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> အတွက် သိမ်းထားသည့် စကားဝှက်များ မရှိပါ</translation>
 <translation id="3871350334636688135">၂၄ နာရီအကြာတွင် သင်၏စီမံခန့်ခွဲသူက ကိရိယာကိုပြန်စတင်သည့်အခါ သင့်စက်အတွင်း ဒေတာများကို ဖျက်ပစ်မည့် တစ်ကြိမ်သုံးအပ်ဒိတ်ကို ပြုလုပ်ပါမည်။ သင်လိုအပ်သည့် စက်အတွင်းဒေတာများကို ၂၄ နာရီအတွင်း cloud သိုလှောင်ခန်းသို့ သိမ်းပါ။</translation>
 <translation id="3872220884670338524">နောက်ထပ် လုပ်ဆောင်ချက်များ၊ <ph name="DOMAIN" /> ရှိ <ph name="USERNAME" /> အတွက် သိမ်းထားသည့်အကောင့်</translation>
@@ -3501,6 +3523,7 @@
 <translation id="3945513714196326460">ပိုတိုသည့်အမည် စမ်းကြည့်ပါ</translation>
 <translation id="3948027458879361203">စက်အမည်ပြောင်းရန်</translation>
 <translation id="3948116654032448504">ပုံကို <ph name="SEARCH_ENGINE" />ဖြင့် ရှာရန်</translation>
+<translation id="3948334586359655083">ဤတဘ်သည် အသံဖွင့်နေသည်</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> က အောက်ပါဖိုင်တွဲများ အတွင်းရှိ ဖိုင်များကို တည်းဖြတ်နိုင်သည်</translation>
 <translation id="394984172568887996">IE ထံမှ တင်သွင်းခဲ့</translation>
 <translation id="3950820424414687140">ဝင်ရောက်</translation>
@@ -3559,6 +3582,7 @@
 <translation id="3987544746655539083">ဤဝဘ်ဆိုက်ကို သင့်တည်နေရာသုံးခွင့် ဆက်ပိတ်ထားရန်</translation>
 <translation id="3987938432087324095">မကြားလိုက်ပါ။</translation>
 <translation id="3987993985790029246">လင့်ခ်ကူးယူမည်</translation>
+<translation id="3988124842897276887">ဤတဘ်ကို USB စက်ပစ္စည်းနှင့် ချိတ်ဆက်ထားသည်</translation>
 <translation id="3988488665753590964">သင့်ဖန်သားပြင်တွင် အရောင်များပြပုံကို ပြင်ဆင်နိုင်သည်</translation>
 <translation id="3988996860813292272">စံတော်ချိန်ကို ရွေးပါ</translation>
 <translation id="399179161741278232">တင်သွင်းပြီး</translation>
@@ -3615,6 +3639,7 @@
 <translation id="4044612648082411741">သင်၏ အသိအမှတ်ပြုလက်မှတ် စကားဝှက်ကို ထည့်ပါ</translation>
 <translation id="4044708573046946214">ဖုန်းမျက်နှာပြင် လော့ခ်ချရန် စကားဝှက်</translation>
 <translation id="404493185430269859">ပုံသေ ရှာဖွေရေး အင်ဂျင်</translation>
+<translation id="4045196801416070837">စက်ပစ္စည်းအသံများ</translation>
 <translation id="4046013316139505482">ဤနောက်ဆက်တွဲများက ယခုဝဘ်ဆိုက်ပေါ်ရှိ အချက်အလက်များကို ကြည့်ရှုပြီး ပြောင်းလဲရန်မလိုအပ်ပါ။</translation>
 <translation id="4046123991198612571">နောက်တစ်ပုဒ်</translation>
 <translation id="4047345532928475040">မသိ</translation>
@@ -3707,6 +3732,7 @@
 <translation id="4130207949184424187">Omnibox မှ သင်ရှာဖွေသောအခါ စာမျက်နှာမှ ပြသသည်များကို ဤတိုးချဲလိုင်းမှ ပြောင်းလဲခဲ့၏။</translation>
 <translation id="4130750466177569591">ကျွန်ုပ် သဘောတူ</translation>
 <translation id="413121957363593859">အစိတ်အပိုင်းများ</translation>
+<translation id="4131283654370308898">ဤဝဘ်ဆိုက်တွင် <ph name="EXTENSION_NAME" /> ကို ခွင့်ပြုရန်</translation>
 <translation id="4131410914670010031">အမည်း နှင့် အဖြူ</translation>
 <translation id="413193092008917129">ကွန်ရက် အမှားရှာဖွေမှုများ 'ပုံမှန်အစီအစဉ်'</translation>
 <translation id="4132183752438206707">အက်ပ်များကို 'Google Play စတိုး' တွင် ရှာဖွေခြင်း</translation>
@@ -4064,6 +4090,7 @@
 <translation id="4444512841222467874">နေရာလွတ်မရှိတော့လျှင် အသုံးပြုသူနှင့် ဒေတာများကို အလိုအလျောက် ဖယ်ရှားသွားပါမည်။</translation>
 <translation id="4445446646109808714">အသုံးပြုသူ လိုင်စင်သဘောတူညီချက်- <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">စကရင်ပွားထား</translation>
+<translation id="4448560527907365660">သိမ်းပြီး နောက်ထပ်ကြည့်ရန်</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> ပေါ်ရှိ <ph name="USERNAME" /> အတွက် စကားဝှက်ကိုဖျောက်ရန်</translation>
 <translation id="4449247303975391730">ခွင့်ပြုချက်များကို စီမံရန်</translation>
 <translation id="4449948729197510913">သင့်အသုံးပြုသူအမည်သည် သင့်အဖွဲ့အစည်း၏ လုပ်ငန်းသုံး အကောင့်တွင် ပါဝင်သည်။ အကောင့်သို့ စက်များစာရင်းသွင်းရန် 'စီမံခန့်ခွဲသူ' ကွန်ဆိုးလ်တွင် ဒိုမိန်းပိုင်ဆိုင်မှုကို ဦးစွာအတည်ပြုပါ။ အတည်ပြုရန်အတွက် အကောင့်တွင် စီမံခန့်ခွဲရေး ဆောင်ရွက်ခွင့်များ လိုအပ်ပါမည်။</translation>
@@ -4244,6 +4271,7 @@
 <translation id="4601426376352205922">မဖတ်ရသေးဟု မှတ်သားရန်</translation>
 <translation id="460190672235687855">စကားဝှက်များ ကြည့်ရန်</translation>
 <translation id="4602466770786743961"><ph name="HOST" />အား သင်၏ ကင်မရာ နှင့် မိုက်ခရိုဖုန်းကို အမြဲတမ်းရယူသုံးမှု ဆက်ခွင့်ပြုရန်</translation>
+<translation id="4602776638371779614">ဤတဘ်သည် ဘလူးတုသ်သုံးစက်များကို ယခု ရှာနေသည်</translation>
 <translation id="4606551464649945562">သင့်ပတ်ဝန်းကျင်၏ 3D မြေပုံဆွဲခြင်း သို့မဟုတ် ကင်မရာအနေအထား ခြေရာခံခြင်းတို့ ပြုလုပ်ရန် ဝဘ်ဆိုက်များကို ခွင့်မပြုပါနှင့်</translation>
 <translation id="4608500690299898628">&amp;ရှာရန်...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> တွင် အမှားအယွင်းတစ်ခု ရှိနေသည်</translation>
@@ -4427,6 +4455,7 @@
 <translation id="4770119228883592393">ခွင့်ပြုချက်တောင်းထားသည်၊ တုံ့ပြန်ရန် ⌘ + Option + 'အောက်ညွှန်မြား' နှိပ်ပါ</translation>
 <translation id="4773112038801431077">Linux အဆင့်မြှင့်ခြင်း</translation>
 <translation id="4774456473286455263">သင့် Android ဖုန်းဖြင့် စနစ်ထည့်သွင်းခြင်း</translation>
+<translation id="477548766361111120">နောက်ဆက်တွဲကို ဤဝဘ်ဆိုက် ဖတ်ခွင့်၊ ပြောင်းခွင့်ပြုရန်</translation>
 <translation id="477647109558161443">အမြန်ဖွင့်ဖြတ်လမ်းလင့်ခ်တစ်ခု ပြုလုပ်ရန်</translation>
 <translation id="4776594120007763294">နောက်မှဖတ်ရန်အတွက် စာမျက်နှာထည့်ရန် ခလုတ်ကိုနှိပ်ပါ</translation>
 <translation id="4777458362738635055">ဤစက်၏ အခြားအသုံးပြုသူများက ဤကွန်ရက်ကို သုံးနိုင်သည်</translation>
@@ -5173,6 +5202,7 @@
 <translation id="5439680044267106777">ကျော်ပြီး သင်၏ပရိုဖိုင်အသစ်ကို စနစ်ထည့်သွင်းရန်</translation>
 <translation id="544083962418256601">ဖြတ်လမ်း ဖန်တီး...</translation>
 <translation id="5441133529460183413">Chrome ဘရောင်ဇာမှ ထည့်သွင်းသော ‘ဝဘ်အက်ပ်’</translation>
+<translation id="5441292787273562014">စာမျက်နှာ ပြန်လည်စတင်ရန်</translation>
 <translation id="5441466871879044658">ဤဘာသာစကားသို့ ပြန်ဆိုပါ</translation>
 <translation id="5442228125690314719">ဒစ်ခ် ကွန်ပျူတာစနစ်မိတ္တူ ပြုလုပ်၍မရပါ။ နောက်မှ ထပ်စမ်းကြည့်ပါ။</translation>
 <translation id="5442550868130618860">အလိုအလျောက် အပ်ဒိတ်လုပ်ခြင်းကို ဖွင့်ရန်</translation>
@@ -5218,7 +5248,9 @@
 <translation id="5481941284378890518">အနီးတဝိုက်ရှိ ပုံနှိပ်စက်များကို ထည့်ပါ</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{သင့်ဒေတာများ အရန်သိမ်းပြီး ဤ <ph name="DEVICE_TYPE" /> ကို ယနေ့ပြန်ပို့ရန် <ph name="MANAGER" /> က သတ်မှတ်ထားသည်။ <ph name="LINK_BEGIN" />အသေးစိတ် ကြည့်ရန်<ph name="LINK_END" />}other{သင့်ဒေတာများ အရန်သိမ်းပြီး ဤ <ph name="DEVICE_TYPE" /> ကို {NUM_DAYS} ရက်အတွင်း ပြန်ပို့ရန် <ph name="MANAGER" /> က သတ်မှတ်ထားသည်။ <ph name="LINK_BEGIN" />အသေးစိတ် ကြည့်ရန်<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">အပ်ဖ်ပေါင်းထည့်မည်</translation>
+<translation id="5485435764083510385">ဦးစားပေး စာတန်းဘာသာစကား</translation>
 <translation id="5485754497697573575">တဲဘ်မျာ အားလုံး ပြန်ဖေါ်ထုတ်ရန်</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> သည် စက်အမျိုးအစားကွဲ (သို့) အသစ်တစ်ခု လိုအပ်နိုင်သည်</translation>
 <translation id="5486261815000869482">စကားဝှက် အတည်ပြုရန်</translation>
 <translation id="5486561344817861625">ဘရောင်ဇာ စတင်မှု ဟန်ပြပြုလုပ်ရန်</translation>
 <translation id="5487460042548760727">ပရိုဖိုင်ကို <ph name="PROFILE_NAME" /> ဟု အမည်ပြောင်းရန်</translation>
@@ -5575,6 +5607,7 @@
 <translation id="5799508265798272974">Linux ပကတိအသွင် စက်စနစ်- <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">အဆုံးသတ်ဖိုင်သည် နောက်ဆုံးဒေါင်းလုပ်ကတည်းက တိုတောင်းနေသည် သို့မဟုတ် ဖယ်ရှားလိုက်သည်။</translation>
 <translation id="5800351251499368110">ဘေးအကန့်တွင် ရှာဖွေမှုပိတ်ခြင်း။ ဘေးအကန့်တွင် ရှာဖွေမှု ဖွင့်ထားသည်။</translation>
+<translation id="5800703268655655701">အလင်း (သို့) အမှောင်နောက်ခံ ရွေးရန်</translation>
 <translation id="5801051031414037185">ဖုန်းစနစ်ထည့်သွင်းရန်</translation>
 <translation id="5801568494490449797">ဦးစားပေးမှုများ</translation>
 <translation id="5803689677801500549">သိမ်းထားသည့် စကားဝှက်များ ဤနေရာတွင် ပြမည်။ <ph name="USER_EMAIL" /> အတွက် <ph name="BRAND" /> သို့ စကားဝှက်များ ထည့်သွင်းရန် <ph name="BEGIN_LINK" />CSV ဖိုင်ရွေးပါ။<ph name="END_LINK" /></translation>
@@ -5690,6 +5723,7 @@
 <translation id="5889282057229379085">ကြားခံ CAများ၏ အများဆုံး အရေအတွက်: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">သင့်ကိုယ်ပိုင် <ph name="BEGIN_LINK" />စင့်ခ်လုပ်ရန် စကားဝှက်စာ<ph name="END_LINK" /> ဖြင့် စင့်ခ်လုပ်ထားသည့် ဒေတာများကို အသွင်ဝှက်ရန်။ Google Pay ရှိ ငွေပေးချေနည်းလမ်းနှင့် လိပ်စာများကို အသွင်ဝှက်မည်မဟုတ်ပါ။ Chrome ရှိ ကြည့်ရှုမှုမှတ်တမ်းကို စင့်ခ်လုပ်မည်မဟုတ်ပါ။</translation>
 <translation id="5891688036610113830">ဦးစားပေး Wi-Fi ကွန်ရက်များ</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> ဖိုင်တွဲကို မရွေးရန်</translation>
 <translation id="5895138241574237353">ပြန်စတင်မည</translation>
 <translation id="5895335062901455404">Google Account ဖြင့် လက်မှတ်ထိုးဝင်သောအခါ သင်သိမ်းထားသည့် သတ်မှတ်ချက်နှင့် လုပ်ဆောင်ချက်များကို ChromeOS Flex စက်တိုင်းတွင် အသင့်ရရှိပါမည်။ စင့်ခ်လုပ်မည့်အရာကို ဆက်တင်များတွင် ရွေးချယ်နိုင်သည်။</translation>
 <translation id="589541317545606110"><ph name="VISUAL_SEARCH_PROVIDER" /> ဖြင့် စာမျက်နှာကို ရှာရန်</translation>
@@ -5759,6 +5793,7 @@
 <translation id="5948476936444935795">ထည့်သွင်းမှု ပယ်ဖျက်ရန်</translation>
 <translation id="5948536763493709626">ကီးဘုတ် (သို့) မောက်စ်နှင့် ချိတ်ဆက်ပါ၊ (သို့) သင့်တို့ထိမျက်နှာပြင် သုံး၍ စနစ်ဆက်လက်ထည့်သွင်းပါ။ ဘလူးတုသ်သုံးစက်များ သုံးနေပါက သင့်စက်များတွဲချိတ်ရန် အသင့်ဖြစ်နေကြောင်း သေချာပါစေ။</translation>
 <translation id="5949544233750246342">ဖိုင်ကို ခွဲခြမ်းစိတ်ဖြာနိုင်ခြင်း မရှိပါ</translation>
+<translation id="5950762317146173294">ဤဖိုင်သည် ဗိုင်းရပ်စ် (သို့) မဲလ်ဝဲ ဖြစ်နိုင်သည်</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> က စက်အတွင်းရှိ ဖောင့်များကို အသုံးပြုလိုသည်</translation>
 <translation id="5951624318208955736">မော်နီတာ</translation>
 <translation id="595262438437661818">ဤဝဘ်ဆိုက်ကို ဝင်ကြည့်ရန် နောက်ဆက်တွဲများ မလိုပါ</translation>
@@ -5843,6 +5878,7 @@
 <translation id="6022526133015258832">မျက်နှာပြင် အပြည့် ဖွင့်ရန်</translation>
 <translation id="6022659036123304283">Chrome ကို သင့်စိတ်ကြိုက်ပြင်ဆင်လိုက်ပါ</translation>
 <translation id="6023643151125006053">ဤစက်ပစ္စည်း (SN- <ph name="SERIAL_NUMBER" />) ကို <ph name="SAML_DOMAIN" /> စီမံခန့်ခွဲသူက လော့ခ်ချထားသည်။</translation>
+<translation id="6024072172641380781">ဤဝဘ်ဆိုက်ရှိ နောက်ဆက်တွဲများ ခွင့်ပြုရန်</translation>
 <translation id="6025215716629925253">ထပ်စီမှု လမ်းကြောင်းလိုက်ရန်</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB စက်ပစ္စည်း ချိတ်ဆက်ထားသည်</translation>
 <translation id="6027945736510816438"><ph name="WEBSITE" /> ကို ဆိုလိုသလား။</translation>
@@ -6127,6 +6163,7 @@
 <translation id="6268252012308737255"><ph name="APP" />ဖြင့် ဖွင့်ရန်</translation>
 <translation id="6270309713620950855">သတိပေးနှိုးဆော်ချက် အသံပိတ်ရန်</translation>
 <translation id="6270391203985052864">ဝဘ်ဆိုက်များက အကြောင်းကြားချက်များပို့ရန် တောင်းဆိုနိုင်သည်</translation>
+<translation id="6270486800167535228">နောက်ဆက်တွဲကို ပင်ထိုးထားသည်။ နောက်ထပ်နည်းလမ်းများ မြင်ရရန် ရွေးပါ</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />စနစ်နှင့် အက်ပ်အချက်အလက်များ <ph name="END_LINK1" /> နှင့် <ph name="BEGIN_LINK2" />မက်ထရစ်များ<ph name="END_LINK2" /> ကိုပို့ရန်</translation>
 <translation id="6270896861225278704">ခရီးစဉ်များကတ်</translation>
 <translation id="6271348838875430303">အမှားပြင်ဆင်ခြင်းကို ပြန်ပြင်လိုက်သည်</translation>
@@ -6207,6 +6244,7 @@
 <translation id="6344608411615208519">သင့်မိဘက သင်၏ <ph name="BEGIN_LINK" />ဘရောင်ဇာကို စီမံခန့်ခွဲသည်<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910">စီမံခန့်ခွဲသူက သင်၏ကွန်ရက်ကို စီစဉ်သတ်မှတ်နိုင်ရန် <ph name="PROXY" /> ပရောက်စီအတွက် သင့်အသုံးပြုသူအမည်နှင့် စကားဝှက် လိုအပ်သည်</translation>
 <translation id="6345878117466430440">ဖတ်ပြီးဟု မှတ်သားရန်</translation>
+<translation id="6346952829206698721">ကလစ်ဘုတ်မှ ကူးထည့်ရန်</translation>
 <translation id="6347010704471250799">အကြောင်းကြားချက်ပြခြင်း</translation>
 <translation id="634887995541211148">သင့်စက်တွင် Bruschetta ဖွင့်မည်။</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> ထည့်သွင်းရန်</translation>
@@ -6490,6 +6528,7 @@
 <translation id="6596325263575161958">လုံခြုံအောင်ပြုလုပ်ခြင်း ရွေးချယ်မှုများ</translation>
 <translation id="6596816719288285829">IP လိပ်စာ</translation>
 <translation id="6597017209724497268">နမူနာများ</translation>
+<translation id="6597324406048772521">ဤဝဘ်ဆိုက်တွင် နောက်ဆက်တွဲများ ခွင့်မပြုပါ</translation>
 <translation id="6597331566371766302">အောက်ပါနောက်ဆက်တွဲများကို သင့်စီမံသူက ပိတ်ထားသည်-</translation>
 <translation id="659894938503552850">အသစ်ဆုံး</translation>
 <translation id="6601262427770154296">အသုံးပြုသူအဘိဓာန်များ စီမံရန်</translation>
@@ -6507,6 +6546,7 @@
 <translation id="6609478180749378879">'ရုပ်ဖျက်မုဒ်' မှထွက်ပြီးသောအခါ လက်မှတ်ထိုးဝင်ခြင်းဆိုင်ရာ ဒေတာကို ဤစက်တွင် သိမ်းထားပါမည်။ ဤဝဘ်ဆိုက်သို့ နောင်တွင် သင့်စက်ဖြင့် ထပ်မံလက်မှတ်ထိုးဝင်နိုင်ပါမည်။</translation>
 <translation id="6610002944194042868">ဘာသာပြန်ရန် ရွေးစရာများ</translation>
 <translation id="6611972847767394631">သင်၏ တဘ်များကို ဤနေရာတွင် ရှာယူပါ</translation>
+<translation id="6613267708691765962">မဲလ်ဝဲ ရှာဖွေနေသည်...</translation>
 <translation id="6613668613087513143">ဤအပ်ဒိတ်အပြီးသတ်ရန် ယခုစက်တွင် နေရာမလောက်ပါ။ သင့်စက်တွင် <ph name="NECESSARY_SPACE" /> ရှင်းထုတ်ပြီး သင်၏ Chrome ဘရောင်ဇာတွင် ထပ်စမ်းကြည့်ပါ။</translation>
 <translation id="6615455863669487791">ပြရန်</translation>
 <translation id="6618097958368085618">မည်သို့ပင်ဖြစ်စေ သိမ်းရန်</translation>
@@ -6755,6 +6795,7 @@
 <translation id="6825184156888454064">အမည်အလိုက် စီခြင်း</translation>
 <translation id="6826872289184051766">USB မှတစ်ဆင့် အတည်ပြုရန်</translation>
 <translation id="6827121912381363404"><ph name="PERMITTED_SITE" /> အား ဖတ်ရန်နှင့် ပြောင်းလဲရန် နောက်ဆက်တွဲအားလုံးကို ခွင့်ပြုရန်</translation>
+<translation id="6827422464708099620">နောက်ထပ်နည်းလမ်းများ မြင်ရရန် ရွေးပါ</translation>
 <translation id="6827517233063803343">သင်၏ Google အကောင့်ဖြင့် လက်မှတ်ထိုးဝင်ထားသော ChromeOS စက်အားလုံးတွင် သင့်အက်ပ်နှင့် ဆက်တင်များကို စင့်ခ်လုပ်ပါမည်။ ဘရောင်ဇာစင့်ခ်လုပ်ခြင်း ရွေးစရာများအတွက် <ph name="LINK_BEGIN" />Chrome ဆက်တင်များ<ph name="LINK_END" /> သို့သွားပါ။</translation>
 <translation id="6827767090350758381">၂၀၂၂ ခုနှစ်၊ ဒီဇင်ဘာလပြီးနောက် ‘Chrome အက်ပ်များ’ ၏ ဗားရှင်းဟောင်းများကို Windows စက်များတွင် ဖွင့်နိုင်မည်မဟုတ်ပါ။ ဗားရှင်းသစ် အပ်ဒိတ်လုပ်ရန် (သို့) ဤအက်ပ်ကို ဖယ်ရှားရန် သင်၏စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။</translation>
 <translation id="6828153365543658583">အောက်ပါ အသုံးပြုသူများအတွက် ဝင်ရောက်ခြင်းကို ကန့်သတ်မည်:</translation>
@@ -6818,6 +6859,7 @@
 <translation id="6868934826811377550">အသေးစိတ်များ ကြည့်ရန်</translation>
 <translation id="6871644448911473373">OCSP တုံ့ပြန်သူ: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">သင်ထည့်ထားသော စကားဝှက်ကို ဆာဗာမှ ငြင်းဆိုလိုက်သည်။</translation>
+<translation id="6873571253135628430">ဝဘ်ဆိုက်ခွင့်ပြုချက်များ ပြောင်းရန်</translation>
 <translation id="6876155724392614295">စက်ဘီး</translation>
 <translation id="6876469544038980967">အထောက်အကူ မဖြစ်ပါ</translation>
 <translation id="6878422606530379992">အာရုံခံကိရိယာများကို ခွင့်ပြုထားသည်</translation>
@@ -6958,6 +7000,7 @@
 <translation id="6993050154661569036">Chrome ဘရောင်ဇာကို အပ်ဒိတ်လုပ်နေသည်</translation>
 <translation id="6995899638241819463">ဒေတာကျိုးပေါက်မှုတွင် စကားဝှက်များ ဖော်ထုတ်ခံရသည့်အခါ သင့်ကို သတိပေးခြင်း</translation>
 <translation id="6995984090981858039">ChromeOS စက်၏ အချက်အလက်နှင့် ဒေတာကို ဖတ်နိုင်သည်</translation>
+<translation id="6996438701394974959">ပြသမှုနှင့် စာသားအရွယ်အစား ကြီးရန်</translation>
 <translation id="6997553674029032185">ဝဘ်ဆိုက်သို့ သွားရန်</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - လုပ်ဆောင်ချက်မှတ်တမ်း</translation>
 <translation id="6997707937646349884">သင်စက်ပစ္စည်းများပေါ်တွင်−</translation>
@@ -7078,6 +7121,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{အက်ပ်ကို ဖယ်ရှားရန်}other{အက်ပ်များကို ဖယ်ရှားရန်}}</translation>
 <translation id="7099337801055912064">ကြီးမားသည့် PPD ကို ဖွင့်၍မရပါ။ အကြီးဆုံးအရွယ်သည် ၂၅၀ KB ဖြစ်သည်။</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{ကျိုးပေါက်ထားသည့် စကားဝှက် မရှိပါ}=1{ကျိုးပေါက်ထားသည့် စကားဝှက် {COUNT} ခု}other{ကျိုးပေါက်ထားသည့် စကားဝှက် {COUNT} ခု}}</translation>
+<translation id="710047887584828070">ဤတဘ်၏အကြောင်းအရာကို ဝေမျှနေသည်</translation>
 <translation id="7102832101143475489">တောင်းဆိုချက် အချိန်ကုန်သွားသည်</translation>
 <translation id="710640343305609397">ကွန်ရက်ဆက်တင်များကို ဖွင့်ရန်</translation>
 <translation id="7107609441453408294">စပီကာအားလုံးမှ တူညီသည့် အသံကိုဖွင့်ပါ</translation>
@@ -7173,6 +7217,7 @@
 <translation id="719791532916917144">လက်ကွက်ဖြတ်လမ်းများ</translation>
 <translation id="7198503619164954386">လုပ်ငန်း စာရင်းသွင်းထားသော စက်ကို သုံးနေရပါမည်</translation>
 <translation id="7199158086730159431">အကူ&amp;အညီ ရယူပါ</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> သို့ ကာစ်လုပ်ခြင်း ခဏရပ်ရန်</translation>
 <translation id="7200083590239651963">စီစဉ်သတ်မှတ်မှုကို ရွေးချယ်ပါ</translation>
 <translation id="720110658997053098">ဤစက်ပစ္စည်းကို kiosk မုဒ်တွင် အမြဲတမ်းထားရန်</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ကို ဖျက်လိုက်ပါပြီ</translation>
@@ -7219,6 +7264,7 @@
 <translation id="7241389281993241388">ကျေးဇူးပြုပြီး သုံးသူလက်မှတ်ကို သွင်းယူရန် <ph name="TOKEN_NAME" /> သို့ လက်မှတ်ထိုးဝင်ပါ။</translation>
 <translation id="7241763419756062043">သင့်ရှာဖွေမှုနှင့် ကြည့်ရှုမှု အရည်အသွေး ရွေးချယ်ခြင်း</translation>
 <translation id="7243632151880336635">ရှင်းလင်းပြီး ထွက်ရန်</translation>
+<translation id="7245162963905242662">ဤစာမျက်နှာကို Google ဖြင့် ရှာရန်...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (အကောင်းဆုံး)</translation>
 <translation id="7246230585855757313">သင့်လုံခြုံရေးကီးကို ပြန်ထည့်ပြီး ထပ်စမ်းကြည့်ပါ</translation>
 <translation id="724835896049478274">Android အက်ပ်များအတွက် ရနိုင်သော အကောင့်များ</translation>
@@ -7400,6 +7446,7 @@
 <translation id="7400839060291901923">သင့် <ph name="PHONE_NAME" /> တွင် ချိတ်ဆက်မှုကို သတ်မှတ်ပါ</translation>
 <translation id="7401778920660465883">ဤ စာကို ပယ်ဖျက်ရန်</translation>
 <translation id="7402198013420237102">သိမ်းထားသော စကားဝှက်များကို သင်၏ Google Account သို့ ရွှေ့မလား။</translation>
+<translation id="740333000181878130">စက်ပစ္စည်းစတင်သံ</translation>
 <translation id="7403642243184989645">ရင်းမြစ်များ ဒေါင်းလုဒ်လုပ်နေသည်</translation>
 <translation id="7404065585741198296">USB ကြိုးဖြင့် သင့်ဖုန်း</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{ပြီးခဲ့သည့် ၁ နာရီက လုံခြုံရေးစစ်ဆေးခဲ့သည်}other{ပြီးခဲ့သည့် {NUM_HOURS} နာရီက လုံခြုံရေးစစ်ဆေးခဲ့သည်}}</translation>
@@ -7524,8 +7571,10 @@
 <translation id="7497981768003291373">သင့်ထံတွင် မကြာသေးခင်က မှတ်သားထားသည့် WebRTC စာသားမှတ်တမ်းများ မရှိပါ။</translation>
 <translation id="7501957181231305652">သို့မဟုတ်</translation>
 <translation id="7502220299952823578">“အမြဲဖွင့်ထားရမည့် ဝဘ်ဆိုက်များ” စာရင်းတွင် ထည့်ရန်</translation>
+<translation id="7502528909759062987">တဘ်ကို <ph name="DEVICE_NAME" /> သို့ ကာစ်လုပ်ခြင်း ခဏရပ်ရန်</translation>
 <translation id="7503191893372251637">Netscape လက်မှတ် အမျိုးအစား</translation>
 <translation id="7503985202154027481">သင်၏ လုံခြုံရေးကီးတွင် ဤဝဘ်ဆိုက်ကို ဖွင့်ကြည့်သည့် မှတ်တမ်းတစ်ခု ရှိနေပါမည်။</translation>
+<translation id="7504145862399276792">ဤတဘ်ကို အသံပိတ်ထားသည်</translation>
 <translation id="750509436279396091">ဒေါင်းလုဒ်များ၏ ဖိုလ်ဒါကို ဖွင့်ပေးရန်</translation>
 <translation id="7505149250476994901">စကားလုံးရှေ့တွင် "ကက်ပ်" ဟု ပြောပါ</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> ကို ဖျောက်ရန်</translation>
@@ -7765,6 +7814,7 @@
 <translation id="7701040980221191251">မရှိ</translation>
 <translation id="7701265686005869308">ပရိုဖိုင် ပိတ်မည်</translation>
 <translation id="7701869757853594372">အသုံးပြုသူ ကိုင်တွယ်</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> သို့ ကာစ်လုပ်ခြင်း ရပ်ရန်</translation>
 <translation id="7702574632857388784"><ph name="FILE_NAME" /> ကို စာရင်းထဲမှနေ၍ ဖယ်ရှားရန်</translation>
 <translation id="7702907602086592255">ဒိုမိန်း</translation>
 <translation id="7704305437604973648">တာဝန်</translation>
@@ -7884,6 +7934,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">စတင်ရန် စာမျက်နှာနောက်ခံကို <ph name="CATEGORY" /> သို့ ပြောင်းလိုက်သည်။</translation>
+<translation id="7791436592012979144">ပြောင်းပြန်လှိမ့်ခြင်း ဖွင့်ထားသည်</translation>
 <translation id="7791543448312431591">ထည့်ရန်</translation>
 <translation id="7792012425874949788">လက်မှတ်ထိုး ဝင်မှု ထဲမှာ တစ်ခုခု မှားသွားသည်</translation>
 <translation id="7792388396321542707">မျှဝေမှု ရပ်ရန်</translation>
@@ -8050,6 +8101,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% ပြီးပါပြီ</translation>
 <translation id="7939062555109487992">အဆင့်မြင့် ရွေးစရာများ</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> ကို ဖတ်ပြီးပြောင်းရန် ဤနောက်ဆက်တွဲ၏ သင်္ကေတကို နှိပ်နိုင်သည်</translation>
+<translation id="793923212791838">သင့်စက်ကို ဤဝဘ်ဆိုက်နှင့် သုံး၍မရပါ</translation>
 <translation id="7939328347457537652">စက်အသိအမှတ်ပြုခြင်းများကို စီမံရန်</translation>
 <translation id="7939412583708276221">မည်သို့ပင်ဖြစ်စေ သိမ်းရန်</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> အလိုက်စီရန်</translation>
@@ -8225,6 +8277,7 @@
 <translation id="8084114998886531721">သိမ်းဆည်းထားသော စကားဝှက်</translation>
 <translation id="8084510406207562688">တဘ်အားလုံး ပြန်&amp;ယူရန်</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> ကို စီစဉ်သတ်မှတ်နေသည် …</translation>
+<translation id="8086121155774250556">ဤတဘ်သည် သင့်စခရင်ကို မျှဝေနေသည်</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> ကို စနစ်ထည့်သွင်းရန်</translation>
 <translation id="8086610718778464681">Linux အက်ပ်နှင့် ဖိုင်များကို မိတ္တူကူး၍မရပါ</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{ဤဖိုင်ကို အသွင်ဝှက်ထားသည်။ ၎င်း၏ပိုင်ရှင်ကို ကုဒ်ဖော်ခိုင်းပါ။}other{ဤဖိုင်များအနက် အချို့ကို အသွင်ဝှက်ထားသည်။ ၎င်းတို့၏ပိုင်ရှင်ကို ကုဒ်ဖော်ခိုင်းပါ။}}</translation>
@@ -8527,6 +8580,7 @@
 <translation id="8345848587667658367">သင့်ဖုန်း၏ လတ်တလော ဓာတ်ပုံ၊ မီဒီယာ၊ အကြောင်းကြားချက်နှင့် အက်ပ်များကို ယခု ကြည့်နိုင်ပြီ</translation>
 <translation id="8347227221149377169">ပရင့်ထုတ်ရန် ဖိုင်များ</translation>
 <translation id="834785183489258869">ရုပ်ဖျက်မုဒ်သုံးနေစဉ် ဥပမာ- ကြော်ငြာများကို ပုဂ္ဂိုလ်ရေးသီးသန့်ပြုလုပ်ရန်အတွက် မတူညီသည့် ဝဘ်ဆိုက်များတစ်လျှောက်ရှိ သင့်ကြည့်ရှုခြင်းများကို မြင်ရရန် ဝဘ်ဆိုက်များက သင်၏ကွတ်ကီးများကို မသုံးနိုင်ပါ။ ဝဘ်ဆိုက်အချို့ရှိ ဝန်ဆောင်မှုများ အလုပ်မလုပ်နိုင်လောက်ပါ။</translation>
+<translation id="8349325309815489209">ဤဝဘ်ဆိုက်တွင် နောက်ဆက်တွဲများ ခွင့်ပြုထားသည်</translation>
 <translation id="8349826889576450703">Launcher</translation>
 <translation id="8350789879725387295">စတိုင်လပ်စ်တူးလ်များ နေရာချရန်</translation>
 <translation id="8351316842353540018">a11y ရွေးစရာများကို အမြဲပြရန်</translation>
@@ -8555,6 +8609,7 @@
 <translation id="8370294614544004647">လက်ပ်တော့ပိတ်လိုက်သည့်အခါ နားရန်</translation>
 <translation id="8371695176452482769">ယခုပြောပါ</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{ဝဘ်ဆိုက် ဖျောက်ထားရန်}other{ဝဘ်ဆိုက်များ ဖျောက်ထားရန်}}</translation>
+<translation id="8372441176515901959">တောင်းဆိုချက် ပယ်ရန်</translation>
 <translation id="8373652277231415614">Crostini မျှဝေထားသော ဖိုင်လမ်းညွှန်များ</translation>
 <translation id="8374243500935816406">သင့်ဖန်သားပြင်အားလုံးတွင် ဝင်းဒိုးများစီမံရန်အတွက် ဝဘ်ဆိုက်များကို ခွင့်မပြုရန်</translation>
 <translation id="8376137163494131156">Google Cast တွင် ဘာဖြစ်နေသည်ကို ပြောပြပါ။</translation>
@@ -8914,6 +8969,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> ကို မလုပ်တော့</translation>
 <translation id="8688672835843460752">ရနိုင်သည်</translation>
 <translation id="8690129572193755009">ပရိုတိုကောများ စီမံရန် ဝဘ်ဆိုက်များက ခွင့်တောင်းနိုင်သည်</translation>
+<translation id="869144235543261764">ဤတဘ်သည် ဗီဒီယိုကို နှစ်ခုထပ်၍ ကြည့်ခြင်းမုဒ်တွင် ဖွင့်နေသည်</translation>
 <translation id="8692107307702113268">စကားဝှက်က စာလုံးရေ ၁၀၀၀ ထက်များနေသည်</translation>
 <translation id="8694596275649352090">နားနေစဉ် (သို့) အဖုံးပိတ်ထားစဉ် လော့ခ်ချရန်</translation>
 <translation id="8695139659682234808">စနစ်ထည့်သွင်းပြီးပါက မိဘအထိန်းအချုပ်များထည့်ရန်</translation>
@@ -9147,6 +9203,7 @@
 <translation id="8877448029301136595">[မိဘ ဒါရိုက်ထရီ]</translation>
 <translation id="8879284080359814990">&amp;တဘ် အဖြစ် ပြရန်</translation>
 <translation id="8879921471468674457">လက်မှတ်ထိုးဝင်ခြင်း အချက်အလက်ကို မှတ်ထားရန်</translation>
+<translation id="8880009256105053174">ဤစာမျက်နှာကို Google ဖြင့် ရှာရန်...</translation>
 <translation id="8880054210564666174">အဆက်အသွယ်စာရင်းကို ဒေါင်းလုဒ်လုပ်၍မရပါ။ သင့်ကွန်ရက်ချိတ်ဆက်မှုကို စစ်ဆေးပါ (သို့) <ph name="LINK_BEGIN" />ထပ်စမ်းကြည့်ပါ<ph name="LINK_END" />။</translation>
 <translation id="8881020143150461183">ထပ်စမ်းကြည့်ပါ။ နည်းပညာအကူအညီအတွက် <ph name="CARRIER_NAME" /> ကို ဆက်သွယ်ပါ။</translation>
 <translation id="888256071122006425">မောက်စ်နှင့် တာ့ချ်ပက် ဆက်တင်များ</translation>
@@ -9411,6 +9468,7 @@
 <translation id="9102864637938129124">ဝဘ်ဆိုက်နှင့် ကြော်ငြာရှင်များက ကြော်ငြာလုပ်ဆောင်ပုံကို နားလည်နိုင်သည်။ ဤဆက်တင်ကို ဖွင့်ထားသည်။</translation>
 <translation id="9103479157856427471">စာရိုက်သည့်အတိုင်း ဇူးမ်ဆွဲထားသော ဖန်သားပြင်က လိုက်ပြသည်</translation>
 <translation id="9103868373786083162">မှတ်တမ်းကို ကြည့်ရန် နောက်ကိုသွား၊ ဆက်စပ် မီနူးကို နှိပ်ပါ</translation>
+<translation id="9107096627210171112">ဘာသာပြန်ရန်...</translation>
 <translation id="9108035152087032312">ဝင်းဒိုး အမည်ပေးရန်...</translation>
 <translation id="9108072915170399168">လက်ရှိဒေတာသုံးစွဲမှုဆက်တင်သည် အင်တာနက်မရှိဘဲသုံးရန်ဖြစ်သည်</translation>
 <translation id="9108294543511800041">သင့်ဖုန်း၏ လတ်တလော ဓာတ်ပုံ၊ မီဒီယာနှင့် အကြောင်းကြားချက်များကို ယခု ကြည့်နိုင်ပြီ</translation>
@@ -9567,6 +9625,7 @@
 <translation id="947329552760389097">&amp;စာမျက်နှာအတွင်းရှိ အရာများကို စစ်ဆေးရန်</translation>
 <translation id="947526284350604411">သင့်အဖြေ</translation>
 <translation id="947667444780368238">ဤဖိုင်တွဲတွင် စနစ်ဖိုင်များ ပါဝင်သဖြင့် <ph name="ORIGIN" /> က ၎င်းထဲရှိ ဖိုင်များကို ဖွင့်၍မရပါ</translation>
+<translation id="949807244219288032">ဤတဘ်ကို HID စက်ပစ္စည်းနှင့် ချိတ်ဆက်ထားသည်</translation>
 <translation id="950307215746360464">စနစ်ထည့်သွင်းမှု လမ်းညွှန်</translation>
 <translation id="951991426597076286">ပယ်ချရန်</translation>
 <translation id="952471655966876828">စက်ဖွင့်ထားသောအခါ (သို့) အသုံးပြုနေသောအခါ အလိုအလျောက် ချိတ်ဆက်ပါမည်</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 67ebd0e..a7deb69 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Geannuleerd</translation>
 <translation id="1022489261739821355">Wachtwoorden van je <ph name="BEGIN_LINK" />Google-account<ph name="END_LINK" /> bekijken</translation>
 <translation id="1022669824195822609">Je apparaat wordt beheerd door <ph name="DOMAIN" />. Beheerders hebben op dit apparaat toegang tot de gegevens van elk profiel.</translation>
+<translation id="1024734233509995696">Dit tabblad gebruikt je camera of microfoon</translation>
 <translation id="1026655690966755180">Poort toevoegen</translation>
 <translation id="1026822031284433028">Afbeelding laden</translation>
 <translation id="1026959648338730078">Windows Hello of externe beveiligingssleutel</translation>
@@ -191,6 +192,7 @@
 <translation id="1155816283571436363">Verbinding maken met je telefoon</translation>
 <translation id="1158080958325422608">Hoofdletters van maken</translation>
 <translation id="1158238185437008462">Herinneringen bekijken</translation>
+<translation id="1159879754517035595">Extensie-instellingen beheren</translation>
 <translation id="1160842321113409343">Ter bescherming van je privacy verwijderen we automatisch sites uit de lijst die ouder zijn dan 4 weken. Een site die je opnieuw bezoekt, kan weer op de lijst komen te staan. Je kunt ook sites verwijderen als je niet wilt dat deze interesses voor je definiëren.</translation>
 <translation id="1161575384898972166">Log in bij <ph name="TOKEN_NAME" /> om het klantcertificaat te exporteren.</translation>
 <translation id="116173250649946226">Je beheerder heeft een standaardthema ingesteld dat niet kan worden gewijzigd.</translation>
@@ -209,6 +211,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> bevat gevoelige of gevaarlijke gegevens. Je beheerder zegt: '<ph name="CUSTOM_MESSAGE" />'</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> wil verbinding maken met een HID-apparaat</translation>
 <translation id="1172750555846831341">Omslaan aan korte zijde</translation>
+<translation id="1173036203040243666">Dit tabblad is gekoppeld aan een bluetooth-apparaat</translation>
 <translation id="1173332155861271669">Gegevens van Passpoint-provider</translation>
 <translation id="1173894706177603556">Naam wijzigen</translation>
 <translation id="1174073918202301297">Snelkoppeling toegevoegd</translation>
@@ -314,6 +317,7 @@
 <translation id="1252987234827889034">Er is een profielfout opgetreden</translation>
 <translation id="1253664522045778676">Klik op een resultaat en de pagina wordt geopend in je actieve tabblad</translation>
 <translation id="1254593899333212300">Rechtstreekse internetverbinding</translation>
+<translation id="1256588359404100567">Instelling gesynchroniseerd vanaf je vorige apparaat.</translation>
 <translation id="1257336506558170607">Geselecteerd certificaat exporteren</translation>
 <translation id="1258491128795710625">Wat is er nieuw</translation>
 <translation id="1259152067760398571">Veiligheidscheck is gisteren uitgevoerd</translation>
@@ -658,6 +662,7 @@
 <translation id="1556537182262721003">Kan extensiedirectory niet verplaatsen naar profiel.</translation>
 <translation id="1558391695376153246">Incognitotabbladen sluiten</translation>
 <translation id="155865706765934889">Touchpad</translation>
+<translation id="1558671750917454373">Casten naar <ph name="DEVICE_NAME" /> hervatten</translation>
 <translation id="1562119309884184621">Als je dit contact toevoegt, wordt hij of zij onthouden voor de volgende keer dat het contact content deelt</translation>
 <translation id="1563137369682381456">Vervaldatum</translation>
 <translation id="1563702743503072935">Wachtwoorden uit je Google-account zijn ook beschikbaar voor gebruik op dit apparaat als je bent ingelogd</translation>
@@ -789,6 +794,7 @@
 <translation id="1648528859488547844">Wifi of mobiele netwerken gebruiken om de locatie te bepalen</translation>
 <translation id="164936512206786300">Bluetooth-apparaat ontkoppelen</translation>
 <translation id="1651008383952180276">Je moet twee keer dezelfde wachtwoordzin opgeven</translation>
+<translation id="1651609627703324721">Dit tabblad presenteert VR-content aan een headset</translation>
 <translation id="1652326691684645429">Dichtbij delen aanzetten</translation>
 <translation id="1654580009054503925">Geen toestemming om verzoeken te tonen</translation>
 <translation id="1656528038316521561">Ondoorzichtigheid van achtergrond</translation>
@@ -880,6 +886,7 @@
 <translation id="173522743738009831">Over Privacy Sandbox</translation>
 <translation id="173628468822554835">OK. Standaard sturen nieuwe sites die je bezoekt, je geen meldingen.</translation>
 <translation id="1737968601308870607">Bug indienen</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Selecteer dit om siterechten te wijzigen</translation>
 <translation id="1741190788710022490">Aangepast opladen</translation>
 <translation id="174123615272205933">Aangepast</translation>
 <translation id="1741314857973421784">Doorgaan</translation>
@@ -995,6 +1002,7 @@
 <translation id="18260074040409954">Je kunt opgeslagen wachtwoorden op elk apparaat gebruiken. Ze worden opgeslagen in <ph name="GOOGLE_PASSWORD_MANAGER" /> voor <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">De bookmarks, wachtwoorden, geschiedenis en meer van je Chrome-browser synchroniseren</translation>
 <translation id="1826516787628120939">Controleren</translation>
+<translation id="1826657447823925402">Omgekeerd scrollen staat uit</translation>
 <translation id="1827504459960247692">Naam hotspot</translation>
 <translation id="1828378091493947763">Deze plug-in wordt niet ondersteund op dit apparaat</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{Alles &amp;openen}=1{Bookmark &amp;openen}other{Alles &amp;openen ({COUNT})}}</translation>
@@ -1071,6 +1079,7 @@
 <translation id="1885066963699478692">XML-bestanden die worden gebruikt om het beleid in te stellen.</translation>
 <translation id="1885106732301550621">Schijfruimte</translation>
 <translation id="1886996562706621347">Websites laten vragen of je ze als de standaardhandler voor protocollen wilt instellen (aanbevolen)</translation>
+<translation id="1887210448491286312">Tabblad casten naar <ph name="DEVICE_NAME" /> stoppen</translation>
 <translation id="1887442540531652736">Fout bij inloggen</translation>
 <translation id="1887597546629269384">Zeg nog een keer 'Hey Google'</translation>
 <translation id="1889091146873278175">Klik op de knop G om meer zoekresultaten in een zijvenster te bekijken</translation>
@@ -1097,6 +1106,7 @@
 <translation id="1910908536872421421">Chrome for Testing v<ph name="BROWSER_VERSION" /> is alleen voor geautomatiseerde tests. Gebruik de standaardversie van Chrome die automatisch wordt geüpdatet voor normaal browsen.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">Ophangen</translation>
+<translation id="1915613305720536742">Ve&amp;rtalen</translation>
 <translation id="1915734383465415025">Winkelnummer</translation>
 <translation id="1916260783734263714">Huidig tabblad</translation>
 <translation id="1916502483199172559">Standaard rode avatar</translation>
@@ -1201,6 +1211,7 @@
 <translation id="2007404777272201486">Een probleem melden...</translation>
 <translation id="2009590708342941694">Tool Emoji</translation>
 <translation id="2010501376126504057">Geschikte apparaten</translation>
+<translation id="2012935757369720523">Bestand verwijderen</translation>
 <translation id="2013550551806600826">Probeer het uit. Zet de instelling aan of uit en scroll met 2 vingers op je touchpad in het testgebied. Je kunt deze optie ook later vinden via Instellingen &gt; Apparaat &gt; Muis en touchpad.</translation>
 <translation id="2015232545623037616">Pc en Chromecast op hetzelfde wifi-netwerk</translation>
 <translation id="2016473077102413275">Functies die afhankelijk zijn van afbeeldingen, werken niet</translation>
@@ -1282,6 +1293,7 @@
 <translation id="2081816110395725788">Inactieve stand bij batterijvoeding</translation>
 <translation id="2082187087049518845">Tabblad toevoegen aan groep</translation>
 <translation id="2082510809738716738">Kies een themakleur</translation>
+<translation id="2084891381052978619">Je vindt deze opties ook in Instellingen nadat je de Chromebook hebt ingesteld</translation>
 <translation id="208586643495776849">Probeer het opnieuw</translation>
 <translation id="208634871997892083">Always-on VPN</translation>
 <translation id="2087822576218954668">Afdrukken: <ph name="PRINT_NAME" /></translation>
@@ -1351,6 +1363,7 @@
 <translation id="212862741129535676">Bezettingspercentage van frequentiestatus</translation>
 <translation id="212876957201860463">Voorbereiden om je mobiele apparaat in te stellen…</translation>
 <translation id="2131077480075264">Kan <ph name="APP_NAME" /> niet installeren, omdat dit niet wordt toegestaan door <ph name="IMPORT_NAME" /></translation>
+<translation id="2133775869826239001">Meer functies kiezen om in te stellen</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> opnieuw proberen</translation>
 <translation id="2134905185275441536">Systeem-CA's</translation>
 <translation id="21354425047973905">Pincodes verbergen</translation>
@@ -1445,6 +1458,7 @@
 <translation id="2204020417499639567">E-mailadres ingevuld.</translation>
 <translation id="2204034823255629767">Alles lezen en wijzigen wat je typt</translation>
 <translation id="2204387456724731099">Deze selectie kan niet worden vertaald</translation>
+<translation id="2207116775853792104">Deze extensie behouden</translation>
 <translation id="2210462644007531147">Kan de installatie niet afronden</translation>
 <translation id="2211245494465528624">Synchronisatieopties beheren</translation>
 <translation id="2212565012507486665">Cookies toestaan</translation>
@@ -1769,6 +1783,7 @@
 <translation id="2458379781610688953">Account updaten, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Token voor apparaatbeheer is ongeldig.</translation>
 <translation id="2459703812219683497">Activeringscode waargenomen</translation>
+<translation id="2459706890611560967">Tabblad casten naar <ph name="DEVICE_NAME" /> hervatten</translation>
 <translation id="2460356425461033301">Maak een back-up van je browsergegevens en gebruik deze op elk apparaat.</translation>
 <translation id="2462332841984057083">Steam wordt al ingesteld. Wacht tot het instellen is afgerond.</translation>
 <translation id="2462724976360937186">Sleutel-ID van certificeringsinstantie</translation>
@@ -2615,10 +2630,12 @@
 <translation id="3194786596445804250">Details tonen over het blokkeren van cookies van derden</translation>
 <translation id="3197453258332670132">Gerelateerde informatie voor je tekstselectie bekijken door met de rechtermuisknop te klikken of de selectie lang ingedrukt te houden</translation>
 <translation id="3199127022143353223">Servers</translation>
+<translation id="3199637719075529971">Dit tabblad is gekoppeld aan een seriële poort</translation>
 <translation id="3200061262156232574">In je winkelwagentje</translation>
 <translation id="3201237270673604992">Z-A</translation>
 <translation id="3201422919974259695">Hier zie je beschikbare USB-apparaten.</translation>
 <translation id="3202131003361292969">Pad</translation>
+<translation id="3202499879214571401">Scherm casten naar <ph name="DEVICE_NAME" /> onderbreken</translation>
 <translation id="3202578601642193415">Nieuwste</translation>
 <translation id="3204648577100496185">Gegevens die aan deze app zijn gekoppeld, kunnen van dit apparaat worden verwijderd</translation>
 <translation id="3207960819495026254">Toegevoegd aan 'Bookmarks'</translation>
@@ -2931,6 +2948,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> toegang blijven geven tot je camera en microfoon</translation>
 <translation id="3479552764303398839">Niet nu</translation>
 <translation id="3479685872808224578">Kan de printerserver niet vinden. Controleer het adres en probeer het opnieuw.</translation>
+<translation id="3479753605053415848">Klik om Chrome aan te passen</translation>
 <translation id="3480612136143976912">Pas het formaat en de stijl voor Live ondertiteling aan. Sommige apps en sites maken ook gebruik van deze instelling.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> tabbladen gevonden</translation>
 <translation id="3481268647794498892">Wordt geopend in <ph name="ALTERNATIVE_BROWSER_NAME" /> over <ph name="COUNTDOWN_SECONDS" /> seconden</translation>
@@ -3013,6 +3031,7 @@
 <translation id="3557101512409028104">Stel websitebeperkingen en limieten voor schermtijd in met Family Link</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />Als je ChromeOS-apparaten toestaat ons automatische rapporten te sturen, kunnen we beter prioriteiten stellen voor wat in ChromeOS moet worden opgelost en verbeterd. Deze rapporten kunnen informatie bevatten zoals wanneer ChromeOS crasht, welke functies er zijn gebruikt en hoeveel geheugen er gewoonlijk wordt gebruikt.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Je kunt deze rapporten op elk moment toestaan of niet meer toestaan in de instellingen van het ChromeOS-apparaat van je kind. Als je domeinbeheerder bent, kun je deze instelling wijzigen in de Beheerdersconsole.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">Scherm casten naar <ph name="DEVICE_NAME" /> stoppen</translation>
 <translation id="3559262020195162408">Kan beleid niet op het apparaat installeren.</translation>
 <translation id="3559533181353831840">Nog ongeveer <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">&amp;Spellingcontrole</translation>
@@ -3179,6 +3198,7 @@
 <translation id="370415077757856453">JavaScript geblokkeerd</translation>
 <translation id="3704331259350077894">Activiteit gestaakt</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">Scherm casten naar <ph name="DEVICE_NAME" /> hervatten</translation>
 <translation id="3706463572498736864">Pagina's per blad</translation>
 <translation id="370649949373421643">Wifi aanzetten</translation>
 <translation id="370665806235115550">Bezig met laden...</translation>
@@ -3224,6 +3244,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" />-gegevens worden over 24 uur verwijderd</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> openen?</translation>
+<translation id="3740945083753997630">Weergave- en tekstgrootte verkleinen</translation>
 <translation id="3741056951918180319">Je kunt altijd op de extensie klikken om deze op een site te gebruiken</translation>
 <translation id="3742235229730461951">Koreaanse toetsenbordindeling</translation>
 <translation id="3742666961763734085">Kan geen organisatie-eenheid met die naam vinden. Probeer het opnieuw.</translation>
@@ -3393,6 +3414,7 @@
 <translation id="3867134342671430205">Sleep of gebruik de pijltoetsen om een scherm te verplaatsen</translation>
 <translation id="3867944738977021751">Certificaatvelden</translation>
 <translation id="3869917919960562512">Verkeerde index.</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> deselecteren</translation>
 <translation id="3870931306085184145">Geen opgeslagen wachtwoorden voor <ph name="DOMAIN" /></translation>
 <translation id="3871350334636688135">Na 24 uur voert je beheerder een update uit waarmee je lokale gegevens worden verwijderd wanneer je het apparaat opnieuw opstart. Sla lokale gegevens die je nodig hebt, binnen 24 uur op in de cloudopslag.</translation>
 <translation id="3872220884670338524">Meer acties, opgeslagen account voor <ph name="USERNAME" /> op <ph name="DOMAIN" /></translation>
@@ -3488,6 +3510,7 @@
 <translation id="3945513714196326460">Probeer een kortere naam</translation>
 <translation id="3948027458879361203">Hostnaam wijzigen</translation>
 <translation id="3948116654032448504">&amp;Afbeelding zoeken in <ph name="SEARCH_ENGINE" /></translation>
+<translation id="3948334586359655083">Dit tabblad speelt audio af</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> kan bestanden bewerken in de volgende mappen</translation>
 <translation id="394984172568887996">Geïmporteerd uit Internet Explorer</translation>
 <translation id="3950820424414687140">Inloggen</translation>
@@ -3546,6 +3569,7 @@
 <translation id="3987544746655539083">Toegang tot je locatie blijven blokkeren voor deze site</translation>
 <translation id="3987938432087324095">Sorry, dat heb ik niet verstaan.</translation>
 <translation id="3987993985790029246">Link kopiëren</translation>
+<translation id="3988124842897276887">Dit tabblad is gekoppeld aan een USB-apparaat</translation>
 <translation id="3988488665753590964">Aanpassen hoe kleuren op je scherm worden getoond</translation>
 <translation id="3988996860813292272">Tijdzone selecteren</translation>
 <translation id="399179161741278232">Geïmporteerd</translation>
@@ -3694,6 +3718,7 @@
 <translation id="4130207949184424187">Deze extensie heeft gewijzigd welke pagina wordt getoond wanneer je vanuit de omnibox zoekt.</translation>
 <translation id="4130750466177569591">Ik ga akkoord</translation>
 <translation id="413121957363593859">Componenten</translation>
+<translation id="4131283654370308898"><ph name="EXTENSION_NAME" /> toestaan op deze site</translation>
 <translation id="4131410914670010031">Zwart/wit</translation>
 <translation id="413193092008917129">Routines voor netwerkdiagnose</translation>
 <translation id="4132183752438206707">Apps zoeken in de Google Play Store</translation>
@@ -4051,6 +4076,7 @@
 <translation id="4444512841222467874">Als er geen ruimte beschikbaar wordt gemaakt, kunnen gebruikers en gegevens automatisch worden verwijderd.</translation>
 <translation id="4445446646109808714">Licentieovereenkomst voor eindgebruikers: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Gespiegeld</translation>
+<translation id="4448560527907365660">Opslaan en meer bekijken</translation>
 <translation id="4448914100439890108">Wachtwoord verbergen voor <ph name="USERNAME" /> op <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Rechten beheren</translation>
 <translation id="4449948729197510913">Je gebruikersnaam hoort bij het werkaccount van je organisatie. Als je apparaten wilt inschrijven bij het account, moet je eerst het domeineigendom verifiëren in de Beheerdersconsole. Je hebt beheerdersrechten voor het account nodig om te verifiëren.</translation>
@@ -4230,6 +4256,7 @@
 <translation id="4601426376352205922">Markeren als ongelezen</translation>
 <translation id="460190672235687855">Wachtwoorden bekijken</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> altijd toegang geven tot je camera en microfoon</translation>
+<translation id="4602776638371779614">Dit tabblad zoekt actief naar bluetooth-apparaten</translation>
 <translation id="4606551464649945562">Niet toestaan dat sites een 3D-kaart van je omgeving maken of de camerapositie volgen</translation>
 <translation id="4608500690299898628">&amp;Zoeken...</translation>
 <translation id="4610162781778310380">Er is een fout opgetreden in <ph name="PLUGIN_NAME" /></translation>
@@ -4412,6 +4439,7 @@
 <translation id="4770119228883592393">Rechten gevraagd, druk op ⌘ + Option + pijl-omlaag om te reageren</translation>
 <translation id="4773112038801431077">Linux upgraden</translation>
 <translation id="4774456473286455263">Instellen met je Android-telefoon</translation>
+<translation id="477548766361111120">Toestaan dat de extensie deze site leest en wijzigt</translation>
 <translation id="477647109558161443">Een snelkoppeling maken</translation>
 <translation id="4776594120007763294">Klik op de knop om een pagina toe te voegen voor later lezen</translation>
 <translation id="4777458362738635055">Andere gebruikers van dit apparaat kunnen dit netwerk gebruiken</translation>
@@ -5205,6 +5233,7 @@
 <translation id="5485102783864353244">App toevoegen</translation>
 <translation id="5485435764083510385">Voorkeurstaal voor ondertiteling</translation>
 <translation id="5485754497697573575">Herstel alle tabbladen</translation>
+<translation id="5486071940327595306">Voor <ph name="WEBSITE" /> heb je een nieuwer of ander soort apparaat nodig</translation>
 <translation id="5486261815000869482">Wachtwoord bevestigen</translation>
 <translation id="5486561344817861625">Opnieuw starten van browser simuleren</translation>
 <translation id="5487460042548760727">Naam van profiel wijzigen in <ph name="PROFILE_NAME" /></translation>
@@ -5557,6 +5586,7 @@
 <translation id="5799508265798272974">Virtuele Linux-machine: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Bestemmingsbestand is afgekapt of verwijderd sinds de laatste download.</translation>
 <translation id="5800351251499368110">Zoeken in zijvenster sluiten. Zoeken is geopend in het zijvenster.</translation>
+<translation id="5800703268655655701">Licht of donker thema selecteren</translation>
 <translation id="5801051031414037185">Telefoon instellen</translation>
 <translation id="5801568494490449797">Voorkeuren</translation>
 <translation id="5803689677801500549">Opgeslagen wachtwoorden worden hier getoond. <ph name="BEGIN_LINK" />Selecteer een csv-bestand<ph name="END_LINK" /> om wachtwoorden te importeren in <ph name="BRAND" /> voor <ph name="USER_EMAIL" />.</translation>
@@ -5672,6 +5702,7 @@
 <translation id="5889282057229379085">Maximum aantal tussenliggende certificeringsinstanties: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">Versleutel gesynchroniseerde gegevens met je eigen <ph name="BEGIN_LINK" />wachtwoordzin voor synchronisatie<ph name="END_LINK" />. Betaalmethoden en adressen van Google Pay worden niet versleuteld. De browsegeschiedenis in Chrome wordt niet gesynchroniseerd.</translation>
 <translation id="5891688036610113830">Wifi-netwerken met voorrang</translation>
+<translation id="5894056653502215961">Map <ph name="FOLDER_TITLE" /> deselecteren</translation>
 <translation id="5895138241574237353">Opnieuw starten</translation>
 <translation id="5895335062901455404">Je opgeslagen voorkeuren en activiteit zijn klaar voor gebruik op elk Chrome OS Flex-apparaat als je inlogt met je Google-account. Je kunt in de instellingen bepalen wat je wilt synchroniseren.</translation>
 <translation id="589541317545606110">Pagina zoeken met <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5743,6 +5774,7 @@
 <translation id="5948476936444935795">Importeren annuleren</translation>
 <translation id="5948536763493709626">Sluit een toetsenbord of muis aan of ga door met instellen via het touchscreen. Als je bluetooth-apparaten gebruikt, zorg je dat de apparaten klaar zijn voor koppelen.</translation>
 <translation id="5949544233750246342">Kan bestand niet parseren</translation>
+<translation id="5950762317146173294">Dit bestand is misschien een virus of malware</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> wil lokale lettertypen gebruiken</translation>
 <translation id="5951624318208955736">Monitor</translation>
 <translation id="595262438437661818">Er zijn geen extensies met toegang tot deze site</translation>
@@ -5826,6 +5858,7 @@
 <translation id="6022526133015258832">Openen in volledig scherm</translation>
 <translation id="6022659036123304283">Personaliseer Chrome voor jou</translation>
 <translation id="6023643151125006053">Dit apparaat (serienummer: <ph name="SERIAL_NUMBER" />) is vergrendeld door de beheerder van <ph name="SAML_DOMAIN" />.</translation>
+<translation id="6024072172641380781">Extensies toestaan op deze site</translation>
 <translation id="6025215716629925253">Stack-tracering</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: USB-apparaat verbonden</translation>
 <translation id="6027945736510816438">Bedoelde je <ph name="WEBSITE" />?</translation>
@@ -6108,6 +6141,7 @@
 <translation id="6268252012308737255">Openen met <ph name="APP" /></translation>
 <translation id="6270309713620950855">Porren voor dempen</translation>
 <translation id="6270391203985052864">Sites kunnen vragen of ze je meldingen mogen sturen</translation>
+<translation id="6270486800167535228">De extensie is vastgezet. Selecteer dit om meer opties te bekijken</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />Systeem- en app-gegevens<ph name="END_LINK1" /> en <ph name="BEGIN_LINK2" />statistieken<ph name="END_LINK2" /> verzenden</translation>
 <translation id="6270896861225278704">Kaart Trajecten</translation>
 <translation id="6271348838875430303">correctie ongedaan gemaakt</translation>
@@ -6188,6 +6222,7 @@
 <translation id="6344608411615208519">Je <ph name="BEGIN_LINK" />browser wordt beheerd<ph name="END_LINK" /> door je ouder</translation>
 <translation id="6345418402353744910">Je gebruikersnaam en wachtwoord zijn vereist voor de proxy <ph name="PROXY" /> zodat de beheerder je netwerk kan configureren</translation>
 <translation id="6345878117466430440">Markeren als gelezen</translation>
+<translation id="6346952829206698721">Plakken vanaf klembord</translation>
 <translation id="6347010704471250799">Melding bekijken</translation>
 <translation id="634887995541211148">Voer Bruschetta uit op je apparaat.</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> installeren</translation>
@@ -6473,6 +6508,7 @@
 <translation id="6596325263575161958">Opties voor versleuteling</translation>
 <translation id="6596816719288285829">IP-adres</translation>
 <translation id="6597017209724497268">Voorbeelden</translation>
+<translation id="6597324406048772521">Extensies niet toegestaan op deze site</translation>
 <translation id="6597331566371766302">De volgende extensies zijn geblokkeerd door je beheerder:</translation>
 <translation id="659894938503552850">nieuwste</translation>
 <translation id="6601262427770154296">Gebruikerswoordenboeken beheren</translation>
@@ -6490,6 +6526,7 @@
 <translation id="6609478180749378879">Nadat je de incognitomodus hebt afgesloten, worden de inloggegevens opgeslagen op dit apparaat. Je kunt later weer inloggen bij deze website met je apparaat.</translation>
 <translation id="6610002944194042868">Opties voor vertalen</translation>
 <translation id="6611972847767394631">Hier vind je je tabbladen</translation>
+<translation id="6613267708691765962">Scannen op malware...</translation>
 <translation id="6613668613087513143">Er is niet voldoende ruimte op dit apparaat beschikbaar om deze update af te ronden. Maak <ph name="NECESSARY_SPACE" /> vrij op je apparaat en probeer het opnieuw vanuit je Chrome-browser.</translation>
 <translation id="6615455863669487791">Tonen</translation>
 <translation id="6618097958368085618">Toch behouden</translation>
@@ -6738,6 +6775,7 @@
 <translation id="6825184156888454064">Sorteren op naam</translation>
 <translation id="6826872289184051766">Verifiëren via USB</translation>
 <translation id="6827121912381363404">Toestaan dat alle extensies <ph name="PERMITTED_SITE" /> lezen en wijzigen</translation>
+<translation id="6827422464708099620">Selecteer dit om meer opties te bekijken</translation>
 <translation id="6827517233063803343">Je apps en instellingen worden gesynchroniseerd voor alle Chrome OS-apparaten waarop je bent ingelogd met je Google-account. Ga naar de <ph name="LINK_BEGIN" />Chrome-instellingen<ph name="LINK_END" /> voor opties voor browsersynchronisatie.</translation>
 <translation id="6827767090350758381">Oude versies van Chrome-apps kunnen na december 2022 niet meer worden geopend op Windows-apparaten. Neem contact op met je beheerder als je wilt updaten naar een nieuwe versie of verwijder deze app.</translation>
 <translation id="6828153365543658583">Inloggen beperken tot de volgende gebruikers:</translation>
@@ -6801,6 +6839,7 @@
 <translation id="6868934826811377550">Details bekijken</translation>
 <translation id="6871644448911473373">OCSP-beantwoorder: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Het wachtwoord dat je hebt opgegeven, is afgewezen door de server.</translation>
+<translation id="6873571253135628430">Siterechten wijzigen</translation>
 <translation id="6876155724392614295">Fiets</translation>
 <translation id="6876469544038980967">Niet nuttig</translation>
 <translation id="6878422606530379992">Sensoren toegestaan</translation>
@@ -6940,6 +6979,7 @@
 <translation id="6993050154661569036">Chrome-browser updaten</translation>
 <translation id="6995899638241819463">Waarschuwen als je wachtwoorden zijn gelekt bij een gegevenslek</translation>
 <translation id="6995984090981858039">ChromeOS-apparaatinformatie en -gegevens lezen</translation>
+<translation id="6996438701394974959">Weergave- en tekstgrootte vergroten</translation>
 <translation id="6997553674029032185">Naar site</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Activiteitenlogboek</translation>
 <translation id="6997707937646349884">Op je apparaten:</translation>
@@ -7060,6 +7100,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{App verwijderen}other{Apps verwijderen}}</translation>
 <translation id="7099337801055912064">Grote PPD kan niet worden geladen. Maximum grootte is 250 KB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Geen gehackte wachtwoorden}=1{{COUNT} gehackt wachtwoord}other{{COUNT} gehackte wachtwoorden}}</translation>
+<translation id="710047887584828070">De content van dit tabblad wordt gedeeld</translation>
 <translation id="7102832101143475489">Er is een time-out voor het verzoek opgetreden</translation>
 <translation id="710640343305609397">Netwerkinstellingen openen</translation>
 <translation id="7107609441453408294">Dezelfde audio afspelen via alle speakers</translation>
@@ -7155,6 +7196,7 @@
 <translation id="719791532916917144">Sneltoets</translation>
 <translation id="7198503619164954386">Je moet een zakelijk ingeschreven apparaat gebruiken</translation>
 <translation id="7199158086730159431">H&amp;ulp vragen</translation>
+<translation id="7199452998289813782">Casten naar <ph name="DEVICE_NAME" /> onderbreken</translation>
 <translation id="7200083590239651963">Configuratie selecteren</translation>
 <translation id="720110658997053098">Dit apparaat permanent in kioskmodus houden</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' verwijderd</translation>
@@ -7201,6 +7243,7 @@
 <translation id="7241389281993241388">Log in bij <ph name="TOKEN_NAME" /> om het klantcertificaat te importeren.</translation>
 <translation id="7241763419756062043">Kies je zoek- en browsekwaliteit</translation>
 <translation id="7243632151880336635">Wissen en uitloggen</translation>
+<translation id="7245162963905242662">Zoe&amp;ken op deze pagina met Google...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (beste)</translation>
 <translation id="7246230585855757313">Plaats de beveiligingssleutel opnieuw en probeer het opnieuw.</translation>
 <translation id="724835896049478274">Beschikbare accounts voor Android-apps</translation>
@@ -7430,6 +7473,7 @@
 <translation id="7434509671034404296">Ontwikkelaar</translation>
 <translation id="7434757724413878233">Muisversnelling</translation>
 <translation id="7434969625063495310">Kan de printerserver niet toevoegen. Controleer de configuratie van de server en probeer het opnieuw.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Check 1 extensie die uit de Chrome Web Store is verwijderd}other{Check {NUM_EXTENSIONS} extensies die uit de Chrome Web Store zijn verwijderd}}</translation>
 <translation id="7436921188514130341">Asjemenou! Er is iets misgegaan bij het veranderen van de naam.</translation>
 <translation id="7439519621174723623">Voeg een apparaatnaam toe om door te gaan</translation>
 <translation id="7441736921018636843">Als je deze instelling wilt wijzigen, moet je de <ph name="BEGIN_LINK" />synchronisatie resetten<ph name="END_LINK" /> om de wachtwoordzin voor synchronisatie te verwijderen</translation>
@@ -7446,6 +7490,7 @@
 <translation id="7452166281927983300">Gesloten waarschuwingen (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Door het selecteren van deze printer geef je de volgende extensie rechten tot je printer:</translation>
 <translation id="7453467225369441013">Hiermee word je uitgelogd van de meeste sites. Je wordt niet uitgelogd van je Google-account.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Deze extensie is misschien onveilig. Chrome raadt je aan deze te verwijderen.}other{Deze extensies zijn misschien onveilig. Chrome raadt je aan deze te verwijderen.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Extra containers beheren</translation>
 <translation id="7455988709578031708">Gebaseerd op je browsegeschiedenis. Deze instelling staat aan.</translation>
@@ -7506,8 +7551,10 @@
 <translation id="7497981768003291373">Je hebt geen onlangs vastgelegde WebRTC-tekstlogboeken.</translation>
 <translation id="7501957181231305652">of</translation>
 <translation id="7502220299952823578">Toevoegen aan de lijst Deze sites altijd actief houden</translation>
+<translation id="7502528909759062987">Tabblad casten naar <ph name="DEVICE_NAME" /> onderbreken</translation>
 <translation id="7503191893372251637">Type Netscape-certificaat</translation>
 <translation id="7503985202154027481">Er wordt een record van je bezoek aan deze site geregistreerd in je beveiligingssleutel.</translation>
+<translation id="7504145862399276792">De audio van dit tabblad is uitgezet</translation>
 <translation id="750509436279396091">Map 'Downloads' openen</translation>
 <translation id="7505149250476994901">Eerst 'hoofdletter' zeggen vóór de letter</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> verbergen</translation>
@@ -7747,6 +7794,7 @@
 <translation id="7701040980221191251">Geen</translation>
 <translation id="7701265686005869308">Profiel sluiten</translation>
 <translation id="7701869757853594372">USER-handles</translation>
+<translation id="7702463352133825032">Casten naar <ph name="DEVICE_NAME" /> stoppen</translation>
 <translation id="7702574632857388784"><ph name="FILE_NAME" /> uit lijst verwijderen</translation>
 <translation id="7702907602086592255">Domein</translation>
 <translation id="7704305437604973648">Taak</translation>
@@ -7864,6 +7912,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Achtergrond van startpagina is gewijzigd in <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Omgekeerd scrollen staat aan</translation>
 <translation id="7791543448312431591">Toevoegen</translation>
 <translation id="7792012425874949788">Er is een fout opgetreden tijdens het inloggen</translation>
 <translation id="7792388396321542707">Delen stoppen</translation>
@@ -8030,6 +8079,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% klaar</translation>
 <translation id="7939062555109487992">Geavanceerde opties</translation>
 <translation id="7939073735115504773">Klik op het icoon van deze extensie om <ph name="HOST" /> te lezen en te wijzigen</translation>
+<translation id="793923212791838">Je apparaat kan niet worden gebruikt met deze site</translation>
 <translation id="7939328347457537652">Apparaatcertificaten beheren</translation>
 <translation id="7939412583708276221">Toch bewaren</translation>
 <translation id="7940265372707990269">Sorteren op <ph name="SORT_TYPE" /></translation>
@@ -8206,6 +8256,7 @@
 <translation id="8084114998886531721">Opgeslagen wachtwoord</translation>
 <translation id="8084510406207562688">Alle tabbladen her&amp;stellen</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> configureren...</translation>
+<translation id="8086121155774250556">Dit tabblad deelt je scherm</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> instellen</translation>
 <translation id="8086610718778464681">Kan geen back-up maken van Linux-apps en -bestanden</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Dit bestand is versleuteld. Vraag de eigenaar om het te ontsleutelen.}other{Sommige van deze bestanden zijn versleuteld. Vraag de eigenaar om deze te ontsleutelen.}}</translation>
@@ -8508,6 +8559,7 @@
 <translation id="8345848587667658367">Je kunt nu de recente foto's, media, meldingen en apps van je telefoon bekijken</translation>
 <translation id="8347227221149377169">Afdruktaken</translation>
 <translation id="834785183489258869">Als je de incognitomodus gebruikt, kunnen sites je cookies niet gebruiken om je browse-activiteit op verschillende sites te bekijken, bijvoorbeeld om advertenties te personaliseren. Functies op bepaalde sites werken misschien niet.</translation>
+<translation id="8349325309815489209">Extensies toegestaan op deze site</translation>
 <translation id="8349826889576450703">launcher</translation>
 <translation id="8350789879725387295">Stylustools in dock</translation>
 <translation id="8351316842353540018">Altijd A11y-opties bekijken</translation>
@@ -8536,6 +8588,7 @@
 <translation id="8370294614544004647">Slaapstand als de laptop wordt gesloten</translation>
 <translation id="8371695176452482769">Begin nu te spreken</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Geluid van site uitzetten}other{Geluid van sites uitzetten}}</translation>
+<translation id="8372441176515901959">Verzoek afwijzen</translation>
 <translation id="8373652277231415614">Gedeelde directory's voor Crostini</translation>
 <translation id="8374243500935816406">Niet toestaan dat sites vensters beheren op al je schermen</translation>
 <translation id="8376137163494131156">Vertel ons hoe goed Google Cast werkt.</translation>
@@ -8895,6 +8948,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> annuleren</translation>
 <translation id="8688672835843460752">Beschikbaar</translation>
 <translation id="8690129572193755009">Sites kunnen vragen of ze protocollen mogen verwerken</translation>
+<translation id="869144235543261764">Dit tabblad speelt een video in de scherm-in-scherm-modus af</translation>
 <translation id="8692107307702113268">Het wachtwoord is langer dan 1000 tekens</translation>
 <translation id="8694596275649352090">Vergrendelen in de slaapstand of als de klep is gesloten</translation>
 <translation id="8695139659682234808">Ouderlijk toezicht toevoegen na het instellen</translation>
@@ -9129,6 +9183,7 @@
 <translation id="8877448029301136595">[hoofddirectory]</translation>
 <translation id="8879284080359814990">Tonen al&amp;s tabblad</translation>
 <translation id="8879921471468674457">Inloggegevens onthouden</translation>
+<translation id="8880009256105053174">Zoe&amp;ken op deze pagina met Google...</translation>
 <translation id="8880054210564666174">Kan contactenlijst niet downloaden. Check je netwerkverbinding of <ph name="LINK_BEGIN" />probeer het opnieuw<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Probeer het opnieuw. Neem contact op met <ph name="CARRIER_NAME" /> voor technische support.</translation>
 <translation id="888256071122006425">Muis- en touchpadinstellingen</translation>
@@ -9393,6 +9448,7 @@
 <translation id="9102864637938129124">Sites en adverteerders krijgen inzicht in de prestaties van advertenties. Deze instelling staat aan.</translation>
 <translation id="9103479157856427471">Ingezoomd scherm volgt toetsenbordfocus</translation>
 <translation id="9103868373786083162">Druk op Terug &gt; contextmenu om de geschiedenis te bekijken</translation>
+<translation id="9107096627210171112">Ve&amp;rtalen...</translation>
 <translation id="9108035152087032312">&amp;Venster een naam geven...</translation>
 <translation id="9108072915170399168">De huidige instelling voor datagebruik is 'Zonder internet'</translation>
 <translation id="9108294543511800041">Je kunt nu de recente foto's, media en meldingen van je telefoon bekijken</translation>
@@ -9549,6 +9605,7 @@
 <translation id="947329552760389097">Elementen &amp;inspecteren</translation>
 <translation id="947526284350604411">Jouw antwoord</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> kan geen bestanden openen in deze map omdat deze systeembestanden bevat</translation>
+<translation id="949807244219288032">Dit tabblad is gekoppeld aan een HID-apparaat</translation>
 <translation id="950307215746360464">Instelgids</translation>
 <translation id="951991426597076286">Afwijzen</translation>
 <translation id="952471655966876828">Het apparaat maakt automatisch verbinding als het wordt aangezet en wordt gebruikt</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 2ebc319..c9c0fc78 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -319,6 +319,7 @@
 <translation id="1252987234827889034">Det oppsto en profilfeil</translation>
 <translation id="1253664522045778676">Klikk på et resultat, så åpnes siden i den gjeldende fanen</translation>
 <translation id="1254593899333212300">Direkte internettilkobling</translation>
+<translation id="1256588359404100567">Innstillingen er synkronisert fra den forrige enheten din.</translation>
 <translation id="1257336506558170607">Eksporter det valgte sertifikatet</translation>
 <translation id="1258491128795710625">Hva er nytt?</translation>
 <translation id="1259152067760398571">Sikkerhetssjekken ble kjørt i går</translation>
@@ -1007,6 +1008,7 @@
 <translation id="18260074040409954">Du kan bruke lagrede passord på alle enheter. De lagres i <ph name="GOOGLE_PASSWORD_MANAGER" /> for <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Synkroniser blant annet bokmerkene, passordene og loggen i Chrome-nettleseren</translation>
 <translation id="1826516787628120939">Kontrollerer</translation>
+<translation id="1826657447823925402">Omvendt rulling er deaktivert</translation>
 <translation id="1827504459960247692">Navn på wifi-sonen</translation>
 <translation id="1828378091493947763">Dette programtillegget støttes ikke på denne enheten</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Åpne alle}=1{&amp;Åpne bokmerket}other{&amp;Åpne alle ({COUNT})}}</translation>
@@ -1297,6 +1299,7 @@
 <translation id="2081816110395725788">Inaktivitet ved batteridrift</translation>
 <translation id="2082187087049518845">Gruppér fane</translation>
 <translation id="2082510809738716738">Velg en temafarge</translation>
+<translation id="2084891381052978619">Du finner også disse alternativene i innstillingene når du har konfigurert Chromebooken</translation>
 <translation id="208586643495776849">Prøv på nytt</translation>
 <translation id="208634871997892083">Alltid-på-VPN</translation>
 <translation id="2087822576218954668">Skriv ut: <ph name="PRINT_NAME" /></translation>
@@ -1366,6 +1369,7 @@
 <translation id="212862741129535676">Utnyttelsesgrad for frekvenstilstand</translation>
 <translation id="212876957201860463">Forbereder konfigureringen av mobilenheten din …</translation>
 <translation id="2131077480075264">Kunne ikke installere «<ph name="APP_NAME" />» fordi det ikke er tillatt av «<ph name="IMPORT_NAME" />»</translation>
+<translation id="2133775869826239001">Velg flere funksjoner du vil konfigurere</translation>
 <translation id="2133857665503360653">Prøv å laste ned <ph name="FILE_NAME" /> på nytt</translation>
 <translation id="2134905185275441536">System-CA-er</translation>
 <translation id="21354425047973905">Skjul PIN-koder</translation>
@@ -1461,6 +1465,7 @@
 <translation id="2204020417499639567">E-postadresse er fylt ut.</translation>
 <translation id="2204034823255629767">lese og endre alt du skriver</translation>
 <translation id="2204387456724731099">Den merkede teksten kunne ikke oversettes</translation>
+<translation id="2207116775853792104">Behold denne utvidelsen</translation>
 <translation id="2210462644007531147">Kunne ikke fullføre installasjonen</translation>
 <translation id="2211245494465528624">Administrer alternativer for synkronisering</translation>
 <translation id="2212565012507486665">Tillat informasjonskapsler</translation>
@@ -2954,6 +2959,7 @@
 <translation id="347785443197175480">Fortsett å gi <ph name="HOST" /> tillatelse til å bruke kameraet og mikrofonen</translation>
 <translation id="3479552764303398839">Ikke nå</translation>
 <translation id="3479685872808224578">Fant ikke utskriftstjeneren. Kontroller adressen og prøv igjen.</translation>
+<translation id="3479753605053415848">Klikk for å tilpasse Chrome</translation>
 <translation id="3480612136143976912">Tilpass størrelse og stil for direkteteksting. Noen apper og nettsteder bruker også denne innstillingen.</translation>
 <translation id="3480827850068960424">Fant <ph name="NUM" /> faner</translation>
 <translation id="3481268647794498892">Åpnes i <ph name="ALTERNATIVE_BROWSER_NAME" /> om <ph name="COUNTDOWN_SECONDS" /> sekunder</translation>
@@ -3250,6 +3256,7 @@
 <translation id="3738632186060045350">Dataene på <ph name="DEVICE_TYPE" /> blir slettet om 24 timer</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Vil du åpne <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Senk visnings- og tekststørrelsen</translation>
 <translation id="3741056951918180319">Du kan alltid klikke på utvidelsen for å bruke den på hvilke som helst nettsteder</translation>
 <translation id="3742235229730461951">Oppsett for koreansk tastatur</translation>
 <translation id="3742666961763734085">Finner ikke noen organisasjonsenhet med det navnet. Prøv på nytt.</translation>
@@ -4080,6 +4087,7 @@
 <translation id="4444512841222467874">Hvis du ikke frigjør lagringsplass, kan det hende brukere og data blir fjernet automatisk.</translation>
 <translation id="4445446646109808714">Lisensavtale for sluttbruker: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Speilt</translation>
+<translation id="4448560527907365660">Lagre og se mer</translation>
 <translation id="4448914100439890108">Skjul passord for <ph name="USERNAME" /> på <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Administrer tillatelser</translation>
 <translation id="4449948729197510913">Brukernavnet ditt tilhører bedriftskontoen til organisasjonen din. For å registrere enheter på kontoen må du først verifisere at du er domeneeieren, i administrasjonskonsollen. Du trenger administratorrettigheter på kontoen for å verifisere.</translation>
@@ -5237,6 +5245,7 @@
 <translation id="5485102783864353244">Legg til appen</translation>
 <translation id="5485435764083510385">Foretrukket språk for teksting</translation>
 <translation id="5485754497697573575">Gjenopprett alle faner</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> krever kanskje en nyere eller en annen type enhet</translation>
 <translation id="5486261815000869482">Bekreft passordet</translation>
 <translation id="5486561344817861625">Simuler omstart av nettleseren</translation>
 <translation id="5487460042548760727">Endre profilnavnet til <ph name="PROFILE_NAME" /></translation>
@@ -5592,6 +5601,7 @@
 <translation id="5799508265798272974">Virtuell Linux-maskin: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Målfilen har blitt komprimert eller fjernet siden siste nedlasting</translation>
 <translation id="5800351251499368110">Lukk søket i sidepanelet. Søket er åpent i sidepanelet.</translation>
+<translation id="5800703268655655701">Velg lyst eller mørkt tema</translation>
 <translation id="5801051031414037185">Konfigurer telefonen</translation>
 <translation id="5801568494490449797">Innstillinger</translation>
 <translation id="5803689677801500549">Lagrede passord vises her. For å importere passord til <ph name="BRAND" /> for <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />velg en CSV-fil<ph name="END_LINK" />.</translation>
@@ -6987,6 +6997,7 @@
 <translation id="6993050154661569036">Oppdaterer Chrome-nettleseren</translation>
 <translation id="6995899638241819463">Få en advarsel hvis passord blir avdekket i databrudd</translation>
 <translation id="6995984090981858039">lese ChromeOS-enhetsinformasjon og -data</translation>
+<translation id="6996438701394974959">Øk visnings- og tekststørrelsen</translation>
 <translation id="6997553674029032185">Gå til nettstedet</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – aktivitetslogg</translation>
 <translation id="6997707937646349884">På enhetene dine:</translation>
@@ -7481,6 +7492,7 @@
 <translation id="7434509671034404296">Utvikler</translation>
 <translation id="7434757724413878233">Museakselerasjon</translation>
 <translation id="7434969625063495310">Kunne ikke legge til utskriftstjeneren. Kontroller tjenerens konfigurasjon, og prøv på nytt.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Gjennomgå 1 utvidelse som er fjernet fra Chrome Nettmarked}other{Gjennomgå {NUM_EXTENSIONS} utvidelser som er fjernet fra Chrome Nettmarked}}</translation>
 <translation id="7436921188514130341">Æsj! Det oppsto en feil under navneendringen.</translation>
 <translation id="7439519621174723623">Legg til et enhetsnavn for å fortsette</translation>
 <translation id="7441736921018636843">For å endre denne innstillingen, <ph name="BEGIN_LINK" />tilbakestill synkronisering<ph name="END_LINK" /> for å fjerne passordfrasen din for synkronisering</translation>
@@ -7497,6 +7509,7 @@
 <translation id="7452166281927983300">Avviste varsler (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Ved å velge denne skriveren gir du følgende utvidelse tillatelse til å bruke skriveren din:</translation>
 <translation id="7453467225369441013">Logger deg av de fleste nettsteder. Du blir ikke logget av Google-kontoen din.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Denne utvidelsen kan være utrygg. Chrome anbefaler at du fjerner den.}other{Disse utvidelsene kan være utrygge. Chrome anbefaler at du fjerner dem.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Administrer tilleggsbeholdere</translation>
 <translation id="7455988709578031708">Basert på nettleserloggen din. Denne innstillingen er på.</translation>
@@ -7920,6 +7933,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Bakgrunnen for startsiden er endret til <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Omvendt rulling er aktivert</translation>
 <translation id="7791543448312431591">Legg til</translation>
 <translation id="7792012425874949788">Noe gikk galt under påloggingen</translation>
 <translation id="7792388396321542707">Stopp deling</translation>
@@ -8086,6 +8100,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> % fullført</translation>
 <translation id="7939062555109487992">Avanserte alternativer</translation>
 <translation id="7939073735115504773">Klikk på ikonet for denne utvidelsen for å lese og endre <ph name="HOST" /></translation>
+<translation id="793923212791838">Enheten din kan ikke brukes med dette nettstedet</translation>
 <translation id="7939328347457537652">Administrer enhetssertifikater</translation>
 <translation id="7939412583708276221">Behold uansett</translation>
 <translation id="7940265372707990269">Sorter etter <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index 02b4912..06fd5bfe 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -524,6 +524,7 @@
 <translation id="1448779317883494811">ବ୍ରସ ଟୁଲ</translation>
 <translation id="1449191289887455076">ଏହି ଆସାଇନମେଣ୍ଟକୁ ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ ପୁଣି “<ph name="CURRENTKEY" />”କୁ ଦବାନ୍ତୁ ଏବଂ <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">ୱେବ୍‍ପୃଷ୍ଠା, ଗୋଟିଏ ଫାଇଲ୍</translation>
+<translation id="145280054552001290">କେପସନରେ ଭାଷା ଯୋଗ କରି କାଢ଼ି ଦିଅନ୍ତୁ</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />
     ଡିବଗ୍ ଲଗ୍<ph name="END_LINK" /> ପଠାନ୍ତୁ (ସୁପାରିଶ କରାଯାଇଛି)</translation>
 <translation id="1454223536435069390">ସ୍କ୍ରିନ୍‌ସଟ୍ ନି&amp;ଅନ୍ତୁ</translation>
@@ -3584,6 +3585,7 @@
 <translation id="4044612648082411741">ଆପଣଙ୍କ ସାର୍ଟିଫିକେଟ୍‌‍ର ପାସ୍‍ୱାର୍ଡ ଲେଖନ୍ତୁ</translation>
 <translation id="4044708573046946214">ସ୍କ୍ରିନ୍ ଲକ୍ ପାସୱାର୍ଡ</translation>
 <translation id="404493185430269859">ଡିଫଲ୍ଟ ସର୍ଚ୍ଚ ଇଞ୍ଜିନ୍</translation>
+<translation id="4045196801416070837">ଡିଭାଇସ ସାଉଣ୍ଡଗୁଡ଼ିକ</translation>
 <translation id="4046013316139505482">ଏହି ଏକ୍ସଟେନସେନଗୁଡ଼ିକୁ ଏହି ସାଇଟରେ ସୂଚନା ଦେଖିବା ଏବଂ ପରିବର୍ତ୍ତନ କରିବାର ଆବଶ୍ୟକତା ନାହିଁ।</translation>
 <translation id="4046123991198612571">ପରବର୍ତ୍ତୀ ଟ୍ରାକ୍</translation>
 <translation id="4047345532928475040">N/A</translation>
@@ -5180,6 +5182,7 @@
 <translation id="5481941284378890518">ନିକଟସ୍ଥ ପ୍ରିଣ୍ଟର୍‌ ଯୋଗ କରନ୍ତୁ</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{ଆପଣ ଆପଣଙ୍କ ଡାଟାର ବ୍ୟାକଅପ୍ ନେଇ ଏହି <ph name="DEVICE_TYPE" />କୁ ଆଜି ଫେରସ୍ତ କରନ୍ତୁ ବୋଲି <ph name="MANAGER" /> ଆବଶ୍ୟକ କରେ। <ph name="LINK_BEGIN" />ବିବରଣୀ ଦେଖନ୍ତୁ<ph name="LINK_END" />}other{ଆପଣ ଆପଣଙ୍କ ଡାଟାର ବ୍ୟାକଅପ୍ ନେଇ ଏହି <ph name="DEVICE_TYPE" />କୁ {NUM_DAYS} ଦିନ ଭିତରେ ଫେରସ୍ତ କରନ୍ତୁ ବୋଲି <ph name="MANAGER" /> ଆବଶ୍ୟକ କରେ। <ph name="LINK_BEGIN" />ବିବରଣୀ ଦେଖନ୍ତୁ<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">ଆପ୍‌ ଯୋଗ କରନ୍ତୁ</translation>
+<translation id="5485435764083510385">ପସନ୍ଦର କେପସନ ଭାଷା</translation>
 <translation id="5485754497697573575">ସମସ୍ତ ଟାବ୍ ପୁନଃସ୍ଥାପନ କରନ୍ତୁ</translation>
 <translation id="5486261815000869482">ପାସ୍‌ୱାର୍ଡ ସୁନିଶ୍ଚିତ କରନ୍ତୁ</translation>
 <translation id="5486561344817861625">ବ୍ରାଉଜର୍ ରିଷ୍ଟାର୍ଟ ଅନୁକରଣ କରନ୍ତୁ</translation>
@@ -7353,6 +7356,7 @@
 <translation id="7400839060291901923">ଆପଣଙ୍କର <ph name="PHONE_NAME" />ରେ ସଂଯୋଗ ସେଟ୍ ଅପ୍ କରନ୍ତୁ</translation>
 <translation id="7401778920660465883">ଏହି ମେସେଜ୍ ଖାରଜ କରନ୍ତୁ</translation>
 <translation id="7402198013420237102">ସେଭ କରାଯାଇଥିବା ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟକୁ ମୁଭ କରିବେ?</translation>
+<translation id="740333000181878130">ଡିଭାଇସ ଷ୍ଟାର୍ଟଅପ ସାଉଣ୍ଡ</translation>
 <translation id="7403642243184989645">ରିସୋର୍ସଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ କରାଯାଉଛି</translation>
 <translation id="7404065585741198296">ଏକ USB କେବୁଲ୍ ସହ ଆପଣଙ୍କ ଫୋନ୍</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{ସୁରକ୍ଷା ଯାଞ୍ଚ 1 ଘଣ୍ଟା ପୂର୍ବେ ଚାଲିଥିଲା}other{ସୁରକ୍ଷା ଯାଞ୍ଚ {NUM_HOURS} ଘଣ୍ଟା ପୂର୍ବେ ଚାଲିଥିଲା}}</translation>
@@ -8405,7 +8409,7 @@
 <translation id="8275080796245127762">ଆପଣଙ୍କର ଡିଭାଇସ୍‍ରୁ କଲ୍ କରନ୍ତୁ</translation>
 <translation id="8275339871947079271">ଆପଣ ଯେଉଁଠାରେ ସାଇନ୍ ଇନ୍ କରିଛନ୍ତି ସେଠାରେ ସୁରକ୍ଷିତ ଭାବରେ ଆପଣଙ୍କ ପାସୱାର୍ଡକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଏହାକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟକୁ ମୁଭ୍ କରନ୍ତୁ</translation>
 <translation id="8276560076771292512">କେଚ୍ ଓ ହାର୍ଡ ରିଲୋଡ୍ ଖାଲି କରନ୍ତୁ</translation>
-<translation id="8281886186245836920">ଛାଡ଼ିଦିଅନ୍ତୁ</translation>
+<translation id="8281886186245836920">ବାଦ ଦିଅନ୍ତୁ</translation>
 <translation id="8284279544186306258">ସମସ୍ତ <ph name="WEBSITE_1" /> ସାଇଟ୍</translation>
 <translation id="8284326494547611709">କ୍ୟାପସନ୍</translation>
 <translation id="8286036467436129157">ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index 0edad74..68b2244 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">ਪ੍ਰੋਫਾਈਲ ਗੜਬੜ ਵਾਪਰ ਗਈ</translation>
 <translation id="1253664522045778676">ਕਿਸੇ ਨਤੀਜੇ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ ਪੰਨਾ ਤੁਹਾਡੀ ਮੌਜੂਦਾ ਟੈਬ 'ਤੇ ਖੁੱਲ੍ਹੇਗਾ</translation>
 <translation id="1254593899333212300">ਸਿੱਧਾ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ</translation>
+<translation id="1256588359404100567">ਸੈਟਿੰਗ ਨੂੰ ਤੁਹਾਡੇ ਪਿਛਲੇ ਡੀਵਾਈਸ ਤੋਂ ਸਿੰਕ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="1257336506558170607">ਚੁਣੇ ਗਏ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ</translation>
 <translation id="1258491128795710625">ਨਵਾਂ ਕੀ ਹੈ</translation>
 <translation id="1259152067760398571">ਸੁਰੱਖਿਆ ਜਾਂਚ ਕੱਲ੍ਹ ਚਲਾਈ ਗਈ ਸੀ</translation>
@@ -1007,6 +1008,7 @@
 <translation id="18260074040409954">ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਡੀਵਾਈਸ 'ਤੇ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਵਰਤ ਸਕਦੇ ਹੋ। ਉਨ੍ਹਾਂ ਨੂੰ <ph name="EMAIL" /> ਲਈ <ph name="GOOGLE_PASSWORD_MANAGER" /> 'ਤੇ ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਹੈ।</translation>
 <translation id="1826192255355608658">ਆਪਣੇ Chrome ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਬੁੱਕਮਾਰਕਾਂ, ਪਾਸਵਰਡਾਂ ਅਤੇ ਇਤਿਹਾਸ ਅਤੇ ਹੋਰ ਵੀ ਬਹੁਤ ਕੁਝ ਦਾ ਸਿੰਕ ਕਰੋ</translation>
 <translation id="1826516787628120939">ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ</translation>
+<translation id="1826657447823925402">ਉਲਟ ਸਕ੍ਰੋਲਿੰਗ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="1827504459960247692">ਹੌਟਸਪੌਟ ਦਾ ਨਾਮ</translation>
 <translation id="1828378091493947763">ਇਹ ਪਲੱਗਇਨ ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;ਸਾਰੇ ਖੋਲ੍ਹੋ}=1{&amp;ਬੁੱਕਮਾਰਕ ਖੋਲ੍ਹੋ}other{&amp;ਸਾਰੇ ({COUNT}) ਖੋਲ੍ਹੋ}}</translation>
@@ -1295,6 +1297,7 @@
 <translation id="2081816110395725788">ਬੈਟਰੀ ਚਾਰਜ ਨਾ ਹੋਣ ਦੌਰਾਨ ਸਲੀਪ ਮੋਡ 'ਤੇ ਜਾਓ</translation>
 <translation id="2082187087049518845">ਟੈਬ ਨੂੰ ਗਰੁੱਪਬੱਧ ਕਰੋ</translation>
 <translation id="2082510809738716738">ਕੋਈ ਥੀਮ ਰੰਗ ਚੁਣੋ</translation>
+<translation id="2084891381052978619">ਤੁਸੀਂ ਆਪਣੀ Chromebook ਦਾ ਸੈੱਟਅੱਪ ਪੂਰਾ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਵੀ ਇਨ੍ਹਾਂ ਵਿਕਲਪਾਂ ਨੂੰ ਲੱਭ ਸਕਦੇ ਹੋ</translation>
 <translation id="208586643495776849">ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
 <translation id="208634871997892083">ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN</translation>
 <translation id="2087822576218954668">ਪ੍ਰਿੰਟ: <ph name="PRINT_NAME" /></translation>
@@ -1364,6 +1367,7 @@
 <translation id="212862741129535676">ਬਾਰੰਬਾਰਤਾ ਸਥਿਤੀ ਅਧਿਕਾਰ ਫ਼ੀਸਦ</translation>
 <translation id="212876957201860463">ਤੁਹਾਡੇ ਸੈਲਿਊਲਰ ਡੀਵਾਈਸ ਦੇ ਸੈੱਟਅੱਪ ਦੀ ਤਿਆਰੀ ਹੋ ਰਹੀ ਹੈ...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ ਕਿਉਂਕਿ "<ph name="IMPORT_NAME" />" ਵੱਲੋਂ ਇਸਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ</translation>
+<translation id="2133775869826239001">ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਚੁਣੋ</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> ਨੂੰ ਖੋਲ੍ਹਣ ਦੀ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
 <translation id="2134905185275441536">ਸਿਸਟਮ CA</translation>
 <translation id="21354425047973905">ਪਿੰਨਾਂ ਲੁਕਾਓ</translation>
@@ -2946,6 +2950,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> ਨੂੰ ਆਪਣੇ ਕੈਮਰੇ ਅਤੇ ਮਾਈਕ੍ਰੋਫੋਨ ਤੇ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦੇਣਾ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="3479552764303398839">ਹੁਣ ਨਹੀਂ</translation>
 <translation id="3479685872808224578">ਪ੍ਰਿੰਟ ਸਰਵਰ ਨਹੀਂ ਮਿਲਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਪਤੇ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
+<translation id="3479753605053415848">Chrome ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ</translation>
 <translation id="3480612136143976912">ਲਾਈਵ ਸੁਰਖੀਆਂ ਲਈ ਸੁਰਖੀ ਦੇ ਆਕਾਰ ਅਤੇ ਸਟਾਈਲ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ। ਕੁਝ ਐਪਾਂ ਅਤੇ ਸਾਈਟਾਂ ਵੀ ਇਸ ਸੈਟਿੰਗ ਨੂੰ ਵਰਤਣਗੀਆਂ।</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> ਟੈਬਾਂ ਮਿਲੀਆਂ</translation>
 <translation id="3481268647794498892"><ph name="COUNTDOWN_SECONDS" /> ਸਕਿੰਟਾਂ ਤੱਕ <ph name="ALTERNATIVE_BROWSER_NAME" /> ਵਿੱਚ ਖੁੱਲ੍ਹ ਰਿਹਾ ਹੈ</translation>
@@ -3239,6 +3244,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> ਡਾਟਾ 24 ਘੰਟਿਆਂ ਦੇ ਅੰਦਰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">ਕੀ <ph name="APPLICATION" /> ਨੂੰ ਖੋਲ੍ਹਣਾ ਹੈ?</translation>
+<translation id="3740945083753997630">ਡਿਸਪਲੇ ਅਤੇ ਲਿਖਤ ਦਾ ਆਕਾਰ ਘਟਾਓ</translation>
 <translation id="3741056951918180319">ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਕਿਸੇ ਵੀ ਸਾਈਟ 'ਤੇ ਵਰਤਣ ਲਈ, ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਉਸ 'ਤੇ ਕਲਿੱਕ ਕਰ ਸਕਦੇ ਹੋ</translation>
 <translation id="3742235229730461951">ਕੋਰੀਆਈ ਕੀ-ਬੋਰਡ ਖਾਕਾ</translation>
 <translation id="3742666961763734085">ਇਸ ਨਾਮ ਦੀ ਕੋਈ ਸੰਸਥਾਗਤ ਇਕਾਈ ਨਹੀਂ ਲੱਭੀ ਜਾ ਸਕਦੀ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
@@ -4067,6 +4073,7 @@
 <translation id="4444512841222467874">ਜੇਕਰ ਜਗ੍ਹਾ ਉਪਲਬਧ ਨਹੀਂ ਕਰਵਾਈ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਵਰਤੋਂਕਾਰਾਂ ਅਤੇ ਡਾਟੇ ਨੂੰ ਆਪਣੇ ਆਪ ਹਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।</translation>
 <translation id="4445446646109808714">ਵਰਤੋਂਕਾਰ ਦਾ ਲਾਇਸੰਸ ਇਕਰਾਰਨਾਮਾ: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">ਮਿਰਰ ਕੀਤਾ</translation>
+<translation id="4448560527907365660">ਰੱਖਿਅਤ ਕਰੋ ਅਤੇ ਹੋਰ ਦੇਖੋ</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> 'ਤੇ <ph name="USERNAME" /> ਲਈ ਪਾਸਵਰਡ ਲੁਕਾਓ</translation>
 <translation id="4449247303975391730">ਇਜਾਜ਼ਤਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="4449948729197510913">ਤੁਹਾਡਾ ਵਰਤੋਂਕਾਰ ਨਾਮ ਤੁਹਾਡੀ ਸੰਸਥਾ ਦੇ ਐਂਟਰਪ੍ਰਾਈਜ਼ ਖਾਤੇ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ। ਡੀਵਾਈਸਾਂ ਨੂੰ ਖਾਤੇ ਵਿੱਚ ਦਰਜ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਪ੍ਰਸ਼ਾਸਕੀ ਕੰਸੋਲ ਵਿੱਚ ਡੋਮੇਨ ਦੀ ਮਲਕੀਅਤ ਬਾਰੇ ਪੁਸ਼ਟੀ ਕਰੋ। ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਖਾਤੇ 'ਤੇ ਪ੍ਰਸ਼ਾਸਕੀ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।</translation>
@@ -5222,6 +5229,7 @@
 <translation id="5485102783864353244">ਐਪ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="5485435764083510385">ਸੁਰਖੀ ਦੀ ਤਰਜੀਹੀ ਭਾਸ਼ਾ</translation>
 <translation id="5485754497697573575">ਸਾਰੀਆਂ ਟੈਬਸ ਰੀਸਟੋਰ ਕਰੋ</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> ਲਈ ਕਿਸੇ ਨਵੇਂ ਜਾਂ ਵੱਖ ਕਿਸਮ ਦੇ ਡੀਵਾਈਸ ਦੀ ਲੋੜ ਪੈ ਸਕਦੀ ਹੈ</translation>
 <translation id="5486261815000869482">ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</translation>
 <translation id="5486561344817861625">ਬ੍ਰਾਊਜ਼ਰ ਰੀਸਟਾਰਟ ਦੀ ਨਕਲ ਕਰੋ</translation>
 <translation id="5487460042548760727">ਪ੍ਰੋਫਾਈਲ ਦਾ ਨਾਮ ਬਦਲ ਕੇ <ph name="PROFILE_NAME" /> ਕਰੋ</translation>
@@ -5576,6 +5584,7 @@
 <translation id="5799508265798272974">Linux ਆਭਾਸੀ ਮਸ਼ੀਨ: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">ਡੈਸਟੀਨੇਸ਼ਨ ਫਾਈਲ ਪਿਛਲੀ ਡਾਊਨਲੋਡ ਤੋਂ ਬਾਅਦ ਛੋਟੀ ਕੀਤੀ ਗਈ ਸੀ ਜਾਂ ਹਟਾ ਦਿੱਤੀ ਗਈ ਸੀ।</translation>
 <translation id="5800351251499368110">ਸਾਈਡ ਪੈਨਲ ਵਿੱਚ ਖੋਜ ਨੂੰ ਬੰਦ ਕਰੋ। ਸਾਈਡ ਪੈਨਲ ਵਿੱਚ ਖੋਜ ਚਾਲੂ ਹੈ।</translation>
+<translation id="5800703268655655701">ਹਲਕਾ ਜਾਂ ਗੂੜ੍ਹਾ ਥੀਮ ਚੁਣੋ</translation>
 <translation id="5801051031414037185">ਫ਼ੋਨ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ</translation>
 <translation id="5801568494490449797">ਤਰਜੀਹਾਂ</translation>
 <translation id="5803689677801500549">ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਇੱਥੇ ਦਿਖਾਈ ਦੇਣਗੇ। <ph name="USER_EMAIL" /> ਦੇ ਲਈ <ph name="BRAND" /> ਵਿੱਚ ਪਾਸਵਰਡ ਆਯਾਤ ਕਰਨ ਵਾਸਤੇ, <ph name="BEGIN_LINK" /> CSV ਫ਼ਾਈਲ ਚੁਣੋ।<ph name="END_LINK" /></translation>
@@ -6965,6 +6974,7 @@
 <translation id="6993050154661569036">Chrome ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="6995899638241819463">ਡਾਟਾ ਉਲੰਘਣਾ ਵਜੋਂ ਪਾਸਵਰਡਾਂ ਦਾ ਖੁਲਾਸਾ ਹੋਣ 'ਤੇ ਤੁਹਾਨੂੰ ਚਿਤਾਵਨੀ ਦਿੱਤੀ ਜਾਵੇ</translation>
 <translation id="6995984090981858039">ChromeOS ਡੀਵਾਈਸ ਜਾਣਕਾਰੀ ਅਤੇ ਡਾਟੇ ਨੂੰ ਪੜ੍ਹੋ</translation>
+<translation id="6996438701394974959">ਡਿਸਪਲੇ ਅਤੇ ਲਿਖਤ ਦਾ ਆਕਾਰ ਵਧਾਓ</translation>
 <translation id="6997553674029032185">ਸਾਈਟ 'ਤੇ ਜਾਓ</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - ਸਰਗਰਮੀ ਲੌਗ</translation>
 <translation id="6997707937646349884">ਤੁਹਾਡੇ ਡੀਵਾਈਸਾਂ 'ਤੇ:</translation>
@@ -7891,6 +7901,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">ਸ਼ੁਰੂਆਤੀ ਪੰਨੇ ਦੇ ਬੈਕਗ੍ਰਾਊਂਡ ਨੂੰ <ph name="CATEGORY" /> ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਗਿਆ ਹੈ।</translation>
+<translation id="7791436592012979144">ਉਲਟ ਸਕ੍ਰੋਲਿੰਗ ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="7791543448312431591">ਜੋੜੋ</translation>
 <translation id="7792012425874949788">ਸਾਈਨ ਇਨ ਕਰਨ ਵਿੱਚ ਕੁਝ ਗ਼ਲਤ ਹੋਇਆ ਸੀ</translation>
 <translation id="7792388396321542707">ਸ਼ੇਅਰਿੰਗ ਰੋਕੋ</translation>
@@ -8057,6 +8068,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% ਮੁਕੰਮਲ</translation>
 <translation id="7939062555109487992">ਉੱਨਤ ਵਿਕਲਪ</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਬਦਲਣ ਲਈ ਇਸ ਐਕਸਟੈਂਸ਼ਨ ਦੇ ਪ੍ਰਤੀਕ 'ਤੇ ਕਲਿੱਕ ਕਰੋ</translation>
+<translation id="793923212791838">ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਇਸ ਸਾਈਟ ਨਾਲ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ</translation>
 <translation id="7939328347457537652">ਡੀਵਾਈਸ ਦੇ ਸਰਟੀਫਿਕੇਟਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="7939412583708276221">ਫੇਰ ਵੀ ਰੱਖੋ</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> ਮੁਤਾਬਕ ਕ੍ਰਮ-ਬੱਧ ਕਰੋ</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index 9061e39d..834a014 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -1458,6 +1458,7 @@
 <translation id="2204020417499639567">E-mail preenchido.</translation>
 <translation id="2204034823255629767">Ler e alterar tudo o que você digitar</translation>
 <translation id="2204387456724731099">Não foi possível traduzir o texto selecionado</translation>
+<translation id="2207116775853792104">Manter extensão</translation>
 <translation id="2210462644007531147">Não foi possível concluir a instalação</translation>
 <translation id="2211245494465528624">Gerenciar opções de sincronização</translation>
 <translation id="2212565012507486665">Permitir cookies</translation>
@@ -7458,6 +7459,7 @@
 <translation id="7434509671034404296">Desenvolvedor</translation>
 <translation id="7434757724413878233">Aceleração do mouse</translation>
 <translation id="7434969625063495310">Não foi possível adicionar o servidor de impressão. Verifique a configuração do servidor e tente novamente.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Avalie 1 extensão que foi removida da Chrome Web Store}one{Avalie {NUM_EXTENSIONS} extensão que foi removida da Chrome Web Store}other{Avalie {NUM_EXTENSIONS} extensões que foram removidas da Chrome Web Store}}</translation>
 <translation id="7436921188514130341">Ah, não! Ocorreu um erro durante a renomeação.</translation>
 <translation id="7439519621174723623">Adicione um nome de dispositivo para continuar</translation>
 <translation id="7441736921018636843">Para mudar essa configuração, <ph name="BEGIN_LINK" />redefina a sincronização<ph name="END_LINK" /> e remova sua senha longa de sincronização</translation>
@@ -7474,6 +7476,7 @@
 <translation id="7452166281927983300">Avisos dispensados (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Ao selecionar esta impressora, você concede permissão para acessar sua impressora à seguinte extensão:</translation>
 <translation id="7453467225369441013">Desconecta você da maioria dos sites, mas não da sua Conta do Google.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Esta extensão pode não ser segura. O Chrome recomenda a remoção dela.}one{Esta extensão pode não ser segura. O Chrome recomenda a remoção dela.}other{Estas extensões podem não ser seguras. O Chrome recomenda a remoção delas.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Gerenciar contêineres extras</translation>
 <translation id="7455988709578031708">Com base no seu histórico de navegação. Esta configuração está ativada.</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index ce76569..a2e7446 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Anulat</translation>
 <translation id="1022489261739821355">Se afișează parolele din <ph name="BEGIN_LINK" />Contul Google<ph name="END_LINK" /></translation>
 <translation id="1022669824195822609">Dispozitivul este gestionat de <ph name="DOMAIN" />. Administratorii pot accesa datele din orice profil de pe acest dispozitiv.</translation>
+<translation id="1024734233509995696">Această filă folosește camera foto sau microfonul</translation>
 <translation id="1026655690966755180">Adaugă un port</translation>
 <translation id="1026822031284433028">Încarcă imaginea</translation>
 <translation id="1026959648338730078">Windows Hello sau cheie de securitate externă</translation>
@@ -191,6 +192,7 @@
 <translation id="1155816283571436363">Se conectează la telefon</translation>
 <translation id="1158080958325422608">Schimbă în majuscule</translation>
 <translation id="1158238185437008462">Vezi amintirile</translation>
+<translation id="1159879754517035595">Gestionează setările pentru extensii</translation>
 <translation id="1160842321113409343">Pentru a-ți proteja confidențialitatea, ștergem automat site-urile din listă mai vechi de patru săptămâni. Un site pe care îl accesezi din nou poate să reapară în listă. Poți să elimini un site dacă nu vrei ca acesta să îți definească vreodată categoriile de interese.</translation>
 <translation id="1161575384898972166">Conectează-te la <ph name="TOKEN_NAME" /> pentru a exporta certificatul client.</translation>
 <translation id="116173250649946226">Administratorul a setat o temă prestabilită care nu poate fi schimbată.</translation>
@@ -209,6 +211,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> conține date sensibile sau periculoase. Administratorul rostește <ph name="CUSTOM_MESSAGE" />.</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> vrea să se conecteze la un dispozitiv HID</translation>
 <translation id="1172750555846831341">Răstoarnă pe lățime</translation>
+<translation id="1173036203040243666">Această filă este conectată la un dispozitiv Bluetooth</translation>
 <translation id="1173332155861271669">Detalii despre furnizorul Passpoint</translation>
 <translation id="1173894706177603556">Redenumește</translation>
 <translation id="1174073918202301297">Comanda rapidă a fost adăugată</translation>
@@ -660,6 +663,7 @@
 <translation id="1556537182262721003">Directorul extensiei nu se poate muta în profil.</translation>
 <translation id="1558391695376153246">Închide filele incognito</translation>
 <translation id="155865706765934889">Touchpad</translation>
+<translation id="1558671750917454373">Reia proiectarea pe <ph name="DEVICE_NAME" /></translation>
 <translation id="1562119309884184621">Dacă adaugi persoana de contact, aceasta va fi recunoscută data viitoare când trimite fișiere</translation>
 <translation id="1563137369682381456">Data expirării</translation>
 <translation id="1563702743503072935">Parolele din Contul tău Google vor fi disponibile și pe acest dispozitiv după ce te conectezi</translation>
@@ -791,6 +795,7 @@
 <translation id="1648528859488547844">Folosește Wi-Fi sau rețelele mobile pentru detectarea locației</translation>
 <translation id="164936512206786300">Anulează asocierea dispozitivului Bluetooth</translation>
 <translation id="1651008383952180276">Trebuie să introduci aceeași expresie de acces de două ori</translation>
+<translation id="1651609627703324721">Această filă prezintă conținut RV unui set de căști-microfon</translation>
 <translation id="1652326691684645429">Activează Trimiterea în apropiere</translation>
 <translation id="1654580009054503925">Nu are permisiunea de a afișa solicitări</translation>
 <translation id="1656528038316521561">Opacitatea fundalului</translation>
@@ -882,6 +887,7 @@
 <translation id="173522743738009831">Despre Privacy Sandbox</translation>
 <translation id="173628468822554835">Am înțeles. În mod prestabilit, site-urile noi pe care le accesezi nu-ți vor trimite notificări.</translation>
 <translation id="1737968601308870607">Trimite o eroare</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Selectează pentru a modifica permisiunile site-urilor</translation>
 <translation id="1741190788710022490">Încărcare adaptabilă</translation>
 <translation id="174123615272205933">Personalizată</translation>
 <translation id="1741314857973421784">Continuă</translation>
@@ -1074,6 +1080,7 @@
 <translation id="1885066963699478692">Fișierele XML folosite pentru a seta politicile.</translation>
 <translation id="1885106732301550621">Spațiu pe disc</translation>
 <translation id="1886996562706621347">Permiteți site-urilor să solicite să devină handlere prestabilite pentru protocoale (recomandat)</translation>
+<translation id="1887210448491286312">Nu mai proiecta fila pe <ph name="DEVICE_NAME" /></translation>
 <translation id="1887442540531652736">Eroare de conectare</translation>
 <translation id="1887597546629269384">Rostește din nou „Hei Google"</translation>
 <translation id="1889091146873278175">Dă clic pe butonul G pentru a vedea mai multe rezultate ale căutării într-un panou lateral</translation>
@@ -1100,6 +1107,7 @@
 <translation id="1910908536872421421">Chrome for Testing v<ph name="BROWSER_VERSION" /> este creat numai pentru testarea automată. Pentru navigarea obișnuită, folosește o versiune Chrome standard, care se actualizează automat.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">Încheie apelul</translation>
+<translation id="1915613305720536742">T&amp;radu</translation>
 <translation id="1915734383465415025">Numărul magazinului</translation>
 <translation id="1916260783734263714">Fila actuală</translation>
 <translation id="1916502483199172559">Avatar roșu prestabilit</translation>
@@ -1204,6 +1212,7 @@
 <translation id="2007404777272201486">Raportează o problemă...</translation>
 <translation id="2009590708342941694">Instrument pentru emoji</translation>
 <translation id="2010501376126504057">Dispozitive compatibile</translation>
+<translation id="2012935757369720523">Șterge fișierul</translation>
 <translation id="2013550551806600826">Încearcă. Activează sau dezactivează setarea, apoi derulează cu două degete pe touchpad în zona de testare. Poți găsi opțiunea mai târziu în Setări &gt; Dispozitiv &gt; Mouse și touchpad.</translation>
 <translation id="2015232545623037616">PC și Chromecast în aceeași rețea Wi-Fi</translation>
 <translation id="2016473077102413275">Opțiunile care au nevoie de imagini nu vor funcționa</translation>
@@ -1450,6 +1459,7 @@
 <translation id="2204020417499639567">Adresa de e-mail a fost completată.</translation>
 <translation id="2204034823255629767">Citește și modifică orice date introduse</translation>
 <translation id="2204387456724731099">Textul selectat nu a putut fi tradus</translation>
+<translation id="2207116775853792104">Păstrează extensia</translation>
 <translation id="2210462644007531147">Instalarea nu a putut fi finalizată</translation>
 <translation id="2211245494465528624">Gestionează opțiunile de sincronizare</translation>
 <translation id="2212565012507486665">Permite cookie-urile</translation>
@@ -1774,6 +1784,7 @@
 <translation id="2458379781610688953">Actualizează contul, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Indicativul de gestionare a dispozitivului nu este valid.</translation>
 <translation id="2459703812219683497">S-a detectat un cod de activare</translation>
+<translation id="2459706890611560967">Reia proiectarea filei pe <ph name="DEVICE_NAME" /></translation>
 <translation id="2460356425461033301">Fă backup datelor din browser și folosește-le pe orice dispozitiv</translation>
 <translation id="2462332841984057083">Steam se configurează deja. Așteaptă să se finalizeze configurarea.</translation>
 <translation id="2462724976360937186">ID-ul cheii autorității de certificare</translation>
@@ -2621,10 +2632,12 @@
 <translation id="3194786596445804250">Afișează detalii despre blocarea cookie-urilor terțe</translation>
 <translation id="3197453258332670132">Dacă dai clic dreapta sau apeși lung, se afișează informații conexe pentru textul selectat</translation>
 <translation id="3199127022143353223">Servere</translation>
+<translation id="3199637719075529971">Această filă este conectată la un port serial</translation>
 <translation id="3200061262156232574">În coșul de cumpărături</translation>
 <translation id="3201237270673604992">De la Z la A</translation>
 <translation id="3201422919974259695">Dispozitivele USB disponibile vor apărea aici.</translation>
 <translation id="3202131003361292969">Cale</translation>
+<translation id="3202499879214571401">Întrerupe proiectarea ecranului pe <ph name="DEVICE_NAME" /></translation>
 <translation id="3202578601642193415">Cele mai noi</translation>
 <translation id="3204648577100496185">Datele asociate acestei aplicații pot fi eliminate de pe dispozitiv</translation>
 <translation id="3207960819495026254">Marcată</translation>
@@ -3020,6 +3033,7 @@
 <translation id="3557101512409028104">Setează restricții pentru site-uri și limite de timp pentru durata de folosire a ecranului cu Family Link</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />Dacă permiți ca dispozitivele cu sistem de operare Chrome să trimită rapoarte automate, ne ajuți să stabilim o ordine a priorităților privind remedierile și îmbunătățirile pentru sistemul de operare Chrome. Aceste rapoarte pot include aspecte precum situațiile în care se blochează dispozitivul de operare Chrome, ce funcții au fost folosite, câtă memorie a fost folosită în mod obișnuit.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Poți să acorzi sau să anulezi oricând permisiunea pentru aceste rapoarte în setările dispozitivului cu sistem de operare Chrome al copilului. Dacă ești administratorul unui domeniu, poți să modifici această setare în consola de administrare.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">Nu mai proiecta ecranul pe <ph name="DEVICE_NAME" /></translation>
 <translation id="3559262020195162408">Nu s-a putut instala politica pe dispozitiv.</translation>
 <translation id="3559533181353831840">Timp aproximativ rămas: <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">&amp;Verificare ortografică</translation>
@@ -3187,6 +3201,7 @@
 <translation id="370415077757856453">JavaScript blocat</translation>
 <translation id="3704331259350077894">Încetarea operării</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">Reia proiectarea ecranului pe <ph name="DEVICE_NAME" /></translation>
 <translation id="3706463572498736864">Pagini pe foaie</translation>
 <translation id="370649949373421643">Activați Wi-Fi</translation>
 <translation id="370665806235115550">Se încarcă…</translation>
@@ -3402,6 +3417,7 @@
 <translation id="3867134342671430205">Trage sau folosește tastele săgeată pentru a muta un ecran</translation>
 <translation id="3867944738977021751">Câmpuri certificat</translation>
 <translation id="3869917919960562512">Index greșit.</translation>
+<translation id="3870688298003434214">Debifează <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">Nu s-au salvat parole pentru <ph name="DOMAIN" /></translation>
 <translation id="3871350334636688135">După 24 de ore, administratorul va face o actualizare unică ce va șterge datele locale când repornești dispozitivul. Salvează datele locale de care ai nevoie în stocarea în cloud în cel mult 24 de ore.</translation>
 <translation id="3872220884670338524">Mai multe acțiuni, cont salvat pentru <ph name="USERNAME" /> pe <ph name="DOMAIN" /></translation>
@@ -3497,6 +3513,7 @@
 <translation id="3945513714196326460">Încearcă un nume mai scurt</translation>
 <translation id="3948027458879361203">Modifică numele de gazdă</translation>
 <translation id="3948116654032448504">&amp;Caută imaginea cu <ph name="SEARCH_ENGINE" /></translation>
+<translation id="3948334586359655083">Această filă redă conținut audio</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> poate edita fișierele din următoarele dosare</translation>
 <translation id="394984172568887996">Importate din IE</translation>
 <translation id="3950820424414687140">Conectează-te</translation>
@@ -3555,6 +3572,7 @@
 <translation id="3987544746655539083">Blochează în continuare accesul acestui site la locație</translation>
 <translation id="3987938432087324095">Scuze, nu am înțeles.</translation>
 <translation id="3987993985790029246">Copiază linkul</translation>
+<translation id="3988124842897276887">Această filă este conectată la un dispozitiv USB</translation>
 <translation id="3988488665753590964">Ajustează modul în care apar culorile pe ecran</translation>
 <translation id="3988996860813292272">Selectează fusul orar</translation>
 <translation id="399179161741278232">Importate</translation>
@@ -3704,6 +3722,7 @@
 <translation id="4130207949184424187">Această extensie a modificat ce pagină se afișează când cauți din caseta polivalentă.</translation>
 <translation id="4130750466177569591">Sunt de acord</translation>
 <translation id="413121957363593859">Componente</translation>
+<translation id="4131283654370308898">Permite <ph name="EXTENSION_NAME" /> pe acest site</translation>
 <translation id="4131410914670010031">Alb-negru</translation>
 <translation id="413193092008917129">Rutine de diagnosticare a rețelei</translation>
 <translation id="4132183752438206707">Găsește aplicații în Magazinul Google Play</translation>
@@ -4241,6 +4260,7 @@
 <translation id="4601426376352205922">Marchează ca necitit</translation>
 <translation id="460190672235687855">Vezi parolele</translation>
 <translation id="4602466770786743961">Permiteți întotdeauna accesul <ph name="HOST" /> la camera și microfonul dvs.</translation>
+<translation id="4602776638371779614">Această filă caută activ dispozitive Bluetooth</translation>
 <translation id="4606551464649945562">Nu permite site-urilor să creeze o hartă 3D a lucrurilor din jur sau să urmărească poziția camerei video</translation>
 <translation id="4608500690299898628">&amp;Caută...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> a întâmpinat o eroare</translation>
@@ -4424,6 +4444,7 @@
 <translation id="4770119228883592393">Permisiune necesară, apasă ⌘ + Option + săgeată în jos pentru a răspunde</translation>
 <translation id="4773112038801431077">Fă upgrade pentru Linux</translation>
 <translation id="4774456473286455263">Configurează cu telefonul tău Android</translation>
+<translation id="477548766361111120">Permite extensiei să citească și să modifice acest site</translation>
 <translation id="477647109558161443">Creează o comandă rapidă pe desktop</translation>
 <translation id="4776594120007763294">Dă clic pe buton pentru a adăuga o pagină de citit mai târziu</translation>
 <translation id="4777458362738635055">Alți utilizatori ai dispozitivului pot folosi această rețea</translation>
@@ -5690,6 +5711,7 @@
 <translation id="5889282057229379085">Număr maxim de Autorități de certificare (CA) intermediare: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">Criptează datele sincronizate folosind propria <ph name="BEGIN_LINK" />expresie de acces pentru sincronizare<ph name="END_LINK" />. Metodele de plată și adresele din Google Pay nu vor fi criptate. Istoricul de navigare din Chrome nu se va sincroniza.</translation>
 <translation id="5891688036610113830">Rețele Wi-Fi preferate</translation>
+<translation id="5894056653502215961">Debifează dosarul <ph name="FOLDER_TITLE" /></translation>
 <translation id="5895138241574237353">Reîncepe</translation>
 <translation id="5895335062901455404">Preferințele și activitățile salvate vor fi disponibile pe orice dispozitiv cu sistemul de operare Chrome Flex dacă te conectezi folosind Contul Google. Poți să alegi ce să sincronizezi în Setări.</translation>
 <translation id="589541317545606110">Pagină de căutare cu <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5761,6 +5783,7 @@
 <translation id="5948476936444935795">Anulează importul</translation>
 <translation id="5948536763493709626">Conectează o tastatură ori un mouse sau continuă configurarea pe ecranul tactil. Dacă folosești dispozitive Bluetooth, asigură-te că sunt gata de conectare.</translation>
 <translation id="5949544233750246342">Fișierul nu poate fi analizat</translation>
+<translation id="5950762317146173294">Fișierul poate fi un virus sau un program malware</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> solicită permisiunea de a folosi fonturi locale</translation>
 <translation id="5951624318208955736">Monitor</translation>
 <translation id="595262438437661818">Nicio extensie nu are nevoie de acces la acest site</translation>
@@ -5845,6 +5868,7 @@
 <translation id="6022526133015258832">Deschideți în ecran complet</translation>
 <translation id="6022659036123304283">Personalizează Chrome</translation>
 <translation id="6023643151125006053">Dispozitivul (NS: <ph name="SERIAL_NUMBER" />) a fost blocat de administratorul <ph name="SAML_DOMAIN" />.</translation>
+<translation id="6024072172641380781">Permite extensiile pe acest site</translation>
 <translation id="6025215716629925253">Urmărire stivă</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – dispozitivul USB a fost conectat</translation>
 <translation id="6027945736510816438">Ai vrut să scrii <ph name="WEBSITE" />?</translation>
@@ -6128,6 +6152,7 @@
 <translation id="6268252012308737255">Deschide cu <ph name="APP" /></translation>
 <translation id="6270309713620950855">Dezactivează reafișarea</translation>
 <translation id="6270391203985052864">Site-urile îți pot solicita să îți trimită notificări</translation>
+<translation id="6270486800167535228">Extensia este fixată. Selectează pentru a vedea mai multe opțiuni.</translation>
 <translation id="6270770586500173387">Trimite <ph name="BEGIN_LINK1" />informații despre sistem și aplicații<ph name="END_LINK1" /> și <ph name="BEGIN_LINK2" />valori<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">Cardul Parcursuri</translation>
 <translation id="6271348838875430303">corecția a fost anulată</translation>
@@ -6208,6 +6233,7 @@
 <translation id="6344608411615208519"><ph name="BEGIN_LINK" />Browserul este gestionat<ph name="END_LINK" /> de un părinte</translation>
 <translation id="6345418402353744910">Numele de utilizator și parola sunt necesare pentru proxy-ul <ph name="PROXY" />, astfel încât administratorul să poată configura rețeaua</translation>
 <translation id="6345878117466430440">Marchează ca citit</translation>
+<translation id="6346952829206698721">Inserează din clipboard</translation>
 <translation id="6347010704471250799">Se afișează o notificare</translation>
 <translation id="634887995541211148">Rulează Bruschetta pe dispozitiv.</translation>
 <translation id="6349101878882523185">Instalează <ph name="APP_NAME" /></translation>
@@ -6495,6 +6521,7 @@
 <translation id="6596325263575161958">Opțiuni de criptare</translation>
 <translation id="6596816719288285829">Adresă IP</translation>
 <translation id="6597017209724497268">Eșantioane</translation>
+<translation id="6597324406048772521">Extensiile nu sunt permise pe acest site</translation>
 <translation id="6597331566371766302">Următoarele extensii au fost blocate de administrator:</translation>
 <translation id="659894938503552850">cel mai recent</translation>
 <translation id="6601262427770154296">Gestionează dicționarele utilizatorului</translation>
@@ -6512,6 +6539,7 @@
 <translation id="6609478180749378879">Datele de conectare vor fi stocate pe acest dispozitiv după ce ieși din modul incognito. Vei putea să te reconectezi la site folosind dispozitivul.</translation>
 <translation id="6610002944194042868">Opțiuni de traducere</translation>
 <translation id="6611972847767394631">Regăsește filele aici</translation>
+<translation id="6613267708691765962">Se caută programe malware...</translation>
 <translation id="6613668613087513143">Nu există spațiu suficient pe dispozitiv pentru a finaliza actualizarea. Eliberează <ph name="NECESSARY_SPACE" /> pe dispozitiv și încearcă din nou din browserul Chrome.</translation>
 <translation id="6615455863669487791">Afișează</translation>
 <translation id="6618097958368085618">Păstrează oricum</translation>
@@ -6760,6 +6788,7 @@
 <translation id="6825184156888454064">Sortează după nume</translation>
 <translation id="6826872289184051766">Confirmă prin USB</translation>
 <translation id="6827121912381363404">Permite ca toate extensiile să citească și să modifice <ph name="PERMITTED_SITE" /></translation>
+<translation id="6827422464708099620">Selectează pentru a vedea mai multe opțiuni</translation>
 <translation id="6827517233063803343">Aplicațiile și setările se vor sincroniza pe toate dispozitivele cu sistemul de operare Chrome pe care te-ai conectat folosind contul Google. Pentru opțiunile de sincronizare a browserului, accesează <ph name="LINK_BEGIN" />Setările Chrome<ph name="LINK_END" />.</translation>
 <translation id="6827767090350758381">Începând cu luna decembrie 2022, versiunile vechi ale aplicațiilor Chrome nu se vor mai deschide pe dispozitivele Windows. Contactează administratorul pentru a actualiza la o versiune nouă sau pentru a elimina aplicația.</translation>
 <translation id="6828153365543658583">Restricționează conectarea la următorii utilizatori:</translation>
@@ -6823,6 +6852,7 @@
 <translation id="6868934826811377550">Afișează detaliile</translation>
 <translation id="6871644448911473373">Respondent OCSP: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Parola pe care ai introdus-o a fost respinsă de server.</translation>
+<translation id="6873571253135628430">Modifică permisiunile site-urilor</translation>
 <translation id="6876155724392614295">Bicicletă</translation>
 <translation id="6876469544038980967">Inutile</translation>
 <translation id="6878422606530379992">Folosirea senzorilor este permisă</translation>
@@ -7084,6 +7114,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Elimină aplicația}few{Elimină aplicații}other{Elimină aplicații}}</translation>
 <translation id="7099337801055912064">Nu se poate încărca fișierul PPD mare. Dimensiunea maximă este 250 KB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Nicio parolă compromisă}=1{{COUNT} parolă compromisă}few{{COUNT} parole compromise}other{{COUNT} de parole compromise}}</translation>
+<translation id="710047887584828070">Se permite accesul la conținutul acestei file</translation>
 <translation id="7102832101143475489">Solicitarea a expirat</translation>
 <translation id="710640343305609397">Deschide setările pentru rețea</translation>
 <translation id="7107609441453408294">Redă același conținut audio în toate difuzoarele</translation>
@@ -7179,6 +7210,7 @@
 <translation id="719791532916917144">Comanda rapidă de la tastatură</translation>
 <translation id="7198503619164954386">Trebuie să folosești un dispozitiv înregistrat de întreprindere</translation>
 <translation id="7199158086730159431">Obțineți a&amp;jutor</translation>
+<translation id="7199452998289813782">Întrerupe proiectarea pe <ph name="DEVICE_NAME" /></translation>
 <translation id="7200083590239651963">Selectează configurația</translation>
 <translation id="720110658997053098">Menține permanent acest dispozitiv în modul chioșc</translation>
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />” a fost șters</translation>
@@ -7225,6 +7257,7 @@
 <translation id="7241389281993241388">Conectează-te la <ph name="TOKEN_NAME" /> pentru a importa certificatul client.</translation>
 <translation id="7241763419756062043">Îmbunătățește calitatea căutării și a navigării</translation>
 <translation id="7243632151880336635">Șterge și deconectează-te</translation>
+<translation id="7245162963905242662">Caut&amp;ă această pagină pe Google...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (optimă)</translation>
 <translation id="7246230585855757313">Reintrodu cheia de securitate și încearcă din nou</translation>
 <translation id="724835896049478274">Conturi disponibile pentru aplicații pentru Android</translation>
@@ -7455,6 +7488,7 @@
 <translation id="7434509671034404296">Dezvoltator</translation>
 <translation id="7434757724413878233">Accelerarea mouse-ului</translation>
 <translation id="7434969625063495310">Nu s-a putut adăuga serverul de imprimare. Verifică ce configurație are serverul și încearcă din nou.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Examinează o extensie care a fost eliminată din Magazinul web Chrome}few{Examinează {NUM_EXTENSIONS} extensii care au fost eliminate din Magazinul web Chrome}other{Examinează {NUM_EXTENSIONS} de extensii care au fost eliminate din Magazinul web Chrome}}</translation>
 <translation id="7436921188514130341">Of, nu mai merge! A apărut o eroare la redenumire.</translation>
 <translation id="7439519621174723623">Adaugă un nume de dispozitiv pentru a continua</translation>
 <translation id="7441736921018636843">Ca să modifici setarea, <ph name="BEGIN_LINK" />resetează sincronizarea<ph name="END_LINK" /> pentru a elimina expresia de acces pentru sincronizare</translation>
@@ -7471,6 +7505,7 @@
 <translation id="7452166281927983300">Avertismente respinse (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Selectând această imprimantă, acorzi următoarei extensii permisiunea de a accesa imprimanta:</translation>
 <translation id="7453467225369441013">Te deconectează de pe majoritatea site-urilor. Nu te va deconecta de la Contul Google.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Această extensie ar putea fi nesigură. Chrome recomandă să o elimini.}few{Aceste extensii ar putea fi nesigure. Chrome recomandă să le elimini.}other{Aceste extensii ar putea fi nesigure. Chrome recomandă să le elimini.}}</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Gestionează containere suplimentare</translation>
 <translation id="7455988709578031708">Pe baza istoricului de navigare. Setarea este activată.</translation>
@@ -7531,8 +7566,10 @@
 <translation id="7497981768003291373">Nu ai jurnale text WebRTC înregistrate recent.</translation>
 <translation id="7501957181231305652">sau</translation>
 <translation id="7502220299952823578">Adaugă în lista Menține întotdeauna active aceste site-uri</translation>
+<translation id="7502528909759062987">Întrerupe proiectarea filei pe <ph name="DEVICE_NAME" /></translation>
 <translation id="7503191893372251637">Tip de certificat Netscape</translation>
 <translation id="7503985202154027481">O înregistrare a vizitei site-ului va fi păstrată pe cheia ta de securitate.</translation>
+<translation id="7504145862399276792">Sunetul acestei file este dezactivat</translation>
 <translation id="750509436279396091">Deschideți dosarul de descărcări</translation>
 <translation id="7505149250476994901">Rostește „majusculă” înaintea literei</translation>
 <translation id="7505717542095249632">Ascunde <ph name="MERCHANT" /></translation>
@@ -7772,6 +7809,7 @@
 <translation id="7701040980221191251">Niciuna</translation>
 <translation id="7701265686005869308">Închide profilul</translation>
 <translation id="7701869757853594372">Ghidaje UTILIZATOR</translation>
+<translation id="7702463352133825032">Nu mai proiecta pe <ph name="DEVICE_NAME" /></translation>
 <translation id="7702574632857388784">Elimină <ph name="FILE_NAME" /> din listă</translation>
 <translation id="7702907602086592255">Domeniu</translation>
 <translation id="7704305437604973648">Activitate</translation>
@@ -8235,6 +8273,7 @@
 <translation id="8084114998886531721">Parolă salvată</translation>
 <translation id="8084510406207562688">R&amp;estabilește toate filele</translation>
 <translation id="8086015605808120405">Se configurează <ph name="PRINTER_NAME" />…</translation>
+<translation id="8086121155774250556">Această filă permite accesul la ecranul tău</translation>
 <translation id="8086442853986205778">Configurează <ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">Nu se poate face backup pentru aplicațiile și fișierele Linux</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Fișierul este criptat. Solicită-i proprietarului să îl decripteze.}few{Unele dintre aceste fișiere sunt criptate. Solicită-i proprietarului să le decripteze.}other{Unele dintre aceste fișiere sunt criptate. Solicită-i proprietarului să le decripteze.}}</translation>
@@ -8537,6 +8576,7 @@
 <translation id="8345848587667658367">Acum poți vedea fotografiile, conținutul media, notificările și aplicațiile recente ale telefonului</translation>
 <translation id="8347227221149377169">Sarcini de printare</translation>
 <translation id="834785183489258869">În modul incognito, site-urile nu pot folosi cookie-urile pentru a vedea activitatea ta de navigare de pe diferite site-uri, de exemplu, pentru a personaliza anunțurile. Este posibil ca funcțiile de pe anumite site-uri să nu funcționeze.</translation>
+<translation id="8349325309815489209">Extensii permise pe acest site</translation>
 <translation id="8349826889576450703">lansator</translation>
 <translation id="8350789879725387295">Instrumente pentru creion fixate</translation>
 <translation id="8351316842353540018">Afișează întotdeauna opțiunile a11y</translation>
@@ -8565,6 +8605,7 @@
 <translation id="8370294614544004647">Când laptopul este închis: modul inactiv</translation>
 <translation id="8371695176452482769">Rostește acum</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Dezactivează sunetul pentru site}few{Dezactivează sunetul pentru site-uri}other{Dezactivează sunetul pentru site-uri}}</translation>
+<translation id="8372441176515901959">Respinge solicitarea</translation>
 <translation id="8373652277231415614">Directoare comune în Crostini</translation>
 <translation id="8374243500935816406">Nu permite site-urilor să gestioneze ferestre de pe toate ecranele</translation>
 <translation id="8376137163494131156">Spune-ne ce se întâmplă cu Google Cast.</translation>
@@ -8924,6 +8965,7 @@
 <translation id="8687103160920393343">Anulează <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Disponibilă</translation>
 <translation id="8690129572193755009">Site-urile pot solicita permisiunea de a gestiona protocoale</translation>
+<translation id="869144235543261764">Această filă redă un videoclip în modul picture-in-picture</translation>
 <translation id="8692107307702113268">Parola are peste 1.000 de caractere</translation>
 <translation id="8694596275649352090">Blochează în modul de inactivitate sau când capacul este închis</translation>
 <translation id="8695139659682234808">Adaugă opțiuni de control parental după configurare</translation>
@@ -9158,6 +9200,7 @@
 <translation id="8877448029301136595">[directorul părinte]</translation>
 <translation id="8879284080359814990">&amp;Afișează ca filă</translation>
 <translation id="8879921471468674457">Reține informațiile de conectare</translation>
+<translation id="8880009256105053174">Caut&amp;ă această pagină pe Google...</translation>
 <translation id="8880054210564666174">Nu s-a putut descărca agenda. Verifică starea conexiunii la rețea și <ph name="LINK_BEGIN" />încearcă din nou<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Încearcă din nou. Pentru asistență tehnică, ia legătura cu <ph name="CARRIER_NAME" />.</translation>
 <translation id="888256071122006425">Setări pentru mouse și touchpad</translation>
@@ -9422,6 +9465,7 @@
 <translation id="9102864637938129124">Site-urile și advertiserii pot să afle despre performanța anunțurilor. Setarea este activată.</translation>
 <translation id="9103479157856427471">Ecranul mărit urmează după focalizarea de la tastatură</translation>
 <translation id="9103868373786083162">Apasă pentru a naviga înapoi sau folosește meniul contextual pentru a vedea istoricul</translation>
+<translation id="9107096627210171112">T&amp;radu...</translation>
 <translation id="9108035152087032312">Denumește fereastra...</translation>
 <translation id="9108072915170399168">Setarea actuală pentru utilizarea datelor este „Fără internet”</translation>
 <translation id="9108294543511800041">Acum poți vedea fotografiile, conținutul media și notificările recente ale telefonului</translation>
@@ -9578,6 +9622,7 @@
 <translation id="947329552760389097">&amp;Inspectează elementele</translation>
 <translation id="947526284350604411">Răspunsul tău</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> nu poate deschide fișiere din acest dosar, deoarece conține fișiere de sistem</translation>
+<translation id="949807244219288032">Această filă este conectată la un dispozitiv HID</translation>
 <translation id="950307215746360464">Ghid de configurare</translation>
 <translation id="951991426597076286">Refuză</translation>
 <translation id="952471655966876828">Dispozitivul se va conecta automat când este deschis și este folosit</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index 5ec69ba..dbcd5ab 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Ошибка в профиле</translation>
 <translation id="1253664522045778676">Нажмите на нужный результат, и страница откроется в текущей вкладке</translation>
 <translation id="1254593899333212300">Прямое подключение к интернету</translation>
+<translation id="1256588359404100567">Параметр синхронизирован с предыдущим устройством.</translation>
 <translation id="1257336506558170607">Экспортировать выбранный сертификат</translation>
 <translation id="1258491128795710625">Что нового</translation>
 <translation id="1259152067760398571">Проверка безопасности выполнена вчера.</translation>
@@ -526,6 +527,7 @@
 <translation id="1448779317883494811">Инструмент "Кисть"</translation>
 <translation id="1449191289887455076">Чтобы подтвердить назначение и <ph name="RESPONSE" />, нажмите клавишу "<ph name="CURRENTKEY" />" ещё раз.</translation>
 <translation id="1451375123200651445">Веб-страница, один файл</translation>
+<translation id="145280054552001290">Добавляйте и удаляйте языки для субтитров</translation>
 <translation id="1453561711872398978">Отправить <ph name="BEGIN_LINK" />журналы отладки<ph name="END_LINK" /> (рекомендуется)</translation>
 <translation id="1454223536435069390">С&amp;делать снимок экрана</translation>
 <translation id="145432137617179457">Языки с поддержкой проверки правописания</translation>
@@ -991,6 +993,7 @@
 <translation id="18260074040409954">Вы можете использовать сохраненные пароли на любом устройстве. Место хранения для аккаунта <ph name="EMAIL" />: <ph name="GOOGLE_PASSWORD_MANAGER" />.</translation>
 <translation id="1826192255355608658">Синхронизируйте закладки, пароли, историю и другие данные в браузере Chrome</translation>
 <translation id="1826516787628120939">Проверка</translation>
+<translation id="1826657447823925402">Прокрутка в обратную сторону отключена</translation>
 <translation id="1827504459960247692">Название точки доступа</translation>
 <translation id="1828378091493947763">Плагин не поддерживается на этом устройстве</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Открыть все}=1{&amp;Открыть закладку}one{&amp;Открыть все ({COUNT})}few{&amp;Открыть все ({COUNT})}many{&amp;Открыть все ({COUNT})}other{&amp;Открыть все ({COUNT})}}</translation>
@@ -1276,6 +1279,7 @@
 <translation id="2081816110395725788">Режим ожидания при работе от батареи</translation>
 <translation id="2082187087049518845">Добавить вкладку в группу</translation>
 <translation id="2082510809738716738">Выберите цвета темы</translation>
+<translation id="2084891381052978619">Вы также сможете найти эти функции в параметрах устройства, когда завершите настройку Chromebook.</translation>
 <translation id="208586643495776849">Повторите попытку.</translation>
 <translation id="208634871997892083">Постоянная сеть VPN</translation>
 <translation id="2087822576218954668">Печать: <ph name="PRINT_NAME" /></translation>
@@ -1345,6 +1349,7 @@
 <translation id="212862741129535676">Продолжительность работы процессора на разных ступенях частоты в процентах</translation>
 <translation id="212876957201860463">Подготовка к настройке мобильного устройства…</translation>
 <translation id="2131077480075264">Невозможно установить <ph name="APP_NAME" />: нет разрешения от <ph name="IMPORT_NAME" /></translation>
+<translation id="2133775869826239001">Выберите, что ещё вы хотите настроить</translation>
 <translation id="2133857665503360653">Попробовать скачать файл "<ph name="FILE_NAME" />" ещё раз</translation>
 <translation id="2134905185275441536">Системные центры сертификации</translation>
 <translation id="21354425047973905">Скрыть PIN-коды</translation>
@@ -2919,6 +2924,7 @@
 <translation id="347785443197175480">Предоставить сайту <ph name="HOST" /> доступ к камере и микрофону</translation>
 <translation id="3479552764303398839">Не сейчас</translation>
 <translation id="3479685872808224578">Не удалось найти сервер печати. Проверьте его адрес и повторите попытку.</translation>
+<translation id="3479753605053415848">Нажмите, чтобы настроить Chrome.</translation>
 <translation id="3480612136143976912">Задайте размер и стиль автоматических субтитров. Некоторые приложения и сайты также будут использовать эти настройки.</translation>
 <translation id="3480827850068960424">Найдено вкладок: <ph name="NUM" /></translation>
 <translation id="3481268647794498892">Открывается в <ph name="ALTERNATIVE_BROWSER_NAME" />. Осталось <ph name="COUNTDOWN_SECONDS" /> сек.</translation>
@@ -3212,6 +3218,7 @@
 <translation id="3738632186060045350">Данные на <ph name="DEVICE_TYPE" /> будут удалены через 24 ч.</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Открыть приложение "<ph name="APPLICATION" />"?</translation>
+<translation id="3740945083753997630">Уменьшить размер изображения и текста</translation>
 <translation id="3741056951918180319">Вы можете включить расширение, нажав на него, на любом сайте</translation>
 <translation id="3742235229730461951">корейская раскладка</translation>
 <translation id="3742666961763734085">Не удалось найти организационное подразделение с таким названием. Повторите попытку.</translation>
@@ -3589,6 +3596,7 @@
 <translation id="4044612648082411741">Введите пароль сертификата</translation>
 <translation id="4044708573046946214">Пароль для блокировки экрана</translation>
 <translation id="404493185430269859">Поисковая система по умолчанию</translation>
+<translation id="4045196801416070837">Звуки устройства</translation>
 <translation id="4046013316139505482">Расширения, которым не требуется право на просмотр и изменение информации на этом сайте</translation>
 <translation id="4046123991198612571">Следующий трек</translation>
 <translation id="4047345532928475040">Н/Д</translation>
@@ -4038,6 +4046,7 @@
 <translation id="4444512841222467874">Если вы не освободите пространство, пользователи и их данные могут быть удалены автоматически.</translation>
 <translation id="4445446646109808714">Лицензионное соглашение с конечным пользователем:<ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Зеркальное отображение</translation>
+<translation id="4448560527907365660">Сохранить настройки и показать ещё</translation>
 <translation id="4448914100439890108">Скрыть пароль для пользователя <ph name="USERNAME" /> в домене <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Настроить разрешения</translation>
 <translation id="4449948729197510913">Это имя пользователя относится к корпоративному аккаунту вашей организации. Чтобы регистрировать устройства в этом аккаунте, подтвердите в консоли администратора, что вы владелец домена. Для этого вам потребуются права администратора аккаунта.</translation>
@@ -5185,7 +5194,9 @@
 <translation id="5481941284378890518">Добавить ближайшие принтеры</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{По правилам <ph name="MANAGER" /> вам нужно выполнить резервное копирование данных и вернуть <ph name="DEVICE_TYPE" /> сегодня. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" />}one{По правилам <ph name="MANAGER" /> вам нужно выполнить резервное копирование данных и вернуть <ph name="DEVICE_TYPE" /> в течение {NUM_DAYS} дня. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" />}few{По правилам <ph name="MANAGER" /> вам нужно выполнить резервное копирование данных и вернуть <ph name="DEVICE_TYPE" /> в течение {NUM_DAYS} дней. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" />}many{По правилам <ph name="MANAGER" /> вам нужно выполнить резервное копирование данных и вернуть <ph name="DEVICE_TYPE" /> в течение {NUM_DAYS} дней. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" />}other{По правилам <ph name="MANAGER" /> вам нужно выполнить резервное копирование данных и вернуть <ph name="DEVICE_TYPE" /> в течение {NUM_DAYS} дня. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Установить приложение</translation>
+<translation id="5485435764083510385">Предпочитаемый язык субтитров</translation>
 <translation id="5485754497697573575">Восстановить все вкладки</translation>
+<translation id="5486071940327595306">Возможно, для <ph name="WEBSITE" /> требуется устройство другого типа или более новой модели.</translation>
 <translation id="5486261815000869482">Подтвердите пароль</translation>
 <translation id="5486561344817861625">Симулировать перезапуск браузера</translation>
 <translation id="5487460042548760727">Переименовать профиль в "<ph name="PROFILE_NAME" />"</translation>
@@ -5538,6 +5549,7 @@
 <translation id="5799508265798272974">Виртуальная машина Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Выбранный файл был поврежден или удален после скачивания.</translation>
 <translation id="5800351251499368110">Вы можете закрыть боковое окно поиска. Сейчас оно открыто.</translation>
+<translation id="5800703268655655701">Выберите светлую или тёмную тему</translation>
 <translation id="5801051031414037185">Настроить телефон</translation>
 <translation id="5801568494490449797">Настройки</translation>
 <translation id="5803689677801500549">Здесь появятся сохраненные пароли. Чтобы импортировать пароли в <ph name="BRAND" /> для аккаунта <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />выберите CSV-файл<ph name="END_LINK" />.</translation>
@@ -6927,6 +6939,7 @@
 <translation id="6993050154661569036">Обновление браузера Chrome</translation>
 <translation id="6995899638241819463">Сообщать, если пароли были раскрыты в результате утечки данных</translation>
 <translation id="6995984090981858039">Чтение сведений об устройстве с ChromeOS и данных на нем</translation>
+<translation id="6996438701394974959">Увеличить размер изображения и текста</translation>
 <translation id="6997553674029032185">Перейти на сайт</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Журнал активности</translation>
 <translation id="6997707937646349884">На ваших устройствах:</translation>
@@ -7365,6 +7378,7 @@
 <translation id="7400839060291901923">Настройте соединение на устройстве <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Закрыть это сообщение</translation>
 <translation id="7402198013420237102">Перенести сохраненные пароли в аккаунт Google?</translation>
+<translation id="740333000181878130">Звук при запуске устройства</translation>
 <translation id="7403642243184989645">Скачивание ресурсов</translation>
 <translation id="7404065585741198296">Телефон с подключением через USB-кабель</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Проверка безопасности выполнена 1 час назад.}one{Проверка безопасности выполнена {NUM_HOURS} час назад.}few{Проверка безопасности выполнена {NUM_HOURS} часа назад.}many{Проверка безопасности выполнена {NUM_HOURS} часов назад.}other{Проверка безопасности выполнена {NUM_HOURS} часа назад.}}</translation>
@@ -7846,6 +7860,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Фон стартовой страницы изменен на изображение "<ph name="CATEGORY" />".</translation>
+<translation id="7791436592012979144">Прокрутка в обратную сторону включена</translation>
 <translation id="7791543448312431591">Добавить</translation>
 <translation id="7792012425874949788">При входе в систему произошла ошибка</translation>
 <translation id="7792388396321542707">Закрыть доступ</translation>
@@ -8011,6 +8026,7 @@
 <translation id="7935451262452051102">Выполнено: <ph name="PERCENT" /> %</translation>
 <translation id="7939062555109487992">Расширенные настройки</translation>
 <translation id="7939073735115504773">Нажмите на значок расширения, чтобы разрешить чтение и изменение данных <ph name="HOST" />.</translation>
+<translation id="793923212791838">Ваше устройство нельзя использовать на этом сайте</translation>
 <translation id="7939328347457537652">Управление сертификатами устройства</translation>
 <translation id="7939412583708276221">Все равно продолжить</translation>
 <translation id="7940265372707990269">Сортировать: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb
index bee4ed96..a73a2e6 100644
--- a/chrome/app/resources/generated_resources_si.xtb
+++ b/chrome/app/resources/generated_resources_si.xtb
@@ -528,6 +528,7 @@
 <translation id="1448779317883494811">බ්‍රෂ් මෙවලම</translation>
 <translation id="1449191289887455076">පැවරුම තහවුරු කර <ph name="RESPONSE" /> “<ph name="CURRENTKEY" />” නැවත ඔබන්න.</translation>
 <translation id="1451375123200651445">වෙබ් පිටුව, තනි ගොනුව</translation>
+<translation id="145280054552001290">සිරස්තලයට භාෂා එක් කරන්න සහ ඉවත් කරන්න</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />නිදොසීම් වාර්තා<ph name="END_LINK" /> යවන්න (නිර්දේශිතයි)</translation>
 <translation id="1454223536435069390">තිරපිටපතක් ලබාගන්න (&amp;a)</translation>
 <translation id="145432137617179457">අක්ෂර වින්‍යාස පරීක්ෂාව ලබා ගත හැකි භාෂා</translation>
@@ -3606,6 +3607,7 @@
 <translation id="4044612648082411741">ඔබේ සහතික මුරපදය ඇතුළු කරන්න</translation>
 <translation id="4044708573046946214">තිර අගුලු මුරපදය</translation>
 <translation id="404493185430269859">පෙරනිමි සෙවුම් එන්ජිම</translation>
+<translation id="4045196801416070837">උපාංග ශබ්ද</translation>
 <translation id="4046013316139505482">මෙම දිගුවලට මෙම වෙබ් අඩවිය මත තොරතුරු බැලීමටත් වෙනස් කිරීමටත් අවශ්‍ය නැත.</translation>
 <translation id="4046123991198612571">ඊළඟ ඛණ්ඩය</translation>
 <translation id="4047345532928475040">නැත</translation>
@@ -5207,6 +5209,7 @@
 <translation id="5481941284378890518">අවට මුද්‍රක එක් කරන්න</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> හට ඔබ ඔබගේ දත්ත උපස්ථ කර මෙම <ph name="DEVICE_TYPE" /> අද ආපසු දීමට අවශ්‍යයි. <ph name="LINK_BEGIN" />විස්තර බලන්න<ph name="LINK_END" />}one{<ph name="MANAGER" /> හට ඔබ ඔබගේ දත්ත උපස්ථ කර මෙම <ph name="DEVICE_TYPE" /> දින {NUM_DAYS} ක් ඇතුළත ආපසු දීමට අවශ්‍යයි.<ph name="LINK_BEGIN" />විස්තර බලන්න<ph name="LINK_END" />}other{<ph name="MANAGER" /> හට ඔබ ඔබගේ දත්ත උපස්ථ කර මෙම <ph name="DEVICE_TYPE" /> දින {NUM_DAYS} ක් ඇතුළත ආපසු දීමට අවශ්‍යයි.<ph name="LINK_BEGIN" />විස්තර බලන්න<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">යෙදුම එක් කරන්න</translation>
+<translation id="5485435764083510385">කැමති සිරස්තල භාෂාව</translation>
 <translation id="5485754497697573575">සියලු ටැබ ප්‍රතිසාධනය කරන්න</translation>
 <translation id="5486261815000869482">රහස්වචනය තහවුරු කරන්න</translation>
 <translation id="5486561344817861625">බ්‍රවුසර යළි ආරම්භය ප්‍රති නිර්මාණය කරන්න</translation>
@@ -7391,6 +7394,7 @@
 <translation id="7400839060291901923">ඔබේ <ph name="PHONE_NAME" /> මත සම්බන්ධතාව පිහිටුවන්න</translation>
 <translation id="7401778920660465883">මෙම පණිවුඩය ඉවත ලන්න</translation>
 <translation id="7402198013420237102">සුරකින ලද මුරපද ඔබේ Google ගිණුමට ගෙන යන්න ද?</translation>
+<translation id="740333000181878130">උපාංග ආරම්භක ශබ්දය</translation>
 <translation id="7403642243184989645">සම්පත් බාගැනීම</translation>
 <translation id="7404065585741198296">USB කේබලයක් සහිත ඔබගේ දුරකථනය</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{ආරක්‍ෂක පරීක්‍ෂාව 1 පැයකට පෙර ධාවන විය}one{ආරක්‍ෂක පරීක්‍ෂාව පැය {NUM_HOURS} කට පෙර ධාවන විය}other{ආරක්‍ෂක පරීක්‍ෂාව පැය {NUM_HOURS} කට පෙර ධාවන විය}}</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index 81a41fc2..8cf7b5e 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Vyskytla sa chyba profilu</translation>
 <translation id="1253664522045778676">Kliknite na výsledok a stránka sa otvorí na aktuálnej karte</translation>
 <translation id="1254593899333212300">Priame pripojenie k Internetu</translation>
+<translation id="1256588359404100567">Nastavenie bolo synchronizované z vášho predchádzajúceho zariadenia.</translation>
 <translation id="1257336506558170607">Exportovať vybraný certifikát</translation>
 <translation id="1258491128795710625">Novinky</translation>
 <translation id="1259152067760398571">Kontrola bezpečnosti prebehla včera</translation>
@@ -527,6 +528,7 @@
 <translation id="1448779317883494811">Štetec</translation>
 <translation id="1449191289887455076">Ak chcete potvrdiť pridelenie a <ph name="RESPONSE" />, stlačte kláves <ph name="CURRENTKEY" />.</translation>
 <translation id="1451375123200651445">Webová stránka, jeden súbor</translation>
+<translation id="145280054552001290">Pridanie a odstránenie jazykov titulkov</translation>
 <translation id="1453561711872398978">Posielať <ph name="BEGIN_LINK" />denníky ladenia<ph name="END_LINK" /> (odporúča sa)</translation>
 <translation id="1454223536435069390">&amp;Vytvoriť snímku obrazovky</translation>
 <translation id="145432137617179457">Jazyky kontroly pravopisu</translation>
@@ -996,6 +998,7 @@
 <translation id="18260074040409954">Uložené heslá môžete používať v ľubovoľnom zariadení. Ukladajú sa do služby <ph name="GOOGLE_PASSWORD_MANAGER" /> účtu <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Synchronizujte záložky, heslá, históriu a ďalšie položky prehliadača Chrome</translation>
 <translation id="1826516787628120939">Kontroluje sa</translation>
+<translation id="1826657447823925402">Obrátené posúvanie je vypnuté</translation>
 <translation id="1827504459960247692">Názov hotspotu</translation>
 <translation id="1828378091493947763">Doplnok nie je v tomto zariadení podporovaný</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{Otvoriť všetky}=1{Otvoriť záložku}few{Otvoriť všetky ({COUNT})}many{Otvoriť všetky ({COUNT})}other{Otvoriť všetky ({COUNT})}}</translation>
@@ -1283,6 +1286,7 @@
 <translation id="2081816110395725788">Výkon pri nečinnosti počas napájania z batérie</translation>
 <translation id="2082187087049518845">Zoskupiť karty</translation>
 <translation id="2082510809738716738">Vyberte farbu motívu</translation>
+<translation id="2084891381052978619">Tieto možnosti nájdete v Nastaveniach po dokončení nastavovania Chromebooku</translation>
 <translation id="208586643495776849">Skúste to znova</translation>
 <translation id="208634871997892083">Vždy zapnutá VPN</translation>
 <translation id="2087822576218954668">Tlač: <ph name="PRINT_NAME" /></translation>
@@ -1352,6 +1356,7 @@
 <translation id="212862741129535676">Percento obsadenia priestoru údajmi stavu frekvencie</translation>
 <translation id="212876957201860463">Pripravuje sa nastavenie vášho mobilného zariadenia…</translation>
 <translation id="2131077480075264">Aplikáciu <ph name="APP_NAME" /> nie je možné nainštalovať, pretože nie je povolená v importe <ph name="IMPORT_NAME" /></translation>
+<translation id="2133775869826239001">Výber ďalších funkcií na nastavenie</translation>
 <translation id="2133857665503360653">Zopakovať pre súbor <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Certifikáty CA systému</translation>
 <translation id="21354425047973905">Skryť kódy PIN</translation>
@@ -2932,6 +2937,7 @@
 <translation id="347785443197175480">Aj naďalej povoliť stránkam <ph name="HOST" /> prístup ku kamere a mikrofónu</translation>
 <translation id="3479552764303398839">Teraz nie</translation>
 <translation id="3479685872808224578">Tlačový server sa nepodarilo rozpoznať. Skontrolujte adresu a skúste to znova.</translation>
+<translation id="3479753605053415848">Ak chcete prispôsobiť Chrome, kliknite</translation>
 <translation id="3480612136143976912">Vlastná veľkosť a štýl titulkov živého prepisu. Toto nastavenie budú používať aj niektoré aplikácie a weby.</translation>
 <translation id="3480827850068960424">Boli nájdené karty (<ph name="NUM" />)</translation>
 <translation id="3481268647794498892">O <ph name="COUNTDOWN_SECONDS" /> s sa otvorí v prehliadači <ph name="ALTERNATIVE_BROWSER_NAME" /></translation>
@@ -3225,6 +3231,7 @@
 <translation id="3738632186060045350">Údaje zariadenia <ph name="DEVICE_TYPE" /> budú do 24 hodín odstránené</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Otvoriť <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Zmenšiť veľkosť zobrazenia a textu</translation>
 <translation id="3741056951918180319">Na rozšírenie môžete kedykoľvek kliknúť a použiť ho tak na ľubovoľnom webe</translation>
 <translation id="3742235229730461951">Kórejské rozloženie klávesnice</translation>
 <translation id="3742666961763734085">Nepodarilo sa nájsť organizačnú jednotku s daným názvom. Skúste to znova.</translation>
@@ -3603,6 +3610,7 @@
 <translation id="4044612648082411741">Zadajte heslo certifikátu</translation>
 <translation id="4044708573046946214">Heslo zámky obrazovky</translation>
 <translation id="404493185430269859">Predvolený vyhľadávač</translation>
+<translation id="4045196801416070837">Zvuky zariadenia</translation>
 <translation id="4046013316139505482">Tieto rozšírenia nepotrebujú zobrazovať a meniť informácie na tomto webe.</translation>
 <translation id="4046123991198612571">Ďalšia skladba</translation>
 <translation id="4047345532928475040">Nepoužiteľné</translation>
@@ -4052,6 +4060,7 @@
 <translation id="4444512841222467874">Ak nie je dostatok miesta, môže dôjsť k automatickému odstráneniu používateľov a dát.</translation>
 <translation id="4445446646109808714">Licenčná zmluva s koncovým používateľom: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Zrkadlené</translation>
+<translation id="4448560527907365660">Uložiť a zobraziť viac</translation>
 <translation id="4448914100439890108">Skryť heslo používateľa <ph name="USERNAME" /> v doméne <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Spravovať povolenia</translation>
 <translation id="4449948729197510913">Vaše používateľské meno patrí do pracovného účtu vašej organizácie. Ak chcete do tohto účtu zaregistrovať zariadenia, najprv overte vlastníctvo domény v Správcovskej konzole. Na overenie budete potrebovať správcovské oprávnenia pre daný účet.</translation>
@@ -5205,7 +5214,9 @@
 <translation id="5481941284378890518">Pridať tlačiarne v okolí</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> vyžaduje, aby ste zálohovali svoje údaje a ešte dnes zariadenie <ph name="DEVICE_TYPE" /> vrátili. <ph name="LINK_BEGIN" />Zobraziť podrobnosti<ph name="LINK_END" />}few{<ph name="MANAGER" /> vyžaduje, aby ste zálohovali svoje údaje a zariadenie <ph name="DEVICE_TYPE" /> do {NUM_DAYS} dní vrátili. <ph name="LINK_BEGIN" />Zobraziť podrobnosti<ph name="LINK_END" />}many{<ph name="MANAGER" /> vyžaduje, aby ste zálohovali svoje údaje a zariadenie <ph name="DEVICE_TYPE" /> do {NUM_DAYS} dňa vrátili. <ph name="LINK_BEGIN" />Zobraziť podrobnosti<ph name="LINK_END" />}other{<ph name="MANAGER" /> vyžaduje, aby ste zálohovali svoje údaje a zariadenie <ph name="DEVICE_TYPE" /> do {NUM_DAYS} dní vrátili. <ph name="LINK_BEGIN" />Zobraziť podrobnosti<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Pridať aplikáciu</translation>
+<translation id="5485435764083510385">Preferovaný jazyk titulkov</translation>
 <translation id="5485754497697573575">Obnoviť všetky karty</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> môže vyžadovať novší alebo iný typ zariadenia</translation>
 <translation id="5486261815000869482">Potvrďte heslo</translation>
 <translation id="5486561344817861625">Simulovať reštartovanie prehliadača</translation>
 <translation id="5487460042548760727">Premenovať profil na <ph name="PROFILE_NAME" /></translation>
@@ -5560,6 +5571,7 @@
 <translation id="5799508265798272974">Virtuálny počítač so systémom Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Cieľový súbor bol od posledného stiahnutia upravený alebo odstránený.</translation>
 <translation id="5800351251499368110">Zavrite vyhľadávanie na bočnom paneli. Vyhľadávanie je otvorené na bočnom paneli.</translation>
+<translation id="5800703268655655701">Výber svetlého alebo tmavého motívu</translation>
 <translation id="5801051031414037185">Nastaviť telefón</translation>
 <translation id="5801568494490449797">Predvoľby</translation>
 <translation id="5803689677801500549">Tu sa zobrazia uložené heslá. Ak chcete importovať heslá používateľa <ph name="USER_EMAIL" /> do služby <ph name="BRAND" />, <ph name="BEGIN_LINK" />vyberte súbor CSV.<ph name="END_LINK" /></translation>
@@ -6950,6 +6962,7 @@
 <translation id="6993050154661569036">Prehliadač Chrome sa aktualizuje</translation>
 <translation id="6995899638241819463">Upozorňovať pri prezradení hesiel v rámci porušenia ochrany údajov</translation>
 <translation id="6995984090981858039">Čítať informácie a údaje zo zariadení ChromeOS</translation>
+<translation id="6996438701394974959">Zväčšiť veľkosť zobrazenia a textu</translation>
 <translation id="6997553674029032185">Prejsť na web</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – denník aktivít</translation>
 <translation id="6997707937646349884">V zariadeniach:</translation>
@@ -7392,6 +7405,7 @@
 <translation id="7400839060291901923">Nastavenie pripojenia v telefóne <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Zrušiť túto správu</translation>
 <translation id="7402198013420237102">Chcete uložené heslá presunúť do účtu Google?</translation>
+<translation id="740333000181878130">Zvuk pri spustení zariadenia</translation>
 <translation id="7403642243184989645">Sťahujú sa zdroje</translation>
 <translation id="7404065585741198296">Telefón s káblom USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Kontrola bezpečnosti prebehla pred hodinou}few{Kontrola bezpečnosti prebehla pred {NUM_HOURS} hodinami}many{Kontrola bezpečnosti prebehla pred {NUM_HOURS} hodiny}other{Kontrola bezpečnosti prebehla pred {NUM_HOURS} hodinami}}</translation>
@@ -7875,6 +7889,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Pozadie úvodnej stránky bolo zmenené na: <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Obrátené posúvanie je zapnuté</translation>
 <translation id="7791543448312431591">Pridať</translation>
 <translation id="7792012425874949788">Počas prihlasovania sa vyskytla chyba</translation>
 <translation id="7792388396321542707">Zastaviť zdieľanie</translation>
@@ -8041,6 +8056,7 @@
 <translation id="7935451262452051102">Dokončené: <ph name="PERCENT" /> %</translation>
 <translation id="7939062555109487992">Rozšírené možnosti</translation>
 <translation id="7939073735115504773">Ak chcete čítať a zmeniť web <ph name="HOST" />, kliknite na ikonu tohto rozšírenia</translation>
+<translation id="793923212791838">Vaše zariadenie s týmto webom nedá použiť</translation>
 <translation id="7939328347457537652">Správa certifikátov zariadení</translation>
 <translation id="7939412583708276221">Aj tak ponechať</translation>
 <translation id="7940265372707990269">Zoradiť podľa: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index 4ac78d0..396f98b 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -319,6 +319,7 @@
 <translation id="1252987234827889034">Prišlo je do napake profila</translation>
 <translation id="1253664522045778676">Kliknite rezultat in stran se bo odprla na trenutnem zavihku.</translation>
 <translation id="1254593899333212300">Neposredna internetna povezava</translation>
+<translation id="1256588359404100567">Nastavitev je sinhronizirana iz prejšnje naprave.</translation>
 <translation id="1257336506558170607">Izvozi izbrano potrdilo</translation>
 <translation id="1258491128795710625">Novosti</translation>
 <translation id="1259152067760398571">Varnostno preverjanje je bilo izvedeno včeraj</translation>
@@ -1009,6 +1010,7 @@
 <translation id="18260074040409954">Shranjena gesla lahko uporabljate v poljubni napravi. Shranijo se v storitev <ph name="GOOGLE_PASSWORD_MANAGER" /> za uporabnika <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinhroniziranje zaznamkov, gesel, zgodovine in drugega v Chromu</translation>
 <translation id="1826516787628120939">Preverjanje</translation>
+<translation id="1826657447823925402">Obratno pomikanje je onemogočeno</translation>
 <translation id="1827504459960247692">Ime dostopne točke</translation>
 <translation id="1828378091493947763">Ta vtičnik ni podprt v tej napravi</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Odpri vse}=1{&amp;Odpri zaznamek}one{&amp;Odpri vse ({COUNT})}two{&amp;Odpri vse ({COUNT})}few{&amp;Odpri vse ({COUNT})}other{&amp;Odpri vse ({COUNT})}}</translation>
@@ -1297,6 +1299,7 @@
 <translation id="2081816110395725788">Nedejavnost pri napajanju iz baterije</translation>
 <translation id="2082187087049518845">Uvrsti zavihek v skupino</translation>
 <translation id="2082510809738716738">Izbira barve teme</translation>
+<translation id="2084891381052978619">Ti možnosti sta na voljo tudi v nastavitvah po končani nastavitvi Chromebooka</translation>
 <translation id="208586643495776849">Poskusite znova</translation>
 <translation id="208634871997892083">Stalno vklopljen VPN</translation>
 <translation id="2087822576218954668">Tiskanje: <ph name="PRINT_NAME" /></translation>
@@ -1366,6 +1369,7 @@
 <translation id="212862741129535676">Odstotek zasedenosti frekvenčnega stanja</translation>
 <translation id="212876957201860463">Pripravljanje nastavitve mobilne naprave …</translation>
 <translation id="2131077480075264">»<ph name="APP_NAME" />« ni mogoče namestiti, ker »<ph name="IMPORT_NAME" />« tega ne dovoli.</translation>
+<translation id="2133775869826239001">Izbira več funkcij za nastavitev</translation>
 <translation id="2133857665503360653">Vnovičen poskus datoteke <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Sistemski overitelji potrdil</translation>
 <translation id="21354425047973905">Skrivanje kod PIN</translation>
@@ -2533,6 +2537,7 @@
 <translation id="3088325635286126843">&amp;Preimenuj ...</translation>
 <translation id="3089137131053189723">Iskanje je izbrisano</translation>
 <translation id="3089941350495701096">&amp;Bralni seznam</translation>
+<translation id="3089948625237571254">K&amp;opiraj okvir videa</translation>
 <translation id="3090227230165225418">Najava obvestil za prenos</translation>
 <translation id="3090589793601454425">Brez premikanja</translation>
 <translation id="3090819949319990166">Zunanje datoteke crx ni mogoče kopirati v <ph name="TEMP_CRX_FILE" />.</translation>
@@ -2949,6 +2954,7 @@
 <translation id="347785443197175480">Še naprej omogočaj gostitelju <ph name="HOST" /> dostop do kamere in mikrofona</translation>
 <translation id="3479552764303398839">Ne zdaj</translation>
 <translation id="3479685872808224578">Tiskalnega strežnika ni bilo mogoče zaznati. Preverite naslov in poskusite znova.</translation>
+<translation id="3479753605053415848">Kliknite, če želite prilagoditi Chrome</translation>
 <translation id="3480612136143976912">Prilagodite velikost in slog podnapisov za samodejne podnapise. To nastavitev bodo prav tako uporabljale nekatere aplikacije in spletna mesta.</translation>
 <translation id="3480827850068960424">Najdeni zavihki (<ph name="NUM" />)</translation>
 <translation id="3481268647794498892">Odpiranje v brskalniku <ph name="ALTERNATIVE_BROWSER_NAME" /> čez <ph name="COUNTDOWN_SECONDS" /> s</translation>
@@ -3034,6 +3040,7 @@
 <translation id="3559262020195162408">Namestitev pravilnika v napravi ni uspela.</translation>
 <translation id="3559533181353831840">Še približno <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">&amp;Preverjanje črkovanja</translation>
+<translation id="3561201631376780358">Odprite stransko podokno, če si želite ogledati vse zaznamke</translation>
 <translation id="3562423906127931518">To lahko traja nekaj minut. Nastavljanje vsebnika za Linux.</translation>
 <translation id="3562655211539199254">Oglejte si nedavne Chromove zavihke iz telefona.</translation>
 <translation id="3563432852173030730">Aplikacije Kiosk ni bilo mogoče prenesti.</translation>
@@ -3242,6 +3249,7 @@
 <translation id="3738632186060045350">Podatki v napravi <ph name="DEVICE_TYPE" /> bodo izbrisani v 24 urah</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Želite odpreti aplikacijo <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Zmanjšanje velikosti prikaza in besedila</translation>
 <translation id="3741056951918180319">Razširitev lahko vedno kliknete, da jo uporabite na poljubnem spletnem mestu.</translation>
 <translation id="3742235229730461951">Razporeditev tipkovnice za korejščino</translation>
 <translation id="3742666961763734085">Organizacijske enote s tem imenom ni mogoče najti. Poskusite znova.</translation>
@@ -4070,6 +4078,7 @@
 <translation id="4444512841222467874">Če ne sprostite prostora, bodo uporabniki in podatki morda samodejno odstranjeni.</translation>
 <translation id="4445446646109808714">Licenčna pogodba za končnega uporabnika: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Zrcaljeno</translation>
+<translation id="4448560527907365660">Shrani in prikaži več</translation>
 <translation id="4448914100439890108">Skrivanje gesla za uporabniško ime <ph name="USERNAME" /> v domeni <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Upravljanje dovoljenj</translation>
 <translation id="4449948729197510913">Uporabniško ime pripada računu podjetja organizacije. Če želite včlaniti naprave v račun, najprej v konzoli Admin console preverite lastništvo domene. Če ga boste želeli preveriti, boste potrebovali skrbniške pravice v računu.</translation>
@@ -4881,6 +4890,7 @@
 <translation id="5173668317844998239">Dodajanje in brisanje prstnih odtisov, shranjenih v varnostnem ključu</translation>
 <translation id="5174169235862638850">Geslo je kopirano v odložišče.</translation>
 <translation id="5175379009094579629">Ime naprave je neveljavno. Vnesite veljavno ime naprave, če želite poskusiti znova.</translation>
+<translation id="5176787661653201403">K&amp;opiraj okvir videa</translation>
 <translation id="5177479852722101802">Še naprej blokiraj dostop do kamere in mikrofona</translation>
 <translation id="5177549709747445269">Uporabljate prenos podatkov v mobilnem omrežju</translation>
 <translation id="5178667623289523808">Poišči prejšnje</translation>
@@ -5226,6 +5236,7 @@
 <translation id="5485102783864353244">Dodaj aplikacijo</translation>
 <translation id="5485435764083510385">Prednostni jezik podnapisov</translation>
 <translation id="5485754497697573575">Obnovi vse zavihke</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> morda zahteva novejšo ali drugačno vrsto naprave</translation>
 <translation id="5486261815000869482">Potrditev gesla</translation>
 <translation id="5486561344817861625">Posnemaj vnovični zagon brskalnika</translation>
 <translation id="5487460042548760727">Preimenuj profil v <ph name="PROFILE_NAME" /></translation>
@@ -5329,6 +5340,7 @@
 <translation id="5571066253365925590">Bluetooth omogočen</translation>
 <translation id="5571092938913434726">Globalni kontrolniki predstavnosti</translation>
 <translation id="5571832155627049070">Prilagodite svoj profil</translation>
+<translation id="5572166921642484567">Izbira načina barvne sheme</translation>
 <translation id="5572252023412311448">Prikaz podrobnosti spletnega mesta za <ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">V naslovni vrstici boste prejemali izboljšane predloge.</translation>
 <translation id="557506220935336383">Ogled dovoljenj razširitev za druga spletna mesta</translation>
@@ -5582,6 +5594,7 @@
 <translation id="5799508265798272974">Navidezni računalnik za Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Ciljna datoteka je bila po zadnjem prenosu okrnjena ali odstranjena.</translation>
 <translation id="5800351251499368110">Zapri iskanje v stranskem podoknu. Iskanje je odprto v stranskem podoknu.</translation>
+<translation id="5800703268655655701">Izberite svetlo ali temno temo</translation>
 <translation id="5801051031414037185">Nastavitev telefona</translation>
 <translation id="5801568494490449797">Nastavitve</translation>
 <translation id="5803689677801500549">Shranjena gesla bodo prikazana tukaj. Če želite v izdelek <ph name="BRAND" /> uvoziti gesla za račun <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />izberite datoteko CSV<ph name="END_LINK" />.</translation>
@@ -6974,6 +6987,7 @@
 <translation id="6993050154661569036">Posodabljanje brskalnika Chrome</translation>
 <translation id="6995899638241819463">Posvari, če so gesla razkrita zaradi podatkovne kršitve</translation>
 <translation id="6995984090981858039">Branje podatkov o napravi Chrome OS in podatkov</translation>
+<translation id="6996438701394974959">Povečanje velikosti prikaza in besedila</translation>
 <translation id="6997553674029032185">Na spletno mesto</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – dnevnik dejavnosti</translation>
 <translation id="6997707937646349884">V vaših napravah:</translation>
@@ -7901,6 +7915,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Ozadje začetne strani je spremenjeno v <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Obratno pomikanje je omogočeno</translation>
 <translation id="7791543448312431591">Dodaj</translation>
 <translation id="7792012425874949788">Nekaj je šlo narobe pri prijavi</translation>
 <translation id="7792388396321542707">Ustavi souporabo</translation>
@@ -8067,6 +8082,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> % dokončano</translation>
 <translation id="7939062555109487992">Dodatne možnosti</translation>
 <translation id="7939073735115504773">Kliknite ikono te razširitve, če želite prebrati in spremeniti spletno mesto <ph name="HOST" />.</translation>
+<translation id="793923212791838">Naprave ni mogoče uporabljati s tem spletnim mestom</translation>
 <translation id="7939328347457537652">Upravljanje potrdil v napravi</translation>
 <translation id="7939412583708276221">Vseeno obdrži</translation>
 <translation id="7940265372707990269">Razvrsti glede na to: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb
index 29d768a..543bfad 100644
--- a/chrome/app/resources/generated_resources_sq.xtb
+++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">Ndodhi një gabim i profilit</translation>
 <translation id="1253664522045778676">Kliko te një rezultat dhe faqja do të hapet në skedën tënde aktuale</translation>
 <translation id="1254593899333212300">Lidhje direkte e internetit</translation>
+<translation id="1256588359404100567">Cilësimi u sinkronizua nga pajisja jote e mëparshme.</translation>
 <translation id="1257336506558170607">Eksporto certifikatën e zgjedhur</translation>
 <translation id="1258491128795710625">Më të rejat</translation>
 <translation id="1259152067760398571">Kontrolli i sigurisë u ekzekutua dje</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">Vegla e furçës</translation>
 <translation id="1449191289887455076">Shtyp përsëri "<ph name="CURRENTKEY" />" për të konfirmuar caktimin dhe <ph name="RESPONSE" />.</translation>
 <translation id="1451375123200651445">Faqja e uebit, një skedar i vetëm</translation>
+<translation id="145280054552001290">Shto dhe hiq gjuhët për titrat</translation>
 <translation id="1453561711872398978">Dërgo <ph name="BEGIN_LINK" />evidencat e korrigjimit<ph name="END_LINK" /> (rekomandohet)</translation>
 <translation id="1454223536435069390">&amp;Nxirr një pamje të ekranit</translation>
 <translation id="145432137617179457">Gjuhët e kontrollit drejtshkrimor</translation>
@@ -991,6 +993,7 @@
 <translation id="18260074040409954">Fjalëkalimet e ruajtura mund t'i përdorësh në çdo pajisje. Ato ruhen në <ph name="GOOGLE_PASSWORD_MANAGER" /> për <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinkronizo faqeshënuesit, fjalëkalimet, historikun etj. të shfletuesit tënd Chrome</translation>
 <translation id="1826516787628120939">Po kontrollon</translation>
+<translation id="1826657447823925402">Lëvizja në të kundërt u çaktivizua</translation>
 <translation id="1827504459960247692">Emri i zonës së qasjes për internet</translation>
 <translation id="1828378091493947763">Ky përbërës shtesë nuk mbështetet në këtë pajisje</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Hapi të gjitha}=1{&amp;Hap faqeshënuesin}other{&amp;Hapi të gjitha ({COUNT})}}</translation>
@@ -1278,6 +1281,7 @@
 <translation id="2081816110395725788">Energjia e gjendjes joaktive është me bateri</translation>
 <translation id="2082187087049518845">Skeda e grupit</translation>
 <translation id="2082510809738716738">Zgjidh një ngjyrë teme</translation>
+<translation id="2084891381052978619">Këto opsione mund t'i gjesh po ashtu te "Cilësimet" pasi të përfundosh me konfigurimin e Chromebook</translation>
 <translation id="208586643495776849">Provo sërish</translation>
 <translation id="208634871997892083">Rrjeti VPN gjithmonë aktiv</translation>
 <translation id="2087822576218954668">Printo: <ph name="PRINT_NAME" /></translation>
@@ -1347,6 +1351,7 @@
 <translation id="212862741129535676">Përqindja e shfrytëzimit të gjendjes së frekuencës</translation>
 <translation id="212876957201860463">Po përgatitet të konfigurojë pajisjen tënde celulare...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" nuk mund të instalohet sepse nuk lejohet nga "<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">Zgjidh veçori të tjera për të konfiguruar</translation>
 <translation id="2133857665503360653">Riprovo <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Certifikatat CA të sistemit</translation>
 <translation id="21354425047973905">Fshih kodet PIN</translation>
@@ -2928,6 +2933,7 @@
 <translation id="347785443197175480">Vazhdo të lejosh <ph name="HOST" /> që të qaset te kamera dhe mikrofoni</translation>
 <translation id="3479552764303398839">Jo tani</translation>
 <translation id="3479685872808224578">Serveri i printimit nuk mund të zbulohej. Kontrollo adresën dhe provo përsëri.</translation>
+<translation id="3479753605053415848">Kliko për të personalizuar Chrome</translation>
 <translation id="3480612136143976912">Personalizo madhësinë dhe stilin e nëntitullit për "Titrat në çast". Disa aplikacione dhe faqe do ta përdorin gjithashtu këtë cilësim.</translation>
 <translation id="3480827850068960424">U gjetën <ph name="NUM" /> skeda</translation>
 <translation id="3481268647794498892">Po hapet në <ph name="ALTERNATIVE_BROWSER_NAME" /> pas <ph name="COUNTDOWN_SECONDS" /> sekondash</translation>
@@ -3221,6 +3227,7 @@
 <translation id="3738632186060045350">Të dhënat e pajisjes <ph name="DEVICE_TYPE" /> do të fshihen brenda 24 orësh</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Të hapet <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Zvogëlo madhësinë e ekranit dhe të tekstit</translation>
 <translation id="3741056951918180319">Mund të klikosh gjithmonë te shtesa për ta përdorur atë në çdo sajt</translation>
 <translation id="3742235229730461951">Struktura e tastierës koreane</translation>
 <translation id="3742666961763734085">Nuk mund të gjendej njësi organizative me atë emër. Provo sërish.</translation>
@@ -3599,6 +3606,7 @@
 <translation id="4044612648082411741">Fut fjalëkalimin e certifikatës</translation>
 <translation id="4044708573046946214">Fjalëkalimi i kyçjes së ekranit</translation>
 <translation id="404493185430269859">Motori kërkimor me parazgjedhje</translation>
+<translation id="4045196801416070837">Tingujt e pajisjes</translation>
 <translation id="4046013316139505482">Këto shtesa nuk kanë nevojë të shikojnë dhe të ndryshojnë informacionet në këtë sajt.</translation>
 <translation id="4046123991198612571">Kënga tjetër</translation>
 <translation id="4047345532928475040">Nuk ofrohet</translation>
@@ -4048,6 +4056,7 @@
 <translation id="4444512841222467874">Nëse nuk është bërë e disponueshme hapësira, përdoruesit dhe të dhënat mund të hiqen automatikisht.</translation>
 <translation id="4445446646109808714">Marrëveshja për licencën e përdoruesit fundor: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">I pasqyruar</translation>
+<translation id="4448560527907365660">Ruaj dhe shiko më shumë</translation>
 <translation id="4448914100439890108">Fshih fjalëkalimin për <ph name="USERNAME" /> në <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Menaxho lejet</translation>
 <translation id="4449948729197510913">Emri yt i përdoruesit i përket llogarisë së ndërmarrjes së organizatës sate. Për të regjistruar pajisjet te llogaria, në fillim verifiko pronësinë e domenit në "Panelin e administratorit". Do të duhen privilegjet administrative në llogari për ta verifikuar.</translation>
@@ -5200,7 +5209,9 @@
 <translation id="5481941284378890518">Shto printerët në afërsi</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> kërkon që të rezervosh të dhënat e tua dhe ta kthesh këtë pajisje <ph name="DEVICE_TYPE" /> sot. <ph name="LINK_BEGIN" />Shiko detajet<ph name="LINK_END" />}other{<ph name="MANAGER" /> kërkon që t'i rezervosh të dhënat e tua dhe ta kthesh këtë pajisje <ph name="DEVICE_TYPE" /> brenda {NUM_DAYS} ditëve. <ph name="LINK_BEGIN" />Shiko detajet<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Shto një aplikacion</translation>
+<translation id="5485435764083510385">Gjuha e preferuar e titrave</translation>
 <translation id="5485754497697573575">Restauro të gjitha skedat</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> mund të kërkojë një pajisje më të re ose një lloj tjetër pajisjeje</translation>
 <translation id="5486261815000869482">Konfirmo fjalëkalimin</translation>
 <translation id="5486561344817861625">Simulo rifillimin e shfletimit</translation>
 <translation id="5487460042548760727">Riemërtoje profilin si <ph name="PROFILE_NAME" /></translation>
@@ -5555,6 +5566,7 @@
 <translation id="5799508265798272974">Pajisja virtuale Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Skedari i destinacionit u shkurtua ose u hoq që nga shkarkimi i fundit.</translation>
 <translation id="5800351251499368110">Mbyll kërkimin në panelin anësor. Kërkimi është i hapur në panelin anësor.</translation>
+<translation id="5800703268655655701">Zgjidh temën e ndriçuar ose të errët</translation>
 <translation id="5801051031414037185">Konfiguro telefonin</translation>
 <translation id="5801568494490449797">Preferencat</translation>
 <translation id="5803689677801500549">Fjalëkalimet e ruajtura do të shfaqen këtu. Për të importuar fjalëkalimet te "<ph name="BRAND" />" për <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />zgjidh një skedar CSV<ph name="END_LINK" />.</translation>
@@ -6941,6 +6953,7 @@
 <translation id="6993050154661569036">Shfletuesi Chrome po përditësohet</translation>
 <translation id="6995899638241819463">Të të paralajmërojë nëse fjalëkalimet janë ekspozuar në një nxjerrje të paautorizuar të të dhënave</translation>
 <translation id="6995984090981858039">Të lexojë informacionet dhe të dhënat e pajisjes me ChromeOS</translation>
+<translation id="6996438701394974959">Rrit madhësinë e ekranit dhe të tekstit</translation>
 <translation id="6997553674029032185">Shko tek sajti</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Evidenca e aktivitetit</translation>
 <translation id="6997707937646349884">Në pajisjet e tua:</translation>
@@ -7383,6 +7396,7 @@
 <translation id="7400839060291901923">Konfiguro lidhjen në telefonin tënd <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Hiqe këtë mesazh</translation>
 <translation id="7402198013420237102">Të zhvendosen fjalëkalimet e ruajtura te "Llogaria jote e Google"?</translation>
+<translation id="740333000181878130">Tingulli i nisjes së pajisjes</translation>
 <translation id="7403642243184989645">Po shkarkohen burimet</translation>
 <translation id="7404065585741198296">Telefoni yt me një kabllo USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Kontrolli i sigurisë u ekzekutua 1 orë më parë}other{Kontrolli i sigurisë u ekzekutua {NUM_HOURS} orë më parë}}</translation>
@@ -7866,6 +7880,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Sfondi i faqes së nisjes është ndryshuar në <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Lëvizja në të kundërt u aktivizua</translation>
 <translation id="7791543448312431591">Shtoje</translation>
 <translation id="7792012425874949788">Diçka shkoi keq me identifikimin</translation>
 <translation id="7792388396321542707">Ndalo ndarjen</translation>
@@ -8032,6 +8047,7 @@
 <translation id="7935451262452051102">Ka përfunduar <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Opsionet e përparuara</translation>
 <translation id="7939073735115504773">Kliko tek ikona e kësaj shtese që shtesa të mund të lexojë dhe të ndryshojë <ph name="HOST" /></translation>
+<translation id="793923212791838">Pajisja jote nuk mund të përdoret me këtë sajt</translation>
 <translation id="7939328347457537652">Menaxho certifikatat e pajisjes</translation>
 <translation id="7939412583708276221">Mbaje gjithsesi</translation>
 <translation id="7940265372707990269">Rendit sipas: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index 8340f8a..3ac05ab6 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Došlo je do greške na profilu</translation>
 <translation id="1253664522045778676">Kliknite na rezultat i stranica će se otvoriti na trenutnoj kartici</translation>
 <translation id="1254593899333212300">Direktna veza sa internetom</translation>
+<translation id="1256588359404100567">Podešavanje je sinhronizovano sa prethodnog uređaja.</translation>
 <translation id="1257336506558170607">Izvezite izabrani sertifikat</translation>
 <translation id="1258491128795710625">Šta je novo</translation>
 <translation id="1259152067760398571">Bezbednosna provera je pokrenuta juče</translation>
@@ -994,6 +995,7 @@
 <translation id="18260074040409954">Možete da koristite sačuvane lozinke na bilo kom uređaju. Čuvaju se u <ph name="GOOGLE_PASSWORD_MANAGER" /> za <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Sinhronizujte obeleživače, lozinke, istoriju i drugo u Chrome pregledaču</translation>
 <translation id="1826516787628120939">Provera</translation>
+<translation id="1826657447823925402">Obrnuto skrolovanje je onemogućeno</translation>
 <translation id="1827504459960247692">Naziv hotspota</translation>
 <translation id="1828378091493947763">Ova dodatna komponenta nije podržana na ovom uređaju</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Otvori sve}=1{&amp;Otvori obeleživač}one{&amp;Otvori sve ({COUNT})}few{&amp;Otvori sve ({COUNT})}other{&amp;Otvori sve ({COUNT})}}</translation>
@@ -1281,6 +1283,7 @@
 <translation id="2081816110395725788">Napajanje tokom neaktivnosti kad se koristi baterija</translation>
 <translation id="2082187087049518845">Dodajte karticu u grupu</translation>
 <translation id="2082510809738716738">Izaberite boju teme</translation>
+<translation id="2084891381052978619">Ove opcije možete da nađete i u Podešavanjima kada završite sa podešavanjem Chromebook-a</translation>
 <translation id="208586643495776849">Probajte ponovo</translation>
 <translation id="208634871997892083">Stalno uključen VPN</translation>
 <translation id="2087822576218954668">Štampanje: <ph name="PRINT_NAME" /></translation>
@@ -1350,6 +1353,7 @@
 <translation id="212862741129535676">Procenat zauzetosti stanja frekvencije</translation>
 <translation id="212876957201860463">Podešavanje mobilnog uređaja se priprema...</translation>
 <translation id="2131077480075264">Nije uspelo instaliranje „<ph name="APP_NAME" />“ jer to ne dozvoljava „<ph name="IMPORT_NAME" />“</translation>
+<translation id="2133775869826239001">Odaberite dodatne funkcije za podešavanje</translation>
 <translation id="2133857665503360653">Ponovo otvorite <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA-ovi za sistem</translation>
 <translation id="21354425047973905">Sakrij PIN-ove</translation>
@@ -2931,6 +2935,7 @@
 <translation id="347785443197175480">I dalje dozvoljavaj sajtu <ph name="HOST" /> da pristupa kameri i mikrofonu</translation>
 <translation id="3479552764303398839">Ne sada</translation>
 <translation id="3479685872808224578">Otkrivanje servera za štampanje nije uspelo. Proverite adresu i probajte ponovo.</translation>
+<translation id="3479753605053415848">Kliknite da biste prilagodili Chrome</translation>
 <translation id="3480612136143976912">Prilagodite veličinu i stil titla uživo. Neke aplikacije i sajtovi takođe koriste ovo podešavanje.</translation>
 <translation id="3480827850068960424">Pronađenih kartica: <ph name="NUM" /></translation>
 <translation id="3481268647794498892">Otvara se u pregledaču <ph name="ALTERNATIVE_BROWSER_NAME" /> za <ph name="COUNTDOWN_SECONDS" /> sek</translation>
@@ -3225,6 +3230,7 @@
 <translation id="3738632186060045350">Podaci sa uređaja <ph name="DEVICE_TYPE" /> će biti izbrisani za 24 sata</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Želite li da otvorite <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Smanjite veličinu prikaza i teksta</translation>
 <translation id="3741056951918180319">Uvek možete da kliknete na dodatak da biste ga koristili na bilo kom sajtu</translation>
 <translation id="3742235229730461951">Raspored tastera na tastaturi za korejski</translation>
 <translation id="3742666961763734085">Ne možemo da pronađemo organizacionu jedinicu sa tim nazivom. Probajte ponovo.</translation>
@@ -4053,6 +4059,7 @@
 <translation id="4444512841222467874">Ako ne oslobodite prostor, korisnici i podaci će možda automatski biti uklonjeni.</translation>
 <translation id="4445446646109808714">Ugovor o licenciranju sa krajnjim korisnikom: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Preslikano</translation>
+<translation id="4448560527907365660">Sačuvaj i prikaži još</translation>
 <translation id="4448914100439890108">Sakrijte lozinku za <ph name="USERNAME" /> na <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Upravljajte dozvolama</translation>
 <translation id="4449948729197510913">Vaše korisničko ime pripada nalogu preduzeća vaše organizacije. Da biste registrovali uređaje na nalogu, potvrdite vlasništvo nad domenom na administratorskoj konzoli. Za potvrdu su vam potrebne administrativne privilegije.</translation>
@@ -5208,6 +5215,7 @@
 <translation id="5485102783864353244">Dodaj aplikaciju</translation>
 <translation id="5485435764083510385">Željeni jezik titla</translation>
 <translation id="5485754497697573575">Vrati sve kartice</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> možda zahteva noviju ili drugačiju vrstu uređaja</translation>
 <translation id="5486261815000869482">Potvrdite lozinku</translation>
 <translation id="5486561344817861625">Simuliraj ponovno pokretanje pregledača</translation>
 <translation id="5487460042548760727">Preimenujte profil u <ph name="PROFILE_NAME" /></translation>
@@ -5564,6 +5572,7 @@
 <translation id="5799508265798272974">Linux virtuelna mašina: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Odredišna datoteka je skraćena ili uklonjena od poslednjeg preuzimanja.</translation>
 <translation id="5800351251499368110">Zatvorite pretragu na bočnoj tabli. Pretraga je otvorena na bočnoj tabli.</translation>
+<translation id="5800703268655655701">Izaberite svetlu ili tamnu temu</translation>
 <translation id="5801051031414037185">Podesite telefon</translation>
 <translation id="5801568494490449797">Podešavanja</translation>
 <translation id="5803689677801500549">Sačuvane lozinke će se pojaviti ovde. Da biste uvezli lozinke u <ph name="BRAND" /> za <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />izaberite CSV fajl<ph name="END_LINK" />.</translation>
@@ -6954,6 +6963,7 @@
 <translation id="6993050154661569036">Pregledač Chrome se ažurira</translation>
 <translation id="6995899638241819463">Upozori me ako su lozinke otkrivene pri upadu u podatke</translation>
 <translation id="6995984090981858039">Čitanje informacija o ChromeOS uređaju i podataka sa uređaja</translation>
+<translation id="6996438701394974959">Povećajte veličinu prikaza i teksta</translation>
 <translation id="6997553674029032185">Idi na sajt</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Evidencija aktivnosti</translation>
 <translation id="6997707937646349884">Na uređajima:</translation>
@@ -7881,6 +7891,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Pozadina početne stranice je promenjena u: <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Obrnuto skrolovanje je omogućeno</translation>
 <translation id="7791543448312431591">Dodaj</translation>
 <translation id="7792012425874949788">Došlo je do greške sa prijavljivanjem</translation>
 <translation id="7792388396321542707">Zaustavi deljenje</translation>
@@ -8047,6 +8058,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% je završeno</translation>
 <translation id="7939062555109487992">Napredne opcije</translation>
 <translation id="7939073735115504773">Kliknite na ikonu ovog dodatka da biste čitali i menjali <ph name="HOST" /></translation>
+<translation id="793923212791838">Uređaj ne može da se koristi sa ovim sajtom</translation>
 <translation id="7939328347457537652">Upravljajte sertifikatima uređaja</translation>
 <translation id="7939412583708276221">Ipak zadrži</translation>
 <translation id="7940265372707990269">Sortiraj prema: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index 7a5afc1..eef1e3a8 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Дошло је до грешке на профилу</translation>
 <translation id="1253664522045778676">Кликните на резултат и страница ће се отворити на тренутној картици</translation>
 <translation id="1254593899333212300">Директна веза са интернетом</translation>
+<translation id="1256588359404100567">Подешавање је синхронизовано са претходног уређаја.</translation>
 <translation id="1257336506558170607">Извезите изабрани сертификат</translation>
 <translation id="1258491128795710625">Шта је ново</translation>
 <translation id="1259152067760398571">Безбедносна провера је покренута јуче</translation>
@@ -994,6 +995,7 @@
 <translation id="18260074040409954">Можете да користите сачуване лозинке на било ком уређају. Чувају се у <ph name="GOOGLE_PASSWORD_MANAGER" /> за <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Синхронизујте обележиваче, лозинке, историју и друго у Chrome прегледачу</translation>
 <translation id="1826516787628120939">Провера</translation>
+<translation id="1826657447823925402">Обрнуто скроловање је онемогућено</translation>
 <translation id="1827504459960247692">Назив хотспота</translation>
 <translation id="1828378091493947763">Ова додатна компонента није подржана на овом уређају</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Отвори све}=1{&amp;Отвори обележивач}one{&amp;Отвори све ({COUNT})}few{&amp;Отвори све ({COUNT})}other{&amp;Отвори све ({COUNT})}}</translation>
@@ -1281,6 +1283,7 @@
 <translation id="2081816110395725788">Напајање током неактивности кад се користи батерија</translation>
 <translation id="2082187087049518845">Додајте картицу у групу</translation>
 <translation id="2082510809738716738">Изаберите боју теме</translation>
+<translation id="2084891381052978619">Ове опције можете да нађете и у Подешавањима када завршите са подешавањем Chromebook-а</translation>
 <translation id="208586643495776849">Пробајте поново</translation>
 <translation id="208634871997892083">Стално укључен VPN</translation>
 <translation id="2087822576218954668">Штампање: <ph name="PRINT_NAME" /></translation>
@@ -1350,6 +1353,7 @@
 <translation id="212862741129535676">Проценат заузетости стања фреквенције</translation>
 <translation id="212876957201860463">Подешавање мобилног уређаја се припрема...</translation>
 <translation id="2131077480075264">Није успело инсталирање „<ph name="APP_NAME" />“ јер то не дозвољава „<ph name="IMPORT_NAME" />“</translation>
+<translation id="2133775869826239001">Одаберите додатне функције за подешавање</translation>
 <translation id="2133857665503360653">Поново отворите <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">CA-ови за систем</translation>
 <translation id="21354425047973905">Сакриј PIN-ове</translation>
@@ -2931,6 +2935,7 @@
 <translation id="347785443197175480">И даље дозвољавај сајту <ph name="HOST" /> да приступа камери и микрофону</translation>
 <translation id="3479552764303398839">Не сада</translation>
 <translation id="3479685872808224578">Откривање сервера за штампање није успело. Проверите адресу и пробајте поново.</translation>
+<translation id="3479753605053415848">Кликните да бисте прилагодили Chrome</translation>
 <translation id="3480612136143976912">Прилагодите величину и стил титла уживо. Неке апликације и сајтови такође користе ово подешавање.</translation>
 <translation id="3480827850068960424">Пронађених картица: <ph name="NUM" /></translation>
 <translation id="3481268647794498892">Отвара се у прегледачу <ph name="ALTERNATIVE_BROWSER_NAME" /> за <ph name="COUNTDOWN_SECONDS" /> сек</translation>
@@ -3225,6 +3230,7 @@
 <translation id="3738632186060045350">Подаци са уређаја <ph name="DEVICE_TYPE" /> ће бити избрисани за 24 сата</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Желите ли да отворите <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Смањите величину приказа и текста</translation>
 <translation id="3741056951918180319">Увек можете да кликнете на додатак да бисте га користили на било ком сајту</translation>
 <translation id="3742235229730461951">Распоред тастера на тастатури за корејски</translation>
 <translation id="3742666961763734085">Не можемо да пронађемо организациону јединицу са тим називом. Пробајте поново.</translation>
@@ -4053,6 +4059,7 @@
 <translation id="4444512841222467874">Ако не ослободите простор, корисници и подаци ће можда аутоматски бити уклоњени.</translation>
 <translation id="4445446646109808714">Уговор о лиценцирању са крајњим корисником: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Пресликано</translation>
+<translation id="4448560527907365660">Сачувај и прикажи још</translation>
 <translation id="4448914100439890108">Сакријте лозинку за <ph name="USERNAME" /> на <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Управљајте дозволама</translation>
 <translation id="4449948729197510913">Ваше корисничко име припада налогу предузећа ваше организације. Да бисте регистровали уређаје на налогу, потврдите власништво над доменом на администраторској конзоли. За потврду су вам потребне административне привилегије.</translation>
@@ -5208,6 +5215,7 @@
 <translation id="5485102783864353244">Додај апликацију</translation>
 <translation id="5485435764083510385">Жељени језик титла</translation>
 <translation id="5485754497697573575">Врати све картице</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> можда захтева новију или другачију врсту уређаја</translation>
 <translation id="5486261815000869482">Потврдите лозинку</translation>
 <translation id="5486561344817861625">Симулирај поновно покретање прегледача</translation>
 <translation id="5487460042548760727">Преименујте профил у <ph name="PROFILE_NAME" /></translation>
@@ -5564,6 +5572,7 @@
 <translation id="5799508265798272974">Linux виртуелна машина: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Одредишна датотека је скраћена или уклоњена од последњег преузимања.</translation>
 <translation id="5800351251499368110">Затворите претрагу на бочној табли. Претрага је отворена на бочној табли.</translation>
+<translation id="5800703268655655701">Изаберите светлу или тамну тему</translation>
 <translation id="5801051031414037185">Подесите телефон</translation>
 <translation id="5801568494490449797">Подешавања</translation>
 <translation id="5803689677801500549">Сачуване лозинке ће се појавити овде. Да бисте увезли лозинке у <ph name="BRAND" /> за <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />изаберите CSV фајл<ph name="END_LINK" />.</translation>
@@ -6954,6 +6963,7 @@
 <translation id="6993050154661569036">Прегледач Chrome се ажурира</translation>
 <translation id="6995899638241819463">Упозори ме ако су лозинке откривене при упаду у податке</translation>
 <translation id="6995984090981858039">Читање информација о ChromeOS уређају и података са уређаја</translation>
+<translation id="6996438701394974959">Повећајте величину приказа и текста</translation>
 <translation id="6997553674029032185">Иди на сајт</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – Евиденција активности</translation>
 <translation id="6997707937646349884">На уређајима:</translation>
@@ -7881,6 +7891,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Позадина почетне странице је промењена у: <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Обрнуто скроловање је омогућено</translation>
 <translation id="7791543448312431591">Додај</translation>
 <translation id="7792012425874949788">Дошло је до грешке са пријављивањем</translation>
 <translation id="7792388396321542707">Заустави дељење</translation>
@@ -8047,6 +8058,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% је завршено</translation>
 <translation id="7939062555109487992">Напредне опције</translation>
 <translation id="7939073735115504773">Кликните на икону овог додатка да бисте читали и мењали <ph name="HOST" /></translation>
+<translation id="793923212791838">Уређај не може да се користи са овим сајтом</translation>
 <translation id="7939328347457537652">Управљајте сертификатима уређаја</translation>
 <translation id="7939412583708276221">Ипак задржи</translation>
 <translation id="7940265372707990269">Сортирај према: <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index ac443f88..9ee3c8f 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">Ett profilfel har uppstått</translation>
 <translation id="1253664522045778676">Klicka på ett resultat så öppnas sidan på den aktuella fliken.</translation>
 <translation id="1254593899333212300">Direkt Internetanslutning</translation>
+<translation id="1256588359404100567">Inställningen har synkroniserats från din förra enhet.</translation>
 <translation id="1257336506558170607">Exportera valt certifikat</translation>
 <translation id="1258491128795710625">Nyheter</translation>
 <translation id="1259152067760398571">Säkerhetskontrollen kördes i går</translation>
@@ -527,6 +528,7 @@
 <translation id="1448779317883494811">Penselverktyg</translation>
 <translation id="1449191289887455076">Tryck på <ph name="CURRENTKEY" /> igen för att bekräfta tilldelningen och <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Webbsida, en enda fil</translation>
+<translation id="145280054552001290">Lägg till och ta bort språk för textning</translation>
 <translation id="1453561711872398978">Skicka <ph name="BEGIN_LINK" />
     felsökningsloggar<ph name="END_LINK" /> (rekommenderas)</translation>
 <translation id="1454223536435069390">T&amp;a en skärmbild</translation>
@@ -1005,6 +1007,7 @@
 <translation id="18260074040409954">Du kan använda sparade lösenord på vilken enhet som helst. De sparas i <ph name="GOOGLE_PASSWORD_MANAGER" /> för <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Synkronisera bokmärken, lösenord, historik med mera i webbläsaren Chrome</translation>
 <translation id="1826516787628120939">Kontrollerar</translation>
+<translation id="1826657447823925402">Omvänd scrollning har inaktiverats</translation>
 <translation id="1827504459960247692">Namn på surfzon</translation>
 <translation id="1828378091493947763">Enheten har inte stöd för det här pluginprogrammet</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Öppna alla}=1{&amp;Öppna bokmärke}other{&amp;Öppna alla ({COUNT})}}</translation>
@@ -1293,6 +1296,7 @@
 <translation id="2081816110395725788">Inaktivitet vid batteridrift</translation>
 <translation id="2082187087049518845">Gruppflik</translation>
 <translation id="2082510809738716738">Välj en temafärg</translation>
+<translation id="2084891381052978619">De här alternativen finns även i inställningarna när du har konfigurerat din Chromebook.</translation>
 <translation id="208586643495776849">Försök igen</translation>
 <translation id="208634871997892083">Always-on VPN</translation>
 <translation id="2087822576218954668">Utskrift: <ph name="PRINT_NAME" /></translation>
@@ -1362,6 +1366,7 @@
 <translation id="212862741129535676">Kapacitetsprocentsats för frekvens</translation>
 <translation id="212876957201860463">Konfigurationen av din enhet med mobildata förbereds …</translation>
 <translation id="2131077480075264">Det går inte att installera <ph name="APP_NAME" /> eftersom den inte tillåts av <ph name="IMPORT_NAME" /></translation>
+<translation id="2133775869826239001">Välj fler funktioner att ställa in</translation>
 <translation id="2133857665503360653">Försök åtgärden igen med <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Systemcertifikatutfärdare</translation>
 <translation id="21354425047973905">Dölj pinkoder</translation>
@@ -2529,6 +2534,7 @@
 <translation id="3088325635286126843">&amp;Byt namn ...</translation>
 <translation id="3089137131053189723">Sökningen har rensats</translation>
 <translation id="3089941350495701096">Läslista</translation>
+<translation id="3089948625237571254">Kopiera videoram</translation>
 <translation id="3090227230165225418">Visa nedladdningsaviseringar</translation>
 <translation id="3090589793601454425">Flytta inte</translation>
 <translation id="3090819949319990166">Det går inte att kopiera den externa CRX-filen till <ph name="TEMP_CRX_FILE" />.</translation>
@@ -2945,6 +2951,7 @@
 <translation id="347785443197175480">Fortsätt tillåta att <ph name="HOST" /> använder kameran och mikrofonen</translation>
 <translation id="3479552764303398839">Inte nu</translation>
 <translation id="3479685872808224578">Utskriftsservern hittades inte. Kontrollera webbadressen och försök igen.</translation>
+<translation id="3479753605053415848">Klicka för att anpassa Chrome</translation>
 <translation id="3480612136143976912">Anpassa storlek och format för Live Caption. Inställningen används även för vissa appar och webbplatser.</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> flikar hittades</translation>
 <translation id="3481268647794498892">Öppnas i <ph name="ALTERNATIVE_BROWSER_NAME" /> om <ph name="COUNTDOWN_SECONDS" /> sekunder</translation>
@@ -3030,6 +3037,7 @@
 <translation id="3559262020195162408">Det gick inte att installera policyn på enheten.</translation>
 <translation id="3559533181353831840">Cirka <ph name="TIME_LEFT" /> kvar</translation>
 <translation id="3560034655160545939">&amp;Stavningskontroll</translation>
+<translation id="3561201631376780358">Öppna sidopanelen för att visa alla bokmärken</translation>
 <translation id="3562423906127931518">Detta kan ta några minuter. Linux-containern konfigureras.</translation>
 <translation id="3562655211539199254">Se de senaste flikarna som du har öppna i Chrome på telefonen</translation>
 <translation id="3563432852173030730">Det gick inte att ladda ned kioskappen.</translation>
@@ -3238,6 +3246,7 @@
 <translation id="3738632186060045350">Data på <ph name="DEVICE_TYPE" /> raderas inom 24 timmar</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Vill du öppna <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Minska visnings- och textstorleken</translation>
 <translation id="3741056951918180319">Du kan alltid klicka på tillägget och använda det på vilken webbplats som helst</translation>
 <translation id="3742235229730461951">Koreansk tangentbordslayout</translation>
 <translation id="3742666961763734085">Ingen organisationsenhet med det namnet hittades. Försök igen.</translation>
@@ -3616,6 +3625,7 @@
 <translation id="4044612648082411741">Ange certifikatlösenordet</translation>
 <translation id="4044708573046946214">Lösenord för skärmlåset</translation>
 <translation id="404493185430269859">Standardsökmotor</translation>
+<translation id="4045196801416070837">Ljud på enheten</translation>
 <translation id="4046013316139505482">De här tilläggen behöver inte se och ändra information på den här webbplatsen.</translation>
 <translation id="4046123991198612571">Nästa spår</translation>
 <translation id="4047345532928475040">Ej tillämpligt</translation>
@@ -4065,6 +4075,7 @@
 <translation id="4444512841222467874">Om du inte frigör utrymme kan användare och data tas bort automatiskt.</translation>
 <translation id="4445446646109808714">Licensavtal för slutanvändare: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Speglat</translation>
+<translation id="4448560527907365660">Spara och se mer</translation>
 <translation id="4448914100439890108">Dölj lösenord för <ph name="USERNAME" /> på <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Hantera behörigheter</translation>
 <translation id="4449948729197510913">Ditt användarnamn tillhör din organisations jobbkonto. Börja med att verifiera domänägare i administratörskonsolen om du vill registrera enheter på kontot. Du behöver ha administratörsbehörighet på kontot för verifieringen.</translation>
@@ -4876,6 +4887,7 @@
 <translation id="5173668317844998239">Lägg till och radera fingeravtryck som sparats på säkerhetsnyckeln</translation>
 <translation id="5174169235862638850">Lösenordet har kopierats till urklipp</translation>
 <translation id="5175379009094579629">Enhetens namn är ogiltigt. Ange ett giltigt enhetsnamn och försök igen.</translation>
+<translation id="5176787661653201403">Kopiera videoram</translation>
 <translation id="5177479852722101802">Fortsätt blockera tillgång till kamera och mikrofon</translation>
 <translation id="5177549709747445269">Du använder mobildata</translation>
 <translation id="5178667623289523808">Sök föregående</translation>
@@ -5219,7 +5231,9 @@
 <translation id="5481941284378890518">Lägg till skrivare i närheten</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> kräver att du säkerhetskopierar din data och returnerar denna <ph name="DEVICE_TYPE" /> i dag. <ph name="LINK_BEGIN" />Mer information<ph name="LINK_END" />}other{<ph name="MANAGER" /> kräver att du säkerhetskopierar din data och returnerar denna <ph name="DEVICE_TYPE" /> om {NUM_DAYS} dagar. <ph name="LINK_BEGIN" />Mer information<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Lägg till app</translation>
+<translation id="5485435764083510385">Önskat språk för textning</translation>
 <translation id="5485754497697573575">Återställ alla flikar</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> kan kräva en nyare eller annan typ av enhet</translation>
 <translation id="5486261815000869482">Bekräfta lösenord</translation>
 <translation id="5486561344817861625">Simulera omstart av webbläsaren</translation>
 <translation id="5487460042548760727">Ändra namnet på profilen till <ph name="PROFILE_NAME" /></translation>
@@ -5323,6 +5337,7 @@
 <translation id="5571066253365925590">Bluetooth aktiverad</translation>
 <translation id="5571092938913434726">Globala mediareglage</translation>
 <translation id="5571832155627049070">Anpassa din profil</translation>
+<translation id="5572166921642484567">Välj ett läge för färgschema</translation>
 <translation id="5572252023412311448">Visa webbplatsinformation för <ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">Du får bättre förslag i adressfältet</translation>
 <translation id="557506220935336383">Se vilka behörigheter som tillägg har på andra webbplatser</translation>
@@ -5574,6 +5589,7 @@
 <translation id="5799508265798272974">Virtuell maskin för Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Målfilen har trunkerats eller tagits bort efter den senaste nedladdningen.</translation>
 <translation id="5800351251499368110">Stäng sökning på sidopanelen. Sökning är öppet på sidopanelen.</translation>
+<translation id="5800703268655655701">Välj ljust eller mörkt tema</translation>
 <translation id="5801051031414037185">Konfigurera telefon</translation>
 <translation id="5801568494490449797">Inställningar</translation>
 <translation id="5803689677801500549">Sparade lösenord visas här. <ph name="BEGIN_LINK" />Välj en CSV-fil<ph name="END_LINK" /> för att importera lösenord till <ph name="BRAND" /> för <ph name="USER_EMAIL" />.</translation>
@@ -6960,6 +6976,7 @@
 <translation id="6993050154661569036">Webbläsaren Chrome uppdateras</translation>
 <translation id="6995899638241819463">En varning visas om lösenord har läckt ut vid ett dataintrång</translation>
 <translation id="6995984090981858039">Läsa ChromeOS-enhetsinformation och -data</translation>
+<translation id="6996438701394974959">Öka visnings- och textstorleken</translation>
 <translation id="6997553674029032185">Besök webbplatsen</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> – aktivitetslogg</translation>
 <translation id="6997707937646349884">Gör så här på dina enheter:</translation>
@@ -7402,6 +7419,7 @@
 <translation id="7400839060291901923">Konfigurera anslutningen på din <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Ignorera det här meddelandet</translation>
 <translation id="7402198013420237102">Vill du flytta sparade lösenord till Google-kontot?</translation>
+<translation id="740333000181878130">Ljud vid start av enheten</translation>
 <translation id="7403642243184989645">Laddar ned resurser</translation>
 <translation id="7404065585741198296">Telefonen med en USB-kabel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Säkerhetskontrollen kördes för 1 timme sedan}other{Säkerhetskontrollen kördes för {NUM_HOURS} timmar sedan}}</translation>
@@ -7886,6 +7904,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Startsidans bakgrundsbild har ändrats till <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Omvänd scrollning har aktiverats</translation>
 <translation id="7791543448312431591">Lägg till</translation>
 <translation id="7792012425874949788">Något gick fel med inloggningen</translation>
 <translation id="7792388396321542707">Sluta dela</translation>
@@ -8052,6 +8071,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" /> % har slutförts</translation>
 <translation id="7939062555109487992">Avancerade alternativ</translation>
 <translation id="7939073735115504773">Klicka på tilläggets ikon för att läsa och ändra <ph name="HOST" /></translation>
+<translation id="793923212791838">Den här enheten fungerar inte med den här webbplatsen</translation>
 <translation id="7939328347457537652">Hantera enhetscertifikat</translation>
 <translation id="7939412583708276221">Behåll ändå</translation>
 <translation id="7940265372707990269">Sortera efter <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index bd3b14b4..85c23ce 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -527,6 +527,7 @@
 <translation id="1448779317883494811">Zana ya kung'arisha picha</translation>
 <translation id="1449191289887455076">Bonyeza “<ph name="CURRENTKEY" />” tena ili uthibitishe swichi uliyokabidhi na <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Ukurasa wa wavuti, Faili Moja</translation>
+<translation id="145280054552001290">Kuweka na kuondoa lugha kwenye manukuu</translation>
 <translation id="1453561711872398978">Tuma <ph name="BEGIN_LINK" />
     kumbukumbu za utatuzi<ph name="END_LINK" /> (inapendekezwa)</translation>
 <translation id="1454223536435069390">Piga picha ya skrini</translation>
@@ -3613,6 +3614,7 @@
 <translation id="4044612648082411741">Weka nenosiri la cheti chako</translation>
 <translation id="4044708573046946214">Nenosiri la kufunga skrini</translation>
 <translation id="404493185430269859">Injini tafuti chaguomsingi</translation>
+<translation id="4045196801416070837">Sauti za kifaa</translation>
 <translation id="4046013316139505482">Viendelezi hivi havihitaji kuona na kubadilisha maelezo kwenye tovuti hii.</translation>
 <translation id="4046123991198612571">Wimbo unaofuata</translation>
 <translation id="4047345532928475040">Haitumiki</translation>
@@ -5214,6 +5216,7 @@
 <translation id="5481941284378890518">Ongeza Printa za Uhamishaji wa Karibu</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> inahitaji uhifadhi nakala ya data yako na urudishe <ph name="DEVICE_TYPE" /> hii leo. <ph name="LINK_BEGIN" />Angalia maelezo<ph name="LINK_END" />}other{<ph name="MANAGER" /> inahitaji uhifadhi nakala ya data yako na urudishe <ph name="DEVICE_TYPE" /> hii ndani ya siku {NUM_DAYS}.<ph name="LINK_BEGIN" />Angalia maelezo<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Ongeza programu</translation>
+<translation id="5485435764083510385">Lugha ya manukuu inayopendelewa</translation>
 <translation id="5485754497697573575">Hifadhi Upya Vichupo Vyote</translation>
 <translation id="5486261815000869482">Thibitisha nenosiri</translation>
 <translation id="5486561344817861625">Unda Uanzishaji upya wa Ukurasa</translation>
@@ -7397,6 +7400,7 @@
 <translation id="7400839060291901923">Weka mipangilio ya muunganisho kwenye <ph name="PHONE_NAME" /> yako</translation>
 <translation id="7401778920660465883">Ondoa ujumbe huu</translation>
 <translation id="7402198013420237102">Je, ungependa kuhamisha manenosiri yaliyohifadhiwa kwenye Akaunti yako ya Google?</translation>
+<translation id="740333000181878130">Sauti wakati kifaa kinawaka</translation>
 <translation id="7403642243184989645">Inapakua Nyenzo</translation>
 <translation id="7404065585741198296">Simu yako kwa kutumia kebo ya USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Angalizo la usalama lilitekelezwa saa moja iliyopita}other{Angalizo la usalama lilitekelezwa saa {NUM_HOURS} zilizopita}}</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 87082cc..40dae08 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -525,6 +525,7 @@
 <translation id="1448779317883494811">பிரஷ் கருவி</translation>
 <translation id="1449191289887455076">ஒதுக்கீட்டை உறுதிப்படுத்திவிட்டு <ph name="RESPONSE" /> “<ph name="CURRENTKEY" />” பட்டனை மீண்டும் அழுத்தவும்</translation>
 <translation id="1451375123200651445">இணையப்பக்கம், ஒற்றை ஃபைல்</translation>
+<translation id="145280054552001290">வசனங்களுக்கான மொழிகளைச் சேர்க்கலாம் அகற்றலாம்</translation>
 <translation id="1453561711872398978"><ph name="BEGIN_LINK" />
     பிழைதிருத்தப் பதிவுகளை<ph name="END_LINK" /> அனுப்பு (பரிந்துரைக்கப்படுகிறது)</translation>
 <translation id="1454223536435069390">ஸ்கிரீன் ஷாட்டை எடு</translation>
@@ -3602,6 +3603,7 @@
 <translation id="4044612648082411741">சான்றிதழ் கடவுச்சொல்லை உள்ளிடவும்</translation>
 <translation id="4044708573046946214">திரைப் பூட்டின் கடவுச்சொல்</translation>
 <translation id="404493185430269859">இயல்பு தேடல் இன்ஜின்</translation>
+<translation id="4045196801416070837">சாதன ஒலிகள்</translation>
 <translation id="4046013316139505482">இந்தத் தளத்திலுள்ள தகவல்களை இந்த நீட்டிப்புகள் பார்க்கவும் மாற்றவும் தேவையில்லை.</translation>
 <translation id="4046123991198612571">அடுத்த டிராக்</translation>
 <translation id="4047345532928475040">பொ/இ</translation>
@@ -5199,6 +5201,7 @@
 <translation id="5481941284378890518">அருகிலுள்ள பிரிண்டர்களைச் சேர்</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{உங்கள் தரவைக் காப்புப் பிரதி எடுத்துவிட்டு இந்த <ph name="DEVICE_TYPE" /> சாதனத்தை இன்றே திருப்பியளிக்குமாறு <ph name="MANAGER" /> கோருகிறது. <ph name="LINK_BEGIN" />விவரங்களைக் காட்டு<ph name="LINK_END" />}other{உங்கள் தரவைக் காப்புப் பிரதி எடுத்துவிட்டு இந்த <ph name="DEVICE_TYPE" /> சாதனத்தை {NUM_DAYS} நாட்களுக்குள் திருப்பியளிக்குமாறு <ph name="MANAGER" /> கோருகிறது. <ph name="LINK_BEGIN" />விவரங்களைக் காட்டு<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">பயன்பாட்டைச் சேர்</translation>
+<translation id="5485435764083510385">வசனங்களுக்கான விருப்ப மொழி</translation>
 <translation id="5485754497697573575">அனைத்து தாவல்களையும் மீட்டமை</translation>
 <translation id="5486261815000869482">கடவுச்சொல்லை உறுதிசெய்க</translation>
 <translation id="5486561344817861625">உலாவி மறுதொடக்கத்தை உருவகப்படுத்து</translation>
@@ -7374,6 +7377,7 @@
 <translation id="7400839060291901923"><ph name="PHONE_NAME" /> இல் இணைப்பை அமைக்கவும்</translation>
 <translation id="7401778920660465883">இந்த செய்தியை நிராகரி</translation>
 <translation id="7402198013420237102">சேமிக்கப்பட்ட கடவுச்சொற்களை உங்கள் Google கணக்கிற்கு நகர்த்த வேண்டுமா?</translation>
+<translation id="740333000181878130">சாதனத் தொடக்க ஒலி</translation>
 <translation id="7403642243184989645">டெமோ ஆதாரங்களைப் பதிவிறக்குகிறது</translation>
 <translation id="7404065585741198296">USB கேபிளுடன் இணைக்கப்பட்டுள்ள எனது மொபைல்</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{ஒரு மணிநேரத்திற்கு முன்பு பாதுகாப்புச் சரிபார்ப்பு மேற்கொள்ளப்பட்டது}other{{NUM_HOURS} மணிநேரத்துக்கு முன்பு பாதுகாப்புச் சரிபார்ப்பு மேற்கொள்ளப்பட்டது}}</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 085c43f3..8491f25 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -1459,6 +1459,7 @@
 <translation id="2204020417499639567">ఈమెయిల్ ఫిల్ చేయబడింది.</translation>
 <translation id="2204034823255629767">మీరు టైప్ చేసేదాన్ని చదవడం మరియు మార్చడం</translation>
 <translation id="2204387456724731099">ఈ ఎంపికను అనువదించడం సాధ్యపడలేదు</translation>
+<translation id="2207116775853792104">ఈ ఎక్స్‌టెన్షన్‌ను అలాగే ఉంచండి</translation>
 <translation id="2210462644007531147">ఇన్‌స్టాలేషన్‌ను పూర్తి చేయడం సాధ్యపడలేదు</translation>
 <translation id="2211245494465528624">సింక్ ఆప్షన్‌లను మేనేజ్ చేయండి</translation>
 <translation id="2212565012507486665">కుక్కీలను అనుమతించండి</translation>
@@ -7466,6 +7467,7 @@
 <translation id="7434509671034404296">డెవలపర్</translation>
 <translation id="7434757724413878233">మౌస్ యాక్సిలరేషన్</translation>
 <translation id="7434969625063495310">ప్రింట్ సర్వర్‌ని జోడించడం సాధ్యపడలేదు. దయచేసి సర్వర్ కాన్ఫిగరేషన్ చెక్ చేసుకుని, ఆపై మళ్లీ ట్రై చేయండి.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Chrome వెబ్ స్టోర్ నుండి తీసివేసిన 1 ఎక్స్‌టెన్షన్‌ను రివ్యూ చేయండి}other{Chrome వెబ్ స్టోర్ నుండి తీసివేసిన {NUM_EXTENSIONS} ఎక్స్‌టెన్షన్‌లను రివ్యూ చేయండి}}</translation>
 <translation id="7436921188514130341">అయ్యో! పేరు మారుస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది.</translation>
 <translation id="7439519621174723623">కొనసాగించడానికి, పరికరం పేరును జోడించండి</translation>
 <translation id="7441736921018636843">ఈ సెట్టింగ్‌ని మార్చడానికి, మీ సింక్‌ రహస్య పదబంధాన్ని తీసివేయడానికి <ph name="BEGIN_LINK" />సింక్‌ను రీసెట్ చేయండి<ph name="END_LINK" /></translation>
@@ -7482,6 +7484,7 @@
 <translation id="7452166281927983300">విస్మరించిన హెచ్చరికలు (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">ఈ ప్రింటర్‌ను ఎంచుకోవడం ద్వారా, మీరు మీ ప్రింటర్‌ని యాక్సెస్ చేయడానికి కింది ఎక్సటెన్షన్‌కు అనుమతి ఇస్తున్నారు:</translation>
 <translation id="7453467225369441013">దాదాపు అన్ని సైట్‌ల నుండి మిమ్మల్ని సైన్ అవుట్ చేస్తుంది. మీరు మీ Google ఖాతా నుండి సైన్ అవుట్ చేయబడరు.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{ఈ ఎక్స్‌టెన్షన్ సురక్షితం కాకపోవచ్చు. మీరు దాన్ని తీసివేయవలసిందిగా Chrome సిఫార్సు చేస్తోంది.}other{ఈ ఎక్స్‌టెన్షన్‌లు సురక్షితం కాకపోవచ్చు. మీరు వాటిని తీసివేయవలసిందిగా Chrome సిఫార్సు చేస్తోంది.}}</translation>
 <translation id="7454548535253569100">పోర్టల్: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">అదనపు కంటైనర్‌లను మేనేజ్ చేయండి</translation>
 <translation id="7455988709578031708">మీ బ్రౌజింగ్ హిస్టరీ ఆధారంగా. ఈ సెట్టింగ్ ఆన్ చేయబడింది.</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 5085430..0f36ba95 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">เกิดข้อผิดพลาดของโปรไฟล์</translation>
 <translation id="1253664522045778676">คลิกที่ผลลัพธ์แล้วหน้าเว็บจะเปิดขึ้นในแท็บปัจจุบัน</translation>
 <translation id="1254593899333212300">เชื่อมต่ออินเทอร์เน็ตโดยตรง</translation>
+<translation id="1256588359404100567">การตั้งค่าที่ซิงค์จากอุปกรณ์ก่อนหน้า</translation>
 <translation id="1257336506558170607">ส่งออกใบรับรองที่เลือก</translation>
 <translation id="1258491128795710625">มีอะไรใหม่</translation>
 <translation id="1259152067760398571">เรียกใช้การตรวจสอบความปลอดภัยเมื่อวานนี้</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">เครื่องมือแปรง</translation>
 <translation id="1449191289887455076">กด "<ph name="CURRENTKEY" />" อีกครั้งเพื่อยืนยันการกำหนดและ<ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">หน้าเว็บ ไฟล์เดียว</translation>
+<translation id="145280054552001290">เพิ่มและนําภาษาออกจากคําบรรยาย</translation>
 <translation id="1453561711872398978">ส่ง<ph name="BEGIN_LINK" />บันทึกการแก้ไขข้อบกพร่อง<ph name="END_LINK" /> (แนะนำ)</translation>
 <translation id="1454223536435069390">จับ&amp;ภาพหน้าจอ</translation>
 <translation id="145432137617179457">ภาษาที่ใช้การตรวจตัวสะกดได้</translation>
@@ -994,6 +996,7 @@
 <translation id="18260074040409954">คุณใช้รหัสผ่านที่บันทึกไว้ในอุปกรณ์ใดก็ได้ โดยรหัสผ่านจะบันทึกอยู่ใน <ph name="GOOGLE_PASSWORD_MANAGER" />ของ <ph name="EMAIL" /></translation>
 <translation id="1826192255355608658">ซิงค์บุ๊กมาร์ก รหัสผ่าน ประวัติการเข้าชม และอื่นๆ ของเบราว์เซอร์ Chrome</translation>
 <translation id="1826516787628120939">กำลังตรวจสอบ</translation>
+<translation id="1826657447823925402">การเลื่อนแบบย้อนกลับปิดอยู่</translation>
 <translation id="1827504459960247692">ชื่อฮอตสปอต</translation>
 <translation id="1828378091493947763">อุปกรณ์นี้ไม่รองรับปลั๊กอินนี้</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;เปิดทั้งหมด}=1{&amp;เปิดบุ๊กมาร์ก}other{&amp;เปิดทั้งหมด ({COUNT})}}</translation>
@@ -1281,6 +1284,7 @@
 <translation id="2081816110395725788">เข้าสู่โหมดสลีปขณะใช้แบตเตอรี่</translation>
 <translation id="2082187087049518845">จัดกลุ่มแท็บ</translation>
 <translation id="2082510809738716738">เลือกสีธีม</translation>
+<translation id="2084891381052978619">คุณยังค้นหาตัวเลือกเหล่านี้ได้ในการตั้งค่าหลังจากที่ตั้งค่า Chromebook เสร็จแล้ว</translation>
 <translation id="208586643495776849">โปรดลองอีกครั้ง</translation>
 <translation id="208634871997892083">การเชื่อมต่อ VPN ตลอดเวลา</translation>
 <translation id="2087822576218954668">พิมพ์: <ph name="PRINT_NAME" /></translation>
@@ -1350,6 +1354,7 @@
 <translation id="212862741129535676">เปอร์เซ็นต์การเกิดขึ้นของสถานะความถี่</translation>
 <translation id="212876957201860463">กำลังเตรียมตั้งค่าอุปกรณ์มือถือ...</translation>
 <translation id="2131077480075264">ไม่สามารถติดตั้ง "<ph name="APP_NAME" />" เนื่องจากไม่ได้รับอนุญาตจาก "<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">เลือกฟีเจอร์เพิ่มเติมเพื่อตั้งค่า</translation>
 <translation id="2133857665503360653">ลอง <ph name="FILE_NAME" /> อีกครั้ง</translation>
 <translation id="2134905185275441536">CA ของระบบ</translation>
 <translation id="21354425047973905">ซ่อน PIN</translation>
@@ -2930,6 +2935,7 @@
 <translation id="347785443197175480">อนุญาตให้ <ph name="HOST" /> เข้าถึงกล้องถ่ายรูปและไมโครโฟนของคุณต่อไป</translation>
 <translation id="3479552764303398839">ไม่ใช่ตอนนี้</translation>
 <translation id="3479685872808224578">ไม่พบเซิร์ฟเวอร์การพิมพ์ โปรดตรวจสอบที่อยู่แล้วลองอีกครั้ง</translation>
+<translation id="3479753605053415848">คลิกเพื่อปรับแต่ง Chrome</translation>
 <translation id="3480612136143976912">ปรับแต่งขนาดและรูปแบบของคำบรรยายสำหรับคำบรรยายสด แอปบางอย่างและเว็บไซต์บางเว็บจะใช้การตั้งค่านี้ด้วย</translation>
 <translation id="3480827850068960424">พบ <ph name="NUM" /> แท็บ</translation>
 <translation id="3481268647794498892">กำลังจะเปิดใน <ph name="ALTERNATIVE_BROWSER_NAME" /> ในอีก <ph name="COUNTDOWN_SECONDS" /> วินาที</translation>
@@ -3223,6 +3229,7 @@
 <translation id="3738632186060045350">ระบบจะลบข้อมูลของ <ph name="DEVICE_TYPE" /> ใน 24 ชั่วโมง</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">เปิด <ph name="APPLICATION" /> ไหม</translation>
+<translation id="3740945083753997630">ลดขนาดการแสดงผลและข้อความ</translation>
 <translation id="3741056951918180319">คุณสามารถคลิกที่ส่วนขยายเพื่อใช้งานในทุกเว็บไซต์ได้ตลอดเวลา</translation>
 <translation id="3742235229730461951">รูปแบบแป้นพิมพ์ภาษาเกาหลี</translation>
 <translation id="3742666961763734085">ไม่พบชื่อหน่วยดังกล่าวขององค์กร โปรดลองอีกครั้ง</translation>
@@ -3601,6 +3608,7 @@
 <translation id="4044612648082411741">ป้อนรหัสผ่านใบรับรอง</translation>
 <translation id="4044708573046946214">รหัสผ่านของการล็อกหน้าจอ</translation>
 <translation id="404493185430269859">เครื่องมือค้นหาเริ่มต้น</translation>
+<translation id="4045196801416070837">เสียงอุปกรณ์</translation>
 <translation id="4046013316139505482">ส่วนขยายเหล่านี้ไม่จำเป็นต้องเห็นและเปลี่ยนแปลงข้อมูลในเว็บไซต์นี้</translation>
 <translation id="4046123991198612571">แทร็กถัดไป</translation>
 <translation id="4047345532928475040">ไม่มี</translation>
@@ -4050,6 +4058,7 @@
 <translation id="4444512841222467874">หากไม่เพิ่มพื้นที่ว่าง ระบบอาจลบผู้ใช้และข้อมูลโดยอัตโนมัติ</translation>
 <translation id="4445446646109808714">ข้อตกลงการอนุญาตให้ใช้สิทธิผู้ใช้ปลายทาง: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">มิเรอร์</translation>
+<translation id="4448560527907365660">บันทึกและดูเพิ่มเติม</translation>
 <translation id="4448914100439890108">ซ่อนรหัสผ่านของ <ph name="USERNAME" /> ใน <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">จัดการสิทธิ์</translation>
 <translation id="4449948729197510913">ชื่อผู้ใช้ของคุณเป็นของบัญชีองค์กรของคุณ หากต้องการลงทะเบียนอุปกรณ์กับบัญชีดังกล่าว ก่อนอื่นให้ยืนยันการเป็นเจ้าของโดเมนในคอนโซลผู้ดูแลระบบ คุณจะต้องมีสิทธิ์ระดับผู้ดูแลระบบในบัญชีเพื่อยืนยัน</translation>
@@ -5203,7 +5212,9 @@
 <translation id="5481941284378890518">เพิ่มเครื่องพิมพ์ที่อยู่ใกล้เคียง</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> กำหนดให้คุณสำรองข้อมูลและส่งคืน <ph name="DEVICE_TYPE" /> เครื่องนี้วันนี้ <ph name="LINK_BEGIN" />ดูรายละเอียด<ph name="LINK_END" />}other{<ph name="MANAGER" /> กำหนดให้คุณสำรองข้อมูลและส่งคืน <ph name="DEVICE_TYPE" /> เครื่องนี้ภายใน {NUM_DAYS} วัน <ph name="LINK_BEGIN" />ดูรายละเอียด<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">เพิ่มแอป</translation>
+<translation id="5485435764083510385">ภาษาที่ต้องการสำหรับคำบรรยาย</translation>
 <translation id="5485754497697573575">คืนค่าแท็บทั้งหมด</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> อาจต้องใช้อุปกรณ์ที่ใหม่กว่าหรือประเภทอื่น</translation>
 <translation id="5486261815000869482">ยืนยันรหัสผ่าน</translation>
 <translation id="5486561344817861625">จำลองการรีสตาร์ทเบราว์เซอร์</translation>
 <translation id="5487460042548760727">เปลี่ยนชื่อโปรไฟล์เป็น <ph name="PROFILE_NAME" /></translation>
@@ -5556,6 +5567,7 @@
 <translation id="5799508265798272974">เครื่องเสมือนของ Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">ไฟล์ปลายทางไม่สมบูรณ์หรือถูกลบไปตั้งแต่การดาวน์โหลดครั้งล่าสุด</translation>
 <translation id="5800351251499368110">ปิดการค้นหาในแผงด้านข้าง การค้นหาเปิดอยู่ในแผงด้านข้าง</translation>
+<translation id="5800703268655655701">เลือกธีมสว่างหรือมืด</translation>
 <translation id="5801051031414037185">ตั้งค่าโทรศัพท์</translation>
 <translation id="5801568494490449797">ค่ากำหนด</translation>
 <translation id="5803689677801500549">รหัสผ่านที่บันทึกไว้จะแสดงที่นี่ หากต้องการนำเข้ารหัสผ่านไปยัง<ph name="BRAND" /> สำหรับ <ph name="USER_EMAIL" /> ให้<ph name="BEGIN_LINK" />เลือกไฟล์ CSV<ph name="END_LINK" /></translation>
@@ -6941,6 +6953,7 @@
 <translation id="6993050154661569036">กำลังอัปเดตเบราว์เซอร์ Chrome</translation>
 <translation id="6995899638241819463">เตือนคุณในกรณีที่รหัสผ่านรั่วไหลจากการละเมิดข้อมูล</translation>
 <translation id="6995984090981858039">อ่านข้อมูลอุปกรณ์ ChromeOS และข้อมูล</translation>
+<translation id="6996438701394974959">เพิ่มขนาดการแสดงผลและข้อความ</translation>
 <translation id="6997553674029032185">ไปที่เว็บไซต์</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - บันทึกกิจกรรม</translation>
 <translation id="6997707937646349884">บนอุปกรณ์ของคุณ:</translation>
@@ -7383,6 +7396,7 @@
 <translation id="7400839060291901923">ตั้งค่าการเชื่อมต่อใน <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">ปิดข้อความนี้</translation>
 <translation id="7402198013420237102">ย้ายรหัสผ่านที่บันทึกไว้ไปยังบัญชี Google ไหม</translation>
+<translation id="740333000181878130">เสียงเมื่อเริ่มต้นใช้งานอุปกรณ์</translation>
 <translation id="7403642243184989645">ดาวน์โหลดทรัพยากร</translation>
 <translation id="7404065585741198296">โทรศัพท์ของคุณผ่านสาย USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{เรียกใช้การตรวจสอบความปลอดภัยเมื่อ 1 ชั่วโมงที่ผ่านมา}other{เรียกใช้การตรวจสอบความปลอดภัยเมื่อ {NUM_HOURS} ชั่วโมงที่ผ่านมา}}</translation>
@@ -7866,6 +7880,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">เปลี่ยนพื้นหลังของหน้าเริ่มต้นเป็น <ph name="CATEGORY" /></translation>
+<translation id="7791436592012979144">เปิดใช้การเลื่อนแบบย้อนกลับอยู่</translation>
 <translation id="7791543448312431591">เพิ่ม</translation>
 <translation id="7792012425874949788">เกิดข้อผิดพลาดในการลงชื่อเข้าใช้</translation>
 <translation id="7792388396321542707">หยุดการแชร์</translation>
@@ -8032,6 +8047,7 @@
 <translation id="7935451262452051102">เสร็จสมบูรณ์ <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">ตัวเลือกขั้นสูง</translation>
 <translation id="7939073735115504773">คลิกไอคอนของส่วนขยายนี้เพื่ออ่านและเปลี่ยนแปลง <ph name="HOST" /></translation>
+<translation id="793923212791838">อุปกรณ์ของคุณใช้ไม่ได้กับเว็บไซต์นี้</translation>
 <translation id="7939328347457537652">จัดการใบรับรองอุปกรณ์</translation>
 <translation id="7939412583708276221">เก็บเอาไว้ ไม่ว่าอย่างไรก็ตาม</translation>
 <translation id="7940265372707990269">จัดเรียงตาม <ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index d7d35c2..14cb875 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -530,6 +530,7 @@
 <translation id="1448779317883494811">Інструмент "Пензель"</translation>
 <translation id="1449191289887455076">Натисніть клавішу "<ph name="CURRENTKEY" />" ще раз, щоб підтвердити призначену дію та <ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">Веб-сторінка в одному файлі</translation>
+<translation id="145280054552001290">Додайте або вилучіть мови субтитрів</translation>
 <translation id="1453561711872398978">Надіслати <ph name="BEGIN_LINK" />
     журнали налагодження<ph name="END_LINK" /> (рекомендовано)</translation>
 <translation id="1454223536435069390">З&amp;робити знімок екрана</translation>
@@ -3619,6 +3620,7 @@
 <translation id="4044612648082411741">Введіть пароль сертифіката</translation>
 <translation id="4044708573046946214">Пароль розблокування екрана</translation>
 <translation id="404493185430269859">Пошукова система за умовчанням</translation>
+<translation id="4045196801416070837">Звуки на пристрої</translation>
 <translation id="4046013316139505482">Зазначені розширення не можуть переглядати та змінювати інформацію на цьому сайті.</translation>
 <translation id="4046123991198612571">Наступна композиція</translation>
 <translation id="4047345532928475040">-</translation>
@@ -5222,6 +5224,7 @@
 <translation id="5481941284378890518">Додати принтери поруч</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{Адміністратор домену <ph name="MANAGER" /> вимагає, щоб ви створили резервну копію своїх даних і повернули цей пристрій <ph name="DEVICE_TYPE" /> сьогодні. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" />}one{Адміністратор домену <ph name="MANAGER" /> вимагає, щоб ви створили резервну копію своїх даних і повернули цей пристрій <ph name="DEVICE_TYPE" /> упродовж {NUM_DAYS} дня. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" />}few{Адміністратор домену <ph name="MANAGER" /> вимагає, щоб ви створили резервну копію своїх даних і повернули цей пристрій <ph name="DEVICE_TYPE" /> упродовж {NUM_DAYS} днів. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" />}many{Адміністратор домену <ph name="MANAGER" /> вимагає, щоб ви створили резервну копію своїх даних і повернули цей пристрій <ph name="DEVICE_TYPE" /> упродовж {NUM_DAYS} днів. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" />}other{Адміністратор домену <ph name="MANAGER" /> вимагає, щоб ви створили резервну копію своїх даних і повернули цей пристрій <ph name="DEVICE_TYPE" /> упродовж {NUM_DAYS} дня. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">Установити додаток</translation>
+<translation id="5485435764083510385">Бажана мова субтитрів</translation>
 <translation id="5485754497697573575">Відновити всі вкладки</translation>
 <translation id="5486261815000869482">Підтвердьте пароль</translation>
 <translation id="5486561344817861625">Імітувати перезапуск веб-переглядача</translation>
@@ -7408,6 +7411,7 @@
 <translation id="7400839060291901923">Налаштуйте з’єднання на пристрої <ph name="PHONE_NAME" /></translation>
 <translation id="7401778920660465883">Відхилити це повідомлення</translation>
 <translation id="7402198013420237102">Перемістити збережені паролі в обліковий запис Google?</translation>
+<translation id="740333000181878130">Звук під час запуску пристрою</translation>
 <translation id="7403642243184989645">Завантаження ресурсів</translation>
 <translation id="7404065585741198296">Телефон із кабелем USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Перевірку безпеки виконано 1 годину тому}one{Перевірку безпеки виконано {NUM_HOURS} годину тому}few{Перевірку безпеки виконано {NUM_HOURS} години тому}many{Перевірку безпеки виконано {NUM_HOURS} годин тому}other{Перевірку безпеки виконано {NUM_HOURS} години тому}}</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index b06507aa..eb843d1 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">منسوخ کردہ</translation>
 <translation id="1022489261739821355">‏آپ کے <ph name="BEGIN_LINK" />Google اکاؤنٹ<ph name="END_LINK" /> سے پاس ورڈز کو دکھایا جا رہا ہے</translation>
 <translation id="1022669824195822609">آپ کا آلہ <ph name="DOMAIN" /> کے زیر انتظام ہے۔ منتظمین اس آلے پر کسی بھی پروفائل میں ڈیٹا تک رسائی حاصل کر سکتے ہیں۔</translation>
+<translation id="1024734233509995696">یہ ٹیب آپ کا کیمرا یا مائیکروفون استعمال کر رہا ہے</translation>
 <translation id="1026655690966755180">پورٹ شامل کریں</translation>
 <translation id="1026822031284433028">تصویر لوڈ کریں</translation>
 <translation id="1026959648338730078">‏Windows Hello یا بیرونی سیکیورٹی کلید</translation>
@@ -191,6 +192,7 @@
 <translation id="1155816283571436363">آپ کے فون سے رابطہ ہو رہا ہے</translation>
 <translation id="1158080958325422608">بڑے حروف میں تبدیل کریں</translation>
 <translation id="1158238185437008462">یادیں دیکھیں</translation>
+<translation id="1159879754517035595">ایکسٹینش کی ترتیبات کا نظم کریں</translation>
 <translation id="1160842321113409343">آپ کی رازداری کے تحفظ کے لئے، ہم فہرست کی 4 ہفتے سے زیادہ پرانی سائٹس کو خودکار طور پر حذف کر دیتے ہیں۔ اگر کوئی سائٹ آپ دوبارہ ملاحظہ کرتے ہیں تو وہ فہرست میں دوبارہ نظر آ سکتی ہے۔ یا آپ سائٹ کو ہٹا سکتے ہیں اگر آپ نہیں چاہتے ہیں کہ وہ سائٹ آپ کی دلچسپیوں کا کبھی بھی تعین کرے۔</translation>
 <translation id="1161575384898972166">براہ کرم کلائنٹ سرٹیفکیٹ برآمد کرنے کیلئے <ph name="TOKEN_NAME" /> میں سائن ان کریں۔</translation>
 <translation id="116173250649946226">آپ کے منتظم نے ایک ایسی ڈیفالٹ تھیم سیٹ کی ہے جسے تبدیل نہیں کیا جا سکتا۔</translation>
@@ -209,6 +211,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> میں حساس یا خطرناک ڈیٹا ہے۔ آپ کے منتظم کے مطابق: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665">‏<ph name="ORIGIN" /> HID آلہ سے منسلک کرنا چاہتا ہے</translation>
 <translation id="1172750555846831341">مختصر کنارہ کو فلپ کریں</translation>
+<translation id="1173036203040243666">یہ ٹیب ایک بلوٹوتھ آلہ سے منسلک ہے</translation>
 <translation id="1173332155861271669">پاس پوائنٹ فراہم کنندہ کی تفصیلات</translation>
 <translation id="1173894706177603556">نام بدلیں</translation>
 <translation id="1174073918202301297">شارٹ کٹ شامل ہو گیا</translation>
@@ -314,6 +317,7 @@
 <translation id="1252987234827889034">پروفائل کی خرابی پیش آگئی</translation>
 <translation id="1253664522045778676">نتیجہ پر کلک کریں اور صفحہ آپ کے موجودہ ٹیب میں کھلے گا</translation>
 <translation id="1254593899333212300">براہ راست انٹرنیٹ کنکشن</translation>
+<translation id="1256588359404100567">ترتیب آپ کے پچھلے آلے سے مطابقت پذیر ہے۔</translation>
 <translation id="1257336506558170607">منتخب کردہ سرٹیفیکیٹ برآمد کریں</translation>
 <translation id="1258491128795710625">نیا کیا ہے</translation>
 <translation id="1259152067760398571">سیفٹی چیک گزشتہ روز کیا گیا</translation>
@@ -658,6 +662,7 @@
 <translation id="1556537182262721003">ایکسٹینشن ڈائرکٹری کو پروفائل میں منتقل نہیں کیا جا سکا۔</translation>
 <translation id="1558391695376153246">پوشیدگی ٹیبز بند کریں</translation>
 <translation id="155865706765934889">ٹچ پیڈ</translation>
+<translation id="1558671750917454373"><ph name="DEVICE_NAME" /> پر کاسٹ کرنا دوبارہ شروع کریں</translation>
 <translation id="1562119309884184621">اس رابطہ کو شامل کرنے سے اگلی بار ان کے اشتراک کرنے پر یاد رکھے گا</translation>
 <translation id="1563137369682381456">میعاد ختم ہونے کی تاریخ</translation>
 <translation id="1563702743503072935">‏آپ کے سائن ان ہونے پر آپ کے Google اکاؤنٹ سے پاس ورڈز بھی اس آلہ پر دستیاب ہوں گے</translation>
@@ -789,6 +794,7 @@
 <translation id="1648528859488547844">‏مقام کا تعین کرنے کے لیے Wi‑Fi یا موبائل نیٹ ورکس کا استعمال کریں</translation>
 <translation id="164936512206786300">بلوٹوتھ آلہ کا جوڑا ختم کریں</translation>
 <translation id="1651008383952180276">آپ کو وہی پاس فریز دوبار درج کرنا ہوگا</translation>
+<translation id="1651609627703324721">‏یہ ٹیب ایک ہیڈ سیٹ پر VR مواد پیش کر رہا ہے</translation>
 <translation id="1652326691684645429">قریبی آلات کے ساتھ اشتراک فعال کریں</translation>
 <translation id="1654580009054503925">درخواستیں دکھانے کی اجازت نہیں ہے</translation>
 <translation id="1656528038316521561">پس منظر کا دھندلا پن</translation>
@@ -880,6 +886,7 @@
 <translation id="173522743738009831">رازداری سینڈ باکس کے بارے میں</translation>
 <translation id="173628468822554835">سمجھ آ گئی۔ بذریعہ ڈیفالٹ، جن نئی سائٹس کا آپ ملاحظہ کرتے ہیں وہ آپ کو اطلاعات نہیں بھیجیں گی۔</translation>
 <translation id="1737968601308870607">فائل بگ</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />۔ سائٹ کی اجازتوں کو تبدیل کرنے کے لیے منتخب کریں</translation>
 <translation id="1741190788710022490">اڈاپٹیو چارجنگ</translation>
 <translation id="174123615272205933">حسب ضرورت</translation>
 <translation id="1741314857973421784">جاری رکھیں</translation>
@@ -995,6 +1002,7 @@
 <translation id="18260074040409954">آپ کسی بھی آلے پر محفوظ کردہ پاس ورڈز استعمال کر سکتے ہیں۔ <ph name="EMAIL" /> کے لیے وہ <ph name="GOOGLE_PASSWORD_MANAGER" /> میں محفوظ ہیں۔</translation>
 <translation id="1826192255355608658">‏اپنے Chrome براؤزر کے بُک مارکس، پاس ورڈز، سرگزشت اور مزید بہت کچھ کو مطابقت پذیر بنائیں</translation>
 <translation id="1826516787628120939">چیک کیا جا رہا ہے</translation>
+<translation id="1826657447823925402">معکوس اسکرولنگ غیر فعال ہے</translation>
 <translation id="1827504459960247692">ہاٹ اسپاٹ کا نام</translation>
 <translation id="1828378091493947763">یہ پلگ ان اس آلہ پر تعاون یافتہ نہیں ہے</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{سبھی کو &amp;کھولیں}=1{بُک مارک &amp;کھولیں}other{سبھی ({COUNT}) کو &amp;کھولیں}}</translation>
@@ -1071,6 +1079,7 @@
 <translation id="1885066963699478692">‏XML فائلز جو پالیسیاں سیٹ کرنے کے لیے استعمال کی جا رہی ہیں۔</translation>
 <translation id="1885106732301550621">ڈسک اسپیس</translation>
 <translation id="1886996562706621347">سائٹس کو پروٹوکولز کیلئے ڈیفالٹ ہینڈلرز بننے کی درخواست کرنے کی اجازت دیں (تجویز کردہ)</translation>
+<translation id="1887210448491286312"><ph name="DEVICE_NAME" /> پر ٹیب کو کاسٹ کرنا بند کریں</translation>
 <translation id="1887442540531652736">سائن ان کی خرابی</translation>
 <translation id="1887597546629269384">‏دوبارہ "Ok Google" بولیں</translation>
 <translation id="1889091146873278175">‏سائیڈ پینل میں مزید تلاش کے نتائج دیکھنے کے لیے "G" بٹن پر کلک کریں</translation>
@@ -1097,6 +1106,7 @@
 <translation id="1910908536872421421">‏Chrome برائے <ph name="BROWSER_VERSION" />v ٹیسٹنگ صرف خودکار ٹیسٹنگ کے لیے ہے۔ ریگولر براؤزنگ کے لیے، Chrome کا ایک معیاری ورژن استعمال کریں جو خودکار طور پر اپ ڈیٹ ہوتا ہے۔</translation>
 <translation id="1915073950770830761">کینری</translation>
 <translation id="1915307458270490472">کال منقطع کریں</translation>
+<translation id="1915613305720536742">ترجمہ</translation>
 <translation id="1915734383465415025">اسٹور نمبر</translation>
 <translation id="1916260783734263714">موجودہ ٹیب</translation>
 <translation id="1916502483199172559">ڈیفالٹ سرخ اوتار</translation>
@@ -1201,6 +1211,7 @@
 <translation id="2007404777272201486">مسئلہ کی اطلاع دیں…</translation>
 <translation id="2009590708342941694">ایموجی ٹول</translation>
 <translation id="2010501376126504057">موافق آلات</translation>
+<translation id="2012935757369720523">فائل حذف کریں</translation>
 <translation id="2013550551806600826">اسے آزمائیں ترتیبات کو آن یا آف کریں، پھر ٹیسٹ ایریا میں اپنے ٹچ پیڈ پر دو انگلیوں کی مدد سے اسکرول کریں۔ آپ بعد میں اسے ترتیبات &gt; آلہ &gt; ماؤس اور ٹچ پیڈ میں بھی دیکھ سکتے ہیں۔</translation>
 <translation id="2015232545623037616">‏PC اور Chromecast ایک ہی Wi-Fi نیٹ ورک پر</translation>
 <translation id="2016473077102413275">وہ خصوصیات کام نہیں کریں گی جن کیلئے تصاویر کی ضرورت ہوتی ہے</translation>
@@ -1282,6 +1293,7 @@
 <translation id="2081816110395725788">بیٹری کا استعمال کرتے وقت معطلی کا پاور</translation>
 <translation id="2082187087049518845">ٹیب کا گروپ بنائیں</translation>
 <translation id="2082510809738716738">تھیم کا رنگ منتخب کریں</translation>
+<translation id="2084891381052978619">‏اپنے Chromebook کا سیٹ اپ مکمل کرنے کے بعد آپ یہ اختیارات ترتیبات میں بھی تلاش کر سکتے ہیں</translation>
 <translation id="208586643495776849">براہ کرم دوبارہ کوشش کریں</translation>
 <translation id="208634871997892083">‏ہمیشہ آن VPN</translation>
 <translation id="2087822576218954668">پرنٹ کریں: <ph name="PRINT_NAME" /></translation>
@@ -1352,6 +1364,7 @@
 <translation id="212862741129535676">فریکوئنسی صورتحال کے تصرف کی فیصد</translation>
 <translation id="212876957201860463">آپ کے سیلولر آلہ کو سیٹ اپ کرنے کی تیاری ہو رہی ہے...</translation>
 <translation id="2131077480075264">"<ph name="APP_NAME" />" کو انسٹال کرنے سے قاصر کیونکہ "<ph name="IMPORT_NAME" />" کے ذریعہ اس کی اجازت نہیں ہے</translation>
+<translation id="2133775869826239001">سیٹ اپ کرنے کے لیے مزید خصوصیات کا انتخاب کریں</translation>
 <translation id="2133857665503360653"><ph name="FILE_NAME" /> کو دوبارہ آزمائیں</translation>
 <translation id="2134905185275441536">‏سسٹم CAs</translation>
 <translation id="21354425047973905">‏PINs چھپائیں</translation>
@@ -1771,6 +1784,7 @@
 <translation id="2458379781610688953">اکاؤنٹ اپ ڈیٹ کریں، <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">آلہ کی مینیجمنٹ کا ٹوکن غلط ہے۔</translation>
 <translation id="2459703812219683497">فعالیت کے کوڈ کا پتہ چلا</translation>
+<translation id="2459706890611560967"><ph name="DEVICE_NAME" /> پر ٹیب کاسٹ کرنا دوبارہ شروع کریں</translation>
 <translation id="2460356425461033301">اپنے براؤزر کے ڈیٹا کا بیک اپ لیں اور اسے کسی بھی آلے پر استعمال کریں</translation>
 <translation id="2462332841984057083">‏Steam کو پہلے سے ہی سیٹ اپ کیا جا رہا ہے۔ سیٹ اپ مکمل ہونے کا انتظار کریں۔</translation>
 <translation id="2462724976360937186">‏سرٹیفکیشن اتھارٹی کلید URL</translation>
@@ -2617,10 +2631,12 @@
 <translation id="3194786596445804250">فریق ثالث کی کوکیز کو مسدود کرنے کے بارے میں تفصیلات دکھائیں</translation>
 <translation id="3197453258332670132">دائیں طرف کلک کرنے یا لانگ پریس سے اپنے ٹیکسٹ کے انتخاب کے لیے متعلقہ معلومات دکھائیں</translation>
 <translation id="3199127022143353223">سرورز</translation>
+<translation id="3199637719075529971">یہ ٹیب سیریل پورٹ سے منسلک ہے</translation>
 <translation id="3200061262156232574">آپ کی خریداری کی کارٹ میں</translation>
 <translation id="3201237270673604992">‏Z سے A تک</translation>
 <translation id="3201422919974259695">‏دستیاب USB آلات یہاں ظاہر ہوں گے۔</translation>
 <translation id="3202131003361292969">راستہ</translation>
+<translation id="3202499879214571401"><ph name="DEVICE_NAME" /> پر اسکرین کو کاسٹ کرنا شروع کریں</translation>
 <translation id="3202578601642193415">جدید ترین</translation>
 <translation id="3204648577100496185">اس ایپ سے وابستہ ڈیٹا کو اس آلہ سے ہٹایا جا سکتا ہے۔</translation>
 <translation id="3207960819495026254">بُک مارک بنایا ہوا</translation>
@@ -2933,6 +2949,7 @@
 <translation id="347785443197175480"><ph name="HOST" /> کو اپنے کیمرا اور مائیکروفون تک حاصل کرنے کی اجازت دینا جاری رکھیں</translation>
 <translation id="3479552764303398839">ابھی نہیں</translation>
 <translation id="3479685872808224578">پرنٹ سرور کا پتا نہیں لگ سکا۔ براہ کرم پتہ چیک کریں اور دوبارہ کوشش کریں۔</translation>
+<translation id="3479753605053415848">‏Chrome کو حسب ضرورت بنانے کے لیے کلک کریں</translation>
 <translation id="3480612136143976912">لائیو کیپشن کیلئے کیپشن سائز اور طرز کو حسب ضرورت بنائیں۔ کچھ ایپس اور سائٹس بھی اس ترتیب کو استعمال کریں گی۔</translation>
 <translation id="3480827850068960424"><ph name="NUM" /> ٹیبز ملے</translation>
 <translation id="3481268647794498892"><ph name="ALTERNATIVE_BROWSER_NAME" /> میں <ph name="COUNTDOWN_SECONDS" /> سیکنڈ میں کھل رہا ہے</translation>
@@ -3015,6 +3032,7 @@
 <translation id="3557101512409028104">‏Family Link کی مدد سے ویب سائٹ کی پابندیاں اور اسکرین کے وقت کی حدود سیٹ کریں</translation>
 <translation id="3557267430539505890">‏<ph name="BEGIN_PARAGRAPH1" />ChromeOS آلات کو خودکار رپورٹس بھیجنے کی اجازت دینے سے ہمیں یہ ترجیح دینے میں مدد ملتی ہے کہ ChromeOS میں کیا درست اور بہتر کرنا ہے۔ ان رپورٹس میں ChromeOS کب کریش ہوتا ہے، کون سی خصوصیات استعمال کی گئیں اور عام طور کتنی میموری استعمال کی گئی جیسی چیزیں شامل ہو سکتی ہیں۔<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />آپ اپنے بچے کے ChromeOS آلے کی ترتیبات میں کسی بھی وقت ان رپورٹس کی اجازت کو شروع یا بند کر سکتے ہیں۔ اگر آپ ڈومین کے منتظم ہیں تو آپ منتظم کونسول میں اس ترتیب کو تبدیل کر سکتے ہیں۔<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653"><ph name="DEVICE_NAME" /> پر اسکرین کاسٹ کرنا بند کریں</translation>
 <translation id="3559262020195162408">آلہ پر پالیسی انسٹال نہیں ہو سکی۔</translation>
 <translation id="3559533181353831840">تقریباً <ph name="TIME_LEFT" /> باقی ہے</translation>
 <translation id="3560034655160545939">اور املا کی جانچ</translation>
@@ -3181,6 +3199,7 @@
 <translation id="370415077757856453">‏JavaScript مسدود ہے</translation>
 <translation id="3704331259350077894">عمل کا اختتام</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544"><ph name="DEVICE_NAME" /> پر اسکرین کاسٹ کرنا دوبارہ شروع کریں</translation>
 <translation id="3706463572498736864">فی شیٹ صفحات</translation>
 <translation id="370649949373421643">‏Wi-Fi فعال کریں</translation>
 <translation id="370665806235115550">لوڈ ہو رہے ہیں…</translation>
@@ -3226,6 +3245,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> آلہ کا ڈیٹا 24 گھنٹے کے اندر حذف کر دیا جائے گا</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094"><ph name="APPLICATION" /> کھولیں؟</translation>
+<translation id="3740945083753997630">ڈسپلے اور ٹیکسٹ کے سائز کو کم کریں</translation>
 <translation id="3741056951918180319">آپ ایکسٹینشن کو کسی بھی سائٹ پر استعمال کرنے کے لیے کسی بھی وقت اس پر کلک کر سکتے ہیں</translation>
 <translation id="3742235229730461951">کوریائی کی بورڈ لے آؤٹ</translation>
 <translation id="3742666961763734085">اس نام کا تنظیمی یونٹ تلاش نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔</translation>
@@ -3395,6 +3415,7 @@
 <translation id="3867134342671430205">ڈسپلے کو منتقل کرنے کیلئے تیر کے نشان والی کلیدوں کو گھسیٹیں یا استعمال کریں</translation>
 <translation id="3867944738977021751">سرٹیفکیٹ فیلڈز</translation>
 <translation id="3869917919960562512">غلط انڈیکس۔</translation>
+<translation id="3870688298003434214"><ph name="BOOKMARK_TITLE" /> غیر منتخب کریں</translation>
 <translation id="3870931306085184145"><ph name="DOMAIN" /> کے لئے کوئی محفوظ کردہ پاس ورڈ نہیں</translation>
 <translation id="3871350334636688135">24 گھنٹے کے بعد جب آپ اپنا آلہ دوبارہ شروع کریں گے تو آپ کا منتظم یک وقتی اپ ڈیٹ کرے گا جس سے آپ کا مقامی ڈیٹا حذف ہو جائے گا۔ 24 گھنٹے کے اندر کسی بھی ایسے مقامی ڈیٹا کو محفوظ کریں جسے آپ کلاؤڈ اسٹوریج میں رکھنا چاہتے ہیں۔</translation>
 <translation id="3872220884670338524">مزید کارروائیاں، <ph name="DOMAIN" /> پر <ph name="USERNAME" /> کیلئے محفوظ کردہ اکاؤنٹ</translation>
@@ -3490,6 +3511,7 @@
 <translation id="3945513714196326460">کوئی چھوٹا نام آزمائیں</translation>
 <translation id="3948027458879361203">میزبان کا نام تبدیل کریں</translation>
 <translation id="3948116654032448504">تصویر کیلئے <ph name="SEARCH_ENGINE" /> میں &amp;تلاش کریں</translation>
+<translation id="3948334586359655083">یہ ٹیب آڈیو چلا رہا ہے</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> مندرجہ ذیل فولڈرز کی فائلز میں ترمیم کر سکتا ہے</translation>
 <translation id="394984172568887996">‏IE سے درآمد کردہ</translation>
 <translation id="3950820424414687140">سائن ان کریں</translation>
@@ -3548,6 +3570,7 @@
 <translation id="3987544746655539083">اس سائٹ کو اپنے مقام تک رسائی سے مسدود کرنا جاری رکھیں</translation>
 <translation id="3987938432087324095">معذرت، سنائی نہیں دیا۔</translation>
 <translation id="3987993985790029246">لنک کاپی کریں</translation>
+<translation id="3988124842897276887">‏یہ ٹیب ایک USB آلہ سے منسلک ہے</translation>
 <translation id="3988488665753590964">ایڈجسٹ کریں کہ آپ کی اسکرین پر رنگ کیسے ظاہر ہوں</translation>
 <translation id="3988996860813292272">ٹائم زون منتخب کریں</translation>
 <translation id="399179161741278232">درآمد کردہ</translation>
@@ -3697,6 +3720,7 @@
 <translation id="4130207949184424187">آپ کی جانب سے اومنی باکس سے تلاش کرنے پر دکھائی دینے والے صفحہ کو اس ایکسٹینشن نے تبدیل کر دیا ہے۔</translation>
 <translation id="4130750466177569591">میں متفق ہوں</translation>
 <translation id="413121957363593859">اجزاء</translation>
+<translation id="4131283654370308898">اس سائٹ پر <ph name="EXTENSION_NAME" /> کی اجات دیں</translation>
 <translation id="4131410914670010031">سیاہ اور سفید</translation>
 <translation id="413193092008917129">نیٹ ورک کی تشخیصی روٹینز</translation>
 <translation id="4132183752438206707">‏Google Play اسٹور پر ایپس حاصل کریں</translation>
@@ -4054,6 +4078,7 @@
 <translation id="4444512841222467874">اگر جگہ دستیاب نہیں کرائی جاتی ہے تو صارفین اور ڈیٹا کو خودکار طور پر ہٹایا جا سکتا ہے۔</translation>
 <translation id="4445446646109808714">انتہائی صارف کے لائسنس کا اقرار نامہ: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">معکوس کردہ</translation>
+<translation id="4448560527907365660">محفوظ کریں اور مزید دیکھیں</translation>
 <translation id="4448914100439890108"><ph name="DOMAIN" /> پر <ph name="USERNAME" /> کیلئے پاس ورڈ چھپائیں</translation>
 <translation id="4449247303975391730">اجازتوں کا نظم کریں</translation>
 <translation id="4449948729197510913">‏آپ کے صارف نام کا تعلق آپ کی تنظیم کے انٹرپرائز اکاؤنٹ سے ہے۔ اکاؤنٹ میں آلات کا اندراج کرنے کیلئے، پہلے Admin Console میں ڈومین کی ملکیت کی توثیق کریں۔ توثیق کرنے کے لئے آپ کو اکاؤنٹ پر انتظامی مراعات کی ضرورت ہوگی۔</translation>
@@ -4233,6 +4258,7 @@
 <translation id="4601426376352205922">نہ پڑھا ہوا کے بطور نشان زد کریں</translation>
 <translation id="460190672235687855">پاس ورڈز دیکھیں</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> کو ہمیشہ اپنے کیمرے اور مائیکروفون تک رسائی حاصل کرنے کی اجازت دیں</translation>
+<translation id="4602776638371779614">یہ ٹیب بلوٹوتھ آلات کے لیے فعال طور پر اسکین کر رہا ہے</translation>
 <translation id="4606551464649945562">‏سائٹس کو اپنے اطراف کا 3D نقشہ تخلیق یا کمرے کی پوزیشن ٹریک کرنے کی اجازت نہ دیں</translation>
 <translation id="4608500690299898628">&amp;تلاش کریں…</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> میں ایک خرابی پیش آ گئی ہے</translation>
@@ -4416,6 +4442,7 @@
 <translation id="4770119228883592393">‏اجازت کی درخواست کی گئی، جواب دینے کے لیے ⌘ + Option + نیچے تیر کا نشان دبائیں</translation>
 <translation id="4773112038801431077">‏Linux کو اپ گریڈ کریں</translation>
 <translation id="4774456473286455263">‏اپنے Android فون کی مدد سے سیٹ اپ کریں</translation>
+<translation id="477548766361111120">ایکسٹینشن کو اس سائٹ کو پڑھنے اور اس میں تبدیل کرنے کی اجازت دیں</translation>
 <translation id="477647109558161443">ڈیسک ٹاپ شارٹ کٹ بنائیں</translation>
 <translation id="4776594120007763294">بعد میں پڑھنے کی خاطر صفحہ شامل کرنے کے لیے، بٹن پر کلک کریں</translation>
 <translation id="4777458362738635055">اس آلہ کے دیگر صارفین یہ نیٹ ورک استعمال کر سکتے ہيں</translation>
@@ -5160,6 +5187,7 @@
 <translation id="5439680044267106777">نظر انداز کریں اور نئی پروفائل سیٹ اپ کریں</translation>
 <translation id="544083962418256601">شارٹ کٹس بنائیں…</translation>
 <translation id="5441133529460183413">‏Chrome براؤزر سے ویب ایپ انسٹال کی گئی</translation>
+<translation id="5441292787273562014">صفحہ دوبارہ لوڈ کریں</translation>
 <translation id="5441466871879044658">اس زبان میں ترجمہ کریں</translation>
 <translation id="5442228125690314719">ڈسک امیج بنانے میں خرابی آ گئی ہے۔ براہ کرم دوبارہ کوشش کریں۔</translation>
 <translation id="5442550868130618860">آٹو اپ ڈیٹ آن کریں</translation>
@@ -5207,6 +5235,7 @@
 <translation id="5485102783864353244">ایپ شامل کریں</translation>
 <translation id="5485435764083510385">کیپشن کی ترجیحی زبان</translation>
 <translation id="5485754497697573575">سبھی ٹیبز بحال کریں</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> جدید تر یا مختلف قسم کے آلے کا تقاضہ کر سکتی ہے</translation>
 <translation id="5486261815000869482">پاس ورڈ کی توثیق کریں</translation>
 <translation id="5486561344817861625">براؤزر کو دوبارہ شروع کرنے کی نقل کریں</translation>
 <translation id="5487460042548760727">پروفائل کا نام <ph name="PROFILE_NAME" /> میں تبدیل کریں</translation>
@@ -5561,6 +5590,7 @@
 <translation id="5799508265798272974">‏Linux ورچوئل مشین: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">مقصود فائل کو پچھلے ڈاؤن لوڈ کے بعد سے چھانٹ یا ہٹا دیا گیا تھا۔</translation>
 <translation id="5800351251499368110">سائیڈ پینل میں تلاش ٹول بار کو بند کریں۔ سائیڈ پینل میں تلاش ٹول بار کھلا ہے۔</translation>
+<translation id="5800703268655655701">ہلکی یا گہرا تھیم منتخب کریں</translation>
 <translation id="5801051031414037185">فون سیٹ اپ کریں</translation>
 <translation id="5801568494490449797">ترجیحات</translation>
 <translation id="5803689677801500549">‏محفوظ کردہ پاس ورڈز یہاں ظاہر ہوں گے۔ <ph name="USER_EMAIL" /> کے لیے <ph name="BRAND" /> میں پاس ورڈز درآمد کرنے کی خاطر، <ph name="BEGIN_LINK" /> ایک CSV فائل منتخب کریں۔<ph name="END_LINK" /></translation>
@@ -5676,6 +5706,7 @@
 <translation id="5889282057229379085">‏انٹر میڈیٹ CAs کی زیادہ سے زیادہ تعداد: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">‏اپنے ذاتی مطابقت پذیر <ph name="BEGIN_LINK" />پاس فریز کے ساتھ مطابقت پذیر کردہ ڈیٹا کی مرموزکاری کریں<ph name="END_LINK" />۔ Google Pay سے ادائیگی کے طریقے اور پتے مرموز نہیں ہوں گے۔ Chrome سے براؤزنگ کی سرگزشت مطابقت پذیر نہیں ہوگی۔</translation>
 <translation id="5891688036610113830">‏ترجیحی Wi-Fi نیٹ ورکس</translation>
+<translation id="5894056653502215961"><ph name="FOLDER_TITLE" /> فولڈر غیر منتخب کریں</translation>
 <translation id="5895138241574237353">دوبارہ شروع کریں</translation>
 <translation id="5895335062901455404">‏جب آپ اپنے Google اکاؤنٹ کے ساتھ سائن ان کریں گے تو آپ کی محفوظ کردہ ترجیحات اور سرگرمی کسی بھی ChromeOS Flex آلہ پر تیار ہوں گی۔ آپ اس بات کا انتخاب کر سکتے ہیں کہ ترتیبات میں کس چیز کی مطابقت پذیری کرنی ہے۔</translation>
 <translation id="589541317545606110"><ph name="VISUAL_SEARCH_PROVIDER" /> کی مدد سے صفحہ تلاش کریں</translation>
@@ -5747,6 +5778,7 @@
 <translation id="5948476936444935795">برآمد منسوخ کریں</translation>
 <translation id="5948536763493709626">کی بورڈ یا ماؤس منسلک کریں یا اپنی ٹچ اسکرین کا استعمال کر کے سیٹ اپ جاری رکھیں۔ اگر آپ بلوٹوتھ آلات استعمال کر رہے ہیں تو یقینی بنائیں کہ آپ کے آلات جوڑا بنانے کیلئے تیار ہیں۔</translation>
 <translation id="5949544233750246342">فائل کو پارس کرنے سے قاصر</translation>
+<translation id="5950762317146173294">یہ فائل وائرس یا میلوئیر ہو سکتی ہے</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> مقامی فونٹس استعمال کرنا چاہتی ہے</translation>
 <translation id="5951624318208955736">مانیٹر</translation>
 <translation id="595262438437661818">کسی ایکسٹینشن کو اس سائٹ تک رسائی درکار نہیں ہے</translation>
@@ -5831,6 +5863,7 @@
 <translation id="6022526133015258832">پوری اسکرین کھولیں</translation>
 <translation id="6022659036123304283">‏Chrome کو اپنا ڈیفالٹ براؤزر بنائيں</translation>
 <translation id="6023643151125006053">‏اس آلہ (SN: <ph name="SERIAL_NUMBER" />‎) کو <ph name="SAML_DOMAIN" /> منتظم نے مقفل کیا تھا۔</translation>
+<translation id="6024072172641380781">اس سائٹ پر ایکسٹینشنز کی اجازت دیں</translation>
 <translation id="6025215716629925253">انبار کا ٹریس</translation>
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - USB آلہ منسلک ہے</translation>
 <translation id="6027945736510816438">کیا آپ کا مطلب <ph name="WEBSITE" /> ہے؟</translation>
@@ -6114,6 +6147,7 @@
 <translation id="6268252012308737255"><ph name="APP" /> کے ساتھ کھولیں</translation>
 <translation id="6270309713620950855">یاد دہانی خاموش کریں</translation>
 <translation id="6270391203985052864">سائٹس اطلاعات بھیجنے کے لیے کہہ سکتی ہیں</translation>
+<translation id="6270486800167535228">ایکسٹینشن پن کیا گیا ہے۔ مزید اختیارات دیکھنے کے لیے منتخب کریں</translation>
 <translation id="6270770586500173387"><ph name="BEGIN_LINK1" />سسٹم اور ایپ کی معلومات<ph name="END_LINK1" /> اور <ph name="BEGIN_LINK2" />میٹرکس<ph name="END_LINK2" /> بھیجیں</translation>
 <translation id="6270896861225278704">صارف کے تجربے کا کارڈ</translation>
 <translation id="6271348838875430303">اصلاح کو کالعدم کیا گیا ہے</translation>
@@ -6194,6 +6228,7 @@
 <translation id="6344608411615208519">آپ کا <ph name="BEGIN_LINK" />براؤزر آپ کے والدین کے زیر انتظام<ph name="END_LINK" /> ہے</translation>
 <translation id="6345418402353744910">پراکسی <ph name="PROXY" /> کیلئے آپ کا صارف نام اور پاس ورڈ درکار ہے تاکہ منتظم آپ کے نیٹ ورک کو ترتیب دے سکے</translation>
 <translation id="6345878117466430440">بطور پڑھا ہوا مارک کریں</translation>
+<translation id="6346952829206698721">کلپ بورڈ سے پیسٹ کریں</translation>
 <translation id="6347010704471250799">اطلاع دکھائیں</translation>
 <translation id="634887995541211148">‏اپنے آلے پر Bruschetta چلائیں۔</translation>
 <translation id="6349101878882523185"><ph name="APP_NAME" /> انسٹال کریں</translation>
@@ -6479,6 +6514,7 @@
 <translation id="6596325263575161958">مرموزکاری کے اختیارات</translation>
 <translation id="6596816719288285829">‏IP پتہ</translation>
 <translation id="6597017209724497268">نمونے</translation>
+<translation id="6597324406048772521">اس سائٹ پر ایکسٹینشنز کی اجات نہیں ہے</translation>
 <translation id="6597331566371766302">آپ کے منتظم نے درج ذیل ایکسٹینشنز کو مسدود کر دیا ہے:</translation>
 <translation id="659894938503552850">جدید ترین</translation>
 <translation id="6601262427770154296">صارف کی لغات کا نظم کریں</translation>
@@ -6496,6 +6532,7 @@
 <translation id="6609478180749378879">آپ کے پوشیدگی وضع سے باہر نکلنے کے بعد، سائن ان ڈیٹا اس آلے پر اسٹور کیا جائے گا۔ بعد میں، آپ اپنے آلے کی مدد سے اس ویب سائٹ پر دوبارہ سائن ان کر سکیں گے۔</translation>
 <translation id="6610002944194042868">ترجمہ کے اختیارات</translation>
 <translation id="6611972847767394631">یہاں اپنے ٹیبز تلاش کریں</translation>
+<translation id="6613267708691765962">میلوئیر کے لیے اسکین کیا جا رہا ہے...</translation>
 <translation id="6613668613087513143">‏اس اپ ڈیٹ کو مکمل کرنے کے لیے اس آلے پر کافی اسپیس نہیں ہے۔ اپنے آلے پر <ph name="NECESSARY_SPACE" /> کو صاف کریں اور اپنے Chrome براؤزر سے دوبارہ کوشش کریں۔</translation>
 <translation id="6615455863669487791">مجھے دکھائیں</translation>
 <translation id="6618097958368085618">بہر حال رکھیں</translation>
@@ -6744,6 +6781,7 @@
 <translation id="6825184156888454064">نام کے لحاظ سے ترتیب دیں</translation>
 <translation id="6826872289184051766">‏USB کے ذریعے توثیق کریں</translation>
 <translation id="6827121912381363404">تمام ایکسٹینشنز کو <ph name="PERMITTED_SITE" /> پڑھنے اور تبدیل کرنے کی اجازت دیں</translation>
+<translation id="6827422464708099620">مزید اختیارات دیکھنے کے لیے منتخب کریں</translation>
 <translation id="6827517233063803343">‏آپ کی ایپس اور ترتیبات ان تمام ChromeOS آلات پر مطابقت پذیر ہوں گی جہاں آپ اپنے Google اکاؤنٹ کے ساتھ سائن ان ہیں۔ براؤزر کی مطابقت پذیری کے اختیارات کے ليے <ph name="LINK_BEGIN" />Chrome کی ترتیبات<ph name="LINK_END" /> پر جائیں۔</translation>
 <translation id="6827767090350758381">‏دسمبر 2022 کے بعد، Chrome ایپس کے پرانے ورژنز Windows آلات پر اب مزید نہیں کھل سکیں گے۔ نئے ورژن پر اپ ڈیٹ کرنے کے لیے اپنے منتظم سے رابطہ کریں یا یہ ایپ ہٹائیں۔</translation>
 <translation id="6828153365543658583">سائن ان کو درج ذیل صارفین کیلئے محدود کریں:</translation>
@@ -6807,6 +6845,7 @@
 <translation id="6868934826811377550">تفصیلات دیکھیں</translation>
 <translation id="6871644448911473373">‏OCSP ریسپانڈر: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">سرور نے آپ کا درج کردہ پاس ورڈ مسترد کر دیا۔</translation>
+<translation id="6873571253135628430">سائٹ کی اجازت تبدیل کریں</translation>
 <translation id="6876155724392614295">بائیک</translation>
 <translation id="6876469544038980967">مددگار نہیں ہے</translation>
 <translation id="6878422606530379992">سینسرز کی اجازت ہے</translation>
@@ -6947,6 +6986,7 @@
 <translation id="6993050154661569036">‏Chrome براؤزر کو اپ ڈیٹ کیا جا رہا ہے</translation>
 <translation id="6995899638241819463">اگر پاس ورڈز ڈیٹا کی خلاف ورزی میں افشاء ہوتے ہیں تو وارننگ حاصل کریں</translation>
 <translation id="6995984090981858039">‏ChromeOS آلے کی معلومات اور ڈیٹا پڑھیں</translation>
+<translation id="6996438701394974959">ڈسپلے اور ٹیکسٹ کے سائز میں اضافہ کریں</translation>
 <translation id="6997553674029032185">سائٹ پر جائیں</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - سرگرمی کا لاگ</translation>
 <translation id="6997707937646349884">آپ کے آلات پر:</translation>
@@ -7067,6 +7107,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{ایپ ہٹائیں}other{ایپس ہٹائیں}}</translation>
 <translation id="7099337801055912064">‏بڑے PPD کو لوڈ نہیں کر سکتا۔ زیادہ سے زیادہ سائز ‎250 kB‎ ہے۔</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{کوئی متاثرہ پاس ورڈ نہیں}=1{{COUNT} متاثرہ پاس ورڈ}other{{COUNT} متاثرہ پاس ورڈز}}</translation>
+<translation id="710047887584828070">اس ٹیب کے مواد کا اشتراک کیا جا رہا ہے</translation>
 <translation id="7102832101143475489">درخواست کا وقت ختم ہو گیا</translation>
 <translation id="710640343305609397">نیٹ ورک کی ترتیبات کھولیں</translation>
 <translation id="7107609441453408294">سبھی اسپیکرز سے ایک ہی آڈیو چلائیں</translation>
@@ -7162,6 +7203,7 @@
 <translation id="719791532916917144">کی بورڈ شارٹ کٹ</translation>
 <translation id="7198503619164954386">آپ کا انٹرپرائز مندرج آلہ پر ہونا ضروری ہے</translation>
 <translation id="7199158086730159431">&amp;مدد حاصل کریں</translation>
+<translation id="7199452998289813782"><ph name="DEVICE_NAME" /> پر کاسٹ کرنا روکیں</translation>
 <translation id="7200083590239651963">کنفیگریشن منتخب کریں</translation>
 <translation id="720110658997053098">اس آلہ کو مستقل طور پر کیوسک وضع میں رکھیں</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' حذف کر دیا گیا</translation>
@@ -7208,6 +7250,7 @@
 <translation id="7241389281993241388">براہ کرم کلائنٹ سرٹیفکیٹ درآمد کرنے کیلئے <ph name="TOKEN_NAME" /> میں سائن ان کریں۔</translation>
 <translation id="7241763419756062043">اپنی تلاش اور براؤنگ کا معیار منتخب کریں</translation>
 <translation id="7243632151880336635">صاف کریں اور سائن آؤٹ کریں</translation>
+<translation id="7245162963905242662">‏Google کے ساتھ یہ صفحہ تلاش کریں...</translation>
 <translation id="7245628041916450754">‏<ph name="WIDTH" /> x <ph name="HEIGHT" /> (بہترین)</translation>
 <translation id="7246230585855757313">اپنی سیکیورٹی کلید دوبارہ داخل کریں اور دوبارہ کوشش کریں</translation>
 <translation id="724835896049478274">‏Android ایپس کے لیے اکاؤنٹس دستیاب ہیں</translation>
@@ -7514,8 +7557,10 @@
 <translation id="7497981768003291373">‏آپ کے پاس حالیہ کیپچر کردہ کوئی WebRTC ٹیکسٹ لاگ نہیں ہے۔</translation>
 <translation id="7501957181231305652">یا</translation>
 <translation id="7502220299952823578">"ان سائٹس کو ہمیشہ فعال رکھیں" کی فہرست میں شامل کریں</translation>
+<translation id="7502528909759062987"><ph name="DEVICE_NAME" /> پر ٹیب کو کاسٹ کرنا روکیں</translation>
 <translation id="7503191893372251637">‏Netscape سرٹیفیکیٹ کی قسم</translation>
 <translation id="7503985202154027481">آپ کی سیکیورٹی کلید پر آپ کے اس سائٹ کو ملاحظہ کرنے کا ریکارڈ رکھا جائے گا۔</translation>
+<translation id="7504145862399276792">اس ٹیب کی آڈیو خاموش کی جا رہی ہے</translation>
 <translation id="750509436279396091">ڈاؤن لوڈز کا فولڈر کھولیں</translation>
 <translation id="7505149250476994901">حرف سے پہلے "بڑا حرف" بولیں</translation>
 <translation id="7505717542095249632"><ph name="MERCHANT" /> چھپائیں</translation>
@@ -7755,6 +7800,7 @@
 <translation id="7701040980221191251">کوئی نہیں</translation>
 <translation id="7701265686005869308">پروفائل بند کریں</translation>
 <translation id="7701869757853594372">صارف کے ہینڈلز</translation>
+<translation id="7702463352133825032"><ph name="DEVICE_NAME" /> پر کاسٹ کرنا بند کریں</translation>
 <translation id="7702574632857388784">فہرست سے <ph name="FILE_NAME" /> ہٹائيں</translation>
 <translation id="7702907602086592255">ڈومین</translation>
 <translation id="7704305437604973648">ٹاسک</translation>
@@ -7874,6 +7920,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">ابتدائی صفحہ کا پس منظر <ph name="CATEGORY" /> میں تبدیل کر دیا گیا ہے۔</translation>
+<translation id="7791436592012979144">معکوس اسکرولنگ فعال ہے</translation>
 <translation id="7791543448312431591">شامل کریں</translation>
 <translation id="7792012425874949788">سائن ان کرتے ہوئے کچھ غلط ہوگیا</translation>
 <translation id="7792388396321542707">اشتراک روکیں</translation>
@@ -8040,6 +8087,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% مکمل</translation>
 <translation id="7939062555109487992">اعلی درجے کے اختیارات</translation>
 <translation id="7939073735115504773"><ph name="HOST" /> کو پڑھنے اور تبدیل کرنے کے لیے اس ایکسٹینشن کے آئیکن پر کلک کریں</translation>
+<translation id="793923212791838">آپ کا آلہ اس سائٹ کے ساتھ استعمال نہیں کیا جا سکتا</translation>
 <translation id="7939328347457537652">ڈیوائس کے سرٹیفکیٹس کا نظم کریں</translation>
 <translation id="7939412583708276221">بہر صورت برقرار رکھیں</translation>
 <translation id="7940265372707990269"><ph name="SORT_TYPE" /> کے لحاظ سے ترتیب دیں</translation>
@@ -8215,6 +8263,7 @@
 <translation id="8084114998886531721">محفوظ کیا گیا پاس ورڈ</translation>
 <translation id="8084510406207562688">تمام ٹیبز کو بحال کریں</translation>
 <translation id="8086015605808120405"><ph name="PRINTER_NAME" /> کو کنفیگر کیا جا رہا ہے…</translation>
+<translation id="8086121155774250556">یہ ٹیب آپ کی اسکرین کا اشتراک کر رہا ہے</translation>
 <translation id="8086442853986205778"><ph name="PRINTER_NAME" /> سیٹ اپ کریں</translation>
 <translation id="8086610718778464681">‏Linux ایپس اور فائلز کا بیک اپ نہیں لے سکتے</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{یہ فائل مرموز کردہ ہے۔ اس کے مالک سے غیر مرموز کرنے کو کہیں۔}other{ان فائلز میں سے کچھ مرموز کردہ ہیں۔ ان کے مالک سے غیر مرموز کرنے کو کہیں۔}}</translation>
@@ -8517,6 +8566,7 @@
 <translation id="8345848587667658367">اب آپ اپنے فون کی حالیہ تصاویر، میڈیا، اطلاعات اور ایپس دیکھ سکتے ہیں</translation>
 <translation id="8347227221149377169">پرنٹ جابز</translation>
 <translation id="834785183489258869">پوشیدگی موڈ میں ہونے پر سائٹس مختلف سائٹس میں آپ کی براؤزنگ سرگرمی کو دیکھنے کے لیے آپ کی کوکیز کا استعمال نہیں کر سکتیں، مثال کے طور پر اشتہارات کو ذاتی نوعیت کا بنانا۔ ہو سکتا ہے کہ کچھ سائٹس پر خصوصیات کام نہ کریں۔</translation>
+<translation id="8349325309815489209">اس سائٹ پر ایکسٹینشنز کی اجات ہے</translation>
 <translation id="8349826889576450703">لانچر</translation>
 <translation id="8350789879725387295">ڈاک میں اسٹائلس ٹولز</translation>
 <translation id="8351316842353540018">‏a11y کے اختیارات ہمیشہ دکھائیں</translation>
@@ -8545,6 +8595,7 @@
 <translation id="8370294614544004647">لیپ ٹاپ بند ہونے پر سلیپ وضع میں بھیجیں</translation>
 <translation id="8371695176452482769">اب بولیں</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{سائٹ کی آواز بند کریں}other{سائٹس کی آواز بند کریں}}</translation>
+<translation id="8372441176515901959">درخواست برخاست کریں</translation>
 <translation id="8373652277231415614">‏Crostini کی اشتراک کردہ ڈائرکٹریز</translation>
 <translation id="8374243500935816406">سائٹس کو اپنے تمام ڈسپلیز پر ونڈوز کا نظم کرنے کی اجازت نہ دیں</translation>
 <translation id="8376137163494131156">‏ہمیں بتائیں کہ Google Cast کے ساتھ کیا ہو رہا ہے۔</translation>
@@ -8904,6 +8955,7 @@
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> منسوخ کریں</translation>
 <translation id="8688672835843460752">دستیاب</translation>
 <translation id="8690129572193755009">سائٹس پروٹوکولز ہینڈل کرنے کے لئے پوچھ سکتی ہیں</translation>
+<translation id="869144235543261764">یہ ٹیب تصویر میں تصویر وضع میں ویڈیو چلا رہا ہے</translation>
 <translation id="8692107307702113268">پاس ورڈ میں 1000 سے زیادہ حروف ہیں</translation>
 <translation id="8694596275649352090">سوتے وقت یا لِڈ بند ہونے پر مقفل کریں</translation>
 <translation id="8695139659682234808">سیٹ اپ کے بعد پیرنٹل کنٹرولز شامل کریں</translation>
@@ -9137,6 +9189,7 @@
 <translation id="8877448029301136595">[پیرینٹ ڈائرکٹری]</translation>
 <translation id="8879284080359814990">&amp;ٹیب کے بطور دکھائیں</translation>
 <translation id="8879921471468674457">سائن ان کی معلومات یاد رکھیں</translation>
+<translation id="8880009256105053174">‏Google کے ساتھ یہ صفحہ تلاش کریں...</translation>
 <translation id="8880054210564666174">رابطوں کی فہرست ڈاؤن لوڈ کرنے سے قاصر۔ براہ کرم اپنا نیٹ ورک کنکشن چیک کریں یا <ph name="LINK_BEGIN" />دوبارہ کوشش کریں<ph name="LINK_END" />۔</translation>
 <translation id="8881020143150461183">براہ کرم دوبارہ کوشش کریں۔ تکنیکی سپورٹ کیلئے <ph name="CARRIER_NAME" /> سے رابطہ کریں۔</translation>
 <translation id="888256071122006425">ماؤس اور ٹچ پیڈ کی ترتیبات</translation>
@@ -9401,6 +9454,7 @@
 <translation id="9102864637938129124">سائٹس اور مشتہرین اشتہارات کی کارکردگی کا طریقہ سمجھ سکتے ہیں۔ یہ ترتیب آن ہے۔</translation>
 <translation id="9103479157856427471">زوم ان کردہ اسکرین کی بورڈ فوکس کے مطابق ہوتی ہے</translation>
 <translation id="9103868373786083162">پیچھے جانے کیلئے دبائیں، سرگزشت دیکھنے کیلئے سیاق وسباق کا مینیو</translation>
+<translation id="9107096627210171112">ترجمہ...</translation>
 <translation id="9108035152087032312">ونڈو کا نام رکھیں...</translation>
 <translation id="9108072915170399168">موجودہ ڈیٹا استعمال کی ترتیب بغیر انٹرنیٹ کے ہے</translation>
 <translation id="9108294543511800041">اب آپ اپنے فون کی حالیہ تصاویر، میڈیا اور اطلاعات دیکھ سکتے ہیں</translation>
@@ -9557,6 +9611,7 @@
 <translation id="947329552760389097">&amp;عناصر کا معائنہ کریں</translation>
 <translation id="947526284350604411">آپ کا جواب</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> اس فولڈر میں فائلیں نہیں کھول سکتا کیونکہ اس میں سسٹم کی فائلیں ہیں</translation>
+<translation id="949807244219288032">‏یہ ٹیب ایک HID آلہ سے منسلک ہے</translation>
 <translation id="950307215746360464">سیٹ اپ کی گائیڈ</translation>
 <translation id="951991426597076286">مسترد کریں</translation>
 <translation id="952471655966876828">آلہ کے آن ہونے اور استعمال ہونے پر یہ خودکار طور پر منسلک ہو جائے گا</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index a72c9a1d..09cb57e 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">Đã hủy</translation>
 <translation id="1022489261739821355">Đang hiển thị các mật khẩu lưu trong <ph name="BEGIN_LINK" />Tài khoản Google<ph name="END_LINK" /> của bạn</translation>
 <translation id="1022669824195822609">Thiết bị của bạn do <ph name="DOMAIN" /> quản lý. Quản trị viên có thể truy cập vào dữ liệu trong bất kỳ hồ sơ nào trên thiết bị này.</translation>
+<translation id="1024734233509995696">Thẻ này đang sử dụng máy ảnh hoặc micrô của bạn</translation>
 <translation id="1026655690966755180">Thêm cổng</translation>
 <translation id="1026822031284433028">Tải hình ảnh</translation>
 <translation id="1026959648338730078">Windows Hello hoặc khoá bảo mật bên ngoài</translation>
@@ -193,6 +194,7 @@
 <translation id="1155816283571436363">Đang kết nối với điện thoại của bạn</translation>
 <translation id="1158080958325422608">Viết hoa toàn bộ</translation>
 <translation id="1158238185437008462">Xem kỷ niệm</translation>
+<translation id="1159879754517035595">Quản lý cài đặt tiện ích</translation>
 <translation id="1160842321113409343">Để bảo vệ quyền riêng tư của bạn, chúng tôi tự động xoá khỏi danh sách các trang web không được làm mới sau 4 tuần. Trang web bạn truy cập lại có thể sẽ xuất hiện lại trong danh sách. Bạn cũng có thể xoá một trang web nếu không muốn hệ thống dựa vào trang web đó để ước đoán mối quan tâm của bạn.</translation>
 <translation id="1161575384898972166">Vui lòng đăng nhập vào <ph name="TOKEN_NAME" /> để xuất chứng chỉ ứng dụng khách.</translation>
 <translation id="116173250649946226">Bạn không thể thay đổi giao diện vì đây là giao diện mặc định do quản trị viên đặt.</translation>
@@ -211,6 +213,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> có chứa dữ liệu nhạy cảm hoặc nguy hiểm. Quản trị viên của bạn cho biết: "<ph name="CUSTOM_MESSAGE" />"</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> muốn kết nối với một thiết bị HID (thiết bị giao diện tương tác với con người)</translation>
 <translation id="1172750555846831341">Lật trên cạnh ngắn</translation>
+<translation id="1173036203040243666">Thẻ này đã kết nối với một thiết bị Bluetooth</translation>
 <translation id="1173332155861271669">Thông tin chi tiết về nhà cung cấp Passpoint</translation>
 <translation id="1173894706177603556">Đổi tên</translation>
 <translation id="1174073918202301297">Đã thêm phím tắt</translation>
@@ -316,6 +319,7 @@
 <translation id="1252987234827889034">Đã xảy ra lỗi hồ sơ</translation>
 <translation id="1253664522045778676">Nhấp vào một kết quả, trang sẽ mở ra trong thẻ hiện tại</translation>
 <translation id="1254593899333212300">Kết nối Internet trực tiếp</translation>
+<translation id="1256588359404100567">Đã đồng bộ hoá chế độ cài đặt từ thiết bị trước của bạn.</translation>
 <translation id="1257336506558170607">Xuất chứng chỉ đã chọn</translation>
 <translation id="1258491128795710625">Tính năng mới</translation>
 <translation id="1259152067760398571">Tính năng kiểm tra an toàn đã chạy hôm qua</translation>
@@ -661,6 +665,7 @@
 <translation id="1556537182262721003">Không thể di chuyển thư mục tiện ích vào hồ sơ.</translation>
 <translation id="1558391695376153246">Đóng các thẻ Ẩn danh</translation>
 <translation id="155865706765934889">Ô di chuột</translation>
+<translation id="1558671750917454373">Tiếp tục truyền tới <ph name="DEVICE_NAME" /></translation>
 <translation id="1562119309884184621">Khi bạn thêm người liên hệ này, hệ thống sẽ ghi nhớ người đó để dễ dàng chia sẻ lần sau</translation>
 <translation id="1563137369682381456">Ngày hết hạn</translation>
 <translation id="1563702743503072935">Các mật khẩu trên Tài khoản Google của bạn cũng sẽ hiển thị trên thiết bị này khi bạn đăng nhập</translation>
@@ -792,6 +797,7 @@
 <translation id="1648528859488547844">Sử dụng Wi‑Fi hoặc mạng di động để xác định vị trí</translation>
 <translation id="164936512206786300">Hủy ghép nối thiết bị Bluetooth</translation>
 <translation id="1651008383952180276">Bạn phải nhập cùng một cụm mật khẩu hai lần</translation>
+<translation id="1651609627703324721">Thẻ này đang trình bày nội dung Thực tế ảo đến một tai nghe.</translation>
 <translation id="1652326691684645429">Bật tính năng Chia sẻ lân cận</translation>
 <translation id="1654580009054503925">Không được phép hiện yêu cầu</translation>
 <translation id="1656528038316521561">Độ mờ của nền</translation>
@@ -891,6 +897,7 @@
 <translation id="173522743738009831">Giới thiệu về Hộp cát về quyền riêng tư</translation>
 <translation id="173628468822554835">Đã hiểu. Theo mặc định, các trang web mới mà bạn truy cập sẽ không gửi thông báo cho bạn.</translation>
 <translation id="1737968601308870607">Lỗi tệp</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />. Chọn để thay đổi các quyền của trang web</translation>
 <translation id="1741190788710022490">Sạc thích ứng</translation>
 <translation id="174123615272205933">Tùy chỉnh</translation>
 <translation id="1741314857973421784">Tiếp tục</translation>
@@ -1006,6 +1013,7 @@
 <translation id="18260074040409954">Bạn có thể dùng các mật khẩu đã lưu trên mọi thiết bị. Các mật khẩu đó được lưu vào <ph name="GOOGLE_PASSWORD_MANAGER" /> cho <ph name="EMAIL" />.</translation>
 <translation id="1826192255355608658">Đồng bộ hóa dấu trang, mật khẩu, nhật ký duyệt web trên Chrome, v.v.</translation>
 <translation id="1826516787628120939">Đang kiểm tra</translation>
+<translation id="1826657447823925402">Đã tắt chế độ cuộn ngược</translation>
 <translation id="1827504459960247692">Tên điểm phát sóng</translation>
 <translation id="1828378091493947763">Thiết bị này không hỗ trợ plugin này</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Mở tất cả}=1{&amp;Mở dấu trang}other{&amp;Mở tất cả ({COUNT})}}</translation>
@@ -1083,6 +1091,7 @@
 <translation id="1885066963699478692">Các tệp XML được dùng để đặt giá trị cho chính sách.</translation>
 <translation id="1885106732301550621">Dung lượng ổ đĩa</translation>
 <translation id="1886996562706621347">Cho phép các trang web yêu cầu trở thành trình xử lý mặc định cho giao thức (nên chọn)</translation>
+<translation id="1887210448491286312">Dừng truyền thẻ tới <ph name="DEVICE_NAME" /></translation>
 <translation id="1887442540531652736">Lỗi đăng nhập</translation>
 <translation id="1887597546629269384">Nói lại "Ok Google"</translation>
 <translation id="1889091146873278175">Nhấp vào nút "G" để xem thêm kết quả tìm kiếm trong bảng điều khiển bên</translation>
@@ -1109,6 +1118,7 @@
 <translation id="1910908536872421421">Chrome for Testing v<ph name="BROWSER_VERSION" /> chỉ dành cho kiểm thử tự động. Để duyệt web bình thường, hãy sử dụng phiên bản Chrome chuẩn có thể tự động cập nhật.</translation>
 <translation id="1915073950770830761">canary</translation>
 <translation id="1915307458270490472">Kết thúc</translation>
+<translation id="1915613305720536742">Dịch</translation>
 <translation id="1915734383465415025">Số hiệu cửa hàng</translation>
 <translation id="1916260783734263714">Thẻ hiện tại</translation>
 <translation id="1916502483199172559">Hình đại diện màu đỏ mặc định</translation>
@@ -1213,6 +1223,7 @@
 <translation id="2007404777272201486">Báo cáo sự cố...</translation>
 <translation id="2009590708342941694">Công cụ biểu tượng cảm xúc</translation>
 <translation id="2010501376126504057">Thiết bị tương thích</translation>
+<translation id="2012935757369720523">Xoá tệp</translation>
 <translation id="2013550551806600826">Hãy thử cài đặt đó. Bật hoặc tắt chế độ cài đặt này, sau đó cuộn bằng hai ngón tay trên bàn di chuột trong trải nghiệm dùng thử. Bạn cũng có thể tìm tuỳ chọn này sau trong phần Cài đặt &gt; Thiết bị &gt; Chuột và bàn di chuột.</translation>
 <translation id="2015232545623037616">PC dùng cùng mạng Wi-Fi với Chromecast</translation>
 <translation id="2016473077102413275">Các tính năng cần dùng hình ảnh sẽ không hoạt động</translation>
@@ -1294,6 +1305,7 @@
 <translation id="2081816110395725788">Chế độ rảnh khi thiết bị chạy bằng pin</translation>
 <translation id="2082187087049518845">Nhóm thẻ</translation>
 <translation id="2082510809738716738">Chọn một màu giao diện</translation>
+<translation id="2084891381052978619">Bạn cũng có thể thấy các lựa chọn này trong phần Cài đặt sau khi thiết lập xong Chromebook</translation>
 <translation id="208586643495776849">Vui lòng thử lại</translation>
 <translation id="208634871997892083">VPN luôn bật</translation>
 <translation id="2087822576218954668">Bản in: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1375,7 @@
 <translation id="212862741129535676">Phần trăm sử dụng ở trạng thái tần số</translation>
 <translation id="212876957201860463">Đang chuẩn bị thiết lập thiết bị di động của bạn...</translation>
 <translation id="2131077480075264">Không thể cài đặt "<ph name="APP_NAME" />" vì "<ph name="IMPORT_NAME" />" không cho phép ứng dụng này</translation>
+<translation id="2133775869826239001">Chọn các tính năng khác để thiết lập</translation>
 <translation id="2133857665503360653">Thử tải <ph name="FILE_NAME" /> xuống lần nữa</translation>
 <translation id="2134905185275441536">Chứng chỉ CA hệ thống</translation>
 <translation id="21354425047973905">Ẩn mã PIN</translation>
@@ -1457,6 +1470,7 @@
 <translation id="2204020417499639567">Đã điền email.</translation>
 <translation id="2204034823255629767">Đọc và thay đổi mọi nội dung bạn nhập</translation>
 <translation id="2204387456724731099">Không thể dịch nội dung được chọn này</translation>
+<translation id="2207116775853792104">Giữ lại tiện ích này</translation>
 <translation id="2210462644007531147">Không thể hoàn tất quá trình cài đặt</translation>
 <translation id="2211245494465528624">Quản lý các tuỳ chọn đồng bộ hoá</translation>
 <translation id="2212565012507486665">Cho phép cookie</translation>
@@ -1784,6 +1798,7 @@
 <translation id="2458379781610688953">Cập nhật tài khoản, <ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">Mã quản lý thiết bị là không hợp lệ.</translation>
 <translation id="2459703812219683497">Đã phát hiện một mã kích hoạt</translation>
+<translation id="2459706890611560967">Tiếp tục truyền thẻ tới <ph name="DEVICE_NAME" /></translation>
 <translation id="2460356425461033301">Sao lưu và sử dụng dữ liệu trình duyệt trên mọi thiết bị</translation>
 <translation id="2462332841984057083">Steam đang được thiết lập. Vui lòng chờ quá trình thiết lập hoàn tất.</translation>
 <translation id="2462724976360937186">ID khóa của tổ chức phát hành chứng chỉ</translation>
@@ -2630,10 +2645,12 @@
 <translation id="3194786596445804250">Hiện thông tin chi tiết về việc chặn cookie bên thứ ba</translation>
 <translation id="3197453258332670132">Khi bạn nhấp chuột phải hoặc nhấn và giữ, thông tin liên quan của văn bản bạn chọn sẽ xuất hiện</translation>
 <translation id="3199127022143353223">Máy chủ</translation>
+<translation id="3199637719075529971">Thẻ này đã kết nối với một cổng nối tiếp</translation>
 <translation id="3200061262156232574">Trong giỏ hàng của bạn</translation>
 <translation id="3201237270673604992">Từ Z đến A</translation>
 <translation id="3201422919974259695">Các thiết bị USB có sẵn sẽ xuất hiện ở đây.</translation>
 <translation id="3202131003361292969">Đường dẫn</translation>
+<translation id="3202499879214571401">Tạm dừng truyền màn hình tới <ph name="DEVICE_NAME" /></translation>
 <translation id="3202578601642193415">Mới nhất</translation>
 <translation id="3204648577100496185">Dữ liệu liên kết với ứng dụng này có thể bị xoá khỏi thiết bị này</translation>
 <translation id="3207960819495026254">Đã đánh dấu trang</translation>
@@ -2946,6 +2963,7 @@
 <translation id="347785443197175480">Tiếp tục cho phép <ph name="HOST" /> truy cập vào máy ảnh và micrô của bạn</translation>
 <translation id="3479552764303398839">Để sau</translation>
 <translation id="3479685872808224578">Không tìm thấy máy chủ máy in này. Vui lòng kiểm tra địa chỉ rồi thử lại.</translation>
+<translation id="3479753605053415848">Nhấp để tuỳ chỉnh Chrome</translation>
 <translation id="3480612136143976912">Tùy chỉnh kích cỡ và kiểu phụ đề cho Phụ đề trực tiếp. Một số ứng dụng và trang web cũng sẽ dùng chế độ cài đặt này.</translation>
 <translation id="3480827850068960424">Đã tìm thấy <ph name="NUM" /> thẻ</translation>
 <translation id="3481268647794498892">Sẽ mở trong <ph name="ALTERNATIVE_BROWSER_NAME" /> sau <ph name="COUNTDOWN_SECONDS" /> giây</translation>
@@ -3028,6 +3046,7 @@
 <translation id="3557101512409028104">Đặt các hạn chế về trang web và giới hạn thời gian sử dụng thiết bị bằng Family Link</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />Việc bạn cho phép các thiết bị ChromeOS gửi báo cáo tự động sẽ giúp chúng tôi sắp xếp thứ tự ưu tiên cho những vấn đề cần khắc phục và cải thiện trong ChromeOS. Nội dung báo cáo có thể bao gồm thời điểm ChromeOS gặp sự cố, danh sách các tính năng bạn đã sử dụng và mức bộ nhớ thường được sử dụng.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Bạn có thể bắt đầu hoặc dừng cho phép các báo cáo này bất cứ lúc nào trong phần cài đặt thiết bị Chrome OS của con bạn. Nếu là quản trị viên miền, bạn có thể thay đổi chế độ cài đặt này trong bảng điều khiển dành cho quản trị viên.<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">Dừng truyền màn hình tới <ph name="DEVICE_NAME" /></translation>
 <translation id="3559262020195162408">Không cài đặt được chính sách trên thiết bị.</translation>
 <translation id="3559533181353831840">Còn khoảng <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">&amp;Kiểm tra chính tả</translation>
@@ -3194,6 +3213,7 @@
 <translation id="370415077757856453">Đã chặn JavaScript</translation>
 <translation id="3704331259350077894">Dừng Hoạt động</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">Tiếp tục truyền màn hình tới <ph name="DEVICE_NAME" /></translation>
 <translation id="3706463572498736864">Số trang mỗi trang tính</translation>
 <translation id="370649949373421643">Bật Wi-Fi</translation>
 <translation id="370665806235115550">Đang tải...</translation>
@@ -3239,6 +3259,7 @@
 <translation id="3738632186060045350">Dữ liệu trên <ph name="DEVICE_TYPE" /> sẽ bị xóa sau 24 giờ</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Mở <ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Giảm kích thước hiển thị và văn bản</translation>
 <translation id="3741056951918180319">Bạn luôn có thể nhấp vào tiện ích này để dùng trên mọi trang web</translation>
 <translation id="3742235229730461951">Bố cục bàn phím Hàn Quốc</translation>
 <translation id="3742666961763734085">Không tìm thấy đơn vị tổ chức có tên đó. Vui lòng thử lại.</translation>
@@ -3408,6 +3429,7 @@
 <translation id="3867134342671430205">Kéo hoặc dùng các phím mũi tên để di chuyển một màn hình</translation>
 <translation id="3867944738977021751">Trường Chứng chỉ</translation>
 <translation id="3869917919960562512">Chỉ mục sai.</translation>
+<translation id="3870688298003434214">Bỏ chọn <ph name="BOOKMARK_TITLE" /></translation>
 <translation id="3870931306085184145">Chưa lưu mật khẩu nào cho <ph name="DOMAIN" /></translation>
 <translation id="3871350334636688135">Sau 24 giờ, quản trị viên sẽ tiến hành cập nhật một lần để xóa dữ liệu trên thiết bị của bạn khi bạn khởi động lại thiết bị. Hãy lưu mọi dữ liệu trên thiết bị mà bạn cần vào bộ nhớ trên đám mây trong vòng 24 giờ.</translation>
 <translation id="3872220884670338524">Thao tác khác, tài khoản đã lưu cho <ph name="USERNAME" /> trên <ph name="DOMAIN" /></translation>
@@ -3503,6 +3525,7 @@
 <translation id="3945513714196326460">Hãy thử nhập một tên ngắn hơn</translation>
 <translation id="3948027458879361203">Thay đổi tên máy chủ</translation>
 <translation id="3948116654032448504">&amp;Tìm kiếm hình ảnh trên <ph name="SEARCH_ENGINE" /></translation>
+<translation id="3948334586359655083">Thẻ này đang phát âm thanh</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> có thể chỉnh sửa tệp trong các thư mục sau đây</translation>
 <translation id="394984172568887996">Đã nhập từ IE</translation>
 <translation id="3950820424414687140">Đăng nhập</translation>
@@ -3561,6 +3584,7 @@
 <translation id="3987544746655539083">Tiếp tục chặn không cho trang web này truy cập thông tin vị trí của bạn</translation>
 <translation id="3987938432087324095">Rất tiếc, vẫn chưa hiểu được nội dung đó.</translation>
 <translation id="3987993985790029246">Sao chép liên kết</translation>
+<translation id="3988124842897276887">Thẻ này đã kết nối với một thiết bị USB</translation>
 <translation id="3988488665753590964">Điều chỉnh mức độ màu xuất hiện trên màn hình</translation>
 <translation id="3988996860813292272">Chọn múi giờ</translation>
 <translation id="399179161741278232">Đã nhập</translation>
@@ -3710,6 +3734,7 @@
 <translation id="4130207949184424187">Tiện ích này đã thay đổi trang nào được hiển thị khi bạn tìm kiếm từ Thanh địa chỉ.</translation>
 <translation id="4130750466177569591">Tôi đồng ý</translation>
 <translation id="413121957363593859">Thành phần</translation>
+<translation id="4131283654370308898">Cho phép <ph name="EXTENSION_NAME" /> trên trang web này</translation>
 <translation id="4131410914670010031">Đen và trắng</translation>
 <translation id="413193092008917129">Quy trình chẩn đoán mạng</translation>
 <translation id="4132183752438206707">Tìm ứng dụng trên Cửa hàng Google Play</translation>
@@ -4067,6 +4092,7 @@
 <translation id="4444512841222467874">Nếu không còn dung lượng trống, người dùng và dữ liệu có thể tự động bị xóa.</translation>
 <translation id="4445446646109808714">Thoả thuận cấp phép người dùng cuối: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Được phản chiếu</translation>
+<translation id="4448560527907365660">Lưu và xem thêm</translation>
 <translation id="4448914100439890108">Ẩn mật khẩu cho <ph name="USERNAME" /> trên <ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Quản lý quyền</translation>
 <translation id="4449948729197510913">Tên người dùng của bạn thuộc về tài khoản doanh nghiệp của tổ chức bạn. Để đăng ký thiết bị cho tài khoản này, trước tiên, hãy xác minh quyền sở hữu miền trong Bảng điều khiển dành cho quản trị viên. Bạn cần phải có các đặc quyền của quản trị viên đối với tài khoản này thì mới xác minh được.</translation>
@@ -4247,6 +4273,7 @@
 <translation id="4601426376352205922">Đánh dấu là chưa đọc</translation>
 <translation id="460190672235687855">Xem mật khẩu</translation>
 <translation id="4602466770786743961">Luôn cho phép <ph name="HOST" /> truy cập vào máy ảnh và micrô của bạn</translation>
+<translation id="4602776638371779614">Thẻ này đang tích cực quét tìm thiết bị Bluetooth</translation>
 <translation id="4606551464649945562">Không cho phép trang web tạo bản đồ 3D về các khu vực xung quanh bạn hoặc theo dõi thông tin vị trí của máy ảnh</translation>
 <translation id="4608500690299898628">&amp;Tìm...</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> đã gặp lỗi</translation>
@@ -4430,6 +4457,7 @@
 <translation id="4770119228883592393">Đã yêu cầu quyền. Hãy nhấn tổ hợp phím ⌘ + Option + Mũi tên xuống để phản hồi</translation>
 <translation id="4773112038801431077">Nâng cấp Linux</translation>
 <translation id="4774456473286455263">Thiết lập bằng điện thoại Android</translation>
+<translation id="477548766361111120">Cho phép tiện ích đọc và thay đổi trang web này</translation>
 <translation id="477647109558161443">Tạo lối tắt trên màn hình</translation>
 <translation id="4776594120007763294">Để thêm một trang để đọc vào lúc khác, hãy nhấp vào nút</translation>
 <translation id="4777458362738635055">Những người dùng khác trên thiết bị này có thể sử dụng mạng này</translation>
@@ -5223,6 +5251,7 @@
 <translation id="5485102783864353244">Thêm ứng dụng</translation>
 <translation id="5485435764083510385">Ngôn ngữ phụ đề ưu tiên</translation>
 <translation id="5485754497697573575">Khôi phục Tất cả các Thẻ</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> có thể yêu cầu loại thiết bị mới hơn hoặc loại thiết bị khác</translation>
 <translation id="5486261815000869482">Xác nhận mật khẩu</translation>
 <translation id="5486561344817861625">Mô phỏng khởi động lại trình duyệt</translation>
 <translation id="5487460042548760727">Đổi tên hồ sơ thành <ph name="PROFILE_NAME" /></translation>
@@ -5577,6 +5606,7 @@
 <translation id="5799508265798272974">Máy ảo Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Tệp đích đã bị cắt bớt hoặc xóa kể từ lần tải xuống cuối cùng.</translation>
 <translation id="5800351251499368110">Đóng thanh tìm kiếm trong bảng điều khiển bên. Thanh tìm kiếm đang mở trong bảng điều khiển bên.</translation>
+<translation id="5800703268655655701">Chọn giao diện sáng hoặc tối</translation>
 <translation id="5801051031414037185">Thiết lập điện thoại</translation>
 <translation id="5801568494490449797">Tùy chọn</translation>
 <translation id="5803689677801500549">Mật khẩu bạn đã lưu sẽ xuất hiện tại đây. Để nhập mật khẩu vào <ph name="BRAND" /> cho <ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />hãy chọn một tệp CSV.<ph name="END_LINK" /></translation>
@@ -5692,6 +5722,7 @@
 <translation id="5889282057229379085">Số CA gián tiếp tối đa: <ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">Mã hoá dữ liệu đã đồng bộ hoá bằng <ph name="BEGIN_LINK" />cụm mật khẩu đồng bộ hoá<ph name="END_LINK" /> của riêng bạn. Các địa chỉ và phương thức thanh toán từ Google Pay sẽ không được mã hoá. Nhật ký duyệt web trên Chrome sẽ không đồng bộ hoá.</translation>
 <translation id="5891688036610113830">Các mạng Wi-Fi ưu tiên</translation>
+<translation id="5894056653502215961">Bỏ chọn thư mục <ph name="FOLDER_TITLE" /></translation>
 <translation id="5895138241574237353">Khởi động lại</translation>
 <translation id="5895335062901455404">Các tuỳ chọn ưu tiên và hoạt động bạn đã lưu sẽ sẵn sàng trên mọi thiết bị ChromeOS Flex khi bạn đăng nhập bằng Tài khoản Google. Bạn có thể chọn nội dung bạn muốn đồng bộ hoá trong phần Cài đặt.</translation>
 <translation id="589541317545606110">Tìm trên trang bằng <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
@@ -5763,6 +5794,7 @@
 <translation id="5948476936444935795">Huỷ nhập</translation>
 <translation id="5948536763493709626">Kết nối bàn phím/chuột hoặc tiếp tục thiết lập bằng màn hình cảm ứng. Nếu bạn đang dùng thiết bị Bluetooth, hãy đảm bảo thiết bị đã sẵn sàng ghép nối.</translation>
 <translation id="5949544233750246342">Không thể phân tích cú pháp tệp</translation>
+<translation id="5950762317146173294">Tệp này có thể là vi-rút hoặc phần mềm độc hại</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> muốn dùng phông chữ trên máy</translation>
 <translation id="5951624318208955736">Màn hình</translation>
 <translation id="595262438437661818">Không có tiện ích nào cần quyền truy cập vào trang web này</translation>
@@ -5847,6 +5879,7 @@
 <translation id="6022526133015258832">Mở chế độ toàn màn hình</translation>
 <translation id="6022659036123304283">Tùy chỉnh Chrome theo cách của bạn</translation>
 <translation id="6023643151125006053">Thiết bị này (Số sê-ri: <ph name="SERIAL_NUMBER" />) đã bị quản trị viên <ph name="SAML_DOMAIN" /> khóa.</translation>
+<translation id="6024072172641380781">Cho phép tiện ích trên trang web này</translation>
 <translation id="6025215716629925253">Dấu vết ngăn xếp</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Đã kết nối thiết bị USB</translation>
 <translation id="6027945736510816438">Ý của bạn là <ph name="WEBSITE" /> phải không?</translation>
@@ -6130,6 +6163,7 @@
 <translation id="6268252012308737255">Mở bằng <ph name="APP" /></translation>
 <translation id="6270309713620950855">Tắt tiếng thông báo nhắc nhở</translation>
 <translation id="6270391203985052864">Các trang web có thể xin phép gửi thông báo</translation>
+<translation id="6270486800167535228">Đã ghim tiện ích. Chọn để xem các lựa chọn khác</translation>
 <translation id="6270770586500173387">Gửi <ph name="BEGIN_LINK1" />thông tin hệ thống và ứng dụng<ph name="END_LINK1" /> cũng như <ph name="BEGIN_LINK2" />số liệu<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">Thẻ Hành trình</translation>
 <translation id="6271348838875430303">đã hủy thao tác sửa</translation>
@@ -6210,6 +6244,7 @@
 <translation id="6344608411615208519">Cha mẹ của bạn <ph name="BEGIN_LINK" />quản lý trình duyệt<ph name="END_LINK" /> này</translation>
 <translation id="6345418402353744910">Bạn cần phải cung cấp tên người dùng và mật khẩu cho proxy <ph name="PROXY" /> thì quản trị viên mới có thể định cấu hình mạng của bạn</translation>
 <translation id="6345878117466430440">Đánh dấu là đã đọc</translation>
+<translation id="6346952829206698721">Dán từ bảng nhớ tạm</translation>
 <translation id="6347010704471250799">Hiện thông báo</translation>
 <translation id="634887995541211148">Chạy Bruschetta trên thiết bị của bạn.</translation>
 <translation id="6349101878882523185">Cài đặt <ph name="APP_NAME" /></translation>
@@ -6495,6 +6530,7 @@
 <translation id="6596325263575161958">Tùy chọn mã hóa</translation>
 <translation id="6596816719288285829">Địa chỉ IP</translation>
 <translation id="6597017209724497268">Mẫu</translation>
+<translation id="6597324406048772521">Các tiện ích không được cho phép trên trang web này</translation>
 <translation id="6597331566371766302">Quản trị viên của bạn đã chặn các tiện ích sau:</translation>
 <translation id="659894938503552850">mới nhất</translation>
 <translation id="6601262427770154296">Quản lý từ điển người dùng</translation>
@@ -6512,6 +6548,7 @@
 <translation id="6609478180749378879">Dữ liệu đăng nhập sẽ được lưu trữ trên thiết bị này sau khi bạn thoát khỏi Chế độ ẩn danh. Bạn sẽ có thể đăng nhập lại vào trang web này vào lúc khác bằng thiết bị của mình.</translation>
 <translation id="6610002944194042868">Tùy chọn dịch</translation>
 <translation id="6611972847767394631">Tìm các thẻ của bạn ở đây</translation>
+<translation id="6613267708691765962">Đang quét tìm phần mềm độc hại...</translation>
 <translation id="6613668613087513143">Thiết bị này không có đủ dung lượng để hoàn tất quá trình cập nhật này. Hãy dọn dẹp <ph name="NECESSARY_SPACE" /> trên thiết bị rồi thử lại trên trình duyệt Chrome.</translation>
 <translation id="6615455863669487791">Hiển thị cho tôi</translation>
 <translation id="6618097958368085618">Vẫn tiếp tục</translation>
@@ -6760,6 +6797,7 @@
 <translation id="6825184156888454064">Sắp xếp theo tên</translation>
 <translation id="6826872289184051766">Xác minh qua USB</translation>
 <translation id="6827121912381363404">Cho phép tất cả tiện ích đọc và thay đổi <ph name="PERMITTED_SITE" /></translation>
+<translation id="6827422464708099620">Chọn để xem các lựa chọn khác</translation>
 <translation id="6827517233063803343">Các ứng dụng và chế độ cài đặt của bạn sẽ đồng bộ hoá trên mọi thiết bị ChromeOS nơi bạn đã đăng nhập bằng Tài khoản Google. Để biết các tuỳ chọn đồng bộ hoá trình duyệt, hãy chuyển đến phần <ph name="LINK_BEGIN" />cài đặt Chrome<ph name="LINK_END" />.</translation>
 <translation id="6827767090350758381">Sau tháng 12 năm 2022, các phiên bản cũ của Ứng dụng Chrome sẽ không mở trên các thiết bị Windows. Hãy liên hệ với quản trị viên để cập nhật lên phiên bản mới hoặc xoá ứng dụng này.</translation>
 <translation id="6828153365543658583">Giới hạn đăng nhập cho những người dùng sau:</translation>
@@ -6823,6 +6861,7 @@
 <translation id="6868934826811377550">Xem thông tin chi tiết</translation>
 <translation id="6871644448911473373">Phản hồi OCSP: <ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">Mật khẩu bạn nhập đã bị máy chủ từ chối.</translation>
+<translation id="6873571253135628430">Thay đổi quyền của trang web</translation>
 <translation id="6876155724392614295">Xe đạp</translation>
 <translation id="6876469544038980967">Không hữu ích</translation>
 <translation id="6878422606530379992">Được phép sử dụng cảm biến</translation>
@@ -6963,6 +7002,7 @@
 <translation id="6993050154661569036">Đang cập nhật trình duyệt Chrome</translation>
 <translation id="6995899638241819463">Cảnh báo bạn nếu mật khẩu bị lộ trong một sự cố rò rỉ dữ liệu</translation>
 <translation id="6995984090981858039">Đọc dữ liệu và thông tin thiết bị ChromeOS</translation>
+<translation id="6996438701394974959">Tăng kích thước hiển thị và văn bản</translation>
 <translation id="6997553674029032185">Mở trang web</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Nhật ký hoạt động</translation>
 <translation id="6997707937646349884">Trên các thiết bị của bạn:</translation>
@@ -7083,6 +7123,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{Xóa Ứng dụng}other{Xóa các Ứng dụng}}</translation>
 <translation id="7099337801055912064">Không thể tải PPD có kích cỡ lớn. Kích cỡ tối đa là 250 kB.</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{Không có mật khẩu nào bị lộ}=1{{COUNT} mật khẩu bị lộ}other{{COUNT} mật khẩu bị lộ}}</translation>
+<translation id="710047887584828070">Nội dung của thẻ này đang được chia sẻ</translation>
 <translation id="7102832101143475489">Yêu cầu đã hết giờ</translation>
 <translation id="710640343305609397">Mở tùy chọn cài đặt mạng</translation>
 <translation id="7107609441453408294">Phát cùng một âm thanh qua tất cả các loa</translation>
@@ -7178,6 +7219,7 @@
 <translation id="719791532916917144">Phím tắt</translation>
 <translation id="7198503619164954386">Bạn phải dùng một thiết bị đã được doanh nghiệp đăng ký</translation>
 <translation id="7199158086730159431">Nhận &amp;trợ giúp</translation>
+<translation id="7199452998289813782">Tạm dừng truyền tới <ph name="DEVICE_NAME" /></translation>
 <translation id="7200083590239651963">Chọn cấu hình</translation>
 <translation id="720110658997053098">Vĩnh viễn giữ thiết bị này ở chế độ kiosk</translation>
 <translation id="7201118060536064622">Đã xóa '<ph name="DELETED_ITEM_NAME" />'</translation>
@@ -7224,6 +7266,7 @@
 <translation id="7241389281993241388">Vui lòng đăng nhập vào <ph name="TOKEN_NAME" /> để nhập chứng chỉ ứng dụng khách.</translation>
 <translation id="7241763419756062043">Chọn chất lượng tìm kiếm và duyệt web</translation>
 <translation id="7243632151880336635">Xóa và đăng xuất</translation>
+<translation id="7245162963905242662">Tìm kiếm trang này bằng Google...</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (Tốt nhất)</translation>
 <translation id="7246230585855757313">Cắm lại khóa bảo mật rồi thử lại lần nữa</translation>
 <translation id="724835896049478274">Tài khoản hiện có để sử dụng cho các ứng dụng Android</translation>
@@ -7454,6 +7497,7 @@
 <translation id="7434509671034404296">Nhà phát triển</translation>
 <translation id="7434757724413878233">Tăng tốc chuột</translation>
 <translation id="7434969625063495310">Không thể thêm máy chủ máy in. Vui lòng kiểm tra cấu hình của máy chủ rồi thử lại.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Xem xét 1 tiện ích đã bị gỡ khỏi Cửa hàng Chrome trực tuyến}other{Xem xét {NUM_EXTENSIONS} tiện ích đã bị gỡ khỏi Cửa hàng Chrome trực tuyến}}</translation>
 <translation id="7436921188514130341">Ôi, hỏng! Đã xảy ra lỗi trong khi đổi tên.</translation>
 <translation id="7439519621174723623">Hãy thêm tên thiết bị để tiếp tục</translation>
 <translation id="7441736921018636843">Để thay đổi mục cài đặt này, hãy <ph name="BEGIN_LINK" />đặt lại tính năng đồng bộ hóa<ph name="END_LINK" /> để xóa cụm mật khẩu đồng bộ hóa của bạn</translation>
@@ -7470,6 +7514,7 @@
 <translation id="7452166281927983300">Cảnh báo bị đóng (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Bằng cách chọn máy in này, bạn sẽ cấp cho tiện ích sau quyền truy cập vào máy in của mình:</translation>
 <translation id="7453467225369441013">Đăng xuất bạn khỏi hầu hết các trang web. Bạn sẽ không bị đăng xuất khỏi Tài khoản Google của mình.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Tiện ích này có thể không an toàn. Chrome khuyên bạn nên xoá tiện ích đó.}other{Các tiện ích này có thể không an toàn. Chrome khuyên bạn nên xoá các tiện ích đó.}}</translation>
 <translation id="7454548535253569100">Cổng thông tin: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Quản lý các vùng chứa bổ sung</translation>
 <translation id="7455988709578031708">Dựa trên nhật ký duyệt web của bạn. Chế độ cài đặt này đang bật.</translation>
@@ -7530,8 +7575,10 @@
 <translation id="7497981768003291373">Bạn không ghi nhật ký văn bản WebRTC nào gần đây.</translation>
 <translation id="7501957181231305652">hoặc</translation>
 <translation id="7502220299952823578">Thêm vào danh sách "luôn duy trì các trang web này ở trạng thái hoạt động"</translation>
+<translation id="7502528909759062987">Tạm dừng truyền thẻ tới <ph name="DEVICE_NAME" /></translation>
 <translation id="7503191893372251637">Loại Chứng chỉ Netscape</translation>
 <translation id="7503985202154027481">Khóa bảo mật sẽ lưu giữ bản ghi lượt truy cập của bạn vào trang web này.</translation>
+<translation id="7504145862399276792">Âm thanh của thẻ này đang tắt</translation>
 <translation id="750509436279396091">Mở thư mục tệp đã tải xuống</translation>
 <translation id="7505149250476994901">Nói "hoa" sau chữ cái</translation>
 <translation id="7505717542095249632">Ẩn <ph name="MERCHANT" /></translation>
@@ -7771,6 +7818,7 @@
 <translation id="7701040980221191251">Không có</translation>
 <translation id="7701265686005869308">Đóng hồ sơ</translation>
 <translation id="7701869757853594372">Xử lý NGƯỜI DÙNG</translation>
+<translation id="7702463352133825032">Dừng truyền tới <ph name="DEVICE_NAME" /></translation>
 <translation id="7702574632857388784">Xóa <ph name="FILE_NAME" /> khỏi danh sách</translation>
 <translation id="7702907602086592255">Miền</translation>
 <translation id="7704305437604973648">Tác vụ</translation>
@@ -7890,6 +7938,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Nền của trang chủ đã được đổi thành <ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Đã bật chế độ cuộn ngược</translation>
 <translation id="7791543448312431591">Thêm</translation>
 <translation id="7792012425874949788">Đã xảy ra lỗi khi đăng nhập</translation>
 <translation id="7792388396321542707">Dừng chia sẻ</translation>
@@ -8056,6 +8105,7 @@
 <translation id="7935451262452051102">Đã hoàn thành <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">Tùy chọn nâng cao</translation>
 <translation id="7939073735115504773">Nhấp vào biểu tượng của tiện ích này để đọc và thay đổi <ph name="HOST" /></translation>
+<translation id="793923212791838">Không thể sử dụng thiết bị của bạn với trang web này</translation>
 <translation id="7939328347457537652">Quản lý chứng chỉ thiết bị</translation>
 <translation id="7939412583708276221">Vẫn tiếp tục</translation>
 <translation id="7940265372707990269">Sắp xếp theo <ph name="SORT_TYPE" /></translation>
@@ -8232,6 +8282,7 @@
 <translation id="8084114998886531721">Mật khẩu đã lưu</translation>
 <translation id="8084510406207562688">K&amp;hôi phục tất cả các thẻ</translation>
 <translation id="8086015605808120405">Đang định cấu hình <ph name="PRINTER_NAME" /> ...</translation>
+<translation id="8086121155774250556">Thẻ này đang chia sẻ màn hình của bạn</translation>
 <translation id="8086442853986205778">Thiết lập <ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">Không thể sao lưu tệp và ứng dụng Linux.</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{Tệp này đã được mã hóa. Hãy yêu cầu chủ sở hữu tệp giải mã.}other{Một số tệp trong số này đã được mã hóa. Hãy yêu cầu chủ sở hữu tệp giải mã.}}</translation>
@@ -8534,6 +8585,7 @@
 <translation id="8345848587667658367">Giờ đây, bạn có thể xem ứng dụng, thông báo, nội dung nghe nhìn và ảnh gần đây có trên điện thoại của mình.</translation>
 <translation id="8347227221149377169">Lệnh in</translation>
 <translation id="834785183489258869">Ở chế độ Ẩn danh, các trang web không thể dùng cookie để giám sát hoạt động duyệt web của bạn trên nhiều trang web, chẳng hạn như để điều chỉnh quảng cáo cho phù hợp với bạn. Các tính năng trên một số trang web có thể không hoạt động.</translation>
+<translation id="8349325309815489209">Các tiện ích được cho phép trên trang web này</translation>
 <translation id="8349826889576450703">trình khởi chạy</translation>
 <translation id="8350789879725387295">Công cụ bút cảm ứng trong thanh gắn</translation>
 <translation id="8351316842353540018">Luôn hiển thị các tùy chọn a11y</translation>
@@ -8562,6 +8614,7 @@
 <translation id="8370294614544004647">Chuyển sang chế độ ngủ khi gập máy tính</translation>
 <translation id="8371695176452482769">Nói ngay bây giờ</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{Bật âm thanh trang web}other{Bật âm thanh các trang web}}</translation>
+<translation id="8372441176515901959">Loại bỏ yêu cầu</translation>
 <translation id="8373652277231415614">Thư mục do Crostini chia sẻ</translation>
 <translation id="8374243500935816406">Không cho phép các trang web quản lý các cửa sổ trên tất cả màn hình của bạn</translation>
 <translation id="8376137163494131156">Cho chúng tôi biết điều gì đang xảy ra với Google Cast.</translation>
@@ -8921,6 +8974,7 @@
 <translation id="8687103160920393343">Huỷ <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Có sẵn</translation>
 <translation id="8690129572193755009">Trang web có thể yêu cầu xử lý các giao thức</translation>
+<translation id="869144235543261764">Thẻ này đang phát video ở chế độ hình trong hình</translation>
 <translation id="8692107307702113268">Mật khẩu dài hơn 1000 ký tự</translation>
 <translation id="8694596275649352090">Khoá khi ngủ hoặc khi đóng nắp</translation>
 <translation id="8695139659682234808">Thêm các quyền kiểm soát của cha mẹ sau khi thiết lập</translation>
@@ -9154,6 +9208,7 @@
 <translation id="8877448029301136595">[thư mục cha]</translation>
 <translation id="8879284080359814990">&amp;Hiển thị Dưới dạng Thẻ</translation>
 <translation id="8879921471468674457">Ghi nhớ thông tin đăng nhập</translation>
+<translation id="8880009256105053174">Tìm kiếm trang này bằng Google...</translation>
 <translation id="8880054210564666174">Không thể tải danh bạ xuống. Vui lòng kiểm tra kết nối mạng hoặc <ph name="LINK_BEGIN" />thử lại<ph name="LINK_END" />.</translation>
 <translation id="8881020143150461183">Vui lòng thử lại. Nếu cần hỗ trợ kỹ thuật, hãy liên hệ với <ph name="CARRIER_NAME" />.</translation>
 <translation id="888256071122006425">Cài đặt chuột và bàn di chuột</translation>
@@ -9418,6 +9473,7 @@
 <translation id="9102864637938129124">Các trang web và nhà quảng cáo có thể nắm được hiệu suất quảng cáo. Chế độ cài đặt này đang bật.</translation>
 <translation id="9103479157856427471">Màn hình phóng to di chuyển theo tiêu điểm được lấy bằng bàn phím</translation>
 <translation id="9103868373786083162">Nhấn để quay lại, nhấn menu ngữ cảnh để xem lịch sử</translation>
+<translation id="9107096627210171112">Dịch...</translation>
 <translation id="9108035152087032312">Đặt tên cho &amp;cửa sổ...</translation>
 <translation id="9108072915170399168">Chế độ sử dụng dữ liệu hiện tại là Không dùng Internet</translation>
 <translation id="9108294543511800041">Giờ đây, bạn có thể xem thông báo, nội dung nghe nhìn và ảnh gần đây có trên điện thoại của mình.</translation>
@@ -9574,6 +9630,7 @@
 <translation id="947329552760389097">&amp;Kiểm tra các yếu tố</translation>
 <translation id="947526284350604411">Câu trả lời của bạn</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> không thể mở các tệp trong thư mục này vì thư mục này chứa tệp hệ thống</translation>
+<translation id="949807244219288032">Thẻ này đã kết nối với một thiết bị HID</translation>
 <translation id="950307215746360464">Hướng dẫn thiết lập</translation>
 <translation id="951991426597076286">Từ chối</translation>
 <translation id="952471655966876828">Thiết bị sẽ tự động kết nối khi bật hoặc đang sử dụng</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index fecb8ff71..700cc9c 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -29,6 +29,7 @@
 <translation id="1018656279737460067">已取消</translation>
 <translation id="1022489261739821355">目前显示的是您 <ph name="BEGIN_LINK" />Google 帐号<ph name="END_LINK" />中存储的密码</translation>
 <translation id="1022669824195822609">您的设备由 <ph name="DOMAIN" /> 管理。管理员可访问此设备上任意个人资料名下的数据。</translation>
+<translation id="1024734233509995696">此标签页正在使用摄像头或麦克风</translation>
 <translation id="1026655690966755180">添加端口</translation>
 <translation id="1026822031284433028">加载图片</translation>
 <translation id="1026959648338730078">Windows Hello 或外部安全密钥</translation>
@@ -191,6 +192,7 @@
 <translation id="1155816283571436363">正在连接到您的手机</translation>
 <translation id="1158080958325422608">转换为大写</translation>
 <translation id="1158238185437008462">查看回忆</translation>
+<translation id="1159879754517035595">管理扩展程序设置</translation>
 <translation id="1160842321113409343">为保护您的隐私,一旦网站的保留时长超过 4 周,系统便会自动从列表中删除相应网站。您再次访问的网站可能会重新出现在列表中。如果您不希望系统(再)根据某个网站来推测您的兴趣,也可自行移除相应网站。</translation>
 <translation id="1161575384898972166">请登录“<ph name="TOKEN_NAME" />”,导出客户端证书。</translation>
 <translation id="116173250649946226">您的管理员已设置默认主题,您无法更改。</translation>
@@ -209,6 +211,7 @@
 <translation id="1169435433292653700"><ph name="FILE_NAME" /> 包含敏感或危险数据。您的管理员说:“<ph name="CUSTOM_MESSAGE" />”</translation>
 <translation id="1171515578268894665"><ph name="ORIGIN" /> 想连接到 HID 设备</translation>
 <translation id="1172750555846831341">短边翻转</translation>
+<translation id="1173036203040243666">此标签页已连接到蓝牙设备</translation>
 <translation id="1173332155861271669">Passpoint 来源详细信息</translation>
 <translation id="1173894706177603556">重命名</translation>
 <translation id="1174073918202301297">快捷方式已添加</translation>
@@ -524,6 +527,7 @@
 <translation id="1448779317883494811">画笔工具</translation>
 <translation id="1449191289887455076">再按一次“<ph name="CURRENTKEY" />”键即可确认分配并<ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">网页(单个文件)</translation>
+<translation id="145280054552001290">添加和移除字幕语言</translation>
 <translation id="1453561711872398978">发送<ph name="BEGIN_LINK" />调试日志<ph name="END_LINK" />(推荐)</translation>
 <translation id="1454223536435069390">屏幕截图(&amp;A)</translation>
 <translation id="145432137617179457">支持“拼写检查”功能的语言</translation>
@@ -653,6 +657,7 @@
 <translation id="1556537182262721003">无法将扩展程序目录移动到个人资料中。</translation>
 <translation id="1558391695376153246">关闭无痕式标签页</translation>
 <translation id="155865706765934889">触控板</translation>
+<translation id="1558671750917454373">继续投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="1562119309884184621">如果您添加了此联系人,当他/她下次分享内容时,系统会识别出此联系人</translation>
 <translation id="1563137369682381456">失效日期</translation>
 <translation id="1563702743503072935">登录后,您在此设备上也能获取您 Google 帐号中保存的密码</translation>
@@ -784,6 +789,7 @@
 <translation id="1648528859488547844">根据 Wi-Fi 或移动网络确定位置</translation>
 <translation id="164936512206786300">取消与蓝牙设备配对</translation>
 <translation id="1651008383952180276">您两次输入的密码必须相同</translation>
+<translation id="1651609627703324721">此标签页正在向头戴设备显示 VR 内容</translation>
 <translation id="1652326691684645429">启用“附近分享”功能</translation>
 <translation id="1654580009054503925">不得显示请求</translation>
 <translation id="1656528038316521561">背景不透明度</translation>
@@ -875,6 +881,7 @@
 <translation id="173522743738009831">隐私沙盒简介</translation>
 <translation id="173628468822554835">知道了。默认情况下,您访问的新网站不会向您发送通知。</translation>
 <translation id="1737968601308870607">提交错误</translation>
+<translation id="1740414789702358061"><ph name="SITE_ACCESS" />。选择即可更改网站权限</translation>
 <translation id="1741190788710022490">自适应充电</translation>
 <translation id="174123615272205933">自定义</translation>
 <translation id="1741314857973421784">继续</translation>
@@ -1065,6 +1072,7 @@
 <translation id="1885066963699478692">正被用来设置政策的 XML 文件。</translation>
 <translation id="1885106732301550621">磁盘空间</translation>
 <translation id="1886996562706621347">允许网站要求成为协议的默认处理程序(推荐)</translation>
+<translation id="1887210448491286312">停止将标签页投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="1887442540531652736">登录错误</translation>
 <translation id="1887597546629269384">再说一次“Hey Google”</translation>
 <translation id="1889091146873278175">点击“G”按钮即可在侧边栏中查看更多搜索结果</translation>
@@ -1091,6 +1099,7 @@
 <translation id="1910908536872421421">Chrome 测试版 v<ph name="BROWSER_VERSION" /> 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。</translation>
 <translation id="1915073950770830761">Canary</translation>
 <translation id="1915307458270490472">中止</translation>
+<translation id="1915613305720536742">翻译(&amp;R)</translation>
 <translation id="1915734383465415025">商店编号</translation>
 <translation id="1916260783734263714">当前标签页</translation>
 <translation id="1916502483199172559">默认的红色头像</translation>
@@ -1195,6 +1204,7 @@
 <translation id="2007404777272201486">报告问题...</translation>
 <translation id="2009590708342941694">表情符号工具</translation>
 <translation id="2010501376126504057">兼容的设备</translation>
+<translation id="2012935757369720523">删除文件</translation>
 <translation id="2013550551806600826">试试看!开启/关闭这项设置,然后在触控板上的测试区域用两根手指进行滚动。日后您还可在“设置”&gt;“设备”&gt;“鼠标和触控板”下找到此设置。</translation>
 <translation id="2015232545623037616">PC 和 Chromecast 使用同一个 Wi-Fi 网络</translation>
 <translation id="2016473077102413275">所有需要使用图片的功能都将无法正常运行</translation>
@@ -1441,6 +1451,7 @@
 <translation id="2204020417499639567">已填充电子邮件地址。</translation>
 <translation id="2204034823255629767">读取和更改您输入的任何内容</translation>
 <translation id="2204387456724731099">无法翻译所选内容</translation>
+<translation id="2207116775853792104">保留此扩展程序</translation>
 <translation id="2210462644007531147">无法完成安装</translation>
 <translation id="2211245494465528624">管理同步选项</translation>
 <translation id="2212565012507486665">允许使用 Cookie</translation>
@@ -1765,6 +1776,7 @@
 <translation id="2458379781610688953">更新帐号,<ph name="EMAIL" /></translation>
 <translation id="2458591546854598341">设备管理令牌无效。</translation>
 <translation id="2459703812219683497">检测到激活码</translation>
+<translation id="2459706890611560967">继续将标签页投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="2460356425461033301">备份您的浏览器资料,以便在任意设备上使用</translation>
 <translation id="2462332841984057083">已经在设置 Steam 了。请等待设置完成。</translation>
 <translation id="2462724976360937186">证书授权中心密钥 ID</translation>
@@ -2610,10 +2622,12 @@
 <translation id="3194786596445804250">显示屏蔽第三方 Cookie 的有关详情</translation>
 <translation id="3197453258332670132">只要您右键点击或长按所选文字,系统就会显示与其相关的信息</translation>
 <translation id="3199127022143353223">服务器</translation>
+<translation id="3199637719075529971">此标签页已连接到串行端口</translation>
 <translation id="3200061262156232574">您的购物车内的商品</translation>
 <translation id="3201237270673604992">由 Z 到 A</translation>
 <translation id="3201422919974259695">可用的 USB 设备会显示在此处。</translation>
 <translation id="3202131003361292969">路径</translation>
+<translation id="3202499879214571401">暂停将屏幕投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="3202578601642193415">最后</translation>
 <translation id="3204648577100496185">系统可能会从此设备上移除与该应用相关的数据</translation>
 <translation id="3207960819495026254">已加书签</translation>
@@ -3009,6 +3023,7 @@
 <translation id="3557101512409028104">通过 Family Link 设置网站限制和设备使用时间限制</translation>
 <translation id="3557267430539505890"><ph name="BEGIN_PARAGRAPH1" />如果您允许 ChromeOS 设备自动发送报告,则可帮助我们确定 ChromeOS 中需要优先解决的问题和优先改进的方面。这些报告可能包含的内容有:ChromeOS 的崩溃时间、使用的功能、通常占用的内存量,等等。<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />您随时可在孩子的 ChromeOS 设备的设置中开始或停止发送这些报告。如果您是网域管理员,可在管理控制台中更改这一设置。<ph name="END_PARAGRAPH2" /></translation>
+<translation id="3559079791149580653">停止将屏幕投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="3559262020195162408">未能在此设备上安装政策。</translation>
 <translation id="3559533181353831840">还需大约 <ph name="TIME_LEFT" /></translation>
 <translation id="3560034655160545939">拼写检查(&amp;S)</translation>
@@ -3175,6 +3190,7 @@
 <translation id="370415077757856453">已拦截 JavaScript</translation>
 <translation id="3704331259350077894">操作终止</translation>
 <translation id="3705722231355495246">-</translation>
+<translation id="3706366828968376544">继续将屏幕投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="3706463572498736864">每个工作表的页数</translation>
 <translation id="370649949373421643">启用 Wi-Fi</translation>
 <translation id="370665806235115550">正在加载...</translation>
@@ -3390,6 +3406,7 @@
 <translation id="3867134342671430205">拖动或使用箭头键来移动显示屏位置</translation>
 <translation id="3867944738977021751">证书字段</translation>
 <translation id="3869917919960562512">索引错误。</translation>
+<translation id="3870688298003434214">取消选择“<ph name="BOOKMARK_TITLE" />”</translation>
 <translation id="3870931306085184145">尚未保存任何用于登录 <ph name="DOMAIN" /> 的密码</translation>
 <translation id="3871350334636688135">24 小时后,当您重启设备时,您的管理员将会执行一项一次性更新,这项更新会删除您的本地数据。请在 24 小时之内将您需要的所有本地数据保存到云端存储空间。</translation>
 <translation id="3872220884670338524">更多操作,<ph name="USERNAME" /> 在 <ph name="DOMAIN" /> 上的已保存帐号</translation>
@@ -3484,6 +3501,7 @@
 <translation id="3945513714196326460">请尝试缩短名称</translation>
 <translation id="3948027458879361203">更改主机名</translation>
 <translation id="3948116654032448504">通过<ph name="SEARCH_ENGINE" />搜索图片(&amp;S)</translation>
+<translation id="3948334586359655083">此标签页正在播放音频</translation>
 <translation id="3948507072814225786"><ph name="ORIGIN" /> 可修改以下文件夹内的文件</translation>
 <translation id="394984172568887996">从 IE 中导入</translation>
 <translation id="3950820424414687140">登录</translation>
@@ -3542,6 +3560,7 @@
 <translation id="3987544746655539083">继续禁止此网站使用您的位置信息</translation>
 <translation id="3987938432087324095">抱歉,没听清。</translation>
 <translation id="3987993985790029246">复制链接</translation>
+<translation id="3988124842897276887">此标签页已连接到 USB 设备</translation>
 <translation id="3988488665753590964">调整屏幕显示颜色的方式</translation>
 <translation id="3988996860813292272">选择时区</translation>
 <translation id="399179161741278232">已导入</translation>
@@ -3598,6 +3617,7 @@
 <translation id="4044612648082411741">输入您的证书密码</translation>
 <translation id="4044708573046946214">屏幕锁定密码</translation>
 <translation id="404493185430269859">默认搜索引擎</translation>
+<translation id="4045196801416070837">设备提示音</translation>
 <translation id="4046013316139505482">这些扩展程序不需要查看和更改此网站上的信息。</translation>
 <translation id="4046123991198612571">下一曲</translation>
 <translation id="4047345532928475040">无</translation>
@@ -3690,6 +3710,7 @@
 <translation id="4130207949184424187">此扩展程序更改了您通过多功能框进行搜索时系统显示的页面。</translation>
 <translation id="4130750466177569591">我同意</translation>
 <translation id="413121957363593859">组件</translation>
+<translation id="4131283654370308898">允许在此网站上使用“<ph name="EXTENSION_NAME" />”</translation>
 <translation id="4131410914670010031">黑白色</translation>
 <translation id="413193092008917129">网络诊断例程</translation>
 <translation id="4132183752438206707">在 Google Play 商店中查找所需应用</translation>
@@ -4225,6 +4246,7 @@
 <translation id="4601426376352205922">标记为未读</translation>
 <translation id="460190672235687855">查看密码</translation>
 <translation id="4602466770786743961">始终允许 <ph name="HOST" /> 使用您的摄像头和麦克风</translation>
+<translation id="4602776638371779614">此标签页正在主动搜寻蓝牙设备</translation>
 <translation id="4606551464649945562">不允许网站为您的周边环境创建 3D 地图或跟踪摄像头位置</translation>
 <translation id="4608500690299898628">查找(&amp;F)...</translation>
 <translation id="4610162781778310380">“<ph name="PLUGIN_NAME" />”遇到了错误</translation>
@@ -4408,6 +4430,7 @@
 <translation id="4770119228883592393">收到了权限请求,按 ⌘ + Option + 向下键即可回复</translation>
 <translation id="4773112038801431077">升级 Linux</translation>
 <translation id="4774456473286455263">通过 Android 手机设置</translation>
+<translation id="477548766361111120">允许扩展程序读取和更改此网站的数据</translation>
 <translation id="477647109558161443">创建桌面快捷方式</translation>
 <translation id="4776594120007763294">如需添加某个页面以供日后阅读,请点击此按钮</translation>
 <translation id="4777458362738635055">此设备的其他用户可以使用该网络</translation>
@@ -5199,6 +5222,7 @@
 <translation id="5481941284378890518">添加附近的打印机</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> 要求您备份自己的数据并在今天退还此 <ph name="DEVICE_TYPE" />。<ph name="LINK_BEGIN" />查看详情<ph name="LINK_END" />}other{<ph name="MANAGER" /> 要求您备份自己的数据并在 {NUM_DAYS} 天内退还此 <ph name="DEVICE_TYPE" />。<ph name="LINK_BEGIN" />查看详情<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">添加应用</translation>
+<translation id="5485435764083510385">首选字幕语言</translation>
 <translation id="5485754497697573575">还原所有标签页</translation>
 <translation id="5486071940327595306"><ph name="WEBSITE" />可能需要使用一部更新的或不同类型的设备</translation>
 <translation id="5486261815000869482">确认密码</translation>
@@ -5669,6 +5693,7 @@
 <translation id="5889282057229379085">中级 CA 证书数目的上限为:<ph name="NUM_INTERMEDIATE_CA" /></translation>
 <translation id="5889629805140803638">使用您自己的<ph name="BEGIN_LINK" />同步口令<ph name="END_LINK" />加密已同步的数据。Google Pay 中的付款方式和地址不会加密。Chrome 中的浏览记录不会同步。</translation>
 <translation id="5891688036610113830">首选的 WLAN 网络</translation>
+<translation id="5894056653502215961">取消选择“<ph name="FOLDER_TITLE" />”文件夹</translation>
 <translation id="5895138241574237353">重新启动</translation>
 <translation id="5895335062901455404">无论是在哪部 ChromeOS Flex 设备上,您只需登录自己的 Google 帐号,便能使用您保存的偏好设置和活动记录。您可在“设置”中选择要同步的内容。</translation>
 <translation id="589541317545606110">使用<ph name="VISUAL_SEARCH_PROVIDER" />搜索网页</translation>
@@ -5740,6 +5765,7 @@
 <translation id="5948476936444935795">取消导入</translation>
 <translation id="5948536763493709626">您可以连接一个键盘或鼠标,也可以继续使用触摸屏进行设置。如果您使用的是蓝牙设备,请确保您的设备已准备好进行配对。</translation>
 <translation id="5949544233750246342">无法解析文件</translation>
+<translation id="5950762317146173294">此文件可能是病毒或恶意软件</translation>
 <translation id="5951303645598168883"><ph name="ORIGIN" /> 想使用本地字体</translation>
 <translation id="5951624318208955736">显示器</translation>
 <translation id="595262438437661818">没有任何扩展程序需要访问此网站</translation>
@@ -5823,6 +5849,7 @@
 <translation id="6022526133015258832">以全屏模式打开</translation>
 <translation id="6022659036123304283">定制您的专属 Chrome</translation>
 <translation id="6023643151125006053">此设备(序列号:<ph name="SERIAL_NUMBER" />)已被 <ph name="SAML_DOMAIN" /> 管理员锁定。</translation>
+<translation id="6024072172641380781">允许在此网站上使用扩展程序</translation>
 <translation id="6025215716629925253">堆叠追踪</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - 已连接 USB 设备</translation>
 <translation id="6027945736510816438">您是想访问 <ph name="WEBSITE" /> 吧?</translation>
@@ -6106,6 +6133,7 @@
 <translation id="6268252012308737255">使用<ph name="APP" />打开</translation>
 <translation id="6270309713620950855">静音状态智能推送</translation>
 <translation id="6270391203985052864">网站可以询问能否向您发送通知</translation>
+<translation id="6270486800167535228">扩展程序已固定。选择即可查看更多选项</translation>
 <translation id="6270770586500173387">发送<ph name="BEGIN_LINK1" />系统和应用信息<ph name="END_LINK1" />以及<ph name="BEGIN_LINK2" />指标<ph name="END_LINK2" /></translation>
 <translation id="6270896861225278704">“历程”卡片</translation>
 <translation id="6271348838875430303">已撤消更正</translation>
@@ -6186,6 +6214,7 @@
 <translation id="6344608411615208519">您的<ph name="BEGIN_LINK" />浏览器由您的家长管理<ph name="END_LINK" /></translation>
 <translation id="6345418402353744910">代理 <ph name="PROXY" /> 要求您提供用户名和密码,以方便管理员配置您的网络</translation>
 <translation id="6345878117466430440">标记为已读</translation>
+<translation id="6346952829206698721">从剪贴板中粘贴</translation>
 <translation id="6347010704471250799">显示通知</translation>
 <translation id="634887995541211148">在您的设备上运行 Bruschetta。</translation>
 <translation id="6349101878882523185">安装“<ph name="APP_NAME" />”</translation>
@@ -6471,6 +6500,7 @@
 <translation id="6596325263575161958">加密选项</translation>
 <translation id="6596816719288285829">IP 地址</translation>
 <translation id="6597017209724497268">个样本的平均值</translation>
+<translation id="6597324406048772521">不允许在此网站上使用扩展程序</translation>
 <translation id="6597331566371766302">您的管理员已屏蔽以下扩展程序:</translation>
 <translation id="659894938503552850">从新到旧</translation>
 <translation id="6601262427770154296">管理用户字典</translation>
@@ -6488,6 +6518,7 @@
 <translation id="6609478180749378879">当您退出无痕模式后,登录数据会存储在此设备中。日后您将能够使用此设备重新登录该网站。</translation>
 <translation id="6610002944194042868">翻译选项</translation>
 <translation id="6611972847767394631">您可在此处找到自己的标签页</translation>
+<translation id="6613267708691765962">正在扫描以检测是否有恶意软件…</translation>
 <translation id="6613668613087513143">此设备的空间不足,无法完成更新。请在设备上清理出 <ph name="NECESSARY_SPACE" /> 的空间,然后在 Chrome 浏览器中重试。</translation>
 <translation id="6615455863669487791">演示一下</translation>
 <translation id="6618097958368085618">仍然保留</translation>
@@ -6736,6 +6767,7 @@
 <translation id="6825184156888454064">按名称排序</translation>
 <translation id="6826872289184051766">通过 USB 进行验证</translation>
 <translation id="6827121912381363404">允许所有扩展程序读取和更改 <ph name="PERMITTED_SITE" /> 数据</translation>
+<translation id="6827422464708099620">选择即可查看更多选项</translation>
 <translation id="6827517233063803343">您的应用和设置会在您使用自己的 Google 帐号登录的所有 Chrome 操作系统设备上保持同步。如需了解浏览器同步选项,请前往 <ph name="LINK_BEGIN" />Chrome 设置<ph name="LINK_END" />。</translation>
 <translation id="6827767090350758381">2022 年 12 月之后,旧版 Chrome 应用将无法在 Windows 设备上开启。请联系您的管理员以更新到新版本或移除此应用。</translation>
 <translation id="6828153365543658583">只允许以下用户登录:</translation>
@@ -6799,6 +6831,7 @@
 <translation id="6868934826811377550">查看详情</translation>
 <translation id="6871644448911473373">OCSP 响应程序:<ph name="LOCATION" /></translation>
 <translation id="6872781471649843364">您输入的密码被服务器拒绝了。</translation>
+<translation id="6873571253135628430">更改网站权限</translation>
 <translation id="6876155724392614295">自行车</translation>
 <translation id="6876469544038980967">没用</translation>
 <translation id="6878422606530379992">已获准使用传感器</translation>
@@ -7060,6 +7093,7 @@
 <translation id="7098936390718461001">{NUM_APPS,plural, =1{移除应用}other{移除应用}}</translation>
 <translation id="7099337801055912064">无法加载过大的 PPD。大小上限为 250 KB。</translation>
 <translation id="7099739618316136113">{COUNT,plural, =0{没有任何已泄露的密码}=1{有 {COUNT} 个已泄露的密码}other{有 {COUNT} 个已泄露的密码}}</translation>
+<translation id="710047887584828070">正在分享此标签页的内容</translation>
 <translation id="7102832101143475489">此请求已超时</translation>
 <translation id="710640343305609397">打开网络设置</translation>
 <translation id="7107609441453408294">在所有音响设备上播放相同的音频</translation>
@@ -7155,6 +7189,7 @@
 <translation id="719791532916917144">键盘快捷键</translation>
 <translation id="7198503619164954386">您必须使用已向企业注册的设备</translation>
 <translation id="7199158086730159431">获取帮助(&amp;E)</translation>
+<translation id="7199452998289813782">暂停投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="7200083590239651963">选择配置</translation>
 <translation id="720110658997053098">让此设备永久处于自助服务终端模式</translation>
 <translation id="7201118060536064622">已删除“<ph name="DELETED_ITEM_NAME" />”</translation>
@@ -7201,6 +7236,7 @@
 <translation id="7241389281993241388">请登录“<ph name="TOKEN_NAME" />”,导入客户端证书。</translation>
 <translation id="7241763419756062043">选择您所需的搜索和浏览质量</translation>
 <translation id="7243632151880336635">清除并退出</translation>
+<translation id="7245162963905242662">使用 Google 搜索此页面(&amp;C)…</translation>
 <translation id="7245628041916450754"><ph name="WIDTH" /> x <ph name="HEIGHT" />(最佳)</translation>
 <translation id="7246230585855757313">请重新插入您的安全密钥,然后再试一次</translation>
 <translation id="724835896049478274">可用于 Android 应用的帐号</translation>
@@ -7382,6 +7418,7 @@
 <translation id="7400839060291901923">请在您的 <ph name="PHONE_NAME" /> 设备上设置连接</translation>
 <translation id="7401778920660465883">关闭此消息</translation>
 <translation id="7402198013420237102">将已保存的密码移至您的 Google 帐号?</translation>
+<translation id="740333000181878130">设备启动提示音</translation>
 <translation id="7403642243184989645">正在下载资源</translation>
 <translation id="7404065585741198296">使用 USB 线连接手机</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{1 小时前运行过安全检查}other{{NUM_HOURS} 小时前运行过安全检查}}</translation>
@@ -7430,6 +7467,7 @@
 <translation id="7434509671034404296">开发者</translation>
 <translation id="7434757724413878233">鼠标加速</translation>
 <translation id="7434969625063495310">无法添加打印服务器。请检查服务器的配置,然后重试。</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{查看从 Chrome 应用商店中下架的 1 款扩展程序}other{查看从 Chrome 应用商店中下架的 {NUM_EXTENSIONS} 款扩展程序}}</translation>
 <translation id="7436921188514130341">糟糕!重命名过程中出错了。</translation>
 <translation id="7439519621174723623">您必须添加设备名称才能继续操作</translation>
 <translation id="7441736921018636843">要更改此设置,请<ph name="BEGIN_LINK" />重置同步功能<ph name="END_LINK" />以移除同步密码</translation>
@@ -7446,6 +7484,7 @@
 <translation id="7452166281927983300">已忽略的警告 (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">选择此打印机即表示您允许以下扩展程序访问您的打印机:</translation>
 <translation id="7453467225369441013">您会从大多数网站退出,但不会退出自己的 Google 帐号。</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{此扩展程序可能不安全。Chrome 建议您移除它。}other{这些扩展程序可能不安全。Chrome 建议您移除它们。}}</translation>
 <translation id="7454548535253569100">门户网站:<ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">管理额外容器</translation>
 <translation id="7455988709578031708">根据您的浏览记录。此设置已开启。</translation>
@@ -7506,8 +7545,10 @@
 <translation id="7497981768003291373">您最近未记录 WebRTC 文本日志。</translation>
 <translation id="7501957181231305652">或</translation>
 <translation id="7502220299952823578">添加到“始终让这些网站保持活动状态”列表</translation>
+<translation id="7502528909759062987">暂停将标签页投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="7503191893372251637">Netscape 证书类型</translation>
 <translation id="7503985202154027481">您对该网站的访问记录将保留在安全密钥上。</translation>
+<translation id="7504145862399276792">此标签页已设为静音</translation>
 <translation id="750509436279396091">打开下载内容文件夹</translation>
 <translation id="7505149250476994901">先说“大写”,后读字母</translation>
 <translation id="7505717542095249632">隐藏<ph name="MERCHANT" /></translation>
@@ -7747,6 +7788,7 @@
 <translation id="7701040980221191251">无</translation>
 <translation id="7701265686005869308">关闭个人资料</translation>
 <translation id="7701869757853594372">用户句柄</translation>
+<translation id="7702463352133825032">停止投放到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="7702574632857388784">从列表中移除 <ph name="FILE_NAME" /></translation>
 <translation id="7702907602086592255">域名</translation>
 <translation id="7704305437604973648">任务</translation>
@@ -8210,6 +8252,7 @@
 <translation id="8084114998886531721">保存的密码</translation>
 <translation id="8084510406207562688">恢复所有标签页(&amp;E)</translation>
 <translation id="8086015605808120405">正在配置<ph name="PRINTER_NAME" />…</translation>
+<translation id="8086121155774250556">此标签页正在共享屏幕</translation>
 <translation id="8086442853986205778">设置<ph name="PRINTER_NAME" /></translation>
 <translation id="8086610718778464681">无法备份 Linux 应用和文件</translation>
 <translation id="80866457114322936">{NUM_FILES,plural, =1{这个文件已加密。请让它的所有者进行解密。}other{这些文件中的部分文件已加密。请让它们的所有者进行解密。}}</translation>
@@ -8512,6 +8555,7 @@
 <translation id="8345848587667658367">您现在可以查看手机中近期的照片、媒体、通知和应用</translation>
 <translation id="8347227221149377169">打印任务</translation>
 <translation id="834785183489258869">不过,在无痕模式下,网站无法使用 Cookie 查看您在各个不同网站上的浏览活动,因而无法实现某些功能或目的(例如为您展示个性化广告)。某些网站上的功能可能无法正常运行。</translation>
+<translation id="8349325309815489209">已允许在此网站上使用扩展程序</translation>
 <translation id="8349826889576450703">启动器</translation>
 <translation id="8350789879725387295">在 Dock 中显示触控笔工具</translation>
 <translation id="8351316842353540018">始终显示无障碍设置选项</translation>
@@ -8540,6 +8584,7 @@
 <translation id="8370294614544004647">合上笔记本电脑后休眠</translation>
 <translation id="8371695176452482769">请开始说话</translation>
 <translation id="8371925839118813971">{NUM_TABS,plural, =1{将这个网站静音}other{将这些网站静音}}</translation>
+<translation id="8372441176515901959">取消请求</translation>
 <translation id="8373652277231415614">Crostini 共享目录</translation>
 <translation id="8374243500935816406">不允许网站管理您的所有显示屏上的窗口</translation>
 <translation id="8376137163494131156">请将 Google Cast 发生的情况告诉我们。</translation>
@@ -8899,6 +8944,7 @@
 <translation id="8687103160920393343">取消下载 <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">可用</translation>
 <translation id="8690129572193755009">网站可以请求处理协议</translation>
+<translation id="869144235543261764">此标签页正在“画中画”模式中播放视频</translation>
 <translation id="8692107307702113268">密码长度超过了 1,000 个字符</translation>
 <translation id="8694596275649352090">在休眠或合盖时锁定</translation>
 <translation id="8695139659682234808">在完成设置后添加家长控制功能</translation>
@@ -9132,6 +9178,7 @@
 <translation id="8877448029301136595">[上级目录]</translation>
 <translation id="8879284080359814990">显示为标签页(&amp;S)</translation>
 <translation id="8879921471468674457">记住登录信息</translation>
+<translation id="8880009256105053174">使用 Google 搜索此页面(&amp;C)…</translation>
 <translation id="8880054210564666174">无法下载联系人列表。请检查您的网络连接,或<ph name="LINK_BEGIN" />重试<ph name="LINK_END" />。</translation>
 <translation id="8881020143150461183">请重试。如需技术支持,请联系<ph name="CARRIER_NAME" />。</translation>
 <translation id="888256071122006425">鼠标和触控板设置</translation>
@@ -9396,6 +9443,7 @@
 <translation id="9102864637938129124">网站和广告主可以了解广告效果。此设置已开启。</translation>
 <translation id="9103479157856427471">放大的屏幕跟随键盘焦点</translation>
 <translation id="9103868373786083162">点按该按钮可后退,点按上下文菜单可查看历史记录</translation>
+<translation id="9107096627210171112">翻译(&amp;R)…</translation>
 <translation id="9108035152087032312">为窗口命名(&amp;W)…</translation>
 <translation id="9108072915170399168">当前的流量使用设置是“不使用互联网”</translation>
 <translation id="9108294543511800041">您现在可以查看手机中的近期照片、媒体和通知</translation>
@@ -9552,6 +9600,7 @@
 <translation id="947329552760389097">检查元素(&amp;I)</translation>
 <translation id="947526284350604411">您的回答</translation>
 <translation id="947667444780368238"><ph name="ORIGIN" /> 无法打开此文件夹内的文件,因为此文件夹含有系统文件</translation>
+<translation id="949807244219288032">此标签页已连接到 HID 设备</translation>
 <translation id="950307215746360464">设置指南</translation>
 <translation id="951991426597076286">拒绝</translation>
 <translation id="952471655966876828">已开启且正被使用时,设备会自动连接</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index d860608..bd0f39e4 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -316,6 +316,7 @@
 <translation id="1252987234827889034">設定檔發生錯誤</translation>
 <translation id="1253664522045778676">按一下結果,頁面便會在目前的分頁中開啟</translation>
 <translation id="1254593899333212300">直接連線到互聯網</translation>
+<translation id="1256588359404100567">已經喺舊裝置度同步設定。</translation>
 <translation id="1257336506558170607">匯出揀咗嘅憑證</translation>
 <translation id="1258491128795710625">新功能</translation>
 <translation id="1259152067760398571">昨天已執行安全檢查</translation>
@@ -1005,6 +1006,7 @@
 <translation id="18260074040409954">您可在任何裝置上使用已儲存的密碼。密碼會儲存至 <ph name="EMAIL" /> 的 <ph name="GOOGLE_PASSWORD_MANAGER" />。</translation>
 <translation id="1826192255355608658">同步處理 Chrome 瀏覽器的書籤、密碼和記錄等資料</translation>
 <translation id="1826516787628120939">檢查中</translation>
+<translation id="1826657447823925402">已停用反向捲動功能</translation>
 <translation id="1827504459960247692">熱點名稱</translation>
 <translation id="1828378091493947763">此裝置不支援此外掛程式</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{開啟所有書籤(&amp;O)}=1{開啟書籤(&amp;O)}other{開啟全部 {COUNT} 個書籤(&amp;O)}}</translation>
@@ -1294,6 +1296,7 @@
 <translation id="2081816110395725788">使用電池時閒置電源</translation>
 <translation id="2082187087049518845">將分頁分組</translation>
 <translation id="2082510809738716738">選擇主題色彩</translation>
+<translation id="2084891381052978619">完成 Chromebook 設定後,您亦可在「設定」中找到這些選項</translation>
 <translation id="208586643495776849">請再試一次</translation>
 <translation id="208634871997892083">保持開啟 VPN</translation>
 <translation id="2087822576218954668">列印:<ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1366,7 @@
 <translation id="212862741129535676">頻率狀態佔用率</translation>
 <translation id="212876957201860463">正在準備設定您的流動裝置…</translation>
 <translation id="2131077480075264">由於「<ph name="IMPORT_NAME" />」不允許,因此無法安裝「<ph name="APP_NAME" />」</translation>
+<translation id="2133775869826239001">選擇更多要設定的功能</translation>
 <translation id="2133857665503360653">重試 <ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">系統 CA</translation>
 <translation id="21354425047973905">隱藏 PIN</translation>
@@ -2947,6 +2951,7 @@
 <translation id="347785443197175480">繼續允許 <ph name="HOST" /> 存取您的相機和麥克風</translation>
 <translation id="3479552764303398839">略過</translation>
 <translation id="3479685872808224578">偵測不到列印伺服器。請檢查地址,然後再試一次。</translation>
+<translation id="3479753605053415848">按一下即可自訂 Chrome</translation>
 <translation id="3480612136143976912">自訂「即時字幕」的文字大小和樣式。部分應用程式和網站亦將會使用此設定。</translation>
 <translation id="3480827850068960424">搵到 <ph name="NUM" /> 個分頁</translation>
 <translation id="3481268647794498892">將於 <ph name="COUNTDOWN_SECONDS" /> 秒後在 <ph name="ALTERNATIVE_BROWSER_NAME" /> 中開啟</translation>
@@ -3240,6 +3245,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> 資料將在 24 小時後被刪除</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">要開啟「<ph name="APPLICATION" />」嗎?</translation>
+<translation id="3740945083753997630">縮小顯示同文字大小</translation>
 <translation id="3741056951918180319">只要在任何網站上按一下擴充程式,即可隨時使用</translation>
 <translation id="3742235229730461951">韓文鍵盤配置</translation>
 <translation id="3742666961763734085">找不到該名稱的機構單位。請再試一次。</translation>
@@ -4068,6 +4074,7 @@
 <translation id="4444512841222467874">如未釋出可用儲存空間,系統可能會自動移除使用者和資料。</translation>
 <translation id="4445446646109808714">《使用者授權協議》:<ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">鏡像</translation>
+<translation id="4448560527907365660">儲存並查看更多功能</translation>
 <translation id="4448914100439890108">喺 <ph name="DOMAIN" /> 上面隱藏 <ph name="USERNAME" /> 嘅密碼</translation>
 <translation id="4449247303975391730">管理權限</translation>
 <translation id="4449948729197510913">您的使用者名稱屬於您機構的企業帳戶。如要將裝置註冊至此帳戶,請先在管理控制台驗證網域擁有權。您需要擁有帳戶的管理員權限才能進行驗證。</translation>
@@ -5224,6 +5231,7 @@
 <translation id="5485102783864353244">新增應用程式</translation>
 <translation id="5485435764083510385">偏好的字幕語言</translation>
 <translation id="5485754497697573575">還原所有分頁</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> 可能需要新版或不同種類的裝置</translation>
 <translation id="5486261815000869482">確認密碼</translation>
 <translation id="5486561344817861625">模擬瀏覽器重新啟動</translation>
 <translation id="5487460042548760727">將設定檔重新改名做「<ph name="PROFILE_NAME" />」</translation>
@@ -5576,6 +5584,7 @@
 <translation id="5799508265798272974">Linux 虛擬機器:<ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">上次下載之後,目標檔案已被截斷或移除。</translation>
 <translation id="5800351251499368110">閂側面板入面嘅搜尋工具列。側面板入面嘅搜尋工具列開咗。</translation>
+<translation id="5800703268655655701">選取淺色或深色主題背景</translation>
 <translation id="5801051031414037185">設定手機</translation>
 <translation id="5801568494490449797">偏好設定</translation>
 <translation id="5803689677801500549">已儲存的密碼會在這裡顯示。如要將 <ph name="USER_EMAIL" /> 的密碼匯入「<ph name="BRAND" />」,請<ph name="BEGIN_LINK" />選取 CSV 檔案<ph name="END_LINK" />。</translation>
@@ -6962,6 +6971,7 @@
 <translation id="6993050154661569036">正在更新 Chrome 瀏覽器</translation>
 <translation id="6995899638241819463">密碼因資料外洩而被洩露時接收警告</translation>
 <translation id="6995984090981858039">讀取 ChromeOS 裝置資訊和資料</translation>
+<translation id="6996438701394974959">放大顯示同文字大小</translation>
 <translation id="6997553674029032185">前往網站</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - 活動記錄</translation>
 <translation id="6997707937646349884">在您的裝置上:</translation>
@@ -7890,6 +7900,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">起始網頁背景改咗做<ph name="CATEGORY" />。</translation>
+<translation id="7791436592012979144">已啟用反向捲動功能</translation>
 <translation id="7791543448312431591">新增</translation>
 <translation id="7792012425874949788">登入帳戶時發生錯誤</translation>
 <translation id="7792388396321542707">停止共用</translation>
@@ -8056,6 +8067,7 @@
 <translation id="7935451262452051102">已完成 <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">進階選項</translation>
 <translation id="7939073735115504773">如要讀取並變更 <ph name="HOST" />,請按一下此擴充程式的圖示</translation>
+<translation id="793923212791838">無法配搭您的裝置使用此網站</translation>
 <translation id="7939328347457537652">管理裝置憑證</translation>
 <translation id="7939412583708276221">保留</translation>
 <translation id="7940265372707990269">按<ph name="SORT_TYPE" />排序</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index f28164b..b9d11b4 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -314,6 +314,7 @@
 <translation id="1252987234827889034">設定檔發生錯誤</translation>
 <translation id="1253664522045778676">點選任一項搜尋結果,該頁面就會在目前的分頁中開啟</translation>
 <translation id="1254593899333212300">直接連線到網際網路</translation>
+<translation id="1256588359404100567">已從舊裝置同步處理設定。</translation>
 <translation id="1257336506558170607">匯出選取的憑證</translation>
 <translation id="1258491128795710625">新功能</translation>
 <translation id="1259152067760398571">昨天已執行安全檢查</translation>
@@ -525,6 +526,7 @@
 <translation id="1448779317883494811">筆刷工具</translation>
 <translation id="1449191289887455076">再次按下「<ph name="CURRENTKEY" />」鍵即可確認指派設定並<ph name="RESPONSE" /></translation>
 <translation id="1451375123200651445">另存為單一檔案網頁</translation>
+<translation id="145280054552001290">新增及移除字幕語言</translation>
 <translation id="1453561711872398978">傳送<ph name="BEGIN_LINK" />偵錯記錄<ph name="END_LINK" /> (建議)</translation>
 <translation id="1454223536435069390">擷取螢幕畫面(&amp;A)</translation>
 <translation id="145432137617179457">拼字檢查支援的語言</translation>
@@ -994,6 +996,7 @@
 <translation id="18260074040409954">你可以在任何裝置上使用儲存的密碼,這些密碼會儲存在 <ph name="EMAIL" /> 的<ph name="GOOGLE_PASSWORD_MANAGER" />中。</translation>
 <translation id="1826192255355608658">同步處理 Chrome 瀏覽器的書籤、密碼和歷史記錄等資料</translation>
 <translation id="1826516787628120939">檢查中</translation>
+<translation id="1826657447823925402">已停用反向捲動功能</translation>
 <translation id="1827504459960247692">無線基地台名稱</translation>
 <translation id="1828378091493947763">這部裝置不支援這個外掛程式</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{開啟所有網址(&amp;O)}=1{開啟書籤(&amp;O)}other{開啟所有 ({COUNT} 個) 網址(&amp;O)}}</translation>
@@ -1281,6 +1284,7 @@
 <translation id="2081816110395725788">使用電池時閒置電源</translation>
 <translation id="2082187087049518845">將分頁分組</translation>
 <translation id="2082510809738716738">請選擇主題顏色</translation>
+<translation id="2084891381052978619">完成 Chromebook 設定後,你也可以在「設定」中找到這些選項</translation>
 <translation id="208586643495776849">請再試一次</translation>
 <translation id="208634871997892083">永久連線的 VPN</translation>
 <translation id="2087822576218954668">列印:<ph name="PRINT_NAME" /></translation>
@@ -1350,6 +1354,7 @@
 <translation id="212862741129535676">頻率狀態占用率</translation>
 <translation id="212876957201860463">正在準備設定你的行動裝置...</translation>
 <translation id="2131077480075264">由於「<ph name="IMPORT_NAME" />」不允許,因此無法安裝「<ph name="APP_NAME" />」</translation>
+<translation id="2133775869826239001">選擇更多要設定的功能</translation>
 <translation id="2133857665503360653">重新嘗試下載「<ph name="FILE_NAME" />」</translation>
 <translation id="2134905185275441536">系統 CA</translation>
 <translation id="21354425047973905">隱藏 PIN 碼</translation>
@@ -2931,6 +2936,7 @@
 <translation id="347785443197175480">繼續允許 <ph name="HOST" /> 存取你的攝影機和麥克風</translation>
 <translation id="3479552764303398839">現在不要</translation>
 <translation id="3479685872808224578">偵測不到印表機伺服器。請檢查位址是否正確,然後再試一次。</translation>
+<translation id="3479753605053415848">點選即可自訂 Chrome</translation>
 <translation id="3480612136143976912">自訂即時字幕的文字大小和樣式。部分應用程式及網站也會套用這項設定。</translation>
 <translation id="3480827850068960424">找到 <ph name="NUM" /> 個分頁</translation>
 <translation id="3481268647794498892">將於 <ph name="COUNTDOWN_SECONDS" /> 秒後在 <ph name="ALTERNATIVE_BROWSER_NAME" /> 中開啟</translation>
@@ -3224,6 +3230,7 @@
 <translation id="3738632186060045350"><ph name="DEVICE_TYPE" /> 資料將在 24 小時後遭到刪除</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">要開啟「<ph name="APPLICATION" />」嗎?</translation>
+<translation id="3740945083753997630">縮小顯示和文字大小</translation>
 <translation id="3741056951918180319">只要在任何網站上點選擴充功能,即可隨時使用</translation>
 <translation id="3742235229730461951">韓文鍵盤配置</translation>
 <translation id="3742666961763734085">找不到使用該名稱的機構單位,請再試一次。</translation>
@@ -3601,6 +3608,7 @@
 <translation id="4044612648082411741">輸入您的憑證密碼</translation>
 <translation id="4044708573046946214">螢幕鎖定密碼</translation>
 <translation id="404493185430269859">預設搜尋引擎</translation>
+<translation id="4045196801416070837">裝置音效</translation>
 <translation id="4046013316139505482">這些擴充功能不需要查看和變更這個網站上的資訊。</translation>
 <translation id="4046123991198612571">下一首曲目</translation>
 <translation id="4047345532928475040">不適用</translation>
@@ -4050,6 +4058,7 @@
 <translation id="4444512841222467874">如果未釋出可用空間,系統可能會自動移除使用者和資料。</translation>
 <translation id="4445446646109808714">使用者授權協議:<ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">鏡像模式</translation>
+<translation id="4448560527907365660">儲存並查看更多功能</translation>
 <translation id="4448914100439890108">在 <ph name="DOMAIN" /> 上隱藏 <ph name="USERNAME" /> 的密碼</translation>
 <translation id="4449247303975391730">管理權限</translation>
 <translation id="4449948729197510913">你的使用者名稱屬於貴機構的公司帳戶。如要將裝置註冊到這個帳戶,請先在管理控制台中驗證網域擁有權。你必須擁有帳戶的管理員權限才能進行驗證。</translation>
@@ -5203,7 +5212,9 @@
 <translation id="5481941284378890518">新增附近的印表機</translation>
 <translation id="5484772771923374861">{NUM_DAYS,plural, =1{<ph name="MANAGER" /> 要求你備份自己的資料,並且在今天內歸還這部 <ph name="DEVICE_TYPE" />。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" />}other{<ph name="MANAGER" /> 要求你備份自己的資料,並且在 {NUM_DAYS} 天內歸還這部 <ph name="DEVICE_TYPE" />。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" />}}</translation>
 <translation id="5485102783864353244">新增應用程式</translation>
+<translation id="5485435764083510385">偏好的字幕語言</translation>
 <translation id="5485754497697573575">還原所有分頁</translation>
+<translation id="5486071940327595306"><ph name="WEBSITE" /> 可能需要新版或不同種類的裝置</translation>
 <translation id="5486261815000869482">確認密碼</translation>
 <translation id="5486561344817861625">模擬瀏覽器重新啟動</translation>
 <translation id="5487460042548760727">將設定檔重新命名為「<ph name="PROFILE_NAME" />」</translation>
@@ -5554,6 +5565,7 @@
 <translation id="5799508265798272974">Linux 虛擬機器:<ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">上次下載之後,目標檔案已遭截斷或移除。</translation>
 <translation id="5800351251499368110">關閉側邊面板中的搜尋工具列。側邊面板中的搜尋工具列已開啟。</translation>
+<translation id="5800703268655655701">選取淺色或深色主題</translation>
 <translation id="5801051031414037185">設定手機</translation>
 <translation id="5801568494490449797">偏好設定</translation>
 <translation id="5803689677801500549">已儲存的密碼會顯示在這裡。如要將 <ph name="USER_EMAIL" /> 的密碼匯入 <ph name="BRAND" />,請<ph name="BEGIN_LINK" />選取 CSV 檔案<ph name="END_LINK" />。</translation>
@@ -6938,6 +6950,7 @@
 <translation id="6993050154661569036">正在更新 Chrome 瀏覽器</translation>
 <translation id="6995899638241819463">當密碼因資料侵害事件遭到外洩時發出警告</translation>
 <translation id="6995984090981858039">讀取 ChromeOS 裝置資訊和資料</translation>
+<translation id="6996438701394974959">放大顯示和文字大小</translation>
 <translation id="6997553674029032185">前往網站</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - 活動記錄</translation>
 <translation id="6997707937646349884">在你的裝置上:</translation>
@@ -7380,6 +7393,7 @@
 <translation id="7400839060291901923">在 <ph name="PHONE_NAME" /> 上設定連線</translation>
 <translation id="7401778920660465883">關閉這則訊息</translation>
 <translation id="7402198013420237102">要將已儲存的密碼移至你的 Google 帳戶嗎?</translation>
+<translation id="740333000181878130">裝置啟動音效</translation>
 <translation id="7403642243184989645">正在下載資源</translation>
 <translation id="7404065585741198296">接上 USB 傳輸線的手機</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{1 小時前已執行安全檢查}other{{NUM_HOURS} 小時前已執行安全檢查}}</translation>
@@ -7866,6 +7880,7 @@
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">起始網頁背景已變更為<ph name="CATEGORY" />。</translation>
+<translation id="7791436592012979144">已啟用反向捲動功能</translation>
 <translation id="7791543448312431591">新增</translation>
 <translation id="7792012425874949788">登入帳戶時發生錯誤</translation>
 <translation id="7792388396321542707">停止共用</translation>
@@ -8032,6 +8047,7 @@
 <translation id="7935451262452051102">已完成 <ph name="PERCENT" />%</translation>
 <translation id="7939062555109487992">進階選項</translation>
 <translation id="7939073735115504773">按一下這項擴充功能的圖示即可讀取及變更 <ph name="HOST" /></translation>
+<translation id="793923212791838">無法搭配你的裝置使用這個網站</translation>
 <translation id="7939328347457537652">管理裝置憑證</translation>
 <translation id="7939412583708276221">保留</translation>
 <translation id="7940265372707990269">按「<ph name="SORT_TYPE" />」排序</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index 02504c4..0114ed05 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -317,6 +317,7 @@
 <translation id="1252987234827889034">Kuvele iphutha lephrofayela</translation>
 <translation id="1253664522045778676">Chofoza kumphumela futhi ikhasi lizovuleka kuthebhu yakho yamanje</translation>
 <translation id="1254593899333212300">Qondisa ukuxhumeka kwe-inthanethi</translation>
+<translation id="1256588359404100567">Amasethingi avunyelanisiwe ukusuka kudivayisi yakho yangaphambilini.</translation>
 <translation id="1257336506558170607">Thumela isitifiketi esikhethiwe</translation>
 <translation id="1258491128795710625">Yini okusha</translation>
 <translation id="1259152067760398571">Ukuhlola kokuphepha kusebenze izolo</translation>
@@ -1005,6 +1006,7 @@
 <translation id="18260074040409954">Ungasebenzisa amaphasiwedi alondoloziwe kunoma iyiphi idivayisi. Zilondolozelwe i<ph name="EMAIL" /> ku-<ph name="GOOGLE_PASSWORD_MANAGER" />.</translation>
 <translation id="1826192255355608658">Vumelanisa amabhukhimakhi we-browser yakho ye-Chrome, amaphasiwedi, umlando, nokuningi</translation>
 <translation id="1826516787628120939">Iyahlola</translation>
+<translation id="1826657447823925402">Ukuskrola okubuyela emuva kukhutshaziwe</translation>
 <translation id="1827504459960247692">Igama le-Hotspot</translation>
 <translation id="1828378091493947763">Le plugin alisekelwa kule divayisi</translation>
 <translation id="1828879788654007962">{COUNT,plural, =0{&amp;Vula Konke}=1{&amp;Vula Ibhukhimakhi}one{&amp;Vula Konke ({COUNT})}other{&amp;Vula Konke ({COUNT})}}</translation>
@@ -1293,6 +1295,7 @@
 <translation id="2081816110395725788">Amandla angenzi lutho ebhethri</translation>
 <translation id="2082187087049518845">Ithebhu Yeqembu</translation>
 <translation id="2082510809738716738">Khetha umbala wetimu</translation>
+<translation id="2084891381052978619">Ungakwazi futhi ukuthola lokhu okukhethwa kukho Kumasethingi ngemva kokuqeda ukusetha i-Chromebook yakho</translation>
 <translation id="208586643495776849">Sicela uzame futhi</translation>
 <translation id="208634871997892083">I-VPN ehlala ikhanya</translation>
 <translation id="2087822576218954668">Phrinta: <ph name="PRINT_NAME" /></translation>
@@ -1363,6 +1366,7 @@
 <translation id="212862741129535676">Amaphesenti wokuthatha indawo yesimo esijwayelekile</translation>
 <translation id="212876957201860463">Ilungisela ukusetha idivayisi yakho yeseli...</translation>
 <translation id="2131077480075264">Ayikwazi ukufaka i-"<ph name="APP_NAME" />" ngoba ayivunyelwe yi-"<ph name="IMPORT_NAME" />"</translation>
+<translation id="2133775869826239001">Khetha izakhi ezengeziwe ozozimisa</translation>
 <translation id="2133857665503360653">Phinda uzame i-<ph name="FILE_NAME" /></translation>
 <translation id="2134905185275441536">Amasistimu we-CA</translation>
 <translation id="21354425047973905">Fihla ama-PIN</translation>
@@ -1457,6 +1461,7 @@
 <translation id="2204020417499639567">I-imeyili igcwalisiwe.</translation>
 <translation id="2204034823255629767">Funda futhi ushintshe noma yini oyithayiphayo</translation>
 <translation id="2204387456724731099">Lokhu okukhethiwe akukwazanga ukuhunyushwa</translation>
+<translation id="2207116775853792104">Gcina lesi sandiso</translation>
 <translation id="2210462644007531147">Ayikwazanga ukuqeda ukufaka</translation>
 <translation id="2211245494465528624">Phatha ongakhetha kukho kokuvumelanisa</translation>
 <translation id="2212565012507486665">Vumela amakhukhi</translation>
@@ -2531,6 +2536,7 @@
 <translation id="3088325635286126843">&amp;Qamba kabusha...</translation>
 <translation id="3089137131053189723">Usesho lusuliwe</translation>
 <translation id="3089941350495701096">&amp;Uhlu Lokufunda</translation>
+<translation id="3089948625237571254">K&amp;opisha Uhlaka Lwevidiyo</translation>
 <translation id="3090227230165225418">Memezela izaziso zokulanda</translation>
 <translation id="3090589793601454425">Ungahambisi</translation>
 <translation id="3090819949319990166">Ayikwazi ukukopishela ifayela le-crx ku-<ph name="TEMP_CRX_FILE" />.</translation>
@@ -2947,6 +2953,7 @@
 <translation id="347785443197175480">Qhubeka uvumele i-<ph name="HOST" /> ukuthi ifinyelele kukhamela yakho nemakrofoni</translation>
 <translation id="3479552764303398839">Hhayi manje</translation>
 <translation id="3479685872808224578">Ayikwazanga ukutohla iseva yephrinta. Sicela uhlole ikheli uphinde uzame futhi.</translation>
+<translation id="3479753605053415848">Chofoza ukuze wenze i-Chrome ngokwezifiso</translation>
 <translation id="3480612136143976912">Enza ngendlela oyifisayo igama-ngcazo nesitayela Sokushuthwe Bukhoma. Amanye ama-app namasayithi nakho kuzosebenzisa le sethingi</translation>
 <translation id="3480827850068960424">Kutholakale Amathebhu angu-<ph name="NUM" /></translation>
 <translation id="3481268647794498892">Ivuleka ku-<ph name="ALTERNATIVE_BROWSER_NAME" /> ngamasekhondi angu-<ph name="COUNTDOWN_SECONDS" /></translation>
@@ -3032,6 +3039,7 @@
 <translation id="3559262020195162408">Yehlulekile ukufaka inqubomgomo kudivayisi.</translation>
 <translation id="3559533181353831840">Cishe u-<ph name="TIME_LEFT" /> osele</translation>
 <translation id="3560034655160545939">&amp;Ukuhlola ukupeleta</translation>
+<translation id="3561201631376780358">Vula Iphaneli Eseceleni ukuze ubone wonke Amabhukhimakhi</translation>
 <translation id="3562423906127931518">Le nqubomgomo ingathatha amaminithi ambalwa. ukusetha isiqukathi se-Linux.</translation>
 <translation id="3562655211539199254">Buka amathebhu we-Chrome wakamuva kusuka efonini yakho</translation>
 <translation id="3563432852173030730">Kiosk application could not be downloaded.</translation>
@@ -3240,6 +3248,7 @@
 <translation id="3738632186060045350">Idatha ye-<ph name="DEVICE_TYPE" /> izosuswa emahoreni angama-24</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">Vula i-<ph name="APPLICATION" />?</translation>
+<translation id="3740945083753997630">Nciphisa isibonisi nosayizi wombhalo</translation>
 <translation id="3741056951918180319">Ungahlala uchofoza isandiso ukuze usisebenzise kunoma iyiphi isayithi</translation>
 <translation id="3742235229730461951">Uhlaka lwekhibhodi yesi-Korean</translation>
 <translation id="3742666961763734085">Ayikwazi ukuthola iyunithi yenhlangano. Sicela uzame futhi.</translation>
@@ -4067,6 +4076,7 @@
 <translation id="4444512841222467874">Uma isikhala senziwe sangatholakali, abasebenzisi nedatha kungasuswa ngokuzenzakalela.</translation>
 <translation id="4445446646109808714">Isivumelwano Selayisense Yomsebenzisi: <ph name="EULA_LINK" /></translation>
 <translation id="4446933390699670756">Ifanisiwe</translation>
+<translation id="4448560527907365660">Londoloza futhi ubone okwengeziwe</translation>
 <translation id="4448914100439890108">Fihla iphasiwedi ka-<ph name="USERNAME" /> ku-<ph name="DOMAIN" /></translation>
 <translation id="4449247303975391730">Lawula izimvume</translation>
 <translation id="4449948729197510913">Igama lakho lomsebenzisi lingelenhlangano ye-akhawunti yebhizinisi lakho. Ukuze ubhalise amadivayisi ku-akhawunti, qala ngokuqinisekisa ubunikazi besizinda ku-console Yomphathi. Uzodinga amalungelo okulawula kwi-akhawunti ukuze uqinisekise.</translation>
@@ -4878,6 +4888,7 @@
 <translation id="5173668317844998239">Engeza futhi ususe izingxivizo zeminwe ezilondoloze kukhiye wakho wokuqinisekisa ubunikazi</translation>
 <translation id="5174169235862638850">Iphasiwedi ikopishelwe kubhodi lokunamathisela</translation>
 <translation id="5175379009094579629">Igama ledivayisi alivumelekile. Faka igama ledivayisi elivumelekile ukuze uphinde uzame.</translation>
+<translation id="5176787661653201403">K&amp;opisha uhlaka lwevidiyo</translation>
 <translation id="5177479852722101802">Qhubeka uvimbele ukufinyelela kwekhamela nemakrofoni</translation>
 <translation id="5177549709747445269">Usebenzisa idatha yeselula</translation>
 <translation id="5178667623289523808">Thola eyedlule</translation>
@@ -5224,6 +5235,7 @@
 <translation id="5485102783864353244">Engeza uhlelo lokusbenza</translation>
 <translation id="5485435764083510385">Ulimi lwamagama-ngcazo oluncanyelwayo</translation>
 <translation id="5485754497697573575">Buyisela wonke amathebhu</translation>
+<translation id="5486071940327595306">I-<ph name="WEBSITE" /> ingadinga uhlobo olusha noma oluhlukile lwedivayisi</translation>
 <translation id="5486261815000869482">Qinisekisa iphasiwedi</translation>
 <translation id="5486561344817861625">Lingisa ukuqala kabusha kwesiphequluli</translation>
 <translation id="5487460042548760727">Qamba kabusha iphrofayela ku-<ph name="PROFILE_NAME" /></translation>
@@ -5327,6 +5339,7 @@
 <translation id="5571066253365925590">I-Bluetooth inikwe amandla</translation>
 <translation id="5571092938913434726">Izilawuli zemidiya zomhlaba jikelele</translation>
 <translation id="5571832155627049070">Yenza iphrofayela lakho ngokwezifiso</translation>
+<translation id="5572166921642484567">Khetha imodi yesikimu sombala</translation>
 <translation id="5572252023412311448">Bonisa imininingwane yesayithi le-<ph name="SITE_GROUP" /></translation>
 <translation id="5572648434713976849">Uzothola iziphakamiso ezithuthukisiwe kwibha yekheli</translation>
 <translation id="557506220935336383">Bona izimvume zesandiso samanye amasayithi</translation>
@@ -5579,6 +5592,7 @@
 <translation id="5799508265798272974">I-Linux Virtual Machine: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Ifayela lendawo liye lancishiswa noma lasuswa kusukela ekulandweni kokugcina.</translation>
 <translation id="5800351251499368110">Vala usesho kuphaneli eseceleni. Usesho luvuliwe kuphaneli eseceleni.</translation>
+<translation id="5800703268655655701">Khetha itimu ekhanyayo noma emnyama</translation>
 <translation id="5801051031414037185">Setha ifoni</translation>
 <translation id="5801568494490449797">Okuncamelayo</translation>
 <translation id="5803689677801500549">Amaphasiwedi alondoloziwe azovela lapha. Ukuze ungenise amaphasiwedi ku-<ph name="BRAND" /> ngo-<ph name="USER_EMAIL" />, <ph name="BEGIN_LINK" />khetha ifayela le-CSV.<ph name="END_LINK" /></translation>
@@ -6967,6 +6981,7 @@
 <translation id="6993050154661569036">Ibuyekeza i-Chrome browser</translation>
 <translation id="6995899638241819463">Iyakuxwayisa uma amaphasiwedi avezwe ekuphulweni kwedatha</translation>
 <translation id="6995984090981858039">Funda ulwazi lwedivayisi ye-ChromeOS nedatha</translation>
+<translation id="6996438701394974959">Khulisa isibonisi nosayizi wombhalo</translation>
 <translation id="6997553674029032185">Iya kusayithi</translation>
 <translation id="6997642619627518301"><ph name="NAME_PH" /> - Umsebenzi wefayela lokungena</translation>
 <translation id="6997707937646349884">Kumadivayisi akho:</translation>
@@ -7458,6 +7473,7 @@
 <translation id="7434509671034404296">Unjiniyela</translation>
 <translation id="7434757724413878233">Ukushesha kwegundane</translation>
 <translation id="7434969625063495310">Ayikwazanga ukungeza iseva yokuphrinta. Sicela uhlole ukulungiswa kweseva bese uyazama futhi.</translation>
+<translation id="7436452443388501706">{NUM_EXTENSIONS,plural, =1{Buyekeza isandiso esi-1 esehlisiwe Kusitolo Sewebhu se-Chrome}one{Buyekeza izandiso ezingu-{NUM_EXTENSIONS} ezehlisiwe Kusitolo Sewebhu se-Chrome}other{Buyekeza izandiso ezingu-{NUM_EXTENSIONS} ezehlisiwe Kusitolo Sewebhu se-Chrome}}</translation>
 <translation id="7436921188514130341">Hawu, iphutha! Kube nephutha ngesikhathi sokuqamba kabusha.</translation>
 <translation id="7439519621174723623">Engeza igama ledivayisi ukuze uqhubeke</translation>
 <translation id="7441736921018636843">Ukuze ushintshe lesi silungiselelo, <ph name="BEGIN_LINK" />setha kabusha ukuvumelanisa<ph name="END_LINK" /> ukuze ususe umshwana wakho wokuvumelanisa</translation>
@@ -7474,6 +7490,7 @@
 <translation id="7452166281927983300">Izexwayiso ezichithiwe (<ph name="MUTED_PASSWORDS" />)</translation>
 <translation id="7453008956351770337">Ngokukhetha le phrinta, unikeza isandiso esilandelayo imvume yokufinyelela iphrinta yakho:</translation>
 <translation id="7453467225369441013">Ikukhipha kumasayithi amaningi. Ngeke ukhishwe ku-akhawunti yakho ye-Google.</translation>
+<translation id="7453597054492098060">{NUM_EXTENSIONS,plural, =1{Lesi sandiso kungenzeka singaphephile. I-Chrome incoma ukuthi uyisuse.}one{Lezi zandiso kungenzeka zingaphephile. I-Chrome incoma ukuthi uzisuse.}other{Lezi zandiso kungenzeka zingaphephile. I-Chrome incoma ukuthi uzisuse.}}</translation>
 <translation id="7454548535253569100">I-Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Phatha iziqukathi ezengeziwe</translation>
 <translation id="7455988709578031708">Ngokususelwe kumlando wakho wokubhrawuza. Le sethingi ivuliwe.</translation>
@@ -7893,6 +7910,7 @@
 
 I-<ph name="EXTENSION_NAME" /></translation>
 <translation id="7789963078219276159">Ingemuva lekhasi lokuqala lishintshelwe ku-<ph name="CATEGORY" />.</translation>
+<translation id="7791436592012979144">Ukuskrola okubuyela emuva kunikwe amandla</translation>
 <translation id="7791543448312431591">Engeza</translation>
 <translation id="7792012425874949788">Kukhona into engahambanga kahle ngokungena ngemvume</translation>
 <translation id="7792388396321542707">Misa ukwabelana</translation>
@@ -8059,6 +8077,7 @@
 <translation id="7935451262452051102"><ph name="PERCENT" />% kuqediwe</translation>
 <translation id="7939062555109487992">Izinketho ezithuthukile</translation>
 <translation id="7939073735115504773">Chofoza lesi sithonjana sesandiso ukuze ufunde futhi ushintshe i-<ph name="HOST" /></translation>
+<translation id="793923212791838">Idivayisi yakho ayikwazi ukusetshenziswa naleli sayithi</translation>
 <translation id="7939328347457537652">Phatha izitifiketi zedivayisi</translation>
 <translation id="7939412583708276221">Gcina noma kunjalo</translation>
 <translation id="7940265372707990269">Hlunga nge-<ph name="SORT_TYPE" /></translation>
diff --git a/chrome/app/resources/google_chrome_strings_af.xtb b/chrome/app/resources/google_chrome_strings_af.xtb
index 39a86606..9291c023 100644
--- a/chrome/app/resources/google_chrome_strings_af.xtb
+++ b/chrome/app/resources/google_chrome_strings_af.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">Geen opdatering is beskikbaar nie.</translation>
 <translation id="6360449101159168105">Geheue is beskikbaar gemaak terwyl hierdie oortjie onaktief was om Chrome vinnig te hou. Jy kan kies om hierdie werf altyd daarvan uit te sluit om onaktief te wees.</translation>
 <translation id="6412673304250309937">Vergelyk URL'e met 'n lys onveilige werwe wat in Chrome geberg word. As 'n werf probeer om jou wagwoord te steel, of wanneer jy 'n skadelike lêer aflaai, sal Chrome dalk ook URL'e, insluitend stukkies bladsyinhoud, na Veiligblaai toe stuur.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Jou organisasie maak Chrome outomaties toe nadat dit 1 minuut lank nie gebruik is nie. Blaaierdata word uitgevee. Dit kan geskiedenis, outovul en aflaaie insluit.}other{Jou organisasie maak Chrome outomaties toe nadat dit # minute lank nie gebruik is nie. Blaaierdata word uitgevee. Dit kan geskiedenis, outovul en aflaaie insluit.}}</translation>
 <translation id="6418662306461808273">Skakel oor na bestaande Chrome-profiel?</translation>
 <translation id="648319183876919572">Verbeterde Veiligblaai doen meer om jou teen gevaarlike webwerwe en aflaaie te beskerm</translation>
 <translation id="6493527311031785448">Google Chrome probeer tans om <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">Jy was as <ph name="USER_EMAIL_ADDRESS" /> by Chrome aangemeld. Gebruik asseblief dieselfde rekening om weer aan te meld.</translation>
 <translation id="7410958280246779049">Chrome het hierdie lêer geblokkeer omdat dit gevaarlik is</translation>
 <translation id="7426611252293106642">Google Chrome sal dalk nie reg werk nie omdat dit nie meer in hierdie Linux-uitreiking gesteun word nie</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Jou organisasie maak Chrome outomaties toe nadat dit 1 minuut lank nie gebruik is nie.}other{Jou organisasie maak Chrome outomaties toe nadat dit # minute lank nie gebruik is nie.}}</translation>
 <translation id="7481213027396403996">Kry Chrome se sterkste beskerming</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" />-installeerder</translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">As 'n prent nie 'n nuttige beskrywing het nie, sal Chrome probeer om een vir jou te verskaf. Prente word na Google toe gestuur om beskrywings te skep.</translation>
 <translation id="8019103195866286235">Die ontwikkelaar van hierdie uitbreiding het dit gedepubliseer, en dit kan onveilig wees. Verwyder dit uit Chrome sodat dit nie meer jou data, insluitend jou persoonlike inligting, op werwe wat jy besoek kan sien en verander nie.</translation>
 <translation id="80471789339884597">Dankie dat jy geïnstalleer het. Jy moet al jou blaaiers herbegin voordat jy <ph name="BUNDLE_NAME" /> gebruik.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Jou organisasie vee blaaierdata outomaties uit nadat Chrome 1 minuut lank nie gebruik is nie. Dit kan geskiedenis, outovul en aflaaie insluit. Jou bestaande oortjies sal oop bly.}other{Jou organisasie vee blaaierdata outomaties uit nadat Chrome # minute lank nie gebruik is nie. Dit kan geskiedenis, outovul en aflaaie insluit. Jou bestaande oortjies sal oop bly.}}</translation>
 <translation id="8064015586118426197">Chrome OS Flex</translation>
 <translation id="8129812357326543296">Meer oor Google Chrome</translation>
 <translation id="813913629614996137">Inisialiseer tans …</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ar.xtb b/chrome/app/resources/google_chrome_strings_ar.xtb
index 0add855..3fb6f449 100644
--- a/chrome/app/resources/google_chrome_strings_ar.xtb
+++ b/chrome/app/resources/google_chrome_strings_ar.xtb
@@ -285,6 +285,7 @@
 <translation id="6326175484149238433">‏إزالة من Chrome</translation>
 <translation id="6327105987658262776">ما مِن تحديث متوفّر.</translation>
 <translation id="6412673304250309937">‏يعمل على التحقّق من عناوين URL التي تحتوي على قائمة بمواقع إلكترونية غير آمنة مُخزّنة في Chrome. وإذا حاول موقع إلكتروني سرقة كلمة المرور أو إذا نزّلت ملفًا ضارًا، قد يرسل متصفّح Chrome أيضًا عناوين URL تتضمّن أجزاء من محتوى الصفحة إلى "التصفّح الآمن".</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة دقيقة واحدة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}zero{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقيقة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}two{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة دقيقتَين. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}few{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقائق. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}many{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقيقة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}other{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقيقة. سيتم حذف بيانات التصفُّح. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل.}}</translation>
 <translation id="6418662306461808273">‏هل تريد الانتقال إلى ملف شخصي حالي على Chrome؟</translation>
 <translation id="648319183876919572">تعزِّز ميزة "الحماية المُحسّنة للتصفّح الآمن" حمايتك من المواقع الإلكترونية الضارة وعمليات التنزيل الخطيرة.</translation>
 <translation id="6493527311031785448">‏يحاول Google Chrome <ph name="AUTHENTICATION_PURPOSE" />.</translation>
@@ -332,6 +333,7 @@
 <translation id="7398801000654795464">‏تم تسجيل دخولك إلى Chrome باعتبارك <ph name="USER_EMAIL_ADDRESS" />. يُرجى استخدام الحساب نفسه لتسجيل الدخول مرة أخرى.</translation>
 <translation id="7410958280246779049">‏حَظَر Chrome هذا الملف لأنّه ملف ضار.</translation>
 <translation id="7426611252293106642">‏قد لا يعمل Google Chrome بشكل صحيح لأنّه لم يعد متاحًا على توزيع Linux هذا.</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة دقيقة واحدة.}zero{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقيقة.}two{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة دقيقتَين.}few{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقائق.}many{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقيقة.}other{‏استنادًا إلى إعدادات مؤسستك، يتم إغلاق متصفِّح Chrome تلقائيًا عند عدم استخدامه لمدة # دقيقة.}}</translation>
 <translation id="7481213027396403996">‏الحصول على أعلى مستوى من الأمان في متصفِّح Chrome</translation>
 <translation id="7535429826459677826">‏إصدار مطوري البرامج من Google Chrome</translation>
 <translation id="7583399374488819119">أداة تثبيت <ph name="COMPANY_NAME" /></translation>
@@ -365,6 +367,7 @@
 <translation id="8008534537613507642">‏إعادة تثبيت Chrome</translation>
 <translation id="8013993649590906847">‏في حال لم تتضمن صورة ما وصفًا مفيدًا، سيحاول Chrome توفير وصف لك. لإنشاء الأوصاف، سيتم إرسال الصور إلى Google.</translation>
 <translation id="80471789339884597">شكرًا على التثبيت. عليك إعادة تشغيل جميع المتصفِّحات قبل استخدام <ph name="BUNDLE_NAME" />.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chrome لمدة دقيقة واحدة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}zero{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chrome لمدة # دقيقة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}two{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chrome لمدة دقيقتَين. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}few{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chrome لمدة # دقائق. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}many{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chrome لمدة # دقيقة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}other{‏استنادًا إلى إعدادات مؤسستك، يتم حذف بيانات التصفُّح تلقائيًا عند عدم استخدام Chrome لمدة # دقيقة. ويمكن أن يشمل ذلك بيانات السجلّ والملء التلقائي وعمليات التنزيل. وستظل علامات التبويب الحالية مفتوحة.}}</translation>
 <translation id="8064015586118426197">‏نظام التشغيل ChromeOS Flex</translation>
 <translation id="8129812357326543296">‏&amp;حول Google Chrome</translation>
 <translation id="813913629614996137">تجري التهيئة...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_as.xtb b/chrome/app/resources/google_chrome_strings_as.xtb
index 5a2a9a46..6645867 100644
--- a/chrome/app/resources/google_chrome_strings_as.xtb
+++ b/chrome/app/resources/google_chrome_strings_as.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">কোনো আপডে’ট উপলব্ধ নহয়।</translation>
 <translation id="6360449101159168105">এই টেবটো নিষ্ক্ৰিয় হৈ থকাৰ সময়ত, Chrome দ্ৰুত কৰি ৰাখিবলৈ মেম’ৰী খালী কৰা হৈছে। আপুনি এই ছাইটটো নিষ্ক্ৰিয় হোৱাৰ পৰা সদায় বাদ দিয়াটো বাছনি কৰিব পাৰে।</translation>
 <translation id="6412673304250309937">Chromeত ষ্ট'ৰ কৰি ৰখা অসুৰক্ষিত ছাইটসমূহৰ এখন সূচীৰ সৈতে URLসমূহ পৰীক্ষা কৰে। যদি কোনোবা ছাইটে আপোনাৰ পাছৱর্ড চুৰি কৰিবলৈ চেষ্টা কৰে অথবা আপুনি কোনো ক্ষতিকাৰক ফাইল ডাউনল'ড কৰাৰ সময়ত Chromeএ পৃষ্ঠাৰ সমলৰ বিটসমূহকে ধৰি URLসমূহ সুৰক্ষিত ব্ৰাউজিঙলৈ পঠিয়াব পাৰে।</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Chrome ১ মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে। ব্ৰাউজিঙৰ ডেটা মচি পেলোৱা হয়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে।}one{Chrome # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে। ব্ৰাউজিঙৰ ডেটা মচি পেলোৱা হয়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে।}other{Chrome # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে। ব্ৰাউজিঙৰ ডেটা মচি পেলোৱা হয়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে।}}</translation>
 <translation id="6418662306461808273">পূৰ্বে থকা Chrome প্ৰ'ফাইললৈ যাবনে?</translation>
 <translation id="648319183876919572">বৰ্ধিত সুৰক্ষিত ব্ৰাউজিঙে আপোনাক বিপজ্জনক ৱেবছাইট আৰু ডাউনল’ডৰ পৰা সুৰক্ষিত কৰিবলৈ অধিক কাৰ্য কৰে</translation>
 <translation id="6493527311031785448">Google Chromeএ <ph name="AUTHENTICATION_PURPOSE" /> চেষ্টা কৰি আছে</translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">আপুনি Chromeত <ph name="USER_EMAIL_ADDRESS" /> হিচাপে ছাইন ইন হৈ আছিলে। অনুগ্ৰহ কৰি আকৌ ছাইন ইন কৰিবলৈ একেটা একাউন্টেই ব্যৱহাৰ কৰক।</translation>
 <translation id="7410958280246779049">এই ফাইলটো বিপজ্জনক হোৱাৰ বাবে Chromeএ এইটো অৱৰোধ কৰিছে</translation>
 <translation id="7426611252293106642">Google Chromeএ সঠিকভাৱে কাম নকৰিবও পাৰে কাৰণ এইটো আৰু Linux বিতৰণত সমৰ্থিত নহয়</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Chrome ১ মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে।}one{Chrome # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে।}other{Chrome # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ইয়াক বন্ধ কৰে।}}</translation>
 <translation id="7481213027396403996">Chromeৰ আটাইতকৈ বৰ্ধিত সুৰক্ষাৰ সুবিধা লাভ কৰক</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> ইনষ্টলাৰ</translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">যদি কোনো প্ৰতিচ্ছবিত উপযোগী বিৱৰণ নাই তেন্তে Chromeএ আপোনাক সেয়া প্ৰদান কৰিবলৈ চেষ্টা কৰিব। বিৱৰণ সৃষ্টি কৰিবলৈ প্ৰতিচ্ছবি Googleলৈ প্ৰেৰণ কৰা হয়।</translation>
 <translation id="8019103195866286235">এই এক্সটেনশ্বনটো ইয়াৰ বিকাশকৰ্তাই অপ্ৰকাশিত কৰিছে আৰু ই অসুৰক্ষিত হ’ব পাৰে। এইটো Chromeৰ পৰা আঁতৰাই পেলাওক যাতে ই আপুনি চোৱা ছাইটসমূহত আপোনাৰ ব্যক্তিগত তথ্যকে ধৰি আপোনাৰ ডেটা আৰু চাব আৰু সলনি কৰিব নোৱাৰে।</translation>
 <translation id="80471789339884597">ইনষ্টল কৰাৰ বাবে ধন্যবাদ। আপুনি <ph name="BUNDLE_NAME" /> ব্যৱহাৰ কৰাৰ পূৰ্বে আপোনাৰ আটাইবোৰ ব্ৰাউজাৰ ৰিষ্টাৰ্ট কৰিবই লাগিব।</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Chrome ১ মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ব্ৰাউজিঙৰ ডেটা মচি পেলায়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে। আপোনাৰ পূৰ্বৰে পৰা থকা টেববোৰ খোলা থাকিব।}one{Chrome # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ব্ৰাউজিঙৰ ডেটা মচি পেলায়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে। আপোনাৰ পূৰ্বৰে পৰা থকা টেববোৰ খোলা থাকিব।}other{Chrome # মিনিটলৈকে ব্যৱহাৰ কৰা নহ’লে আপোনাৰ প্ৰতিষ্ঠানে স্বয়ংক্ৰিয়ভাৱে ব্ৰাউজিঙৰ ডেটা মচি পেলায়। ইয়াত ইতিহাস, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সুবিধা আৰু ডাউনল’ড অন্তৰ্ভুক্ত হ’ব পাৰে। আপোনাৰ পূৰ্বৰে পৰা থকা টেববোৰ খোলা থাকিব।}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">&amp;Google Chromeৰ বিষয়ে</translation>
 <translation id="813913629614996137">আৰম্ভ কৰা হৈছে…</translation>
diff --git a/chrome/app/resources/google_chrome_strings_az.xtb b/chrome/app/resources/google_chrome_strings_az.xtb
index 5dec32c..2e33d50 100644
--- a/chrome/app/resources/google_chrome_strings_az.xtb
+++ b/chrome/app/resources/google_chrome_strings_az.xtb
@@ -287,6 +287,7 @@
 <translation id="6327105987658262776">Güncəlləmə əlçatan deyil.</translation>
 <translation id="6360449101159168105">Bu tab deaktiv olduqda Chrome-u sürətli saxlamaq üçün yaddaş boşaldıldı. Bu saytın deaktiv olmasını həmişə istisna edə bilərsiniz.</translation>
 <translation id="6412673304250309937">URL'ləri Chrome'da saxlanılan təhlükəli saytların siyahısı ilə yoxlayır. Sayt parolunuzu oğurlamağa çalışdıqda və ya zərərli fayl endirdiyinizdə Chrome səhifə məzmunundan kiçik nümunələr də daxil olmaqla, URL'ləri Təhlükəsiz Baxışa göndərə bilər.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Chrome 1 dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır. Baxış datası silinir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər.}other{Chrome # dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır. Baxış datası silinir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər.}}</translation>
 <translation id="6418662306461808273">Mövcud Chrome profilinə keçirilsin?</translation>
 <translation id="648319183876919572">Qabaqcıl Güvənli Baxış təhlükəli veb-sayt və endirmələrə qarşı daha yaxşı qoruyur</translation>
 <translation id="6493527311031785448">Google Chrome cəhd edir: <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -336,6 +337,7 @@
 <translation id="7398801000654795464">Chrome'a <ph name="USER_EMAIL_ADDRESS" /> olaraq daxil olmuşdunuz. Lütfən, yenidən daxil olmaq üçün eyni hesabdan istifadə edin.</translation>
 <translation id="7410958280246779049">Chrome bu faylı təhlükəli olduğu üçün blokladı</translation>
 <translation id="7426611252293106642">Google Chrome düzgün işləməyə bilər, çünki daha bu Linux sistemi üzərində dəstəklənmir</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Chrome 1 dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır.}other{Chrome # dəqiqə istifadə edilmədikdə təşkilat onu avtomatik bağlayır.}}</translation>
 <translation id="7481213027396403996">Chrome’un ən güclü güvənlik sistemini əldə edin</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> Quraşdırıcısı</translation>
@@ -370,6 +372,7 @@
 <translation id="8013993649590906847">Şəklin təsviri faydalı deyilsə, Chrome Sizin üçün təsviri təmin etməyə çalışacaq. Təsvir yaratmaq üçün şəkillər Google'a göndərilir.</translation>
 <translation id="8019103195866286235">Bu artırmanın yayımı tərtibatçı tərəfindən ləğv edildi və təhlükəli ola bilər. Onu Chrome-dan silin ki, daxil olduğunuz saytlardakı dataya, o cümlədən şəxsi məlumatlara baxa və onları dəyişə bilməsin.</translation>
 <translation id="80471789339884597">Quraşdırdığınız üçün təşəkkür edirik. <ph name="BUNDLE_NAME" /> istifadə etməzdən əvvəl bütün brauzerlərinizi yenidən başlatmalısınız.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Chrome 1 dəqiqə istifadə edilmədikdə təşkilat baxış datasını avtomatik silir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər. Mövcud tablar açıq qalacaq.}other{Chrome # dəqiqə istifadə edilmədikdə təşkilat baxış datasını avtomatik silir. Bura tarixçə, avto doldurma və endirmələr daxil ola bilər. Mövcud tablar açıq qalacaq.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">Google Chrome haqqında</translation>
 <translation id="813913629614996137">Başladılır...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index 36d9ac25..f708490 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -288,6 +288,7 @@
 <translation id="6327105987658262776">Δεν υπάρχει διαθέσιμη ενημέρωση.</translation>
 <translation id="6360449101159168105">Ενώ αυτή η καρτέλα ήταν ανενεργή, ελευθερώθηκε μνήμη για να παραμείνει γρήγορο το Chrome. Μπορείτε να επιλέξετε να εξαιρείται πάντα αυτός ο ιστότοπος, ώστε να παραμένει ενεργός.</translation>
 <translation id="6412673304250309937">Ελέγχει αν τα URL περιλαμβάνονται στην λίστα μη ασφαλών ιστοτόπων που είναι αποθηκευμένη στο Chrome. Εάν ένας ιστότοπος προσπαθήσει να κλέψει τον κωδικό σας ή όταν κάνετε λήψη ενός επιβλαβούς αρχείου, το Chrome μπορεί επίσης να στείλει URL, καθώς και τμήματα του περιεχομένου της σελίδας, στην Ασφαλή περιήγηση.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Ο οργανισμός σας κλείνει αυτόματα το Chrome όταν δεν χρησιμοποιείται για 1 λεπτό. Τα δεδομένα περιήγησης διαγράφονται. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις.}other{Ο οργανισμός σας κλείνει αυτόματα το Chrome όταν δεν χρησιμοποιείται για # λεπτά. Τα δεδομένα περιήγησης διαγράφονται. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις.}}</translation>
 <translation id="6418662306461808273">Εναλλαγή σε υπάρχον προφίλ Chrome;</translation>
 <translation id="648319183876919572">Η Βελτιωμένη Ασφαλής περιήγηση κάνει περισσότερα για την προστασία σας από επικίνδυνους ιστοτόπους και λήψεις</translation>
 <translation id="6493527311031785448">Το Google Chrome προσπαθεί να <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -337,6 +338,7 @@
 <translation id="7398801000654795464">Συνδεθήκατε στο Chrome ως <ph name="USER_EMAIL_ADDRESS" />. Χρησιμοποιήστε τον ίδιο λογαριασμό για να συνδεθείτε ξανά.</translation>
 <translation id="7410958280246779049">Το Chrome απέκλεισε αυτό το αρχείο γιατί είναι επικίνδυνο</translation>
 <translation id="7426611252293106642">Το Google Chrome ενδέχεται να μην λειτουργεί σωστά, επειδή δεν υποστηρίζεται πλέον σε αυτήν τη διανομή Linux.</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Ο οργανισμός σας κλείνει αυτόματα το Chrome όταν δεν χρησιμοποιείται για 1 λεπτό.}other{Ο οργανισμός σας κλείνει αυτόματα το Chrome όταν δεν χρησιμοποιείται για # λεπτά.}}</translation>
 <translation id="7481213027396403996">Λάβετε την ισχυρότερη ασφάλεια του Chrome</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119">Πρόγραμμα εγκατάστασης <ph name="COMPANY_NAME" /></translation>
@@ -371,6 +373,7 @@
 <translation id="8013993649590906847">Εάν μια εικόνα δεν έχει κάποια χρήσιμη περιγραφή, το Chrome θα προσπαθήσει να σας προσφέρει μια περιγραφή. Για τη δημιουργία περιγραφών, αποστέλλονται εικόνες στην Google.</translation>
 <translation id="8019103195866286235">Η δημοσίευση αυτής της επέκτασης καταργήθηκε από τον προγραμματιστή της και ενδέχεται να μην είναι ασφαλής. Καταργήστε την από το Chrome, ώστε να μην μπορεί πλέον να βλέπει και να αλλάζει τα δεδομένα σας σε ιστοτόπους που επισκέπτεστε, συμπεριλαμβανομένων των προσωπικών στοιχείων σας.</translation>
 <translation id="80471789339884597">Ευχαριστούμε για την εγκατάσταση. Πρέπει να επανεκκινήσετε όλα τα προγράμματα περιήγησής σας πριν από τη χρήση του <ph name="BUNDLE_NAME" />.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Ο οργανισμός σας διαγράφει αυτόματα τα δεδομένα περιήγησης όταν το Chrome δεν χρησιμοποιείται για 1 λεπτό. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις. Οι υπάρχουσες καρτέλες θα παραμείνουν ανοιχτές.}other{Ο οργανισμός σας διαγράφει αυτόματα τα δεδομένα περιήγησης όταν το Chrome δεν χρησιμοποιείται για # λεπτά. Σε αυτά περιλαμβάνονται το ιστορικό, η αυτόματη συμπλήρωση και οι λήψεις. Οι υπάρχουσες καρτέλες θα παραμείνουν ανοιχτές.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">Σχετικά με &amp;το Google Chrome</translation>
 <translation id="813913629614996137">Εκκίνηση…</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb
index 0ecceb5..67a1bd5 100644
--- a/chrome/app/resources/google_chrome_strings_fa.xtb
+++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -284,6 +284,7 @@
 <translation id="6327105987658262776">به‌روزرسانی دردسترس نیست.</translation>
 <translation id="6360449101159168105">‏وقتی این برگه غیرفعال بود، مقداری از حافظه آزاد شد تا سرعت Chrome حفظ شود. می‌توانید انتخاب کنید این سایت همیشه از غیرفعال شدن مستثنی شود.</translation>
 <translation id="6412673304250309937">‏نشانی‌های وب را با فهرست سایت‌های ناامنی که در Chrome ذخیره شده است مقایسه می‌کند. اگر سایتی تلاش کند گذرواژه شما را به‌سرقت ببرد، یا وقتی فایل مخربی بارگیری می‌کنید، Chrome ممکن است نشانی‌های وب را نیز به همراه بخش‌های کوچکی از محتوای صفحه، به «مرور ایمن» ارسال کند.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{‏اگر به‌مدت یک دقیقه از Chrome استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد. داده‌های مرور حذف می‌شود. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود.}one{‏اگر به‌مدت # دقیقه از Chrome استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد. داده‌های مرور حذف می‌شود. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود.}other{‏اگر به‌مدت # دقیقه از Chrome استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد. داده‌های مرور حذف می‌شود. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود.}}</translation>
 <translation id="6418662306461808273">‏به نمایه Chrome موجود می‌روید؟</translation>
 <translation id="648319183876919572">«مرور ایمن پیشرفته» کارهای بیشتری برای محافظت از شما درمقابل وب‌سایت‌ها و بارگیری‌های خطرناک انجام می‌دهد</translation>
 <translation id="6493527311031785448">‏Google Chrome در تلاش است <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -333,6 +334,7 @@
 <translation id="7398801000654795464">‏شما بعنوان <ph name="USER_EMAIL_ADDRESS" /> وارد سیستم Chrome شدید. لطفاً برای ورود به سیستم مجدد از همان حساب استفاده کنید.</translation>
 <translation id="7410958280246779049">‏Chrome این فایل را مسدود کرد زیرا خطرناک است</translation>
 <translation id="7426611252293106642">‏Google Chrome ممکن است درست کار نکند زیرا این توزیع Linux دیگر از آن پشتیبانی نمی‌کند.</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{‏اگر به‌مدت یک دقیقه از Chrome استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد.}one{‏اگر به‌مدت # دقیقه از Chrome استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد.}other{‏اگر به‌مدت # دقیقه از Chrome استفاده نشود، سازمانتان آن را به‌طور خودکار می‌بندد.}}</translation>
 <translation id="7481213027396403996">‏دریافت قوی‌ترین امنیت Chrome</translation>
 <translation id="7535429826459677826">‏Google Chrome نسخه Dev</translation>
 <translation id="7583399374488819119">نصب‌کننده <ph name="COMPANY_NAME" /></translation>
@@ -367,6 +369,7 @@
 <translation id="8013993649590906847">‏اگر تصویری توضیح مفیدی نداشته باشد، Chrome توضیحی برای شما ارائه خواهد کرد. برای ایجاد توضیحات، تصاویر به Google ارسال می‌شود.</translation>
 <translation id="8019103195866286235">‏این افزونه توسط توسعه‌دهنده آن لغو انتشار شده است و ممکن است ناامن باشد. آن را از Chrome حذف کنید تا دیگر نتواند داده‌های شما (ازجمله اطلاعات شخصی) را در سایت‌هایی که بازدید می‌کنید ببیند و تغییر دهد.</translation>
 <translation id="80471789339884597">بابت نصب از شما سپاس‌گزاریم. قبل‌از استفاده از <ph name="BUNDLE_NAME" />، باید همه مرورگرها را بازراه‌اندازی کنید.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{‏اگر به‌مدت یک دقیقه از Chrome استفاده نشود، سازمانتان داده‌های مرور را به‌طور خودکار حذف می‌کند. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود. برگه‌های موجود باز می‌ماند.}one{‏اگر به‌مدت # دقیقه از Chrome استفاده نشود، سازمانتان داده‌های مرور را به‌طور خودکار حذف می‌کند. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود. برگه‌های موجود باز می‌ماند.}other{‏اگر به‌مدت # دقیقه از Chrome استفاده نشود، سازمانتان داده‌های مرور را به‌طور خودکار حذف می‌کند. این داده‌ها می‌تواند شامل سابقه، تکمیل خودکار، و بارگیری‌ها شود. برگه‌های موجود باز می‌ماند.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">‏درباره &amp;Google Chrome</translation>
 <translation id="813913629614996137">درحال مقداردهی اولیه…</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gu.xtb b/chrome/app/resources/google_chrome_strings_gu.xtb
index d2140800..b15706b 100644
--- a/chrome/app/resources/google_chrome_strings_gu.xtb
+++ b/chrome/app/resources/google_chrome_strings_gu.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">કોઈ અપડેટ ઉપલબ્ધ નથી.</translation>
 <translation id="6360449101159168105">જ્યારે આ ટૅબ નિષ્ક્રિય હતું, ત્યારે Chromeને ઝડપી રાખવા માટે મેમરી ખાલી કરવામાં આવી હતી. તમે આ સાઇટને નિષ્ક્રિય રહેવામાંથી બાકાત રાખવાનું હંમેશા પસંદ કરી શકો છો.</translation>
 <translation id="6412673304250309937">URLsને Chromeમાં સ્ટોર કરેલી અસુરક્ષિત સાઇટની સૂચિ સાથે ચેક કરે છે. જો કોઈ સાઇટ તમારો પાસવર્ડ ચોરી કરવાનો પ્રયાસ કરે અથવા તમે કોઈ નુકસાનકારક ફાઇલ ડાઉનલોડ કરો, ત્યારે Chrome પેજ કન્ટેન્ટના બિટની સાથોસાથ URLs પણ Safe Browsingને મોકલી શકે છે.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{જ્યારે 1 મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે. બ્રાઉઝિંગ ડેટા ડિલીટ કરવામાં આવે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે.}one{જ્યારે # મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે. બ્રાઉઝિંગ ડેટા ડિલીટ કરવામાં આવે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે.}other{જ્યારે # મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે. બ્રાઉઝિંગ ડેટા ડિલીટ કરવામાં આવે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે.}}</translation>
 <translation id="6418662306461808273">વર્તમાન Chrome પ્રોફાઇલ પર સ્વિચ કરીએ?</translation>
 <translation id="648319183876919572">Safe Browsingમાં વધારેલી સુરક્ષા તમને જોખમી વેબસાઇટ અને ડાઉનલોડ સામે વધુ સુરક્ષા આપે છે</translation>
 <translation id="6493527311031785448">Google Chrome <ph name="AUTHENTICATION_PURPOSE" />નો પ્રયાસ કરી રહ્યું છે</translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">તમે Chromeમાં <ph name="USER_EMAIL_ADDRESS" /> તરીકે સાઇન ઇન કર્યું હતું. ફરીથી સાઇન ઇન કરવા માટે કૃપા કરીને એ જ એકાઉન્ટનો ઉપયોગ કરો.</translation>
 <translation id="7410958280246779049">આ ફાઇલ જોખમી હોવાથી Chrome દ્વારા તેને બ્લૉક કરવામાં આવી છે</translation>
 <translation id="7426611252293106642">આ Linux વિતરણ સિસ્ટમ પર Google Chrome હવે સપોર્ટ કરતું ન હોવાથી કદાચ તે યોગ્ય રીતે કાર્ય ન કરે</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{જ્યારે 1 મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે.}one{જ્યારે # મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે.}other{જ્યારે # મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા તેને ઑટોમૅટિક રીતે બંધ કરી નાખે છે.}}</translation>
 <translation id="7481213027396403996">Chromeની સૌથી વધુ મજબૂત સુરક્ષા મેળવો</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> ઇન્સ્ટૉલર</translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">જો છબીમાં ઉપયોગી વર્ણન ન હોય, તો Chrome તમને વર્ણન પૂરું પાડવાનો પ્રયાસ કરશે. વર્ણન બનાવવા માટે, Googleને છબીઓ મોકલવામાં આવે છે.</translation>
 <translation id="8019103195866286235">આ એક્સ્ટેન્શનને તેના ડેવલપર દ્વારા અનપબ્લિશ કરવામાં આવ્યું હતું અને તે અસુરક્ષિત હોઈ શકે છે. તેને Chromeમાંથી કાઢી નાખો જેથી હવેથી તે તમારી વ્યક્તિગત માહિતી સહિત તમે મુલાકાત લો તે સાઇટ પરનો તમારો ડેટા જોઈ કે બદલી શકે નહીં.</translation>
 <translation id="80471789339884597">ઇન્સ્ટૉલ કરવા બદલ આભાર. તમારે <ph name="BUNDLE_NAME" />નો ઉપયોગ કરતા પહેલાં તમારા બધા બ્રાઉઝર ફરી શરૂ કરવા આવશ્યક છે.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{જ્યારે 1 મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા બ્રાઉઝિંગ ડેટાને ઑટોમૅટિક રીતે ડિલીટ કરે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે. તમારી વર્તમાન ટૅબ ખુલી જ રહે છે.}one{જ્યારે # મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા બ્રાઉઝિંગ ડેટાને ઑટોમૅટિક રીતે ડિલીટ કરે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે. તમારી વર્તમાન ટૅબ ખુલી જ રહે છે.}other{જ્યારે # મિનિટ સુધી Chromeનો ઉપયોગ કરવામાં ન આવે, ત્યારે તમારી સંસ્થા બ્રાઉઝિંગ ડેટાને ઑટોમૅટિક રીતે ડિલીટ કરે છે. આમાં ઇતિહાસ, ઑટોમૅટિક રીતે ભરવાની સુવિધા અને ડાઉનલોડ કરેલું કન્ટેન્ટ શામેલ હોઈ શકે છે. તમારી વર્તમાન ટૅબ ખુલી જ રહે છે.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">&amp;Google Chrome વિશે</translation>
 <translation id="813913629614996137">પ્રારંભ કરી રહ્યું છે...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb
index 65b74dc4..89f2c4c 100644
--- a/chrome/app/resources/google_chrome_strings_hu.xtb
+++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -284,6 +284,7 @@
 <translation id="6327105987658262776">Nincs rendelkezésre álló frissítés.</translation>
 <translation id="6360449101159168105">Amíg ez a lap inaktív volt, a rendszer memóriát szabadított fel, hogy a Chrome gyors maradjon. Dönthet úgy, hogy mindig kizárja ezt a webhelyet az inaktív állapotból.</translation>
 <translation id="6412673304250309937">Ellenőrzi az URL-eket a Chrome-ban a nem biztonságos webhelyekről tárolt lista alapján. Ha egy webhely megpróbálja ellopni az Ön jelszavát, illetve ha Ön ártalmas fájlt tölt le, akkor a Chrome elküldheti az URL-eket is (az oldaltartalmak részleteivel együtt) a Biztonságos Böngészésnek.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Szervezete automatikusan bezárja a Chrome-ot, ha 1 percig nincs használatban. A böngészési adatok ekkor törlődnek. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések.}other{Szervezete automatikusan bezárja a Chrome-ot, ha # percig nincs használatban. A böngészési adatok ekkor törlődnek. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések.}}</translation>
 <translation id="6418662306461808273">Szeretne meglévő Chrome-profilra váltani?</translation>
 <translation id="648319183876919572">A Biztonságos Böngészés fokozott védelemmel funkció többet tesz a veszélyes webhelyekkel és letöltésekkel szembeni védekezésért</translation>
 <translation id="6493527311031785448">A Google Chrome megpróbálja a következőt: <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -333,6 +334,7 @@
 <translation id="7398801000654795464"><ph name="USER_EMAIL_ADDRESS" /> néven volt bejelentkezve a Chrome-ba. Kérjük, ugyanazzal a fiókkal jelentkezzen be újra.</translation>
 <translation id="7410958280246779049">A Chrome letiltotta ezt a fájlt, mert veszélyes</translation>
 <translation id="7426611252293106642">Előfordulhat, hogy a Chrome nem fog megfelelően működni, mert a továbbiakban már nem támogatja ezt a Linux-verziót.</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Szervezete automatikusan bezárja a Chrome-ot, ha 1 percig nincs használatban.}other{Szervezete automatikusan bezárja a Chrome-ot, ha # percig nincs használatban.}}</translation>
 <translation id="7481213027396403996">Állítsa be a Chrome legerősebb védelmét</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" />-telepítő</translation>
@@ -367,6 +369,7 @@
 <translation id="8013993649590906847">Ha valamelyik kép nem rendelkezik hasznos leírással, akkor a Chrome igyekszik leírást adni róla. A Google automatikusan megkapja a leírások létrehozásához szükséges képeket.</translation>
 <translation id="8019103195866286235">A bővítmény közzétételét visszavonta a fejlesztő, és előfordulhat, hogy nem biztonságos. Távolítsa el a Chrome-ból, így a továbbiakban már nem láthatja és módosíthatja az Ön felkeresett webhelyekkel kapcsolatos adatait, beleértve a személyes adatokat is.</translation>
 <translation id="80471789339884597">Köszönjük, hogy elvégezte a telepítést. A(z) <ph name="BUNDLE_NAME" /> használata előtt minden böngészőt újra kell indítania.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Szervezete automatikusan törli a böngészési adatokat, ha a Chrome 1 percig nincs használatban. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések. A megnyitott lapok nyitva maradnak.}other{Szervezete automatikusan törli a böngészési adatokat, ha a Chrome # percig nincs használatban. A böngészési adatok közé tartozhatnak az előzmények, az automatikus kitöltés adatai és a letöltések. A megnyitott lapok nyitva maradnak.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">A &amp;Google Chrome névjegye</translation>
 <translation id="813913629614996137">Indítás…</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ja.xtb b/chrome/app/resources/google_chrome_strings_ja.xtb
index 60b6ae9..3431a08 100644
--- a/chrome/app/resources/google_chrome_strings_ja.xtb
+++ b/chrome/app/resources/google_chrome_strings_ja.xtb
@@ -80,7 +80,9 @@
 <translation id="2359808026110333948">続行</translation>
 <translation id="2399868464369312507">Google Chrome がお支払い方法を編集しようとしています。</translation>
 <translation id="2401189691232800402">Chrome OS システム</translation>
+<translation id="2424440923901031101">この拡張機能は Chrome ウェブストアのポリシーに違反しており、安全でない可能性があります。アクセスしたサイトでユーザーデータ(個人情報を含む)が参照、変更されないように、Chrome からこの拡張機能を削除してください。</translation>
 <translation id="2467438592969358367">Google Chrome からパスワードをエクスポートするための許可を求められています。許可するには Windows のパスワードを入力してください。</translation>
+<translation id="2472092250898121027">この拡張機能にはマルウェアが含まれており、安全ではありません。アクセスしたサイトでユーザーデータ(個人情報を含む)が参照、変更されないように、Chrome からこの拡張機能を削除してください。</translation>
 <translation id="2485422356828889247">アンインストール</translation>
 <translation id="2534507159460261402">Google Pay(Chrome にコピー)</translation>
 <translation id="2556847002339236023"><ph name="TIMEOUT_DURATION" /> 使用しなかったため、Chrome は組織によって終了されます。閲覧データは削除されました。これには、履歴、自動入力、ダウンロードが含まれます。</translation>
@@ -279,6 +281,7 @@
 <translation id="6291549208091401781">Google Chrome は既にパソコンのすべてのユーザー対してインストールされています。</translation>
 <translation id="6326175484149238433">Chrome から削除</translation>
 <translation id="6327105987658262776">利用できるアップデートはありません。</translation>
+<translation id="6360449101159168105">Chrome を高速に保つため、このタブがアクティブでないときにメモリを解放しました。このサイトを常にアクティブにするよう選択できます。</translation>
 <translation id="6412673304250309937">Chrome に保存されている安全でないサイトのリストと URL を照合します。サイトがパスワードを不正に取得しようとしている場合や、ユーザーが安全でないファイルをダウンロードしようとした場合は、URL とページ コンテンツの一部をセーフ ブラウジングに送信することがあります。</translation>
 <translation id="6418662306461808273">既存の Chrome プロファイルに切り替えますか?</translation>
 <translation id="648319183876919572">セーフ ブラウジング保護強化機能では、危険なウェブサイトやダウンロードから高いセキュリティ強度で保護されます</translation>
@@ -361,6 +364,7 @@
 <translation id="8005666035647241369">このデバイスの Google パスワード マネージャーに移動</translation>
 <translation id="8008534537613507642">Chrome を再インストール</translation>
 <translation id="8013993649590906847">画像に有効な説明が設定されていない場合に、Chrome で説明を自動的に生成できるよう Google に画像が送信されます。</translation>
+<translation id="8019103195866286235">この拡張機能はデベロッパーが非公開にしており、安全でない可能性があります。アクセスしたサイトでユーザーデータ(個人情報を含む)が参照、変更されないように、Chrome からこの拡張機能を削除してください。</translation>
 <translation id="80471789339884597">インストールいただきありがとうございます。<ph name="BUNDLE_NAME" /> を使用するにはすべてのブラウザを再起動してください。</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">Google Chrome について(&amp;G)</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kn.xtb b/chrome/app/resources/google_chrome_strings_kn.xtb
index 715377ab..f71cafcd 100644
--- a/chrome/app/resources/google_chrome_strings_kn.xtb
+++ b/chrome/app/resources/google_chrome_strings_kn.xtb
@@ -285,6 +285,7 @@
 <translation id="6327105987658262776">ಯಾವುದೇ ಅಪ್‌ಡೇಟ್‌‌ ಲಭ್ಯವಿಲ್ಲ.</translation>
 <translation id="6360449101159168105">ಈ ಟ್ಯಾಬ್ ನಿಷ್ಕ್ರಿಯವಾಗಿದ್ದಾಗ, Chrome ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸಿದೆ. ಈ ಸೈಟ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯವಾಗಿರದಂತೆ ಎಲ್ಲಾ ಸಮಯದಲ್ಲೂ ಹೊರಗಿಡಲು ನೀವು ಆಯ್ಕೆ ಮಾಡಬಹುದು.</translation>
 <translation id="6412673304250309937">Chrome ನಲ್ಲಿ ಸಂಗ್ರಹಣೆ ಮಾಡಲಾಗಿರುವ ಅಸುರಕ್ಷಿತ ಸೈಟ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಬಳಸಿ, URL ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಯಾವುದಾದರೂ ಸೈಟ್, ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಕದಿಯಲು ಪ್ರಯತ್ನಿಸಿದರೆ ಅಥವಾ ನೀವು ಹಾನಿಕಾರಕ ಫೈಲ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದಾಗ, ಪುಟದ ಕಂಟೆಂಟ್‌ನ ತುಣುಕುಗಳನ್ನು ಒಳಗೊಂಡ URL ಗಳನ್ನು ಸಹ Chrome, ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್‌ಗೆ ಕಳುಹಿಸಬಹುದು.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Chrome ಅನ್ನು 1 ನಿಮಿಷದ ಕಾಲ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ. ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.}one{Chrome ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ. ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.}other{Chrome ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ. ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.}}</translation>
 <translation id="6418662306461808273">ಈಗಿರುವ Chrome ಪ್ರೊಫೈಲ್‌ಗೆ ಬದಲಿಸಬೇಕೆ?</translation>
 <translation id="648319183876919572">ಅಪಾಯಕಾರಿ ವೆಬ್‌ಸೈಟ್‌ಗಳು ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳ ವಿರುದ್ಧ ನಿಮ್ಮನ್ನು ರಕ್ಷಿಸಲು ವರ್ಧಿತ ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್ ಹೆಚ್ಚಿನ ಸಹಾಯ ಮಾಡುತ್ತದೆ</translation>
 <translation id="6493527311031785448">Google Chrome <ph name="AUTHENTICATION_PURPOSE" /> ಅನ್ನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ</translation>
@@ -334,6 +335,7 @@
 <translation id="7398801000654795464"><ph name="USER_EMAIL_ADDRESS" /> ನಂತೆ Chrome ಅನ್ನು ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರುವಿರಿ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಅದೇ ಖಾತೆಯನ್ನು ಬಳಸಿ.</translation>
 <translation id="7410958280246779049">Chrome ಈ ಫೈಲ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ ಏಕೆಂದರೆ ಇದು ಅಪಾಯಕಾರಿಯಾಗಿದೆ</translation>
 <translation id="7426611252293106642">ಈ Linux ವಿತರಣೆಯಲ್ಲಿ ಇನ್ನು ಮುಂದೆ Google Chrome ಬೆಂಬಲಿಸದಿರುವ ಕಾರಣ, ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Chrome ಅನ್ನು 1 ನಿಮಿಷದ ಕಾಲ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ.}one{Chrome ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ.}other{Chrome ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮುಚ್ಚುತ್ತದೆ.}}</translation>
 <translation id="7481213027396403996">Chrome ನ ಪ್ರಬಲ ಭದ್ರತೆಯನ್ನು ಪಡೆಯಿರಿ</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> ಇನ್‌ಸ್ಟಾಲರ್‌‌</translation>
@@ -368,6 +370,7 @@
 <translation id="8013993649590906847">ಚಿತ್ರದಲ್ಲಿ ಉಪಯುಕ್ತ ವಿವರಣೆಯು ಇಲ್ಲದಿದ್ದರೆ, Chrome ನಿಮಗಾಗಿ ಒಂದು ವಿವರಣೆಯನ್ನು ಒದಗಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ವಿವರಣೆಗಳನ್ನು ರಚಿಸಲು, ಚಿತ್ರಗಳನ್ನು Google ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="8019103195866286235">ಈ ವಿಸ್ತರಣೆಯನ್ನು ಅದರ ಡೆವಲಪರ್‌ನಿಂದ ಪ್ರಕಟಣೆಯನ್ನು ರದ್ದುಮಾಡಿದೆ ಮತ್ತು ಸುರಕ್ಷಿತ ಆಗಿಲ್ಲದಿರಬಹುದು. Chrome ನಿಂದ ವಿಸ್ತರಣೆಯನ್ನು ತೆಗೆದುಹಾಕಿ ಇದರಿಂದ ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಂತೆ ನೀವು ಭೇಟಿ ನೀಡುವ ಸೈಟ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಇನ್ನು ಮುಂದೆ ವೀಕ್ಷಿಸಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
 <translation id="80471789339884597">ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು. <ph name="BUNDLE_NAME" /> ಅನ್ನು ಬಳಸುವ ಮೊದಲು ನಿಮ್ಮ ಎಲ್ಲಾ ಬ್ರೌಸರ್ ಅನ್ನು ಮರು ಪ್ರಾರಂಭಿಸಬೇಕು.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Chrome ಅನ್ನು 1 ನಿಮಿಷದ ಕಾಲ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿರುತ್ತವೆ.}one{Chrome ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿರುತ್ತವೆ.}other{Chrome ಅನ್ನು # ನಿಮಿಷಗಳವರೆಗೆ ಬಳಸದಿದ್ದಾಗ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ರೌಸಿಂಗ್ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ. ಇದು ಇತಿಹಾಸ, ಆಟೋಫಿಲ್ ಮತ್ತು ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ಯಾಬ್‌ಗಳು ತೆರೆದಿರುತ್ತವೆ.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">&amp;Google Chrome ಕುರಿತು</translation>
 <translation id="813913629614996137">ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ky.xtb b/chrome/app/resources/google_chrome_strings_ky.xtb
index 0fca84b..7effa26 100644
--- a/chrome/app/resources/google_chrome_strings_ky.xtb
+++ b/chrome/app/resources/google_chrome_strings_ky.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">Жаңыртуулар жок.</translation>
 <translation id="6360449101159168105">Бул өтмөк жигерсиз болуп турганда, Chrome'дун тез бойдон кармоо үчүн эстутум бошотулган. Бул сайтты жигерсиз абалда болуудан ар дайым чыгара аласыз.</translation>
 <translation id="6412673304250309937">Chrome'догу кооптуу сайттардын тизмесиндеги URL даректерин текшерет. Эгер сайт сырсөзүңүздү уурдоого аракет кылса же кооптуу файлды жүктөп алсаңыз, Chrome URL даректерди, анын ичинде барактардагы мазмунду Коопсуз серептөөгө жөнөтүшү мүмкүн.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Chrome 1 мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат. Серептөө дайындары өчүрүлөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн.}other{Chrome # мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат. Серептөө дайындары өчүрүлөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн.}}</translation>
 <translation id="6418662306461808273">Учурдагы Chrome профилине которуласызбы?</translation>
 <translation id="648319183876919572">Өркүндөтүлгөн коопсуз серептөө кооптуу вебсайттардан жана жүктөлүп алынган файлдардан жакшыраак коргойт</translation>
 <translation id="6493527311031785448">Google Chrome <ph name="AUTHENTICATION_PURPOSE" /> аракет кылып жатат</translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">Chrome'го <ph name="USER_EMAIL_ADDRESS" /> катары кирдиңиз. Кайра кирүү үчүн ушул каттоо эсебин колдонуңуз.</translation>
 <translation id="7410958280246779049">Бул файл кооптуу болгондуктан, Chrome аны бөгөттөп койду</translation>
 <translation id="7426611252293106642">Google Chrome туура эмес иштеши мүмкүн, себеби Linux тутумунун бул версиясында колдоого алынбай калган</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Chrome 1 мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат.}other{Chrome # мүнөткө колдонулбаса, уюмуңуз аны автоматтык түрдө жабат.}}</translation>
 <translation id="7481213027396403996">Chrome'дун эң күчтүү коопсуздук системасын колдонуңуз</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> орноткучу</translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">Эгер сүрөттөрдүн түшүндүрмөсү жок болсо, Chrome аны түшүндүрүп берүүгө аракет кылат. Түшүндүрмөлөрдү даярдоо үчүн, сүрөттөр Google'га жөнөтүлөт.</translation>
 <translation id="8019103195866286235">Бул кеңейтүүнү иштеп чыгуучусу жарыялаган жок жана ал кооптуу болушу мүмкүн. Сиз кирген сайттардагы дайын-даректериңизди, анын ичинде жеке маалыматыңызды мындан ары көрүп жана өзгөртпөшү үчүн аны Chrome'дон алып салыңыз.</translation>
 <translation id="80471789339884597">Орнотуп алганыңыз үчүн рахмат. <ph name="BUNDLE_NAME" /> топтомун колдонуп баштоодон мурда бардык серепчилерди өчүрүп күйгүзүңүз.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Chrome 1 мүнөткө колдонулбаса, уюмуңуз серептөө дайындарын автоматтык түрдө өчүрөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн. Учурдагы өтмөктөрүңүз ачык бойдон калат.}other{Chrome # мүнөткө колдонулбаса, уюмуңуз серептөө дайындарын автоматтык түрдө өчүрөт. Бул таржымалды, автотолтурууну жана жүктөлүп алынгандарды камтышы мүмкүн. Учурдагы өтмөктөрүңүз ачык бойдон калат.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">&amp;Google Chrome жөнүндө</translation>
 <translation id="813913629614996137">Баштапкы маанини берүүдө...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lo.xtb b/chrome/app/resources/google_chrome_strings_lo.xtb
index 2d83116..e551d58 100644
--- a/chrome/app/resources/google_chrome_strings_lo.xtb
+++ b/chrome/app/resources/google_chrome_strings_lo.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">ບໍ່ມີອັບເດດເທື່ອ.</translation>
 <translation id="6360449101159168105">ໃນຂະນະທີ່ແຖບນີ້ບໍ່ມີການນຳໃຊ້, ລະບົບຈະເພີ່ມພື້ນທີ່ຫວ່າງໃນໜ່ວຍຄວາມຈຳເພື່ອໃຫ້ໃຊ້ Chrome ໄດ້ຢ່າງວ່ອງໄວຢູ່ຕະຫຼອດ. ທ່ານສາມາດເລືອກຍົກເວັ້ນໃຫ້ເວັບໄຊນີ້ເຮັດວຽກຕະຫຼອດເວລາໄດ້.</translation>
 <translation id="6412673304250309937">ກວດສອບ URL ກັບລາຍການເວັບໄຊທີ່ບໍ່ປອດໄພທີ່ເກັບໄວ້ໃນ Chrome. ຖ້າເວັບໄຊພະຍາຍາມລັກເອົາລະຫັດຜ່ານຂອງທ່ານ ຫຼື ເມື່ອທ່ານດາວໂຫຼດໄຟລ໌ອັນຕະລາຍ, Chrome ອາດຈະສົ່ງ URL, ຮວມທັງເນື້ອຫາບາງສ່ວນໃນໜ້າໄປໃຫ້ Safe Browsing.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{ອົງກອນຂອງທ່ານຈະປິດ Chrome ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ 1 ນາທີ. ລຶບຂໍ້ມູນການທ່ອງເວັບອອກແລ້ວ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ.}other{ອົງກອນຂອງທ່ານຈະປິດ Chrome ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ # ນາທີ. ລຶບຂໍ້ມູນການທ່ອງເວັບອອກແລ້ວ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ.}}</translation>
 <translation id="6418662306461808273">ສະຫຼັບໄປຫາໂປຣໄຟລ໌ Chrome ທີ່ມີຢູ່ກ່ອນແລ້ວບໍ?</translation>
 <translation id="648319183876919572">Safe Browsing ທີ່ປັບປຸງດີຂຶ້ນຊ່ວຍປົກປ້ອງທ່ານຈາກເວັບໄຊ ແລະ ການດາວໂຫຼດທີ່ອັນຕະລາຍ</translation>
 <translation id="6493527311031785448">Google Chrome ກຳລັງພະຍາຍາມ <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">ທ່ານ​ໄດ້ລົງຊື່ເຂົ້າ​ໃຊ້ Chrome ເປັນ <ph name="USER_EMAIL_ADDRESS" />. ກະ​ລຸ​ນາ​​ໃຊ້​ບັນ​ຊີ​ດຽວ​ກັນ​ ເພື່ອລົງຊື່ເຂົ້າ​ໃຊ້ອີກ.</translation>
 <translation id="7410958280246779049">Chrome ບລັອກໄຟລ໌ນີ້ເນື່ອງຈາກມັນເປັນອັນຕະລາຍ</translation>
 <translation id="7426611252293106642">Chromium ອາດເຮັດວຽກໄດ້ບໍ່ຖືກຕ້ອງເນື່ອງຈາກ Linux distribution ນີ້ບໍ່ຮອງຮັບມັນອີກຕໍ່ໄປແລ້ວ</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{ອົງກອນຂອງທ່ານຈະປິດ Chrome ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ 1 ນາທີ.}other{ອົງກອນຂອງທ່ານຈະປິດ Chrome ໂດຍອັດຕະໂນມັດເມື່ອບໍ່ມີການນຳໃຊ້ເປັນເວລາ # ນາທີ.}}</translation>
 <translation id="7481213027396403996">ໃຊ້ຄວາມປອດໄພຂັ້ນສູງສຸດຂອງ Chromium</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119">ຕົວຕິດຕັ້ງ <ph name="COMPANY_NAME" /></translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">ຖ້າຮູບບໍ່ມີລາຍລະອຽດທີ່ເປັນປະໂຫຍດ, Chrome ຈະພະຍາຍາມໃຫ້ລາຍລະອຽດແກ່ທ່ານ. ເພື່ອສ້າງລາຍລະອຽດ, ລະບົບຈະສົ່ງຮູບພາບໃຫ້ Google.</translation>
 <translation id="8019103195866286235">ນັກພັດທະນາຍົກເລີກການເຜີຍແຜ່ສ່ວນຂະຫຍາຍນີ້ແລ້ວ ແລະ ອາດບໍ່ປອດໄພ. ລຶບສ່ວນຂະຫຍາຍດັ່ງກ່າວອອກຈາກ Chrome ເພື່ອບໍ່ໃຫ້ເບິ່ງ ແລະ ປ່ຽນຂໍ້ມູນຂອງທ່ານຢູ່ເວັບໄຊທີ່ທ່ານເຂົ້າເບິ່ງ, ເຊິ່ງຮວມເຖິງຂໍ້ມູນສ່ວນຕົວຂອງທ່ານ.</translation>
 <translation id="80471789339884597">ຂໍຂອບໃຈສຳລັບການຕິດຕັ້ງ. ທ່ານຈະຕ້ອງຣີສະຕາດໂປຣແກຣມທ່ອງເວັບຂອງທ່ານທັງໝົດກ່ອນການໃຊ້ <ph name="BUNDLE_NAME" />.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{ອົງກອນຂອງທ່ານຈະລຶບຂໍ້ມູນການທ່ອງເວັບອອກໂດຍອັດຕະໂນມັດເມື່ອບໍ່ໄດ້ໃຊ້ Chrome ເປັນເວລາ 1 ນາທີ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ. ແຕ່ແຖບທີ່ມີຢູ່ຂອງທ່ານຈະຍັງເປີດຢູ່.}other{ອົງກອນຂອງທ່ານຈະລຶບຂໍ້ມູນການທ່ອງເວັບອອກໂດຍອັດຕະໂນມັດເມື່ອບໍ່ໄດ້ໃຊ້ Chrome ເປັນເວລາ # ນາທີ. ເຊິ່ງຮວມເຖິງປະຫວັດ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ ແລະ ການດາວໂຫຼດ. ແຕ່ແຖບທີ່ມີຢູ່ຂອງທ່ານຈະຍັງເປີດຢູ່.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">ກ່ຽວກັບ Google Chrome</translation>
 <translation id="813913629614996137">ກຳລັງລິເລີ່ມ...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb
index ada7053..ea3aae9 100644
--- a/chrome/app/resources/google_chrome_strings_ml.xtb
+++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">അപ്ഡേറ്റ് ലഭ്യമല്ല.</translation>
 <translation id="6360449101159168105">ഈ ടാബ് നിഷ്ക്രിയമായിരുന്നപ്പോൾ, Chrome വേഗത്തിൽ നിലനിർത്താൻ മെമ്മറിയിൽ ഇടമുണ്ടാക്കി. ഈ സൈറ്റ് എല്ലായ്‌പ്പോഴും നിഷ്‌ക്രിയമായിരിക്കുന്നതിൽ നിന്ന് ഒഴിവാക്കാൻ നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാം.</translation>
 <translation id="6412673304250309937">Chrome-ൽ സംഭരിച്ചിരിക്കുന്ന സുരക്ഷിതമല്ലാത്ത സൈറ്റുകളുടെ ലിസ്റ്റ് ഉപയോഗിച്ച് URL-കൾ പരിശോധിക്കുന്നു. ഒരു സൈറ്റ് നിങ്ങളുടെ പാസ്‌വേഡ് മോഷ്‌ടിക്കാൻ ശ്രമിക്കുമ്പോഴോ നിങ്ങൾ ഒരു ദോഷകരമായ ഫയൽ ഡൗൺലോഡ് ചെയ്യുമ്പോഴോ, പേജ് ഉള്ളടക്കത്തിന്റെ ബിറ്റുകൾ ഉൾപ്പെടെയുള്ള URL-കളും Chrome സുരക്ഷിത ബ്രൗസിംഗിലേക്ക് അയച്ചേക്കാം.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{ഒരു മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chrome അടയ്‌ക്കും. ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കുകയും ചെയ്യും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും.}other{# മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chrome അടയ്‌ക്കും. ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കുകയും ചെയ്യും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും.}}</translation>
 <translation id="6418662306461808273">നിലവിലുള്ള Chrome പ്രൊഫൈലിലേക്ക് മാറണോ?</translation>
 <translation id="648319183876919572">അപകടകരമായ വെബ്‌സൈറ്റുകളിൽ നിന്നും ഡൗൺലോഡുകളിൽ നിന്നും നിങ്ങളെ പരിരക്ഷിക്കാൻ മെച്ചപ്പെടുത്തിയ സുരക്ഷിത ബ്രൗസിംഗ് കൂടുതൽ കാര്യങ്ങൾ ചെയ്യുന്നു</translation>
 <translation id="6493527311031785448">Google Chrome <ph name="AUTHENTICATION_PURPOSE" /> എന്നതിനുവേണ്ടി ശ്രമിക്കുകയാണ്</translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">നിങ്ങൾ Chrome-ൽ <ph name="USER_EMAIL_ADDRESS" /> എന്നായി സൈൻ ഇൻ ചെയ്‌തു. വീണ്ടും സൈൻ ഇൻ ചെയ്യുന്നതിന് സമാന അക്കൗണ്ട് ഉപയോഗിക്കുക.</translation>
 <translation id="7410958280246779049">ഈ ഫയൽ അപകടകരമായതിനാൽ Chrome അത് ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു</translation>
 <translation id="7426611252293106642">ഈ Linux വിതരണത്തിൽ ഇനി പിന്തുണയില്ലാത്തതിനാൽ Google Chrome ശരിയായി പ്രവർത്തിച്ചേക്കില്ല</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{ഒരു മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chrome അടയ്‌ക്കും.}other{# മിനിറ്റ് ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ Chrome അടയ്‌ക്കും.}}</translation>
 <translation id="7481213027396403996">Chrome-ന്റെ ഏറ്റവും ശക്‌തമായ സുരക്ഷ നേടുക</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> ഇൻസ്റ്റാളർ</translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">ചിത്രത്തിൽ ഉപകാരപ്രദമായ വിവരണമില്ലെങ്കിൽ നിങ്ങൾക്കായി ഒരു വിവരണം നൽകാൻ Chrome ശ്രമിക്കും. വിവരണങ്ങൾ സൃഷ്‌ടിക്കാൻ, ചിത്രങ്ങൾ Google-ലേക്ക് അയയ്ക്കുന്നു.</translation>
 <translation id="8019103195866286235">ഈ വിപുലീകരണം അതിന്റെ ഡെവലപ്പർ പ്രസിദ്ധീകരിച്ചത് റദ്ദാക്കി, ഇത് സുരക്ഷിതമല്ലായിരിക്കാം. Chrome-ൽ നിന്ന് ഇത് നീക്കം ചെയ്യുന്നതിലൂടെ, നിങ്ങളുടെ വ്യക്തിപരമായ വിവരങ്ങൾ ഉൾപ്പെടെ നിങ്ങൾ സന്ദർശിക്കുന്ന സൈറ്റുകളിലെ ഡാറ്റ അതിന് ഇനി കാണാനും മാറ്റാനുമാകില്ല.</translation>
 <translation id="80471789339884597">ഇൻസ്റ്റാൾ ചെയ്തതിന് നന്ദി. <ph name="BUNDLE_NAME" /> ഉപയോഗിക്കും മുമ്പ് നിങ്ങളുടെ എല്ലാ ബ്രൗസറുകളും റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{ഒരു മിനിറ്റ് Chrome ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും. നിലവിൽ തുറന്നിരിക്കുന്ന ടാബുകൾ അങ്ങനെ തന്നെ തുടരും.}other{# മിനിറ്റ് Chrome ഉപയോഗിക്കാതിരുന്നാൽ നിങ്ങളുടെ സ്ഥാപനം സ്വയമേവ ബ്രൗസിംഗ് ഡാറ്റ ഇല്ലാതാക്കും. ഇതിൽ ബ്രൗസിംഗ് ചരിത്രവും സ്വയമേവ പൂരിപ്പിക്കൽ വിവരങ്ങളും ഡൗൺലോഡുകളും ഉൾപ്പെടും. നിലവിൽ തുറന്നിരിക്കുന്ന ടാബുകൾ അങ്ങനെ തന്നെ തുടരും.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">&amp;Google Chrome-നെക്കുറിച്ച്</translation>
 <translation id="813913629614996137">ആരംഭിക്കുന്നു...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_my.xtb b/chrome/app/resources/google_chrome_strings_my.xtb
index 36d6df48..86de4be 100644
--- a/chrome/app/resources/google_chrome_strings_my.xtb
+++ b/chrome/app/resources/google_chrome_strings_my.xtb
@@ -292,6 +292,7 @@
 <translation id="6327105987658262776">အပ်ဒိတ် မရှိပါ။</translation>
 <translation id="6360449101159168105">Chrome မြန်ဆန်စေရန်အတွက် ဤတဘ် အသုံးမပြုစဉ် မှတ်ဉာဏ်ကို နေရာလွတ်ပြုလုပ်ထားသည်။ ဤဝဘ်ဆိုက်ကို အသုံးမပြုသည့်စာရင်းမှ အမြဲဖယ်ထုတ်ထားရန် ရွေးနိုင်သည်။</translation>
 <translation id="6412673304250309937">Chrome တွင် သိမ်းဆည်းထားသော လုံခြုံမှုမရှိသည့် ဝဘ်ဆိုက်များ၏ URL များကို စစ်ဆေးပေးသည်။ ဝဘ်ဆိုက်တစ်ခုက သင့်စကားဝှက်ကို ခိုးယူရန် ကြိုးပမ်းလာပါက သို့မဟုတ် အန္တရာယ်ရှိသည့်ဖိုင်တစ်ခုကို သင်ဒေါင်းလုဒ်လုပ်သည့်အခါ Chrome သည် Safe Browsing သို့ URL များအပြင် ဝဘ်ဆိုက်ပါ အကြောင်းအရာအချို့ကို ပို့နိုင်သည်။</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Chrome ကို ၁ မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။ ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို ဖျက်လိုက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။}other{Chrome ကို # မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။ ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို ဖျက်လိုက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။}}</translation>
 <translation id="6418662306461808273">လက်ရှိ Chrome ပရိုဖိုင်သို့ ပြောင်းမလား။</translation>
 <translation id="648319183876919572">အန္တရာယ်ဝဘ်ဆိုက်နှင့် ဒေါင်းလုဒ်များရန်မှ ကာကွယ်ရန် ‘အရည်အသွေးမြှင့် ဘေးကင်းလုံခြုံသည့် အသုံးပြုမှု’ က ပိုမိုလုပ်ဆောင်ပေးနိုင်သည်</translation>
 <translation id="6493527311031785448">Google Chrome လုပ်ဆောင်နေသည်မှာ <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -341,6 +342,7 @@
 <translation id="7398801000654795464">Chrome သို့ <ph name="USER_EMAIL_ADDRESS" /> အဖြစ်သင် ဝင်ရောက်ခဲ့သည်။ ကျေးဇူးပြု၍ တူညီသည့်အကောင့်ကို အသုံးပြုကာ ထပ်မံဝင်ရောက်ပါ။</translation>
 <translation id="7410958280246779049">ဤဖိုင်သည်အန္တရာယ်ရှိသဖြင့် Chrome က ပိတ်ထားသည်</translation>
 <translation id="7426611252293106642">Linux ဖြန့်ချိမှုတွင် Google Chrome ကို မပံ့ပိုးတော့သောကြောင့် မှန်ကန်စွာ အလုပ်လုပ်နိုင်မည်မဟုတ်ပါ</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Chrome ကို ၁ မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။}other{Chrome ကို # မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ၎င်းကို အလိုအလျောက်ပိတ်သည်။}}</translation>
 <translation id="7481213027396403996">Chrome ၏ အခိုင်မာဆုံးလုံခြုံရေးကို ရယူခြင်း</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> ထည့်သွင်းသည့်ဖိုင်</translation>
@@ -375,6 +377,7 @@
 <translation id="8013993649590906847">ပုံတွင် အသုံးဝင်သော အကြောင်းအရာ မပါလျှင် Chrome က သင့်အတွက် ဖော်ပြပေးပါမည်။ အကြောင်းအရာများ ဖော်ပြပေးရန် ပုံများကို Google သို့ပို့လိုက်ပါသည်။</translation>
 <translation id="8019103195866286235">ဤနောက်ဆက်တွဲကို ၎င်း၏ ဆော့ဖ်ဝဲရေးသူက ထုတ်ဝေမထားပါ။ ၎င်းသည် လုံခြုံမှု မရှိနိုင်ပါ။ ၎င်းကို Chrome မှ ဖယ်ရှားခြင်းဖြင့် သင့်ကိုယ်ရေးအချက်အလက်များအပါအဝင် သင်ဝင်ကြည့်သည့် ဝဘ်ဆိုက်များရှိ သင့်ဒေတာများကို ၎င်းက မြင်နိုင်၊ ပြောင်းနိုင်တော့မည်မဟုတ်ပါ။</translation>
 <translation id="80471789339884597">ထည့်သွင်းသည့်အတွက် ကျေးဇူးတင်ပါသည်။ <ph name="BUNDLE_NAME" /> အသုံးမပြုမီ သင့်ဘရောင်ဇာအားလုံးကို ပြန်စရမည်။</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Chromium ကို ၁ မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို အလိုအလျောက်ဖျက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။ ဖွင့်ထားသည့်တဘ်များ ဆက်လက်ပွင့်နေပါမည်။}other{Chrome ကို # မိနစ်ကြာ မသုံးဘဲထားသောအခါ သင့်အဖွဲ့အစည်းသည် ဖွင့်ကြည့်ထားသည့်မှတ်တမ်းဒေတာကို အလိုအလျောက်ဖျက်သည်။ ၎င်းတွင် မှတ်တမ်း၊ အော်တိုဖြည့်နှင့် ဒေါင်းလုဒ်များ ပါဝင်နိုင်သည်။ ဖွင့်ထားသည့်တဘ်များ ဆက်လက်ပွင့်နေပါမည်။}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">Google Chrome &amp;အကြောင်း</translation>
 <translation id="813913629614996137">စတင်နေသည်…</translation>
diff --git a/chrome/app/resources/google_chrome_strings_nl.xtb b/chrome/app/resources/google_chrome_strings_nl.xtb
index b865eea4..c9f0fab 100644
--- a/chrome/app/resources/google_chrome_strings_nl.xtb
+++ b/chrome/app/resources/google_chrome_strings_nl.xtb
@@ -289,6 +289,7 @@
 <translation id="6327105987658262776">Er is geen update beschikbaar.</translation>
 <translation id="6360449101159168105">Terwijl dit tabblad inactief was, is er geheugen vrijgemaakt om Chrome snel te houden. Je kunt ervoor kiezen deze site altijd uit te sluiten van inactiviteit.</translation>
 <translation id="6412673304250309937">Controleert URL's aan de hand van een lijst met onveilige sites die is opgeslagen in Chrome. Als een site je wachtwoord probeert te stelen of als je een schadelijk bestand downloadt, kan Chrome ook URL's, inclusief delen van de paginacontent, naar Safe Browsing sturen.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Je organisatie sluit Chrome automatisch als deze 1 minuut niet wordt gebruikt. Browsegegevens worden verwijderd. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn.}other{Je organisatie sluit Chrome automatisch als deze # minuten niet wordt gebruikt. Browsegegevens worden verwijderd. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn.}}</translation>
 <translation id="6418662306461808273">Overschakelen naar bestaand Chrome-profiel?</translation>
 <translation id="648319183876919572">De uitgebreide versie van Safe Browsing doet meer om je te beschermen tegen gevaarlijke websites en downloads</translation>
 <translation id="6493527311031785448">Google Chrome probeert het volgende te doen: <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -338,6 +339,7 @@
 <translation id="7398801000654795464">Je bent ingelogd bij Chrome als <ph name="USER_EMAIL_ADDRESS" />. Gebruik hetzelfde account om opnieuw in te loggen.</translation>
 <translation id="7410958280246779049">Chrome heeft dit bestand geblokkeerd omdat het gevaarlijk is</translation>
 <translation id="7426611252293106642">Google Chrome werkt misschien niet goed omdat dit niet meer wordt ondersteund in deze Linux-distributie</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Je organisatie sluit Chrome automatisch als deze 1 minuut niet wordt gebruikt.}other{Je organisatie sluit Chrome automatisch als deze # minuten niet wordt gebruikt.}}</translation>
 <translation id="7481213027396403996">Gebruik het hoogste beveiligingsniveau van Chrome</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" />-installatieprogramma</translation>
@@ -372,6 +374,7 @@
 <translation id="8013993649590906847">Als een afbeelding geen nuttige beschrijving bevat, probeert Chrome je er een te geven. Afbeeldingen worden naar Google verzonden om beschrijvingen te maken.</translation>
 <translation id="8019103195866286235">De publicatie van deze extensie is ongedaan gemaakt door de ontwikkelaar en deze is mogelijk onveilig. Verwijder de extensie van Chrome zodat deze je gegevens (waaronder je persoonlijke informatie) niet meer kan bekijken en wijzigen op sites die je bezoekt.</translation>
 <translation id="80471789339884597">Bedankt voor het installeren. Je moet alle browsers opnieuw opstarten voordat je <ph name="BUNDLE_NAME" /> kunt gebruiken.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Je organisatie verwijdert browsegegevens automatisch als Chrome 1 minuut niet wordt gebruikt. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn. Je bestaande tabbladen blijven geopend.}other{Je organisatie verwijdert browsegegevens automatisch als Chrome # minuten niet wordt gebruikt. Dit kunnen onder andere de geschiedenis, gegevens voor automatisch invullen en downloads zijn. Je bestaande tabbladen blijven geopend.}}</translation>
 <translation id="8064015586118426197">Chrome OS Flex</translation>
 <translation id="8129812357326543296">Over &amp;Google Chrome</translation>
 <translation id="813913629614996137">Starten...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb
index 9a5829e..b317a976 100644
--- a/chrome/app/resources/google_chrome_strings_ro.xtb
+++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -283,6 +283,7 @@
 <translation id="6327105987658262776">Nu este disponibilă nicio actualizare.</translation>
 <translation id="6360449101159168105">Cât timp fila a fost inactivă, memoria a fost eliberată pentru a menține viteza ridicată a browserului Chrome. Poți alege ca acest site să nu fie mereu inactiv.</translation>
 <translation id="6412673304250309937">Verifică adresele URL folosind o listă de site-uri nesigure, stocată în Chrome. Dacă un site încearcă să îți fure parola sau descarci un fișier dăunător, Chrome poate să trimită adresele URL, inclusiv fragmente din conținutul paginilor, către funcția Navigare sigură.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Organizația ta închide automat Chrome dacă nu este folosit timp de un minut. Datele de navigare sunt șterse. Aici pot fi incluse istoricul, completările automate și descărcările.}few{Organizația ta închide automat Chrome dacă nu este folosit timp de # minute. Datele de navigare sunt șterse. Aici pot fi incluse istoricul, completările automate și descărcările.}other{Organizația ta închide automat Chrome dacă nu este folosit timp de # de minute. Datele de navigare sunt șterse. Aici pot fi incluse istoricul, completările automate și descărcările.}}</translation>
 <translation id="6418662306461808273">Schimbi la profilul Chrome existent?</translation>
 <translation id="648319183876919572">Navigarea sigură îmbunătățită face mai multe pentru a te proteja împotriva site-urilor și a descărcărilor periculoase</translation>
 <translation id="6493527311031785448">Google Chrome încearcă să <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -332,6 +333,7 @@
 <translation id="7398801000654795464">Ați fost conectat(ă) la Chrome ca <ph name="USER_EMAIL_ADDRESS" />. Utilizați același cont pentru a vă conecta din nou.</translation>
 <translation id="7410958280246779049">Chrome a blocat fișierul deoarece este periculos</translation>
 <translation id="7426611252293106642">Este posibil ca Google Chrome să nu funcționeze corespunzător, deoarece nu mai este acceptat pe această versiune Linux</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Organizația ta închide automat Chrome dacă nu este folosit timp de un minut.}few{Organizația ta închide automat Chrome dacă nu este folosit timp de # minute.}other{Organizația ta închide automat Chrome dacă nu este folosit timp de # de minute.}}</translation>
 <translation id="7481213027396403996">Beneficiază de cel mai înalt nivel de securitate de la Chrome</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119">Program de instalare <ph name="COMPANY_NAME" /></translation>
@@ -366,6 +368,7 @@
 <translation id="8013993649590906847">Dacă o imagine nu are o descriere utilă, Chrome va încerca să o completeze. Pentru a crea descrieri, imaginile sunt trimise la Google.</translation>
 <translation id="8019103195866286235">Dezvoltatorul a anulat publicarea acestei extensii și ar putea fi nesigură. Elimin-o din Chromium ca să nu mai poată vedea și modifica datele tale de pe site-urile pe care le accesezi, inclusiv informațiile cu caracter personal.</translation>
 <translation id="80471789339884597">Mulțumim pentru instalare. Înainte să folosești <ph name="BUNDLE_NAME" /> trebuie să repornești toate browserele.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Organizația ta șterge automat datele de navigare când Chrome nu este folosit timp de un minut. Aici pot fi incluse istoricul, completările automate și descărcările. Filele existente vor rămâne deschise.}few{Organizația ta șterge automat datele de navigare când Chrome nu este folosit timp de # minute. Aici pot fi incluse istoricul, completările automate și descărcările. Filele existente vor rămâne deschise.}other{Organizația ta șterge automat datele de navigare când Chrome nu este folosit timp de # de minute. Aici pot fi incluse istoricul, completările automate și descărcările. Filele existente vor rămâne deschise.}}</translation>
 <translation id="8064015586118426197">Sistemul de operare Chrome Flex</translation>
 <translation id="8129812357326543296">Despre &amp;Google Chrome</translation>
 <translation id="813913629614996137">Se inițializează...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ur.xtb b/chrome/app/resources/google_chrome_strings_ur.xtb
index 126d6871..940d61f1 100644
--- a/chrome/app/resources/google_chrome_strings_ur.xtb
+++ b/chrome/app/resources/google_chrome_strings_ur.xtb
@@ -291,6 +291,7 @@
 <translation id="6327105987658262776">کوئی اپ ڈیٹ دستیاب نہیں ہے۔</translation>
 <translation id="6360449101159168105">‏جب یہ ٹیب غیر فعال تھا تو Chrome کو تیز رکھنے کے لیے میموری خالی کر دی گئی تھی۔ آپ اس سائٹ کو ہمیشہ غیر فعال ہونے سے خارج کرنے کا انتخاب کر سکتے ہیں۔</translation>
 <translation id="6412673304250309937">‏Chrome میں اسٹور کردہ غیر محفوظ سائٹس کی فہرست کے URLs چیک کرتا ہے۔ اگر کوئی سائٹ آپ کا پاس ورڈ چرانے کی کوشش کرتی ہے یا جب آپ نقصان دہ فائل ڈاؤن لوڈ کرتے ہیں تو Chrome محفوظ براؤزنگ پر صفحہ کے مواد کے بائٹس سمیت URLs بھیجتا ہے۔</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{‏1 منٹ تک Chrome کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر Chrome کو بند کر دیتی ہے۔ براؤزنگ ڈیٹا کو حذف کر دیا جاتا ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔}other{‏# منٹ تک Chrome کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر اسے بند کر دیتی ہے۔ براؤزنگ ڈیٹا کو حذف کر دیا جاتا ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔}}</translation>
 <translation id="6418662306461808273">‏موجودہ Chrome پروفائل پر سوئچ کریں؟</translation>
 <translation id="648319183876919572">بہتر کردہ محفوظ براؤزنگ آپ کو خطرناک ویب سائٹس اور ڈاؤن لوڈز سے بچانے کے لیے بہت کچھ کرتی ہے</translation>
 <translation id="6493527311031785448">‏Google Chrome <ph name="AUTHENTICATION_PURPOSE" /> کی کوشش کر رہا ہے</translation>
@@ -340,6 +341,7 @@
 <translation id="7398801000654795464">‏آپ Chrome میں بطور <ph name="USER_EMAIL_ADDRESS" /> سائن ان تھے۔ براہ کرم دوبارہ سائن ان کرنے کیلئے وہی اکاؤنٹ استعمال کریں۔</translation>
 <translation id="7410958280246779049">‏Chrome نے اس فائل کو مسدود کر دیا کیونکہ یہ خطرناک ہے</translation>
 <translation id="7426611252293106642">‏ممکن ہے کہ Google Chrome ٹھیک طریقے سے کام نہ کرے کیونکہ یہ اس Linux ڈسٹری بیوشن پر مزید تعاون یافتہ نہیں ہے</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{‏1 منٹ تک Chrome کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر Chrome کو بند کر دیتی ہے۔}other{‏# منٹ تک Chrome کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر اسے بند کر دیتی ہے۔}}</translation>
 <translation id="7481213027396403996">‏Chrome کی مضبوط ترین سیکیورٹی حاصل کریں</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> انسٹالر</translation>
@@ -374,6 +376,7 @@
 <translation id="8013993649590906847">‏اگر کسی تصویر میں مفید تفصیل موجود نہیں ہے تو Chrome آپ کے لیے تفصیل فراہم کرنے کی کوشش کرے گا۔ تفصیلات تخلیق کرنے کے لیے، تصاویر Google کو بھیجی جاتی ہیں۔</translation>
 <translation id="8019103195866286235">‏اس ایکسٹینشن کی اشاعت اس کے ڈویلپر نے ختم کی تھی اور یہ غیر محفوظ ہو سکتا ہے۔ اسے Chrome سے ہٹا دیں تاکہ یہ آپ کی ذاتی معلومات سمیت آپ کی ملاحظہ کردہ سائٹس پر آپ کا ڈیٹا مزید دیکھ اور تبدیل نہ کر سکے۔</translation>
 <translation id="80471789339884597">انسٹال کرنے کا شکریہ۔ آپ کو <ph name="BUNDLE_NAME" /> استعمال کرنے سے پہلے اپنے تمام براؤزرز لازمی طور سے ری اسٹارٹ کرنا چاہیے۔</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{‏1 منٹ تک Chrome کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر براؤزنگ ڈیٹا کو حذف کر دیتی ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔ آپ کے موجودہ ٹیبز کھلے رہیں گے۔}other{‏# منٹ تک Chrome کا استعمال نہ ہونے پر آپ کی تنظیم خودکار طور پر براؤزنگ ڈیٹا کو حذف کر دیتی ہے۔ اس میں سرگزشت، آٹو فل اور ڈاؤن لوڈز شامل ہو سکتے ہیں۔ آپ کے موجودہ ٹیبز کھلے رہیں گے۔}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">‏‎&amp;Google Chrome کے بارے میں</translation>
 <translation id="813913629614996137">آغاز کیا جا رہا ہے…</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb
index b9693fc2..5089f5f 100644
--- a/chrome/app/resources/google_chrome_strings_vi.xtb
+++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -288,6 +288,7 @@
 <translation id="6327105987658262776">Hiện không có bản cập nhật nào.</translation>
 <translation id="6360449101159168105">Mặc dù thẻ này không hoạt động nhưng bộ nhớ đã được giải phóng để giúp Chrome luôn hoạt động nhanh. Bạn có thể chọn luôn loại trừ trang web này khỏi trạng thái không hoạt động.</translation>
 <translation id="6412673304250309937">Kiểm tra đối chiếu các URL với danh sách trang web không an toàn được lưu trữ trong Chrome. Nếu một trang web cố ăn cắp mật khẩu của bạn hoặc nếu bạn tải một tệp gây hại xuống, Chrome cũng có thể gửi các URL, bao gồm cả các đoạn nội dung trên trang, đến tính năng Duyệt web an toàn.</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{Tổ chức sẽ tự động đóng Chrome sau 1 phút bạn không dùng đến. Dữ liệu duyệt web sẽ bị xoá. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống.}other{Tổ chức sẽ tự động đóng Chrome sau # phút bạn không dùng đến. Dữ liệu duyệt web sẽ bị xoá. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống.}}</translation>
 <translation id="6418662306461808273">Chuyển sang hồ sơ hiện có trên Chrome?</translation>
 <translation id="648319183876919572">Tính năng Duyệt web an toàn có tăng cường bảo vệ hoạt động hiệu quả hơn để bảo vệ bạn khỏi các tệp đã tải xuống và trang web nguy hiểm</translation>
 <translation id="6493527311031785448">Google Chrome đang cố gắng <ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -337,6 +338,7 @@
 <translation id="7398801000654795464">Bạn đã đăng nhập vào Chrome là <ph name="USER_EMAIL_ADDRESS" />. Vui lòng sử dụng cùng tài khoản để đăng nhập lại.</translation>
 <translation id="7410958280246779049">Chrome đã chặn tệp này vì nó nguy hiểm</translation>
 <translation id="7426611252293106642">Google Chrome có thể không hoạt động đúng cách do không còn được hỗ trợ trên bản phân phối Linux này</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{Tổ chức sẽ tự động đóng Chrome sau 1 phút bạn không dùng đến.}other{Tổ chức sẽ tự động đóng Chrome sau # phút bạn không dùng đến.}}</translation>
 <translation id="7481213027396403996">Có được chế độ bảo mật mạnh nhất của Chrome</translation>
 <translation id="7535429826459677826">Google Chrome Dev</translation>
 <translation id="7583399374488819119">Trình cài đặt <ph name="COMPANY_NAME" /></translation>
@@ -371,6 +373,7 @@
 <translation id="8013993649590906847">Chrome sẽ cố gắng mô tả cho bạn những hình ảnh không có nội dung mô tả hữu ích. Để tạo nội dung mô tả, các hình ảnh sẽ được gửi đến Google.</translation>
 <translation id="8019103195866286235">Tiện ích này đã bị nhà phát triển huỷ phát hành và có thể không an toàn. Hãy xoá khỏi Chrome để tiện ích này không thể xem và thay đổi dữ liệu của bạn (bao gồm cả thông tin cá nhân) trên các trang web bạn truy cập nữa.</translation>
 <translation id="80471789339884597">Cảm ơn bạn đã cài đặt. Bạn phải khởi động lại tất cả trình duyệt trước khi sử dụng <ph name="BUNDLE_NAME" />.</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{Tổ chức sẽ tự động xoá dữ liệu duyệt web sau 1 phút bạn không dùng đến Chrome. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống. Các thẻ hiện tại sẽ vẫn mở.}other{Tổ chức sẽ tự động xoá dữ liệu duyệt web sau # phút bạn không dùng đến Chrome. Dữ liệu này có thể bao gồm nhật ký, nội dung tự động điền và tệp đã tải xuống. Các thẻ hiện tại sẽ vẫn mở.}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">Giới thiệu về &amp;Google Chrome</translation>
 <translation id="813913629614996137">Đang khởi chạy...</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
index 3d2ac159..ea99867 100644
--- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -283,6 +283,7 @@
 <translation id="6327105987658262776">没有可用的更新。</translation>
 <translation id="6360449101159168105">当此标签页处于闲置状态时,系统会释放一些内存,以让 Chrome 保持快速运行。您可以选择始终不让此网站处于闲置状态。</translation>
 <translation id="6412673304250309937">将网址与存储在 Chrome 中的不安全网站列表进行比对。如果某个网站企图窃取您的密码,或者您下载了有害的文件,Chrome 可能还会将相应网址连同少量网页内容发送给“安全浏览”功能。</translation>
+<translation id="6417690341895039567">{COUNT,plural, =1{贵组织会在 Chrome 闲置 1 分钟后自动关闭它。浏览数据会被删除。这些数据可能包括历史记录、自动填充数据和下载内容。}other{贵组织会在 Chrome 闲置 # 分钟后自动关闭它。浏览数据会被删除。这些数据可能包括历史记录、自动填充数据和下载内容。}}</translation>
 <translation id="6418662306461808273">切换到现有的 Chrome 个人资料?</translation>
 <translation id="648319183876919572">“增强型安全浏览”功能有助于保护您免受危险的网站及下载内容的侵害</translation>
 <translation id="6493527311031785448">Google Chrome 正在尝试<ph name="AUTHENTICATION_PURPOSE" /></translation>
@@ -332,6 +333,7 @@
 <translation id="7398801000654795464">您之前登录 Chrome 时使用的帐号为 <ph name="USER_EMAIL_ADDRESS" />,请使用同一帐号再次登录。</translation>
 <translation id="7410958280246779049">此文件存在危险,因此 Chrome 已将其屏蔽</translation>
 <translation id="7426611252293106642">Google Chrome 可能无法正常运行,因为它不再支持此 Linux 发行版</translation>
+<translation id="7449333426561673451">{COUNT,plural, =1{贵组织会在 Chrome 闲置 1 分钟后自动关闭它。}other{贵组织会在 Chrome 闲置 # 分钟后自动关闭它。}}</translation>
 <translation id="7481213027396403996">获享 Chrome 的最强安全保护</translation>
 <translation id="7535429826459677826">Google Chrome 开发者版</translation>
 <translation id="7583399374488819119"><ph name="COMPANY_NAME" /> 安装程序</translation>
@@ -366,6 +368,7 @@
 <translation id="8013993649590906847">如果图片缺少有用的说明,则 Chrome 会尝试为您提供一条说明。为便于创建说明,系统会将图片发送给 Google。</translation>
 <translation id="8019103195866286235">此扩展程序已被其开发者取消发布,可能不安全。请将其从 Chrome 中移除,这样它便无法再查看和更改您在所访问的网站上的数据,包括您的个人信息。</translation>
 <translation id="80471789339884597">感谢您完成安装。您必须重启所有浏览器才能使用 <ph name="BUNDLE_NAME" />。</translation>
+<translation id="8057070436257749375">{COUNT,plural, =1{贵组织会在 Chrome 闲置 1 分钟后自动删除浏览数据。这些数据可能包括历史记录、自动填充数据和下载内容。现有标签页仍将保持打开状态。}other{贵组织会在 Chrome 闲置 # 分钟后自动删除浏览数据。这些数据可能包括历史记录、自动填充数据和下载内容。现有标签页仍将保持打开状态。}}</translation>
 <translation id="8064015586118426197">ChromeOS Flex</translation>
 <translation id="8129812357326543296">关于 Google Chrome(&amp;G)</translation>
 <translation id="813913629614996137">正在初始化…</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 8272774..5f804ba 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2935,6 +2935,8 @@
       "enterprise/reporting/browser_report_generator_android.h",
       "enterprise/reporting/profile_report_generator_android.cc",
       "enterprise/reporting/profile_report_generator_android.h",
+      "enterprise/reporting/real_time_report_controller_android.cc",
+      "enterprise/reporting/real_time_report_controller_android.h",
       "enterprise/reporting/report_scheduler_android.cc",
       "enterprise/reporting/report_scheduler_android.h",
       "enterprise/reporting/reporting_delegate_factory_android.cc",
@@ -3682,6 +3684,8 @@
       "enterprise/reporting/extension_request/extension_request_report_generator.h",
       "enterprise/reporting/profile_report_generator_desktop.cc",
       "enterprise/reporting/profile_report_generator_desktop.h",
+      "enterprise/reporting/real_time_report_controller_desktop.cc",
+      "enterprise/reporting/real_time_report_controller_desktop.h",
       "enterprise/reporting/real_time_report_generator_desktop.cc",
       "enterprise/reporting/real_time_report_generator_desktop.h",
       "enterprise/reporting/report_generator_desktop.cc",
@@ -3739,6 +3743,8 @@
       "hid/hid_connection_tracker_factory.h",
       "hid/hid_policy_allowed_devices.cc",
       "hid/hid_policy_allowed_devices.h",
+      "hid/hid_policy_allowed_devices_factory.cc",
+      "hid/hid_policy_allowed_devices_factory.h",
       "hid/hid_system_tray_icon.cc",
       "hid/hid_system_tray_icon.h",
       "hid/web_hid_histograms.cc",
@@ -6185,6 +6191,8 @@
       "enterprise/connectors/device_trust/browser/signing_key_policy_observer.h",
       "enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.cc",
       "enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h",
+      "enterprise/connectors/device_trust/signals/dependency_factory_impl.cc",
+      "enterprise/connectors/device_trust/signals/dependency_factory_impl.h",
       "enterprise/idle/dialog_manager.cc",
       "enterprise/idle/dialog_manager.h",
       "enterprise/profile_management/profile_management_features.cc",
@@ -8236,10 +8244,6 @@
 
   if (safe_browsing_mode == 1) {
     sources += [
-      "enterprise/connectors/analysis/fake_content_analysis_delegate.cc",
-      "enterprise/connectors/analysis/fake_content_analysis_delegate.h",
-      "enterprise/connectors/analysis/fake_files_request_handler.cc",
-      "enterprise/connectors/analysis/fake_files_request_handler.h",
       "extensions/fake_safe_browsing_database_manager.cc",
       "extensions/fake_safe_browsing_database_manager.h",
     ]
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 9fb46877..6a3b1ad 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2800,6 +2800,20 @@
      std::size(kBackForwardCache_ForceCaching), nullptr},
 };
 
+const FeatureEntry::FeatureParam kRenderDocument_Subframe[] = {
+    {"level", "subframe"}};
+const FeatureEntry::FeatureParam kRenderDocument_AllFrames[] = {
+    {"level", "all-frames"}};
+
+const FeatureEntry::FeatureVariation kRenderDocumentVariations[] = {
+    {"Swap RenderFrameHosts on same-site navigations from subframes and "
+     "crashed frames (experimental)",
+     kRenderDocument_Subframe, std::size(kRenderDocument_Subframe), nullptr},
+    {"Swap RenderFrameHosts on same-site navigations from any frame "
+     "(experimental)",
+     kRenderDocument_AllFrames, std::size(kRenderDocument_AllFrames), nullptr},
+};
+
 #if BUILDFLAG(IS_ANDROID)
 const FeatureEntry::Choice kWebOtpBackendChoices[] = {
     {flags_ui::kGenericExperimentChoiceDefault, "", ""},
@@ -10476,6 +10490,12 @@
      FEATURE_VALUE_TYPE(ash::features::kBatterySaverAlwaysOn)},
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
+    {"render-document", flag_descriptions::kRenderDocumentName,
+     flag_descriptions::kRenderDocumentDescription, kOsAll,
+     FEATURE_WITH_PARAMS_VALUE_TYPE(features::kRenderDocument,
+                                    kRenderDocumentVariations,
+                                    "RenderDocument")},
+
     // NOTE: Adding a new flag requires adding a corresponding entry to enum
     // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
     // Histograms" in tools/metrics/histograms/README.md (run the
diff --git a/chrome/browser/apps/app_service/publishers/web_apps_crosapi_browsertest.cc b/chrome/browser/apps/app_service/publishers/web_apps_crosapi_browsertest.cc
index 710ef64..fade445 100644
--- a/chrome/browser/apps/app_service/publishers/web_apps_crosapi_browsertest.cc
+++ b/chrome/browser/apps/app_service/publishers/web_apps_crosapi_browsertest.cc
@@ -23,6 +23,7 @@
 #include "components/services/app_service/public/cpp/instance_registry.h"
 #include "content/public/test/browser_test.h"
 #include "ui/base/models/simple_menu_model.h"
+#include "ui/views/widget/any_widget_observer.h"
 
 namespace {
 
@@ -226,16 +227,42 @@
 
   EXPECT_NE(ash::ShelfModel::Get()->ItemIndexByAppID(app_id), -1);
 
-  SelectContextMenuForApp(app_id, kUninstallIndex);
+  {
+    base::test::TestFuture<void> signal;
+    views::AnyWidgetObserver observer(views::test::AnyWidgetTestPasskey{});
+    observer.set_initialized_callback(
+        base::BindLambdaForTesting([&](views::Widget* widget) {
+          if (widget->GetName() == "AppDialogView") {
+            signal.GetCallback().Run();
+          }
+        }));
+
+    SelectContextMenuForApp(app_id, kUninstallIndex);
+    EXPECT_TRUE(signal.Wait());
+  }
+
   AppUninstallDialogView::GetActiveViewForTesting()->CancelDialog();
   EXPECT_NE(ash::ShelfModel::Get()->ItemIndexByAppID(app_id), -1);
 
   SelectContextMenuForApp(app_id, kPinIndex);
 
   {
+    base::test::TestFuture<void> signal;
+    views::AnyWidgetObserver observer(views::test::AnyWidgetTestPasskey{});
+    observer.set_initialized_callback(
+        base::BindLambdaForTesting([&](views::Widget* widget) {
+          if (widget->GetName() == "AppDialogView") {
+            signal.GetCallback().Run();
+          }
+        }));
+
+    SelectContextMenuForApp(app_id, kUninstallIndex);
+    EXPECT_TRUE(signal.Wait());
+  }
+
+  {
     AppInstanceWaiter app_instance_waiter(AppServiceProxy()->InstanceRegistry(),
                                           app_id, apps::kDestroyed);
-    SelectContextMenuForApp(app_id, kUninstallIndex);
     AppUninstallDialogView::GetActiveViewForTesting()->AcceptDialog();
     web_app::AppReadinessWaiter(profile(), app_id,
                                 apps::Readiness::kUninstalledByUser)
diff --git a/chrome/browser/apps/app_service/uninstall_dialog.cc b/chrome/browser/apps/app_service/uninstall_dialog.cc
index 0dd2bda..62f9a5c 100644
--- a/chrome/browser/apps/app_service/uninstall_dialog.cc
+++ b/chrome/browser/apps/app_service/uninstall_dialog.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/apps/app_service/uninstall_dialog.h"
 
+#include "base/functional/bind.h"
 #include "base/metrics/histogram_macros.h"
 #include "chrome/browser/apps/app_service/app_icon/app_icon_factory.h"
 #include "chrome/browser/apps/app_service/publishers/extension_apps_chromeos.h"
@@ -101,12 +102,16 @@
     return;
   }
 
-  widget_ = UiBase::Create(profile_, app_type_, app_id_, app_name_,
-                           icon_value->uncompressed, parent_window_, this);
+  UiBase::Create(profile_, app_type_, app_id_, app_name_,
+                 icon_value->uncompressed, parent_window_,
+                 base::BindOnce(&UninstallDialog::OnUninstallDialogCreated,
+                                weak_ptr_factory_.GetWeakPtr()),
+                 this);
+}
 
-  // For browser tests, if the callback is set, run the callback to stop the run
-  // loop.
-  if (!uninstall_dialog_created_callback_.is_null()) {
+void UninstallDialog::OnUninstallDialogCreated(views::Widget* widget) {
+  widget_ = widget;
+  if (uninstall_dialog_created_callback_) {
     std::move(uninstall_dialog_created_callback_).Run(true);
   }
 }
diff --git a/chrome/browser/apps/app_service/uninstall_dialog.h b/chrome/browser/apps/app_service/uninstall_dialog.h
index c6180e6..d1a6b2f 100644
--- a/chrome/browser/apps/app_service/uninstall_dialog.h
+++ b/chrome/browser/apps/app_service/uninstall_dialog.h
@@ -33,6 +33,9 @@
 
 namespace apps {
 
+using OnUninstallForTestingCallback = base::OnceCallback<void(bool)>;
+using OnDialogCreatedCallback = base::OnceCallback<void(views::Widget*)>;
+
 // Currently, app uninstallation on Chrome OS invokes a specific dialog per app
 // type, Chrome Apps / PWAs, ARC apps and Crostini. There are 3 separate views
 // for app uninstalling, which are subtly different from each other.
@@ -60,13 +63,14 @@
     UiBase& operator=(const UiBase&) = delete;
     virtual ~UiBase() = default;
 
-    static views::Widget* Create(Profile* profile,
-                                 apps::AppType app_type,
-                                 const std::string& app_id,
-                                 const std::string& app_name,
-                                 gfx::ImageSkia image,
-                                 gfx::NativeWindow parent_window,
-                                 UninstallDialog* uninstall_dialog);
+    static void Create(Profile* profile,
+                       apps::AppType app_type,
+                       const std::string& app_id,
+                       const std::string& app_name,
+                       gfx::ImageSkia image,
+                       gfx::NativeWindow parent_window,
+                       OnDialogCreatedCallback callback,
+                       UninstallDialog* uninstall_dialog);
 
     UninstallDialog* uninstall_dialog() const { return uninstall_dialog_; }
 
@@ -85,8 +89,6 @@
                               bool report_rebuse,
                               UninstallDialog* uninstall_dialog)>;
 
-  using OnUninstallForTestingCallback = base::OnceCallback<void(bool)>;
-
   UninstallDialog(Profile* profile,
                   apps::AppType app_type,
                   const std::string& app_id,
@@ -119,6 +121,8 @@
   // Callback invoked when the icon is loaded.
   void OnLoadIcon(IconValuePtr icon_value);
 
+  void OnUninstallDialogCreated(views::Widget* widget);
+
   const raw_ptr<Profile> profile_;
   const apps::AppType app_type_;
   const std::string app_id_;
diff --git a/chrome/browser/ash/BUILD.gn b/chrome/browser/ash/BUILD.gn
index 9208842..c518982 100644
--- a/chrome/browser/ash/BUILD.gn
+++ b/chrome/browser/ash/BUILD.gn
@@ -3007,8 +3007,6 @@
     "smb_client/smbfs_share.h",
     "startup_settings_cache.cc",
     "startup_settings_cache.h",
-    "sync/os_sync_util.cc",
-    "sync/os_sync_util.h",
     "sync/sync_appsync_optin_client.cc",
     "sync/sync_appsync_optin_client.h",
     "sync/sync_appsync_service.cc",
@@ -4253,6 +4251,10 @@
 static_library("test_support") {
   testonly = true
   sources = [
+    "accessibility/accessibility_test_utils.cc",
+    "accessibility/accessibility_test_utils.h",
+    "accessibility/autoclick_test_utils.cc",
+    "accessibility/autoclick_test_utils.h",
     "accessibility/caret_bounds_changed_waiter.cc",
     "accessibility/caret_bounds_changed_waiter.h",
     "accessibility/html_test_utils.cc",
@@ -5686,7 +5688,6 @@
     "smb_client/smb_url_unittest.cc",
     "smb_client/smbfs_share_unittest.cc",
     "startup_settings_cache_unittest.cc",
-    "sync/os_sync_util_unittest.cc",
     "sync/sync_appsync_optin_client_unittest.cc",
     "sync/sync_appsync_service_unittest.cc",
     "sync/sync_error_notifier_unittest.cc",
@@ -5823,6 +5824,7 @@
     "//chrome/browser/chromeos:test_support",
     "//chrome/browser/chromeos/drivefs",
     "//chrome/browser/chromeos/launcher_search:search_util",
+    "//chrome/browser/enterprise/connectors/test:test_support",
     "//chrome/browser/extensions",
     "//chrome/browser/extensions:test_support",
     "//chrome/browser/image_decoder",
diff --git a/chrome/browser/ash/accessibility/autoclick_browsertest.cc b/chrome/browser/ash/accessibility/autoclick_browsertest.cc
index 64cbd85..aa702079 100644
--- a/chrome/browser/ash/accessibility/autoclick_browsertest.cc
+++ b/chrome/browser/ash/accessibility/autoclick_browsertest.cc
@@ -2,20 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ash/accessibility/autoclick/autoclick_controller.h"
 #include "ash/accessibility/ui/accessibility_focus_ring_controller_impl.h"
 #include "ash/accessibility/ui/accessibility_focus_ring_layer.h"
 #include "ash/constants/ash_pref_names.h"
 #include "ash/public/cpp/accessibility_controller_enums.h"
 #include "ash/shell.h"
-#include "ash/system/accessibility/autoclick_menu_bubble_controller.h"
-#include "ash/system/accessibility/autoclick_menu_view.h"
 #include "base/test/bind.h"
-#include "build/branding_buildflags.h"
-#include "build/build_config.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/ash/accessibility/accessibility_manager.h"
 #include "chrome/browser/ash/accessibility/accessibility_test_utils.h"
+#include "chrome/browser/ash/accessibility/autoclick_test_utils.h"
 #include "chrome/browser/ash/accessibility/caret_bounds_changed_waiter.h"
 #include "chrome/browser/ash/accessibility/html_test_utils.h"
 #include "chrome/browser/profiles/profile.h"
@@ -31,8 +27,6 @@
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/test_utils.h"
 #include "extensions/browser/browsertest_util.h"
-#include "extensions/browser/extension_host.h"
-#include "extensions/browser/extension_host_test_helper.h"
 #include "ui/aura/window_tree_host.h"
 #include "ui/events/test/event_generator.h"
 #include "url/url_constants.h"
@@ -44,44 +38,28 @@
   AutoclickBrowserTest(const AutoclickBrowserTest&) = delete;
   AutoclickBrowserTest& operator=(const AutoclickBrowserTest&) = delete;
 
-  void OnFocusRingChanged() {
-    if (loop_runner_ && loop_runner_->running()) {
-      loop_runner_->Quit();
-    }
-  }
-
  protected:
   AutoclickBrowserTest() = default;
   ~AutoclickBrowserTest() override = default;
 
   // InProcessBrowserTest:
   void SetUpOnMainThread() override {
-    ASSERT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
-    console_observer_ = std::make_unique<ExtensionConsoleErrorObserver>(
-        browser()->profile(), extension_misc::kAccessibilityCommonExtensionId);
-
     aura::Window* root_window = Shell::Get()->GetPrimaryRootWindow();
     generator_ = std::make_unique<ui::test::EventGenerator>(root_window);
-
-    SetAutoclickDelayMs(5);
-
-    pref_change_registrar_ = std::make_unique<PrefChangeRegistrar>();
-    pref_change_registrar_->Init(browser()->profile()->GetPrefs());
-    pref_change_registrar_->Add(
-        prefs::kAccessibilityAutoclickEventType,
-        base::BindRepeating(&AutoclickBrowserTest::OnEventTypePrefChanged,
-                            GetWeakPtr()));
-
+    autoclick_test_utils_ =
+        std::make_unique<AutoclickTestUtils>(browser()->profile());
     ASSERT_TRUE(
         ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)));
   }
 
-  void TearDownOnMainThread() override { pref_change_registrar_.reset(); }
+  void TearDownOnMainThread() override { autoclick_test_utils_.reset(); }
 
   content::WebContents* GetWebContents() {
     return browser()->tab_strip_model()->GetActiveWebContents();
   }
 
+  PrefService* GetPrefs() { return browser()->profile()->GetPrefs(); }
+
   // Loads a page with the given URL and then starts up Autoclick.
   void LoadURLAndAutoclick(const std::string& url) {
     content::AccessibilityNotificationWaiter waiter(
@@ -89,115 +67,15 @@
     ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL(url)));
     ASSERT_TRUE(waiter.WaitForNotification());
 
-    extensions::ExtensionHostTestHelper host_helper(
-        browser()->profile(), extension_misc::kAccessibilityCommonExtensionId);
-    AccessibilityManager::Get()->EnableAutoclick(true);
-    Shell::Get()
-        ->autoclick_controller()
-        ->GetMenuBubbleControllerForTesting()
-        ->SetAnimateForTesting(false);
-    host_helper.WaitForHostCompletedFirstLoad();
-    WaitForAutoclickReady();
+    autoclick_test_utils_->LoadAutoclick();
   }
 
-  void WaitForAutoclickReady() {
-    base::ScopedAllowBlockingForTesting allow_blocking;
-    std::string script = base::StringPrintf(R"JS(
-      (async function() {
-        window.accessibilityCommon.setFeatureLoadCallbackForTest('autoclick',
-            () => {
-              chrome.test.sendScriptResult('ready');
-            });
-      })();
-    )JS");
-    base::Value result =
-        extensions::browsertest_util::ExecuteScriptInBackgroundPage(
-            browser()->profile(),
-            extension_misc::kAccessibilityCommonExtensionId, script);
-    ASSERT_EQ("ready", result);
-  }
-
-  void SetAutoclickDelayMs(int ms) {
-    PrefService* prefs = browser()->profile()->GetPrefs();
-    prefs->SetInteger(prefs::kAccessibilityAutoclickDelayMs, ms);
-  }
-
-  void OnEventTypePrefChanged() {
-    if (pref_change_waiter_)
-      std::move(pref_change_waiter_).Run();
-  }
-
-  // Performs a hover over the autoclick menu to change the event type.
-  void SetAutoclickEventType(AutoclickEventType type) {
-    // Check if we already have the right type selected.
-    PrefService* prefs = browser()->profile()->GetPrefs();
-    if (prefs->GetInteger(prefs::kAccessibilityAutoclickEventType) ==
-        static_cast<int>(type)) {
-      return;
-    }
-
-    // Find the menu button.
-    AutoclickMenuView::ButtonId button_id;
-    switch (type) {
-      case AutoclickEventType::kLeftClick:
-        button_id = AutoclickMenuView::ButtonId::kLeftClick;
-        break;
-      case AutoclickEventType::kRightClick:
-        button_id = AutoclickMenuView::ButtonId::kRightClick;
-        break;
-      case AutoclickEventType::kDoubleClick:
-        button_id = AutoclickMenuView::ButtonId::kDoubleClick;
-        break;
-      case AutoclickEventType::kDragAndDrop:
-        button_id = AutoclickMenuView::ButtonId::kDragAndDrop;
-        break;
-      case AutoclickEventType::kScroll:
-        button_id = AutoclickMenuView::ButtonId::kScroll;
-        break;
-      case AutoclickEventType::kNoAction:
-        button_id = AutoclickMenuView::ButtonId::kPause;
-        break;
-    }
-    AutoclickMenuView* menu_view = Shell::Get()
-                                       ->autoclick_controller()
-                                       ->GetMenuBubbleControllerForTesting()
-                                       ->menu_view_;
-    ASSERT_NE(nullptr, menu_view);
-    auto* button_view = menu_view->GetViewByID(static_cast<int>(button_id));
-    ASSERT_NE(nullptr, button_view);
-
-    // Hover over it.
-    const gfx::Rect bounds = button_view->GetBoundsInScreen();
-    generator_->MoveMouseTo(bounds.CenterPoint());
-
-    // Wait for the pref change, indicating the button was pressed.
-    base::RunLoop runner;
-    pref_change_waiter_ = runner.QuitClosure();
-    runner.Run();
-  }
-
-  void HoverOverHtmlElement(const std::string& element) {
-    const gfx::Rect bounds = GetControlBoundsInRoot(GetWebContents(), element);
-    generator_->MoveMouseTo(bounds.CenterPoint());
-  }
-
-  void WaitForFocusRingChanged() {
-    loop_runner_ = std::make_unique<base::RunLoop>();
-    loop_runner_->Run();
-  }
-
-  base::WeakPtr<AutoclickBrowserTest> GetWeakPtr() {
-    return weak_ptr_factory_.GetWeakPtr();
-  }
-
-  std::unique_ptr<ui::test::EventGenerator> generator_;
+  ui::test::EventGenerator* generator() { return generator_.get(); }
+  AutoclickTestUtils* utils() { return autoclick_test_utils_.get(); }
 
  private:
-  std::unique_ptr<ExtensionConsoleErrorObserver> console_observer_;
-  std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_;
-  base::OnceClosure pref_change_waiter_;
-  std::unique_ptr<base::RunLoop> loop_runner_;
-  base::WeakPtrFactory<AutoclickBrowserTest> weak_ptr_factory_{this};
+  std::unique_ptr<ui::test::EventGenerator> generator_;
+  std::unique_ptr<AutoclickTestUtils> autoclick_test_utils_;
 };
 
 IN_PROC_BROWSER_TEST_F(AutoclickBrowserTest, LeftClickButtonOnHover) {
@@ -208,7 +86,7 @@
       )");
   // No need to change click type: Default should be right-click.
   ui_test_utils::TabAddedWaiter tab_waiter(browser());
-  HoverOverHtmlElement("test_button");
+  utils()->HoverOverHtmlElement(GetWebContents(), generator(), "test_button");
   tab_waiter.Wait();
 }
 
@@ -218,7 +96,8 @@
       <input type="text" id="text_field"
              value="peanutbuttersandwichmadewithjam">
       )");
-  SetAutoclickEventType(AutoclickEventType::kDoubleClick);
+  utils()->SetAutoclickEventTypeWithHover(generator(),
+                                          AutoclickEventType::kDoubleClick);
 
   content::AccessibilityNotificationWaiter selection_waiter(
       browser()->tab_strip_model()->GetActiveWebContents(), ui::kAXModeComplete,
@@ -227,7 +106,7 @@
 
   // Double-clicking over the text field should result in the text being
   // selected.
-  HoverOverHtmlElement("text_field");
+  utils()->HoverOverHtmlElement(GetWebContents(), generator(), "text_field");
 
   bounding_box_waiter.Wait();
   ASSERT_TRUE(selection_waiter.WaitForNotification());
@@ -239,7 +118,8 @@
       <input type="text" id="text_field"
              value="peanutbuttersandwichmadewithjam">
       )");
-  SetAutoclickEventType(AutoclickEventType::kDragAndDrop);
+  utils()->SetAutoclickEventTypeWithHover(generator(),
+                                          AutoclickEventType::kDragAndDrop);
 
   const gfx::Rect bounds =
       GetControlBoundsInRoot(GetWebContents(), "text_field");
@@ -251,14 +131,14 @@
   // First hover causes a down click even that changes the caret.
   CaretBoundsChangedWaiter caret_waiter(
       browser()->window()->GetNativeWindow()->GetHost()->GetInputMethod());
-  generator_->MoveMouseTo(
+  generator()->MoveMouseTo(
       gfx::Point(bounds.left_center().y(), bounds.x() + 10));
   caret_waiter.Wait();
   ASSERT_TRUE(selection_waiter.WaitForNotification());
 
   // Second hover causes a selection.
   content::BoundingBoxUpdateWaiter bounding_box_waiter(GetWebContents());
-  generator_->MoveMouseTo(bounds.right_center());
+  generator()->MoveMouseTo(bounds.right_center());
   bounding_box_waiter.Wait();
   ASSERT_TRUE(selection_waiter.WaitForNotification());
 }
@@ -269,12 +149,13 @@
       data:text/html;charset=utf-8,
       <input type="text" id="text_field" value="stop copying me">
       )");
-  SetAutoclickEventType(AutoclickEventType::kRightClick);
+  utils()->SetAutoclickEventTypeWithHover(generator(),
+                                          AutoclickEventType::kRightClick);
 
   ContextMenuWaiter context_menu_waiter;
 
   // Right clicking over the text field should result in a context menu.
-  HoverOverHtmlElement("text_field");
+  utils()->HoverOverHtmlElement(GetWebContents(), generator(), "text_field");
 
   context_menu_waiter.WaitForMenuOpenAndClose();
 
@@ -287,9 +168,7 @@
 
 IN_PROC_BROWSER_TEST_F(AutoclickBrowserTest,
                        ScrollHoverHighlightsScrollableArea) {
-  // Create a callback for the focus ring observer.
-  AccessibilityManager::Get()->SetFocusRingObserverForTest(base::BindRepeating(
-      &AutoclickBrowserTest::OnFocusRingChanged, GetWeakPtr()));
+  utils()->ObserveFocusRings();
 
   LoadURLAndAutoclick(R"(
       data:text/html;charset=utf-8,
@@ -308,10 +187,11 @@
   // No focus rings to start.
   EXPECT_EQ(nullptr, focus_ring_group);
 
-  SetAutoclickEventType(AutoclickEventType::kScroll);
+  utils()->SetAutoclickEventTypeWithHover(generator(),
+                                          AutoclickEventType::kScroll);
 
-  HoverOverHtmlElement("test_textarea");
-  WaitForFocusRingChanged();
+  utils()->HoverOverHtmlElement(GetWebContents(), generator(), "test_textarea");
+  utils()->WaitForFocusRingChanged();
 
   focus_ring_group = controller->GetFocusRingGroupForTesting(focus_ring_id);
   ASSERT_NE(nullptr, focus_ring_group);
@@ -321,7 +201,7 @@
 }
 
 IN_PROC_BROWSER_TEST_F(AutoclickBrowserTest, LongDelay) {
-  SetAutoclickDelayMs(500);
+  utils()->SetAutoclickDelayMs(500);
   LoadURLAndAutoclick(R"(
         data:text/html;charset=utf-8,
         <input type="button" id="test_button"
@@ -330,23 +210,24 @@
 
   ui_test_utils::TabAddedWaiter tab_waiter(browser());
   base::ElapsedTimer timer;
-  HoverOverHtmlElement("test_button");
+  utils()->HoverOverHtmlElement(GetWebContents(), generator(), "test_button");
   tab_waiter.Wait();
   EXPECT_GT(timer.Elapsed().InMilliseconds(), 500);
 }
 
 IN_PROC_BROWSER_TEST_F(AutoclickBrowserTest, PauseAutoclick) {
-  SetAutoclickDelayMs(5);
+  utils()->SetAutoclickDelayMs(5);
   LoadURLAndAutoclick(R"(
         data:text/html;charset=utf-8,
         <input type="button" id="test_button"
                onclick="window.open();" value="click me">
       )");
-  SetAutoclickEventType(AutoclickEventType::kNoAction);
+  utils()->SetAutoclickEventTypeWithHover(generator(),
+                                          AutoclickEventType::kNoAction);
 
   base::OneShotTimer timer;
   base::RunLoop runner;
-  HoverOverHtmlElement("test_button");
+  utils()->HoverOverHtmlElement(GetWebContents(), generator(), "test_button");
   timer.Start(FROM_HERE, base::Milliseconds(500),
               base::BindLambdaForTesting([&runner, this]() {
                 runner.Quit();
diff --git a/chrome/browser/ash/accessibility/autoclick_test_utils.cc b/chrome/browser/ash/accessibility/autoclick_test_utils.cc
new file mode 100644
index 0000000..4795765
--- /dev/null
+++ b/chrome/browser/ash/accessibility/autoclick_test_utils.cc
@@ -0,0 +1,166 @@
+// 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/ash/accessibility/autoclick_test_utils.h"
+
+#include "ash/accessibility/autoclick/autoclick_controller.h"
+#include "ash/constants/ash_pref_names.h"
+#include "ash/public/cpp/accessibility_controller_enums.h"
+#include "ash/shell.h"
+#include "ash/system/accessibility/autoclick_menu_bubble_controller.h"
+#include "ash/system/accessibility/autoclick_menu_view.h"
+#include "base/check_op.h"
+#include "base/run_loop.h"
+#include "base/test/bind.h"
+#include "chrome/browser/ash/accessibility/accessibility_manager.h"
+#include "chrome/browser/ash/accessibility/accessibility_test_utils.h"
+#include "chrome/browser/ash/accessibility/html_test_utils.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/common/extensions/extension_constants.h"
+#include "components/prefs/pref_change_registrar.h"
+#include "components/prefs/pref_service.h"
+#include "content/public/browser/web_contents.h"
+#include "extensions/browser/browsertest_util.h"
+#include "extensions/browser/extension_host_test_helper.h"
+#include "ui/events/test/event_generator.h"
+
+namespace ash {
+
+AutoclickTestUtils::AutoclickTestUtils(Profile* profile) {
+  CHECK_EQ(false, AccessibilityManager::Get()->IsAutoclickEnabled());
+  profile_ = profile;
+  console_observer_ = std::make_unique<ExtensionConsoleErrorObserver>(
+      profile_, extension_misc::kAccessibilityCommonExtensionId);
+
+  SetAutoclickDelayMs(5);
+
+  pref_change_registrar_ = std::make_unique<PrefChangeRegistrar>();
+  pref_change_registrar_->Init(profile_->GetPrefs());
+  pref_change_registrar_->Add(
+      prefs::kAccessibilityAutoclickEventType,
+      base::BindRepeating(&AutoclickTestUtils::OnEventTypePrefChanged,
+                          GetWeakPtr()));
+}
+
+AutoclickTestUtils::~AutoclickTestUtils() {
+  pref_change_registrar_.reset();
+}
+
+void AutoclickTestUtils::LoadAutoclick() {
+  extensions::ExtensionHostTestHelper host_helper(
+      profile_, extension_misc::kAccessibilityCommonExtensionId);
+  AccessibilityManager::Get()->EnableAutoclick(true);
+  Shell::Get()
+      ->autoclick_controller()
+      ->GetMenuBubbleControllerForTesting()
+      ->SetAnimateForTesting(false);
+  host_helper.WaitForHostCompletedFirstLoad();
+  WaitForAutoclickReady();
+}
+
+void AutoclickTestUtils::SetAutoclickDelayMs(int ms) {
+  profile_->GetPrefs()->SetInteger(prefs::kAccessibilityAutoclickDelayMs, ms);
+}
+
+void AutoclickTestUtils::SetAutoclickEventTypeWithHover(
+    ui::test::EventGenerator* generator,
+    AutoclickEventType type) {
+  // Check if we already have the right type selected.
+  if (profile_->GetPrefs()->GetInteger(
+          prefs::kAccessibilityAutoclickEventType) == static_cast<int>(type)) {
+    return;
+  }
+
+  // Find the menu button.
+  AutoclickMenuView::ButtonId button_id;
+  switch (type) {
+    case AutoclickEventType::kLeftClick:
+      button_id = AutoclickMenuView::ButtonId::kLeftClick;
+      break;
+    case AutoclickEventType::kRightClick:
+      button_id = AutoclickMenuView::ButtonId::kRightClick;
+      break;
+    case AutoclickEventType::kDoubleClick:
+      button_id = AutoclickMenuView::ButtonId::kDoubleClick;
+      break;
+    case AutoclickEventType::kDragAndDrop:
+      button_id = AutoclickMenuView::ButtonId::kDragAndDrop;
+      break;
+    case AutoclickEventType::kScroll:
+      button_id = AutoclickMenuView::ButtonId::kScroll;
+      break;
+    case AutoclickEventType::kNoAction:
+      button_id = AutoclickMenuView::ButtonId::kPause;
+      break;
+  }
+  AutoclickMenuView* menu_view = Shell::Get()
+                                     ->autoclick_controller()
+                                     ->GetMenuBubbleControllerForTesting()
+                                     ->menu_view_;
+  CHECK_NE(nullptr, menu_view);
+  auto* button_view = menu_view->GetViewByID(static_cast<int>(button_id));
+  CHECK_NE(nullptr, button_view);
+
+  // Hover over it.
+  const gfx::Rect bounds = button_view->GetBoundsInScreen();
+  generator->MoveMouseTo(bounds.CenterPoint());
+
+  // Wait for the pref change, indicating the button was pressed.
+  base::RunLoop runner;
+  pref_change_waiter_ = runner.QuitClosure();
+  runner.Run();
+}
+
+void AutoclickTestUtils::HoverOverHtmlElement(
+    content::WebContents* web_contents,
+    ui::test::EventGenerator* generator,
+    const std::string& element) {
+  const gfx::Rect bounds = GetControlBoundsInRoot(web_contents, element);
+  generator->MoveMouseTo(bounds.CenterPoint());
+}
+
+void AutoclickTestUtils::ObserveFocusRings() {
+  // Create a callback for the focus ring observer.
+  AccessibilityManager::Get()->SetFocusRingObserverForTest(base::BindRepeating(
+      &AutoclickTestUtils::OnFocusRingChanged, GetWeakPtr()));
+}
+
+void AutoclickTestUtils::WaitForFocusRingChanged() {
+  loop_runner_ = std::make_unique<base::RunLoop>();
+  loop_runner_->Run();
+}
+
+void AutoclickTestUtils::WaitForAutoclickReady() {
+  base::ScopedAllowBlockingForTesting allow_blocking;
+  std::string script = base::StringPrintf(R"JS(
+    (async function() {
+      window.accessibilityCommon.setFeatureLoadCallbackForTest('autoclick',
+          () => {
+            chrome.test.sendScriptResult('ready');
+          });
+    })();
+  )JS");
+  base::Value result =
+      extensions::browsertest_util::ExecuteScriptInBackgroundPage(
+          profile_, extension_misc::kAccessibilityCommonExtensionId, script);
+  ASSERT_EQ("ready", result);
+}
+
+void AutoclickTestUtils::OnEventTypePrefChanged() {
+  if (pref_change_waiter_) {
+    std::move(pref_change_waiter_).Run();
+  }
+}
+
+void AutoclickTestUtils::OnFocusRingChanged() {
+  if (loop_runner_ && loop_runner_->running()) {
+    loop_runner_->Quit();
+  }
+}
+
+base::WeakPtr<AutoclickTestUtils> AutoclickTestUtils::GetWeakPtr() {
+  return weak_ptr_factory_.GetWeakPtr();
+}
+
+}  // namespace ash
diff --git a/chrome/browser/ash/accessibility/autoclick_test_utils.h b/chrome/browser/ash/accessibility/autoclick_test_utils.h
new file mode 100644
index 0000000..33227f9
--- /dev/null
+++ b/chrome/browser/ash/accessibility/autoclick_test_utils.h
@@ -0,0 +1,69 @@
+// 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_ASH_ACCESSIBILITY_AUTOCLICK_TEST_UTILS_H_
+#define CHROME_BROWSER_ASH_ACCESSIBILITY_AUTOCLICK_TEST_UTILS_H_
+
+#include <memory>
+#include <string>
+
+#include "base/functional/callback.h"
+#include "base/memory/weak_ptr.h"
+
+class PrefChangeRegistrar;
+class Profile;
+
+namespace base {
+class RunLoop;
+}  // namespace base
+
+namespace content {
+class WebContents;
+}  // namespace content
+
+namespace ui {
+namespace test {
+class EventGenerator;
+}  // namespace test
+}  // namespace ui
+
+namespace ash {
+enum class AutoclickEventType;
+class ExtensionConsoleErrorObserver;
+
+// A class that can be used to exercise Autoclick in browsertests.
+class AutoclickTestUtils {
+ public:
+  explicit AutoclickTestUtils(Profile* profile);
+  ~AutoclickTestUtils();
+  AutoclickTestUtils(const AutoclickTestUtils&) = delete;
+  AutoclickTestUtils& operator=(const AutoclickTestUtils&) = delete;
+
+  void LoadAutoclick();
+  void SetAutoclickDelayMs(int ms);
+  void SetAutoclickEventTypeWithHover(ui::test::EventGenerator* generator,
+                                      AutoclickEventType type);
+  void HoverOverHtmlElement(content::WebContents* web_contents,
+                            ui::test::EventGenerator* generator,
+                            const std::string& element);
+  void ObserveFocusRings();
+  void WaitForFocusRingChanged();
+
+ private:
+  void WaitForAutoclickReady();
+  void OnEventTypePrefChanged();
+  void OnFocusRingChanged();
+  base::WeakPtr<AutoclickTestUtils> GetWeakPtr();
+
+  Profile* profile_;
+  std::unique_ptr<ExtensionConsoleErrorObserver> console_observer_;
+  std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_;
+  base::OnceClosure pref_change_waiter_;
+  std::unique_ptr<base::RunLoop> loop_runner_;
+  base::WeakPtrFactory<AutoclickTestUtils> weak_ptr_factory_{this};
+};
+
+}  // namespace ash
+
+#endif  // CHROME_BROWSER_ASH_ACCESSIBILITY_AUTOCLICK_TEST_UTILS_H_
diff --git a/chrome/browser/ash/app_list/app_context_menu_unittest.cc b/chrome/browser/ash/app_list/app_context_menu_unittest.cc
index 7242261f..0a5c1ef 100644
--- a/chrome/browser/ash/app_list/app_context_menu_unittest.cc
+++ b/chrome/browser/ash/app_list/app_context_menu_unittest.cc
@@ -726,7 +726,11 @@
 class AppContextMenuLacrosTest : public AppContextMenuTest {
  public:
   AppContextMenuLacrosTest() {
-    feature_list_.InitAndEnableFeature(ash::features::kLacrosSupport);
+    feature_list_.InitWithFeatures(
+        {ash::features::kLacrosSupport, ash::features::kLacrosPrimary,
+         ash::features::kLacrosOnly,
+         ash::features::kLacrosProfileMigrationForceOff},
+        {ash::features::kEnforceAshExtensionKeeplist});
     crosapi::browser_util::SetProfileMigrationCompletedForTest(true);
   }
   AppContextMenuLacrosTest(const AppContextMenuLacrosTest&) = delete;
diff --git a/chrome/browser/ash/file_manager/copy_or_move_io_task_unittest.cc b/chrome/browser/ash/file_manager/copy_or_move_io_task_unittest.cc
index a741f807..c5c8f20 100644
--- a/chrome/browser/ash/file_manager/copy_or_move_io_task_unittest.cc
+++ b/chrome/browser/ash/file_manager/copy_or_move_io_task_unittest.cc
@@ -29,8 +29,8 @@
 #include "chrome/browser/enterprise/connectors/analysis/mock_file_transfer_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/analysis/source_destination_test_util.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
@@ -620,9 +620,9 @@
     // Set the analysis connector (enterprise_connectors) for FILE_TRANSFER.
     // It is also required for FileTransferAnalysisDelegate::IsEnabled() to
     // return a meaningful result.
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                        enterprise_connectors::FILE_TRANSFER,
-                                        kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), enterprise_connectors::FILE_TRANSFER,
+        kBlockingScansForDlpAndMalware);
 
     source_destination_testing_helper_ =
         std::make_unique<enterprise_connectors::SourceDestinationTestingHelper>(
diff --git a/chrome/browser/ash/file_manager/file_manager_browsertest.cc b/chrome/browser/ash/file_manager/file_manager_browsertest.cc
index 7929a87..94227a7 100644
--- a/chrome/browser/ash/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/ash/file_manager/file_manager_browsertest.cc
@@ -27,14 +27,14 @@
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_factory.h"
 #include "chrome/browser/chromeos/policy/dlp/mock_dlp_rules_manager.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h"
 #include "chrome/browser/enterprise/connectors/analysis/mock_file_transfer_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
+#include "chrome/browser/enterprise/connectors/test/fake_files_request_handler.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
@@ -43,6 +43,7 @@
 #include "chromeos/dbus/dlp/dlp_client.h"
 #include "chromeos/dbus/dlp/dlp_service.pb.h"
 #include "components/account_id/account_id.h"
+#include "components/file_access/test/mock_scoped_file_access_delegate.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
 #include "components/prefs/pref_service.h"
 #include "components/session_manager/core/session_manager.h"
@@ -620,6 +621,18 @@
               ::testing::Return(policy::DlpRulesManager::Level::kBlock));
       return true;
     }
+    if (name == "setupScopedFileAccessDelegateAllowed") {
+      scoped_file_access_delegate_ =
+          std::make_unique<file_access::MockScopedFileAccessDelegate>();
+      EXPECT_CALL(*scoped_file_access_delegate_, RequestFilesAccessForSystem)
+          .WillOnce([](const std::vector<base::FilePath>& paths,
+                       base::OnceCallback<void(file_access::ScopedFileAccess)>
+                           callback) {
+            std::move(callback).Run(file_access::ScopedFileAccess::Allowed());
+          });
+
+      return true;
+    }
     return false;
   }
 
@@ -628,6 +641,9 @@
   raw_ptr<policy::MockDlpRulesManager, ExperimentalAsh> mock_rules_manager_ =
       nullptr;
 
+  std::unique_ptr<file_access::MockScopedFileAccessDelegate>
+      scoped_file_access_delegate_;
+
  private:
   std::unique_ptr<KeyedService> SetDlpRulesManager(
       content::BrowserContext* context) {
@@ -746,11 +762,12 @@
     SetDMTokenForTesting(policy::DMToken::CreateValidToken("dm_token"));
 
     // Enable reporting.
-    safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(),
-                                               /*enabled*/ true,
-                                               /*enabled_event_names*/ {},
-                                               /*enabled_opt_in_events*/ {},
-                                               /*machine_scope*/ false);
+    enterprise_connectors::test::SetOnSecurityEventReporting(
+        profile()->GetPrefs(),
+        /*enabled*/ true,
+        /*enabled_event_names*/ {},
+        /*enabled_opt_in_events*/ {},
+        /*machine_scope*/ false);
     // Add mock to check reports.
     cloud_policy_client_ = std::make_unique<policy::MockCloudPolicyClient>();
     cloud_policy_client_->SetDMToken("dm_token");
@@ -838,7 +855,7 @@
       CHECK(destination);
       LOG(INFO) << "Setting file transfer policy for transfers from " << *source
                 << " to " << *destination;
-      safe_browsing::SetAnalysisConnector(
+      enterprise_connectors::test::SetAnalysisConnector(
           profile()->GetPrefs(), enterprise_connectors::FILE_TRANSFER,
           base::StringPrintf(kFileTransferConnectorSettingsForDlp,
                              source->c_str(), destination->c_str(),
@@ -848,7 +865,7 @@
       // responses.
       enterprise_connectors::FilesRequestHandler::SetFactoryForTesting(
           base::BindRepeating(
-              &enterprise_connectors::FakeFilesRequestHandler::Create,
+              &enterprise_connectors::test::FakeFilesRequestHandler::Create,
               base::BindRepeating(&FileTransferConnectorFilesAppBrowserTest::
                                       FakeFileUploadCallback,
                                   base::Unretained(this), *source,
@@ -952,8 +969,9 @@
         expected_scan_ids.push_back(GetScanIDForFileName(file_name));
       }
 
-      validator_ = std::make_unique<safe_browsing::EventReportValidator>(
-          cloud_policy_client());
+      validator_ =
+          std::make_unique<enterprise_connectors::test::EventReportValidator>(
+              cloud_policy_client());
       validator_->ExpectSensitiveDataEvents(
           /*url*/ "",
           /*source*/ *source_volume_name,
@@ -985,8 +1003,8 @@
       safe_browsing::BinaryUploadService::Result result,
       const base::FilePath& path,
       std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
-      enterprise_connectors::FakeFilesRequestHandler::FakeFileRequestCallback
-          callback) {
+      enterprise_connectors::test::FakeFilesRequestHandler::
+          FakeFileRequestCallback callback) {
     DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
     EXPECT_FALSE(path.empty());
     EXPECT_EQ(request->device_token(), "dm_token");
@@ -1032,12 +1050,12 @@
     enterprise_connectors::ContentAnalysisResponse response;
     // We return a block verdict if the basename contains "blocked".
     if (base::Contains(path.BaseName().value(), "blocked")) {
-      response = enterprise_connectors::FakeContentAnalysisDelegate::
+      response = enterprise_connectors::test::FakeContentAnalysisDelegate::
           FakeContentAnalysisDelegate::DlpResponse(
               enterprise_connectors::ContentAnalysisResponse::Result::SUCCESS,
               "rule", enterprise_connectors::TriggeredRule::BLOCK);
     } else {
-      response = enterprise_connectors::FakeContentAnalysisDelegate::
+      response = enterprise_connectors::test::FakeContentAnalysisDelegate::
           SuccessfulResponse({"dlp"});
     }
     response.set_request_token(
@@ -1052,7 +1070,7 @@
   // Used to test reporting.
   std::unique_ptr<policy::MockCloudPolicyClient> cloud_policy_client_;
   std::unique_ptr<signin::IdentityTestEnvironment> identity_test_environment_;
-  std::unique_ptr<safe_browsing::EventReportValidator> validator_;
+  std::unique_ptr<enterprise_connectors::test::EventReportValidator> validator_;
   static constexpr char kUserName[] = "test@chromium.org";
   static constexpr char kScanId[] = "scan id";
 
@@ -1699,7 +1717,8 @@
         TestCase("saveAsDlpRestrictedRedirectsToMyFiles").EnableDlp(),
         TestCase("openDlpRestrictedFile").EnableDlp(),
         TestCase("openFolderDlpRestricted").EnableDlp(),
-        TestCase("fileTasksDlpRestricted").EnableDlp()));
+        TestCase("fileTasksDlpRestricted").EnableDlp(),
+        TestCase("zipExtractRestrictedArchiveCheckContent").EnableDlp()));
 
 WRAPPED_INSTANTIATE_TEST_SUITE_P(
     DriveSpecific, /* drive_specific.js */
diff --git a/chrome/browser/ash/login/enrollment/enrollment_embedded_policy_server_browsertest.cc b/chrome/browser/ash/login/enrollment/enrollment_embedded_policy_server_browsertest.cc
index 9d67b64..d6bee77 100644
--- a/chrome/browser/ash/login/enrollment/enrollment_embedded_policy_server_browsertest.cc
+++ b/chrome/browser/ash/login/enrollment/enrollment_embedded_policy_server_browsertest.cc
@@ -1072,7 +1072,13 @@
   enrollment_ui_.RetryAndWaitForSigninStep();
 }
 
-IN_PROC_BROWSER_TEST_F(InitialEnrollmentTest, EnrollmentForced) {
+// TODO(crbug.com/1454755): Flaky on ChromeOS.
+#if BUILDFLAG(IS_CHROMEOS)
+#define MAYBE_EnrollmentForced DISABLED_EnrollmentForced
+#else
+#define MAYBE_EnrollmentForced EnrollmentForced
+#endif
+IN_PROC_BROWSER_TEST_F(InitialEnrollmentTest, MAYBE_EnrollmentForced) {
   auto initial_enrollment =
       enterprise_management::DeviceInitialEnrollmentStateResponse::
           INITIAL_ENROLLMENT_MODE_ENROLLMENT_ENFORCED;
diff --git a/chrome/browser/ash/login/enterprise_enrollment_browsertest.cc b/chrome/browser/ash/login/enterprise_enrollment_browsertest.cc
index 69b9bd1..6dd533b 100644
--- a/chrome/browser/ash/login/enterprise_enrollment_browsertest.cc
+++ b/chrome/browser/ash/login/enterprise_enrollment_browsertest.cc
@@ -108,8 +108,16 @@
 // attribute prompt screen. Verifies the attribute prompt screen is displayed.
 // Verifies that the data the user enters into the attribute prompt screen is
 // received by the enrollment helper.
+// TODO(crbug.com/1454755): Flaky on ChromeOS.
+#if BUILDFLAG(IS_CHROMEOS)
+#define MAYBE_TestAttributePromptPageGetsLoaded \
+  DISABLED_TestAttributePromptPageGetsLoaded
+#else
+#define MAYBE_TestAttributePromptPageGetsLoaded \
+  TestAttributePromptPageGetsLoaded
+#endif
 IN_PROC_BROWSER_TEST_F(EnterpriseEnrollmentTest,
-                       TestAttributePromptPageGetsLoaded) {
+                       MAYBE_TestAttributePromptPageGetsLoaded) {
   ShowEnrollmentScreen();
   enrollment_helper_.ExpectEnrollmentMode(
       policy::EnrollmentConfig::MODE_MANUAL);
diff --git a/chrome/browser/ash/login/screens/assistant_optin_flow_screen_browsertest.cc b/chrome/browser/ash/login/screens/assistant_optin_flow_screen_browsertest.cc
index 25b58c7..811d0f4 100644
--- a/chrome/browser/ash/login/screens/assistant_optin_flow_screen_browsertest.cc
+++ b/chrome/browser/ash/login/screens/assistant_optin_flow_screen_browsertest.cc
@@ -651,7 +651,13 @@
                                      1);
 }
 
-IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, SkipShowingValueProp) {
+// TODO(crbug.com/1454755): Flaky on ChromeOS.
+#if BUILDFLAG(IS_CHROMEOS)
+#define MAYBE_SkipShowingValueProp DISABLED_SkipShowingValueProp
+#else
+#define MAYBE_SkipShowingValueProp SkipShowingValueProp
+#endif
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, MAYBE_SkipShowingValueProp) {
   auto force_lib_assistant_enabled =
       AssistantOptInFlowScreen::ForceLibAssistantEnabledForTesting(true);
   assistant_settings_->set_consent_ui_flags(
diff --git a/chrome/browser/ash/login/screens/choobe_screen.cc b/chrome/browser/ash/login/screens/choobe_screen.cc
index f4659b4f..8fc4e9d6 100644
--- a/chrome/browser/ash/login/screens/choobe_screen.cc
+++ b/chrome/browser/ash/login/screens/choobe_screen.cc
@@ -6,6 +6,7 @@
 #include "chrome/browser/profiles/profile_manager.h"
 
 #include "ash/constants/ash_pref_names.h"
+#include "ash/public/cpp/schedule_enums.h"
 #include "chrome/browser/ash/login/choobe_flow_controller.h"
 #include "chrome/browser/ash/login/users/chrome_user_manager_util.h"
 #include "chrome/browser/ash/login/wizard_controller.h"
@@ -68,6 +69,8 @@
     if (!pref->IsManaged() && !pref->IsRecommended()) {
       ProfileManager::GetActiveUserProfile()->GetPrefs()->SetBoolean(
           prefs::kDarkModeEnabled, false);
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->SetInteger(
+          prefs::kDarkModeScheduleType, static_cast<int>(ScheduleType::kNone));
     }
     return false;
   }
diff --git a/chrome/browser/ash/login/screens/gaia_screen.cc b/chrome/browser/ash/login/screens/gaia_screen.cc
index 71418f6..fd702037 100644
--- a/chrome/browser/ash/login/screens/gaia_screen.cc
+++ b/chrome/browser/ash/login/screens/gaia_screen.cc
@@ -45,6 +45,7 @@
       static_cast<int>(ReauthReason::kPasswordUpdateSkipped),
       static_cast<int>(ReauthReason::kForgotPassword),
       static_cast<int>(ReauthReason::kCryptohomeRecovery),
+      static_cast<int>(ReauthReason::kOther),
   };
   user_manager::KnownUser known_user(g_browser_process->local_state());
   absl::optional<int> reauth_reason = known_user.FindReauthReason(account_id);
@@ -52,6 +53,25 @@
          base::Contains(kPossibleReasons, reauth_reason.value());
 }
 
+bool ShouldUseReauthEndpoint(const AccountId& account_id) {
+  if (account_id.empty()) {
+    return false;
+  }
+  auto* user = user_manager::UserManager::Get()->FindUser(account_id);
+  DCHECK(user);
+  // Use reauth endpoint for child users.
+  if (user && user->IsChild()) {
+    return true;
+  }
+  // Use reauth endpoint for potential recovery use cases (exclude cases where
+  // reauth enforced by policy).
+  if (features::IsGaiaReauthEndpointEnabled() &&
+      ShouldPrepareForRecovery(account_id)) {
+    return true;
+  }
+  return false;
+}
+
 }  // namespace
 
 // static
@@ -84,11 +104,8 @@
   if (!view_)
     return;
   auto gaia_path = GaiaView::GaiaPath::kDefault;
-  if (!account.empty()) {
-    auto* user = user_manager::UserManager::Get()->FindUser(account);
-    DCHECK(user);
-    if (user && (user->IsChild() || features::IsGaiaReauthEndpointEnabled()))
-      gaia_path = GaiaView::GaiaPath::kReauth;
+  if (ShouldUseReauthEndpoint(account)) {
+    gaia_path = GaiaView::GaiaPath::kReauth;
   }
   view_->SetGaiaPath(gaia_path);
   view_->SetReauthRequestToken(std::string());
diff --git a/chrome/browser/ash/login/session/user_session_manager.cc b/chrome/browser/ash/login/session/user_session_manager.cc
index e5bfda2..a2d748fb 100644
--- a/chrome/browser/ash/login/session/user_session_manager.cc
+++ b/chrome/browser/ash/login/session/user_session_manager.cc
@@ -91,7 +91,6 @@
 #include "chrome/browser/ash/settings/about_flags.h"
 #include "chrome/browser/ash/settings/cros_settings.h"
 #include "chrome/browser/ash/settings/device_settings_service.h"
-#include "chrome/browser/ash/sync/os_sync_util.h"
 #include "chrome/browser/ash/tether/tether_service.h"
 #include "chrome/browser/ash/tpm_firmware_update_notification.h"
 #include "chrome/browser/ash/u2f_notification.h"
@@ -1562,9 +1561,6 @@
     return;
   user_profile_initialized_called_.insert(profile);
 
-  // MigrateOsSyncPreferences migrates prefs for SyncSettingsCategorization.
-  os_sync_util::MigrateOsSyncPreferences(profile->GetPrefs());
-
   BootTimesRecorder* btl = BootTimesRecorder::Get();
   btl->AddLoginTimeMarker("UserProfileGotten", false);
 
diff --git a/chrome/browser/ash/platform_keys/platform_keys_service_test_util.cc b/chrome/browser/ash/platform_keys/platform_keys_service_test_util.cc
index 2ed606a..0785b0eb 100644
--- a/chrome/browser/ash/platform_keys/platform_keys_service_test_util.cc
+++ b/chrome/browser/ash/platform_keys/platform_keys_service_test_util.cc
@@ -74,6 +74,15 @@
   return true;
 }
 
+// TODO(olsa): Extend this initial implementation with more logic.
+bool FakeChapsUtil::ImportPkcs12Certificate(
+    PK11SlotInfo* slot,
+    const std::vector<uint8_t>& pkcs12_data,
+    const std::string& password,
+    bool is_software_backed) {
+  return true;
+}
+
 ScopedChapsUtilOverride::ScopedChapsUtilOverride() {
   chromeos::platform_keys::ChapsUtil::SetFactoryForTesting(base::BindRepeating(
       &ScopedChapsUtilOverride::CreateChapsUtil, base::Unretained(this)));
diff --git a/chrome/browser/ash/platform_keys/platform_keys_service_test_util.h b/chrome/browser/ash/platform_keys/platform_keys_service_test_util.h
index 79cab776..1f5c7b1 100644
--- a/chrome/browser/ash/platform_keys/platform_keys_service_test_util.h
+++ b/chrome/browser/ash/platform_keys/platform_keys_service_test_util.h
@@ -89,6 +89,11 @@
       crypto::ScopedSECKEYPublicKey* out_public_key,
       crypto::ScopedSECKEYPrivateKey* out_private_key) override;
 
+  bool ImportPkcs12Certificate(PK11SlotInfo* slot,
+                               const std::vector<uint8_t>& pkcs12_data,
+                               const std::string& password,
+                               bool is_software_backed) override;
+
  private:
   OnKeyGenerated on_key_generated_;
 };
diff --git a/chrome/browser/ash/policy/core/device_policy_decoder.cc b/chrome/browser/ash/policy/core/device_policy_decoder.cc
index 401b31d..e05442a2 100644
--- a/chrome/browser/ash/policy/core/device_policy_decoder.cc
+++ b/chrome/browser/ash/policy/core/device_policy_decoder.cc
@@ -489,6 +489,15 @@
                   POLICY_SOURCE_CLOUD, base::Value(std::move(rules)), nullptr);
   }
 
+  if (policy.has_device_login_screen_webhid_allow_devices_for_urls()) {
+    const em::StringPolicyProto& container(
+        policy.device_login_screen_webhid_allow_devices_for_urls());
+    if (container.has_value()) {
+      SetJsonDevicePolicy(key::kDeviceLoginScreenWebHidAllowDevicesForUrls,
+                          container.value(), policies);
+    }
+  }
+
   if (policy.has_device_login_screen_webusb_allow_devices_for_urls()) {
     const em::DeviceLoginScreenWebUsbAllowDevicesForUrlsProto& container(
         policy.device_login_screen_webusb_allow_devices_for_urls());
diff --git a/chrome/browser/ash/policy/core/user_cloud_policy_manager_ash.cc b/chrome/browser/ash/policy/core/user_cloud_policy_manager_ash.cc
index aac14d45..b99d501 100644
--- a/chrome/browser/ash/policy/core/user_cloud_policy_manager_ash.cc
+++ b/chrome/browser/ash/policy/core/user_cloud_policy_manager_ash.cc
@@ -40,6 +40,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/chrome_content_client.h"
 #include "chrome/common/chrome_features.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/report_generator.h"
 #include "components/enterprise/browser/reporting/report_scheduler.h"
 #include "components/invalidation/impl/profile_invalidation_provider.h"
@@ -721,13 +722,14 @@
   enterprise_reporting::ReportingDelegateFactoryDesktop delegate_factory;
   enterprise_reporting::ReportScheduler::CreateParams params;
   params.client = client();
-  params.delegate =
-      std::make_unique<enterprise_reporting::ReportSchedulerDesktop>(profile_);
+  params.delegate = delegate_factory.GetReportSchedulerDelegate();
   params.report_generator =
       std::make_unique<enterprise_reporting::ReportGenerator>(
           &delegate_factory);
-  params.real_time_report_generator =
-      std::make_unique<enterprise_reporting::RealTimeReportGenerator>(
+
+  delegate_factory.SetProfileForRealTimeController(profile_);
+  params.real_time_report_controller =
+      std::make_unique<enterprise_reporting::RealTimeReportController>(
           &delegate_factory);
 
   report_scheduler_ = std::make_unique<enterprise_reporting::ReportScheduler>(
diff --git a/chrome/browser/ash/policy/dlp/files_policy_notification_manager.cc b/chrome/browser/ash/policy/dlp/files_policy_notification_manager.cc
index 2ae909a..3f73a779 100644
--- a/chrome/browser/ash/policy/dlp/files_policy_notification_manager.cc
+++ b/chrome/browser/ash/policy/dlp/files_policy_notification_manager.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/chromeos/policy/dlp/dialogs/policy_dialog_base.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_confidential_file.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_file_destination.h"
+#include "chrome/browser/chromeos/policy/dlp/dlp_files_controller.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_files_utils.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_policy_constants.h"
 #include "chrome/browser/notifications/notification_display_service.h"
@@ -51,9 +52,7 @@
 // modal.
 const base::TimeDelta kOpenFilesAppTimeout = base::Milliseconds(3000);
 
-constexpr char kUploadBlockedNotificationId[] = "upload_dlp_blocked";
-constexpr char kDownloadBlockedNotificationId[] = "download_dlp_blocked";
-constexpr char kOpenBlockedNotificationId[] = "open_dlp_blocked";
+constexpr char kDlpFilesNotificationId[] = "dlp_files";
 
 // TODO(b/279435843): Replace with translation strings.
 std::u16string GetNotificationTitle(
@@ -140,26 +139,11 @@
   return volume_manager->io_task_controller();
 }
 
-// Computes and returns a new notification ID for `action`.
-std::string GetNotificationId(dlp::FileAction action, size_t count) {
-  switch (action) {
-    case dlp::FileAction::kDownload:
-      return kDownloadBlockedNotificationId + std::string("_") +
-             base::NumberToString(count);
-    case dlp::FileAction::kUpload:
-      return kUploadBlockedNotificationId + std::string("_") +
-             base::NumberToString(count);
-    case dlp::FileAction::kOpen:
-    case dlp::FileAction::kShare:
-      return kOpenBlockedNotificationId + std::string("_") +
-             base::NumberToString(count);
-    case dlp::FileAction::kCopy:
-    case dlp::FileAction::kMove:
-    case dlp::FileAction::kTransfer:
-    case dlp::FileAction::kUnknown:
-      // TODO(b/269609831): Return valid ID.
-      return "";
-  }
+// Computes and returns a new notification ID by appending `count` to the
+// prefix.
+std::string GetNotificationId(size_t count) {
+  return kDlpFilesNotificationId + std::string("_") +
+         base::NumberToString(count);
 }
 }  // namespace
 
@@ -413,7 +397,6 @@
     return;
   }
 
-  views::Widget* widget;
   switch (type) {
     case FilesDialogType::kUnknown:
       LOG(WARNING) << "Unknown FilesDialogType passed";
@@ -422,12 +405,11 @@
       if (!HasBlockedFiles(task_id)) {
         return;
       }
-      widget = views::DialogDelegate::CreateDialogWidget(
-          std::make_unique<FilesPolicyErrorDialog>(
-              std::move(io_tasks_.at(task_id).blocked_files),
-              DlpFileDestination(""), io_tasks_.at(task_id).action,
-              modal_parent),
-          /*context=*/nullptr, /*parent=*/modal_parent);
+      // TODO(b/285568353): Remove destination.
+      FilesPolicyDialog::CreateErrorDialog(
+          io_tasks_.at(task_id).blocked_files,
+          DlpFileDestination("https://example.com"),
+          io_tasks_.at(task_id).action, modal_parent);
       break;
     case FilesDialogType::kWarning:
       if (!HasWarning(task_id)) {
@@ -437,16 +419,14 @@
           &FilesPolicyNotificationManager::OnWarningDialogClicked,
           weak_factory_.GetWeakPtr(), task_id,
           io_tasks_.at(task_id).warning_info->warning_reason);
-      widget = views::DialogDelegate::CreateDialogWidget(
-          std::make_unique<FilesPolicyWarnDialog>(
-              std::move(callback),
-              std::move(io_tasks_.at(task_id).warning_info->files),
-              DlpFileDestination(""), io_tasks_.at(task_id).action,
-              modal_parent),
-          /*context=*/nullptr, /*parent=*/modal_parent);
+      // TODO(b/285568353): Remove destination.
+      FilesPolicyDialog::CreateWarnDialog(
+          std::move(callback),
+          std::move(io_tasks_.at(task_id).warning_info->files),
+          DlpFileDestination("https://example.com"),
+          io_tasks_.at(task_id).action, modal_parent);
       break;
   }
-  widget->Show();
   // TODO(ayaelattar): Timeout after total 5 minutes.
 }
 
@@ -622,44 +602,51 @@
     dlp::FileAction action) {
   std::u16string title;
   std::u16string message;
+  std::vector<message_center::ButtonInfo> buttons;
 
-  switch (action) {
-    case dlp::FileAction::kDownload:
-      title =
-          l10n_util::GetStringUTF16(IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCK_TITLE);
-      // ignore `blocked_files.size()` for downloads.
-      message = l10n_util::GetStringUTF16(
-          IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCK_MESSAGE);
-      break;
-    case dlp::FileAction::kUpload:
-      title =
-          l10n_util::GetStringUTF16(IDS_POLICY_DLP_FILES_UPLOAD_BLOCK_TITLE);
-      message = l10n_util::GetPluralStringFUTF16(
-          IDS_POLICY_DLP_FILES_UPLOAD_BLOCK_MESSAGE, blocked_files.size());
-      break;
-    case dlp::FileAction::kOpen:
-    case dlp::FileAction::kShare:
-      title = l10n_util::GetStringUTF16(IDS_POLICY_DLP_FILES_OPEN_BLOCK_TITLE);
-      message = l10n_util::GetPluralStringFUTF16(
-          IDS_POLICY_DLP_FILES_OPEN_BLOCK_MESSAGE, blocked_files.size());
-      break;
-    case dlp::FileAction::kCopy:
-    case dlp::FileAction::kMove:
-    case dlp::FileAction::kTransfer:
-    case dlp::FileAction::kUnknown:
-      // TODO(b/269609831): Show correct notification here.
-      return;
+  if (DlpFilesController::kNewFilesPolicyUXEnabled) {
+    // TODO(b/282663983): Implementation.
+  } else {
+    switch (action) {
+      case dlp::FileAction::kDownload:
+        title = l10n_util::GetStringUTF16(
+            IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCK_TITLE);
+        // ignore `blocked_files.size()` for downloads.
+        message = l10n_util::GetStringUTF16(
+            IDS_POLICY_DLP_FILES_DOWNLOAD_BLOCK_MESSAGE);
+        break;
+      case dlp::FileAction::kUpload:
+        title =
+            l10n_util::GetStringUTF16(IDS_POLICY_DLP_FILES_UPLOAD_BLOCK_TITLE);
+        message = l10n_util::GetPluralStringFUTF16(
+            IDS_POLICY_DLP_FILES_UPLOAD_BLOCK_MESSAGE, blocked_files.size());
+        break;
+      case dlp::FileAction::kOpen:
+      case dlp::FileAction::kShare:
+        title =
+            l10n_util::GetStringUTF16(IDS_POLICY_DLP_FILES_OPEN_BLOCK_TITLE);
+        message = l10n_util::GetPluralStringFUTF16(
+            IDS_POLICY_DLP_FILES_OPEN_BLOCK_MESSAGE, blocked_files.size());
+        break;
+      case dlp::FileAction::kCopy:
+      case dlp::FileAction::kMove:
+      case dlp::FileAction::kTransfer:
+      case dlp::FileAction::kUnknown:
+        // TODO(b/269609831): Show correct notification here.
+        return;
+    }
+    buttons = {
+        message_center::ButtonInfo(l10n_util::GetStringUTF16(IDS_LEARN_MORE))};
   }
-  const std::string notification_id =
-      GetNotificationId(action, notification_count_++);
+
+  const std::string notification_id = GetNotificationId(notification_count_++);
   auto notification = file_manager::CreateSystemNotification(
       notification_id, std::move(title), std::move(message),
       base::MakeRefCounted<message_center::HandleNotificationClickDelegate>(
           base::BindRepeating(
               &FilesPolicyNotificationManager::OnLearnMoreButtonClicked,
               weak_factory_.GetWeakPtr(), notification_id)));
-  notification->set_buttons(
-      {message_center::ButtonInfo(l10n_util::GetStringUTF16(IDS_LEARN_MORE))});
+  notification->set_buttons(std::move(buttons));
 
   NotificationDisplayServiceFactory::GetForProfile(
       Profile::FromBrowserContext(context_))
@@ -672,16 +659,16 @@
     std::vector<base::FilePath> warning_files,
     const DlpFileDestination& destination,
     dlp::FileAction action) {
-  auto* widget = views::DialogDelegate::CreateDialogWidget(
-      std::make_unique<FilesPolicyWarnDialog>(
-          std::move(callback),
-          std::vector<DlpConfidentialFile>{warning_files.begin(),
-                                           warning_files.end()},
-          destination, action,
-          /*modal_parent=*/nullptr),
-      /*context=*/nullptr,
-      /*parent=*/nullptr);
-  widget->Show();
+  if (DlpFilesController::kNewFilesPolicyUXEnabled) {
+    // TODO(b/282663983): Implementation.
+  } else {
+    FilesPolicyDialog::CreateWarnDialog(
+        std::move(callback),
+        std::vector<DlpConfidentialFile>{warning_files.begin(),
+                                         warning_files.end()},
+        destination, action,
+        /*modal_parent=*/nullptr);
+  }
   // TODO(ayaelattar): Timeout after total 5 minutes.
 }
 
diff --git a/chrome/browser/ash/policy/dlp/files_policy_notification_manager_unittest.cc b/chrome/browser/ash/policy/dlp/files_policy_notification_manager_unittest.cc
index 325e2be..8c0b5e86 100644
--- a/chrome/browser/ash/policy/dlp/files_policy_notification_manager_unittest.cc
+++ b/chrome/browser/ash/policy/dlp/files_policy_notification_manager_unittest.cc
@@ -39,10 +39,6 @@
   return WriteFile(path, "42", sizeof("42")) == sizeof("42");
 }
 
-constexpr char kUploadBlockedNotificationId[] = "upload_dlp_blocked";
-constexpr char kDownloadBlockedNotificationId[] = "download_dlp_blocked";
-constexpr char kOpenBlockedNotificationId[] = "open_dlp_blocked";
-
 class IOTaskStatusObserver
     : public file_manager::io_task::IOTaskController::Observer {
  public:
@@ -182,12 +178,9 @@
 TEST_F(FilesPolicyNotificationManagerTest, NotificationIdsAreUnique) {
   NotificationDisplayServiceTester display_service_tester(profile_.get());
 
-  std::string notification_id_1 =
-      kUploadBlockedNotificationId + std::string("_0");
-  std::string notification_id_2 =
-      kUploadBlockedNotificationId + std::string("_1");
-  std::string notification_id_3 =
-      kOpenBlockedNotificationId + std::string("_2");
+  std::string notification_id_1 = "dlp_files_0";
+  std::string notification_id_2 = "dlp_files_1";
+  std::string notification_id_3 = "dlp_files_2";
 
   std::vector<base::FilePath> files_1 = {base::FilePath("file1.txt"),
                                          base::FilePath("file2.txt"),
@@ -628,23 +621,21 @@
             file_manager::io_task::PolicyErrorType::kEnterpriseConnectors,
             u"Blocked move")));
 
-class FPNMShowBlockTest : public FilesPolicyNotificationManagerTest,
-                          public ::testing::WithParamInterface<
-                              std::tuple<dlp::FileAction, std::string>> {};
+class FPNMShowBlockTest
+    : public FilesPolicyNotificationManagerTest,
+      public ::testing::WithParamInterface<std::tuple<dlp::FileAction>> {};
 
 INSTANTIATE_TEST_SUITE_P(
     PolicyFilesNotify,
     FPNMShowBlockTest,
-    ::testing::Values(
-        std::make_tuple(dlp::FileAction::kDownload,
-                        kDownloadBlockedNotificationId),
-        std::make_tuple(dlp::FileAction::kUpload, kUploadBlockedNotificationId),
-        std::make_tuple(dlp::FileAction::kOpen, kOpenBlockedNotificationId),
-        std::make_tuple(dlp::FileAction::kShare, kOpenBlockedNotificationId)));
+    ::testing::Values(std::make_tuple(dlp::FileAction::kDownload),
+                      std::make_tuple(dlp::FileAction::kUpload),
+                      std::make_tuple(dlp::FileAction::kOpen),
+                      std::make_tuple(dlp::FileAction::kShare)));
 
 TEST_P(FPNMShowBlockTest, ShowDlpBlockNotification) {
-  auto [action, id_prefix] = GetParam();
-  const std::string notification_id = id_prefix + std::string("_0");
+  auto [action] = GetParam();
+  const std::string notification_id = "dlp_files_0";
 
   NotificationDisplayServiceTester display_service_tester(profile_.get());
 
diff --git a/chrome/browser/ash/sync/os_sync_util.cc b/chrome/browser/ash/sync/os_sync_util.cc
deleted file mode 100644
index 5cf94d5..0000000
--- a/chrome/browser/ash/sync/os_sync_util.cc
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2020 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/ash/sync/os_sync_util.h"
-
-#include "base/metrics/histogram_functions.h"
-#include "chrome/browser/ui/webui/settings/ash/pref_names.h"
-#include "components/prefs/pref_service.h"
-#include "components/sync/base/pref_names.h"
-
-namespace os_sync_util {
-namespace {
-
-// Returns true if the prefs were migrated.
-bool MaybeMigratePreferencesForSyncSettingsCategorization(PrefService* prefs) {
-  // TODO(crbug.com/1249845): Remove this migration code after 2023-06 (see
-  // also crbug.com/1255724).
-  bool migrated_this_time = false;
-
-  // Don't migrate more than once.
-  if (!prefs->GetBoolean(syncer::prefs::internal::kOsSyncPrefsMigrated)) {
-    // OS sync model types get their initial state from the corresponding
-    // browser model types.
-    bool sync_all =
-        prefs->GetBoolean(syncer::prefs::internal::kSyncKeepEverythingSynced);
-    prefs->SetBoolean(syncer::prefs::internal::kSyncAllOsTypes, sync_all);
-
-    bool sync_apps = prefs->GetBoolean(syncer::prefs::internal::kSyncApps);
-    prefs->SetBoolean(syncer::prefs::internal::kSyncOsApps, sync_apps);
-
-    bool sync_preferences =
-        prefs->GetBoolean(syncer::prefs::internal::kSyncPreferences);
-    prefs->SetBoolean(syncer::prefs::internal::kSyncOsPreferences,
-                      sync_preferences);
-
-    // Wallpaper requires both theme sync (called "Themes & Wallpaper" in sync
-    // settings) and app sync (to actually sync the data from the wallpaper
-    // app).
-    bool sync_wallpaper =
-        sync_apps && prefs->GetBoolean(syncer::prefs::internal::kSyncThemes);
-    prefs->SetBoolean(ash::settings::prefs::kSyncOsWallpaper, sync_wallpaper);
-    prefs->SetBoolean(syncer::prefs::internal::kOsSyncPrefsMigrated, true);
-    migrated_this_time = true;
-  }
-
-  return migrated_this_time;
-}
-
-}  // namespace
-
-void MigrateOsSyncPreferences(PrefService* prefs) {
-  bool migrated = MaybeMigratePreferencesForSyncSettingsCategorization(prefs);
-  base::UmaHistogramBoolean("ChromeOS.Sync.PreferencesMigrated", migrated);
-}
-
-}  // namespace os_sync_util
diff --git a/chrome/browser/ash/sync/os_sync_util.h b/chrome/browser/ash/sync/os_sync_util.h
deleted file mode 100644
index c7d83f9..0000000
--- a/chrome/browser/ash/sync/os_sync_util.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2020 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_ASH_SYNC_OS_SYNC_UTIL_H_
-#define CHROME_BROWSER_ASH_SYNC_OS_SYNC_UTIL_H_
-
-class PrefService;
-
-namespace os_sync_util {
-
-// Sets up the OS sync feature and its model types depending on the user's
-// existing browser sync model types. |prefs| are user profile prefs.
-void MigrateOsSyncPreferences(PrefService* prefs);
-
-}  // namespace os_sync_util
-
-#endif  // CHROME_BROWSER_ASH_SYNC_OS_SYNC_UTIL_H_
diff --git a/chrome/browser/ash/sync/os_sync_util_unittest.cc b/chrome/browser/ash/sync/os_sync_util_unittest.cc
deleted file mode 100644
index 43d6350e..0000000
--- a/chrome/browser/ash/sync/os_sync_util_unittest.cc
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2020 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/ash/sync/os_sync_util.h"
-
-#include "base/test/metrics/histogram_tester.h"
-#include "chrome/browser/ui/webui/settings/ash/os_settings_ui.h"
-#include "chrome/browser/ui/webui/settings/ash/pref_names.h"
-#include "components/sync/base/pref_names.h"
-#include "components/sync/base/sync_prefs.h"
-#include "components/sync_preferences/testing_pref_service_syncable.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace sp = syncer::prefs::internal;
-namespace csp = ::ash::settings::prefs;
-
-class OsSyncUtilTest : public testing::Test {
- public:
-  OsSyncUtilTest() {
-    syncer::SyncPrefs::RegisterProfilePrefs(prefs_.registry());
-    ash::settings::OSSettingsUI::RegisterProfilePrefs(prefs_.registry());
-  }
-
-  sync_preferences::TestingPrefServiceSyncable prefs_;
-};
-
-TEST_F(OsSyncUtilTest, SimpleMigration) {
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-  EXPECT_TRUE(prefs_.GetBoolean(sp::kOsSyncPrefsMigrated));
-  EXPECT_TRUE(prefs_.GetBoolean(sp::kSyncAllOsTypes));
-}
-
-TEST_F(OsSyncUtilTest, MigrationWithIndividualBrowserTypes) {
-  // Customize the browser data types.
-  prefs_.SetBoolean(sp::kSyncKeepEverythingSynced, false);
-  prefs_.SetBoolean(sp::kSyncApps, true);
-  prefs_.SetBoolean(sp::kSyncPreferences, true);
-  prefs_.SetBoolean(sp::kSyncThemes, true);
-
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-
-  // Equivalent OS types are enabled.
-  EXPECT_FALSE(prefs_.GetBoolean(sp::kSyncAllOsTypes));
-  EXPECT_TRUE(prefs_.GetBoolean(sp::kSyncOsApps));
-  EXPECT_TRUE(prefs_.GetBoolean(sp::kSyncOsPreferences));
-  EXPECT_TRUE(prefs_.GetBoolean(csp::kSyncOsWallpaper));
-}
-
-TEST_F(OsSyncUtilTest, MigrationForWallpaperRequiresApps) {
-  prefs_.SetBoolean(sp::kSyncKeepEverythingSynced, false);
-  ASSERT_FALSE(prefs_.GetBoolean(sp::kSyncApps));
-  prefs_.SetBoolean(sp::kSyncThemes, true);
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-  EXPECT_FALSE(prefs_.GetBoolean(csp::kSyncOsWallpaper));
-}
-
-TEST_F(OsSyncUtilTest, MigrationOnlyHappensOnce) {
-  // Do initial migration.
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-
-  // Customize some browser prefs.
-  prefs_.SetBoolean(sp::kSyncKeepEverythingSynced, false);
-  prefs_.SetBoolean(sp::kSyncApps, true);
-  prefs_.SetBoolean(sp::kSyncPreferences, true);
-
-  // Customize some OS prefs.
-  prefs_.SetBoolean(sp::kSyncAllOsTypes, false);
-  prefs_.SetBoolean(sp::kSyncOsApps, false);
-  prefs_.SetBoolean(sp::kSyncOsPreferences, false);
-
-  // Try to migrate again.
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-
-  // OS prefs didn't change.
-  EXPECT_FALSE(prefs_.GetBoolean(sp::kSyncAllOsTypes));
-  EXPECT_FALSE(prefs_.GetBoolean(sp::kSyncOsApps));
-  EXPECT_FALSE(prefs_.GetBoolean(sp::kSyncOsPreferences));
-}
-
-TEST_F(OsSyncUtilTest, MigrationMetrics) {
-  base::HistogramTester histograms;
-
-  // Initial migration.
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-
-  // Migration recorded.
-  histograms.ExpectBucketCount("ChromeOS.Sync.PreferencesMigrated", true, 1);
-
-  // Try to migrate again. This is a no-op.
-  os_sync_util::MigrateOsSyncPreferences(&prefs_);
-
-  // Non-migration recorded.
-  histograms.ExpectBucketCount("ChromeOS.Sync.PreferencesMigrated", false, 1);
-}
diff --git a/chrome/browser/banners/android/java/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java b/chrome/browser/banners/android/java/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
index ef700c1..c3c19ea 100644
--- a/chrome/browser/banners/android/java/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
+++ b/chrome/browser/banners/android/java/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
@@ -914,21 +914,20 @@
                         mTestServer, WEB_APP_MANIFEST_FOR_BOTTOM_SHEET_INSTALL),
                 /*click=*/false);
 
-        View toolbar = mBottomSheetController.getCurrentSheetContent().getToolbarView();
         View content = mBottomSheetController.getCurrentSheetContent().getContentView();
 
         // Expand the bottom sheet via drag handle.
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            ImageView dragHandle = toolbar.findViewById(R.id.drag_handlebar);
+            ImageView dragHandle = content.findViewById(R.id.drag_handlebar);
             TouchCommon.singleClickView(dragHandle);
         });
 
         waitUntilBottomSheetStatus(mTabbedActivityTestRule, BottomSheetController.SheetState.FULL);
 
         TextView appName =
-                toolbar.findViewById(PwaInstallBottomSheetView.getAppNameViewIdForTesting());
+                content.findViewById(PwaInstallBottomSheetView.getAppNameViewIdForTesting());
         TextView appOrigin =
-                toolbar.findViewById(PwaInstallBottomSheetView.getAppOriginViewIdForTesting());
+                content.findViewById(PwaInstallBottomSheetView.getAppOriginViewIdForTesting());
         TextView description =
                 content.findViewById(PwaInstallBottomSheetView.getDescViewIdForTesting());
 
@@ -940,7 +939,7 @@
 
         // Collapse the bottom sheet.
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            ImageView dragHandle = toolbar.findViewById(R.id.drag_handlebar);
+            ImageView dragHandle = content.findViewById(R.id.drag_handlebar);
             TouchCommon.singleClickView(dragHandle);
         });
 
@@ -970,11 +969,11 @@
                         "call_stashed_prompt_on_click_verify_appinstalled"),
                 /*click=*/true);
 
-        View toolbar = mBottomSheetController.getCurrentSheetContent().getToolbarView();
+        View content = mBottomSheetController.getCurrentSheetContent().getContentView();
 
         // Install app from the bottom sheet.
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            ButtonCompat buttonInstall = toolbar.findViewById(
+            ButtonCompat buttonInstall = content.findViewById(
                     PwaInstallBottomSheetView.getButtonInstallViewIdForTesting());
             TouchCommon.singleClickView(buttonInstall);
         });
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
index 44624ec..9c526057 100644
--- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h
@@ -28,7 +28,6 @@
 class DownloadRequestLimiter;
 class DownloadStatusUpdater;
 class GpuModeManager;
-class HidPolicyAllowedDevices;
 class IconManager;
 class MediaFileSystemRegistry;
 class NotificationPlatformBridge;
@@ -266,10 +265,6 @@
   // through the policy engine.
   virtual SerialPolicyAllowedPorts* serial_policy_allowed_ports() = 0;
 
-  // Returns the object which keeps track of Human Interface Device (HID)
-  // permissions configured through the policy engine.
-  virtual HidPolicyAllowedDevices* hid_policy_allowed_devices() = 0;
-
   // Returns the object which maintains Human Interface Device (HID) system tray
   // icon.
   virtual HidSystemTrayIcon* hid_system_tray_icon() = 0;
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 967ea75..73dc09a7 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -168,7 +168,6 @@
 #else
 #include "chrome/browser/devtools/devtools_auto_opener.h"
 #include "chrome/browser/gcm/gcm_product_util.h"
-#include "chrome/browser/hid/hid_policy_allowed_devices.h"
 #include "chrome/browser/hid/hid_system_tray_icon.h"
 #include "chrome/browser/intranet_redirect_detector.h"
 #include "chrome/browser/lifetime/application_lifetime_desktop.h"
@@ -367,7 +366,7 @@
 #endif
 
 #if BUILDFLAG(IS_ANDROID)
-  components::WebAuthnClientAndroid::SetClient(
+  webauthn::WebAuthnClientAndroid::SetClient(
       std::make_unique<ChromeWebAuthnClientAndroid>());
 #endif
 
@@ -985,15 +984,6 @@
   return serial_policy_allowed_ports_.get();
 }
 
-HidPolicyAllowedDevices* BrowserProcessImpl::hid_policy_allowed_devices() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (!hid_policy_allowed_devices_) {
-    hid_policy_allowed_devices_ =
-        std::make_unique<HidPolicyAllowedDevices>(local_state());
-  }
-  return hid_policy_allowed_devices_.get();
-}
-
 HidSystemTrayIcon* BrowserProcessImpl::hid_system_tray_icon() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   return hid_system_tray_icon_.get();
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
index f6e8fb2..701b6cc 100644
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -215,7 +215,6 @@
 
 #if !BUILDFLAG(IS_ANDROID)
   SerialPolicyAllowedPorts* serial_policy_allowed_ports() override;
-  HidPolicyAllowedDevices* hid_policy_allowed_devices() override;
   HidSystemTrayIcon* hid_system_tray_icon() override;
 #endif
 
@@ -437,7 +436,6 @@
   base::OnceClosure quit_closure_;
 
   std::unique_ptr<SerialPolicyAllowedPorts> serial_policy_allowed_ports_;
-  std::unique_ptr<HidPolicyAllowedDevices> hid_policy_allowed_devices_;
   std::unique_ptr<HidSystemTrayIcon> hid_system_tray_icon_;
 
   BuildState build_state_;
diff --git a/chrome/browser/browsing_topics/browsing_topics_internals_browsertest.cc b/chrome/browser/browsing_topics/browsing_topics_internals_browsertest.cc
index 8fc603c..bd419e77 100644
--- a/chrome/browser/browsing_topics/browsing_topics_internals_browsertest.cc
+++ b/chrome/browser/browsing_topics/browsing_topics_internals_browsertest.cc
@@ -354,16 +354,16 @@
 PrivacySandboxSettings3: disabled
 OverridePrivacySandboxSettingsLocalTesting: disabled
 BrowsingTopicsBypassIPIsPubliclyRoutableCheck: disabled
-BrowsingTopics:number_of_epochs_to_expose: 3
-BrowsingTopics:time_period_per_epoch: 7d-0h-0m-0s
-BrowsingTopics:number_of_top_topics_per_epoch: 5
-BrowsingTopics:use_random_topic_probability_percent: 5
-BrowsingTopics:number_of_epochs_of_observation_data_to_use_for_filtering: 3
-BrowsingTopics:max_number_of_api_usage_context_domains_to_keep_per_topic: 1000
-BrowsingTopics:max_number_of_api_usage_context_entries_to_load_per_epoch: 100000
-BrowsingTopics:max_number_of_api_usage_context_domains_to_store_per_page_load: 30
-BrowsingTopics:config_version: 1
-BrowsingTopics:taxonomy_version: 1
+BrowsingTopicsParameters:number_of_epochs_to_expose: 3
+BrowsingTopicsParameters:time_period_per_epoch: 7d-0h-0m-0s
+BrowsingTopicsParameters:number_of_top_topics_per_epoch: 5
+BrowsingTopicsParameters:use_random_topic_probability_percent: 5
+BrowsingTopicsParameters:number_of_epochs_of_observation_data_to_use_for_filtering: 3
+BrowsingTopicsParameters:max_number_of_api_usage_context_domains_to_keep_per_topic: 1000
+BrowsingTopicsParameters:max_number_of_api_usage_context_entries_to_load_per_epoch: 100000
+BrowsingTopicsParameters:max_number_of_api_usage_context_domains_to_store_per_page_load: 30
+BrowsingTopicsParameters:config_version: 1
+BrowsingTopicsParameters:taxonomy_version: 1
 )");
 }
 
@@ -406,9 +406,10 @@
  public:
   BrowsingTopicsInternalsBrowserTest() {
     scoped_feature_list_.InitWithFeaturesAndParameters(
-        {{blink::features::kBrowsingTopics,
+        {{blink::features::kBrowsingTopicsParameters,
           {{"number_of_top_topics_per_epoch", "2"},
            {"time_period_per_epoch", "15s"}}},
+         {blink::features::kBrowsingTopics, {}},
          {features::kPrivacySandboxAdsAPIsOverride, {}},
          {privacy_sandbox::kPrivacySandboxSettings3, {}},
          {privacy_sandbox::kPrivacySandboxSettings4,
@@ -464,16 +465,16 @@
 PrivacySandboxSettings3: enabled
 OverridePrivacySandboxSettingsLocalTesting: disabled
 BrowsingTopicsBypassIPIsPubliclyRoutableCheck: disabled
-BrowsingTopics:number_of_epochs_to_expose: 3
-BrowsingTopics:time_period_per_epoch: 0d-0h-0m-15s
-BrowsingTopics:number_of_top_topics_per_epoch: 2
-BrowsingTopics:use_random_topic_probability_percent: 5
-BrowsingTopics:number_of_epochs_of_observation_data_to_use_for_filtering: 3
-BrowsingTopics:max_number_of_api_usage_context_domains_to_keep_per_topic: 1000
-BrowsingTopics:max_number_of_api_usage_context_entries_to_load_per_epoch: 100000
-BrowsingTopics:max_number_of_api_usage_context_domains_to_store_per_page_load: 30
-BrowsingTopics:config_version: 1
-BrowsingTopics:taxonomy_version: 1
+BrowsingTopicsParameters:number_of_epochs_to_expose: 3
+BrowsingTopicsParameters:time_period_per_epoch: 0d-0h-0m-15s
+BrowsingTopicsParameters:number_of_top_topics_per_epoch: 2
+BrowsingTopicsParameters:use_random_topic_probability_percent: 5
+BrowsingTopicsParameters:number_of_epochs_of_observation_data_to_use_for_filtering: 3
+BrowsingTopicsParameters:max_number_of_api_usage_context_domains_to_keep_per_topic: 1000
+BrowsingTopicsParameters:max_number_of_api_usage_context_entries_to_load_per_epoch: 100000
+BrowsingTopicsParameters:max_number_of_api_usage_context_domains_to_store_per_page_load: 30
+BrowsingTopicsParameters:config_version: 1
+BrowsingTopicsParameters:taxonomy_version: 1
 )");
 }
 
diff --git a/chrome/browser/chrome_content_browser_client_browsertest.cc b/chrome/browser/chrome_content_browser_client_browsertest.cc
index 6415cdc..21c8c170 100644
--- a/chrome/browser/chrome_content_browser_client_browsertest.cc
+++ b/chrome/browser/chrome_content_browser_client_browsertest.cc
@@ -72,20 +72,26 @@
 #include "chrome/test/base/launchservices_utils_mac.h"
 #endif
 
-#if BUILDFLAG(FULL_SAFE_BROWSING)
+// TODO(b/283093731): Replace this macro with cloud content analysis equivalent
+// buildflag condition.
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+    BUILDFLAG(IS_CHROMEOS)
 #include "base/files/scoped_temp_dir.h"
 #include "base/test/bind.h"
 #include "base/threading/scoped_blocking_call.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"  // nogncheck
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"  // nogncheck
 #include "ui/base/clipboard/clipboard_format_type.h"
 
+// TODO(b/283093731): Replace this macro with local content analysis equivalent
+// buildflag condition.
 #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
 #include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_sdk_manager.h"  // nogncheck
 #endif
 
-#endif  // BUILDFLAG(FULL_SAFE_BROWSING)
+#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+        // BUILDFLAG(IS_CHROMEOS)
 
 namespace {
 
@@ -682,7 +688,8 @@
 
 #endif  // !BUILDFLAG(IS_ANDROID)
 
-#if BUILDFLAG(FULL_SAFE_BROWSING)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+    BUILDFLAG(IS_CHROMEOS)
 
 class IsClipboardPasteContentAllowedTest : public InProcessBrowserTest {
  public:
@@ -694,16 +701,16 @@
     InProcessBrowserTest::SetUpOnMainThread();
 
     // Make sure enterprise policies are set to turn on content analysis.
-    safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                        enterprise_connectors::BULK_DATA_ENTRY,
-                                        kBulkDataEntryPolicyValue);
-    safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                        enterprise_connectors::FILE_ATTACHED,
-                                        kFileAttachedPolicyValue);
+    enterprise_connectors::test::SetAnalysisConnector(
+        browser()->profile()->GetPrefs(),
+        enterprise_connectors::BULK_DATA_ENTRY, kBulkDataEntryPolicyValue);
+    enterprise_connectors::test::SetAnalysisConnector(
+        browser()->profile()->GetPrefs(), enterprise_connectors::FILE_ATTACHED,
+        kFileAttachedPolicyValue);
 
     enterprise_connectors::ContentAnalysisDelegate::SetFactoryForTesting(
         base::BindRepeating(
-            &enterprise_connectors::FakeContentAnalysisDelegate::Create,
+            &enterprise_connectors::test::FakeContentAnalysisDelegate::Create,
             base::DoNothing(),
             base::BindRepeating([](const std::string& contents,
                                    const base::FilePath& path) {
@@ -715,10 +722,11 @@
                     path.BaseName().AsUTF8Unsafe().substr(0, 5) == "allow";
               }
               return success
-                         ? enterprise_connectors::FakeContentAnalysisDelegate::
-                               SuccessfulResponse({"dlp"})
-                         : enterprise_connectors::FakeContentAnalysisDelegate::
-                               DlpResponse(
+                         ? enterprise_connectors::test::
+                               FakeContentAnalysisDelegate::SuccessfulResponse(
+                                   {"dlp"})
+                         : enterprise_connectors::test::
+                               FakeContentAnalysisDelegate::DlpResponse(
                                    enterprise_connectors::
                                        ContentAnalysisResponse::Result::SUCCESS,
                                    "rule-name",
@@ -883,6 +891,7 @@
             EXPECT_EQ(clipboard_paste_data->file_paths[0], paths[0]);
           }));
 }
-#endif
+#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+        // BUILDFLAG(IS_CHROMEOS)
 
 }  // namespace
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index ec4a4bdc..58daaaf1 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -101,6 +101,8 @@
     "platform_keys/extension_platform_keys_service.h",
     "platform_keys/extension_platform_keys_service_factory.cc",
     "platform_keys/extension_platform_keys_service_factory.h",
+    "platform_keys/pkcs12_reader.cc",
+    "platform_keys/pkcs12_reader.h",
     "platform_keys/platform_keys.cc",
     "platform_keys/platform_keys.h",
     "policy/dlp/clipboard_bubble.cc",
@@ -468,6 +470,7 @@
     "kcer_nss/cert_cache_nss_unittest.cc",
     "kcer_nss/kcer_nss_unittest.cc",
     "platform_keys/chaps_util_impl_unittest.cc",
+    "platform_keys/pkcs12_reader_unittest.cc",
     "policy/dlp/data_transfer_dlp_controller_unittest.cc",
     "policy/dlp/dlp_clipboard_notifier_unittest.cc",
     "policy/dlp/dlp_confidential_contents_unittest.cc",
diff --git a/chrome/browser/chromeos/extensions/telemetry/api/events/events_api_browsertest.cc b/chrome/browser/chromeos/extensions/telemetry/api/events/events_api_browsertest.cc
index bf8545e..1875e88 100644
--- a/chrome/browser/chromeos/extensions/telemetry/api/events/events_api_browsertest.cc
+++ b/chrome/browser/chromeos/extensions/telemetry/api/events/events_api_browsertest.cc
@@ -592,8 +592,16 @@
   )");
 }
 
+// TODO(crbug.com/1454755): Flaky on ChromeOS.
+#if BUILDFLAG(IS_CHROMEOS)
+#define MAYBE_KeyboardDiagnosticEventOpensDiagnosticApp \
+  DISABLED_KeyboardDiagnosticEventOpensDiagnosticApp
+#else
+#define MAYBE_KeyboardDiagnosticEventOpensDiagnosticApp \
+  KeyboardDiagnosticEventOpensDiagnosticApp
+#endif
 IN_PROC_BROWSER_TEST_F(PendingApprovalTelemetryExtensionEventsApiBrowserTest,
-                       KeyboardDiagnosticEventOpensDiagnosticApp) {
+                       MAYBE_KeyboardDiagnosticEventOpensDiagnosticApp) {
   // Open the PWA.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), GURL(pwa_page_url())));
 
diff --git a/chrome/browser/chromeos/platform_keys/chaps_slot_session.cc b/chrome/browser/chromeos/platform_keys/chaps_slot_session.cc
index bd487851..5fb6f33e 100644
--- a/chrome/browser/chromeos/platform_keys/chaps_slot_session.cc
+++ b/chrome/browser/chromeos/platform_keys/chaps_slot_session.cc
@@ -71,14 +71,15 @@
     }
     CK_C_OpenSession open_session = function_list->C_OpenSession;
     CK_C_CloseSession close_session = function_list->C_CloseSession;
+    CK_C_CreateObject create_object = function_list->C_CreateObject;
     CK_C_GenerateKeyPair generate_key_pair = function_list->C_GenerateKeyPair;
     CK_C_GetAttributeValue get_attribute_value =
         function_list->C_GetAttributeValue;
     CK_C_SetAttributeValue set_attribute_value =
         function_list->C_SetAttributeValue;
 
-    if (!open_session || !close_session || !generate_key_pair ||
-        !get_attribute_value || !set_attribute_value) {
+    if (!open_session || !close_session || !create_object ||
+        !generate_key_pair || !get_attribute_value || !set_attribute_value) {
       LogError(ErrorCode::kRequiredFunctionMissing);
       return nullptr;
     }
@@ -99,8 +100,9 @@
       return nullptr;
     }
     return base::WrapUnique(new ChapsSlotSessionImpl(
-        chaps_handle, open_session, close_session, generate_key_pair,
-        get_attribute_value, set_attribute_value, slot_id, session_handle));
+        chaps_handle, open_session, close_session, create_object,
+        generate_key_pair, get_attribute_value, set_attribute_value, slot_id,
+        session_handle));
   }
 
   ~ChapsSlotSessionImpl() override {
@@ -149,6 +151,14 @@
     return true;
   }
 
+  CK_RV CreateObject(CK_ATTRIBUTE_PTR pTemplate,
+                     CK_ULONG ulCount,
+                     CK_OBJECT_HANDLE_PTR phObject) override {
+    base::ScopedBlockingCall scoped_blocking_call(
+        FROM_HERE, base::BlockingType::WILL_BLOCK);
+    return create_object_(session_handle_, pTemplate, ulCount, phObject);
+  }
+
   CK_RV GenerateKeyPair(CK_MECHANISM_PTR pMechanism,
                         CK_ATTRIBUTE_PTR pPublicKeyTemplate,
                         CK_ULONG ulPublicKeyAttributeCount,
@@ -184,6 +194,7 @@
   ChapsSlotSessionImpl(void* chaps_handle,
                        CK_C_OpenSession open_session,
                        CK_C_CloseSession close_session,
+                       CK_C_CreateObject create_object,
                        CK_C_GenerateKeyPair generate_key_pair,
                        CK_C_GetAttributeValue get_attribute_value,
                        CK_C_SetAttributeValue set_attribute_value,
@@ -192,6 +203,7 @@
       : chaps_handle_(chaps_handle),
         open_session_(open_session),
         close_session_(close_session),
+        create_object_(create_object),
         generate_key_pair_(generate_key_pair),
         get_attribute_value_(get_attribute_value),
         set_attribute_value_(set_attribute_value),
@@ -207,6 +219,7 @@
   raw_ptr<void, ExperimentalAsh> chaps_handle_ = nullptr;
   CK_C_OpenSession open_session_ = nullptr;
   CK_C_CloseSession close_session_ = nullptr;
+  CK_C_CreateObject create_object_ = nullptr;
   CK_C_GenerateKeyPair generate_key_pair_ = nullptr;
   CK_C_GetAttributeValue get_attribute_value_ = nullptr;
   CK_C_SetAttributeValue set_attribute_value_ = nullptr;
diff --git a/chrome/browser/chromeos/platform_keys/chaps_slot_session.h b/chrome/browser/chromeos/platform_keys/chaps_slot_session.h
index ccd85b4e..fcccd8bf 100644
--- a/chrome/browser/chromeos/platform_keys/chaps_slot_session.h
+++ b/chrome/browser/chromeos/platform_keys/chaps_slot_session.h
@@ -24,6 +24,12 @@
   // Close and re-open this session.
   virtual bool ReopenSession() = 0;
 
+  // Calls C_CreateObject.
+  // PKCS #11 v2.20 section 11.7 page 128.
+  virtual CK_RV CreateObject(CK_ATTRIBUTE_PTR pTemplate,
+                             CK_ULONG ulCount,
+                             CK_OBJECT_HANDLE_PTR phObject) = 0;
+
   // Calls C_GenerateKeyPair.
   // PKCS #11 v2.20 section 11.14 page 176.
   virtual CK_RV GenerateKeyPair(CK_MECHANISM_PTR pMechanism,
diff --git a/chrome/browser/chromeos/platform_keys/chaps_util.h b/chrome/browser/chromeos/platform_keys/chaps_util.h
index fe38b12..ed05ae1 100644
--- a/chrome/browser/chromeos/platform_keys/chaps_util.h
+++ b/chrome/browser/chromeos/platform_keys/chaps_util.h
@@ -36,6 +36,17 @@
       crypto::ScopedSECKEYPublicKey* out_public_key,
       crypto::ScopedSECKEYPrivateKey* out_private_key) = 0;
 
+  // Import key and all included certificates from PKCS12 container.
+  // Imported objects will be stored in Chaps.
+  // If some of certificates can not be imported they will be skipped and
+  // Pkcs12ReaderStatusCode::kFailureDuringCertImport error will be logged.
+  // `is_software_backed` specifies whether a hardware-backed or software-backed
+  // storage is used.
+  virtual bool ImportPkcs12Certificate(PK11SlotInfo* slot,
+                                       const std::vector<uint8_t>& pkcs12_data,
+                                       const std::string& password,
+                                       bool is_software_backed) = 0;
+
   using FactoryCallback = base::RepeatingCallback<std::unique_ptr<ChapsUtil>()>;
 
   // Sets the factory which ChapsUtil::Create() will use to create ChapsUtil
diff --git a/chrome/browser/chromeos/platform_keys/chaps_util_impl.cc b/chrome/browser/chromeos/platform_keys/chaps_util_impl.cc
index b445f62..293a0a9 100644
--- a/chrome/browser/chromeos/platform_keys/chaps_util_impl.cc
+++ b/chrome/browser/chromeos/platform_keys/chaps_util_impl.cc
@@ -11,18 +11,21 @@
 #include <pkcs11t.h>
 
 #include <ostream>
-#include <string>
 #include <vector>
 
 #include "base/check.h"
 #include "base/functional/bind.h"
 #include "base/functional/callback.h"
 #include "base/logging.h"
+#include "base/strings/string_number_conversions.h"
 #include "base/strings/string_piece.h"
 #include "chrome/browser/chromeos/platform_keys/chaps_slot_session.h"
+#include "chrome/browser/chromeos/platform_keys/pkcs12_reader.h"
 #include "crypto/chaps_support.h"
 #include "crypto/scoped_nss_types.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
+#include "third_party/boringssl/src/include/openssl/mem.h"
+#include "third_party/boringssl/src/include/openssl/pkcs8.h"
 
 namespace chromeos {
 namespace platform_keys {
@@ -34,7 +37,10 @@
 constexpr CK_ATTRIBUTE_TYPE kForceSoftwareAttribute = CKA_VENDOR_DEFINED + 4;
 // Chaps sets this for keys that are software-backed.
 constexpr CK_ATTRIBUTE_TYPE kKeyInSoftware = CKA_VENDOR_DEFINED + 5;
-
+constexpr char kPkcs12ImportFailed[] = "Chaps util PKCS12 import failed with ";
+constexpr char kPkcs12KeyImportFailed[] = "Chaps util key import failed with ";
+constexpr char kPkcs12CertImportFailed[] =
+    "Chaps util cert import failed with ";
 // Wraps public key and private key PKCS#11 object handles.
 struct KeyPairHandles {
   CK_OBJECT_HANDLE public_key;
@@ -42,6 +48,7 @@
 };
 
 using Pkcs11Operation = base::RepeatingCallback<CK_RV()>;
+
 // Performs |operation| and handles return values indicating that the PKCS11
 // session has been closed by attempting to re-open the |chaps_session|.
 // This is useful because the session could be closed e.g. because NSS could
@@ -155,6 +162,16 @@
   return key_in_software;
 }
 
+crypto::ScopedSECItem MakeIdFromPubKeyNss(std::vector<CK_BYTE>& rsa_modulus) {
+  SECItem secitem_modulus;
+  secitem_modulus.data = rsa_modulus.data();
+  secitem_modulus.len = rsa_modulus.size();
+  return crypto::ScopedSECItem(PK11_MakeIDFromPubKey(&secitem_modulus));
+}
+
+std::vector<uint8_t> SECItemToBytes(const crypto::ScopedSECItem& id) {
+  return std::vector<uint8_t>(id->data, id->data + id->len);
+}
 // Create the CKA_ID value that NSS would use for |key_pair| and return it.
 crypto::ScopedSECItem CreateNssCkaId(ChapsSlotSession* chaps_session,
                                      const KeyPairHandles& key_pair) {
@@ -162,11 +179,7 @@
   if (!modulus) {
     return nullptr;
   }
-
-  SECItem secitem_modulus;
-  secitem_modulus.data = modulus->data();
-  secitem_modulus.len = modulus->size();
-  return crypto::ScopedSECItem(PK11_MakeIDFromPubKey(&secitem_modulus));
+  return MakeIdFromPubKeyNss(modulus.value());
 }
 
 // Set the CKA_ID attribute of the public and private key objects in |key_pair|
@@ -194,6 +207,218 @@
   return true;
 }
 
+std::string MakePkcs12KeyImportErrorMessage(Pkcs12ReaderStatusCode error_code) {
+  return kPkcs12KeyImportFailed +
+         base::NumberToString(static_cast<int>(error_code));
+}
+
+std::string MakePkcs12CertImportErrorMessage(
+    Pkcs12ReaderStatusCode error_code) {
+  return kPkcs12CertImportFailed +
+         base::NumberToString(static_cast<int>(error_code));
+}
+
+std::string MakePkcs12ImportErrorMessage(Pkcs12ReaderStatusCode error_code) {
+  return kPkcs12ImportFailed +
+         base::NumberToString(static_cast<int>(error_code));
+}
+Pkcs12ReaderStatusCode ImportRsaKey(ChapsSlotSession* chaps_session,
+                                    bssl::UniquePtr<EVP_PKEY> key,
+                                    bool is_software_backed,
+                                    const Pkcs12Reader* pkcs12_reader,
+                                    std::vector<uint8_t>& out_id,
+                                    CK_OBJECT_HANDLE& out_key_handle) {
+  if (!key) {
+    LOG(ERROR) << MakePkcs12KeyImportErrorMessage(
+        Pkcs12ReaderStatusCode::kKeyDataMissed);
+    return Pkcs12ReaderStatusCode::kKeyDataMissed;
+  }
+
+  // All the data variables must stay alive until `key_template` is sent to
+  // Chaps.
+  const RSA* rsa_key = EVP_PKEY_get0_RSA(key.get());
+  std::vector<uint8_t> public_modulus_bytes =
+      pkcs12_reader->BignumToBytes(RSA_get0_n(rsa_key));
+  out_id = SECItemToBytes(MakeIdFromPubKeyNss(public_modulus_bytes));
+  std::vector<uint8_t> public_exponent_bytes =
+      pkcs12_reader->BignumToBytes(RSA_get0_e(rsa_key));
+  std::vector<uint8_t> private_exponent_bytes =
+      pkcs12_reader->BignumToBytes(RSA_get0_d(rsa_key));
+  std::vector<uint8_t> prime_factor_1 =
+      pkcs12_reader->BignumToBytes(RSA_get0_p(rsa_key));
+  std::vector<uint8_t> prime_factor_2 =
+      pkcs12_reader->BignumToBytes(RSA_get0_q(rsa_key));
+  std::vector<uint8_t> exponent_1 =
+      pkcs12_reader->BignumToBytes(RSA_get0_dmp1(rsa_key));
+  std::vector<uint8_t> exponent_2 =
+      pkcs12_reader->BignumToBytes(RSA_get0_dmq1(rsa_key));
+  std::vector<uint8_t> coefficient =
+      pkcs12_reader->BignumToBytes(RSA_get0_iqmp(rsa_key));
+
+  if (public_modulus_bytes.empty() || out_id.empty() ||
+      public_exponent_bytes.empty() || private_exponent_bytes.empty() ||
+      prime_factor_1.empty() || prime_factor_2.empty() || exponent_1.empty() ||
+      exponent_2.empty() || coefficient.empty()) {
+    LOG(ERROR) << MakePkcs12KeyImportErrorMessage(
+        Pkcs12ReaderStatusCode::kKeyAttrDataMissing);
+    return Pkcs12ReaderStatusCode::kKeyAttrDataMissing;
+  }
+
+  CK_BBOOL true_value = CK_TRUE;
+  CK_OBJECT_CLASS key_class = CKO_PRIVATE_KEY;
+  CK_KEY_TYPE key_type = CKK_RSA;
+  CK_BBOOL force_software_attribute = is_software_backed ? CK_TRUE : CK_FALSE;
+  CK_ATTRIBUTE attrs[] = {
+      {CKA_CLASS, &key_class, sizeof(key_class)},
+      {CKA_KEY_TYPE, &key_type, sizeof(key_type)},
+      {CKA_TOKEN, &true_value, sizeof(CK_BBOOL)},
+      {CKA_SENSITIVE, &true_value, sizeof(CK_BBOOL)},
+      {kForceSoftwareAttribute, &force_software_attribute, sizeof(CK_BBOOL)},
+      {CKA_PRIVATE, &true_value, sizeof(CK_BBOOL)},
+      {CKA_UNWRAP, &true_value, sizeof(CK_BBOOL)},
+      {CKA_DECRYPT, &true_value, sizeof(CK_BBOOL)},
+      {CKA_SIGN, &true_value, sizeof(CK_BBOOL)},
+      {CKA_SIGN_RECOVER, &true_value, sizeof(CK_BBOOL)},
+      {CKA_MODULUS, public_modulus_bytes.data(), public_modulus_bytes.size()},
+      {CKA_ID, out_id.data(), out_id.size()},
+      {CKA_PUBLIC_EXPONENT, public_exponent_bytes.data(),
+       public_exponent_bytes.size()},
+      {CKA_PRIVATE_EXPONENT, private_exponent_bytes.data(),
+       private_exponent_bytes.size()},
+      {CKA_PRIME_1, prime_factor_1.data(), prime_factor_1.size()},
+      {CKA_PRIME_2, prime_factor_2.data(), prime_factor_2.size()},
+      {CKA_EXPONENT_1, exponent_1.data(), exponent_1.size()},
+      {CKA_EXPONENT_2, exponent_2.data(), exponent_2.size()},
+      {CKA_COEFFICIENT, coefficient.data(), coefficient.size()}};
+
+  if (!PerformWithRetries(
+          chaps_session, "CreateObject",
+          base::BindRepeating(&ChapsSlotSession::CreateObject,
+                              base::Unretained(chaps_session), attrs,
+                              /*ulCount=*/std::size(attrs), &out_key_handle))) {
+    LOG(ERROR) << MakePkcs12KeyImportErrorMessage(
+        Pkcs12ReaderStatusCode::kCreateKeyFailed);
+    return Pkcs12ReaderStatusCode::kCreateKeyFailed;
+  }
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode ImportOneCert(ChapsSlotSession* chaps_session,
+                                     X509* cert,
+                                     const std::vector<uint8_t>& id,
+                                     CK_OBJECT_HANDLE key_handle,
+                                     const Pkcs12Reader* pkcs12_helper,
+                                     bool is_software_backed) {
+  if (!cert) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(
+        Pkcs12ReaderStatusCode::kCertificateDataMissed);
+    return Pkcs12ReaderStatusCode::kCertificateDataMissed;
+  }
+
+  CK_OBJECT_CLASS cert_class = CKO_CERTIFICATE;
+  CK_CERTIFICATE_TYPE cert_type = CKC_X_509;
+  CK_BBOOL true_value = CK_TRUE;
+
+  int cert_der_size = 0;
+  bssl::UniquePtr<uint8_t> cert_der;
+  Pkcs12ReaderStatusCode get_cert_der_result =
+      pkcs12_helper->GetDerEncodedCert(cert, cert_der, cert_der_size);
+
+  if (get_cert_der_result != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(get_cert_der_result);
+    return get_cert_der_result;
+  }
+
+  base::span<const uint8_t> issuer_name_data;
+  Pkcs12ReaderStatusCode get_issuer_name_der_result =
+      pkcs12_helper->GetIssuerNameDer(cert, issuer_name_data);
+  if (get_issuer_name_der_result != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(get_issuer_name_der_result);
+    return get_issuer_name_der_result;
+  }
+
+  base::span<const uint8_t> subject_name_data;
+  Pkcs12ReaderStatusCode get_subject_name_der_result =
+      pkcs12_helper->GetSubjectNameDer(cert, subject_name_data);
+  if (get_subject_name_der_result != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(get_subject_name_der_result);
+    return get_subject_name_der_result;
+  }
+
+  int serial_number_der_size = 0;
+  bssl::UniquePtr<uint8_t> serial_number_der;
+  Pkcs12ReaderStatusCode get_serial_der_result =
+      pkcs12_helper->GetSerialNumberDer(cert, serial_number_der,
+                                        serial_number_der_size);
+  if (get_serial_der_result != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(get_serial_der_result);
+    return get_serial_der_result;
+  }
+
+  std::string label;
+  Pkcs12ReaderStatusCode get_label_result =
+      pkcs12_helper->GetLabel(cert, label);
+  if (get_label_result != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(get_label_result);
+    return get_label_result;
+  }
+
+  CK_BBOOL force_software_attribute = is_software_backed ? CK_TRUE : CK_FALSE;
+
+  CK_ATTRIBUTE attrs[] = {
+      {CKA_CLASS, &cert_class, sizeof(cert_class)},
+      {CKA_CERTIFICATE_TYPE, &cert_type, sizeof(cert_type)},
+      {CKA_TOKEN, &true_value, sizeof(true_value)},
+      {kForceSoftwareAttribute, &force_software_attribute, sizeof(CK_BBOOL)},
+      {CKA_ID, const_cast<uint8_t*>(id.data()), id.size()},
+      {CKA_LABEL, label.data(), label.size()},
+      {CKA_VALUE, cert_der.get(),
+       base::saturated_cast<CK_ULONG>(cert_der_size)},
+      {CKA_ISSUER, const_cast<uint8_t*>(issuer_name_data.data()),
+       issuer_name_data.size()},
+      {CKA_SUBJECT, const_cast<uint8_t*>(subject_name_data.data()),
+       subject_name_data.size()},
+      {CKA_SERIAL_NUMBER, serial_number_der.get(),
+       base::saturated_cast<CK_ULONG>(serial_number_der_size)}};
+
+  CK_OBJECT_HANDLE cert_handle;
+  if (!PerformWithRetries(
+          chaps_session, "CreateObject",
+          base::BindRepeating(&ChapsSlotSession::CreateObject,
+                              base::Unretained(chaps_session), attrs,
+                              /*ulCount=*/std::size(attrs), &cert_handle))) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(
+        Pkcs12ReaderStatusCode::kCreateCertFailed);
+    return Pkcs12ReaderStatusCode::kCreateCertFailed;
+  }
+
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode ImportAllCerts(ChapsSlotSession* chaps_session,
+                                      bssl::UniquePtr<STACK_OF(X509)> certs,
+                                      const std::vector<uint8_t>& id,
+                                      CK_OBJECT_HANDLE key_handle,
+                                      const Pkcs12Reader* pkcs12_helper,
+                                      bool is_software_backed) {
+  if (!certs) {
+    LOG(ERROR) << MakePkcs12CertImportErrorMessage(
+        Pkcs12ReaderStatusCode::kCertificateDataMissed);
+    return Pkcs12ReaderStatusCode::kCertificateDataMissed;
+  }
+
+  Pkcs12ReaderStatusCode is_every_cert_imported =
+      Pkcs12ReaderStatusCode::kSuccess;
+  for (size_t i = 0; i < sk_X509_num(certs.get()); ++i) {
+    if (ImportOneCert(chaps_session, sk_X509_value(certs.get(), i), id,
+                      key_handle, pkcs12_helper,
+                      is_software_backed) != Pkcs12ReaderStatusCode::kSuccess) {
+      is_every_cert_imported = Pkcs12ReaderStatusCode::kFailureDuringCertImport;
+    }
+  }
+  return is_every_cert_imported;
+}
+
 }  // namespace
 
 ChapsUtilImpl::ChapsUtilImpl(
@@ -250,10 +475,65 @@
   return true;
 }
 
+bool ChapsUtilImpl::ImportPkcs12Certificate(
+    PK11SlotInfo* slot,
+    const std::vector<uint8_t>& pkcs12_data,
+    const std::string& password,
+    bool is_software_backed) {
+  return ImportPkcs12CertificateImpl(slot, pkcs12_data, password,
+                                     is_software_backed);
+}
+
+bool ChapsUtilImpl::ImportPkcs12CertificateImpl(
+    PK11SlotInfo* slot,
+    const std::vector<uint8_t>& pkcs12_data,
+    const std::string& password,
+    const bool is_software_backed,
+    const Pkcs12Reader& pkcs12_helper_inc) {
+  std::unique_ptr<ChapsSlotSession> chaps_session =
+      GetChapsSlotSessionForSlot(slot);
+  if (!chaps_session) {
+    LOG(ERROR) << MakePkcs12ImportErrorMessage(
+        Pkcs12ReaderStatusCode::kChapsSessionMissed);
+    return false;
+  }
+
+  bssl::UniquePtr<EVP_PKEY> key;
+  bssl::UniquePtr<STACK_OF(X509)> certs;
+  Pkcs12ReaderStatusCode get_key_and_cert_status =
+      pkcs12_helper_inc.GetPkcs12KeyAndCerts(pkcs12_data, password, key, certs);
+  if (get_key_and_cert_status != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12ImportErrorMessage(get_key_and_cert_status);
+    return false;
+  }
+
+  CK_OBJECT_HANDLE key_handle;
+  // Same id will be used for the key and certs.
+  std::vector<uint8_t> cka_id_value;
+
+  Pkcs12ReaderStatusCode import_key_status =
+      ImportRsaKey(chaps_session.get(), std::move(key), is_software_backed,
+                   &pkcs12_helper_inc, cka_id_value, key_handle);
+  if (import_key_status != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12ImportErrorMessage(import_key_status);
+    return false;
+  }
+
+  Pkcs12ReaderStatusCode import_cert_status =
+      ImportAllCerts(chaps_session.get(), std::move(certs), cka_id_value,
+                     key_handle, &pkcs12_helper_inc, is_software_backed);
+  if (import_cert_status != Pkcs12ReaderStatusCode::kSuccess) {
+    LOG(ERROR) << MakePkcs12ImportErrorMessage(import_cert_status);
+    return false;
+  }
+
+  return true;
+}
+
 std::unique_ptr<ChapsSlotSession> ChapsUtilImpl::GetChapsSlotSessionForSlot(
     PK11SlotInfo* slot) {
-  if (!is_chaps_provided_slot_for_testing_ &&
-      !crypto::IsSlotProvidedByChaps(slot)) {
+  if (!slot || (!is_chaps_provided_slot_for_testing_ &&
+                !crypto::IsSlotProvidedByChaps(slot))) {
     return nullptr;
   }
 
diff --git a/chrome/browser/chromeos/platform_keys/chaps_util_impl.h b/chrome/browser/chromeos/platform_keys/chaps_util_impl.h
index f1ae8bc..3cd6631 100644
--- a/chrome/browser/chromeos/platform_keys/chaps_util_impl.h
+++ b/chrome/browser/chromeos/platform_keys/chaps_util_impl.h
@@ -10,13 +10,14 @@
 #include "base/functional/callback_forward.h"
 #include "chrome/browser/chromeos/platform_keys/chaps_slot_session.h"
 #include "chrome/browser/chromeos/platform_keys/chaps_util.h"
+#include "chrome/browser/chromeos/platform_keys/pkcs12_reader.h"
 #include "crypto/scoped_nss_types.h"
 
 namespace chromeos {
 namespace platform_keys {
 
 // Default implementation of the ChapsUtil class. Communicates with the chapsd
-// daemon using ChapsSlotSession.
+// daemon using ChapsSlotSession. Should be used on a worker thread.
 class ChapsUtilImpl : public ChapsUtil {
  public:
   ChapsUtilImpl(
@@ -29,6 +30,19 @@
       crypto::ScopedSECKEYPublicKey* out_public_key,
       crypto::ScopedSECKEYPrivateKey* out_private_key) override;
 
+  bool ImportPkcs12Certificate(PK11SlotInfo* slot,
+                               const std::vector<uint8_t>& pkcs12_data,
+                               const std::string& password,
+                               bool is_software_backed) override;
+
+  // Public for testing, allows replacing ChapsPkcs12Helper.
+  bool ImportPkcs12CertificateImpl(
+      PK11SlotInfo* slot,
+      const std::vector<uint8_t>& pkcs12_data,
+      const std::string& password,
+      const bool is_software_backed,
+      const Pkcs12Reader& pkcs12_helper1 = Pkcs12Reader());
+
   // If called with true, every slot is assumed to be a chaps-provided slot.
   void SetIsChapsProvidedSlotForTesting(
       bool is_chaps_provided_slot_for_testing) {
diff --git a/chrome/browser/chromeos/platform_keys/chaps_util_impl_unittest.cc b/chrome/browser/chromeos/platform_keys/chaps_util_impl_unittest.cc
index 44850fc..0c5cf3c 100644
--- a/chrome/browser/chromeos/platform_keys/chaps_util_impl_unittest.cc
+++ b/chrome/browser/chromeos/platform_keys/chaps_util_impl_unittest.cc
@@ -4,29 +4,32 @@
 
 #include "chrome/browser/chromeos/platform_keys/chaps_util_impl.h"
 
+#include "base/base64.h"
+#include "base/files/file_util.h"
+
 #include <pkcs11t.h>
 #include <secmodt.h>
 
 #include <map>
-#include <memory>
 #include <utility>
 #include <vector>
 
 #include "base/memory/raw_ptr.h"
 #include "chrome/browser/chromeos/platform_keys/chaps_slot_session.h"
+#include "chrome/browser/chromeos/platform_keys/pkcs12_reader.h"
 #include "crypto/nss_key_util.h"
 #include "crypto/scoped_nss_types.h"
 #include "crypto/scoped_test_nss_db.h"
+#include "net/test/test_data_directory.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
+#include "third_party/boringssl/src/include/openssl/bn.h"
 
 namespace chromeos {
 namespace platform_keys {
 namespace {
 
-using ::testing::Optional;
-
 const size_t kKeySizeBits = 2048;
 
 // TODO(b/202374261): Move these into a shared header.
@@ -35,9 +38,8 @@
 // Chaps sets this for keys that are software-backed.
 constexpr CK_ATTRIBUTE_TYPE kKeyInSoftware = CKA_VENDOR_DEFINED + 5;
 
-const auto kOptCkTrue = Optional(CK_TRUE);
-const auto kOptCkFalse = Optional(CK_FALSE);
 enum AttrValueType { kNotDefined, kCkBool, kCkUlong, kCkBytes };
+const char kPkcs12FilePassword[] = "12345";
 
 // Class helper to keep relations between all possible attribute's types,
 // attribute's names and attribute's value types.
@@ -47,44 +49,64 @@
   ~AttributesParsingOptions() = default;
 
   static std::string GetName(const CK_ATTRIBUTE& attribute) {
-    if (!GetOptionsMap().contains(attribute.type)) {
-      ADD_FAILURE() << "Attribute name is unknown :" << attribute.type;
+    if (!GetPkcs12ObjectAttrMap().contains(attribute.type)) {
+      ADD_FAILURE() << "Attribute value's type is unknown hex:" << std::hex
+                    << attribute.type;
       return "";
     }
-    return std::get<std::string>(GetOptionsMap().at(attribute.type));
+    return std::get<std::string>(GetPkcs12ObjectAttrMap().at(attribute.type));
   }
 
   static AttrValueType GetValueType(const CK_ATTRIBUTE& attribute) {
-    if (!GetOptionsMap().contains(attribute.type)) {
-      ADD_FAILURE() << "Attribute value's type is unknown :" << attribute.type;
+    if (!GetPkcs12ObjectAttrMap().contains(attribute.type)) {
+      ADD_FAILURE() << "Attribute value's type is unknown hex:" << std::hex
+                    << attribute.type;
       return AttrValueType::kNotDefined;
-    } else {
-      return std::get<AttrValueType>(GetOptionsMap().at(attribute.type));
     }
+    return std::get<AttrValueType>(GetPkcs12ObjectAttrMap().at(attribute.type));
   }
 
  private:
   static const std::map<CK_ATTRIBUTE_TYPE,
                         std::pair<AttrValueType, std::string>>&
-  GetOptionsMap() {
-    // Map which keeps relation between attribute type, attribute name
-    // and attribute value's type.
+  GetPkcs12ObjectAttrMap() {
+    // Map which keeps relation between PKCS12 object attribute type, attribute
+    // name and attribute value's type.
     static std::map<CK_ATTRIBUTE_TYPE, std::pair<AttrValueType, std::string>>
-        attr_type_to_options;
-    if (attr_type_to_options.empty()) {
-      attr_type_to_options[CKA_TOKEN] = {kCkBool, "CKA_TOKEN"};
-      attr_type_to_options[CKA_PRIVATE] = {kCkBool, "CKA_PRIVATE"};
-      attr_type_to_options[CKA_VERIFY] = {kCkBool, "CKA_VERIFY"};
-      attr_type_to_options[CKA_MODULUS_BITS] = {kCkUlong, "CKA_MODULUS_BITS"};
-      attr_type_to_options[CKA_PUBLIC_EXPONENT] = {kCkBytes,
-                                                   "CKA_PUBLIC_EXPONENT"};
-      attr_type_to_options[CKA_SENSITIVE] = {kCkBool, "CKA_SENSITIVE"};
-      attr_type_to_options[CKA_EXTRACTABLE] = {kCkBool, "CKA_EXTRACTABLE"};
-      attr_type_to_options[CKA_SIGN] = {kCkBool, "CKA_SIGN"};
-      attr_type_to_options[kForceSoftwareAttribute] = {
-          kCkBool, "kForceSoftwareAttribute"};
+        attr_map;
+    if (attr_map.empty()) {
+      attr_map[CKA_TOKEN] = {kCkBool, "CKA_TOKEN"};
+      attr_map[CKA_PRIVATE] = {kCkBool, "CKA_PRIVATE"};
+      attr_map[CKA_VERIFY] = {kCkBool, "CKA_VERIFY"};
+      attr_map[CKA_MODULUS_BITS] = {kCkUlong, "CKA_MODULUS_BITS"};
+      attr_map[CKA_PUBLIC_EXPONENT] = {kCkBytes, "CKA_PUBLIC_EXPONENT"};
+      attr_map[CKA_SENSITIVE] = {kCkBool, "CKA_SENSITIVE"};
+      attr_map[CKA_EXTRACTABLE] = {kCkBool, "CKA_EXTRACTABLE"};
+      attr_map[CKA_SIGN] = {kCkBool, "CKA_SIGN"};
+      attr_map[kForceSoftwareAttribute] = {kCkBool, "kForceSoftwareAttribute"};
+      attr_map[CKA_CLASS] = {kCkUlong, "CKA_CLASS"};
+      attr_map[CKA_KEY_TYPE] = {kCkUlong, "CKA_KEY_TYPE"};
+      attr_map[CKA_UNWRAP] = {kCkBool, "CKA_UNWRAP"};
+      attr_map[CKA_DECRYPT] = {kCkBool, "CKA_DECRYPT"};
+      attr_map[CKA_MODULUS] = {kCkBytes, "CKA_MODULUS"};
+      attr_map[CKA_SIGN_RECOVER] = {kCkBool, "CKA_SIGN_RECOVER"};
+      attr_map[CKA_ID] = {kCkBytes, "CKA_ID"};
+      attr_map[CKA_PUBLIC_EXPONENT] = {kCkBytes, "CKA_PUBLIC_EXPONENT"};
+      attr_map[CKA_PRIVATE_EXPONENT] = {kCkBytes, "CKA_PRIVATE_EXPONENT"};
+      attr_map[CKA_PRIME_1] = {kCkBytes, "CKA_PRIME_1"};
+      attr_map[CKA_PRIME_2] = {kCkBytes, "CKA_PRIME_2"};
+      attr_map[CKA_EXPONENT_1] = {kCkBytes, "CKA_EXPONENT_1"};
+      attr_map[CKA_EXPONENT_2] = {kCkBytes, "CKA_EXPONENT_2"};
+      attr_map[CKA_COEFFICIENT] = {kCkBytes, "CKA_COEFFICIENT"};
+      attr_map[CKA_LABEL] = {kCkBytes, "CKA_LABEL"};
+      attr_map[CKA_VALUE] = {kCkBytes, "CKA_VALUE"};
+      attr_map[CKA_ISSUER] = {kCkBytes, "CKA_ISSUER"};
+      attr_map[CKA_SUBJECT] = {kCkBytes, "CKA_SUBJECT"};
+      attr_map[CKA_SERIAL_NUMBER] = {kCkBytes, "CKA_SERIAL_NUMBER"};
+      attr_map[CKA_NSS_EMAIL] = {kCkBytes, "CKA_NSS_EMAIL"};
+      attr_map[CKA_CERTIFICATE_TYPE] = {kCkBytes, "CKA_CERTIFICATE_TYPE"};
     }
-    return attr_type_to_options;
+    return attr_map;
   }
 };
 
@@ -107,7 +129,7 @@
         ck_bytes_value_ = ParseCkBytes(attribute);
         break;
       case kNotDefined:
-        ADD_FAILURE() << "Parser is not defined for attribute type:"
+        ADD_FAILURE() << "Parser is not defined for attribute type:" << std::hex
                       << attribute.type;
         break;
     }
@@ -217,18 +239,31 @@
 
   // The slot_id passed into FakeChapsSlotSessionFactory.
   absl::optional<CK_SLOT_ID> slot_id;
+
   // Attributes passed for the public key template to GenerateKeyPair.
   ObjectAttributes public_key_gen_attributes;
+
   // Attributes passed for the private key template to GenerateKeyPair.
   ObjectAttributes private_key_gen_attributes;
-  // The data passed into FakeChapsSlotSession::SetAttributeValue for the CKA_ID
-  // attribute of the public key. Empty if SetAttributeValue was never called
-  // for that attribute.
+
+  // The data passed into FakeChapsSlotSession::SetAttributeValue for the
+  // CKA_ID attribute of the public key. Empty if SetAttributeValue was never
+  // called for that attribute.
   std::vector<uint8_t> public_key_cka_id;
-  // The data passed into FakeChapsSlotSession::SetAttributeValue for the CKA_ID
-  // attribute of the private key. Empty if SetAttributeValue was never called
-  // for that attribute.
+
+  // The data passed into FakeChapsSlotSession::SetAttributeValue for the
+  // CKA_ID attribute of the private key. Empty if SetAttributeValue was never
+  // called for that attribute.
   std::vector<uint8_t> private_key_cka_id;
+
+  // The data passed into FakeChapsSlotSession::SetAttributeValue for creation
+  // of key object from PKCS12 container.
+  ObjectAttributes pkcs12_key_attributes;
+
+  // The data passed into FakeChapsSlotSession::SetAttributeValue for creation
+  // of certificates objects from PKCS12 container. PKCS12 container can hold
+  // multiple certificates.
+  std::vector<ObjectAttributes> pkcs12_cert_attributes;
 };
 
 // The FakeChapsSlotSession actually generating a key pair on a NSS slot.
@@ -347,6 +382,30 @@
     return CKR_OBJECT_HANDLE_INVALID;
   }
 
+  CK_RV CreateObject(CK_ATTRIBUTE_PTR pTemplate,
+                     CK_ULONG ulCount,
+                     CK_OBJECT_HANDLE_PTR phObject) override {
+    EXPECT_TRUE(session_ok_);
+    CK_RV configured_result = ApplyConfiguredResult();
+    if (configured_result != CKR_OK) {
+      return configured_result;
+    }
+
+    ObjectAttributes parsing_result =
+        ObjectAttributes::ParseFrom(pTemplate, ulCount);
+
+    AttributeData parsed_object_type =
+        parsing_result.parsed_attributes_map[CKA_CLASS];
+    if (parsed_object_type.CkULong() == CKO_PRIVATE_KEY) {
+      passed_data_->pkcs12_key_attributes = parsing_result;
+    }
+    if (parsed_object_type.CkULong() == CKO_CERTIFICATE) {
+      passed_data_->pkcs12_cert_attributes.push_back(parsing_result);
+    }
+
+    return CKR_OK;
+  }
+
  private:
   // Applies a result configured for the current operation, if any.
   CK_RV ApplyConfiguredResult() {
@@ -407,6 +466,81 @@
   const raw_ptr<PassedData, ExperimentalAsh> passed_data_;
 };
 
+// FakePkcs12Reader helper, by default it will call methods for the
+// original object.
+class FakePkcs12Reader : public Pkcs12Reader {
+ public:
+  FakePkcs12Reader() = default;
+  ~FakePkcs12Reader() override = default;
+
+  Pkcs12ReaderStatusCode GetPkcs12KeyAndCerts(
+      const std::vector<uint8_t>& pkcs12_data,
+      const std::string& password,
+      bssl::UniquePtr<EVP_PKEY>& key,
+      bssl::UniquePtr<STACK_OF(X509)>& certs) const override {
+    if (get_pkcs12_key_and_cert_status != Pkcs12ReaderStatusCode::kSuccess) {
+      return get_pkcs12_key_and_cert_status;
+    }
+    return Pkcs12Reader::GetPkcs12KeyAndCerts(pkcs12_data, password, key,
+                                              certs);
+  }
+
+  Pkcs12ReaderStatusCode GetDerEncodedCert(X509* cert,
+                                           bssl::UniquePtr<uint8_t>& cert_der,
+                                           int& cert_der_size) const override {
+    if (get_cert_der_status != Pkcs12ReaderStatusCode::kSuccess) {
+      return get_cert_der_status;
+    }
+    return Pkcs12Reader::GetDerEncodedCert(cert, cert_der, cert_der_size);
+  }
+
+  Pkcs12ReaderStatusCode GetIssuerNameDer(
+      X509* cert,
+      base::span<const uint8_t>& issuer_name_data) const override {
+    if (get_issuer_name_der_status != Pkcs12ReaderStatusCode::kSuccess) {
+      return get_issuer_name_der_status;
+    }
+    return Pkcs12Reader::GetIssuerNameDer(cert, issuer_name_data);
+  }
+
+  Pkcs12ReaderStatusCode GetSubjectNameDer(
+      X509* cert,
+      base::span<const uint8_t>& subject_name_data) const override {
+    if (get_subject_name_der_status != Pkcs12ReaderStatusCode::kSuccess) {
+      return get_subject_name_der_status;
+    }
+    return Pkcs12Reader::GetSubjectNameDer(cert, subject_name_data);
+  }
+  Pkcs12ReaderStatusCode GetSerialNumberDer(
+      X509* cert,
+      bssl::UniquePtr<uint8_t>& serial_number_der,
+      int& serial_number_der_size) const override {
+    if (get_serial_number_der_status != Pkcs12ReaderStatusCode::kSuccess) {
+      return get_serial_number_der_status;
+    }
+    return Pkcs12Reader::GetSerialNumberDer(cert, serial_number_der,
+                                            serial_number_der_size);
+  }
+
+  std::vector<uint8_t> BignumToBytes(const BIGNUM* bignum) const override {
+    if (bignum_to_bytes_value) {
+      return bignum_to_bytes_value.value();
+    }
+    return Pkcs12Reader::BignumToBytes(bignum);
+  }
+
+  Pkcs12ReaderStatusCode get_pkcs12_key_and_cert_status =
+      Pkcs12ReaderStatusCode::kSuccess;
+  Pkcs12ReaderStatusCode get_cert_der_status = Pkcs12ReaderStatusCode::kSuccess;
+  Pkcs12ReaderStatusCode get_issuer_name_der_status =
+      Pkcs12ReaderStatusCode::kSuccess;
+  Pkcs12ReaderStatusCode get_subject_name_der_status =
+      Pkcs12ReaderStatusCode::kSuccess;
+  Pkcs12ReaderStatusCode get_serial_number_der_status =
+      Pkcs12ReaderStatusCode::kSuccess;
+  absl::optional<std::vector<uint8_t>> bignum_to_bytes_value = absl::nullopt;
+};
+
 class ChapsUtilImplTest : public ::testing::Test {
  public:
   ChapsUtilImplTest() {
@@ -422,6 +556,25 @@
   ~ChapsUtilImplTest() override = default;
 
  protected:
+  static std::vector<uint8_t> ReadTestFile(const std::string& file_name) {
+    base::FilePath file_path =
+        net::GetTestCertsDirectory().AppendASCII(file_name);
+    absl::optional<std::vector<uint8_t>> file_data = ReadFileToBytes(file_path);
+    EXPECT_TRUE(file_data.has_value());
+    if (!file_data.has_value()) {
+      return {};
+    }
+    return file_data.value();
+  }
+
+  static std::vector<uint8_t>& GetPkcs12Data() {
+    static std::vector<uint8_t> pkcs12_data_;
+    if (pkcs12_data_.empty()) {
+      pkcs12_data_ = ReadTestFile("client.p12");
+    }
+    return pkcs12_data_;
+  }
+
   crypto::ScopedTestNSSDB nss_test_db_;
   PassedData passed_data_;
 
@@ -453,25 +606,24 @@
   // Check attributes for public key.
   ObjectAttributes public_key_data = passed_data_.public_key_gen_attributes;
   const int expected_public_key_attributes = 5;
-  EXPECT_THAT(public_key_data.Size(), expected_public_key_attributes);
-  EXPECT_THAT(public_key_data.GetCkBool(CKA_TOKEN), kOptCkTrue);
-  EXPECT_THAT(public_key_data.GetCkBool(CKA_PRIVATE), kOptCkFalse);
-  EXPECT_THAT(public_key_data.GetCkBool(CKA_VERIFY), kOptCkTrue);
-  EXPECT_THAT(public_key_data.GetCkULong(CKA_MODULUS_BITS),
-              Optional((CK_ULONG)2048));
-  EXPECT_THAT(public_key_data.GetCkByte(CKA_PUBLIC_EXPONENT),
-              Optional(std::vector<CK_BYTE>{0x01, 0x00, 0x01}));
+  EXPECT_EQ(public_key_data.Size(), expected_public_key_attributes);
+  EXPECT_EQ(public_key_data.GetCkBool(CKA_TOKEN), CK_TRUE);
+  EXPECT_EQ(public_key_data.GetCkBool(CKA_PRIVATE), CK_FALSE);
+  EXPECT_EQ(public_key_data.GetCkBool(CKA_VERIFY), CK_TRUE);
+  EXPECT_EQ(public_key_data.GetCkULong(CKA_MODULUS_BITS), (CK_ULONG)2048);
+  EXPECT_EQ(public_key_data.GetCkByte(CKA_PUBLIC_EXPONENT),
+            (std::vector<CK_BYTE>{0x01, 0x00, 0x01}));
 
   // Check attributes for private key.
   ObjectAttributes private_key_data = passed_data_.private_key_gen_attributes;
   const int expected_private_key_attributes = 6;
-  EXPECT_THAT(private_key_data.Size(), expected_private_key_attributes);
-  EXPECT_THAT(private_key_data.GetCkBool(CKA_TOKEN), kOptCkTrue);
-  EXPECT_THAT(private_key_data.GetCkBool(CKA_PRIVATE), kOptCkTrue);
-  EXPECT_THAT(private_key_data.GetCkBool(CKA_SENSITIVE), kOptCkTrue);
-  EXPECT_THAT(private_key_data.GetCkBool(CKA_EXTRACTABLE), kOptCkFalse);
-  EXPECT_THAT(private_key_data.GetCkBool(kForceSoftwareAttribute), kOptCkTrue);
-  EXPECT_THAT(private_key_data.GetCkBool(CKA_SIGN), kOptCkTrue);
+  EXPECT_EQ(private_key_data.Size(), expected_private_key_attributes);
+  EXPECT_EQ(private_key_data.GetCkBool(CKA_TOKEN), CK_TRUE);
+  EXPECT_EQ(private_key_data.GetCkBool(CKA_PRIVATE), CK_TRUE);
+  EXPECT_EQ(private_key_data.GetCkBool(CKA_SENSITIVE), CK_TRUE);
+  EXPECT_EQ(private_key_data.GetCkBool(CKA_EXTRACTABLE), CK_FALSE);
+  EXPECT_EQ(private_key_data.GetCkBool(kForceSoftwareAttribute), CK_TRUE);
+  EXPECT_EQ(private_key_data.GetCkBool(CKA_SIGN), CK_TRUE);
 
   // Verify that ChapsUtil attempted to assign the correct CKA_ID to the public
   // and private key objects.
@@ -480,6 +632,165 @@
   EXPECT_EQ(passed_data_.private_key_cka_id, expected_cka_id);
 }
 
+// Verify that ChapsUtil passed the correct slot id to the factory.
+TEST_F(ChapsUtilImplTest, ImportPkcs12CertificateSuccessSlotOk) {
+  chaps_util_impl_->ImportPkcs12Certificate(
+      nss_test_db_.slot(), GetPkcs12Data(), kPkcs12FilePassword,
+      /*is_software_backed=*/true);
+
+  EXPECT_EQ(passed_data_.slot_id, PK11_GetSlotID(nss_test_db_.slot()));
+}
+
+// Successfully import public key and single certificate from PKCS12 file to
+// Chaps software slot.
+TEST_F(ChapsUtilImplTest, ImportPkcs12EnforceSoftwareBackedSuccess) {
+  using OPTIONAL_CK_BYTE_VECTOR = absl::optional<std::vector<CK_BYTE>>;
+  std::map<CK_ATTRIBUTE_TYPE, OPTIONAL_CK_BYTE_VECTOR> expected_key_data;
+  // Strings below have hardcoded fields from "client.p12" which is referenced
+  // by GetPkcs12Data(), they are Base64Encoded for the shorter representation.
+  // You can print original CkByte values from the key_data using this example:
+  // std::cout << base::Base64Encode(std::move(*key_data.GetCkByte(CKA_LABEL)));
+  expected_key_data[CKA_MODULUS] = base::Base64Decode(
+      "1JC7k5aWwwOpqoiNzoRHLRdmzH9h4kVmFlBU/vZ5e7hCSnnIbVJilMxDB+p0b7ozw1/"
+      "bHvsRqikARkMc0OnC4EMnm6BEopqiyOnNGBy1qXwol5Mw8T8zwlzJl7FQdQdlH7pMxuID8hZ"
+      "Eu8VkoEyLYJVJ1Ylaasc5BC0pHxZdNKk=");
+  expected_key_data[CKA_ID] =
+      base::Base64Decode("U65QueEa+ljfdKySfD6QbFrXEcM=");
+  expected_key_data[CKA_PUBLIC_EXPONENT] = base::Base64Decode("AQAB");
+  expected_key_data[CKA_PRIVATE_EXPONENT] = base::Base64Decode(
+      "y/k2hiFy+h+BqArxSMLWKgbStlll7GL7212qsh6B5J6jviOumHj98BsyF1577"
+      "NqY4VoSQmBaSxadFM9Bz5cBT8IrKr2/FjL1AC+wgdwUvGvbD426zN4Yb59cTf/"
+      "bhNkvd2xocFPHeMDETFD6ISEcV6YLbPAtNlom7qVxlSTn1KE=");
+  expected_key_data[CKA_PRIME_1] = base::Base64Decode(
+      "8W127p18wtuvUBxz7MtZgAPk/1OGLj1RJghuVYbHaCJ9sT5AzK8eNcRqCld/"
+      "bKABDdmYf3QHKYDx+vcrhcNF8w==");
+  expected_key_data[CKA_PRIME_2] = base::Base64Decode(
+      "4WVKE2h5oF7HYpX2sLgHXFhM77k6Hb1MalKk1MvXSYeKLnFf1Xh4Af2tUR73RmG/Mp/"
+      "evvUMu6h4AvlGvn+18w==");
+  expected_key_data[CKA_EXPONENT_1] = base::Base64Decode(
+      "SUZzCXstKaspq4PnP2B8upj0APalzBT6MzPt4PF2RknpokkFu9oOrjz9/"
+      "kOOPjbV+xEm8tAReGxVhVlNkVyyNw==");
+  expected_key_data[CKA_EXPONENT_2] = base::Base64Decode(
+      "DkFqwvl7n9H+yFR1ys2I4aVQEGVlsJXVbHAXrsHJtwPUkIVpK0Y4SN/"
+      "zg0rzFsd94UTNQMSc7o2EMaP0fn3zUw==");
+  expected_key_data[CKA_COEFFICIENT] = base::Base64Decode(
+      "mV2Q/My7RVOOsSZGDEouCYMcVahOFWS84IcpYRwR9ds0KZ4hKcdyMGNR5/4ryvr9XMA+DBR/"
+      "L9GBSWe6CeK3RQ==");
+
+  std::map<CK_ATTRIBUTE_TYPE, OPTIONAL_CK_BYTE_VECTOR> expected_cert_data;
+  // Strings below have hardcoded fields from "client.p12" which is referenced
+  // by GetPkcs12Data(), they are Base64Encoded for shorter representation.
+  // You can print original CkByte values from the key_data using this example:
+  // std::cout << base::Base64Encode(std::move(*key_data.GetCkByte(CKA_LABEL)));
+  expected_cert_data[CKA_CERTIFICATE_TYPE] = base::Base64Decode("AAAAAAAAAAA=");
+  expected_cert_data[CKA_ID] =
+      base::Base64Decode("U65QueEa+ljfdKySfD6QbFrXEcM=");
+  expected_cert_data[CKA_LABEL] = base::Base64Decode("dGVzdHVzZXJjZXJ0");
+  expected_cert_data[CKA_VALUE] = base::Base64Decode(
+      "MIICpTCCAg6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBWMQswCQYDVQQGEwJBVTETMBEGA1UE"
+      "CBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQ8wDQYD"
+      "VQQDEwZ0ZXN0Y2EwIBcNMTAwNzMwMDEwMjEyWhgPMjA2MDA3MTcwMTAyMTJaMFwxCzAJBgNV"
+      "BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRz"
+      "IFB0eSBMdGQxFTATBgNVBAMTDHRlc3R1c2VyY2VydDCBnzANBgkqhkiG9w0BAQEFAAOBjQAw"
+      "gYkCgYEA1JC7k5aWwwOpqoiNzoRHLRdmzH9h4kVmFlBU/"
+      "vZ5e7hCSnnIbVJilMxDB+p0b7ozw1/"
+      "bHvsRqikARkMc0OnC4EMnm6BEopqiyOnNGBy1qXwol5Mw8T8zwlzJl7FQdQdlH7pMxuID8hZ"
+      "Eu8VkoEyLYJVJ1Ylaasc5BC0pHxZdNKkCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvh"
+      "CAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFHqEH18NKRV"
+      "bhkqTT8swZq22Dc4YMB8GA1UdIwQYMBaAFE8aGkwMhipgaDysVMfu3JaN29ILMA0GCSqGSIb"
+      "3DQEBBQUAA4GBAKMT7cwjZtgmkFrJPAa/"
+      "oOt1cdoBD7MqErx+tdvVN62q0h0Vl6UM3a94Ic0/"
+      "sv1V8RT5TUYUyyuepr2Gm58uqkcbI3qflveVcvi96n7fCCo6NwxbKHmpVOx+"
+      "wcPlHtjfek2KGQnee3mEN0YY/HOP5Rvj0Bh302kLrfgFx3xN1G5I");
+  expected_cert_data[CKA_ISSUER] = base::Base64Decode(
+      "MFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5l"
+      "dCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYQ==");
+  expected_cert_data[CKA_SUBJECT] = base::Base64Decode(
+      "MFwxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5l"
+      "dCBXaWRnaXRzIFB0eSBMdGQxFTATBgNVBAMTDHRlc3R1c2VyY2VydA==");
+  expected_cert_data[CKA_SERIAL_NUMBER] = base::Base64Decode("AgEB");
+  chaps_util_impl_->ImportPkcs12Certificate(
+      nss_test_db_.slot(), GetPkcs12Data(), kPkcs12FilePassword,
+      /*is_software_backed=*/true);
+
+  // Verify that ChapsUtil passed the correct slot id to the factory.
+  EXPECT_EQ(passed_data_.slot_id, PK11_GetSlotID(nss_test_db_.slot()));
+
+  // Verify that ChapsUtil passed the expected attributes.
+  // Check attributes for private key.
+  ObjectAttributes key_data = passed_data_.pkcs12_key_attributes;
+  const int expected_private_key_attributes = 19;
+  EXPECT_EQ(key_data.Size(), expected_private_key_attributes);
+  EXPECT_EQ(key_data.GetCkULong(CKA_CLASS), CKO_PRIVATE_KEY);
+  EXPECT_EQ(key_data.GetCkULong(CKA_KEY_TYPE), CKK_RSA);
+  EXPECT_EQ(key_data.GetCkBool(CKA_TOKEN), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(CKA_SENSITIVE), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(kForceSoftwareAttribute), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(CKA_PRIVATE), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(CKA_UNWRAP), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(CKA_DECRYPT), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(CKA_SIGN), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkBool(CKA_SIGN_RECOVER), CK_TRUE);
+  EXPECT_EQ(key_data.GetCkByte(CKA_MODULUS), expected_key_data[CKA_MODULUS]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_ID), expected_key_data[CKA_ID]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_PUBLIC_EXPONENT),
+            expected_key_data[CKA_PUBLIC_EXPONENT]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_PRIVATE_EXPONENT),
+            expected_key_data[CKA_PRIVATE_EXPONENT]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_PRIME_1), expected_key_data[CKA_PRIME_1]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_PRIME_2), expected_key_data[CKA_PRIME_2]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_EXPONENT_1),
+            expected_key_data[CKA_EXPONENT_1]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_EXPONENT_2),
+            expected_key_data[CKA_EXPONENT_2]);
+  EXPECT_EQ(key_data.GetCkByte(CKA_COEFFICIENT),
+            expected_key_data[CKA_COEFFICIENT]);
+
+  // Checking attributes for certificate.
+  ObjectAttributes cert_data = passed_data_.pkcs12_cert_attributes[0];
+  const int expected_cert_attributes = 10;
+  EXPECT_EQ(cert_data.Size(), expected_cert_attributes);
+  EXPECT_EQ(cert_data.GetCkBool(CKA_TOKEN), CK_TRUE);
+  EXPECT_EQ(cert_data.GetCkULong(CKA_CLASS), CKO_CERTIFICATE);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_CERTIFICATE_TYPE),
+            expected_cert_data[CKA_CERTIFICATE_TYPE]);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_ID), expected_cert_data[CKA_ID]);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_VALUE), expected_cert_data[CKA_VALUE]);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_ISSUER), expected_cert_data[CKA_ISSUER]);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_SUBJECT), expected_cert_data[CKA_SUBJECT]);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_SERIAL_NUMBER),
+            expected_cert_data[CKA_SERIAL_NUMBER]);
+  EXPECT_EQ(cert_data.GetCkByte(CKA_LABEL), expected_cert_data[CKA_LABEL]);
+}
+
+// This is same test as ImportPkcs12EnforceSoftBackSuccess but with
+// kKeyInSoftware = false, so key will be hardware backed.
+// Only number of stored attributes and required minimum of values is checked,
+// because we use same pkcs12 file "client.p12" and all values match already
+// checked in  ImportPkcs12EnforceSoftwareBackedSuccess test.
+TEST_F(ChapsUtilImplTest, ImportPkcs12HardwareBackedSuccess) {
+  chaps_util_impl_->ImportPkcs12Certificate(
+      nss_test_db_.slot(), GetPkcs12Data(), kPkcs12FilePassword,
+      /*is_software_backed=*/false);
+
+  // Verify that ChapsUtil passed the correct slot id to the factory.
+  EXPECT_EQ(passed_data_.slot_id, PK11_GetSlotID(nss_test_db_.slot()));
+
+  // Verify that ChapsUtil passed the expected attributes.
+  // Check only kForceSoftwareAttribute attribute for private key.
+  ObjectAttributes key_data = passed_data_.pkcs12_key_attributes;
+  const int expected_private_key_attributes = 19;
+  EXPECT_EQ(key_data.Size(), expected_private_key_attributes);
+  EXPECT_EQ(key_data.GetCkULong(CKA_CLASS), CKO_PRIVATE_KEY);
+  EXPECT_EQ(key_data.GetCkULong(CKA_KEY_TYPE), CKK_RSA);
+  EXPECT_EQ(key_data.GetCkBool(kForceSoftwareAttribute), CK_FALSE);
+
+  // Check only number of attributes for certificate.
+  ObjectAttributes cert_data = passed_data_.pkcs12_cert_attributes[0];
+  const int expected_cert_attributes = 10;
+  EXPECT_EQ(cert_data.Size(), expected_cert_attributes);
+}
+
 // The passed slot is not provided by chaps. The operation fails.
 TEST_F(ChapsUtilImplTest, NotChapsProvidedSlot) {
   chaps_util_impl_->SetIsChapsProvidedSlotForTesting(false);
@@ -571,6 +882,103 @@
   EXPECT_EQ(passed_data_.reopen_session_call_count, 1);
 }
 
+class ChapsUtilPKCS12ImportTest : public ChapsUtilImplTest {
+ public:
+  ChapsUtilPKCS12ImportTest() {
+    GetPkcs12Data();
+    EXPECT_FALSE(GetPkcs12Data().empty());
+  }
+
+  bool RunImportPkcs12Certificate() {
+    return chaps_util_impl_->ImportPkcs12CertificateImpl(
+        nss_test_db_.slot(), GetPkcs12Data(), kPkcs12FilePassword,
+        /*is_software_backed=*/true, fake_pkcs12_reader_);
+  }
+
+  FakePkcs12Reader fake_pkcs12_reader_;
+};
+
+TEST_F(ChapsUtilPKCS12ImportTest, DefaultCasePKCS12ImportSuccessful) {
+  bool import_result = RunImportPkcs12Certificate();
+
+  EXPECT_EQ(import_result, true);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, NoChapsSessionPKCS12ImportFailed) {
+  bool import_result = chaps_util_impl_->ImportPkcs12CertificateImpl(
+      /*slot=*/nullptr, GetPkcs12Data(), kPkcs12FilePassword,
+      /*is_software_backed=*/true, fake_pkcs12_reader_);
+
+  EXPECT_EQ(import_result, false);
+}
+
+// Failed import PKCS12 due to empty keys.
+TEST_F(ChapsUtilPKCS12ImportTest, EmptyKeyPtrPKCS12ImportFailed) {
+  fake_pkcs12_reader_.get_pkcs12_key_and_cert_status =
+      Pkcs12ReaderStatusCode::kKeyExtractionFailed;
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+// Failed import PKCS12 due to missed key attribute.
+TEST_F(ChapsUtilPKCS12ImportTest, MissedKeyAttributePKCS12ImportFailed) {
+  std::vector<uint8_t> empty_vector({});
+  // This will set all attributes to empty.
+  fake_pkcs12_reader_.bignum_to_bytes_value = absl::make_optional(empty_vector);
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, ImportOfKeyFailedPKCS12ImportFailed) {
+  // Mock CreateObject operations result.
+  passed_data_.operation_results[0] = CKR_GENERAL_ERROR;
+
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, FailedGetCertDerPKCS12ImportFailed) {
+  fake_pkcs12_reader_.get_cert_der_status =
+      Pkcs12ReaderStatusCode::kKeyExtractionFailed;
+
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, FailedGetIssuerNameDerPKCS12ImportFailed) {
+  fake_pkcs12_reader_.get_issuer_name_der_status =
+      Pkcs12ReaderStatusCode::kPkcs12CertIssuerDerNameFailed;
+
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, FailedGetSubjectNameDerPKCS12ImportFailed) {
+  fake_pkcs12_reader_.get_subject_name_der_status =
+      Pkcs12ReaderStatusCode::kPkcs12CertSubjectNameDerFailed;
+
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, FailedGetSerialNumberDerPKCS12ImportFailed) {
+  fake_pkcs12_reader_.get_serial_number_der_status =
+      Pkcs12ReaderStatusCode::kPkcs12CertSerialNumberDerFailed;
+
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
+TEST_F(ChapsUtilPKCS12ImportTest, CertObjectCreationFailedPKCS12ImportFailed) {
+  // Mock CreateObject operations result for key import.
+  passed_data_.operation_results[0] = CKR_OK;
+  // Mock CreateObject operations result for the certificate import.
+  passed_data_.operation_results[1] = CKR_GENERAL_ERROR;
+
+  bool import_result = RunImportPkcs12Certificate();
+  EXPECT_EQ(import_result, false);
+}
+
 }  // namespace
 }  // namespace platform_keys
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/platform_keys/pkcs12_reader.cc b/chrome/browser/chromeos/platform_keys/pkcs12_reader.cc
new file mode 100644
index 0000000..258a6d1c
--- /dev/null
+++ b/chrome/browser/chromeos/platform_keys/pkcs12_reader.cc
@@ -0,0 +1,146 @@
+// 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 <vector>
+
+#include "chrome/browser/chromeos/platform_keys/pkcs12_reader.h"
+#include "third_party/boringssl/src/include/openssl/bn.h"
+#include "third_party/boringssl/src/include/openssl/mem.h"
+#include "third_party/boringssl/src/include/openssl/pkcs8.h"
+
+namespace chromeos::platform_keys {
+
+std::vector<uint8_t> Pkcs12Reader::BignumToBytes(const BIGNUM* bignum) const {
+  std::vector<uint8_t> result(BN_num_bytes(bignum));
+  BN_bn2bin(bignum, result.data());
+
+  return result;
+}
+
+Pkcs12ReaderStatusCode Pkcs12Reader::GetPkcs12KeyAndCerts(
+    const std::vector<uint8_t>& pkcs12_data,
+    const std::string& password,
+    bssl::UniquePtr<EVP_PKEY>& key,
+    bssl::UniquePtr<STACK_OF(X509)>& certs) const {
+  CBS pkcs12;
+  CBS_init(&pkcs12, reinterpret_cast<const uint8_t*>(pkcs12_data.data()),
+           pkcs12_data.size());
+  if (!pkcs12.data || pkcs12.len <= 0) {
+    return Pkcs12ReaderStatusCode::kMissedPkcs12Data;
+  }
+
+  EVP_PKEY* key_ptr = nullptr;
+  certs = bssl::UniquePtr<STACK_OF(X509)>(sk_X509_new_null());
+  const int get_key_and_cert_result = PKCS12_get_key_and_certs(
+      &key_ptr, certs.get(), &pkcs12, password.c_str());
+  key = bssl::UniquePtr<EVP_PKEY>(key_ptr);
+  if (!get_key_and_cert_result || !key_ptr) {
+    return Pkcs12ReaderStatusCode::kFailedToParsePkcs12Data;
+  }
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode Pkcs12Reader::GetDerEncodedCert(
+    X509* cert,
+    bssl::UniquePtr<uint8_t>& cert_der,
+    int& cert_der_size) const {
+  if (!cert) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertDerMissed;
+  }
+
+  uint8_t* cert_der_ptr = nullptr;
+  cert_der_size = i2d_X509(cert, &cert_der_ptr);
+  cert_der = bssl::UniquePtr<uint8_t>(cert_der_ptr);
+  if (cert_der_size <= 0) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertDerFailed;
+  }
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode Pkcs12Reader::GetIssuerNameDer(
+    X509* cert,
+    base::span<const uint8_t>& issuer_name_data) const {
+  if (!cert) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertIssuerNameMissed;
+  }
+
+  X509_NAME* issuer_name = X509_get_issuer_name(cert);
+  if (!issuer_name) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertIssuerNameMissed;
+  }
+
+  const uint8_t* name_der;
+  size_t name_der_size;
+  if (!X509_NAME_get0_der(issuer_name, &name_der, &name_der_size)) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertIssuerDerNameFailed;
+  }
+  issuer_name_data = {name_der, name_der_size};
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode Pkcs12Reader::GetSubjectNameDer(
+    X509* cert,
+    base::span<const uint8_t>& subject_name_data) const {
+  if (!cert) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertSubjectNameMissed;
+  }
+
+  X509_NAME* subject_name = X509_get_subject_name(cert);
+  if (!subject_name) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertSubjectNameMissed;
+  }
+
+  const uint8_t* name_der;
+  size_t name_der_size;
+  if (!X509_NAME_get0_der(subject_name, &name_der, &name_der_size)) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertSubjectNameDerFailed;
+  }
+  subject_name_data = {name_der, name_der_size};
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode Pkcs12Reader::GetSerialNumberDer(
+    X509* cert,
+    bssl::UniquePtr<uint8_t>& der_serial_number,
+    int& der_serial_number_size) const {
+  if (!cert) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertSerialNumberMissed;
+  }
+
+  const ASN1_INTEGER* serial_number = X509_get0_serialNumber(cert);
+  uint8_t* der_serial_number_ptr = nullptr;
+  der_serial_number_size =
+      i2d_ASN1_INTEGER(serial_number, &der_serial_number_ptr);
+  der_serial_number = bssl::UniquePtr<uint8_t>(der_serial_number_ptr);
+  if (der_serial_number_size < 0) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertSerialNumberDerFailed;
+  }
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+Pkcs12ReaderStatusCode Pkcs12Reader::GetLabel(X509* cert,
+                                              std::string& label) const {
+  if (!cert) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertIssuerNameMissed;
+  }
+
+  // This is basic implementation which is using common name from the
+  // Subject name for the label.
+  // TODO(b/284144984): Replace with proper implementation and update tests.
+  X509_NAME* subject_name = X509_get_subject_name(cert);
+  if (!subject_name) {
+    return Pkcs12ReaderStatusCode::kPkcs12CertIssuerNameMissed;
+  }
+
+  char temp_label[512] = "";
+  int get_label_result = X509_NAME_get_text_by_NID(
+      subject_name, NID_commonName, temp_label, sizeof(temp_label));
+  if (!get_label_result) {
+    return Pkcs12ReaderStatusCode::kPkcs12LabelCreationFailed;
+  }
+
+  label = temp_label;
+  return Pkcs12ReaderStatusCode::kSuccess;
+}
+
+}  // namespace chromeos::platform_keys
diff --git a/chrome/browser/chromeos/platform_keys/pkcs12_reader.h b/chrome/browser/chromeos/platform_keys/pkcs12_reader.h
new file mode 100644
index 0000000..313361cf
--- /dev/null
+++ b/chrome/browser/chromeos/platform_keys/pkcs12_reader.h
@@ -0,0 +1,90 @@
+// 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_CHROMEOS_PLATFORM_KEYS_PKCS12_READER_H_
+#define CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_PKCS12_READER_H_
+
+#include "base/containers/span.h"
+#include "chrome/browser/chromeos/platform_keys/chaps_slot_session.h"
+#include "third_party/boringssl/src/include/openssl/pkcs7.h"
+
+namespace chromeos::platform_keys {
+
+enum class Pkcs12ReaderStatusCode {
+  kSuccess = 0,
+  kCreateKeyFailed = 1,
+  kCertificateDataMissed = 2,
+  kCreateCertFailed = 3,
+  kKeyDataMissed = 4,
+  kKeyExtractionFailed = 5,
+  kChapsSessionMissed = 6,
+  kPkcs12CertDerMissed = 7,
+  kPkcs12CertDerFailed = 8,
+  kPkcs12CertIssuerNameMissed = 9,
+  kPkcs12CertIssuerDerNameFailed = 10,
+  kPkcs12CertSubjectNameMissed = 11,
+  kPkcs12CertSubjectNameDerFailed = 12,
+  kPkcs12CertSerialNumberMissed = 13,
+  kPkcs12CertSerialNumberDerFailed = 14,
+  kKeyAttrDataMissing = 15,
+  kFailureDuringCertImport = 16,
+  kFailedToParsePkcs12Data = 17,
+  kMissedPkcs12Data = 18,
+  kPkcs12LabelCreationFailed = 19,
+};
+
+// Class helper for operations with X509 certificates data which are required
+// for storing keys and certificates in Chaps.
+class Pkcs12Reader {
+ public:
+  Pkcs12Reader() = default;
+
+  virtual ~Pkcs12Reader() = default;
+
+  // Populates key and certificates (`key`, `certs`) from the PKCS#12 object
+  // `pkcs12_data` protected by the `password`. Returns status code.
+  virtual Pkcs12ReaderStatusCode GetPkcs12KeyAndCerts(
+      const std::vector<uint8_t>& pkcs12_data,
+      const std::string& password,
+      bssl::UniquePtr<EVP_PKEY>& key,
+      bssl::UniquePtr<STACK_OF(X509)>& certs) const;
+
+  // Populates der encoded certificate and its size (`cert_der`,
+  // `cert_der_size`) from X509 (`cert`). Returns status code.
+  virtual Pkcs12ReaderStatusCode GetDerEncodedCert(
+      X509* cert,
+      bssl::UniquePtr<uint8_t>& cert_der,
+      int& cert_der_size) const;
+
+  // Populates der encoded issuer name and its size (`issuer_name_data`) from
+  // X509 (`cert`). `issuer_name_data` remains valid only as long as the cert is
+  // alive because it is only referencing data. Returns status code.
+  virtual Pkcs12ReaderStatusCode GetIssuerNameDer(
+      X509* cert,
+      base::span<const uint8_t>& issuer_name_data) const;
+
+  // Populates der encoded subject name and its size (`subject_name_data`) from
+  // X509 (`cert`). `subject_name_data` remains valid only as long as the cert
+  // is alive because it is only referencing data. Returns status code.
+  virtual Pkcs12ReaderStatusCode GetSubjectNameDer(
+      X509* cert,
+      base::span<const uint8_t>& subject_name_data) const;
+
+  // Populates der encoded serial number and its size (`serial_number_der`,
+  // `serial_number_der_size`) from X509 (`cert`). Returns status code.
+  virtual Pkcs12ReaderStatusCode GetSerialNumberDer(
+      X509* cert,
+      bssl::UniquePtr<uint8_t>& serial_number_der,
+      int& serial_number_der_size) const;
+
+  // Populates label (`label`) from X509 (`cert`). Returns status code.
+  virtual Pkcs12ReaderStatusCode GetLabel(X509* cert, std::string& label) const;
+
+  // Converts BIGNUM (`bignum`) to bytes.
+  virtual std::vector<uint8_t> BignumToBytes(const BIGNUM* bignum) const;
+};
+
+}  // namespace chromeos::platform_keys
+
+#endif  // CHROME_BROWSER_CHROMEOS_PLATFORM_KEYS_PKCS12_READER_H_
diff --git a/chrome/browser/chromeos/platform_keys/pkcs12_reader_unittest.cc b/chrome/browser/chromeos/platform_keys/pkcs12_reader_unittest.cc
new file mode 100644
index 0000000..b3cefec9
--- /dev/null
+++ b/chrome/browser/chromeos/platform_keys/pkcs12_reader_unittest.cc
@@ -0,0 +1,329 @@
+// 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 <vector>
+
+#include "chrome/browser/chromeos/platform_keys/pkcs12_reader.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "third_party/boringssl/src/include/openssl/mem.h"
+#include "third_party/boringssl/src/include/openssl/x509.h"
+
+namespace chromeos::platform_keys {
+namespace {
+
+const char kPkcs12FilePassword[] = "12345";
+
+// Custom X509 object creation allows to avoid calls to X509_free()
+// after every test where X509 objects are required.
+struct X509Deleter {
+  void operator()(X509* cert) { X509_free(cert); }
+};
+using ScopedX509 = std::unique_ptr<X509, X509Deleter>;
+ScopedX509 X509New() {
+  return ScopedX509(X509_new());
+}
+
+// Custom X509_NAME object creation allows to avoid calls to X509_NAME_free()
+// after every test where X509_NAME objects are required.
+struct X509NameDeleter {
+  void operator()(X509_NAME* name) { X509_NAME_free(name); }
+};
+using ScopedX509_NAME = std::unique_ptr<X509_NAME, X509NameDeleter>;
+ScopedX509_NAME X509NameNew() {
+  return ScopedX509_NAME(X509_NAME_new());
+}
+
+// Tests for testing methods in chaps_util_helper.cc
+// ChapsUtilImplTest is testing successful import and values, these tests
+// are mainly checking errors handling.
+class Pkcs12ReaderTest : public ::testing::Test {
+ public:
+  Pkcs12ReaderTest() { pkcs12Reader_ = std::make_unique<Pkcs12Reader>(); }
+  Pkcs12ReaderTest(const Pkcs12ReaderTest&) = delete;
+  Pkcs12ReaderTest& operator=(const Pkcs12ReaderTest&) = delete;
+  ~Pkcs12ReaderTest() override = default;
+
+  Pkcs12ReaderStatusCode GetSerialNumberDer(X509* cert) {
+    int serial_number_der_size;
+    bssl::UniquePtr<uint8_t> serial_number_der;
+    return pkcs12Reader_->GetSerialNumberDer(cert, serial_number_der,
+                                             serial_number_der_size);
+  }
+
+  Pkcs12ReaderStatusCode GetIssuerNameDer(X509* cert) {
+    base::span<const uint8_t> issuer_name_data;
+    return pkcs12Reader_->GetIssuerNameDer(cert, issuer_name_data);
+  }
+
+  Pkcs12ReaderStatusCode GetSubjectNameDer(X509* cert) {
+    base::span<const uint8_t> subject_name_data;
+    return pkcs12Reader_->GetSubjectNameDer(cert, subject_name_data);
+  }
+
+  Pkcs12ReaderStatusCode GetDerEncodedCert(X509* cert) {
+    int cert_der_size;
+    bssl::UniquePtr<uint8_t> cert_der_ptr;
+    return pkcs12Reader_->GetDerEncodedCert(cert, cert_der_ptr, cert_der_size);
+  }
+
+  Pkcs12ReaderStatusCode GetLabel(X509* cert) {
+    std::string label;
+    return pkcs12Reader_->GetLabel(cert, label);
+  }
+
+  void SetFieldToX509Name(X509_NAME* X509_name,
+                          const char field[],
+                          unsigned char value[]) {
+    X509_NAME_add_entry_by_txt(X509_name,
+                               /*field=*/field,
+                               /*type=*/MBSTRING_ASC,
+                               /*bytes=*/value,
+                               /*len=*/-1,
+                               /*loc=*/-1,
+                               /*set=*/0);
+  }
+
+  void SetOrgDataToX509Name(X509_NAME* X509_name) {
+    // Country
+    unsigned char country_name[] = "DE";
+    SetFieldToX509Name(X509_name, "C", country_name);
+
+    // Company/Organization
+    unsigned char org_name[] = "Test company";
+    SetFieldToX509Name(X509_name, "O", org_name);
+
+    // Common name
+    unsigned char common_name[] = "common_name";
+    SetFieldToX509Name(X509_name, "CN", common_name);
+  }
+
+ protected:
+  std::unique_ptr<Pkcs12Reader> pkcs12Reader_;
+};
+
+TEST_F(Pkcs12ReaderTest, EmptyBigNumReturnsEmptyVector) {
+  BIGNUM* bignum = new BIGNUM();
+  BN_zero(bignum);
+  std::vector<uint8_t> expected_empty_vector({});
+
+  EXPECT_EQ(pkcs12Reader_->BignumToBytes(bignum), expected_empty_vector);
+}
+
+TEST_F(Pkcs12ReaderTest, MaxBigNumConvertedCorrectly) {
+  BIGNUM* bignum = new BIGNUM();
+  BN_set_u64(bignum, 0xFFFFFFFFFFFFFFFF);
+  std::vector<uint8_t> expected_data({
+      0xFF,
+      0xFF,
+      0xFF,
+      0xFF,
+      0xFF,
+      0xFF,
+      0xFF,
+      0xFF,
+  });
+
+  std::vector<uint8_t> bignumToBytes = pkcs12Reader_->BignumToBytes(bignum);
+
+  EXPECT_EQ(bignumToBytes, expected_data);
+}
+
+TEST_F(Pkcs12ReaderTest, BigNumZeroConvertedToEmptyVector) {
+  BIGNUM* bignum = new BIGNUM();
+  BN_set_u64(bignum, 0x00000000000000);
+  std::vector<uint8_t> expected_data({});
+
+  std::vector<uint8_t> bignumToBytes = pkcs12Reader_->BignumToBytes(bignum);
+
+  EXPECT_EQ(bignumToBytes, expected_data);
+}
+
+TEST_F(Pkcs12ReaderTest, BigNumWithFrontZerosConvertedCorrectly) {
+  BIGNUM* bignum = new BIGNUM();
+  BN_set_u64(bignum, 0x00000000000100);
+  std::vector<uint8_t> expected_data({0x01, 0x00});
+
+  std::vector<uint8_t> bignumToBytes = pkcs12Reader_->BignumToBytes(bignum);
+
+  EXPECT_EQ(bignumToBytes, expected_data);
+}
+
+TEST_F(Pkcs12ReaderTest, EmptyBigNumConvertedCorrectly) {
+  BIGNUM* bignum = new BIGNUM();
+  std::vector<uint8_t> expected_data({});
+
+  std::vector<uint8_t> bignumToBytes = pkcs12Reader_->BignumToBytes(bignum);
+
+  EXPECT_EQ(bignumToBytes, expected_data);
+}
+
+TEST_F(Pkcs12ReaderTest, CertsGetSerialNumber) {
+  // Empty certificate, operation will fail.
+  {
+    X509* cert = nullptr;
+
+    Pkcs12ReaderStatusCode result = GetSerialNumberDer(cert);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kPkcs12CertSerialNumberMissed);
+  }
+
+  // Empty serial number, operation will succeed.
+  {
+    ScopedX509 cert = X509New();
+
+    Pkcs12ReaderStatusCode result = GetSerialNumberDer(cert.get());
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+
+  // Certificate with normal serial number, operation will succeed.
+  // Check only import success, values are checked in ChapsUtilImplTest.
+  {
+    ScopedX509 cert = X509New();
+    ASN1_INTEGER_set(X509_get_serialNumber(cert.get()), 1);
+    int serial_number_der_size;
+    bssl::UniquePtr<uint8_t> serial_number_der;
+
+    Pkcs12ReaderStatusCode result = pkcs12Reader_->GetSerialNumberDer(
+        cert.get(), serial_number_der, serial_number_der_size);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+}
+
+TEST_F(Pkcs12ReaderTest, GetIssuerNameDer) {
+  // Empty certificate, operation will fail.
+  {
+    Pkcs12ReaderStatusCode result = GetIssuerNameDer(nullptr);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kPkcs12CertIssuerNameMissed);
+  }
+
+  // Empty object for the issuer, operation will succeed.
+  {
+    ScopedX509 cert = X509New();
+
+    Pkcs12ReaderStatusCode result = GetIssuerNameDer(cert.get());
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+
+  // Certificate with normal issuer name, operation will succeed.
+  // Check only import success, values are checked in ChapsUtilImplTest.
+  {
+    ScopedX509 cert = X509New();
+    ScopedX509_NAME issuer = X509NameNew();
+
+    // This only sets org name, country and common name.
+    SetOrgDataToX509Name(issuer.get());
+    X509_set_issuer_name(cert.get(), issuer.get());
+    base::span<const uint8_t> issuer_name_data;
+
+    Pkcs12ReaderStatusCode result =
+        pkcs12Reader_->GetIssuerNameDer(cert.get(), issuer_name_data);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+}
+
+TEST_F(Pkcs12ReaderTest, GetSubjectNameDer) {
+  // Empty certificate, operation will fail.
+  {
+    Pkcs12ReaderStatusCode result = GetSubjectNameDer(nullptr);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kPkcs12CertSubjectNameMissed);
+  }
+
+  // Empty object for the subject name, operation will succeed.
+  {
+    ScopedX509 cert = X509New();
+
+    Pkcs12ReaderStatusCode result = GetIssuerNameDer(cert.get());
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+
+  // Certificate with normal subject name, operation will succeed.
+  // Check only import success, values are checked in ChapsUtilImplTest.
+  {
+    ScopedX509 cert = X509New();
+    ScopedX509_NAME subject = X509NameNew();
+
+    // This only sets org name, country and common name.
+    SetOrgDataToX509Name(subject.get());
+    X509_set_subject_name(cert.get(), subject.get());
+    base::span<const uint8_t> subject_name_data;
+
+    Pkcs12ReaderStatusCode result =
+        pkcs12Reader_->GetSubjectNameDer(cert.get(), subject_name_data);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+}
+
+TEST_F(Pkcs12ReaderTest, GetCertDer) {
+  // No certificate, operation will fail.
+  {
+    Pkcs12ReaderStatusCode result = GetDerEncodedCert(nullptr);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kPkcs12CertDerMissed);
+  }
+
+  // Empty certificate, operation will fail.
+  {
+    ScopedX509 cert = X509New();
+
+    Pkcs12ReaderStatusCode result = GetDerEncodedCert(cert.get());
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kPkcs12CertDerFailed);
+  }
+}
+
+TEST_F(Pkcs12ReaderTest, GetPkcs12KeyAndCerts) {
+  // No pkcs12 data, operation will fail.
+  {
+    bssl::UniquePtr<EVP_PKEY> key;
+    bssl::UniquePtr<STACK_OF(X509)> certs;
+    const std::vector<uint8_t>& pkcs12_data = {};
+
+    Pkcs12ReaderStatusCode result = pkcs12Reader_->GetPkcs12KeyAndCerts(
+        pkcs12_data, kPkcs12FilePassword, key, certs);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kMissedPkcs12Data);
+  }
+
+  // Wrong pkcs12 data's, operation will fail.
+  {
+    bssl::UniquePtr<EVP_PKEY> key;
+    bssl::UniquePtr<STACK_OF(X509)> certs;
+    const std::vector<uint8_t>& wrong_pkcs12_data = {0, 0, 0, 0, 0,
+                                                     0, 0, 0, 0, 0};
+
+    Pkcs12ReaderStatusCode result = pkcs12Reader_->GetPkcs12KeyAndCerts(
+        wrong_pkcs12_data, kPkcs12FilePassword, key, certs);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kFailedToParsePkcs12Data);
+  }
+}
+
+TEST_F(Pkcs12ReaderTest, GetLabel) {
+  // Empty certificate, operation will fail.
+  {
+    Pkcs12ReaderStatusCode result = GetLabel(nullptr);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kPkcs12CertIssuerNameMissed);
+  }
+
+  // Empty object for the issuer, operation will succeed.
+  {
+    ScopedX509 cert = X509New();
+
+    Pkcs12ReaderStatusCode result = GetLabel(cert.get());
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+
+  // Certificate with normal issuer name, operation will succeed.
+  // Check only import success, values are checked in ChapsUtilImplTest.
+  {
+    ScopedX509 cert = X509New();
+    ScopedX509_NAME subject = X509NameNew();
+
+    // This only sets org name, country and common name.
+    SetOrgDataToX509Name(subject.get());
+    X509_set_subject_name(cert.get(), subject.get());
+    std::string label;
+
+    Pkcs12ReaderStatusCode result = pkcs12Reader_->GetLabel(cert.get(), label);
+    EXPECT_EQ(result, Pkcs12ReaderStatusCode::kSuccess);
+  }
+}
+
+}  // namespace
+}  // namespace chromeos::platform_keys
diff --git a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.cc b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.cc
index d335e66..0f348698 100644
--- a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.cc
+++ b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.h"
 
+#include <cstddef>
 #include <memory>
 #include <string>
 #include <utility>
@@ -13,6 +14,8 @@
 #include "base/files/file_path.h"
 #include "base/functional/bind.h"
 #include "build/chromeos_buildflags.h"
+#include "chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.h"
+#include "chrome/browser/chromeos/policy/dlp/dialogs/files_policy_warn_dialog.h"
 #include "chrome/browser/chromeos/policy/dlp/dialogs/policy_dialog_base.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_confidential_file.h"
 #include "chrome/browser/chromeos/policy/dlp/dlp_file_destination.h"
@@ -79,12 +82,13 @@
 }
 }  // namespace
 
+FilesPolicyDialogFactory* factory_;
+
 FilesPolicyDialog::FilesPolicyDialog(size_t file_count,
                                      DlpFileDestination destination,
                                      dlp::FileAction action,
                                      gfx::NativeWindow modal_parent)
     : destination_(destination), action_(action), file_count_(file_count) {
-  // TODO(b/279397364): Confirm behavior if we cannot open Files App.
   ui::ModalType modal =
       modal_parent ? ui::MODAL_TYPE_WINDOW : ui::MODAL_TYPE_SYSTEM;
   SetModalType(modal);
@@ -98,6 +102,49 @@
 
 FilesPolicyDialog::~FilesPolicyDialog() = default;
 
+views::Widget* FilesPolicyDialog::CreateWarnDialog(
+    OnDlpRestrictionCheckedCallback callback,
+    const std::vector<DlpConfidentialFile>& files,
+    DlpFileDestination destination,
+    dlp::FileAction action,
+    gfx::NativeWindow modal_parent) {
+  if (factory_) {
+    return factory_->CreateWarnDialog(std::move(callback), files, destination,
+                                      action, modal_parent);
+  }
+
+  views::Widget* widget = views::DialogDelegate::CreateDialogWidget(
+      std::make_unique<FilesPolicyWarnDialog>(
+          std::move(callback), files, destination, action, modal_parent),
+      /*context=*/nullptr, /*parent=*/modal_parent);
+  widget->Show();
+  return widget;
+}
+
+views::Widget* FilesPolicyDialog::CreateErrorDialog(
+    const std::map<DlpConfidentialFile, Policy>& files,
+    DlpFileDestination destination,
+    dlp::FileAction action,
+    gfx::NativeWindow modal_parent) {
+  if (factory_) {
+    return factory_->CreateErrorDialog(std::move(files), destination, action,
+                                       modal_parent);
+  }
+
+  views::Widget* widget = views::DialogDelegate::CreateDialogWidget(
+      std::make_unique<FilesPolicyErrorDialog>(std::move(files), destination,
+                                               action, modal_parent),
+      /*context=*/nullptr, /*parent=*/modal_parent);
+  widget->Show();
+  return widget;
+}
+
+// static
+void FilesPolicyDialog::SetFactory(FilesPolicyDialogFactory* factory) {
+  delete factory_;
+  factory_ = factory;
+}
+
 void FilesPolicyDialog::AddGeneralInformation() {
   SetupUpperPanel(GetTitle(), GetMessage());
 }
diff --git a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.h b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.h
index 3187c9b..723e930 100644
--- a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.h
+++ b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_dialog.h
@@ -15,6 +15,7 @@
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "ui/base/metadata/metadata_header_macros.h"
 #include "ui/gfx/native_widget_types.h"
+#include "ui/views/widget/widget.h"
 
 namespace policy {
 
@@ -25,12 +26,32 @@
   kError,    // Error dialog - overview of blocked files.
 };
 
-// Type of policy. Used for warning type dialogs.
+// Type of policy.
 enum class Policy {
   kDlp,                   // Data Leak Prevention policy.
   kEnterpriseConnectors,  // Enterprise Connectors policy.
 };
 
+// Interface for creating warn and error FilesPolicyDialogs.
+// Used in tests.
+class FilesPolicyDialogFactory {
+ public:
+  virtual ~FilesPolicyDialogFactory() = default;
+
+  virtual views::Widget* CreateWarnDialog(
+      OnDlpRestrictionCheckedCallback callback,
+      const std::vector<DlpConfidentialFile>& files,
+      DlpFileDestination destination,
+      dlp::FileAction action,
+      gfx::NativeWindow modal_parent) = 0;
+
+  virtual views::Widget* CreateErrorDialog(
+      const std::map<DlpConfidentialFile, Policy>& files,
+      DlpFileDestination destination,
+      dlp::FileAction action,
+      gfx::NativeWindow modal_parent) = 0;
+};
+
 // FilesPolicyDialog is a window modal dialog used to show detailed overview of
 // warnings and files blocked by data protection policies.
 class FilesPolicyDialog : public PolicyDialogBase {
@@ -46,6 +67,25 @@
   FilesPolicyDialog& operator=(const FilesPolicyDialog& other) = delete;
   ~FilesPolicyDialog() override;
 
+  // Creates and shows an instance of FilesPolicyWarnDialog. Returns owning
+  // Widget.
+  static views::Widget* CreateWarnDialog(
+      OnDlpRestrictionCheckedCallback callback,
+      const std::vector<DlpConfidentialFile>& files,
+      DlpFileDestination destination,
+      dlp::FileAction action,
+      gfx::NativeWindow modal_parent);
+
+  // Creates and shows an instance of FilesPolicyErrorDialog. Returns owning
+  // Widget.
+  static views::Widget* CreateErrorDialog(
+      const std::map<DlpConfidentialFile, Policy>& files,
+      DlpFileDestination destination,
+      dlp::FileAction action,
+      gfx::NativeWindow modal_parent);
+
+  static void SetFactory(FilesPolicyDialogFactory* factory);
+
  protected:
   DlpFileDestination destination_;
   dlp::FileAction action_;
diff --git a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.cc b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.cc
index 61577fd5..f62c992 100644
--- a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.cc
+++ b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.cc
@@ -10,16 +10,14 @@
 #include "ui/base/metadata/metadata_impl_macros.h"
 
 namespace policy {
+
 FilesPolicyErrorDialog::FilesPolicyErrorDialog(
-    std::map<DlpConfidentialFile, Policy> files,
+    const std::map<DlpConfidentialFile, Policy>& files,
     DlpFileDestination destination,
     dlp::FileAction action,
     gfx::NativeWindow modal_parent)
-    : FilesPolicyDialog(files.size(),
-                        std::move(destination),
-                        action,
-                        modal_parent),
-      files_(std::move(files)) {
+    : FilesPolicyDialog(files.size(), destination, action, modal_parent),
+      files_(files) {
   SetAcceptCallback(base::BindOnce(&FilesPolicyErrorDialog::Dismiss,
                                    weak_factory_.GetWeakPtr()));
   SetCancelCallback(base::BindOnce(&FilesPolicyErrorDialog::OpenHelpPage,
diff --git a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.h b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.h
index 68af3578..4fc34f9e 100644
--- a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.h
+++ b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_error_dialog.h
@@ -23,7 +23,7 @@
   METADATA_HEADER(FilesPolicyErrorDialog);
 
   FilesPolicyErrorDialog() = delete;
-  FilesPolicyErrorDialog(std::map<DlpConfidentialFile, Policy> files,
+  FilesPolicyErrorDialog(const std::map<DlpConfidentialFile, Policy>& files,
                          DlpFileDestination destination,
                          dlp::FileAction action,
                          gfx::NativeWindow modal_parent);
diff --git a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_warn_dialog.cc b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_warn_dialog.cc
index 362fffec..f392d51 100644
--- a/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_warn_dialog.cc
+++ b/chrome/browser/chromeos/policy/dlp/dialogs/files_policy_warn_dialog.cc
@@ -17,11 +17,8 @@
     DlpFileDestination destination,
     dlp::FileAction action,
     gfx::NativeWindow modal_parent)
-    : FilesPolicyDialog(files.size(),
-                        std::move(destination),
-                        action,
-                        modal_parent),
-      files_(std::move(files)) {
+    : FilesPolicyDialog(files.size(), destination, action, modal_parent),
+      files_(files) {
   SetOnDlpRestrictionCheckedCallback(std::move(callback));
   MaybeAddConfidentialRows();
 }
diff --git a/chrome/browser/content_settings/host_content_settings_map_unittest.cc b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
index 4c5f3720..e1af8cd 100644
--- a/chrome/browser/content_settings/host_content_settings_map_unittest.cc
+++ b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
@@ -13,6 +13,8 @@
 #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/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/simple_test_clock.h"
 #include "base/time/time.h"
@@ -2133,3 +2135,34 @@
                              content_settings::SessionModel::UserSession);
   ASSERT_EQ(1u, settings.size());
 }
+
+TEST_F(HostContentSettingsMapTest, StorageAccessMetrics) {
+  const ContentSettingsType type = ContentSettingsType::STORAGE_ACCESS;
+  const GURL url1("https://example1.com");
+  const GURL url2("https://example2.com");
+  const GURL url3("https://example3.com");
+  const GURL url4("https://example4.com");
+
+  TestingProfile profile;
+  auto* map = HostContentSettingsMapFactory::GetForProfile(&profile);
+  map->SetContentSettingDefaultScope(url1, url1, type, CONTENT_SETTING_ALLOW);
+  map->SetContentSettingDefaultScope(url2, url1, type, CONTENT_SETTING_ALLOW);
+  map->SetContentSettingDefaultScope(url2, url2, type, CONTENT_SETTING_ALLOW);
+  map->SetContentSettingDefaultScope(url3, url1, type, CONTENT_SETTING_ALLOW);
+  map->SetContentSettingDefaultScope(url3, url2, type, CONTENT_SETTING_ALLOW);
+  map->SetContentSettingDefaultScope(url3, url3, type, CONTENT_SETTING_BLOCK);
+  map->SetContentSettingDefaultScope(url4, url1, type, CONTENT_SETTING_BLOCK);
+
+  base::HistogramTester t;
+  auto map2 = base::MakeRefCounted<HostContentSettingsMap>(
+      profile.GetPrefs(), false, true, true, true);
+  map2->ShutdownOnUIThread();
+
+  std::string base_histogram =
+      "ContentSettings.RegularProfile.Exceptions.storage-access";
+  t.ExpectUniqueSample(base_histogram, 7, 1);
+  t.ExpectUniqueSample(base_histogram + ".Allow", 5, 1);
+  t.ExpectUniqueSample(base_histogram + ".Block", 2, 1);
+  t.ExpectUniqueSample(base_histogram + ".MaxRequester", 3, 1);
+  t.ExpectUniqueSample(base_histogram + ".MaxTopLevel", 4, 1);
+}
diff --git a/chrome/browser/dips/dips_bounce_detector_browsertest.cc b/chrome/browser/dips/dips_bounce_detector_browsertest.cc
index d617d992..a9d5d99b 100644
--- a/chrome/browser/dips/dips_bounce_detector_browsertest.cc
+++ b/chrome/browser/dips/dips_bounce_detector_browsertest.cc
@@ -860,8 +860,16 @@
           ("[1/1] blank -> a.test/title1.html (None) -> d.test/title1.html")));
 }
 
+// TODO(crbug.com/1454793): Flaky on Mac.
+#if BUILDFLAG(IS_MAC)
+#define MAYBE_DiscardPrerenderedPageCookieClientAccess \
+  DISABLED_DiscardPrerenderedPageCookieClientAccess
+#else
+#define MAYBE_DiscardPrerenderedPageCookieClientAccess \
+  DiscardPrerenderedPageCookieClientAccess
+#endif
 IN_PROC_BROWSER_TEST_F(DIPSBounceDetectorBrowserTest,
-                       DiscardPrerenderedPageCookieClientAccess) {
+                       MAYBE_DiscardPrerenderedPageCookieClientAccess) {
   std::vector<std::string> redirects;
   StartAppendingRedirectsTo(&redirects);
 
diff --git a/chrome/browser/download/notification/download_item_notification_unittest.cc b/chrome/browser/download/notification/download_item_notification_unittest.cc
index 5e6e7a2c5..42331f2f 100644
--- a/chrome/browser/download/notification/download_item_notification_unittest.cc
+++ b/chrome/browser/download/notification/download_item_notification_unittest.cc
@@ -24,13 +24,13 @@
 #include "chrome/browser/download/download_commands.h"
 #include "chrome/browser/download/notification/download_notification_manager.h"
 #include "chrome/browser/download/offline_item_utils.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/notifications/notification_display_service.h"
 #include "chrome/browser/notifications/notification_display_service_factory.h"
 #include "chrome/browser/notifications/notification_display_service_tester.h"
 #include "chrome/browser/notifications/notification_handler.h"
 #include "chrome/browser/notifications/notification_test_util.h"
 #include "chrome/browser/notifications/platform_notification_service_impl.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/base/testing_profile_manager.h"
@@ -426,9 +426,9 @@
   CreateDownloadItemNotification();
 
   // Can't open while scanning.
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      enterprise_connectors::FILE_DOWNLOADED,
-                                      R"(
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      R"(
         {
           "service_provider": "google",
           "enable": [{"url_list": ["*"], "tags": ["malware"]}],
@@ -441,9 +441,9 @@
   download_item_notification_->Click(absl::nullopt, absl::nullopt);
 
   // Can be opened while scanning.
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      enterprise_connectors::FILE_DOWNLOADED,
-                                      R"(
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      R"(
         {
           "service_provider": "google",
           "enable": [{"url_list": ["*"], "tags": ["malware"]}],
diff --git a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_browsertest.cc b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_browsertest.cc
index 484ad64..94f59af6 100644
--- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_browsertest.cc
+++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_browsertest.cc
@@ -20,13 +20,13 @@
 #include "chrome/browser/enterprise/connectors/common.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/enterprise/identifiers/profile_id_service_factory.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/common/chrome_paths.h"
@@ -278,7 +278,7 @@
 // Tests the behavior of the dialog delegate with minimal overriding of methods.
 // Only responses obtained via the BinaryUploadService are faked.
 class ContentAnalysisDelegateBrowserTestBase
-    : public safe_browsing::DeepScanningBrowserTestBase,
+    : public test::DeepScanningBrowserTestBase,
       public ContentAnalysisDialog::TestObserver {
  public:
   explicit ContentAnalysisDelegateBrowserTestBase(bool machine_scope)
@@ -293,7 +293,7 @@
     if (machine_scope_) {
       SetDMTokenForTesting(policy::DMToken::CreateValidToken(kBrowserDMToken));
     } else {
-      safe_browsing::SetProfileDMToken(browser()->profile(), kProfileDMToken);
+      test::SetProfileDMToken(browser()->profile(), kProfileDMToken);
     }
 #endif
 
@@ -307,20 +307,20 @@
       ],
       "block_until_verdict": 1
     })";
-    safe_browsing::SetAnalysisConnector(
+    enterprise_connectors::test::SetAnalysisConnector(
         browser()->profile()->GetPrefs(), FILE_ATTACHED,
         kBlockingScansForDlpAndMalware, machine_scope_);
-    safe_browsing::SetAnalysisConnector(
+    enterprise_connectors::test::SetAnalysisConnector(
         browser()->profile()->GetPrefs(), BULK_DATA_ENTRY,
         kBlockingScansForDlpAndMalware, machine_scope_);
-    safe_browsing::SetOnSecurityEventReporting(browser()->profile()->GetPrefs(),
-                                               /*enabled*/ true,
-                                               /*enabled_event_names*/ {},
-                                               /*enabled_opt_in_events*/ {},
+    test::SetOnSecurityEventReporting(browser()->profile()->GetPrefs(),
+                                      /*enabled*/ true,
+                                      /*enabled_event_names*/ {},
+                                      /*enabled_opt_in_events*/ {},
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-                                               /*machine_scope*/ false);
+                                      /*machine_scope*/ false);
 #else
-                                               machine_scope_);
+                                      machine_scope_);
 #endif
 
     client_ = std::make_unique<policy::MockCloudPolicyClient>();
@@ -425,7 +425,7 @@
       browser()->profile(), GURL(kTestUrl), &data, FILE_ATTACHED));
 
   // Nothing should be reported for unauthorized users.
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   validator.ExpectNoReport();
 
   ContentAnalysisDelegate::CreateForWebContents(
@@ -477,7 +477,7 @@
       browser()->profile(), GURL(kTestUrl), &data, FILE_ATTACHED));
 
   // The malware verdict means an event should be reported.
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   validator.ExpectDangerousDeepScanningResult(
       /*url*/ "about:blank",
       /*source*/ "",
@@ -568,7 +568,7 @@
 
   FakeBinaryUploadServiceStorage()->SetAuthorized(true);
 
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   // Prepare a complex DLP response to test that the verdict is reported
   // correctly in the sensitive data event.
   ContentAnalysisResponse response;
@@ -910,7 +910,7 @@
       browser()->profile(), GURL(kTestUrl), &data, FILE_ATTACHED));
 
   // The malware verdict means an event should be reported.
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   validator.ExpectUnscannedFileEvents(
       /*url*/ "about:blank",
       /*source*/ "",
@@ -1032,7 +1032,7 @@
     "block_until_verdict": 1,
     "block_password_protected": %s
   })";
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       browser()->profile()->GetPrefs(), FILE_ATTACHED,
       base::StringPrintf(kPasswordProtectedPref, bool_setting_value()),
       machine_scope());
@@ -1055,7 +1055,7 @@
       browser()->profile(), GURL(kTestUrl), &data, FILE_ATTACHED));
 
   // The file should be reported as unscanned.
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   validator.ExpectUnscannedFileEvent(
       /*url*/ "about:blank",
       /*source*/ "",
@@ -1117,7 +1117,7 @@
     "block_until_verdict": 1,
     "block_large_files": %s
   })";
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       browser()->profile()->GetPrefs(), FILE_ATTACHED,
       base::StringPrintf(kBlockLargeFilesPref, bool_setting_value()),
       machine_scope());
@@ -1145,7 +1145,7 @@
       browser()->profile(), GURL(kTestUrl), &data, FILE_ATTACHED));
 
   // The file should be reported as unscanned.
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   validator.ExpectUnscannedFileEvent(
       /*url*/ "about:blank",
       /*source*/ "",
@@ -1209,7 +1209,7 @@
     "block_until_verdict": 1,
     "block_large_files": %s
   })";
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       browser()->profile()->GetPrefs(), PRINT,
       base::StringPrintf(kBlockLargePagesPref, bool_setting_value()),
       machine_scope());
@@ -1275,7 +1275,7 @@
     ],
     "block_until_verdict": %s
   })";
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       browser()->profile()->GetPrefs(), FILE_ATTACHED,
       base::StringPrintf(kBlockUntilVerdictPref, int_setting_value()),
       machine_scope());
@@ -1296,7 +1296,7 @@
       browser()->profile(), GURL(kTestUrl), &data, FILE_ATTACHED));
 
   // The file should be reported as malware and sensitive content.
-  safe_browsing::EventReportValidator validator(client());
+  test::EventReportValidator validator(client());
   ContentAnalysisResponse response;
   response.set_request_token(kScanId1);
 
@@ -1406,7 +1406,7 @@
     if (machine_scope()) {
       SetDMTokenForTesting(policy::DMToken::CreateValidToken(dm_token()));
     } else {
-      safe_browsing::SetProfileDMToken(browser()->profile(), dm_token());
+      test::SetProfileDMToken(browser()->profile(), dm_token());
     }
 #endif
 
@@ -1423,7 +1423,7 @@
         })",
         blocking_scan() ? 1 : 0);
 
-    safe_browsing::SetAnalysisConnector(
+    enterprise_connectors::test::SetAnalysisConnector(
         browser()->profile()->GetPrefs(),
         file_scan ? FILE_ATTACHED : BULK_DATA_ENTRY, pref, machine_scope());
     file_scan_ = file_scan;
diff --git a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_unittest.cc b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_unittest.cc
index 20ff092..d37b347c 100644
--- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_unittest.cc
+++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate_unittest.cc
@@ -23,12 +23,12 @@
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "chrome/browser/enterprise/connectors/analysis/analysis_settings.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/common.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/test/base/testing_browser_process.h"
@@ -218,8 +218,8 @@
 }
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, NoDMToken) {
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlpAndMalware);
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateInvalidToken());
 
   ContentAnalysisDelegate::Data data;
@@ -241,8 +241,8 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpNoPref2) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kNothingEnabled);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kNothingEnabled);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_FALSE(ContentAnalysisDelegate::IsEnabled(profile(), GURL(), &data,
@@ -253,8 +253,8 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpNoPref3) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_DOWNLOADED, kBlockingScansForDlpAndMalware);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_FALSE(ContentAnalysisDelegate::IsEnabled(profile(), GURL(), &data,
@@ -265,8 +265,8 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpEnabled) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlp);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_TRUE(ContentAnalysisDelegate::IsEnabled(profile(), GURL(), &data,
@@ -277,10 +277,10 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpEnabled2) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kBlockingScansForDlp);
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED,
-                                      kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_DOWNLOADED, kBlockingScansForDlp);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_TRUE(ContentAnalysisDelegate::IsEnabled(profile(), GURL(), &data,
@@ -291,10 +291,10 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpEnabledWithUrl) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kBlockingScansForDlp);
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED,
-                                      kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_DOWNLOADED, kBlockingScansForDlp);
   GURL url(kTestUrl);
 
   ContentAnalysisDelegate::Data data;
@@ -307,8 +307,9 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpDisabledByList) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED,
+                                                    R"(
         {
           "service_provider": "google",
           "enable": [
@@ -335,8 +336,9 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, DlpDisabledByListWithPatterns) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED,
+                                                    R"(
         {
           "service_provider": "google",
           "enable": [
@@ -394,8 +396,8 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, MalwareNoPref2) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kNothingEnabled);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kNothingEnabled);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_FALSE(ContentAnalysisDelegate::IsEnabled(profile(), GURL(), &data,
@@ -406,8 +408,8 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, MalwareNoPref3) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_DOWNLOADED, kBlockingScansForDlpAndMalware);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_FALSE(ContentAnalysisDelegate::IsEnabled(profile(), GURL(), &data,
@@ -418,8 +420,9 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, MalwareEnabled) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED,
+                                                    R"(
         {
           "service_provider": "google",
           "enable": [
@@ -441,8 +444,8 @@
 TEST_F(ContentAnalysisDelegateIsEnabledTest, NoScanInIncognito) {
   GURL url(kTestUrl);
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlpAndMalware);
 
   ContentAnalysisDelegate::Data data;
   EXPECT_TRUE(
@@ -463,8 +466,9 @@
 
 TEST_F(ContentAnalysisDelegateIsEnabledTest, MalwareEnabledWithPatterns) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                      R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED,
+                                                    R"(
         {
           "service_provider": "google",
           "enable": [
@@ -526,17 +530,17 @@
 
     for (auto connector : {FILE_ATTACHED, BULK_DATA_ENTRY, PRINT}) {
       if (include_dlp_ && include_malware_) {
-        safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), connector,
-                                            kBlockingScansForDlpAndMalware);
+        enterprise_connectors::test::SetAnalysisConnector(
+            profile_->GetPrefs(), connector, kBlockingScansForDlpAndMalware);
       } else if (include_dlp_) {
-        safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), connector,
-                                            kBlockingScansForDlp);
+        enterprise_connectors::test::SetAnalysisConnector(
+            profile_->GetPrefs(), connector, kBlockingScansForDlp);
       } else if (include_malware_) {
-        safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), connector,
-                                            kBlockingScansForMalware);
+        enterprise_connectors::test::SetAnalysisConnector(
+            profile_->GetPrefs(), connector, kBlockingScansForMalware);
       } else {
-        safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), connector,
-                                            kNothingEnabled);
+        enterprise_connectors::test::SetAnalysisConnector(
+            profile_->GetPrefs(), connector, kNothingEnabled);
       }
     }
   }
@@ -544,20 +548,21 @@
   void SetUp() override {
     BaseTest::SetUp();
 
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED,
-                                        kBlockingScansForDlpAndMalware);
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), BULK_DATA_ENTRY,
-                                        kBlockingScansForDlpAndMalware);
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), PRINT,
-                                        kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), BULK_DATA_ENTRY, kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), PRINT, kBlockingScansForDlpAndMalware);
 
     ContentAnalysisDelegate::SetFactoryForTesting(base::BindRepeating(
-        &FakeContentAnalysisDelegate::Create, run_loop_.QuitClosure(),
+        &test::FakeContentAnalysisDelegate::Create, run_loop_.QuitClosure(),
         base::BindRepeating(
             &ContentAnalysisDelegateAuditOnlyTest::ConnectorStatusCallback,
             base::Unretained(this)),
         kDmToken));
-    FakeContentAnalysisDelegate::ResetStaticDialogFlagsAndTotalRequestsCount();
+    test::FakeContentAnalysisDelegate::
+        ResetStaticDialogFlagsAndTotalRequestsCount();
   }
 
   ContentAnalysisResponse ConnectorStatusCallback(const std::string& contents,
@@ -567,7 +572,7 @@
     ContentAnalysisResponse response =
         it != failures_.end()
             ? it->second
-            : FakeContentAnalysisDelegate::SuccessfulResponse([this]() {
+            : test::FakeContentAnalysisDelegate::SuccessfulResponse([this]() {
                 std::set<std::string> tags;
                 if (include_dlp_ && !dlp_response_.has_value())
                   tags.insert("dlp");
@@ -618,7 +623,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(0, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(0,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -644,7 +650,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -672,7 +679,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -687,7 +695,7 @@
   data.text.emplace_back(small_text());
   data.text.emplace_back(small_text());
 
-  SetDLPResponse(FakeContentAnalysisDelegate::DlpResponse(
+  SetDLPResponse(test::FakeContentAnalysisDelegate::DlpResponse(
       ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK));
 
   bool called = false;
@@ -706,7 +714,8 @@
                  &called));
   RunUntilDone();
   // Text too small, no analysis request is created.
-  EXPECT_EQ(0, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(0,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -737,7 +746,8 @@
           &called),
       safe_browsing::DeepScanAccessPoint::PRINT);
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -748,7 +758,7 @@
 
   data.page = normal_page();
   ASSERT_TRUE(data.page.IsValid());
-  SetDLPResponse(FakeContentAnalysisDelegate::DlpResponse(
+  SetDLPResponse(test::FakeContentAnalysisDelegate::DlpResponse(
       ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK));
 
   bool called = false;
@@ -770,7 +780,8 @@
           &called),
       safe_browsing::DeepScanAccessPoint::PRINT);
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -797,7 +808,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -826,7 +838,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -855,14 +868,16 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
 TEST_F(ContentAnalysisDelegateAuditOnlyTest, FileIsEncrypted) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED, R"(
     {
       "service_provider": "google",
       "enable": [
@@ -901,14 +916,16 @@
                  &called));
   RunUntilDone();
   // "FILE_ATTACHED" is exempt from scanning.
-  EXPECT_EQ(0, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(0,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
 TEST_F(ContentAnalysisDelegateAuditOnlyTest, FileIsEncrypted_PolicyAllows) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED, R"(
     {
       "service_provider": "google",
       "enable": [
@@ -947,7 +964,8 @@
                  &called));
   RunUntilDone();
   // "FILE_ATTACHED" is exempt from scanning.
-  EXPECT_EQ(0, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(0,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -960,8 +978,9 @@
 
   CreateFilesForTest(
       {FILE_PATH_LITERAL("good.doc"), FILE_PATH_LITERAL("bad.doc")}, &data);
-  PathFailsDeepScan(data.paths[1], FakeContentAnalysisDelegate::MalwareResponse(
-                                       TriggeredRule::BLOCK));
+  PathFailsDeepScan(
+      data.paths[1],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
 
   bool called = false;
   ScanUpload(contents(), std::move(data),
@@ -978,7 +997,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1007,7 +1027,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1021,9 +1042,10 @@
   CreateFilesForTest(
       {FILE_PATH_LITERAL("good.doc"), FILE_PATH_LITERAL("bad.doc")}, &data);
 
-  PathFailsDeepScan(data.paths[1], FakeContentAnalysisDelegate::DlpResponse(
-                                       ContentAnalysisResponse::Result::SUCCESS,
-                                       "rule", TriggeredRule::BLOCK));
+  PathFailsDeepScan(data.paths[1],
+                    test::FakeContentAnalysisDelegate::DlpResponse(
+                        ContentAnalysisResponse::Result::SUCCESS, "rule",
+                        TriggeredRule::BLOCK));
 
   bool called = false;
   ScanUpload(contents(), std::move(data),
@@ -1040,7 +1062,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1057,7 +1080,7 @@
 
   PathFailsDeepScan(
       data.paths[1],
-      FakeContentAnalysisDelegate::MalwareAndDlpResponse(
+      test::FakeContentAnalysisDelegate::MalwareAndDlpResponse(
           TriggeredRule::BLOCK, ContentAnalysisResponse::Result::SUCCESS,
           "rule", TriggeredRule::BLOCK));
 
@@ -1076,7 +1099,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1106,7 +1130,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(3, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(3,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1140,7 +1165,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(3, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(3,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1164,7 +1190,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1188,7 +1215,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(2, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(2,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1202,7 +1230,7 @@
   data.text.emplace_back(large_text());
   data.text.emplace_back(large_text());
 
-  SetDLPResponse(FakeContentAnalysisDelegate::DlpResponse(
+  SetDLPResponse(test::FakeContentAnalysisDelegate::DlpResponse(
       ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK));
 
   bool called = false;
@@ -1220,7 +1248,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(1, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(1,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1239,16 +1268,20 @@
                      &data);
 
   // Mark some files with failed scans.
-  PathFailsDeepScan(data.paths[1], FakeContentAnalysisDelegate::MalwareResponse(
-                                       TriggeredRule::WARN));
-  PathFailsDeepScan(data.paths[2], FakeContentAnalysisDelegate::MalwareResponse(
-                                       TriggeredRule::BLOCK));
-  PathFailsDeepScan(data.paths[3], FakeContentAnalysisDelegate::DlpResponse(
-                                       ContentAnalysisResponse::Result::FAILURE,
-                                       "", TriggeredRule::REPORT_ONLY));
-  PathFailsDeepScan(data.paths[4], FakeContentAnalysisDelegate::DlpResponse(
-                                       ContentAnalysisResponse::Result::SUCCESS,
-                                       "rule", TriggeredRule::BLOCK));
+  PathFailsDeepScan(
+      data.paths[1],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::WARN));
+  PathFailsDeepScan(
+      data.paths[2],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
+  PathFailsDeepScan(data.paths[3],
+                    test::FakeContentAnalysisDelegate::DlpResponse(
+                        ContentAnalysisResponse::Result::FAILURE, "",
+                        TriggeredRule::REPORT_ONLY));
+  PathFailsDeepScan(data.paths[4],
+                    test::FakeContentAnalysisDelegate::DlpResponse(
+                        ContentAnalysisResponse::Result::SUCCESS, "rule",
+                        TriggeredRule::BLOCK));
 
   bool called = false;
   ScanUpload(contents(), std::move(data),
@@ -1269,12 +1302,14 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(6, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(6,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
 TEST_F(ContentAnalysisDelegateAuditOnlyTest, NoDelay) {
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_ATTACHED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_ATTACHED, R"(
     {
       "service_provider": "google",
       "enable": [
@@ -1299,20 +1334,25 @@
                      &data);
 
   // Mark all files and text with failed scans.
-  SetDLPResponse(FakeContentAnalysisDelegate::DlpResponse(
+  SetDLPResponse(test::FakeContentAnalysisDelegate::DlpResponse(
       ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK));
-  PathFailsDeepScan(data.paths[0], FakeContentAnalysisDelegate::MalwareResponse(
-                                       TriggeredRule::BLOCK));
-  PathFailsDeepScan(data.paths[1], FakeContentAnalysisDelegate::MalwareResponse(
-                                       TriggeredRule::WARN));
-  PathFailsDeepScan(data.paths[2], FakeContentAnalysisDelegate::MalwareResponse(
-                                       TriggeredRule::BLOCK));
-  PathFailsDeepScan(data.paths[3], FakeContentAnalysisDelegate::DlpResponse(
-                                       ContentAnalysisResponse::Result::FAILURE,
-                                       "", TriggeredRule::REPORT_ONLY));
-  PathFailsDeepScan(data.paths[4], FakeContentAnalysisDelegate::DlpResponse(
-                                       ContentAnalysisResponse::Result::SUCCESS,
-                                       "rule", TriggeredRule::BLOCK));
+  PathFailsDeepScan(
+      data.paths[0],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
+  PathFailsDeepScan(
+      data.paths[1],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::WARN));
+  PathFailsDeepScan(
+      data.paths[2],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
+  PathFailsDeepScan(data.paths[3],
+                    test::FakeContentAnalysisDelegate::DlpResponse(
+                        ContentAnalysisResponse::Result::FAILURE, "",
+                        TriggeredRule::REPORT_ONLY));
+  PathFailsDeepScan(data.paths[4],
+                    test::FakeContentAnalysisDelegate::DlpResponse(
+                        ContentAnalysisResponse::Result::SUCCESS, "rule",
+                        TriggeredRule::BLOCK));
 
   bool called = false;
   ScanUpload(contents(), std::move(data),
@@ -1337,7 +1377,8 @@
                  &called));
   RunUntilDone();
   // Text too small, only file analysis requests are created.
-  EXPECT_EQ(5, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(5,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1360,7 +1401,8 @@
                  },
                  &called));
   RunUntilDone();
-  EXPECT_EQ(0, FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
+  EXPECT_EQ(0,
+            test::FakeContentAnalysisDelegate::GetTotalAnalysisRequestsCount());
   EXPECT_TRUE(called);
 }
 
@@ -1376,18 +1418,19 @@
 
   void SetUp() override {
     BaseTest::SetUp();
-    safe_browsing::SetAnalysisConnector(
+    enterprise_connectors::test::SetAnalysisConnector(
         profile_->GetPrefs(), FILE_ATTACHED,
         is_cloud() ? kBlockingScansForDlpAndMalware
                    : kLocalBlockingScansForDlpAndMalware);
 
     ContentAnalysisDelegate::SetFactoryForTesting(base::BindRepeating(
-        &FakeContentAnalysisDelegate::Create, run_loop_.QuitClosure(),
+        &test::FakeContentAnalysisDelegate::Create, run_loop_.QuitClosure(),
         base::BindRepeating(
             &ContentAnalysisDelegateResultHandlingTest::ConnectorStatusCallback,
             base::Unretained(this)),
         kDmToken));
-    FakeContentAnalysisDelegate::ResetStaticDialogFlagsAndTotalRequestsCount();
+    test::FakeContentAnalysisDelegate::
+        ResetStaticDialogFlagsAndTotalRequestsCount();
   }
 
   safe_browsing::BinaryUploadService::Result result() const {
@@ -1398,7 +1441,8 @@
 
   ContentAnalysisResponse ConnectorStatusCallback(const std::string& contents,
                                                   const base::FilePath& path) {
-    return FakeContentAnalysisDelegate::SuccessfulResponse({"dlp", "malware"});
+    return test::FakeContentAnalysisDelegate::SuccessfulResponse(
+        {"dlp", "malware"});
   }
 
  protected:
@@ -1422,7 +1466,7 @@
 
   GURL url(kTestUrl);
   ContentAnalysisDelegate::Data data;
-  FakeContentAnalysisDelegate::SetResponseResult(result());
+  test::FakeContentAnalysisDelegate::SetResponseResult(result());
   ASSERT_TRUE(
       ContentAnalysisDelegate::IsEnabled(profile(), url, &data, FILE_ATTACHED));
 
@@ -1446,8 +1490,8 @@
   RunUntilDone();
   EXPECT_TRUE(called);
 
-  EXPECT_EQ(is_cloud(), FakeContentAnalysisDelegate::WasDialogShown());
-  EXPECT_NE(is_cloud(), FakeContentAnalysisDelegate::WasDialogCanceled());
+  EXPECT_EQ(is_cloud(), test::FakeContentAnalysisDelegate::WasDialogShown());
+  EXPECT_NE(is_cloud(), test::FakeContentAnalysisDelegate::WasDialogCanceled());
 }
 
 INSTANTIATE_TEST_SUITE_P(
diff --git a/chrome/browser/enterprise/connectors/analysis/content_analysis_dialog_browsertest.cc b/chrome/browser/enterprise/connectors/analysis/content_analysis_dialog_browsertest.cc
index 8e31e6d..15b66319 100644
--- a/chrome/browser/enterprise/connectors/analysis/content_analysis_dialog_browsertest.cc
+++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_dialog_browsertest.cc
@@ -13,9 +13,9 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/enterprise/connectors/analysis/content_analysis_dialog.h"
 #include "chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/test/test_browser_dialog.h"
@@ -95,7 +95,7 @@
 //   observer.
 // - It sends accessibility events correctly.
 class ContentAnalysisDialogBehaviorBrowserTest
-    : public safe_browsing::DeepScanningBrowserTestBase,
+    : public test::DeepScanningBrowserTestBase,
       public ContentAnalysisDialog::TestObserver,
       public testing::WithParamInterface<
           std::tuple<bool, bool, base::TimeDelta>> {
@@ -277,7 +277,7 @@
 // - It returns a negative verdict on the scanned content.
 // - The "CancelledByUser" metrics are recorded.
 class ContentAnalysisDialogCancelPendingScanBrowserTest
-    : public safe_browsing::DeepScanningBrowserTestBase,
+    : public test::DeepScanningBrowserTestBase,
       public ContentAnalysisDialog::TestObserver {
  public:
   ContentAnalysisDialogCancelPendingScanBrowserTest() {
@@ -319,7 +319,7 @@
 // - It calls the appropriate methods when the user bypasses/respects the
 //   warning.
 class ContentAnalysisDialogWarningBrowserTest
-    : public safe_browsing::DeepScanningBrowserTestBase,
+    : public test::DeepScanningBrowserTestBase,
       public ContentAnalysisDialog::TestObserver,
       public testing::WithParamInterface<bool> {
  public:
@@ -365,7 +365,7 @@
 //   type.
 // - It shows the appropriate spinner depending on its state.
 class ContentAnalysisDialogAppearanceBrowserTest
-    : public safe_browsing::DeepScanningBrowserTestBase,
+    : public test::DeepScanningBrowserTestBase,
       public ContentAnalysisDialog::TestObserver,
       public testing::WithParamInterface<
           std::tuple<bool, bool, safe_browsing::DeepScanAccessPoint>> {
@@ -495,15 +495,15 @@
 
   // Setup policies to enable deep scanning, its UI and the responses to be
   // simulated.
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      FILE_ATTACHED,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), FILE_ATTACHED,
+      kBlockingScansForDlpAndMalware);
   SetStatusCallbackResponse(
       safe_browsing::SimpleContentAnalysisResponseForTesting(
           dlp_success(), malware_success()));
 
   // Set up delegate test values.
-  FakeContentAnalysisDelegate::SetResponseDelay(response_delay());
+  test::FakeContentAnalysisDelegate::SetResponseDelay(response_delay());
   SetUpDelegate();
 
   bool called = false;
@@ -558,15 +558,15 @@
 
   // Setup policies to enable deep scanning, its UI and the responses to be
   // simulated.
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      FILE_ATTACHED, kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlp);
   SetStatusCallbackResponse(
       safe_browsing::SimpleContentAnalysisResponseForTesting(
           /*dlp=*/true, /*malware=*/absl::nullopt));
 
   // Set up delegate test values. An unresponsive delegate is set up to avoid
   // a race between the file responses and the "Cancel" button being clicked.
-  FakeContentAnalysisDelegate::SetResponseDelay(kSmallDelay);
+  test::FakeContentAnalysisDelegate::SetResponseDelay(kSmallDelay);
   SetUpUnresponsiveDelegate();
 
   bool called = false;
@@ -601,8 +601,8 @@
   base::ScopedAllowBlockingForTesting allow_blocking;
 
   // Setup policies.
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      FILE_ATTACHED, kBlockingScansForDlp);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), FILE_ATTACHED, kBlockingScansForDlp);
 
   // Setup the DLP warning response.
   enterprise_connectors::ContentAnalysisResponse response;
@@ -659,16 +659,16 @@
 
   // Setup policies to enable deep scanning, its UI and the responses to be
   // simulated.
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      FILE_ATTACHED,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), FILE_ATTACHED,
+      kBlockingScansForDlpAndMalware);
 
   SetStatusCallbackResponse(
       safe_browsing::SimpleContentAnalysisResponseForTesting(success(),
                                                              success()));
 
   // Set up delegate test values.
-  FakeContentAnalysisDelegate::SetResponseDelay(kSmallDelay);
+  test::FakeContentAnalysisDelegate::SetResponseDelay(kSmallDelay);
   SetUpDelegate();
 
   bool called = false;
@@ -719,7 +719,7 @@
 
   // Setup policies to enable deep scanning, its UI and the responses to be
   // simulated.
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       browser()->profile()->GetPrefs(), FILE_ATTACHED,
       kBlockingScansForDlpAndMalwareWithCustomMessage);
 
@@ -728,7 +728,7 @@
                                                              success()));
 
   // Set up delegate test values.
-  FakeContentAnalysisDelegate::SetResponseDelay(kSmallDelay);
+  test::FakeContentAnalysisDelegate::SetResponseDelay(kSmallDelay);
   SetUpDelegate();
 
   bool called = false;
@@ -1143,7 +1143,7 @@
                              /*bypass_justification_enabled*/ testing::Bool()));
 
 class ContentAnalysysDialogDownloadObserverTest
-    : public safe_browsing::DeepScanningBrowserTestBase,
+    : public test::DeepScanningBrowserTestBase,
       public ContentAnalysisDialog::TestObserver {
  public:
   ContentAnalysysDialogDownloadObserverTest() {
diff --git a/chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h b/chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h
deleted file mode 100644
index 2cc129f..0000000
--- a/chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2022 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_ENTERPRISE_CONNECTORS_ANALYSIS_FAKE_FILES_REQUEST_HANDLER_H_
-#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_ANALYSIS_FAKE_FILES_REQUEST_HANDLER_H_
-
-#include "base/functional/callback_forward.h"
-#include "base/memory/weak_ptr.h"
-#include "chrome/browser/enterprise/connectors/analysis/files_request_handler.h"
-
-namespace enterprise_connectors {
-
-class FakeFilesRequestHandler : public FilesRequestHandler {
- public:
-  using FakeFileRequestCallback = base::OnceCallback<void(
-      base::FilePath path,
-      safe_browsing::BinaryUploadService::Result result,
-      enterprise_connectors::ContentAnalysisResponse response)>;
-
-  using FakeFileUploadCallback = base::RepeatingCallback<void(
-      safe_browsing::BinaryUploadService::Result result,
-      const base::FilePath& path,
-      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
-      FakeFileRequestCallback callback)>;
-
-  FakeFilesRequestHandler(
-      FakeFileUploadCallback fake_file_upload_callback,
-      safe_browsing::BinaryUploadService* upload_service,
-      Profile* profile,
-      const enterprise_connectors::AnalysisSettings& analysis_settings,
-      GURL url,
-      const std::string& source,
-      const std::string& destination,
-      const std::string& user_action_id,
-      const std::string& tab_title,
-      safe_browsing::DeepScanAccessPoint access_point,
-      const std::vector<base::FilePath>& paths,
-      CompletionCallback callback);
-
-  ~FakeFilesRequestHandler() override;
-
-  static std::unique_ptr<enterprise_connectors::FilesRequestHandler> Create(
-      FakeFileUploadCallback fake_file_upload_callback,
-      safe_browsing::BinaryUploadService* upload_service,
-      Profile* profile,
-      const enterprise_connectors::AnalysisSettings& analysis_settings,
-      GURL url,
-      const std::string& source,
-      const std::string& destination,
-      const std::string& user_action_id,
-      const std::string& tab_title,
-      safe_browsing::DeepScanAccessPoint access_point,
-      const std::vector<base::FilePath>& paths,
-      enterprise_connectors::FilesRequestHandler::CompletionCallback callback);
-
-  base::WeakPtr<FakeFilesRequestHandler> GetWeakPtr();
-
- private:
-  void UploadFileForDeepScanning(
-      safe_browsing::BinaryUploadService::Result result,
-      const base::FilePath& path,
-      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request)
-      override;
-
-  FakeFileUploadCallback fake_file_upload_callback_;
-  base::WeakPtrFactory<FakeFilesRequestHandler> weak_ptr_factory_{this};
-};
-
-}  // namespace enterprise_connectors
-
-#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_ANALYSIS_FAKE_FILES_REQUEST_HANDLER_H_
diff --git a/chrome/browser/enterprise/connectors/analysis/file_transfer_analysis_delegate_unittest.cc b/chrome/browser/enterprise/connectors/analysis/file_transfer_analysis_delegate_unittest.cc
index aa6b2d6..dec4c76 100644
--- a/chrome/browser/enterprise/connectors/analysis/file_transfer_analysis_delegate_unittest.cc
+++ b/chrome/browser/enterprise/connectors/analysis/file_transfer_analysis_delegate_unittest.cc
@@ -21,17 +21,17 @@
 #include "base/task/single_thread_task_runner.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/test_future.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h"
 #include "chrome/browser/enterprise/connectors/analysis/files_request_handler.h"
 #include "chrome/browser/enterprise/connectors/analysis/source_destination_test_util.h"
 #include "chrome/browser/enterprise/connectors/common.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
+#include "chrome/browser/enterprise/connectors/test/fake_files_request_handler.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/browser/safe_browsing/test_extension_event_observer.h"
 #include "chrome/common/chrome_paths.h"
@@ -360,26 +360,26 @@
     case NO_PREF:
       break;
     case NOTHING_ENABLED_PREF:
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                          kNothingEnabled);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), FILE_TRANSFER, kNothingEnabled);
       break;
     case DLP_PREF:
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                          kBlockingScansForDlp);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), FILE_TRANSFER, kBlockingScansForDlp);
       break;
     case MALWARE_PREF:
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                          kBlockingScansForMalware);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), FILE_TRANSFER, kBlockingScansForMalware);
       break;
     case DLP_MALWARE_PREF:
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                          kBlockingScansForDlpAndMalware);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), FILE_TRANSFER, kBlockingScansForDlpAndMalware);
       break;
   }
   if (GetUnrelatedPrefEnabled()) {
     // Set for wrong policy (FILE_DOWNLOADED instead of FILE_TRANSFER)!
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED,
-                                        kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), FILE_DOWNLOADED, kBlockingScansForDlpAndMalware);
   }
 
   auto settings = FileTransferAnalysisDelegate::IsEnabledVec(
@@ -406,8 +406,8 @@
 TEST_F(FileTransferAnalysisDelegateIsEnabledTestSameFileSystem,
        DlpMalwareDisabledForSameFileSystem) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_TRANSFER, kBlockingScansForDlpAndMalware);
 
   auto settings = FileTransferAnalysisDelegate::IsEnabledVec(
       profile(),
@@ -425,8 +425,9 @@
 TEST_F(FileTransferAnalysisDelegateIsEnabledTestMultiple, Test) {
   ScopedSetDMToken scoped_dm_token(policy::DMToken::CreateValidToken(kDmToken));
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                      R"({
+  enterprise_connectors::test::SetAnalysisConnector(profile_->GetPrefs(),
+                                                    FILE_TRANSFER,
+                                                    R"({
           "service_provider": "google",
           "enable": [
             {
@@ -485,8 +486,8 @@
 
   VolumeInfo source_volume = GetParam();
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                      kBlockingScansForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_TRANSFER, kBlockingScansForDlpAndMalware);
 
   VolumeInfo dest_volume = GetParam();
 
@@ -504,7 +505,7 @@
 
   VolumeInfo source_volume = GetParam();
 
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       profile_->GetPrefs(), FILE_TRANSFER,
       base::StringPrintf(R"(
         {
@@ -559,7 +560,7 @@
 
   VolumeInfo dest_volume = GetParam();
 
-  safe_browsing::SetAnalysisConnector(
+  enterprise_connectors::test::SetAnalysisConnector(
       profile_->GetPrefs(), FILE_TRANSFER,
       base::StringPrintf(R"(
         {
@@ -614,9 +615,10 @@
 
   VolumeInfo source_volume = GetParam();
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                      base::StringPrintf(
-                                          R"({
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_TRANSFER,
+      base::StringPrintf(
+          R"({
           "service_provider": "google",
           "enable": [
             {
@@ -635,7 +637,7 @@
           ],
           "block_until_verdict": 1
         })",
-                                          source_volume.fs_config_string));
+          source_volume.fs_config_string));
 
   VolumeInfo dest_volume = GetAnyOtherVolume(source_volume);
 
@@ -653,9 +655,10 @@
 
   VolumeInfo dest_volume = GetParam();
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                      base::StringPrintf(
-                                          R"({
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_TRANSFER,
+      base::StringPrintf(
+          R"({
           "service_provider": "google",
           "enable": [
             {
@@ -674,7 +677,7 @@
           ],
           "block_until_verdict": 1
         })",
-                                          dest_volume.fs_config_string));
+          dest_volume.fs_config_string));
 
   VolumeInfo source_volume = GetAnyOtherVolume(dest_volume);
 
@@ -698,15 +701,15 @@
   void SetUp() override {
     BaseTest::SetUp();
 
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                        kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), FILE_TRANSFER, kBlockingScansForDlpAndMalware);
 
     // Setup reporting:
-    safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(),
-                                               /*enabled*/ true,
-                                               /*enabled_event_names*/ {},
-                                               /*enabled_opt_in_events*/ {},
-                                               /*machine_scope*/ false);
+    test::SetOnSecurityEventReporting(profile()->GetPrefs(),
+                                      /*enabled*/ true,
+                                      /*enabled_event_names*/ {},
+                                      /*enabled_opt_in_events*/ {},
+                                      /*machine_scope*/ false);
     cloud_policy_client_ = std::make_unique<policy::MockCloudPolicyClient>();
     cloud_policy_client_->SetDMToken(kDmToken);
     extensions::SafeBrowsingPrivateEventRouterFactory::GetInstance()
@@ -727,7 +730,7 @@
             identity_test_environment_->identity_manager());
 
     FilesRequestHandler::SetFactoryForTesting(base::BindRepeating(
-        &FakeFilesRequestHandler::Create,
+        &test::FakeFilesRequestHandler::Create,
         base::BindRepeating(
             &FileTransferAnalysisDelegateAuditOnlyTest::FakeFileUploadCallback,
             base::Unretained(this))));
@@ -793,7 +796,7 @@
       safe_browsing::BinaryUploadService::Result result,
       const base::FilePath& path,
       std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
-      FakeFilesRequestHandler::FakeFileRequestCallback callback) {
+      test::FakeFilesRequestHandler::FakeFileRequestCallback callback) {
     EXPECT_FALSE(path.empty());
     EXPECT_EQ(request->device_token(), kDmToken);
 
@@ -817,7 +820,7 @@
     ContentAnalysisResponse response =
         it != failures_.end()
             ? it->second
-            : FakeContentAnalysisDelegate::SuccessfulResponse([this]() {
+            : test::FakeContentAnalysisDelegate::SuccessfulResponse([this]() {
                 std::set<std::string> tags;
                 if (!dlp_response_.has_value()) {
                   tags.insert("dlp");
@@ -894,7 +897,7 @@
   storage::FileSystemURL source_url = GetEmptyTestSrcUrl();
   storage::FileSystemURL destination_url = GetEmptyTestDestUrl();
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectNoReport();
 
   ScanUpload(source_url, destination_url);
@@ -911,7 +914,7 @@
   storage::FileSystemURL source_url = PathToFileSystemURL(
       source_directory_url_.path().Append("does_not_exist"));
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectNoReport();
 
   ScanUpload(source_url, destination_directory_url_);
@@ -926,7 +929,7 @@
 }
 
 TEST_F(FileTransferAnalysisDelegateAuditOnlyTest, EmptyDirectory) {
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectNoReport();
 
   ScanUpload(source_directory_url_, destination_directory_url_);
@@ -946,7 +949,7 @@
 
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectNoReport();
 
   ScanUpload(source_url, destination_directory_url_);
@@ -968,8 +971,10 @@
 
   // Mark all files and text with failed scans.
   std::string scan_id = "scan_id";
-  ContentAnalysisResponse response = FakeContentAnalysisDelegate::DlpResponse(
-      ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK);
+  ContentAnalysisResponse response =
+      test::FakeContentAnalysisDelegate::DlpResponse(
+          ContentAnalysisResponse::Result::SUCCESS, "rule",
+          TriggeredRule::BLOCK);
   response.set_request_token(scan_id);
 
   SetDLPResponse(response);
@@ -977,7 +982,7 @@
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
   // Check reporting.
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectSensitiveDataEvent(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1012,8 +1017,9 @@
 
 TEST_F(FileTransferAnalysisDelegateAuditOnlyTest,
        SingleFileBlockedDlpReportOnly) {
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_TRANSFER,
-                                      kBlockingScansForDlpAndMalwareReportOnly);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), FILE_TRANSFER,
+      kBlockingScansForDlpAndMalwareReportOnly);
 
   // For report-only mode, the destination is scanned, because we perform the
   // scan after a transfer. So we create the file at the destination.
@@ -1022,8 +1028,10 @@
 
   // Mark all files and text with failed scans.
   std::string scan_id = "scan_id";
-  ContentAnalysisResponse response = FakeContentAnalysisDelegate::DlpResponse(
-      ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK);
+  ContentAnalysisResponse response =
+      test::FakeContentAnalysisDelegate::DlpResponse(
+          ContentAnalysisResponse::Result::SUCCESS, "rule",
+          TriggeredRule::BLOCK);
   response.set_request_token(scan_id);
 
   SetDLPResponse(response);
@@ -1033,7 +1041,7 @@
   storage::FileSystemURL destination_url = PathToFileSystemURL(paths[0]);
 
   // Check reporting.
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectSensitiveDataEvent(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1070,7 +1078,7 @@
   // Mark all files and text with failed scans.
   std::string scan_id = "scan_id";
   ContentAnalysisResponse response =
-      FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK);
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK);
 
   // Setting the rule_name is required for a correct value of thread_type in the
   // report.
@@ -1085,7 +1093,7 @@
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
   // Check reporting.
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectDangerousDeepScanningResult(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1132,8 +1140,10 @@
 
   // Mark all files and text with failed scans.
   std::string scan_id = "scan_id";
-  ContentAnalysisResponse response = FakeContentAnalysisDelegate::DlpResponse(
-      ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK);
+  ContentAnalysisResponse response =
+      test::FakeContentAnalysisDelegate::DlpResponse(
+          ContentAnalysisResponse::Result::SUCCESS, "rule",
+          TriggeredRule::BLOCK);
   response.set_request_token(scan_id);
 
   SetDLPResponse(response);
@@ -1141,7 +1151,7 @@
   storage::FileSystemURL source_url = PathToFileSystemURL(path);
 
   // Check reporting.
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectUnscannedFileEvent(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1180,7 +1190,7 @@
 
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectNoReport();
 
   ScanUpload(source_directory_url_, destination_directory_url_);
@@ -1203,13 +1213,15 @@
 
   // Mark all files and text with failed scans.
   std::string scan_id = "scan_id";
-  ContentAnalysisResponse response = FakeContentAnalysisDelegate::DlpResponse(
-      ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK);
+  ContentAnalysisResponse response =
+      test::FakeContentAnalysisDelegate::DlpResponse(
+          ContentAnalysisResponse::Result::SUCCESS, "rule",
+          TriggeredRule::BLOCK);
   response.set_request_token(scan_id);
   SetDLPResponse(response);
 
   // Check reporting.
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectSensitiveDataEvent(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1249,7 +1261,7 @@
        FILE_PATH_LITERAL("blub.doc")},
       source_directory_url_.path());
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectNoReport();
 
   ScanUpload(source_directory_url_, destination_directory_url_);
@@ -1276,14 +1288,16 @@
 
   // Mark all files and text with failed scans.
   std::string scan_id = "scan_id";
-  ContentAnalysisResponse response = FakeContentAnalysisDelegate::DlpResponse(
-      ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK);
+  ContentAnalysisResponse response =
+      test::FakeContentAnalysisDelegate::DlpResponse(
+          ContentAnalysisResponse::Result::SUCCESS, "rule",
+          TriggeredRule::BLOCK);
   response.set_request_token(scan_id);
   SetDLPResponse(response);
 
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectSensitiveDataEvents(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1337,7 +1351,7 @@
   for (const auto& path : paths) {
     if (path.value().find("bad") != std::string::npos) {
       ContentAnalysisResponse response =
-          FakeContentAnalysisDelegate::DlpResponse(
+          test::FakeContentAnalysisDelegate::DlpResponse(
               ContentAnalysisResponse::Result::SUCCESS, "rule",
               TriggeredRule::BLOCK);
       response.set_request_token(scan_id);
@@ -1348,7 +1362,7 @@
 
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectSensitiveDataEvents(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
@@ -1415,7 +1429,7 @@
     auto&& path = paths[i];
     if (path.value().find("bad") != std::string::npos) {
       ContentAnalysisResponse response =
-          FakeContentAnalysisDelegate::DlpResponse(
+          test::FakeContentAnalysisDelegate::DlpResponse(
               ContentAnalysisResponse::Result::SUCCESS,
               base::StrCat({"rule", base::NumberToString(i)}),
               TriggeredRule::BLOCK);
@@ -1436,7 +1450,7 @@
 
   storage::FileSystemURL source_url = PathToFileSystemURL(paths[0]);
 
-  safe_browsing::EventReportValidator validator(cloud_policy_client());
+  test::EventReportValidator validator(cloud_policy_client());
   validator.ExpectSensitiveDataEvents(
       /*url*/ "",
       /*source*/ kSourceVolumeInfo.fs_config_string,
diff --git a/chrome/browser/enterprise/connectors/analysis/files_request_handler.cc b/chrome/browser/enterprise/connectors/analysis/files_request_handler.cc
index 31fd4d5..2bcb7f4 100644
--- a/chrome/browser/enterprise/connectors/analysis/files_request_handler.cc
+++ b/chrome/browser/enterprise/connectors/analysis/files_request_handler.cc
@@ -177,15 +177,11 @@
     for (size_t i = 0; i < paths_.size(); ++i)
       tasks[i].request = PrepareFileRequest(i);
 
-    if (file_access::ScopedFileAccessDelegate::HasInstance()) {
-      file_access::ScopedFileAccessDelegate::Get()->RequestFilesAccessForSystem(
-          paths_,
-          base::BindOnce(&FilesRequestHandler::CreateFileOpeningJob,
-                         weak_ptr_factory_.GetWeakPtr(), std::move(tasks)));
-    } else {
-      file_opening_job_ =
-          std::make_unique<safe_browsing::FileOpeningJob>(std::move(tasks));
-    }
+    file_access::RequestFilesAccessForSystem(
+        paths_,
+        base::BindOnce(&FilesRequestHandler::CreateFileOpeningJob,
+                       weak_ptr_factory_.GetWeakPtr(), std::move(tasks)));
+
     return true;
   }
 
diff --git a/chrome/browser/enterprise/connectors/analysis/files_request_handler_unittest.cc b/chrome/browser/enterprise/connectors/analysis/files_request_handler_unittest.cc
index 66619e5..4a6d0f9 100644
--- a/chrome/browser/enterprise/connectors/analysis/files_request_handler_unittest.cc
+++ b/chrome/browser/enterprise/connectors/analysis/files_request_handler_unittest.cc
@@ -21,13 +21,13 @@
 #include "base/test/gmock_callback_support.h"
 #include "base/test/test_future.h"
 #include "build/build_config.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h"
 #include "chrome/browser/enterprise/connectors/common.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
+#include "chrome/browser/enterprise/connectors/test/fake_files_request_handler.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/test/base/testing_browser_process.h"
@@ -139,7 +139,7 @@
   TestingProfileManager profile_manager_;
   raw_ptr<TestingProfile> profile_;
   base::ScopedTempDir temp_dir_;
-  std::unique_ptr<FakeFilesRequestHandler> fake_files_request_handler_;
+  std::unique_ptr<test::FakeFilesRequestHandler> fake_files_request_handler_;
 };
 
 MATCHER_P3(MatchesRequestHandlerResult, complies, final_result, tag, "") {
@@ -192,7 +192,8 @@
   absl::optional<std::vector<RequestHandlerResult>> ScanUpload(
       const std::vector<base::FilePath>& paths) {
     // The settings need to exist until the "scanning" has completed, we can
-    // thus not pass it into FakeFilesRequestHandler as a rvalue reference.
+    // thus not pass it into test::FakeFilesRequestHandler as a rvalue
+    // reference.
     absl::optional<AnalysisSettings> settings = GetSettings();
     if (!settings.has_value()) {
       return absl::nullopt;
@@ -204,14 +205,16 @@
 
     // The access point is only used for metrics, so its value doesn't affect
     // the tests in this file and can always be the same.
-    fake_files_request_handler_ = std::make_unique<FakeFilesRequestHandler>(
-        base::BindRepeating(
-            &FilesRequestHandlerTest::FakeFileUploadCallback,
-            weak_ptr_factory_.GetWeakPtr(),
-            settings->cloud_or_local_settings.is_cloud_analysis()),
-        /*upload_service=*/nullptr, profile_, *settings, GURL(kTestUrl), "", "",
-        kUserActionId, kTabTitle, safe_browsing::DeepScanAccessPoint::UPLOAD,
-        paths, future.GetCallback());
+    fake_files_request_handler_ =
+        std::make_unique<test::FakeFilesRequestHandler>(
+            base::BindRepeating(
+                &FilesRequestHandlerTest::FakeFileUploadCallback,
+                weak_ptr_factory_.GetWeakPtr(),
+                settings->cloud_or_local_settings.is_cloud_analysis()),
+            /*upload_service=*/nullptr, profile_, *settings, GURL(kTestUrl), "",
+            "", kUserActionId, kTabTitle,
+            safe_browsing::DeepScanAccessPoint::UPLOAD, paths,
+            future.GetCallback());
 
     fake_files_request_handler_->UploadData();
 
@@ -263,30 +266,30 @@
     include_malware_ = malware;
 
     if (include_dlp_ && include_malware_) {
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                          AnalysisConnector::FILE_ATTACHED,
-                                          kBlockingScansForDlpAndMalware);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+          kBlockingScansForDlpAndMalware);
     } else if (include_dlp_) {
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                          AnalysisConnector::FILE_ATTACHED,
-                                          kBlockingScansForDlp);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+          kBlockingScansForDlp);
     } else if (include_malware_) {
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                          AnalysisConnector::FILE_ATTACHED,
-                                          kBlockingScansForMalware);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+          kBlockingScansForMalware);
     } else {
-      safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                          AnalysisConnector::FILE_ATTACHED,
-                                          kNothingEnabled);
+      enterprise_connectors::test::SetAnalysisConnector(
+          profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+          kNothingEnabled);
     }
   }
 
   void SetUp() override {
     BaseTest::SetUp();
 
-    safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                        AnalysisConnector::FILE_ATTACHED,
-                                        kBlockingScansForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+        kBlockingScansForDlpAndMalware);
   }
 
   void FakeFileUploadCallback(
@@ -294,7 +297,7 @@
       safe_browsing::BinaryUploadService::Result result,
       const base::FilePath& path,
       std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
-      FakeFilesRequestHandler::FakeFileRequestCallback callback) {
+      test::FakeFilesRequestHandler::FakeFileRequestCallback callback) {
     EXPECT_FALSE(path.empty());
     if (is_cloud_analysis) {
       EXPECT_EQ(request->device_token(), kDmToken);
@@ -320,7 +323,7 @@
     ContentAnalysisResponse response =
         it != failures_.end()
             ? it->second
-            : FakeContentAnalysisDelegate::SuccessfulResponse([this]() {
+            : test::FakeContentAnalysisDelegate::SuccessfulResponse([this]() {
                 std::set<std::string> tags;
                 if (include_dlp_ && !dlp_response_.has_value()) {
                   tags.insert("dlp");
@@ -422,8 +425,9 @@
 TEST_F(FilesRequestHandlerTest, FileIsEncrypted) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      AnalysisConnector::FILE_ATTACHED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+      R"(
     {
       "service_provider": "google",
       "enable": [
@@ -458,9 +462,9 @@
 TEST_F(FilesRequestHandlerTest, FileIsEncrypted_LocalAnalysis) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      AnalysisConnector::FILE_ATTACHED,
-                                      kLocalServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+      kLocalServiceProvider);
   GURL url(kTestUrl);
   std::vector<base::FilePath> paths;
 
@@ -483,8 +487,9 @@
 TEST_F(FilesRequestHandlerTest, FileIsEncrypted_PolicyAllows) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      AnalysisConnector::FILE_ATTACHED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+      R"(
     {
       "service_provider": "google",
       "enable": [
@@ -519,9 +524,9 @@
 TEST_F(FilesRequestHandlerTest, FileIsLarge_LocalAnalysis) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      AnalysisConnector::FILE_ATTACHED,
-                                      kLocalServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+      kLocalServiceProvider);
   GURL url(kTestUrl);
   std::vector<base::FilePath> paths;
 
@@ -547,9 +552,9 @@
 TEST_F(FilesRequestHandlerTest, MultipleFilesUpload_LocalAnalysis) {
   content::InProcessUtilityThreadHelper in_process_utility_thread_helper;
 
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      AnalysisConnector::FILE_ATTACHED,
-                                      kLocalServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+      kLocalServiceProvider);
   GURL url(kTestUrl);
   std::vector<base::FilePath> paths = CreateFilesForTest(
       {FILE_PATH_LITERAL("good.doc"), FILE_PATH_LITERAL("good2.doc")});
@@ -572,8 +577,9 @@
 
   std::vector<base::FilePath> paths = CreateFilesForTest(
       {FILE_PATH_LITERAL("good.doc"), FILE_PATH_LITERAL("bad.doc")});
-  PathFailsDeepScan(paths[1], FakeContentAnalysisDelegate::MalwareResponse(
-                                  TriggeredRule::BLOCK));
+  PathFailsDeepScan(
+      paths[1],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
 
   auto results = ScanUpload(paths);
   ASSERT_TRUE(results.has_value());
@@ -639,7 +645,7 @@
   std::vector<base::FilePath> paths = CreateFilesForTest(
       {FILE_PATH_LITERAL("good.doc"), FILE_PATH_LITERAL("bad.doc")});
 
-  PathFailsDeepScan(paths[1], FakeContentAnalysisDelegate::DlpResponse(
+  PathFailsDeepScan(paths[1], test::FakeContentAnalysisDelegate::DlpResponse(
                                   ContentAnalysisResponse::Result::SUCCESS,
                                   "rule", TriggeredRule::BLOCK));
 
@@ -663,7 +669,7 @@
 
   PathFailsDeepScan(
       paths[1],
-      FakeContentAnalysisDelegate::MalwareAndDlpResponse(
+      test::FakeContentAnalysisDelegate::MalwareAndDlpResponse(
           TriggeredRule::BLOCK, ContentAnalysisResponse::Result::SUCCESS,
           "rule", TriggeredRule::BLOCK));
 
@@ -687,8 +693,9 @@
   // Note that this behavior is different compared to the
   // ContentAnalysisDelegateUnittest which checks that the Delegate allows
   // access to all data for block_until_verdict==0.
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(),
-                                      AnalysisConnector::FILE_ATTACHED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), AnalysisConnector::FILE_ATTACHED,
+      R"(
     {
       "service_provider": "google",
       "enable": [
@@ -709,18 +716,21 @@
                           FILE_PATH_LITERAL("foo_fail_dlp_rule.doc")});
 
   // Mark all files and text with failed scans.
-  SetDLPResponse(FakeContentAnalysisDelegate::DlpResponse(
+  SetDLPResponse(test::FakeContentAnalysisDelegate::DlpResponse(
       ContentAnalysisResponse::Result::SUCCESS, "rule", TriggeredRule::BLOCK));
-  PathFailsDeepScan(paths[0], FakeContentAnalysisDelegate::MalwareResponse(
-                                  TriggeredRule::BLOCK));
-  PathFailsDeepScan(paths[1], FakeContentAnalysisDelegate::MalwareResponse(
-                                  TriggeredRule::WARN));
-  PathFailsDeepScan(paths[2], FakeContentAnalysisDelegate::MalwareResponse(
-                                  TriggeredRule::BLOCK));
-  PathFailsDeepScan(paths[3], FakeContentAnalysisDelegate::DlpResponse(
+  PathFailsDeepScan(
+      paths[0],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
+  PathFailsDeepScan(
+      paths[1],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::WARN));
+  PathFailsDeepScan(
+      paths[2],
+      test::FakeContentAnalysisDelegate::MalwareResponse(TriggeredRule::BLOCK));
+  PathFailsDeepScan(paths[3], test::FakeContentAnalysisDelegate::DlpResponse(
                                   ContentAnalysisResponse::Result::FAILURE, "",
                                   TriggeredRule::REPORT_ONLY));
-  PathFailsDeepScan(paths[4], FakeContentAnalysisDelegate::DlpResponse(
+  PathFailsDeepScan(paths[4], test::FakeContentAnalysisDelegate::DlpResponse(
                                   ContentAnalysisResponse::Result::SUCCESS,
                                   "dlp", TriggeredRule::BLOCK));
 
diff --git a/chrome/browser/enterprise/connectors/analysis/print_content_analysis_utils_unittest.cc b/chrome/browser/enterprise/connectors/analysis/print_content_analysis_utils_unittest.cc
index d6ed06e..e7570d6 100644
--- a/chrome/browser/enterprise/connectors/analysis/print_content_analysis_utils_unittest.cc
+++ b/chrome/browser/enterprise/connectors/analysis/print_content_analysis_utils_unittest.cc
@@ -10,11 +10,11 @@
 #include "build/build_config.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/printing/print_preview_test.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
@@ -178,9 +178,9 @@
         ->SetIdentityManagerForTesting(
             identity_test_environment_.identity_manager());
 
-    safe_browsing::SetAnalysisConnector(profile()->GetPrefs(), PRINT,
-                                        GetParam());
-    safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
+    enterprise_connectors::test::SetAnalysisConnector(profile()->GetPrefs(),
+                                                      PRINT, GetParam());
+    test::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
   }
 
   void TearDown() override {
@@ -215,7 +215,7 @@
       &PrintTestContentAnalysisDelegate::Create,
       ContentAnalysisResponse::Result::TriggeredRule::ACTION_UNSPECIFIED));
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  test::EventReportValidator validator(client_.get());
   validator.ExpectNoReport();
 
   auto data = CreateData();
@@ -235,7 +235,7 @@
       &PrintTestContentAnalysisDelegate::Create,
       ContentAnalysisResponse::Result::TriggeredRule::REPORT_ONLY));
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  test::EventReportValidator validator(client_.get());
   validator.ExpectSensitiveDataEvent(
       /*url*/ "",
       /*source*/ "",
@@ -271,7 +271,7 @@
       &PrintTestContentAnalysisDelegate::Create,
       ContentAnalysisResponse::Result::TriggeredRule::WARN));
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  test::EventReportValidator validator(client_.get());
   validator.SetDoneClosure(base::BindLambdaForTesting([this, &validator]() {
     testing::Mock::VerifyAndClearExpectations(client_.get());
     validator.ExpectNoReport();
@@ -314,7 +314,7 @@
       ContentAnalysisResponse::Result::TriggeredRule::WARN));
 
   bool bypassed = false;
-  safe_browsing::EventReportValidator validator(client_.get());
+  test::EventReportValidator validator(client_.get());
   validator.SetDoneClosure(base::BindLambdaForTesting([this, &validator,
                                                        &bypassed]() {
     // Only do this once to avoid infinite recursion since bypassing triggers
@@ -382,7 +382,7 @@
       &PrintTestContentAnalysisDelegate::Create,
       ContentAnalysisResponse::Result::TriggeredRule::BLOCK));
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  test::EventReportValidator validator(client_.get());
   validator.ExpectSensitiveDataEvent(
       /*url*/ "",
       /*source*/ "",
diff --git a/chrome/browser/enterprise/connectors/common_unittest.cc b/chrome/browser/enterprise/connectors/common_unittest.cc
index 01f2a66..660da6f 100644
--- a/chrome/browser/enterprise/connectors/common_unittest.cc
+++ b/chrome/browser/enterprise/connectors/common_unittest.cc
@@ -6,8 +6,8 @@
 
 #include "base/memory/raw_ptr.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
@@ -82,8 +82,7 @@
       "block_large_files": %s
     })",
                                  bool_setting());
-  safe_browsing::SetAnalysisConnector(profile()->GetPrefs(), FILE_ATTACHED,
-                                      pref);
+  test::SetAnalysisConnector(profile()->GetPrefs(), FILE_ATTACHED, pref);
   EXPECT_EQ(allowed(),
             ResultShouldAllowDataUse(
                 settings(),
@@ -99,8 +98,7 @@
       "block_password_protected": %s
     })",
                                  bool_setting());
-  safe_browsing::SetAnalysisConnector(profile()->GetPrefs(), FILE_ATTACHED,
-                                      pref);
+  test::SetAnalysisConnector(profile()->GetPrefs(), FILE_ATTACHED, pref);
   EXPECT_EQ(allowed(),
             ResultShouldAllowDataUse(
                 settings(),
@@ -116,8 +114,7 @@
       "block_unsupported_file_types": %s
     })",
                                  bool_setting());
-  safe_browsing::SetAnalysisConnector(profile()->GetPrefs(), FILE_ATTACHED,
-                                      pref);
+  test::SetAnalysisConnector(profile()->GetPrefs(), FILE_ATTACHED, pref);
   EXPECT_EQ(allowed(),
             ResultShouldAllowDataUse(
                 settings(), safe_browsing::BinaryUploadService::Result::
diff --git a/chrome/browser/enterprise/connectors/connectors_service_browsertest.cc b/chrome/browser/enterprise/connectors/connectors_service_browsertest.cc
index 66190a24..0135a1e 100644
--- a/chrome/browser/enterprise/connectors/connectors_service_browsertest.cc
+++ b/chrome/browser/enterprise/connectors/connectors_service_browsertest.cc
@@ -14,11 +14,11 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/enterprise/connectors/common.h"
 #include "chrome/browser/enterprise/connectors/connectors_prefs.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/policy/chrome_browser_policy_connector.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/profiles/reporting_util.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/ui/browser.h"
 #include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h"
 #include "components/enterprise/browser/enterprise_switches.h"
@@ -147,7 +147,7 @@
 enum class ManagementStatus { AFFILIATED, UNAFFILIATED, UNMANAGED };
 
 class ConnectorsServiceProfileBrowserTest
-    : public safe_browsing::DeepScanningBrowserTestBase {
+    : public test::DeepScanningBrowserTestBase {
  public:
   explicit ConnectorsServiceProfileBrowserTest(
       ManagementStatus management_status)
@@ -170,7 +170,7 @@
   }
 
   void SetUpOnMainThread() override {
-    safe_browsing::DeepScanningBrowserTestBase::SetUpOnMainThread();
+    test::DeepScanningBrowserTestBase::SetUpOnMainThread();
 
     SetUpProfileData();
 
@@ -192,7 +192,7 @@
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
     EXPECT_TRUE(browser()->profile()->IsMainProfile());
 #elif !BUILDFLAG(IS_CHROMEOS_ASH)
-    safe_browsing::SetProfileDMToken(browser()->profile(), kFakeProfileDMToken);
+    test::SetProfileDMToken(browser()->profile(), kFakeProfileDMToken);
 #endif
 
     enterprise_management::PolicyData profile_policy_data;
diff --git a/chrome/browser/enterprise/connectors/connectors_service_unittest.cc b/chrome/browser/enterprise/connectors/connectors_service_unittest.cc
index 1dd9aa5..feb9f53f 100644
--- a/chrome/browser/enterprise/connectors/connectors_service_unittest.cc
+++ b/chrome/browser/enterprise/connectors/connectors_service_unittest.cc
@@ -14,9 +14,9 @@
 #include "chrome/browser/enterprise/connectors/connectors_manager.h"
 #include "chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.h"
 #include "chrome/browser/enterprise/connectors/service_provider_config.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/profiles/profile_testing_helper.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile_manager.h"
 #include "components/enterprise/common/proto/connectors.pb.h"
@@ -127,8 +127,7 @@
 };
 
 TEST_P(ConnectorsServiceHasExtraUiTest, AnalysisConnectors) {
-  safe_browsing::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED,
-                                      pref());
+  test::SetAnalysisConnector(profile_->GetPrefs(), FILE_DOWNLOADED, pref());
   auto* service = ConnectorsServiceFactory::GetForBrowserContext(profile_);
   bool show_extra_ui = service->HasExtraUiToDisplay(FILE_DOWNLOADED, kDlpTag);
   ASSERT_EQ(show_extra_ui, has_extra_ui());
diff --git a/chrome/browser/enterprise/connectors/device_trust/device_trust_browsertest.cc b/chrome/browser/enterprise/connectors/device_trust/device_trust_browsertest.cc
index 080b151..df0179c 100644
--- a/chrome/browser/enterprise/connectors/device_trust/device_trust_browsertest.cc
+++ b/chrome/browser/enterprise/connectors/device_trust/device_trust_browsertest.cc
@@ -42,6 +42,7 @@
 #else
 #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/scoped_key_rotation_command_factory.h"
 #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/scoped_key_persistence_delegate_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "components/enterprise/browser/device_trust/device_trust_key_manager.h"
 #endif
 
diff --git a/chrome/browser/enterprise/connectors/device_trust/device_trust_features.cc b/chrome/browser/enterprise/connectors/device_trust/device_trust_features.cc
index a4321c90..f8333a4 100644
--- a/chrome/browser/enterprise/connectors/device_trust/device_trust_features.cc
+++ b/chrome/browser/enterprise/connectors/device_trust/device_trust_features.cc
@@ -12,7 +12,7 @@
 
 BASE_FEATURE(kUserDTCInlineFlowEnabled,
              "UserDTCInlineFlowEnabled",
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsDeviceTrustConnectorFeatureEnabled() {
   return base::FeatureList::IsEnabled(kDeviceTrustConnectorEnabled);
diff --git a/chrome/browser/enterprise/connectors/device_trust/device_trust_service_unittest.cc b/chrome/browser/enterprise/connectors/device_trust/device_trust_service_unittest.cc
index a9bfbb4..902151d 100644
--- a/chrome/browser/enterprise/connectors/device_trust/device_trust_service_unittest.cc
+++ b/chrome/browser/enterprise/connectors/device_trust/device_trust_service_unittest.cc
@@ -110,11 +110,19 @@
   }
 
   void EnableServicePolicy() {
+    prefs_.SetManagedPref(kBrowserContextAwareAccessSignalsAllowlistPref,
+                          base::Value(GetOrigins()));
+    prefs_.SetManagedPref(kUserContextAwareAccessSignalsAllowlistPref,
+                          base::Value(GetOrigins()));
     prefs_.SetManagedPref(kContextAwareAccessSignalsAllowlistPref,
                           base::Value(GetOrigins()));
   }
 
   void DisableServicePolicy() {
+    prefs_.SetManagedPref(kBrowserContextAwareAccessSignalsAllowlistPref,
+                          base::Value(base::Value::List()));
+    prefs_.SetManagedPref(kUserContextAwareAccessSignalsAllowlistPref,
+                          base::Value(base::Value::List()));
     prefs_.SetManagedPref(kContextAwareAccessSignalsAllowlistPref,
                           base::Value(base::Value::List()));
   }
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/BUILD.gn b/chrome/browser/enterprise/connectors/device_trust/signals/BUILD.gn
index 9d65252..b333ed66c 100644
--- a/chrome/browser/enterprise/connectors/device_trust/signals/BUILD.gn
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/BUILD.gn
@@ -4,6 +4,7 @@
 
 source_set("signals") {
   public = [
+    "dependency_factory.h",
     "signals_filterer.h",
     "signals_service.h",
   ]
@@ -17,6 +18,8 @@
 source_set("test_support") {
   testonly = true
   sources = [
+    "mock_dependency_factory.cc",
+    "mock_dependency_factory.h",
     "mock_signals_filterer.cc",
     "mock_signals_filterer.h",
     "mock_signals_service.cc",
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/BUILD.gn b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/BUILD.gn
index 9d5bfbc..bf8ef1dc 100644
--- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/BUILD.gn
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/BUILD.gn
@@ -9,6 +9,8 @@
   deps = [
     "//chrome/browser",
     "//chrome/browser/enterprise/connectors/device_trust/attestation/common/proto:attestation_ca_proto",
+    "//chrome/browser/enterprise/connectors/device_trust/signals",
+    "//chrome/browser/enterprise/connectors/device_trust/signals:test_support",
     "//components/device_signals/core/browser",
     "//components/device_signals/core/browser:test_support",
     "//components/device_signals/core/common",
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.cc b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.cc
index 6f452b3..51d0b1e 100644
--- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.cc
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.cc
@@ -13,12 +13,14 @@
 #include "base/values.h"
 #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/metrics_utils.h"
 #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/signals_utils.h"
+#include "chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h"
 #include "chrome/browser/enterprise/signals/device_info_fetcher.h"
 #include "chrome/browser/enterprise/signals/signals_common.h"
 #include "components/device_signals/core/browser/signals_aggregator.h"
 #include "components/device_signals/core/browser/signals_types.h"
 #include "components/device_signals/core/common/common_types.h"
 #include "components/device_signals/core/common/signals_constants.h"
+#include "components/policy/core/common/cloud/cloud_policy_manager.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 
@@ -29,7 +31,12 @@
 constexpr char kLatencyHistogramVariant[] = "Browser";
 
 absl::optional<std::string> TryGetEnrollmentDomain(
-    policy::CloudPolicyStore* store) {
+    policy::CloudPolicyManager* manager) {
+  policy::CloudPolicyStore* store = nullptr;
+  if (manager && manager->core() && manager->core()->store()) {
+    store = manager->core()->store();
+  }
+
   if (store && store->has_policy()) {
     const auto* policy = store->policy();
     return policy->has_managed_by() ? policy->managed_by()
@@ -41,12 +48,14 @@
 }  // namespace
 
 BrowserSignalsDecorator::BrowserSignalsDecorator(
-    policy::CloudPolicyStore* browser_cloud_policy_store,
-    policy::CloudPolicyStore* user_cloud_policy_store,
+    policy::CloudPolicyManager* browser_cloud_policy_manager,
+    std::unique_ptr<DependencyFactory> dependency_factory,
     device_signals::SignalsAggregator* signals_aggregator)
-    : browser_cloud_policy_store_(browser_cloud_policy_store),
-      user_cloud_policy_store_(user_cloud_policy_store),
-      signals_aggregator_(signals_aggregator) {}
+    : browser_cloud_policy_manager_(browser_cloud_policy_manager),
+      dependency_factory_(std::move(dependency_factory)),
+      signals_aggregator_(signals_aggregator) {
+  CHECK(dependency_factory_);
+}
 
 BrowserSignalsDecorator::~BrowserSignalsDecorator() = default;
 
@@ -55,14 +64,14 @@
   auto start_time = base::TimeTicks::Now();
 
   const auto device_enrollment_domain =
-      TryGetEnrollmentDomain(browser_cloud_policy_store_);
+      TryGetEnrollmentDomain(browser_cloud_policy_manager_);
   if (device_enrollment_domain) {
     signals.Set(device_signals::names::kDeviceEnrollmentDomain,
                 device_enrollment_domain.value());
   }
 
   const auto user_enrollment_domain =
-      TryGetEnrollmentDomain(user_cloud_policy_store_);
+      TryGetEnrollmentDomain(dependency_factory_->GetUserCloudPolicyManager());
   if (user_enrollment_domain) {
     signals.Set(device_signals::names::kUserEnrollmentDomain,
                 user_enrollment_domain.value());
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h
index c02b8294..4228d9d1 100644
--- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h
@@ -5,6 +5,8 @@
 #ifndef CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DECORATORS_BROWSER_BROWSER_SIGNALS_DECORATOR_H_
 #define CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DECORATORS_BROWSER_BROWSER_SIGNALS_DECORATOR_H_
 
+#include <memory>
+
 #include "base/memory/raw_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
@@ -12,8 +14,10 @@
 #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/common/signals_decorator.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
+class Profile;
+
 namespace policy {
-class CloudPolicyStore;
+class CloudPolicyManager;
 }  // namespace policy
 
 namespace enterprise_signals {
@@ -27,12 +31,14 @@
 
 namespace enterprise_connectors {
 
+class DependencyFactory;
+
 // Definition of the SignalsDecorator common to all Chrome browser platforms.
 class BrowserSignalsDecorator : public SignalsDecorator {
  public:
   BrowserSignalsDecorator(
-      policy::CloudPolicyStore* browser_cloud_policy_store,
-      policy::CloudPolicyStore* user_cloud_policy_store,
+      policy::CloudPolicyManager* browser_cloud_policy_manager,
+      std::unique_ptr<DependencyFactory> dependency_factory,
       device_signals::SignalsAggregator* signals_aggregator);
   ~BrowserSignalsDecorator() override;
 
@@ -65,8 +71,8 @@
   void OnAllSignalsReceived(base::TimeTicks start_time,
                             base::OnceClosure done_closure);
 
-  const raw_ptr<policy::CloudPolicyStore> browser_cloud_policy_store_;
-  const raw_ptr<policy::CloudPolicyStore> user_cloud_policy_store_;
+  const raw_ptr<policy::CloudPolicyManager> browser_cloud_policy_manager_;
+  std::unique_ptr<DependencyFactory> dependency_factory_;
 
   // Signals aggregator, which is a profile-keyed service. Can be nullptr in
   // the case where the Profile is an incognito profile.
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator_unittest.cc b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator_unittest.cc
index 2c6f7bb..0aca253 100644
--- a/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator_unittest.cc
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator_unittest.cc
@@ -9,6 +9,8 @@
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/task_environment.h"
 #include "base/values.h"
+#include "chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h"
+#include "chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.h"
 #include "chrome/browser/enterprise/signals/device_info_fetcher.h"
 #include "components/device_signals/core/browser/mock_signals_aggregator.h"
 #include "components/device_signals/core/browser/signals_aggregator.h"
@@ -16,6 +18,7 @@
 #include "components/device_signals/core/common/common_types.h"
 #include "components/device_signals/core/common/signals_constants.h"
 #include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h"
+#include "components/policy/core/common/cloud/mock_cloud_policy_manager.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -23,6 +26,7 @@
 
 using testing::_;
 using testing::Invoke;
+using testing::Return;
 using testing::StrictMock;
 
 namespace enterprise_connectors {
@@ -135,6 +139,15 @@
   void SetUp() override {
     enterprise_signals::DeviceInfoFetcher::SetForceStubForTesting(
         /*should_force=*/true);
+
+    mock_browser_cloud_policy_manager_ =
+        std::make_unique<policy::MockCloudPolicyManager>(
+            &mock_browser_cloud_policy_store_,
+            task_environment_.GetMainThreadTaskRunner());
+    mock_user_cloud_policy_manager_ =
+        std::make_unique<policy::MockCloudPolicyManager>(
+            &mock_user_cloud_policy_store_,
+            task_environment_.GetMainThreadTaskRunner());
   }
 
   void TearDown() override {
@@ -156,9 +169,19 @@
         std::move(policy_data));
   }
 
+  std::unique_ptr<DependencyFactory> CreateDependencyFactory(
+      bool valid_manager = true) {
+    auto mock_dependency_factory =
+        std::make_unique<test::MockDependencyFactory>();
+    EXPECT_CALL(*mock_dependency_factory, GetUserCloudPolicyManager())
+        .WillOnce(Return(valid_manager ? mock_user_cloud_policy_manager_.get()
+                                       : nullptr));
+    return mock_dependency_factory;
+  }
+
   BrowserSignalsDecorator CreateDecorator() {
-    return BrowserSignalsDecorator(&mock_browser_cloud_policy_store_,
-                                   &mock_user_cloud_policy_store_,
+    return BrowserSignalsDecorator(mock_browser_cloud_policy_manager_.get(),
+                                   CreateDependencyFactory(),
                                    &mock_aggregator_);
   }
 
@@ -174,6 +197,10 @@
 
   base::test::TaskEnvironment task_environment_;
   base::HistogramTester histogram_tester_;
+  std::unique_ptr<policy::MockCloudPolicyManager>
+      mock_browser_cloud_policy_manager_;
+  std::unique_ptr<policy::MockCloudPolicyManager>
+      mock_user_cloud_policy_manager_;
   policy::MockCloudPolicyStore mock_browser_cloud_policy_store_;
   policy::MockCloudPolicyStore mock_user_cloud_policy_store_;
   StrictMock<device_signals::MockSignalsAggregator> mock_aggregator_;
@@ -206,8 +233,8 @@
   SetFakeBrowserPolicyData();
   SetFakeUserPolicyData();
 
-  BrowserSignalsDecorator decorator(&mock_browser_cloud_policy_store_,
-                                    &mock_user_cloud_policy_store_, nullptr);
+  BrowserSignalsDecorator decorator(mock_browser_cloud_policy_manager_.get(),
+                                    CreateDependencyFactory(), nullptr);
   base::RunLoop run_loop;
   base::Value::Dict signals;
   decorator.Decorate(signals, run_loop.QuitClosure());
@@ -248,7 +275,7 @@
   SetFakeUserPolicyData();
   SetUpAggregatorExpectations();
 
-  BrowserSignalsDecorator decorator(nullptr, &mock_user_cloud_policy_store_,
+  BrowserSignalsDecorator decorator(nullptr, CreateDependencyFactory(),
                                     &mock_aggregator_);
   base::RunLoop run_loop;
   base::Value::Dict signals;
@@ -286,8 +313,9 @@
   SetFakeBrowserPolicyData();
   SetUpAggregatorExpectations();
 
-  BrowserSignalsDecorator decorator(&mock_browser_cloud_policy_store_, nullptr,
-                                    &mock_aggregator_);
+  BrowserSignalsDecorator decorator(
+      mock_browser_cloud_policy_manager_.get(),
+      CreateDependencyFactory(/*valid_manager=*/false), &mock_aggregator_);
   base::RunLoop run_loop;
   base::Value::Dict signals;
   decorator.Decorate(signals, run_loop.QuitClosure());
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h
new file mode 100644
index 0000000..2506d21
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.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_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DEPENDENCY_FACTORY_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DEPENDENCY_FACTORY_H_
+
+namespace policy {
+class CloudPolicyManager;
+}  // namespace policy
+
+namespace enterprise_connectors {
+
+// Factory that can be used to lazy-load dependencies.
+class DependencyFactory {
+ public:
+  virtual ~DependencyFactory() = default;
+
+  virtual policy::CloudPolicyManager* GetUserCloudPolicyManager() const = 0;
+};
+
+}  // namespace enterprise_connectors
+
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DEPENDENCY_FACTORY_H_
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.cc b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.cc
new file mode 100644
index 0000000..025c474
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.cc
@@ -0,0 +1,31 @@
+// 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/enterprise/connectors/device_trust/signals/dependency_factory_impl.h"
+
+#include "chrome/browser/profiles/profile.h"
+#include "components/policy/core/common/cloud/cloud_policy_manager.h"
+#include "components/policy/core/common/cloud/profile_cloud_policy_manager.h"
+#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
+
+namespace enterprise_connectors {
+
+DependencyFactoryImpl::DependencyFactoryImpl(Profile* profile)
+    : profile_(profile) {
+  CHECK(profile_);
+}
+
+DependencyFactoryImpl::~DependencyFactoryImpl() = default;
+
+policy::CloudPolicyManager* DependencyFactoryImpl::GetUserCloudPolicyManager()
+    const {
+  policy::CloudPolicyManager* user_policy_manager =
+      profile_->GetUserCloudPolicyManager();
+  if (!user_policy_manager) {
+    user_policy_manager = profile_->GetProfileCloudPolicyManager();
+  }
+  return user_policy_manager;
+}
+
+}  // namespace enterprise_connectors
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.h b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.h
new file mode 100644
index 0000000..3ffa8c7
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.h
@@ -0,0 +1,30 @@
+// 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_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DEPENDENCY_FACTORY_IMPL_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DEPENDENCY_FACTORY_IMPL_H_
+
+#include "base/memory/raw_ptr.h"
+#include "chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h"
+
+class Profile;
+
+namespace enterprise_connectors {
+
+class DependencyFactoryImpl : public DependencyFactory {
+ public:
+  explicit DependencyFactoryImpl(Profile* profile);
+
+  ~DependencyFactoryImpl() override;
+
+  // DependencyFactory:
+  policy::CloudPolicyManager* GetUserCloudPolicyManager() const override;
+
+ private:
+  const raw_ptr<Profile> profile_;
+};
+
+}  // namespace enterprise_connectors
+
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_DEPENDENCY_FACTORY_IMPL_H_
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl_unittest.cc b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl_unittest.cc
new file mode 100644
index 0000000..382fe37
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl_unittest.cc
@@ -0,0 +1,26 @@
+// 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/enterprise/connectors/device_trust/signals/dependency_factory_impl.h"
+
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/test/base/testing_profile.h"
+#include "components/policy/core/common/cloud/cloud_policy_manager.h"
+#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
+#include "content/public/test/browser_task_environment.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace enterprise_connectors {
+
+TEST(DependencyFactoryImpl, SameUserCloudManager) {
+  content::BrowserTaskEnvironment task_environment;
+  TestingProfile test_profile;
+  DependencyFactoryImpl dependency_factory(&test_profile);
+
+  EXPECT_EQ(dependency_factory.GetUserCloudPolicyManager(),
+            static_cast<policy::CloudPolicyManager*>(
+                test_profile.GetUserCloudPolicyManager()));
+}
+
+}  // namespace enterprise_connectors
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.cc b/chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.cc
new file mode 100644
index 0000000..02cde05
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.cc
@@ -0,0 +1,13 @@
+// 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/enterprise/connectors/device_trust/signals/mock_dependency_factory.h"
+
+namespace enterprise_connectors::test {
+
+MockDependencyFactory::MockDependencyFactory() = default;
+
+MockDependencyFactory::~MockDependencyFactory() = default;
+
+}  // namespace enterprise_connectors::test
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.h b/chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.h
new file mode 100644
index 0000000..1cc92fa
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/mock_dependency_factory.h
@@ -0,0 +1,26 @@
+// 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_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_MOCK_DEPENDENCY_FACTORY_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_MOCK_DEPENDENCY_FACTORY_H_
+
+#include "chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace enterprise_connectors::test {
+
+class MockDependencyFactory : public DependencyFactory {
+ public:
+  MockDependencyFactory();
+  ~MockDependencyFactory() override;
+
+  MOCK_METHOD(policy::CloudPolicyManager*,
+              GetUserCloudPolicyManager,
+              (),
+              (const, override));
+};
+
+}  // namespace enterprise_connectors::test
+
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_DEVICE_TRUST_SIGNALS_MOCK_DEPENDENCY_FACTORY_H_
diff --git a/chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc b/chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc
index 2c1b512..ca48bb1 100644
--- a/chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc
+++ b/chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc
@@ -24,13 +24,11 @@
 #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
 #include "base/check.h"
 #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h"
+#include "chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory.h"
+#include "chrome/browser/enterprise/connectors/device_trust/signals/dependency_factory_impl.h"
 #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h"
 #include "chrome/browser/policy/chrome_browser_policy_connector.h"
-#include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/machine_level_user_cloud_policy_manager.h"
-#include "components/policy/core/common/cloud/machine_level_user_cloud_policy_store.h"
-#include "components/policy/core/common/cloud/profile_cloud_policy_manager.h"
-#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
 #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -62,38 +60,19 @@
 
 #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
 
-  policy::CloudPolicyStore* browser_cloud_policy_store = nullptr;
+  policy::CloudPolicyManager* browser_policy_manager = nullptr;
   if (management_service->HasManagementAuthority(
           policy::EnterpriseManagementAuthority::CLOUD_DOMAIN)) {
     auto* browser_policy_connector =
         g_browser_process->browser_policy_connector();
     if (browser_policy_connector) {
-      auto* machine_policy_manager =
+      browser_policy_manager =
           browser_policy_connector->machine_level_user_cloud_policy_manager();
-      if (machine_policy_manager) {
-        browser_cloud_policy_store = machine_policy_manager->store();
-      }
-    }
-  }
-
-  policy::CloudPolicyStore* user_cloud_policy_store = nullptr;
-  if (management_service->HasManagementAuthority(
-          policy::EnterpriseManagementAuthority::CLOUD)) {
-    policy::CloudPolicyManager* user_policy_manager =
-        profile->GetUserCloudPolicyManager();
-    if (!user_policy_manager) {
-      user_policy_manager = profile->GetProfileCloudPolicyManager();
-    }
-    if (user_policy_manager) {
-      auto* core = user_policy_manager->core();
-      if (core) {
-        user_cloud_policy_store = core->store();
-      }
     }
   }
 
   decorators.push_back(std::make_unique<BrowserSignalsDecorator>(
-      browser_cloud_policy_store, user_cloud_policy_store,
+      browser_policy_manager, std::make_unique<DependencyFactoryImpl>(profile),
       enterprise_signals::SignalsAggregatorFactory::GetForProfile(profile)));
 #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
 
diff --git a/chrome/browser/enterprise/connectors/reporting/extension_install_event_router_unittest.cc b/chrome/browser/enterprise/connectors/reporting/extension_install_event_router_unittest.cc
index 2c256d8..5cf3047 100644
--- a/chrome/browser/enterprise/connectors/reporting/extension_install_event_router_unittest.cc
+++ b/chrome/browser/enterprise/connectors/reporting/extension_install_event_router_unittest.cc
@@ -12,8 +12,8 @@
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
 #include "chrome/browser/enterprise/connectors/reporting/reporting_service_settings.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/base/testing_profile_manager.h"
@@ -81,7 +81,7 @@
     mockRealtimeReportingClient_ = static_cast<MockRealtimeReportingClient*>(
         RealtimeReportingClientFactory::GetForProfile(profile_));
 
-    safe_browsing::SetOnSecurityEventReporting(
+    test::SetOnSecurityEventReporting(
         profile_->GetPrefs(), /*enabled=*/true,
         /*enabled_event_names=*/std::set<std::string>(),
         /*enabled_opt_in_events=*/
diff --git a/chrome/browser/enterprise/connectors/test/BUILD.gn b/chrome/browser/enterprise/connectors/test/BUILD.gn
index 877e22c8..ccc9239 100644
--- a/chrome/browser/enterprise/connectors/test/BUILD.gn
+++ b/chrome/browser/enterprise/connectors/test/BUILD.gn
@@ -7,30 +7,46 @@
 source_set("test_support") {
   testonly = true
   public = [
+    "deep_scanning_browsertest_base.h",
+    "deep_scanning_test_utils.h",
+    "fake_content_analysis_delegate.h",
+    "fake_files_request_handler.h",
     "management_context_mixin.h",
     "test_constants.h",
   ]
 
   sources = [
+    "deep_scanning_browsertest_base.cc",
+    "deep_scanning_test_utils.cc",
+    "fake_content_analysis_delegate.cc",
+    "fake_files_request_handler.cc",
     "management_context_mixin.cc",
     "test_constants.cc",
   ]
 
   public_deps = [
+    "//base",
+    "//chrome/browser/safe_browsing",
     "//chrome/browser/ui",
     "//chrome/test:test_support_ui",
+    "//components/enterprise/common/proto:connectors_proto",
     "//components/policy/core/common:common_constants",
     "//components/policy/core/common:test_support",
     "//components/policy/proto",
+    "//components/safe_browsing/core/common",
+    "//components/safe_browsing/core/common:safe_browsing_prefs",
     "//testing/gmock",
+    "//third_party/abseil-cpp:absl",
   ]
 
   deps = [
-    "//base",
     "//chrome/browser",
+    "//chrome/browser:browser_process",
     "//chrome/browser/profiles:profile",
+    "//chrome/test:test_support",
     "//components/policy/core/browser",
     "//components/policy/core/common",
+    "//components/prefs",
   ]
 
   if (is_win || is_linux || is_mac) {
diff --git a/chrome/browser/enterprise/connectors/test/browser/management_context_mixin_browser.cc b/chrome/browser/enterprise/connectors/test/browser/management_context_mixin_browser.cc
index 989e1c3..63a8e73 100644
--- a/chrome/browser/enterprise/connectors/test/browser/management_context_mixin_browser.cc
+++ b/chrome/browser/enterprise/connectors/test/browser/management_context_mixin_browser.cc
@@ -6,10 +6,10 @@
 
 #include "build/branding_buildflags.h"
 #include "chrome/browser/browser_process.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/enterprise/connectors/test/test_constants.h"
 #include "chrome/browser/policy/chrome_browser_policy_connector.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h"
 #include "components/enterprise/browser/enterprise_switches.h"
@@ -31,7 +31,7 @@
 
 void ManagementContextMixinBrowser::ManageCloudUser() {
   ManagementContextMixin::ManageCloudUser();
-  safe_browsing::SetProfileDMToken(browser()->profile(), kProfileDmToken);
+  SetProfileDMToken(browser()->profile(), kProfileDmToken);
 
   auto* profile_policy_manager =
       browser()->profile()->GetUserCloudPolicyManager();
diff --git a/chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.cc b/chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.cc
new file mode 100644
index 0000000..6641ed7
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.cc
@@ -0,0 +1,176 @@
+// Copyright 2020 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/enterprise/connectors/test/deep_scanning_browsertest_base.h"
+
+#include "base/functional/bind.h"
+#include "base/functional/callback_helpers.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/enterprise/connectors/analysis/content_analysis_dialog.h"
+#include "chrome/browser/enterprise/connectors/analysis/files_request_handler.h"
+#include "chrome/browser/enterprise/connectors/connectors_service.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
+#include "chrome/browser/policy/dm_token_utils.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/test/base/testing_browser_process.h"
+#include "components/prefs/pref_service.h"
+#include "components/prefs/scoped_user_pref_update.h"
+#include "components/safe_browsing/core/common/features.h"
+#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
+
+namespace enterprise_connectors::test {
+
+namespace {
+
+constexpr char kDmToken[] = "dm_token";
+
+constexpr base::TimeDelta kMinimumPendingDelay = base::Milliseconds(400);
+constexpr base::TimeDelta kSuccessTimeout = base::Milliseconds(100);
+constexpr base::TimeDelta kShowDialogDelay = base::Milliseconds(0);
+
+class UnresponsiveFilesRequestHandler : public FilesRequestHandler {
+ public:
+  using FilesRequestHandler::FilesRequestHandler;
+
+  static std::unique_ptr<FilesRequestHandler> Create(
+      safe_browsing::BinaryUploadService* upload_service,
+      Profile* profile,
+      const AnalysisSettings& analysis_settings,
+      GURL url,
+      const std::string& source,
+      const std::string& destination,
+      const std::string& user_action_id,
+      const std::string& tab_title,
+      safe_browsing::DeepScanAccessPoint access_point,
+      const std::vector<base::FilePath>& paths,
+      FilesRequestHandler::CompletionCallback callback) {
+    return base::WrapUnique(new UnresponsiveFilesRequestHandler(
+        upload_service, profile, analysis_settings, url, source, destination,
+        user_action_id, tab_title, access_point, paths, std::move(callback)));
+  }
+
+ private:
+  void UploadFileForDeepScanning(
+      safe_browsing::BinaryUploadService::Result result,
+      const base::FilePath& path,
+      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request)
+      override {
+    // Do nothing.
+  }
+};
+
+class UnresponsiveContentAnalysisDelegate : public FakeContentAnalysisDelegate {
+ public:
+  using FakeContentAnalysisDelegate::FakeContentAnalysisDelegate;
+
+  static std::unique_ptr<ContentAnalysisDelegate> Create(
+      base::RepeatingClosure delete_closure,
+      StatusCallback status_callback,
+      std::string dm_token,
+      content::WebContents* web_contents,
+      Data data,
+      CompletionCallback callback) {
+    FilesRequestHandler::SetFactoryForTesting(
+        base::BindRepeating(&UnresponsiveFilesRequestHandler::Create));
+    return std::make_unique<UnresponsiveContentAnalysisDelegate>(
+        delete_closure, status_callback, std::move(dm_token), web_contents,
+        std::move(data), std::move(callback));
+  }
+
+ private:
+  void UploadTextForDeepScanning(
+      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request)
+      override {
+    // Do nothing.
+  }
+};
+
+}  // namespace
+
+DeepScanningBrowserTestBase::DeepScanningBrowserTestBase() {
+  // Change the time values of the upload UI to smaller ones to make tests
+  // showing it run faster.
+  ContentAnalysisDialog::SetMinimumPendingDialogTimeForTesting(
+      kMinimumPendingDelay);
+  ContentAnalysisDialog::SetSuccessDialogTimeoutForTesting(kSuccessTimeout);
+  ContentAnalysisDialog::SetShowDialogDelayForTesting(kShowDialogDelay);
+}
+
+DeepScanningBrowserTestBase::~DeepScanningBrowserTestBase() = default;
+
+void DeepScanningBrowserTestBase::TearDownOnMainThread() {
+  ContentAnalysisDelegate::ResetFactoryForTesting();
+  FilesRequestHandler::ResetFactoryForTesting();
+
+  ClearAnalysisConnector(browser()->profile()->GetPrefs(), FILE_ATTACHED);
+  ClearAnalysisConnector(browser()->profile()->GetPrefs(), FILE_DOWNLOADED);
+  ClearAnalysisConnector(browser()->profile()->GetPrefs(), BULK_DATA_ENTRY);
+  ClearAnalysisConnector(browser()->profile()->GetPrefs(), PRINT);
+  SetOnSecurityEventReporting(browser()->profile()->GetPrefs(), false);
+}
+
+void DeepScanningBrowserTestBase::SetUpDelegate() {
+  SetDMTokenForTesting(policy::DMToken::CreateValidToken(kDmToken));
+  ContentAnalysisDelegate::SetFactoryForTesting(base::BindRepeating(
+      &FakeContentAnalysisDelegate::Create, base::DoNothing(),
+      base::BindRepeating(&DeepScanningBrowserTestBase::StatusCallback,
+                          base::Unretained(this)),
+      kDmToken));
+}
+
+void DeepScanningBrowserTestBase::SetUpUnresponsiveDelegate() {
+  SetDMTokenForTesting(policy::DMToken::CreateValidToken(kDmToken));
+  ContentAnalysisDelegate::SetFactoryForTesting(base::BindRepeating(
+      &UnresponsiveContentAnalysisDelegate::Create, base::DoNothing(),
+      base::BindRepeating(&DeepScanningBrowserTestBase::StatusCallback,
+                          base::Unretained(this)),
+      kDmToken));
+}
+
+void DeepScanningBrowserTestBase::SetQuitClosure(
+    base::RepeatingClosure quit_closure) {
+  quit_closure_ = quit_closure;
+}
+
+void DeepScanningBrowserTestBase::CallQuitClosure() {
+  if (!quit_closure_.is_null()) {
+    quit_closure_.Run();
+  }
+}
+
+void DeepScanningBrowserTestBase::SetStatusCallbackResponse(
+    ContentAnalysisResponse response) {
+  connector_status_callback_response_ = response;
+}
+
+ContentAnalysisResponse DeepScanningBrowserTestBase::StatusCallback(
+    const std::string& contents,
+    const base::FilePath& path) {
+  return connector_status_callback_response_;
+}
+
+void DeepScanningBrowserTestBase::CreateFilesForTest(
+    const std::vector<std::string>& paths,
+    const std::vector<std::string>& contents,
+    ContentAnalysisDelegate::Data* data) {
+  ASSERT_EQ(paths.size(), contents.size());
+
+  ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+
+  for (size_t i = 0; i < paths.size(); ++i) {
+    base::FilePath path = temp_dir_.GetPath().AppendASCII(paths[i]);
+    created_file_paths_.emplace_back(path);
+    base::File file(path, base::File::FLAG_CREATE | base::File::FLAG_WRITE);
+    file.WriteAtCurrentPos(contents[i].data(), contents[i].size());
+    data->paths.emplace_back(path);
+  }
+}
+
+const std::vector<base::FilePath>&
+DeepScanningBrowserTestBase::created_file_paths() const {
+  return created_file_paths_;
+}
+
+}  // namespace enterprise_connectors::test
diff --git a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h b/chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h
similarity index 65%
rename from chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h
rename to chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h
index 1e92a41..ac12f86 100644
--- a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h
+++ b/chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_SAFE_BROWSING_CLOUD_CONTENT_SCANNING_DEEP_SCANNING_BROWSERTEST_BASE_H_
-#define CHROME_BROWSER_SAFE_BROWSING_CLOUD_CONTENT_SCANNING_DEEP_SCANNING_BROWSERTEST_BASE_H_
+#ifndef CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_DEEP_SCANNING_BROWSERTEST_BASE_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_DEEP_SCANNING_BROWSERTEST_BASE_H_
 
 #include "chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 
-namespace safe_browsing {
+namespace enterprise_connectors::test {
 
 // Base test class for deep scanning browser tests. Common utility functions
 // used by browser tests should be added to this class.
@@ -33,19 +33,16 @@
   void CallQuitClosure();
 
   // Set what StatusCallback returns.
-  void SetStatusCallbackResponse(
-      enterprise_connectors::ContentAnalysisResponse response);
+  void SetStatusCallbackResponse(ContentAnalysisResponse response);
 
   // Callbacks used to set up the fake delegate factory.
-  enterprise_connectors::ContentAnalysisResponse StatusCallback(
-      const std::string& contents,
-      const base::FilePath& path);
+  ContentAnalysisResponse StatusCallback(const std::string& contents,
+                                         const base::FilePath& path);
 
   // Creates temporary files for testing in |temp_dir_|, and add them to |data|.
-  void CreateFilesForTest(
-      const std::vector<std::string>& paths,
-      const std::vector<std::string>& contents,
-      enterprise_connectors::ContentAnalysisDelegate::Data* data);
+  void CreateFilesForTest(const std::vector<std::string>& paths,
+                          const std::vector<std::string>& contents,
+                          ContentAnalysisDelegate::Data* data);
 
   const std::vector<base::FilePath>& created_file_paths() const;
 
@@ -54,12 +51,11 @@
 
  private:
   base::RepeatingClosure quit_closure_;
-  enterprise_connectors::ContentAnalysisResponse
-      connector_status_callback_response_;
+  ContentAnalysisResponse connector_status_callback_response_;
   base::ScopedTempDir temp_dir_;
   std::vector<base::FilePath> created_file_paths_;
 };
 
-}  // namespace safe_browsing
+}  // namespace enterprise_connectors::test
 
-#endif  // CHROME_BROWSER_SAFE_BROWSING_CLOUD_CONTENT_SCANNING_DEEP_SCANNING_BROWSERTEST_BASE_H_
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_DEEP_SCANNING_BROWSERTEST_BASE_H_
diff --git a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.cc b/chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.cc
similarity index 93%
rename from chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.cc
rename to chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.cc
index 5fac298..ddbe456b 100644
--- a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.cc
+++ b/chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 
 #include "base/containers/contains.h"
 #include "base/containers/flat_map.h"
@@ -31,7 +31,7 @@
 using extensions::SafeBrowsingPrivateEventRouter;
 using ::testing::_;
 
-namespace safe_browsing {
+namespace enterprise_connectors::test {
 
 EventReportValidator::EventReportValidator(
     policy::MockCloudPolicyClient* client)
@@ -166,8 +166,7 @@
     const std::string& expected_filename,
     const std::string& expected_sha256,
     const std::string& expected_trigger,
-    const enterprise_connectors::ContentAnalysisResponse::Result&
-        expected_dlp_verdict,
+    const ContentAnalysisResponse::Result& expected_dlp_verdict,
     const std::set<std::string>* expected_mimetypes,
     absl::optional<int64_t> expected_content_size,
     const std::string& expected_result,
@@ -207,8 +206,7 @@
     const std::vector<std::string>& expected_filenames,
     const std::vector<std::string>& expected_sha256s,
     const std::string& expected_trigger,
-    const std::vector<enterprise_connectors::ContentAnalysisResponse::Result>&
-        expected_dlp_verdicts,
+    const std::vector<ContentAnalysisResponse::Result>& expected_dlp_verdicts,
     const std::set<std::string>* expected_mimetypes,
     int64_t expected_content_size,
     const std::vector<std::string>& expected_results,
@@ -250,8 +248,7 @@
         const std::string& expected_sha256,
         const std::string& expected_threat_type,
         const std::string& expected_trigger,
-        const enterprise_connectors::ContentAnalysisResponse::Result&
-            expected_dlp_verdict,
+        const ContentAnalysisResponse::Result& expected_dlp_verdict,
         const std::set<std::string>* expected_mimetypes,
         int64_t expected_content_size,
         const std::string& expected_result,
@@ -301,8 +298,7 @@
         const std::string& expected_sha256,
         const std::string& expected_threat_type,
         const std::string& expected_trigger,
-        const enterprise_connectors::ContentAnalysisResponse::Result&
-            expected_dlp_verdict,
+        const ContentAnalysisResponse::Result& expected_dlp_verdict,
         const std::set<std::string>* expected_mimetypes,
         int64_t expected_content_size,
         const std::string& expected_result,
@@ -461,10 +457,8 @@
                 unscanned_reason_);
   ValidateField(event, SafeBrowsingPrivateEventRouter::kKeyProfileUserName,
                 username_);
-  ValidateField(
-      event,
-      enterprise_connectors::RealtimeReportingClient::kKeyProfileIdentifier,
-      profile_identifier_);
+  ValidateField(event, RealtimeReportingClient::kKeyProfileIdentifier,
+                profile_identifier_);
   ValidateField(event, SafeBrowsingPrivateEventRouter::kKeyIsFederated,
                 is_federated_);
   ValidateField(event, SafeBrowsingPrivateEventRouter::kKeyLoginUserName,
@@ -534,7 +528,7 @@
 
 void EventReportValidator::ValidateDlpVerdict(
     const base::Value::Dict* value,
-    const enterprise_connectors::ContentAnalysisResponse::Result& result) {
+    const ContentAnalysisResponse::Result& result) {
   const base::Value::List* triggered_rules =
       value->FindList(SafeBrowsingPrivateEventRouter::kKeyTriggeredRuleInfo);
   ASSERT_NE(nullptr, triggered_rules);
@@ -548,8 +542,7 @@
 
 void EventReportValidator::ValidateDlpRule(
     const base::Value::Dict* value,
-    const enterprise_connectors::ContentAnalysisResponse::Result::TriggeredRule&
-        expected_rule) {
+    const ContentAnalysisResponse::Result::TriggeredRule& expected_rule) {
   ValidateField(value, SafeBrowsingPrivateEventRouter::kKeyTriggeredRuleName,
                 expected_rule.rule_name());
   ValidateField(value, SafeBrowsingPrivateEventRouter::kKeyTriggeredRuleId,
@@ -641,7 +634,7 @@
 }
 
 void SetAnalysisConnector(PrefService* prefs,
-                          enterprise_connectors::AnalysisConnector connector,
+                          AnalysisConnector connector,
                           const std::string& pref_value,
                           bool machine_scope) {
   ScopedListPrefUpdate settings_list(prefs, ConnectorPref(connector));
@@ -661,15 +654,13 @@
   base::Value::List enabled_opt_in_events_list;
   for (const auto& enabled_opt_in_event : enabled_opt_in_events) {
     base::Value::Dict event_value;
-    event_value.Set(enterprise_connectors::kKeyOptInEventName,
-                    enabled_opt_in_event.first);
+    event_value.Set(kKeyOptInEventName, enabled_opt_in_event.first);
 
     base::Value::List url_patterns_list;
     for (const auto& url_pattern : enabled_opt_in_event.second) {
       url_patterns_list.Append(url_pattern);
     }
-    event_value.Set(enterprise_connectors::kKeyOptInEventUrlPatterns,
-                    std::move(url_patterns_list));
+    event_value.Set(kKeyOptInEventUrlPatterns, std::move(url_patterns_list));
 
     enabled_opt_in_events_list.Append(std::move(event_value));
   }
@@ -683,43 +674,38 @@
     const std::map<std::string, std::vector<std::string>>&
         enabled_opt_in_events,
     bool machine_scope) {
-  ScopedListPrefUpdate settings_list(
-      prefs, enterprise_connectors::kOnSecurityEventPref);
+  ScopedListPrefUpdate settings_list(prefs, kOnSecurityEventPref);
   if (!enabled) {
     settings_list->clear();
-    prefs->ClearPref(enterprise_connectors::kOnSecurityEventScopePref);
+    prefs->ClearPref(kOnSecurityEventScopePref);
     return;
   }
 
   if (settings_list->empty()) {
     base::Value::Dict settings;
 
-    settings.Set(enterprise_connectors::kKeyServiceProvider,
-                 base::Value("google"));
+    settings.Set(kKeyServiceProvider, base::Value("google"));
     if (!enabled_event_names.empty()) {
       base::Value::List enabled_event_name_list;
       for (const auto& enabled_event_name : enabled_event_names) {
         enabled_event_name_list.Append(enabled_event_name);
       }
-      settings.Set(enterprise_connectors::kKeyEnabledEventNames,
-                   std::move(enabled_event_name_list));
+      settings.Set(kKeyEnabledEventNames, std::move(enabled_event_name_list));
     }
 
     if (!enabled_opt_in_events.empty()) {
-      settings.Set(enterprise_connectors::kKeyEnabledOptInEvents,
+      settings.Set(kKeyEnabledOptInEvents,
                    CreateOptInEventsList(enabled_opt_in_events));
     }
 
     settings_list->Append(std::move(settings));
   }
   prefs->SetInteger(
-      enterprise_connectors::kOnSecurityEventScopePref,
+      kOnSecurityEventScopePref,
       machine_scope ? policy::POLICY_SCOPE_MACHINE : policy::POLICY_SCOPE_USER);
 }
 
-void ClearAnalysisConnector(
-    PrefService* prefs,
-    enterprise_connectors::AnalysisConnector connector) {
+void ClearAnalysisConnector(PrefService* prefs, AnalysisConnector connector) {
   ScopedListPrefUpdate settings_list(prefs, ConnectorPref(connector));
   settings_list->clear();
   prefs->ClearPref(ConnectorScopePref(connector));
@@ -740,4 +726,4 @@
 }
 #endif
 
-}  // namespace safe_browsing
+}  // namespace enterprise_connectors::test
diff --git a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h b/chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h
similarity index 87%
rename from chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h
rename to chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h
index bd0db8a..92dd5b4 100644
--- a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h
+++ b/chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.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 CHROME_BROWSER_SAFE_BROWSING_CLOUD_CONTENT_SCANNING_DEEP_SCANNING_TEST_UTILS_H_
-#define CHROME_BROWSER_SAFE_BROWSING_CLOUD_CONTENT_SCANNING_DEEP_SCANNING_TEST_UTILS_H_
+#ifndef CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_DEEP_SCANNING_TEST_UTILS_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_DEEP_SCANNING_TEST_UTILS_H_
 
 #include <set>
 #include <string>
@@ -22,7 +22,7 @@
 class MockCloudPolicyClient;
 }
 
-namespace safe_browsing {
+namespace enterprise_connectors::test {
 
 // Helper class that represents a report that's expected from a test. The
 // non-optional fields are expected for every kind of Deep Scanning reports.
@@ -56,8 +56,7 @@
       const std::string& expected_filename,
       const std::string& expected_sha256,
       const std::string& expected_trigger,
-      const enterprise_connectors::ContentAnalysisResponse::Result&
-          expected_dlp_verdict,
+      const ContentAnalysisResponse::Result& expected_dlp_verdict,
       const std::set<std::string>* expected_mimetypes,
       absl::optional<int64_t> expected_content_size,
       const std::string& expected_result,
@@ -72,8 +71,7 @@
       const std::vector<std::string>& expected_filenames,
       const std::vector<std::string>& expected_sha256s,
       const std::string& expected_trigger,
-      const std::vector<enterprise_connectors::ContentAnalysisResponse::Result>&
-          expected_dlp_verdicts,
+      const std::vector<ContentAnalysisResponse::Result>& expected_dlp_verdicts,
       const std::set<std::string>* expected_mimetypes,
       int64_t expected_content_size,
       const std::vector<std::string>& expected_results,
@@ -89,8 +87,7 @@
       const std::string& expected_sha256,
       const std::string& expected_threat_type,
       const std::string& expected_trigger,
-      const enterprise_connectors::ContentAnalysisResponse::Result&
-          expected_dlp_verdict,
+      const ContentAnalysisResponse::Result& expected_dlp_verdict,
       const std::set<std::string>* expected_mimetypes,
       int64_t expected_content_size,
       const std::string& expected_result,
@@ -106,8 +103,7 @@
       const std::string& expected_sha256,
       const std::string& expected_threat_type,
       const std::string& expected_trigger,
-      const enterprise_connectors::ContentAnalysisResponse::Result&
-          expected_dlp_verdict,
+      const ContentAnalysisResponse::Result& expected_dlp_verdict,
       const std::set<std::string>* expected_mimetypes,
       int64_t expected_content_size,
       const std::string& expected_result,
@@ -178,12 +174,11 @@
   void ValidateFederatedOrigin(const base::Value::Dict* value);
   void ValidateIdentities(const base::Value::Dict* value);
   void ValidateMimeType(const base::Value::Dict* value);
-  void ValidateDlpVerdict(
+  void ValidateDlpVerdict(const base::Value::Dict* value,
+                          const ContentAnalysisResponse::Result& result);
+  void ValidateDlpRule(
       const base::Value::Dict* value,
-      const enterprise_connectors::ContentAnalysisResponse::Result& result);
-  void ValidateDlpRule(const base::Value::Dict* value,
-                       const enterprise_connectors::ContentAnalysisResponse::
-                           Result::TriggeredRule& expected_rule);
+      const ContentAnalysisResponse::Result::TriggeredRule& expected_rule);
   void ValidateFilenameMappedAttributes(const base::Value::Dict* value);
   void ValidateField(const base::Value::Dict* value,
                      const std::string& field_key,
@@ -220,9 +215,7 @@
   // When multiple files generate events, we don't necessarily know in which
   // order they will be reported. As such, we use maps to ensure all of them
   // are called as expected.
-  base::flat_map<std::string,
-                 enterprise_connectors::ContentAnalysisResponse::Result>
-      dlp_verdicts_;
+  base::flat_map<std::string, ContentAnalysisResponse::Result> dlp_verdicts_;
   base::flat_map<std::string, std::string> results_;
   base::flat_map<std::string, std::string> filenames_and_hashes_;
   base::flat_map<std::string, std::string> scan_ids_;
@@ -232,7 +225,7 @@
 
 // Helper functions that set Connector policies for testing.
 void SetAnalysisConnector(PrefService* prefs,
-                          enterprise_connectors::AnalysisConnector connector,
+                          AnalysisConnector connector,
                           const std::string& pref_value,
                           bool machine_scope = true);
 void SetOnSecurityEventReporting(
@@ -243,8 +236,7 @@
         enabled_opt_in_events =
             std::map<std::string, std::vector<std::string>>(),
     bool machine_scope = true);
-void ClearAnalysisConnector(PrefService* prefs,
-                            enterprise_connectors::AnalysisConnector connector);
+void ClearAnalysisConnector(PrefService* prefs, AnalysisConnector connector);
 
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
 // Helper function to set the profile DM token. It installs a
@@ -253,6 +245,6 @@
 void SetProfileDMToken(Profile* profile, const std::string& dm_token);
 #endif
 
-}  // namespace safe_browsing
+}  // namespace enterprise_connectors::test
 
-#endif  // CHROME_BROWSER_SAFE_BROWSING_CLOUD_CONTENT_SCANNING_DEEP_SCANNING_TEST_UTILS_H_
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_DEEP_SCANNING_TEST_UTILS_H_
diff --git a/chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.cc b/chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.cc
similarity index 84%
rename from chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.cc
rename to chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.cc
index d1d6e16a..55a5ca6 100644
--- a/chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.cc
+++ b/chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.cc
@@ -2,21 +2,17 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
 
-#include "base/functional/bind.h"
-#include "base/functional/callback.h"
-#include "base/functional/callback_forward.h"
-#include "base/logging.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/test/bind.h"
 #include "base/time/time.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h"
+#include "chrome/browser/enterprise/connectors/test/fake_files_request_handler.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
 #include "components/enterprise/common/proto/connectors.pb.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
-namespace enterprise_connectors {
+namespace enterprise_connectors::test {
 
 namespace {
 
@@ -47,8 +43,9 @@
       dm_token_(std::move(dm_token)) {}
 
 FakeContentAnalysisDelegate::~FakeContentAnalysisDelegate() {
-  if (!delete_closure_.is_null())
+  if (!delete_closure_.is_null()) {
     delete_closure_.Run();
+  }
 }
 
 // static
@@ -104,29 +101,26 @@
 }
 
 // static
-enterprise_connectors::ContentAnalysisResponse
-FakeContentAnalysisDelegate::SuccessfulResponse(
+ContentAnalysisResponse FakeContentAnalysisDelegate::SuccessfulResponse(
     const std::set<std::string>& tags) {
-  enterprise_connectors::ContentAnalysisResponse response;
+  ContentAnalysisResponse response;
 
   auto* result = response.mutable_results()->Add();
-  result->set_status(
-      enterprise_connectors::ContentAnalysisResponse::Result::SUCCESS);
-  for (const std::string& tag : tags)
+  result->set_status(ContentAnalysisResponse::Result::SUCCESS);
+  for (const std::string& tag : tags) {
     result->set_tag(tag);
+  }
 
   return response;
 }
 
 // static
-enterprise_connectors::ContentAnalysisResponse
-FakeContentAnalysisDelegate::MalwareResponse(
-    enterprise_connectors::TriggeredRule::Action action) {
-  enterprise_connectors::ContentAnalysisResponse response;
+ContentAnalysisResponse FakeContentAnalysisDelegate::MalwareResponse(
+    TriggeredRule::Action action) {
+  ContentAnalysisResponse response;
 
   auto* result = response.mutable_results()->Add();
-  result->set_status(
-      enterprise_connectors::ContentAnalysisResponse::Result::SUCCESS);
+  result->set_status(ContentAnalysisResponse::Result::SUCCESS);
   result->set_tag("malware");
 
   auto* rule = result->add_triggered_rules();
@@ -136,12 +130,11 @@
 }
 
 // static
-enterprise_connectors::ContentAnalysisResponse
-FakeContentAnalysisDelegate::DlpResponse(
-    enterprise_connectors::ContentAnalysisResponse::Result::Status status,
+ContentAnalysisResponse FakeContentAnalysisDelegate::DlpResponse(
+    ContentAnalysisResponse::Result::Status status,
     const std::string& rule_name,
-    enterprise_connectors::TriggeredRule::Action action) {
-  enterprise_connectors::ContentAnalysisResponse response;
+    TriggeredRule::Action action) {
+  ContentAnalysisResponse response;
 
   auto* result = response.mutable_results()->Add();
   result->set_status(status);
@@ -155,17 +148,15 @@
 }
 
 // static
-enterprise_connectors::ContentAnalysisResponse
-FakeContentAnalysisDelegate::MalwareAndDlpResponse(
-    enterprise_connectors::TriggeredRule::Action malware_action,
-    enterprise_connectors::ContentAnalysisResponse::Result::Status dlp_status,
+ContentAnalysisResponse FakeContentAnalysisDelegate::MalwareAndDlpResponse(
+    TriggeredRule::Action malware_action,
+    ContentAnalysisResponse::Result::Status dlp_status,
     const std::string& dlp_rule_name,
-    enterprise_connectors::TriggeredRule::Action dlp_action) {
-  enterprise_connectors::ContentAnalysisResponse response;
+    TriggeredRule::Action dlp_action) {
+  ContentAnalysisResponse response;
 
   auto* malware_result = response.add_results();
-  malware_result->set_status(
-      enterprise_connectors::ContentAnalysisResponse::Result::SUCCESS);
+  malware_result->set_status(ContentAnalysisResponse::Result::SUCCESS);
   malware_result->set_tag("malware");
   auto* malware_rule = malware_result->add_triggered_rules();
   malware_rule->set_action(malware_action);
@@ -190,7 +181,7 @@
   auto response =
       (status_callback_.is_null() ||
        result_ != safe_browsing::BinaryUploadService::Result::SUCCESS)
-          ? enterprise_connectors::ContentAnalysisResponse()
+          ? ContentAnalysisResponse()
           : status_callback_.Run(contents, path);
   if (request->IsAuthRequest()) {
     StringRequestCallback(result_, response);
@@ -333,4 +324,4 @@
   return nullptr;
 }
 
-}  // namespace enterprise_connectors
+}  // namespace enterprise_connectors::test
diff --git a/chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h b/chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h
similarity index 78%
rename from chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h
rename to chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h
index 65309c15..bbda8914 100644
--- a/chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h
+++ b/chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.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 CHROME_BROWSER_ENTERPRISE_CONNECTORS_ANALYSIS_FAKE_CONTENT_ANALYSIS_DELEGATE_H_
-#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_ANALYSIS_FAKE_CONTENT_ANALYSIS_DELEGATE_H_
+#ifndef CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_FAKE_CONTENT_ANALYSIS_DELEGATE_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_FAKE_CONTENT_ANALYSIS_DELEGATE_H_
 
 #include <memory>
 
@@ -11,7 +11,7 @@
 #include "base/functional/callback_forward.h"
 #include "base/memory/weak_ptr.h"
 #include "chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h"
+#include "chrome/browser/enterprise/connectors/test/fake_files_request_handler.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
 #include "components/enterprise/common/proto/connectors.pb.h"
 
@@ -19,7 +19,7 @@
 class WebContents;
 }
 
-namespace enterprise_connectors {
+namespace enterprise_connectors::test {
 
 // A derivative of ContentAnalysisDelegate that overrides calls to the
 // real binary upload service and re-implements them locally.
@@ -33,10 +33,9 @@
   //
   // For text requests, contents is not empty and path is empty.
   // For print requests, both contents and path are empty.
-  using StatusCallback =
-      base::RepeatingCallback<enterprise_connectors::ContentAnalysisResponse(
-          const std::string& contents,
-          const base::FilePath&)>;
+  using StatusCallback = base::RepeatingCallback<ContentAnalysisResponse(
+      const std::string& contents,
+      const base::FilePath&)>;
 
   FakeContentAnalysisDelegate(base::RepeatingClosure delete_closure,
                               StatusCallback status_callback,
@@ -63,25 +62,24 @@
 
   // Returns a content analysis response that represents a successful scan and
   // includes the given tags.
-  static enterprise_connectors::ContentAnalysisResponse SuccessfulResponse(
+  static ContentAnalysisResponse SuccessfulResponse(
       const std::set<std::string>& tags);
 
   // Returns a content analysis response with a specific malware action.
-  static enterprise_connectors::ContentAnalysisResponse MalwareResponse(
-      enterprise_connectors::TriggeredRule::Action action);
+  static ContentAnalysisResponse MalwareResponse(TriggeredRule::Action action);
 
   // Returns a content analysis response with a specific DLP action.
-  static enterprise_connectors::ContentAnalysisResponse DlpResponse(
-      enterprise_connectors::ContentAnalysisResponse::Result::Status status,
+  static ContentAnalysisResponse DlpResponse(
+      ContentAnalysisResponse::Result::Status status,
       const std::string& rule_name,
-      enterprise_connectors::TriggeredRule::Action action);
+      TriggeredRule::Action action);
 
   // Returns a content analysis response with specific malware and DLP actions.
-  static enterprise_connectors::ContentAnalysisResponse MalwareAndDlpResponse(
-      enterprise_connectors::TriggeredRule::Action malware_action,
-      enterprise_connectors::ContentAnalysisResponse::Result::Status dlp_status,
+  static ContentAnalysisResponse MalwareAndDlpResponse(
+      TriggeredRule::Action malware_action,
+      ContentAnalysisResponse::Result::Status dlp_status,
       const std::string& dlp_rule_name,
-      enterprise_connectors::TriggeredRule::Action dlp_action);
+      TriggeredRule::Action dlp_action);
 
   // Sets the BinaryUploadService::Result to use in the next response callback.
   static void SetResponseResult(
@@ -138,6 +136,6 @@
   base::WeakPtrFactory<FakeContentAnalysisDelegate> weakptr_factory_{this};
 };
 
-}  // namespace enterprise_connectors
+}  // namespace enterprise_connectors::test
 
-#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_ANALYSIS_FAKE_CONTENT_ANALYSIS_DELEGATE_H_
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_FAKE_CONTENT_ANALYSIS_DELEGATE_H_
diff --git a/chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.cc b/chrome/browser/enterprise/connectors/test/fake_files_request_handler.cc
similarity index 63%
rename from chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.cc
rename to chrome/browser/enterprise/connectors/test/fake_files_request_handler.cc
index a26eb67..7327fe8 100644
--- a/chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.cc
+++ b/chrome/browser/enterprise/connectors/test/fake_files_request_handler.cc
@@ -2,17 +2,17 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/enterprise/connectors/analysis/fake_files_request_handler.h"
+#include "chrome/browser/enterprise/connectors/test/fake_files_request_handler.h"
 #include "base/functional/bind.h"
 #include "base/memory/weak_ptr.h"
 
-namespace enterprise_connectors {
+namespace enterprise_connectors::test {
 
 FakeFilesRequestHandler::FakeFilesRequestHandler(
     FakeFileUploadCallback fake_file_upload_callback,
     safe_browsing::BinaryUploadService* upload_service,
     Profile* profile,
-    const enterprise_connectors::AnalysisSettings& analysis_settings,
+    const AnalysisSettings& analysis_settings,
     GURL url,
     const std::string& source,
     const std::string& destination,
@@ -21,28 +21,27 @@
     safe_browsing::DeepScanAccessPoint access_point,
     const std::vector<base::FilePath>& paths,
     CompletionCallback callback)
-    : enterprise_connectors::FilesRequestHandler(upload_service,
-                                                 profile,
-                                                 analysis_settings,
-                                                 url,
-                                                 source,
-                                                 destination,
-                                                 user_action_id,
-                                                 tab_title,
-                                                 access_point,
-                                                 paths,
-                                                 std::move(callback)),
+    : FilesRequestHandler(upload_service,
+                          profile,
+                          analysis_settings,
+                          url,
+                          source,
+                          destination,
+                          user_action_id,
+                          tab_title,
+                          access_point,
+                          paths,
+                          std::move(callback)),
       fake_file_upload_callback_(fake_file_upload_callback) {}
 
 FakeFilesRequestHandler::~FakeFilesRequestHandler() = default;
 
 // static
-std::unique_ptr<enterprise_connectors::FilesRequestHandler>
-FakeFilesRequestHandler::Create(
+std::unique_ptr<FilesRequestHandler> FakeFilesRequestHandler::Create(
     FakeFileUploadCallback fake_file_upload_callback,
     safe_browsing::BinaryUploadService* upload_service,
     Profile* profile,
-    const enterprise_connectors::AnalysisSettings& analysis_settings,
+    const AnalysisSettings& analysis_settings,
     GURL url,
     const std::string& source,
     const std::string& destination,
@@ -50,7 +49,7 @@
     const std::string& tab_title,
     safe_browsing::DeepScanAccessPoint access_point,
     const std::vector<base::FilePath>& paths,
-    enterprise_connectors::FilesRequestHandler::CompletionCallback callback) {
+    FilesRequestHandler::CompletionCallback callback) {
   return std::make_unique<FakeFilesRequestHandler>(
       fake_file_upload_callback, upload_service, profile, analysis_settings,
       url, source, destination, user_action_id, tab_title, access_point, paths,
@@ -71,4 +70,4 @@
   return weak_ptr_factory_.GetWeakPtr();
 }
 
-}  // namespace enterprise_connectors
+}  // namespace enterprise_connectors::test
diff --git a/chrome/browser/enterprise/connectors/test/fake_files_request_handler.h b/chrome/browser/enterprise/connectors/test/fake_files_request_handler.h
new file mode 100644
index 0000000..57aa3b1
--- /dev/null
+++ b/chrome/browser/enterprise/connectors/test/fake_files_request_handler.h
@@ -0,0 +1,71 @@
+// Copyright 2022 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_ENTERPRISE_CONNECTORS_TEST_FAKE_FILES_REQUEST_HANDLER_H_
+#define CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_FAKE_FILES_REQUEST_HANDLER_H_
+
+#include "base/functional/callback_forward.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/enterprise/connectors/analysis/files_request_handler.h"
+
+namespace enterprise_connectors::test {
+
+class FakeFilesRequestHandler : public FilesRequestHandler {
+ public:
+  using FakeFileRequestCallback =
+      base::OnceCallback<void(base::FilePath path,
+                              safe_browsing::BinaryUploadService::Result result,
+                              ContentAnalysisResponse response)>;
+
+  using FakeFileUploadCallback = base::RepeatingCallback<void(
+      safe_browsing::BinaryUploadService::Result result,
+      const base::FilePath& path,
+      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request,
+      FakeFileRequestCallback callback)>;
+
+  FakeFilesRequestHandler(FakeFileUploadCallback fake_file_upload_callback,
+                          safe_browsing::BinaryUploadService* upload_service,
+                          Profile* profile,
+                          const AnalysisSettings& analysis_settings,
+                          GURL url,
+                          const std::string& source,
+                          const std::string& destination,
+                          const std::string& user_action_id,
+                          const std::string& tab_title,
+                          safe_browsing::DeepScanAccessPoint access_point,
+                          const std::vector<base::FilePath>& paths,
+                          CompletionCallback callback);
+
+  ~FakeFilesRequestHandler() override;
+
+  static std::unique_ptr<FilesRequestHandler> Create(
+      FakeFileUploadCallback fake_file_upload_callback,
+      safe_browsing::BinaryUploadService* upload_service,
+      Profile* profile,
+      const AnalysisSettings& analysis_settings,
+      GURL url,
+      const std::string& source,
+      const std::string& destination,
+      const std::string& user_action_id,
+      const std::string& tab_title,
+      safe_browsing::DeepScanAccessPoint access_point,
+      const std::vector<base::FilePath>& paths,
+      FilesRequestHandler::CompletionCallback callback);
+
+  base::WeakPtr<FakeFilesRequestHandler> GetWeakPtr();
+
+ private:
+  void UploadFileForDeepScanning(
+      safe_browsing::BinaryUploadService::Result result,
+      const base::FilePath& path,
+      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request)
+      override;
+
+  FakeFileUploadCallback fake_file_upload_callback_;
+  base::WeakPtrFactory<FakeFilesRequestHandler> weak_ptr_factory_{this};
+};
+
+}  // namespace enterprise_connectors::test
+
+#endif  // CHROME_BROWSER_ENTERPRISE_CONNECTORS_TEST_FAKE_FILES_REQUEST_HANDLER_H_
diff --git a/chrome/browser/enterprise/reporting/real_time_report_controller_android.cc b/chrome/browser/enterprise/reporting/real_time_report_controller_android.cc
new file mode 100644
index 0000000..fbc962b8
--- /dev/null
+++ b/chrome/browser/enterprise/reporting/real_time_report_controller_android.cc
@@ -0,0 +1,20 @@
+// 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/enterprise/reporting/real_time_report_controller_android.h"
+
+namespace enterprise_reporting {
+
+RealTimeReportControllerAndroid::RealTimeReportControllerAndroid() = default;
+RealTimeReportControllerAndroid::~RealTimeReportControllerAndroid() = default;
+
+void RealTimeReportControllerAndroid::StartWatchingExtensionRequestIfNeeded() {
+  // No-op because extensions are not supported on Android.
+}
+
+void RealTimeReportControllerAndroid::StopWatchingExtensionRequest() {
+  // No-op because extensions are not supported on Android.
+}
+
+}  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/real_time_report_controller_android.h b/chrome/browser/enterprise/reporting/real_time_report_controller_android.h
new file mode 100644
index 0000000..af9eb1f4
--- /dev/null
+++ b/chrome/browser/enterprise/reporting/real_time_report_controller_android.h
@@ -0,0 +1,30 @@
+// 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_ENTERPRISE_REPORTING_REAL_TIME_REPORT_CONTROLLER_ANDROID_H_
+#define CHROME_BROWSER_ENTERPRISE_REPORTING_REAL_TIME_REPORT_CONTROLLER_ANDROID_H_
+
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
+
+namespace enterprise_reporting {
+
+class RealTimeReportControllerAndroid
+    : public RealTimeReportController::Delegate {
+ public:
+  RealTimeReportControllerAndroid();
+  RealTimeReportControllerAndroid(const RealTimeReportControllerAndroid&) =
+      delete;
+  RealTimeReportControllerAndroid& operator=(
+      const RealTimeReportControllerAndroid&) = delete;
+  ~RealTimeReportControllerAndroid() override;
+
+ private:
+  // RealTimeReportController::Delegate
+  void StartWatchingExtensionRequestIfNeeded() override;
+  void StopWatchingExtensionRequest() override;
+};
+
+}  // namespace enterprise_reporting
+
+#endif  // CHROME_BROWSER_ENTERPRISE_REPORTING_REAL_TIME_REPORT_CONTROLLER_ANDROID_H_
diff --git a/chrome/browser/enterprise/reporting/real_time_report_controller_desktop.cc b/chrome/browser/enterprise/reporting/real_time_report_controller_desktop.cc
new file mode 100644
index 0000000..4b4349c
--- /dev/null
+++ b/chrome/browser/enterprise/reporting/real_time_report_controller_desktop.cc
@@ -0,0 +1,54 @@
+// 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/enterprise/reporting/real_time_report_controller_desktop.h"
+
+#include <memory>
+
+#include "chrome/browser/enterprise/reporting/extension_request/extension_request_observer_factory.h"
+#include "chrome/browser/enterprise/reporting/extension_request/extension_request_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
+
+namespace enterprise_reporting {
+
+RealTimeReportControllerDesktop::RealTimeReportControllerDesktop(
+    Profile* profile)
+    : extension_request_observer_factory_(
+          std::make_unique<ExtensionRequestObserverFactory>(profile)) {}
+
+RealTimeReportControllerDesktop::~RealTimeReportControllerDesktop() = default;
+
+void RealTimeReportControllerDesktop::StartWatchingExtensionRequestIfNeeded() {
+  if (!extension_request_observer_factory_) {
+    return;
+  }
+
+  // On CrOS, the function may be called twice during startup.
+  if (extension_request_observer_factory_->IsReportEnabled()) {
+    return;
+  }
+
+  // Unretained is safe here as the callback will always be called synchronously
+  // while the owner will be deleted before the controller.
+  extension_request_observer_factory_->EnableReport(base::BindRepeating(
+      &RealTimeReportControllerDesktop::TriggerExtensionRequest,
+      base::Unretained(this)));
+}
+
+void RealTimeReportControllerDesktop::StopWatchingExtensionRequest() {
+  if (extension_request_observer_factory_) {
+    extension_request_observer_factory_->DisableReport();
+  }
+}
+
+void RealTimeReportControllerDesktop::TriggerExtensionRequest(
+    Profile* profile) {
+  if (!trigger_callback_.is_null()) {
+    trigger_callback_.Run(
+        RealTimeReportController::ReportTrigger::kExtensionRequest,
+        ExtensionRequestReportGenerator::ExtensionRequestData(profile));
+  }
+}
+
+}  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/real_time_report_controller_desktop.h b/chrome/browser/enterprise/reporting/real_time_report_controller_desktop.h
new file mode 100644
index 0000000..2e57e00
--- /dev/null
+++ b/chrome/browser/enterprise/reporting/real_time_report_controller_desktop.h
@@ -0,0 +1,36 @@
+// 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_ENTERPRISE_REPORTING_REAL_TIME_REPORT_CONTROLLER_DESKTOP_H_
+#define CHROME_BROWSER_ENTERPRISE_REPORTING_REAL_TIME_REPORT_CONTROLLER_DESKTOP_H_
+
+#include "chrome/browser/enterprise/reporting/extension_request/extension_request_observer_factory.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
+
+namespace enterprise_reporting {
+
+class RealTimeReportControllerDesktop
+    : public RealTimeReportController::Delegate {
+ public:
+  explicit RealTimeReportControllerDesktop(Profile* profile = nullptr);
+  RealTimeReportControllerDesktop(const RealTimeReportControllerDesktop&) =
+      delete;
+  RealTimeReportControllerDesktop& operator=(
+      const RealTimeReportControllerDesktop&) = delete;
+  ~RealTimeReportControllerDesktop() override;
+
+  // RealTimeReportController::Delegate
+  void StartWatchingExtensionRequestIfNeeded() override;
+  void StopWatchingExtensionRequest() override;
+
+  void TriggerExtensionRequest(Profile* profile);
+
+ private:
+  std::unique_ptr<ExtensionRequestObserverFactory>
+      extension_request_observer_factory_;
+};
+
+}  // namespace enterprise_reporting
+
+#endif  // CHROME_BROWSER_ENTERPRISE_REPORTING_REAL_TIME_REPORT_CONTROLLER_DESKTOP_H_
diff --git a/chrome/browser/enterprise/reporting/real_time_report_controller_unittest.cc b/chrome/browser/enterprise/reporting/real_time_report_controller_unittest.cc
new file mode 100644
index 0000000..453e613
--- /dev/null
+++ b/chrome/browser/enterprise/reporting/real_time_report_controller_unittest.cc
@@ -0,0 +1,107 @@
+// 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 "components/enterprise/browser/reporting/real_time_report_controller.h"
+
+#include <memory>
+#include <vector>
+
+#include "build/build_config.h"
+#include "chrome/browser/enterprise/reporting/extension_request/extension_request_report_generator.h"
+#include "chrome/browser/enterprise/reporting/real_time_report_controller_desktop.h"
+#include "chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h"
+#include "chrome/test/base/testing_browser_process.h"
+#include "chrome/test/base/testing_profile_manager.h"
+#include "components/enterprise/browser/reporting/real_time_uploader.h"
+#include "components/enterprise/common/proto/extensions_workflow_events.pb.h"
+#include "components/policy/core/common/cloud/dm_token.h"
+#include "content/public/test/browser_task_environment.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using ::testing::_;
+using ::testing::ByMove;
+using ::testing::DoAll;
+using ::testing::Invoke;
+using ::testing::Return;
+using ::testing::WithArgs;
+
+namespace enterprise_reporting {
+
+namespace {
+
+class MockRealTimeReportGenerator : public RealTimeReportGenerator {
+ public:
+  explicit MockRealTimeReportGenerator(
+      ReportingDelegateFactory* delegate_factory)
+      : RealTimeReportGenerator(delegate_factory) {}
+
+  MOCK_METHOD2(Generate,
+               std::vector<std::unique_ptr<google::protobuf::MessageLite>>(
+                   ReportType type,
+                   const RealTimeReportGenerator::Data& data));
+};
+
+class MockRealTimeUploader : public RealTimeUploader {
+ public:
+  MockRealTimeUploader() : RealTimeUploader(reporting::Priority::FAST_BATCH) {}
+
+  MOCK_METHOD2(Upload,
+               void(std::unique_ptr<google::protobuf::MessageLite> report,
+                    EnqueueCallback callback));
+};
+
+}  // namespace
+
+class RealTimeReportControllerTest : public ::testing::Test {
+ public:
+  RealTimeReportControllerTest() = default;
+  ~RealTimeReportControllerTest() override = default;
+
+  void SetUp() override { ASSERT_TRUE(profile_manager_.SetUp()); }
+
+  content::BrowserTaskEnvironment task_environment_;
+  TestingProfileManager profile_manager_{TestingBrowserProcess::GetGlobal()};
+  ReportingDelegateFactoryDesktop delegate_factory_;
+};
+
+TEST_F(RealTimeReportControllerTest, ExtensionRequest) {
+  std::vector<std::unique_ptr<google::protobuf::MessageLite>> reports;
+  reports.push_back(std::make_unique<ExtensionsWorkflowEvent>());
+  reports.push_back(std::make_unique<ExtensionsWorkflowEvent>());
+
+  Profile* profile = profile_manager_.CreateTestingProfile("profile");
+
+  auto report_generator =
+      std::make_unique<MockRealTimeReportGenerator>(&delegate_factory_);
+  auto report_uploader = std::make_unique<MockRealTimeUploader>();
+
+  RealTimeReportController report_controller{&delegate_factory_};
+
+  EXPECT_CALL(
+      *report_generator.get(),
+      Generate(RealTimeReportGenerator::ReportType::kExtensionRequest, _))
+      .WillOnce(DoAll(
+          WithArgs<1>(
+              Invoke([profile](const MockRealTimeReportGenerator::Data& data) {
+                EXPECT_EQ(profile,
+                          static_cast<const ExtensionRequestReportGenerator::
+                                          ExtensionRequestData&>(data)
+                              .profile);
+              })),
+          Return(ByMove(std::move(reports)))));
+  EXPECT_CALL(*report_uploader, Upload(_, _)).Times(2);
+
+  report_controller.SetExtensionRequestUploaderForTesting(
+      std::move(report_uploader));
+  report_controller.SetReportGeneratorForTesting(std::move(report_generator));
+  report_controller.OnDMTokenUpdated(
+      policy::DMToken::CreateValidToken("dm-token"));
+
+  static_cast<RealTimeReportControllerDesktop*>(
+      report_controller.GetDelegateForTesting())
+      ->TriggerExtensionRequest(profile);
+}
+
+}  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/report_scheduler_android.cc b/chrome/browser/enterprise/reporting/report_scheduler_android.cc
index ce5e625..9210a7c9 100644
--- a/chrome/browser/enterprise/reporting/report_scheduler_android.cc
+++ b/chrome/browser/enterprise/reporting/report_scheduler_android.cc
@@ -37,18 +37,6 @@
   // No-op because in-app auto-update is not supported on Android.
 }
 
-void ReportSchedulerAndroid::StartWatchingExtensionRequestIfNeeded() {
-  // No-op because extensions are not supported on Android.
-}
-
-void ReportSchedulerAndroid::StopWatchingExtensionRequest() {
-  // No-op because extensions are not supported on Android.
-}
-
-void ReportSchedulerAndroid::OnExtensionRequestUploaded() {
-  // No-op because extensions are not supported on Android.
-}
-
 policy::DMToken ReportSchedulerAndroid::GetProfileDMToken() {
   absl::optional<std::string> dm_token = reporting::GetUserDmToken(profile_);
   if (!dm_token || dm_token->empty())
diff --git a/chrome/browser/enterprise/reporting/report_scheduler_android.h b/chrome/browser/enterprise/reporting/report_scheduler_android.h
index 68b964124..204bdea2 100644
--- a/chrome/browser/enterprise/reporting/report_scheduler_android.h
+++ b/chrome/browser/enterprise/reporting/report_scheduler_android.h
@@ -27,9 +27,6 @@
                                     base::TimeDelta upload_interval) override;
   void StopWatchingUpdates() override;
   void OnBrowserVersionUploaded() override;
-  void StartWatchingExtensionRequestIfNeeded() override;
-  void StopWatchingExtensionRequest() override;
-  void OnExtensionRequestUploaded() override;
   policy::DMToken GetProfileDMToken() override;
   std::string GetProfileClientId() override;
 
diff --git a/chrome/browser/enterprise/reporting/report_scheduler_desktop.cc b/chrome/browser/enterprise/reporting/report_scheduler_desktop.cc
index b77b2cef..bcbd3b4 100644
--- a/chrome/browser/enterprise/reporting/report_scheduler_desktop.cc
+++ b/chrome/browser/enterprise/reporting/report_scheduler_desktop.cc
@@ -10,7 +10,6 @@
 #include "base/notreached.h"
 #include "build/chromeos_buildflags.h"
 #include "chrome/browser/browser_process.h"
-#include "chrome/browser/enterprise/reporting/extension_request/extension_request_report_generator.h"
 #include "chrome/browser/enterprise/reporting/prefs.h"
 #include "chrome/browser/profiles/reporting_util.h"
 #include "chrome/browser/upgrade_detector/build_state.h"
@@ -47,24 +46,15 @@
 }  // namespace
 
 ReportSchedulerDesktop::ReportSchedulerDesktop()
-    : ReportSchedulerDesktop(nullptr, false) {}
+    : profile_(nullptr), prefs_(LocalState()) {}
 
-ReportSchedulerDesktop::ReportSchedulerDesktop(Profile* profile,
-                                               bool profile_reporting) {
-  if (profile_reporting) {
+ReportSchedulerDesktop::ReportSchedulerDesktop(Profile* profile)
+    : profile_(profile), prefs_(profile->GetPrefs()) {
+  if (profile) {
 #if BUILDFLAG(IS_CHROMEOS_ASH)
     // Profile reporting is on LaCrOs instead of Ash.
     NOTREACHED();
 #endif
-    profile_ = profile;
-    prefs_ = profile->GetPrefs();
-    // Extension request hasn't support profile report yet. When we do, we also
-    // need to refactor the code to avoid multiple extension request observer.
-  } else {
-    profile_ = nullptr;
-    prefs_ = LocalState();
-    extension_request_observer_factory_ =
-        std::make_unique<ExtensionRequestObserverFactory>(profile);
   }
 }
 
@@ -120,26 +110,6 @@
   }
 }
 
-void ReportSchedulerDesktop::StartWatchingExtensionRequestIfNeeded() {
-  if (!extension_request_observer_factory_)
-    return;
-
-  // On CrOS, the function may be called twice during startup.
-  if (extension_request_observer_factory_->IsReportEnabled())
-    return;
-
-  extension_request_observer_factory_->EnableReport(
-      base::BindRepeating(&ReportSchedulerDesktop::TriggerExtensionRequest,
-                          base::Unretained(this)));
-}
-
-void ReportSchedulerDesktop::StopWatchingExtensionRequest() {
-  if (extension_request_observer_factory_)
-    extension_request_observer_factory_->DisableReport();
-}
-
-void ReportSchedulerDesktop::OnExtensionRequestUploaded() {}
-
 policy::DMToken ReportSchedulerDesktop::GetProfileDMToken() {
   absl::optional<std::string> dm_token = reporting::GetUserDmToken(profile_);
   if (!dm_token || dm_token->empty())
@@ -162,12 +132,4 @@
   }
 }
 
-void ReportSchedulerDesktop::TriggerExtensionRequest(Profile* profile) {
-  if (!trigger_realtime_report_callback_.is_null()) {
-    trigger_realtime_report_callback_.Run(
-        ReportScheduler::ReportTrigger::kTriggerExtensionRequestRealTime,
-        ExtensionRequestReportGenerator::ExtensionRequestData(profile));
-  }
-}
-
 }  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/report_scheduler_desktop.h b/chrome/browser/enterprise/reporting/report_scheduler_desktop.h
index 7476a0e..3f6fc63b 100644
--- a/chrome/browser/enterprise/reporting/report_scheduler_desktop.h
+++ b/chrome/browser/enterprise/reporting/report_scheduler_desktop.h
@@ -20,10 +20,8 @@
                                public BuildStateObserver {
  public:
   ReportSchedulerDesktop();
-  /* `profile` is used for profile reporting or Chrome OS session.
-   * `profile_reporting` should be set to false for Chrome OS only.*/
-  explicit ReportSchedulerDesktop(Profile* profile,
-                                  bool profile_reporting = false);
+  /* `profile` is used for profile reporting */
+  explicit ReportSchedulerDesktop(Profile* profile);
   ReportSchedulerDesktop(const ReportSchedulerDesktop&) = delete;
   ReportSchedulerDesktop& operator=(const ReportSchedulerDesktop&) = delete;
 
@@ -36,22 +34,15 @@
   void StopWatchingUpdates() override;
   void OnBrowserVersionUploaded() override;
 
-  void StartWatchingExtensionRequestIfNeeded() override;
-  void StopWatchingExtensionRequest() override;
-  void OnExtensionRequestUploaded() override;
   policy::DMToken GetProfileDMToken() override;
   std::string GetProfileClientId() override;
 
   // BuildStateObserver implementation.
   void OnUpdate(const BuildState* build_state) override;
 
-  void TriggerExtensionRequest(Profile* profile);
-
  private:
   raw_ptr<Profile> profile_;
   raw_ptr<PrefService> prefs_;
-  std::unique_ptr<ExtensionRequestObserverFactory>
-      extension_request_observer_factory_;
 };
 
 }  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/report_scheduler_unittest.cc b/chrome/browser/enterprise/reporting/report_scheduler_unittest.cc
index baa141a2..428363e 100644
--- a/chrome/browser/enterprise/reporting/report_scheduler_unittest.cc
+++ b/chrome/browser/enterprise/reporting/report_scheduler_unittest.cc
@@ -17,7 +17,6 @@
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
 #include "chrome/browser/browser_process.h"
-#include "chrome/browser/enterprise/reporting/extension_request/extension_request_report_generator.h"
 #include "chrome/browser/enterprise/reporting/prefs.h"
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/browser/upgrade_detector/build_state.h"
@@ -29,11 +28,8 @@
 #include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h"
 #include "components/enterprise/browser/reporting/chrome_profile_request_generator.h"
 #include "components/enterprise/browser/reporting/common_pref_names.h"
-#include "components/enterprise/browser/reporting/real_time_report_generator.h"
-#include "components/enterprise/browser/reporting/real_time_uploader.h"
 #include "components/enterprise/browser/reporting/report_generator.h"
 #include "components/enterprise/browser/reporting/report_request.h"
-#include "components/enterprise/common/proto/extensions_workflow_events.pb.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
 #include "components/reporting/client/report_queue_provider.h"
 #include "components/reporting/proto/synced/record_constants.pb.h"
@@ -121,38 +117,6 @@
                void(ReportType, ReportRequestQueue, ReportCallback));
 };
 
-class MockRealTimeReportGenerator : public RealTimeReportGenerator {
- public:
-#if BUILDFLAG(IS_ANDROID)
-  explicit MockRealTimeReportGenerator(
-      ReportingDelegateFactoryAndroid* delegate_factory)
-      : RealTimeReportGenerator(delegate_factory) {}
-#else
-  explicit MockRealTimeReportGenerator(
-      ReportingDelegateFactoryDesktop* delegate_factory)
-      : RealTimeReportGenerator(delegate_factory) {}
-#endif  // BUILDFLAG(IS_ANDROID)
-
-  MOCK_METHOD2(Generate,
-               std::vector<std::unique_ptr<google::protobuf::MessageLite>>(
-                   ReportType type,
-                   const RealTimeReportGenerator::Data& data));
-};
-
-class MockRealTimeUploader : public RealTimeUploader {
- public:
-  MockRealTimeUploader() : RealTimeUploader(reporting::Priority::FAST_BATCH) {}
-
-  void Upload(std::unique_ptr<google::protobuf::MessageLite> report,
-              EnqueueCallback callback) override {
-    OnUpload(report.get(), callback);
-  }
-
-  MOCK_METHOD2(OnUpload,
-               void(google::protobuf::MessageLite* report,
-                    EnqueueCallback& callback));
-};
-
 class MockChromeProfileRequestGenerator : public ChromeProfileRequestGenerator {
  public:
 #if BUILDFLAG(IS_ANDROID)
@@ -192,12 +156,6 @@
     uploader_ptr_ = std::make_unique<MockReportUploader>();
     uploader_ = uploader_ptr_.get();
 
-    real_time_generator_ptr_ = std::make_unique<MockRealTimeReportGenerator>(
-        &report_delegate_factory_);
-    real_time_generator_ = real_time_generator_ptr_.get();
-    extension_request_uploader_ptr_ = std::make_unique<MockRealTimeUploader>();
-    extension_request_uploader_ = extension_request_uploader_ptr_.get();
-
     profile_request_generator_ptr_ =
         std::make_unique<MockChromeProfileRequestGenerator>(
             &report_delegate_factory_);
@@ -224,11 +182,8 @@
     params.client = client_;
     params.delegate = report_delegate_factory_.GetReportSchedulerDelegate();
     params.report_generator = std::move(generator_ptr_);
-    params.real_time_report_generator = std::move(real_time_generator_ptr_);
     scheduler_ = std::make_unique<ReportScheduler>(std::move(params));
     scheduler_->SetReportUploaderForTesting(std::move(uploader_ptr_));
-    scheduler_->SetExtensionRequestUploaderForTesting(
-        std::move(extension_request_uploader_ptr_));
   }
 
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -240,8 +195,7 @@
 #if BUILDFLAG(IS_ANDROID)
         std::make_unique<ReportSchedulerAndroid>(profile);
 #else
-        std::make_unique<ReportSchedulerDesktop>(profile,
-                                                 /*profile_reporting=*/true);
+        std::make_unique<ReportSchedulerDesktop>(profile);
 #endif  // BUILDFLAG(IS_ANDROID)
     params.profile_request_generator =
         std::move(profile_request_generator_ptr_);
@@ -300,27 +254,12 @@
 #if BUILDFLAG(IS_CHROMEOS_ASH)
     EXPECT_CALL(*client_, SetupRegistration(_, _, _)).Times(0);
 #else
-    EXPECT_CALL(*client_, SetupRegistration(kDMToken, kClientId, _));
-#endif
-  }
-
-  void EXPECT_CALL_SetupRegistrationWithSetDMToken() {
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-    EXPECT_CALL(*client_, SetupRegistration(_, _, _)).Times(0);
-#else
     EXPECT_CALL(*client_, SetupRegistration(kDMToken, kClientId, _))
         .WillOnce(WithArgs<0>(
             Invoke(client_.get(), &policy::MockCloudPolicyClient::SetDMToken)));
 #endif
   }
 
-#if !BUILDFLAG(IS_ANDROID)
-  void TriggerExtensionRequestReport(Profile* profile) {
-    static_cast<ReportSchedulerDesktop*>(scheduler_->GetDelegateForTesting())
-        ->TriggerExtensionRequest(profile);
-  }
-#endif  // !BUILDFLAG(IS_ANDROID)
-
   content::BrowserTaskEnvironment task_environment_;
   ScopedTestingLocalState local_state_;
   TestingProfileManager profile_manager_;
@@ -334,8 +273,6 @@
   raw_ptr<policy::MockCloudPolicyClient, DanglingUntriaged> client_;
   raw_ptr<MockReportGenerator, DanglingUntriaged> generator_;
   raw_ptr<MockReportUploader, DanglingUntriaged> uploader_;
-  raw_ptr<MockRealTimeReportGenerator, DanglingUntriaged> real_time_generator_;
-  raw_ptr<MockRealTimeUploader, DanglingUntriaged> extension_request_uploader_;
   raw_ptr<MockChromeProfileRequestGenerator, DanglingUntriaged>
       profile_request_generator_;
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -348,8 +285,6 @@
   std::unique_ptr<policy::MockCloudPolicyClient> client_ptr_;
   std::unique_ptr<MockReportGenerator> generator_ptr_;
   std::unique_ptr<MockReportUploader> uploader_ptr_;
-  std::unique_ptr<MockRealTimeReportGenerator> real_time_generator_ptr_;
-  std::unique_ptr<MockRealTimeUploader> extension_request_uploader_ptr_;
   std::unique_ptr<MockChromeProfileRequestGenerator>
       profile_request_generator_ptr_;
 };
@@ -446,7 +381,7 @@
 }
 
 TEST_F(ReportSchedulerTest, UploadReportPersistentError) {
-  EXPECT_CALL_SetupRegistrationWithSetDMToken();
+  EXPECT_CALL_SetupRegistration();
   EXPECT_CALL(*generator_, OnGenerate(ReportType::kFull, _))
       .WillOnce(WithArgs<1>(ScheduleGeneratorCallback(1)));
   EXPECT_CALL(*uploader_, SetRequestAndUpload(ReportType::kFull, _, _))
@@ -472,7 +407,7 @@
 }
 
 TEST_F(ReportSchedulerTest, NoReportGenerate) {
-  EXPECT_CALL_SetupRegistrationWithSetDMToken();
+  EXPECT_CALL_SetupRegistration();
   EXPECT_CALL(*generator_, OnGenerate(ReportType::kFull, _))
       .WillOnce(WithArgs<1>(ScheduleGeneratorCallback(0)));
   EXPECT_CALL(*uploader_, SetRequestAndUpload(_, _, _)).Times(0);
@@ -709,10 +644,8 @@
   ::testing::Mock::VerifyAndClearExpectations(uploader_);
 }
 
-// Android does not support version updates nor extensions
-#if !BUILDFLAG(IS_ANDROID)
-
-#if !BUILDFLAG(IS_CHROMEOS_ASH)
+// Android does not support version updates
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
 
 // Tests that a basic report is generated and uploaded when a browser update is
 // detected.
@@ -889,41 +822,6 @@
   histogram_tester_.ExpectUniqueSample(kUploadTriggerMetricName, 1, 1);
 }
 
-#endif  // !BUILDFLAG(IS_CHROMEOS_ASH)
-
-TEST_F(ReportSchedulerTest, ExtensionRequestWithRealTimePipeline) {
-  EXPECT_CALL_SetupRegistration();
-  EXPECT_CALL(*generator_, OnGenerate(_, _)).Times(0);
-  EXPECT_CALL(*uploader_, SetRequestAndUpload(_, _, _)).Times(0);
-
-  Profile* profile = profile_manager_.CreateTestingProfile("profile");
-
-  std::vector<std::unique_ptr<google::protobuf::MessageLite>> reports;
-  reports.push_back(std::make_unique<ExtensionsWorkflowEvent>());
-  reports.push_back(std::make_unique<ExtensionsWorkflowEvent>());
-
-  EXPECT_CALL(
-      *real_time_generator_,
-      Generate(RealTimeReportGenerator::ReportType::kExtensionRequest, _))
-      .WillOnce(DoAll(
-          WithArgs<1>(
-              Invoke([profile](const MockRealTimeReportGenerator::Data& data) {
-                EXPECT_EQ(profile,
-                          static_cast<const ExtensionRequestReportGenerator::
-                                          ExtensionRequestData&>(data)
-                              .profile);
-              })),
-          Return(ByMove(std::move(reports)))));
-  EXPECT_CALL(*extension_request_uploader_, OnUpload(_, _)).Times(2);
-  CreateScheduler();
-
-  TriggerExtensionRequestReport(profile);
-
-  ExpectLastUploadTimestampUpdated(false);
-
-  histogram_tester_.ExpectUniqueSample(kUploadTriggerMetricName, 5, 1);
-}
-
-#endif  // !BUILDFLAG(IS_ANDROID)
+#endif  // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
 
 }  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.cc b/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.cc
index b01eb60..84f4ff4 100644
--- a/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.cc
+++ b/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.cc
@@ -4,10 +4,12 @@
 
 #include "chrome/browser/enterprise/reporting/reporting_delegate_factory_android.h"
 
+#include <memory>
 #include <utility>
 
 #include "chrome/browser/enterprise/reporting/browser_report_generator_android.h"
 #include "chrome/browser/enterprise/reporting/profile_report_generator_android.h"
+#include "chrome/browser/enterprise/reporting/real_time_report_controller_android.h"
 #include "chrome/browser/enterprise/reporting/report_scheduler_android.h"
 
 namespace enterprise_reporting {
@@ -39,6 +41,11 @@
   return nullptr;
 }
 
+std::unique_ptr<RealTimeReportController::Delegate>
+ReportingDelegateFactoryAndroid::GetRealTimeReportControllerDelegate() {
+  return std::make_unique<RealTimeReportControllerAndroid>();
+}
+
 std::unique_ptr<ReportScheduler::Delegate>
 ReportingDelegateFactoryAndroid::GetReportSchedulerDelegate(Profile* profile) {
   return std::make_unique<ReportSchedulerAndroid>(profile);
diff --git a/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.h b/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.h
index d687774..a4ab89b 100644
--- a/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.h
+++ b/chrome/browser/enterprise/reporting/reporting_delegate_factory_android.h
@@ -35,6 +35,8 @@
       override;
   std::unique_ptr<RealTimeReportGenerator::Delegate>
   GetRealTimeReportGeneratorDelegate() override;
+  std::unique_ptr<RealTimeReportController::Delegate>
+  GetRealTimeReportControllerDelegate() override;
 
   std::unique_ptr<ReportScheduler::Delegate> GetReportSchedulerDelegate(
       Profile* profile);
diff --git a/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.cc b/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.cc
index f32b93c9..c968a0b 100644
--- a/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.cc
+++ b/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.cc
@@ -4,11 +4,15 @@
 
 #include "chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h"
 
+#include <memory>
+
 #include "chrome/browser/enterprise/reporting/browser_report_generator_desktop.h"
 #include "chrome/browser/enterprise/reporting/profile_report_generator_desktop.h"
+#include "chrome/browser/enterprise/reporting/real_time_report_controller_desktop.h"
 #include "chrome/browser/enterprise/reporting/real_time_report_generator_desktop.h"
 #include "chrome/browser/enterprise/reporting/report_generator_desktop.h"
 #include "chrome/browser/enterprise/reporting/report_scheduler_desktop.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 
 namespace enterprise_reporting {
 
@@ -37,10 +41,19 @@
   return std::make_unique<RealTimeReportGeneratorDesktop>();
 }
 
+std::unique_ptr<RealTimeReportController::Delegate>
+ReportingDelegateFactoryDesktop::GetRealTimeReportControllerDelegate() {
+  return std::make_unique<RealTimeReportControllerDesktop>(profile_);
+}
+
 std::unique_ptr<ReportScheduler::Delegate>
 ReportingDelegateFactoryDesktop::GetReportSchedulerDelegate(Profile* profile) {
-  return std::make_unique<ReportSchedulerDesktop>(profile,
-                                                  /*profile_reporting=*/true);
+  return std::make_unique<ReportSchedulerDesktop>(profile);
+}
+
+void ReportingDelegateFactoryDesktop::SetProfileForRealTimeController(
+    Profile* profile) {
+  profile_ = profile;
 }
 
 }  // namespace enterprise_reporting
diff --git a/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h b/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h
index 4d3ded9..885180f 100644
--- a/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h
+++ b/chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h
@@ -9,8 +9,10 @@
 
 #include <memory>
 
+#include "base/allocator/partition_allocator/pointers/raw_ptr.h"
 #include "components/enterprise/browser/reporting/browser_report_generator.h"
 #include "components/enterprise/browser/reporting/profile_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/real_time_report_generator.h"
 #include "components/enterprise/browser/reporting/report_generator.h"
 #include "components/enterprise/browser/reporting/report_scheduler.h"
@@ -45,8 +47,16 @@
   std::unique_ptr<RealTimeReportGenerator::Delegate>
   GetRealTimeReportGeneratorDelegate() override;
 
+  std::unique_ptr<RealTimeReportController::Delegate>
+  GetRealTimeReportControllerDelegate() override;
+
   std::unique_ptr<ReportScheduler::Delegate> GetReportSchedulerDelegate(
       Profile* profile);
+
+  void SetProfileForRealTimeController(Profile* profile);
+
+ private:
+  raw_ptr<Profile> profile_ = nullptr;
 };
 
 }  // namespace enterprise_reporting
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_apitest.cc b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_apitest.cc
index 934f77e..3cbbdf4c 100644
--- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_apitest.cc
+++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_apitest.cc
@@ -50,7 +50,7 @@
 #endif  // BUILDFLAG(IS_WIN)
 
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "components/enterprise/browser/controller/fake_browser_dm_token_storage.h"
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
@@ -154,7 +154,8 @@
       account_info.hosted_domain = "example.com";
       identity_test_env()->UpdateAccountInfoForAccount(account_info);
 
-      safe_browsing::SetProfileDMToken(profile(), "fake_user_dmtoken");
+      enterprise_connectors::test::SetProfileDMToken(profile(),
+                                                     "fake_user_dmtoken");
       auto profile_policy_data =
           std::make_unique<enterprise_management::PolicyData>();
       profile_policy_data->add_user_affiliation_ids(kAffiliationId);
diff --git a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_browsertest.cc b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_browsertest.cc
index f25982c..efdf31f 100644
--- a/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_browsertest.cc
+++ b/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_browsertest.cc
@@ -9,13 +9,13 @@
 #include "build/chromeos_buildflags.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/enterprise/util/managed_browser_utils.h"
 #include "chrome/browser/net/profile_network_context_service.h"
 #include "chrome/browser/net/profile_network_context_service_factory.h"
 #include "chrome/browser/policy/chrome_browser_policy_connector.h"
 #include "chrome/browser/policy/policy_test_utils.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/extensions/api/enterprise_reporting_private.h"
@@ -198,7 +198,8 @@
       profile_policy_manager->core()->client()->SetupRegistration(
           "dm_token", "client_id", {});
 #else
-      safe_browsing::SetProfileDMToken(browser()->profile(), "dm_token");
+      enterprise_connectors::test::SetProfileDMToken(browser()->profile(),
+                                                     "dm_token");
       auto* profile_policy_manager =
           browser()->profile()->GetUserCloudPolicyManager();
 #endif
@@ -409,9 +410,9 @@
 IN_PROC_BROWSER_TEST_F(EnterpriseReportingPrivateGetContextInfoBaseBrowserTest,
                        TestFileAttachedProviderName) {
   SetupDMToken();
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::FILE_ATTACHED,
-                                      kGoogleServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::FILE_ATTACHED,
+      kGoogleServiceProvider);
 
   auto function =
       base::MakeRefCounted<EnterpriseReportingPrivateGetContextInfoFunction>();
@@ -436,9 +437,9 @@
 IN_PROC_BROWSER_TEST_F(EnterpriseReportingPrivateGetContextInfoBaseBrowserTest,
                        TestFileDownloadedProviderName) {
   SetupDMToken();
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::FILE_DOWNLOADED,
-                                      kGoogleServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kGoogleServiceProvider);
 
   auto function =
       base::MakeRefCounted<EnterpriseReportingPrivateGetContextInfoFunction>();
@@ -463,9 +464,9 @@
 IN_PROC_BROWSER_TEST_F(EnterpriseReportingPrivateGetContextInfoBaseBrowserTest,
                        TestBulkDataEntryProviderName) {
   SetupDMToken();
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::BULK_DATA_ENTRY,
-                                      kGoogleServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::BULK_DATA_ENTRY,
+      kGoogleServiceProvider);
 
   auto function =
       base::MakeRefCounted<EnterpriseReportingPrivateGetContextInfoFunction>();
@@ -490,9 +491,9 @@
 IN_PROC_BROWSER_TEST_F(EnterpriseReportingPrivateGetContextInfoBaseBrowserTest,
                        TestPrintProviderName) {
   SetupDMToken();
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::PRINT,
-                                      kGoogleServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::PRINT,
+      kGoogleServiceProvider);
 
   auto function =
       base::MakeRefCounted<EnterpriseReportingPrivateGetContextInfoFunction>();
@@ -517,18 +518,18 @@
 IN_PROC_BROWSER_TEST_F(EnterpriseReportingPrivateGetContextInfoBaseBrowserTest,
                        TestAllProviderNamesSet) {
   SetupDMToken();
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::BULK_DATA_ENTRY,
-                                      kGoogleServiceProvider);
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::FILE_ATTACHED,
-                                      kOtherServiceProvider);
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::FILE_DOWNLOADED,
-                                      kAnotherServiceProvider);
-  safe_browsing::SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                                      enterprise_connectors::PRINT,
-                                      kAndAnotherServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::BULK_DATA_ENTRY,
+      kGoogleServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::FILE_ATTACHED,
+      kOtherServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kAnotherServiceProvider);
+  enterprise_connectors::test::SetAnalysisConnector(
+      browser()->profile()->GetPrefs(), enterprise_connectors::PRINT,
+      kAndAnotherServiceProvider);
 
   auto function =
       base::MakeRefCounted<EnterpriseReportingPrivateGetContextInfoFunction>();
@@ -577,8 +578,9 @@
 IN_PROC_BROWSER_TEST_F(EnterpriseReportingPrivateGetContextInfoBaseBrowserTest,
                        TestOnSecurityEventProviderNameSet) {
   SetupDMToken();
-  safe_browsing::SetOnSecurityEventReporting(browser()->profile()->GetPrefs(),
-                                             /* enabled= */ true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      browser()->profile()->GetPrefs(),
+      /* enabled= */ true);
 
   auto function =
       base::MakeRefCounted<EnterpriseReportingPrivateGetContextInfoFunction>();
@@ -593,7 +595,7 @@
       context_info_value->GetDict(), info));
 
   EXPECT_EQ(1UL, info.on_security_event_providers.size());
-  // SetOnSecurityEventReporting sets the provider name to google
+  // test::SetOnSecurityEventReporting sets the provider name to google
   EXPECT_EQ("google", info.on_security_event_providers[0]);
 }
 
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
index 39af07e6..5c87121a 100644
--- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
+++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
@@ -260,7 +260,7 @@
 }
 
 // Returns a passkey model instance if the feature is enabled.
-PasskeyModel* MaybeGetPasskeyModel(Profile* profile) {
+webauthn::PasskeyModel* MaybeGetPasskeyModel(Profile* profile) {
   if (base::FeatureList::IsEnabled(
           password_manager::features::kPasswordManagerPasskeys) &&
       base::FeatureList::IsEnabled(syncer::kSyncWebauthnCredentials)) {
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc
index a0b9b07e..cd83daed 100644
--- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc
+++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc
@@ -389,7 +389,7 @@
       profile(),
       base::BindRepeating(
           [](content::BrowserContext*) -> std::unique_ptr<KeyedService> {
-            return std::make_unique<TestPasskeyModel>();
+            return std::make_unique<webauthn::TestPasskeyModel>();
           }));
 }
 
@@ -993,7 +993,8 @@
        syncer::kSyncWebauthnCredentials},
       /*disabled_features=*/{});
 
-  PasskeyModel* passkey_model = PasskeyModelFactory::GetForProfile(profile());
+  webauthn::PasskeyModel* passkey_model =
+      PasskeyModelFactory::GetForProfile(profile());
   ASSERT_EQ(passkey_model, PasskeyModelFactory::GetForProfile(profile()));
   ASSERT_TRUE(passkey_model);
   sync_pb::WebauthnCredentialSpecifics passkey = CreatePasskey();
@@ -1698,7 +1699,8 @@
 
   auto delegate = CreateDelegate();
 
-  PasskeyModel* passkey_model = PasskeyModelFactory::GetForProfile(profile());
+  webauthn::PasskeyModel* passkey_model =
+      PasskeyModelFactory::GetForProfile(profile());
   ASSERT_EQ(passkey_model, PasskeyModelFactory::GetForProfile(profile()));
   ASSERT_TRUE(passkey_model);
   sync_pb::WebauthnCredentialSpecifics passkey = CreatePasskey();
@@ -1742,7 +1744,8 @@
 
   auto delegate = CreateDelegate();
 
-  PasskeyModel* passkey_model = PasskeyModelFactory::GetForProfile(profile());
+  webauthn::PasskeyModel* passkey_model =
+      PasskeyModelFactory::GetForProfile(profile());
   ASSERT_EQ(passkey_model, PasskeyModelFactory::GetForProfile(profile()));
   ASSERT_TRUE(passkey_model);
   sync_pb::WebauthnCredentialSpecifics passkey = CreatePasskey();
diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc
index 947bedd1..6ef1f8c6 100644
--- a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc
+++ b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_unittest.cc
@@ -25,9 +25,9 @@
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/browser/safe_browsing/test_extension_event_observer.h"
 #include "chrome/common/chrome_switches.h"
@@ -262,9 +262,9 @@
       const std::map<std::string, std::vector<std::string>>&
           enabled_opt_in_events =
               std::map<std::string, std::vector<std::string>>()) {
-    safe_browsing::SetOnSecurityEventReporting(profile_->GetPrefs(), enabled,
-                                               enabled_event_names,
-                                               enabled_opt_in_events);
+    enterprise_connectors::test::SetOnSecurityEventReporting(
+        profile_->GetPrefs(), enabled, enabled_event_names,
+        enabled_opt_in_events);
 
     // If we are not enabling reporting, or if the client has already been
     // set for testing, just return.
@@ -816,7 +816,7 @@
   identity_test_environment.MakePrimaryAccountAvailable(
       profile_->GetProfileUserName(), signin::ConsentLevel::kSignin);
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectLoginEvent("https://www.example.com/", false, "",
                              profile_->GetProfileUserName(),
                              GetProfileIdentifier(), u"*****");
@@ -839,7 +839,7 @@
   identity_test_environment.MakePrimaryAccountAvailable(
       profile_->GetProfileUserName(), signin::ConsentLevel::kSignin);
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectNoReport();
 
   TriggerOnLoginEvent(GURL("https://www.example.com/"), u"login-username");
@@ -860,7 +860,7 @@
   identity_test_environment.MakePrimaryAccountAvailable(
       profile_->GetProfileUserName(), signin::ConsentLevel::kSignin);
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectLoginEvent("https://www.example.com/", false, "",
                              profile_->GetProfileUserName(),
                              GetProfileIdentifier(), u"*****@example.com");
@@ -883,7 +883,7 @@
   identity_test_environment.MakePrimaryAccountAvailable(
       profile_->GetProfileUserName(), signin::ConsentLevel::kSignin);
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectLoginEvent(
       "https://www.example.com/", true, "https://www.google.com",
       profile_->GetProfileUserName(), GetProfileIdentifier(), u"*****");
@@ -906,7 +906,7 @@
   identity_test_environment.MakePrimaryAccountAvailable(
       profile_->GetProfileUserName(), signin::ConsentLevel::kSignin);
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectPasswordBreachEvent(
       "SAFETY_CHECK",
       {
@@ -938,7 +938,7 @@
   identity_test_environment.MakePrimaryAccountAvailable(
       profile_->GetProfileUserName(), signin::ConsentLevel::kSignin);
 
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectNoReport();
 
   TriggerOnPasswordBreachEvent(
@@ -967,7 +967,7 @@
 
   // The event is only enabled on secondexample.com, so expect only the
   // information related to that origin to be reported.
-  safe_browsing::EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectPasswordBreachEvent(
       "SAFETY_CHECK",
       {
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 1796ac31..28bacb1 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -6661,6 +6661,11 @@
     "expiry_milestone": 118
   },
   {
+    "name": "render-document",
+    "owners": [ "rakina" ],
+    "expiry_milestone": 120
+  },
+  {
     "name": "replace-sync-promos-with-sign-in-promos",
     "owners": [ "treib", "mastiz", "jood@google.com", "bling-flags@google.com", "chrome-sync-dev@google.com", "chrome-signin-team"],
     "expiry_milestone": 119
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 90c196d..c3f82061 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2821,6 +2821,10 @@
 const char kPwaUpdateDialogForAppIconDescription[] =
     "Enable a confirmation dialog that shows up when a PWA changes its icon";
 
+const char kRenderDocumentName[] = "Enable RenderDocument";
+const char kRenderDocumentDescription[] =
+    "Enable swapping RenderFrameHosts on same-site navigations";
+
 const char kQuicName[] = "Experimental QUIC protocol";
 const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
 
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 7e79537c..7e3abf2 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1582,6 +1582,9 @@
 extern const char kPwaUpdateDialogForAppIconName[];
 extern const char kPwaUpdateDialogForAppIconDescription[];
 
+extern const char kRenderDocumentName[];
+extern const char kRenderDocumentDescription[];
+
 extern const char kQuicName[];
 extern const char kQuicDescription[];
 
diff --git a/chrome/browser/hid/hid_chooser_context.cc b/chrome/browser/hid/hid_chooser_context.cc
index 983a38d6..d9a8346 100644
--- a/chrome/browser/hid/hid_chooser_context.cc
+++ b/chrome/browser/hid/hid_chooser_context.cc
@@ -16,9 +16,9 @@
 #include "base/values.h"
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
-#include "chrome/browser/browser_process.h"
 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
 #include "chrome/browser/hid/hid_policy_allowed_devices.h"
+#include "chrome/browser/hid/hid_policy_allowed_devices_factory.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/grit/generated_resources.h"
 #include "components/content_settings/core/common/content_settings_types.h"
@@ -233,7 +233,7 @@
   }
 
   if (CanApplyPolicy()) {
-    auto* policy = g_browser_process->hid_policy_allowed_devices();
+    auto* policy = HidPolicyAllowedDevicesFactory::GetForProfile(profile_);
     for (const auto& entry : policy->device_policy()) {
       if (!base::Contains(entry.second, origin))
         continue;
@@ -311,7 +311,7 @@
   }
 
   if (CanApplyPolicy()) {
-    auto* policy = g_browser_process->hid_policy_allowed_devices();
+    auto* policy = HidPolicyAllowedDevicesFactory::GetForProfile(profile_);
     for (const auto& entry : policy->device_policy()) {
       auto object =
           VendorAndProductIdsToValue(entry.first.first, entry.first.second);
@@ -463,8 +463,8 @@
   }
 
   if (CanApplyPolicy() &&
-      g_browser_process->hid_policy_allowed_devices()->HasDevicePermission(
-          origin, device)) {
+      HidPolicyAllowedDevicesFactory::GetForProfile(profile_)
+          ->HasDevicePermission(origin, device)) {
     return true;
   }
 
diff --git a/chrome/browser/hid/hid_chooser_context_unittest.cc b/chrome/browser/hid/hid_chooser_context_unittest.cc
index 5a9e0e6..74b0b55 100644
--- a/chrome/browser/hid/hid_chooser_context_unittest.cc
+++ b/chrome/browser/hid/hid_chooser_context_unittest.cc
@@ -37,6 +37,7 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h"
+#include "chromeos/ash/components/browser_context_helper/browser_context_types.h"
 #include "components/account_id/account_id.h"
 #include "components/user_manager/scoped_user_manager.h"
 #endif
@@ -52,6 +53,7 @@
 constexpr char kTestSerialNumber[] = "serial-number";
 constexpr char kTestProductName[] = "product-name";
 constexpr char kTestPhysicalDeviceId[] = "physical-device-id";
+constexpr char kTestUserEmail[] = "user@example.com";
 
 // The HID usages assigned to the top-level collection of the simulated device.
 constexpr uint16_t kTestUsagePage = device::mojom::kPageGenericDesktop;
@@ -67,7 +69,7 @@
   ~HidChooserContextTestBase() = default;
 
   void DoSetUp(bool is_affiliated, bool login_user) {
-    constexpr char kTestUserEmail[] = "user@example.com";
+    auto* profile_name = kTestUserEmail;
 #if BUILDFLAG(IS_CHROMEOS_ASH)
     if (login_user) {
       constexpr char kTestUserGaiaId[] = "1111111111";
@@ -80,13 +82,15 @@
           AccountId::FromUserEmailGaiaId(kTestUserEmail, kTestUserGaiaId);
       fake_user_manager_ptr->AddUserWithAffiliation(account_id, is_affiliated);
       fake_user_manager_ptr->LoginUser(account_id);
+    } else {
+      profile_name = ash::kSigninBrowserContextBaseName;
     }
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
     testing_profile_manager_ = std::make_unique<TestingProfileManager>(
         TestingBrowserProcess::GetGlobal());
     ASSERT_TRUE(testing_profile_manager_->SetUp());
-    profile_ = testing_profile_manager_->CreateTestingProfile(kTestUserEmail);
+    profile_ = testing_profile_manager_->CreateTestingProfile(profile_name);
     ASSERT_TRUE(profile_);
 
     mojo::PendingRemote<device::mojom::HidManager> hid_manager;
@@ -271,6 +275,12 @@
         prefs::kManagedWebHidAllowDevicesForUrls, ParseJson(policy));
   }
 
+  void SetAllowDevicesForUrlsOnLoginScreenPolicy(base::StringPiece policy) {
+    testing_profile_manager_->local_state()->Get()->SetManagedPref(
+        prefs::kManagedWebHidAllowDevicesForUrlsOnLoginScreen,
+        ParseJson(policy));
+  }
+
   void SetAllowDevicesWithHidUsagesForUrlsPolicy(base::StringPiece policy) {
     testing_profile_manager_->local_state()->Get()->SetManagedPref(
         prefs::kManagedWebHidAllowDevicesWithHidUsagesForUrls,
@@ -1240,15 +1250,24 @@
   // Connect a device.
   auto device = ConnectPersistentUsbDeviceBlocking();
 
-  // Set the AllowDevicesForUrls policy
-  SetAllowDevicesForUrlsPolicy(R"(
+  // Set the DeviceLoginScreenWebHidAllowDevicesForUrls policy
+  SetAllowDevicesForUrlsOnLoginScreenPolicy(R"(
       [
         {
           "devices": [{ "vendor_id": 4660, "product_id": 43981 }],
           "urls": [ "https://google.com" ]
         }
       ])");
+
+  // The policy has an effect only for IS_CHROMEOS_ASH build, otherwise it is
+  // ignored.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
   EXPECT_TRUE(context()->HasDevicePermission(kOrigin, *device));
   EXPECT_EQ(1u, context()->GetGrantedObjects(kOrigin).size());
   EXPECT_EQ(1u, context()->GetAllGrantedObjects().size());
+#else
+  EXPECT_FALSE(context()->HasDevicePermission(kOrigin, *device));
+  EXPECT_EQ(0u, context()->GetGrantedObjects(kOrigin).size());
+  EXPECT_EQ(0u, context()->GetAllGrantedObjects().size());
+#endif
 }
diff --git a/chrome/browser/hid/hid_policy_allowed_devices.cc b/chrome/browser/hid/hid_policy_allowed_devices.cc
index cd44679..c513150a 100644
--- a/chrome/browser/hid/hid_policy_allowed_devices.cc
+++ b/chrome/browser/hid/hid_policy_allowed_devices.cc
@@ -29,7 +29,12 @@
 
 }  // namespace
 
-HidPolicyAllowedDevices::HidPolicyAllowedDevices(PrefService* pref_service) {
+HidPolicyAllowedDevices::HidPolicyAllowedDevices(PrefService* pref_service,
+                                                 bool on_login_screen)
+    : allow_devices_for_urls_pref_name_(
+          on_login_screen
+              ? prefs::kManagedWebHidAllowDevicesForUrlsOnLoginScreen
+              : prefs::kManagedWebHidAllowDevicesForUrls) {
   pref_change_registrar_.Init(pref_service);
   // The lifetime of |pref_change_registrar_| is managed by this class so it is
   // safe to use base::Unretained here.
@@ -39,7 +44,7 @@
           &HidPolicyAllowedDevices::LoadAllowAllDevicesForUrlsPolicy,
           base::Unretained(this)));
   pref_change_registrar_.Add(
-      prefs::kManagedWebHidAllowDevicesForUrls,
+      allow_devices_for_urls_pref_name_,
       base::BindRepeating(
           &HidPolicyAllowedDevices::LoadAllowDevicesForUrlsPolicy,
           base::Unretained(this)));
@@ -62,6 +67,8 @@
   registry->RegisterListPref(prefs::kManagedWebHidAllowAllDevicesForUrls);
   registry->RegisterListPref(prefs::kManagedWebHidAllowDevicesForUrls);
   registry->RegisterListPref(
+      prefs::kManagedWebHidAllowDevicesForUrlsOnLoginScreen);
+  registry->RegisterListPref(
       prefs::kManagedWebHidAllowDevicesWithHidUsagesForUrls);
 }
 
@@ -121,7 +128,7 @@
   vendor_policy_.clear();
 
   const auto& pref_value = pref_change_registrar_.prefs()->GetList(
-      prefs::kManagedWebHidAllowDevicesForUrls);
+      allow_devices_for_urls_pref_name_);
 
   // The pref value has already been validated by the policy handler, so it is
   // safe to assume that |pref_value| follows the policy template.
diff --git a/chrome/browser/hid/hid_policy_allowed_devices.h b/chrome/browser/hid/hid_policy_allowed_devices.h
index 59e9962..c8d0ecbc 100644
--- a/chrome/browser/hid/hid_policy_allowed_devices.h
+++ b/chrome/browser/hid/hid_policy_allowed_devices.h
@@ -7,7 +7,9 @@
 
 #include <map>
 #include <set>
+#include <string>
 
+#include "components/keyed_service/core/keyed_service.h"
 #include "components/prefs/pref_change_registrar.h"
 #include "url/origin.h"
 
@@ -19,12 +21,13 @@
 class PrefService;
 
 // This class is used to maintain and interpret the
-// WebHidAllowAllDevicesForUrls, WebHidAllowDevicesForUrls, and
+// WebHidAllowAllDevicesForUrls, WebHidAllowDevicesForUrls,
+// DeviceLoginScreenWebHidAllowDevicesForUrls, and
 // WebHidAllowDevicesWithHidUsagesForUrls policies.
 //
 // A PrefChangeRegistrar is used to observe changes to the preference values so
 // that the policy can be updated in real-time.
-class HidPolicyAllowedDevices {
+class HidPolicyAllowedDevices : public KeyedService {
  public:
   using OriginSet = std::set<url::Origin>;
   using VendorPolicyMap = std::map<uint16_t, OriginSet>;
@@ -32,10 +35,11 @@
   using UsagePagePolicyMap = std::map<uint16_t, OriginSet>;
   using UsagePolicyMap = std::map<std::pair<uint16_t, uint16_t>, OriginSet>;
 
-  explicit HidPolicyAllowedDevices(PrefService* pref_service);
+  explicit HidPolicyAllowedDevices(PrefService* pref_service,
+                                   bool on_login_screen);
   HidPolicyAllowedDevices(const HidPolicyAllowedDevices&) = delete;
   HidPolicyAllowedDevices& operator=(const HidPolicyAllowedDevices&) = delete;
-  ~HidPolicyAllowedDevices();
+  ~HidPolicyAllowedDevices() override;
 
   static void RegisterLocalStatePrefs(PrefRegistrySimple* registry);
 
@@ -56,6 +60,10 @@
   void LoadAllowDevicesForUrlsPolicy();
   void LoadAllowDevicesWithHidUsagesForUrlsPolicy();
 
+  // Stores the name of a pref that should be used by the class. It can either
+  // be the login screen or the in-session pref.
+  const std::string allow_devices_for_urls_pref_name_;
+
   PrefChangeRegistrar pref_change_registrar_;
 
   // Stores the current policy configuration for origins allowed to access any
diff --git a/chrome/browser/hid/hid_policy_allowed_devices_factory.cc b/chrome/browser/hid/hid_policy_allowed_devices_factory.cc
new file mode 100644
index 0000000..8be73285
--- /dev/null
+++ b/chrome/browser/hid/hid_policy_allowed_devices_factory.cc
@@ -0,0 +1,50 @@
+// 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/hid/hid_policy_allowed_devices_factory.h"
+
+#include "base/no_destructor.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/hid/hid_chooser_context_factory.h"
+#include "chrome/browser/hid/hid_policy_allowed_devices.h"
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "chromeos/ash/components/browser_context_helper/browser_context_types.h"
+#endif
+
+// static
+HidPolicyAllowedDevices* HidPolicyAllowedDevicesFactory::GetForProfile(
+    Profile* profile) {
+  return static_cast<HidPolicyAllowedDevices*>(
+      GetInstance()->GetServiceForBrowserContext(profile, /*create=*/true));
+}
+
+// static
+HidPolicyAllowedDevicesFactory* HidPolicyAllowedDevicesFactory::GetInstance() {
+  static base::NoDestructor<HidPolicyAllowedDevicesFactory> factory;
+  return factory.get();
+}
+
+HidPolicyAllowedDevicesFactory::HidPolicyAllowedDevicesFactory()
+    : ProfileKeyedServiceFactory(
+          "HidPolicyAllowedDevices",
+          ProfileSelections::Builder()
+              .WithRegular(ProfileSelection::kOwnInstance)
+              // TODO(crbug.com/1418376): Check if this service is needed in
+              // Guest mode.
+              .WithGuest(ProfileSelection::kOwnInstance)
+              .Build()) {
+  DependsOn(HidChooserContextFactory::GetInstance());
+}
+
+std::unique_ptr<KeyedService>
+HidPolicyAllowedDevicesFactory::BuildServiceInstanceForBrowserContext(
+    content::BrowserContext* context) const {
+  bool on_login_screen = false;
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  on_login_screen = !ash::IsUserBrowserContext(context);
+#endif
+  return std::make_unique<HidPolicyAllowedDevices>(
+      g_browser_process->local_state(), on_login_screen);
+}
diff --git a/chrome/browser/hid/hid_policy_allowed_devices_factory.h b/chrome/browser/hid/hid_policy_allowed_devices_factory.h
new file mode 100644
index 0000000..5827e91
--- /dev/null
+++ b/chrome/browser/hid/hid_policy_allowed_devices_factory.h
@@ -0,0 +1,37 @@
+// 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_HID_HID_POLICY_ALLOWED_DEVICES_FACTORY_H_
+#define CHROME_BROWSER_HID_HID_POLICY_ALLOWED_DEVICES_FACTORY_H_
+
+#include "base/no_destructor.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_keyed_service_factory.h"
+#include "components/keyed_service/core/keyed_service.h"
+#include "content/public/browser/browser_context.h"
+
+class HidPolicyAllowedDevices;
+
+class HidPolicyAllowedDevicesFactory : public ProfileKeyedServiceFactory {
+ public:
+  static HidPolicyAllowedDevices* GetForProfile(Profile* profile);
+  static HidPolicyAllowedDevicesFactory* GetInstance();
+
+  HidPolicyAllowedDevicesFactory(const HidPolicyAllowedDevicesFactory&) =
+      delete;
+  HidPolicyAllowedDevicesFactory& operator=(
+      const HidPolicyAllowedDevicesFactory&) = delete;
+
+ private:
+  friend class base::NoDestructor<HidPolicyAllowedDevicesFactory>;
+
+  HidPolicyAllowedDevicesFactory();
+  ~HidPolicyAllowedDevicesFactory() override = default;
+
+  // BrowserContextKeyedServiceFactory:
+  std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
+      content::BrowserContext* context) const override;
+};
+
+#endif  // CHROME_BROWSER_HID_HID_POLICY_ALLOWED_DEVICES_FACTORY_H_
diff --git a/chrome/browser/hid/hid_policy_allowed_devices_unittest.cc b/chrome/browser/hid/hid_policy_allowed_devices_unittest.cc
index 2d72037..98344cc 100644
--- a/chrome/browser/hid/hid_policy_allowed_devices_unittest.cc
+++ b/chrome/browser/hid/hid_policy_allowed_devices_unittest.cc
@@ -33,9 +33,10 @@
 
   ~HidPolicyAllowedDevicesTest() override = default;
 
-  void InitializePolicy() {
+  void InitializePolicy(bool on_login_screen = false) {
     EXPECT_FALSE(policy_);
-    policy_ = std::make_unique<HidPolicyAllowedDevices>(&local_state_);
+    policy_ = std::make_unique<HidPolicyAllowedDevices>(&local_state_,
+                                                        on_login_screen);
   }
 
   void SetAllowDevicesForUrlsPrefValue(base::StringPiece policy) {
@@ -43,6 +44,11 @@
                      ParseJson(policy));
   }
 
+  void SetAllowDevicesForUrlsOnLoginScreenPrefValue(base::StringPiece policy) {
+    local_state_.Set(prefs::kManagedWebHidAllowDevicesForUrlsOnLoginScreen,
+                     ParseJson(policy));
+  }
+
   void SetAllowDevicesWithHidUsagesForUrlsPrefValue(base::StringPiece policy) {
     local_state_.Set(prefs::kManagedWebHidAllowDevicesWithHidUsagesForUrls,
                      ParseJson(policy));
@@ -89,6 +95,7 @@
 
 TEST_F(HidPolicyAllowedDevicesTest, InitializeWithExistingEmptyPrefValue) {
   SetAllowDevicesForUrlsPrefValue("[]");
+  SetAllowDevicesForUrlsOnLoginScreenPrefValue("[]");
   SetAllowDevicesWithHidUsagesForUrlsPrefValue("[]");
   SetAllowAllDevicesForUrlsPrefValue("[]");
 
@@ -291,6 +298,52 @@
   EXPECT_TRUE(policy()->HasDevicePermission(kOrigin3, *device));
 }
 
+TEST_F(HidPolicyAllowedDevicesTest,
+       InitializeWithMissingPrefValuesThenUpdateOnLoginScreen) {
+  const auto kOrigin1 = url::Origin::Create(GURL("https://origin1"));
+  const auto kOrigin2 = url::Origin::Create(GURL("https://origin2"));
+
+  InitializePolicy(/*on_login_screen=*/true);
+
+  EXPECT_EQ(0u, policy()->device_policy().size());
+  EXPECT_EQ(0u, policy()->vendor_policy().size());
+  EXPECT_EQ(0u, policy()->usage_page_policy().size());
+  EXPECT_EQ(0u, policy()->usage_policy().size());
+  EXPECT_EQ(0u, policy()->all_devices_policy().size());
+
+  SetAllowDevicesForUrlsOnLoginScreenPrefValue(kAllowDevicesForUrls);
+
+  EXPECT_EQ(1u, policy()->device_policy().size());
+  EXPECT_EQ(1u, policy()->vendor_policy().size());
+  EXPECT_EQ(0u, policy()->usage_page_policy().size());
+  EXPECT_EQ(0u, policy()->usage_policy().size());
+  EXPECT_EQ(0u, policy()->all_devices_policy().size());
+
+  const auto device_key = std::make_pair(kTestVendorId1, kTestProductId1);
+  ASSERT_TRUE(base::Contains(policy()->device_policy(), device_key));
+  EXPECT_THAT(policy()->device_policy().at(device_key),
+              UnorderedElementsAre(kOrigin1));
+
+  ASSERT_TRUE(base::Contains(policy()->vendor_policy(), kTestVendorId2));
+  EXPECT_THAT(policy()->vendor_policy().at(kTestVendorId2),
+              UnorderedElementsAre(kOrigin1));
+
+  auto device = CreateAndAddDevice(kTestVendorId1, kTestProductId1,
+                                   /*usage_page=*/0xff00, /*usage=*/1);
+  EXPECT_TRUE(policy()->HasDevicePermission(kOrigin1, *device));
+  EXPECT_FALSE(policy()->HasDevicePermission(kOrigin2, *device));
+
+  device = CreateAndAddDevice(kTestVendorId1, kTestProductId2,
+                              /*usage_page=*/0xff00, /*usage=*/1);
+  EXPECT_FALSE(policy()->HasDevicePermission(kOrigin1, *device));
+  EXPECT_FALSE(policy()->HasDevicePermission(kOrigin2, *device));
+
+  device = CreateAndAddDevice(kTestVendorId2, kTestProductId2,
+                              /*usage_page=*/0xff00, /*usage=*/1);
+  EXPECT_TRUE(policy()->HasDevicePermission(kOrigin1, *device));
+  EXPECT_FALSE(policy()->HasDevicePermission(kOrigin2, *device));
+}
+
 TEST_F(HidPolicyAllowedDevicesTest, InitializeWithPrefValuesThenRemovePolicy) {
   SetAllowDevicesForUrlsPrefValue(kAllowDevicesForUrls);
   SetAllowDevicesWithHidUsagesForUrlsPrefValue(
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_browsertest.cc b/chrome/browser/navigation_predictor/navigation_predictor_browsertest.cc
index 93c8c2a..d721f529f 100644
--- a/chrome/browser/navigation_predictor/navigation_predictor_browsertest.cc
+++ b/chrome/browser/navigation_predictor/navigation_predictor_browsertest.cc
@@ -486,8 +486,10 @@
 }
 
 // Tests that the browser counts anchors from anywhere on the page.
-// TODO(crbug.com/1415981): Flaky on Windows ASAN.
-#if BUILDFLAG(IS_WIN)
+// TODO(crbug.com/1415981): Flaky on Windows ASAN and Linux ASan and
+// linux-chromeos-dbg.
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
+    (BUILDFLAG(IS_CHROMEOS) && !defined(NDEBUG))
 #define MAYBE_ViewportOnlyAndUrlIncrementByOne \
   DISABLED_ViewportOnlyAndUrlIncrementByOne
 #else
diff --git a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
index 808118d..85ead9b 100644
--- a/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
+++ b/chrome/browser/password_check/android/javatests/src/org/chromium/chrome/browser/password_check/PasswordCheckViewTest.java
@@ -57,7 +57,6 @@
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
-import android.os.Build;
 import android.os.Bundle;
 import android.util.Pair;
 import android.view.View;
@@ -82,7 +81,6 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Criteria;
 import org.chromium.base.test.util.CriteriaHelper;
-import org.chromium.base.test.util.DisableIf;
 import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.ScalableTimeout;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
@@ -565,15 +563,12 @@
                         not(is(mPasswordCheckView.getActivity().getWindow().getDecorView()))))
                 .perform(click());
 
-        verify(mMockHandler).onEdit(eq(ANA), eq(mPasswordCheckView.getContext()));
+        waitForEvent(mMockHandler).onEdit(eq(ANA), eq(mPasswordCheckView.getContext()));
     }
 
     @Test
     @MediumTest
-    @DisableIf.Build(sdk_is_greater_than = Build.VERSION_CODES.R,
-            sdk_is_less_than = Build.VERSION_CODES.TIRAMISU)
-    public void
-    testClickingDeleteInMoreMenuTriggersHandler() {
+    public void testClickingDeleteInMoreMenuTriggersHandler() {
         runOnUiThreadBlocking(() -> mModel.get(ITEMS).add(buildCredentialItem(ANA)));
         waitForListViewToHaveLength(1);
 
@@ -584,7 +579,7 @@
                         not(is(mPasswordCheckView.getActivity().getWindow().getDecorView()))))
                 .perform(click());
 
-        verify(mMockHandler).onRemove(eq(ANA));
+        waitForEvent(mMockHandler).onRemove(eq(ANA));
     }
 
     @Test
@@ -600,7 +595,7 @@
                         not(is(mPasswordCheckView.getActivity().getWindow().getDecorView()))))
                 .perform(click());
 
-        verify(mMockHandler).onView(eq(ANA));
+        waitForEvent(mMockHandler).onView(eq(ANA));
     }
 
     @Test
diff --git a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc
index eeef84bb..0bbe41e 100644
--- a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc
+++ b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.h"
 
 #include "base/containers/cxx20_erase.h"
+#include "chrome/browser/password_manager/android/local_passwords_migration_warning_util.h"
 #include "chrome/browser/password_manager/chrome_password_manager_client.h"
 #include "chrome/browser/safe_browsing/chrome_password_reuse_detection_manager_client.h"
 #include "chrome/browser/ui/android/passwords/all_passwords_bottom_sheet_view.h"
@@ -19,6 +20,8 @@
 #include "components/password_manager/core/browser/password_store_interface.h"
 #include "components/password_manager/core/common/password_manager_features.h"
 #include "content/public/browser/web_contents.h"
+#include "ui/android/window_android.h"
+#include "ui/gfx/native_widget_types.h"
 
 using autofill::mojom::FocusedFieldType;
 using password_manager::PasswordManagerClient;
@@ -27,6 +30,7 @@
 // No-op constructor for tests.
 AllPasswordsBottomSheetController::AllPasswordsBottomSheetController(
     base::PassKey<class AllPasswordsBottomSheetControllerTest>,
+    content::WebContents* web_contents,
     std::unique_ptr<AllPasswordsBottomSheetView> view,
     base::WeakPtr<password_manager::PasswordManagerDriver> driver,
     password_manager::PasswordStoreInterface* store,
@@ -34,15 +38,19 @@
     FocusedFieldType focused_field_type,
     PasswordManagerClient* client,
     PasswordReuseDetectionManagerClient*
-        password_reuse_detection_manager_client)
+        password_reuse_detection_manager_client,
+    ShowMigrationWarningCallback show_migration_warning_callback)
     : view_(std::move(view)),
+      web_contents_(web_contents),
       store_(store),
       dismissal_callback_(std::move(dismissal_callback)),
       driver_(std::move(driver)),
       focused_field_type_(focused_field_type),
       client_(client),
       password_reuse_detection_manager_client_(
-          password_reuse_detection_manager_client) {}
+          password_reuse_detection_manager_client),
+      show_migration_warning_callback_(
+          std::move(show_migration_warning_callback)) {}
 
 AllPasswordsBottomSheetController::AllPasswordsBottomSheetController(
     content::WebContents* web_contents,
@@ -53,7 +61,9 @@
       web_contents_(web_contents),
       store_(store),
       dismissal_callback_(std::move(dismissal_callback)),
-      focused_field_type_(focused_field_type) {
+      focused_field_type_(focused_field_type),
+      show_migration_warning_callback_(
+          base::BindRepeating(&password_manager::ShowWarning)) {
   DCHECK(web_contents_);
   DCHECK(store_);
   DCHECK(dismissal_callback_);
@@ -127,6 +137,13 @@
   } else if (!requests_to_fill_password) {
     driver_->FillIntoFocusedField(is_password_field, username);
   }
+  if (base::FeatureList::IsEnabled(
+          password_manager::features::
+              kUnifiedPasswordManagerLocalPasswordsMigrationWarning)) {
+    show_migration_warning_callback_.Run(
+        web_contents_->GetTopLevelNativeWindow());
+  }
+
   // Consumes the dismissal callback to destroy the native controller and java
   // controller after the user selects a credential.
   OnDismiss();
diff --git a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.h b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.h
index 701ecde..99eaeb58 100644
--- a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.h
+++ b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.h
@@ -37,9 +37,12 @@
  public:
   using RequestsToFillPassword =
       base::StrongAlias<struct RequestsToFillPasswordTag, bool>;
+  using ShowMigrationWarningCallback =
+      base::RepeatingCallback<void(gfx::NativeWindow)>;
   // No-op constructor for tests.
   AllPasswordsBottomSheetController(
       base::PassKey<class AllPasswordsBottomSheetControllerTest>,
+      content::WebContents* web_contents,
       std::unique_ptr<AllPasswordsBottomSheetView> view,
       base::WeakPtr<password_manager::PasswordManagerDriver> driver,
       password_manager::PasswordStoreInterface* store,
@@ -47,7 +50,8 @@
       autofill::mojom::FocusedFieldType focused_field_type,
       password_manager::PasswordManagerClient* client,
       safe_browsing::PasswordReuseDetectionManagerClient*
-          password_reuse_detection_manager_client);
+          password_reuse_detection_manager_client,
+      ShowMigrationWarningCallback show_migration_warning_callback);
 
   AllPasswordsBottomSheetController(
       content::WebContents* web_contents,
@@ -125,6 +129,10 @@
   raw_ptr<safe_browsing::PasswordReuseDetectionManagerClient>
       password_reuse_detection_manager_client_ = nullptr;
 
+  // Callback invoked to try to show the password migration warning. Used
+  // to facilitate testing.
+  ShowMigrationWarningCallback show_migration_warning_callback_;
+
   base::WeakPtrFactory<AllPasswordsBottomSheetController> weak_ptr_factory_{
       this};
 };
diff --git a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller_unittest.cc b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller_unittest.cc
index a90c1ee..2521509 100644
--- a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller_unittest.cc
+++ b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller_unittest.cc
@@ -12,6 +12,7 @@
 #include "base/types/pass_key.h"
 #include "chrome/browser/password_manager/password_manager_test_util.h"
 #include "chrome/browser/ui/android/passwords/all_passwords_bottom_sheet_view.h"
+#include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chrome/test/base/testing_profile.h"
 #include "components/autofill/core/common/mojom/autofill_types.mojom-forward.h"
 #include "components/device_reauth/device_authenticator.h"
@@ -116,15 +117,21 @@
   return form;
 }
 
-class AllPasswordsBottomSheetControllerTest : public testing::Test {
+class AllPasswordsBottomSheetControllerTest
+    : public ChromeRenderViewHostTestHarness {
  protected:
   AllPasswordsBottomSheetControllerTest() {
-    createAllPasswordsController(FocusedFieldType::kFillablePasswordField);
-
     scoped_feature_list_.InitAndEnableFeature(
         password_manager::features::kBiometricTouchToFill);
   }
 
+  void SetUp() override {
+    ChromeRenderViewHostTestHarness::SetUp();
+    store_ = CreateAndUseTestPasswordStore(profile());
+    store_->Init(/*prefs=*/nullptr, /*affiliated_match_helper=*/nullptr);
+    createAllPasswordsController(FocusedFieldType::kFillablePasswordField);
+  }
+
   void createAllPasswordsController(
       autofill::mojom::FocusedFieldType focused_field_type) {
     std::unique_ptr<MockAllPasswordsBottomSheetView> mock_view_unique_ptr =
@@ -133,10 +140,16 @@
     all_passwords_controller_ =
         std::make_unique<AllPasswordsBottomSheetController>(
             base::PassKey<AllPasswordsBottomSheetControllerTest>(),
-            std::move(mock_view_unique_ptr), driver_.AsWeakPtr(), store_.get(),
-            dissmissal_callback_.Get(), focused_field_type,
-            mock_pwd_manager_client_.get(),
-            mock_pwd_reuse_detection_manager_client_.get());
+            web_contents(), std::move(mock_view_unique_ptr),
+            driver_.AsWeakPtr(), store_.get(), dissmissal_callback_.Get(),
+            focused_field_type, mock_pwd_manager_client_.get(),
+            mock_pwd_reuse_detection_manager_client_.get(),
+            show_migration_warning_callback_.Get());
+  }
+
+  void TearDown() override {
+    store_->ShutdownOnUIThread();
+    ChromeRenderViewHostTestHarness::TearDown();
   }
 
   MockPasswordManagerDriver& driver() { return driver_; }
@@ -151,7 +164,7 @@
 
   DismissCallback& dismissal_callback() { return dissmissal_callback_; }
 
-  void RunUntilIdle() { task_env_.RunUntilIdle(); }
+  void RunUntilIdle() { task_environment()->RunUntilIdle(); }
 
   MockPasswordManagerClient& client() {
     return *mock_pwd_manager_client_.get();
@@ -166,12 +179,16 @@
     return *mock_pwd_reuse_detection_manager_client_.get();
   }
 
+  base::MockCallback<
+      AllPasswordsBottomSheetController::ShowMigrationWarningCallback>&
+  show_migration_warning_callback() {
+    return show_migration_warning_callback_;
+  }
+
  private:
-  content::BrowserTaskEnvironment task_env_;
   MockPasswordManagerDriver driver_;
-  TestingProfile profile_;
-  scoped_refptr<TestPasswordStore> store_ =
-      CreateAndUseTestPasswordStore(&profile_);
+  scoped_refptr<TestPasswordStore> store_;
+
   raw_ptr<MockAllPasswordsBottomSheetView> mock_view_;
   DismissCallback dissmissal_callback_;
   std::unique_ptr<AllPasswordsBottomSheetController> all_passwords_controller_;
@@ -182,6 +199,9 @@
   std::unique_ptr<MockPasswordReuseDetectionManagerClient>
       mock_pwd_reuse_detection_manager_client_ =
           std::make_unique<MockPasswordReuseDetectionManagerClient>();
+  base::MockCallback<
+      AllPasswordsBottomSheetController::ShowMigrationWarningCallback>
+      show_migration_warning_callback_;
   base::test::ScopedFeatureList scoped_feature_list_;
 };
 
@@ -346,3 +366,37 @@
   all_passwords_controller()->OnCredentialSelected(
       kUsername1, kPassword, RequestsToFillPassword(true));
 }
+
+TEST_F(AllPasswordsBottomSheetControllerTest,
+       ShowMigrationWarningOnUsernameFillIfEnabled) {
+  base::test::ScopedFeatureList scoped_feature_list(
+      password_manager::features::
+          kUnifiedPasswordManagerLocalPasswordsMigrationWarning);
+  createAllPasswordsController(FocusedFieldType::kFillableUsernameField);
+  EXPECT_CALL(show_migration_warning_callback(), Run);
+  all_passwords_controller()->OnCredentialSelected(
+      kUsername1, kPassword, RequestsToFillPassword(false));
+}
+
+TEST_F(AllPasswordsBottomSheetControllerTest,
+       ShowMigrationWarningOnPasswordFillIfEnabled) {
+  base::test::ScopedFeatureList scoped_feature_list(
+      password_manager::features::
+          kUnifiedPasswordManagerLocalPasswordsMigrationWarning);
+  createAllPasswordsController(FocusedFieldType::kFillablePasswordField);
+  EXPECT_CALL(show_migration_warning_callback(), Run);
+  all_passwords_controller()->OnCredentialSelected(
+      kUsername1, kPassword, RequestsToFillPassword(true));
+}
+
+TEST_F(AllPasswordsBottomSheetControllerTest,
+       DoesntTriggersMigrationWarningIfDisabled) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndDisableFeature(
+      password_manager::features::
+          kUnifiedPasswordManagerLocalPasswordsMigrationWarning);
+  createAllPasswordsController(FocusedFieldType::kFillableUsernameField);
+  EXPECT_CALL(show_migration_warning_callback(), Run).Times(0);
+  all_passwords_controller()->OnCredentialSelected(
+      kUsername1, kPassword, RequestsToFillPassword(false));
+}
diff --git a/chrome/browser/password_manager/android/pwd_migration/java/res/layout/pwd_migration_warning.xml b/chrome/browser/password_manager/android/pwd_migration/java/res/layout/pwd_migration_warning.xml
index ac1bbbb..589fb1f 100644
--- a/chrome/browser/password_manager/android/pwd_migration/java/res/layout/pwd_migration_warning.xml
+++ b/chrome/browser/password_manager/android/pwd_migration/java/res/layout/pwd_migration_warning.xml
@@ -13,51 +13,57 @@
     android:orientation="vertical"
     android:id="@+id/pwd_migration_warning_sheet">
 
-  <ImageView
-      android:id="@+id/drag_handlebar"
-      android:layout_alignParentTop="true"
-      android:layout_centerHorizontal="true"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginHorizontal="@dimen/pwd_migration_warning_margin"
-      android:layout_marginVertical="6dp"
-      android:layout_gravity="center_horizontal"
-      android:importantForAccessibility="no"
-      app:srcCompat="@drawable/drag_handlebar" />
+    <ImageView
+        android:id="@+id/drag_handlebar"
+        android:layout_alignParentTop="true"
+        android:layout_centerHorizontal="true"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="@dimen/pwd_migration_warning_margin"
+        android:layout_marginVertical="6dp"
+        android:layout_gravity="center_horizontal"
+        android:importantForAccessibility="no"
+        app:srcCompat="@drawable/drag_handlebar" />
 
-  <LinearLayout
-      android:id="@+id/sheet_item_list"
-      android:layout_below="@id/drag_handlebar"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:layout_marginHorizontal="@dimen/pwd_migration_warning_margin"
-      android:clipToPadding="false"
-      android:divider="@null"
-      tools:listitem="@layout/touch_to_fill_credential_item_modern"
-      android:orientation="vertical">
-
-      <ImageView
-          android:id="@+id/touch_to_fill_sheet_header_image"
-          android:layout_width="@dimen/pwd_migration_warning_icon_size"
-          android:layout_height="@dimen/pwd_migration_warning_icon_size"
-          android:layout_gravity="center_horizontal"
-          android:layout_marginVertical="16dp"
-          android:importantForAccessibility="no"/>
-
-      <androidx.appcompat.widget.DialogTitle
-          android:id="@+id/touch_to_fill_sheet_title"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_marginBottom="16dp"
-          android:layout_gravity="center_horizontal"
-          android:textAlignment="center"
-          android:textAppearance="@style/TextAppearance.AlertDialogTitleStyle"
-          android:text="@string/password_migration_warning_title"/>
-
-      <androidx.fragment.app.FragmentContainerView
-        android:id="@+id/fragment_container_view"
+    <ScrollView
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_gravity="center_horizontal" />
-  </LinearLayout>
+        android:layout_height="wrap_content"
+        android:clickable="false"
+        android:layout_below="@id/drag_handlebar">
+
+        <LinearLayout
+            android:id="@+id/sheet_item_list"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginHorizontal="@dimen/pwd_migration_warning_margin"
+            android:clipToPadding="false"
+            android:divider="@null"
+            tools:listitem="@layout/touch_to_fill_credential_item_modern"
+            android:orientation="vertical">
+
+            <ImageView
+                android:id="@+id/touch_to_fill_sheet_header_image"
+                android:layout_width="@dimen/pwd_migration_warning_icon_size"
+                android:layout_height="@dimen/pwd_migration_warning_icon_size"
+                android:layout_gravity="center_horizontal"
+                android:layout_marginVertical="16dp"
+                android:importantForAccessibility="no"/>
+
+            <androidx.appcompat.widget.DialogTitle
+                android:id="@+id/touch_to_fill_sheet_title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="16dp"
+                android:layout_gravity="center_horizontal"
+                android:textAlignment="center"
+                android:textAppearance="@style/TextAppearance.AlertDialogTitleStyle"
+                android:text="@string/password_migration_warning_title"/>
+
+            <androidx.fragment.app.FragmentContainerView
+              android:id="@+id/fragment_container_view"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:layout_gravity="center_horizontal" />
+        </LinearLayout>
+    </ScrollView>
 </RelativeLayout>
diff --git a/chrome/browser/password_manager/android/pwd_migration/java/res/values/dimens.xml b/chrome/browser/password_manager/android/pwd_migration/java/res/values/dimens.xml
index cbaa6edc..768c5b7 100644
--- a/chrome/browser/password_manager/android/pwd_migration/java/res/values/dimens.xml
+++ b/chrome/browser/password_manager/android/pwd_migration/java/res/values/dimens.xml
@@ -10,4 +10,8 @@
     <dimen name="pwd_migration_warning_button_height">48dp</dimen>
     <dimen name="pwd_migration_warning_icon_size">32dp</dimen>
     <dimen name="pwd_migration_warning_button_spacing">12dp</dimen>
+
+    <!-- Sheet dimensions. -->
+    <dimen name="pwd_migration_warning_intro_fragment_height">364dp</dimen>
+    <dimen name="pwd_migration_warning_options_fragment_height">500dp</dimen>
 </resources>
diff --git a/chrome/browser/password_manager/android/pwd_migration/java/src/org/chromium/chrome/browser/pwd_migration/PasswordMigrationWarningView.java b/chrome/browser/password_manager/android/pwd_migration/java/src/org/chromium/chrome/browser/pwd_migration/PasswordMigrationWarningView.java
index ccadf78dd..cb3a3cf 100644
--- a/chrome/browser/password_manager/android/pwd_migration/java/src/org/chromium/chrome/browser/pwd_migration/PasswordMigrationWarningView.java
+++ b/chrome/browser/password_manager/android/pwd_migration/java/src/org/chromium/chrome/browser/pwd_migration/PasswordMigrationWarningView.java
@@ -11,6 +11,7 @@
 import android.widget.RelativeLayout;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.Px;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.content.res.AppCompatResources;
 import androidx.fragment.app.FragmentManager;
@@ -114,6 +115,8 @@
         if (getContentView().isShown()) {
             setFragment();
         }
+        // Makes sure the sheet is fully expanded.
+        mBottomSheetController.expandSheet();
     }
 
     private void setFragment() {
@@ -155,6 +158,17 @@
         return "";
     }
 
+    private @Px int getDesiredSheetHeightPx() {
+        if (mScreenType == ScreenType.INTRO_SCREEN) {
+            return getDimensionPixelSize(R.dimen.pwd_migration_warning_intro_fragment_height);
+        }
+        return getDimensionPixelSize(R.dimen.pwd_migration_warning_options_fragment_height);
+    }
+
+    private @Px int getDimensionPixelSize(int id) {
+        return mContentView.getContext().getResources().getDimensionPixelSize(id);
+    }
+
     @Nullable
     @Override
     public View getContentView() {
@@ -208,6 +222,12 @@
     }
 
     @Override
+    public float getFullHeightRatio() {
+        return Math.min(getDesiredSheetHeightPx(), mBottomSheetController.getContainerHeight())
+                / (float) mBottomSheetController.getContainerHeight();
+    }
+
+    @Override
     public float getHalfHeightRatio() {
         return HeightMode.DISABLED;
     }
@@ -216,4 +236,9 @@
     public int getPeekHeight() {
         return HeightMode.DISABLED;
     }
+
+    @Override
+    public boolean hideOnScroll() {
+        return false;
+    }
 }
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 25982f80..1bf64c6f 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -2152,6 +2152,11 @@
   handlers->AddHandler(std::make_unique<WebHidDevicePolicyHandler>(
       key::kWebHidAllowDevicesForUrls, prefs::kManagedWebHidAllowDevicesForUrls,
       chrome_schema));
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  handlers->AddHandler(std::make_unique<WebHidDevicePolicyHandler>(
+      key::kDeviceLoginScreenWebHidAllowDevicesForUrls,
+      prefs::kManagedWebHidAllowDevicesForUrlsOnLoginScreen, chrome_schema));
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
   handlers->AddHandler(std::make_unique<WebHidDevicePolicyHandler>(
       key::kWebHidAllowDevicesWithHidUsagesForUrls,
       prefs::kManagedWebHidAllowDevicesWithHidUsagesForUrls, chrome_schema));
diff --git a/chrome/browser/policy/webhid_device_policy_handler.h b/chrome/browser/policy/webhid_device_policy_handler.h
index e181830..1daafd4 100644
--- a/chrome/browser/policy/webhid_device_policy_handler.h
+++ b/chrome/browser/policy/webhid_device_policy_handler.h
@@ -13,7 +13,8 @@
 
 class PolicyMap;
 
-// Handles the WebHidAllowDevicesForUrls and
+// Handles the WebHidAllowDevicesForUrls,
+// DeviceLoginScreenWebHidAllowDevicesForUrls, and
 // WebHidAllowDevicesWithHidUsagesForUrls policies.
 class WebHidDevicePolicyHandler : public SchemaValidatingPolicyHandler {
  public:
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 6adbc42..f5d371f0c 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -883,6 +883,11 @@
 // Deprecated 06/2023.
 const char kWebAppsExtensionIDs[] = "web_apps.extension_ids";
 
+// Deprecated 06/2023.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+constexpr char kOsSyncPrefsMigrated[] = "sync.os_sync_prefs_migrated";
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
 // Register local state used only for migration (clearing or moving to a new
 // key).
 void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
@@ -1255,6 +1260,11 @@
 
   // Deprecated 06/2023.
   registry->RegisterDictionaryPref(kWebAppsExtensionIDs);
+
+  // Deprecated 06/2023.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  registry->RegisterBooleanPref(kOsSyncPrefsMigrated, false);
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 }
 
 }  // namespace
@@ -2360,6 +2370,11 @@
   // Added 06/2023.
   profile_prefs->ClearPref(kWebAppsExtensionIDs);
 
+  // Added 06/2023.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  profile_prefs->ClearPref(kOsSyncPrefsMigrated);
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
   // Please don't delete the following line. It is used by PRESUBMIT.py.
   // END_MIGRATE_OBSOLETE_PROFILE_PREFS
 
diff --git a/chrome/browser/printing/system_access_process_print_browsertest.cc b/chrome/browser/printing/system_access_process_print_browsertest.cc
index b2a727b8..73c39de 100644
--- a/chrome/browser/printing/system_access_process_print_browsertest.cc
+++ b/chrome/browser/printing/system_access_process_print_browsertest.cc
@@ -47,10 +47,10 @@
 #endif
 
 #if BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/common.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #endif  // BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
 
 #if BUILDFLAG(IS_CHROMEOS)
@@ -2162,7 +2162,7 @@
         policy::DMToken::CreateValidToken(kFakeDmToken));
     enterprise_connectors::ContentAnalysisDelegate::SetFactoryForTesting(
         base::BindRepeating(
-            &enterprise_connectors::FakeContentAnalysisDelegate::Create,
+            &enterprise_connectors::test::FakeContentAnalysisDelegate::Create,
             base::DoNothing(),
             base::BindRepeating(
                 &ContentAnalysisPrintBrowserTest::ScanningResponse,
@@ -2179,7 +2179,7 @@
   }
 
   void SetUpOnMainThread() override {
-    safe_browsing::SetAnalysisConnector(
+    enterprise_connectors::test::SetAnalysisConnector(
         browser()->profile()->GetPrefs(),
         enterprise_connectors::AnalysisConnector::PRINT,
         R"({
@@ -2483,8 +2483,16 @@
   ASSERT_EQ(new_document_called_count(), 0);
 }
 
+// Test is flaky on linux-ubsan-vptr for the parameters where
+// `!content_analysis_allows_print()`.
+// TODO(crbug.com/1454426): Re-enabled when fixed.
+#if defined(UNDEFINED_SANITIZER)
+#define MAYBE_SystemPrintFromPrintPreview DISABLED_SystemPrintFromPrintPreview
+#else
+#define MAYBE_SystemPrintFromPrintPreview SystemPrintFromPrintPreview
+#endif
 IN_PROC_BROWSER_TEST_P(ContentAnalysisPrintBrowserTest,
-                       SystemPrintFromPrintPreview) {
+                       MAYBE_SystemPrintFromPrintPreview) {
   AddPrinter("printer_name");
 
   ASSERT_TRUE(embedded_test_server()->Started());
diff --git a/chrome/browser/private_network_access/chrome_private_network_device_delegate.cc b/chrome/browser/private_network_access/chrome_private_network_device_delegate.cc
index 10e49c9c..e36a54c 100644
--- a/chrome/browser/private_network_access/chrome_private_network_device_delegate.cc
+++ b/chrome/browser/private_network_access/chrome_private_network_device_delegate.cc
@@ -20,7 +20,7 @@
 ChromePrivateNetworkDeviceDelegate::RunChooser(
     content::RenderFrameHost& frame,
     std::unique_ptr<blink::mojom::PrivateNetworkDevice> device,
-    const ChromePrivateNetworkDeviceChooser::EventHandler& event_handler) {
+    ChromePrivateNetworkDeviceChooser::EventHandler event_handler) {
   auto controller = std::make_unique<PrivateNetworkDeviceChooserController>(
       &frame, std::move(device), std::move(event_handler));
 #if BUILDFLAG(IS_ANDROID)
diff --git a/chrome/browser/private_network_access/chrome_private_network_device_delegate.h b/chrome/browser/private_network_access/chrome_private_network_device_delegate.h
index f9cafe9..3ea8452 100644
--- a/chrome/browser/private_network_access/chrome_private_network_device_delegate.h
+++ b/chrome/browser/private_network_access/chrome_private_network_device_delegate.h
@@ -49,7 +49,7 @@
   std::unique_ptr<ChromePrivateNetworkDeviceChooser> RunChooser(
       content::RenderFrameHost& frame,
       std::unique_ptr<blink::mojom::PrivateNetworkDevice> device,
-      const ChromePrivateNetworkDeviceChooser::EventHandler& event_handler);
+      ChromePrivateNetworkDeviceChooser::EventHandler event_handler);
 
   // Functions to manage the set of Observer instances registered to this
   // object.
diff --git a/chrome/browser/private_network_access/private_network_device_chooser_controller.cc b/chrome/browser/private_network_access/private_network_device_chooser_controller.cc
index ef24b2b..0a1b06b 100644
--- a/chrome/browser/private_network_access/private_network_device_chooser_controller.cc
+++ b/chrome/browser/private_network_access/private_network_device_chooser_controller.cc
@@ -30,12 +30,12 @@
 PrivateNetworkDeviceChooserController::PrivateNetworkDeviceChooserController(
     content::RenderFrameHost* render_frame_host,
     std::unique_ptr<blink::mojom::PrivateNetworkDevice> device,
-    const ChromePrivateNetworkDeviceChooser::EventHandler& event_handler)
+    ChromePrivateNetworkDeviceChooser::EventHandler event_handler)
     : ChooserController(
           CreateChooserTitle(render_frame_host,
                              IDS_PRIVATE_NETWORK_DEVICE_CHOOSER_PROMPT_ORIGIN)),
       device_(std::move(device)),
-      event_handler_(event_handler) {
+      event_handler_(std::move(event_handler)) {
   RenderFrameHost* main_frame = render_frame_host->GetMainFrame();
   origin_ = main_frame->GetLastCommittedOrigin();
 }
diff --git a/chrome/browser/private_network_access/private_network_device_chooser_controller.h b/chrome/browser/private_network_access/private_network_device_chooser_controller.h
index 9398d87c..38f5f553 100644
--- a/chrome/browser/private_network_access/private_network_device_chooser_controller.h
+++ b/chrome/browser/private_network_access/private_network_device_chooser_controller.h
@@ -31,7 +31,7 @@
   PrivateNetworkDeviceChooserController(
       content::RenderFrameHost* render_frame_host,
       std::unique_ptr<blink::mojom::PrivateNetworkDevice> device,
-      const ChromePrivateNetworkDeviceChooser::EventHandler& event_handler);
+      ChromePrivateNetworkDeviceChooser::EventHandler event_handler);
 
   PrivateNetworkDeviceChooserController(
       const PrivateNetworkDeviceChooserController&) = delete;
@@ -61,8 +61,7 @@
   url::Origin origin_;
 
   std::unique_ptr<blink::mojom::PrivateNetworkDevice> device_;
-  const raw_ref<const ChromePrivateNetworkDeviceChooser::EventHandler>
-      event_handler_;
+  const ChromePrivateNetworkDeviceChooser::EventHandler event_handler_;
 
   base::WeakPtrFactory<PrivateNetworkDeviceChooserController> weak_factory_{
       this};
diff --git a/chrome/browser/resources/accessibility/BUILD.gn b/chrome/browser/resources/accessibility/BUILD.gn
index cae2786..d803aa5 100644
--- a/chrome/browser/resources/accessibility/BUILD.gn
+++ b/chrome/browser/resources/accessibility/BUILD.gn
@@ -2,6 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//build/config/chromeos/ui_mode.gni")
 import("//ui/webui/resources/tools/build_webui.gni")
 if (is_chromeos_lacros) {
   import("//chrome/browser/resources/chromeos/accessibility/manifest.gni")
diff --git a/chrome/browser/resources/browsing_topics/browsing_topics_internals.html b/chrome/browser/resources/browsing_topics/browsing_topics_internals.html
index 6e2cce4..19f2683 100644
--- a/chrome/browser/resources/browsing_topics/browsing_topics_internals.html
+++ b/chrome/browser/resources/browsing_topics/browsing_topics_internals.html
@@ -71,16 +71,16 @@
       <div id="privacy-sandbox-settings3-enabled-div">PrivacySandboxSettings3: </div>
       <div id="override-privacy-sandbox-settings-local-testing-enabled-div">OverridePrivacySandboxSettingsLocalTesting: </div>
       <div id="browsing-topics-bypass-ip-is-publicly-routable-check-enabled-div">BrowsingTopicsBypassIPIsPubliclyRoutableCheck: </div>
-      <div id="number-of-epochs-to-expose-div">BrowsingTopics:number_of_epochs_to_expose: </div>
-      <div id="time-period-per-epoch-div">BrowsingTopics:time_period_per_epoch: </div>
-      <div id="number-of-top-topics-per-epoch-div">BrowsingTopics:number_of_top_topics_per_epoch: </div>
-      <div id="use-random-topic-probability-percent-div">BrowsingTopics:use_random_topic_probability_percent: </div>
-      <div id="number-of-epochs-of-observation-data-to-use-for-filtering-div">BrowsingTopics:number_of_epochs_of_observation_data_to_use_for_filtering: </div>
-      <div id="max-number-of-api-usage-context-domains-to-keep-per-topic-div">BrowsingTopics:max_number_of_api_usage_context_domains_to_keep_per_topic: </div>
-      <div id="max-number-of-api-usage-context-entries-to-load-per-epoch-div">BrowsingTopics:max_number_of_api_usage_context_entries_to_load_per_epoch: </div>
-      <div id="max-number-of-api-usage-context-domains-to-store-per-page-load-div">BrowsingTopics:max_number_of_api_usage_context_domains_to_store_per_page_load: </div>
-      <div id="config-version-div">BrowsingTopics:config_version: </div>
-      <div id="taxonomy-version-div">BrowsingTopics:taxonomy_version: </div>
+      <div id="number-of-epochs-to-expose-div">BrowsingTopicsParameters:number_of_epochs_to_expose: </div>
+      <div id="time-period-per-epoch-div">BrowsingTopicsParameters:time_period_per_epoch: </div>
+      <div id="number-of-top-topics-per-epoch-div">BrowsingTopicsParameters:number_of_top_topics_per_epoch: </div>
+      <div id="use-random-topic-probability-percent-div">BrowsingTopicsParameters:use_random_topic_probability_percent: </div>
+      <div id="number-of-epochs-of-observation-data-to-use-for-filtering-div">BrowsingTopicsParameters:number_of_epochs_of_observation_data_to_use_for_filtering: </div>
+      <div id="max-number-of-api-usage-context-domains-to-keep-per-topic-div">BrowsingTopicsParameters:max_number_of_api_usage_context_domains_to_keep_per_topic: </div>
+      <div id="max-number-of-api-usage-context-entries-to-load-per-epoch-div">BrowsingTopicsParameters:max_number_of_api_usage_context_entries_to_load_per_epoch: </div>
+      <div id="max-number-of-api-usage-context-domains-to-store-per-page-load-div">BrowsingTopicsParameters:max_number_of_api_usage_context_domains_to_store_per_page_load: </div>
+      <div id="config-version-div">BrowsingTopicsParameters:config_version: </div>
+      <div id="taxonomy-version-div">BrowsingTopicsParameters:taxonomy_version: </div>
     </div>
   </div>
   <div id="consent-info-slot" slot="panel" class="panel">
diff --git a/chrome/browser/resources/chromeos/login/components/buttons/oobe_back_button.html b/chrome/browser/resources/chromeos/login/components/buttons/oobe_back_button.html
index 8680ffd..47c1bee 100644
--- a/chrome/browser/resources/chromeos/login/components/buttons/oobe_back_button.html
+++ b/chrome/browser/resources/chromeos/login/components/buttons/oobe_back_button.html
@@ -25,6 +25,7 @@
   .fallback {
     font-family: var(--oobe-button-font-family);
     font-size: var(--oobe-button-font-size);
+    font-weight: var(--oobe-button-font-weight);
   }
   :host([disabled]) {
     pointer-events: none;
diff --git a/chrome/browser/resources/chromeos/login/components/buttons/oobe_icon_button.html b/chrome/browser/resources/chromeos/login/components/buttons/oobe_icon_button.html
index 0bf65935..684a1643 100644
--- a/chrome/browser/resources/chromeos/login/components/buttons/oobe_icon_button.html
+++ b/chrome/browser/resources/chromeos/login/components/buttons/oobe_icon_button.html
@@ -24,6 +24,7 @@
   .fallback {
     font-family: var(--oobe-button-font-family);
     font-size: var(--oobe-button-font-size);
+    font-weight: var(--oobe-button-font-weight);
   }
 </style>
 <cr-button id="button" disabled="[[disabled]]"
diff --git a/chrome/browser/resources/chromeos/login/components/buttons/oobe_next_button.html b/chrome/browser/resources/chromeos/login/components/buttons/oobe_next_button.html
index c430062..0dc498e 100644
--- a/chrome/browser/resources/chromeos/login/components/buttons/oobe_next_button.html
+++ b/chrome/browser/resources/chromeos/login/components/buttons/oobe_next_button.html
@@ -28,6 +28,7 @@
   .fallback {
     font-family: var(--oobe-button-font-family);
     font-size: var(--oobe-button-font-size);
+    font-weight: var(--oobe-button-font-weight);
   }
   :host([disabled]) {
     pointer-events: none;
diff --git a/chrome/browser/resources/chromeos/login/components/buttons/oobe_text_button.html b/chrome/browser/resources/chromeos/login/components/buttons/oobe_text_button.html
index 82607a7..943088d 100644
--- a/chrome/browser/resources/chromeos/login/components/buttons/oobe_text_button.html
+++ b/chrome/browser/resources/chromeos/login/components/buttons/oobe_text_button.html
@@ -18,6 +18,7 @@
   .fallback {
     font-family: var(--oobe-button-font-family);
     font-size: var(--oobe-button-font-size);
+    font-weight: var(--oobe-button-font-weight);
   }
   :host([disabled]) {
     pointer-events: none;
diff --git a/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars.css b/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars.css
index ffe44cf..0546ccf 100644
--- a/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars.css
+++ b/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars.css
@@ -43,6 +43,7 @@
 
       --oobe-button-font-family: Roboto, sans-serif;
       --oobe-button-font-size: 13px;
+      --oobe-button-font-weight: 500;
 
       --oobe-select-font-size: 13px;
       --oobe-select-line-height: 20px;
@@ -129,6 +130,10 @@
       --oobe-sync-consent-card-title-font: var(--cros-button-1-font);
       --oobe-sync-consent-card-subtitle-font: var(--cros-annotation-1-font);
       --oobe-sync-consent-tooltip-text-font: var(--cros-body-2-font);
+
+      --oobe-button-font-family: var(--cros-button-2-font-family);
+      --oobe-button-font-size: var(--cros-button-2-font-size);
+      --oobe-button-font-weight: var(--cros-button-2-font-weight);
     }
 
     html.simon-enabled {
diff --git a/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars_remora.css b/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars_remora.css
index 58beee4..e6176b4c 100644
--- a/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars_remora.css
+++ b/chrome/browser/resources/chromeos/login/components/oobe_vars/oobe_custom_vars_remora.css
@@ -40,6 +40,7 @@
 
       --oobe-button-font-family: "Google Sans", Roboto, sans-serif;
       --oobe-button-font-size: 22px;
+      --oobe-button-font-weight: 500;
 
       --oobe-select-font-size: 18px;
       --oobe-select-line-height: 24px;
diff --git a/chrome/browser/resources/chromeos/login/oobe.js b/chrome/browser/resources/chromeos/login/oobe.js
index ccdc6294..71a8e52 100644
--- a/chrome/browser/resources/chromeos/login/oobe.js
+++ b/chrome/browser/resources/chromeos/login/oobe.js
@@ -155,8 +155,16 @@
     fontLink.rel = 'stylesheet';
     fontLink.href = 'chrome://theme/typography.css';
     document.head.appendChild(fontLink);
+  } else {
+    // Add refresh color if D/L mode updated for the dynamic illustrations
+    const lightDarkMQL = window.matchMedia('(prefers-color-scheme: light)');
+    lightDarkMQL.addEventListener('change', async () => {
+      const updater = ColorChangeUpdater.forDocument();
+      updater.refreshColorsCss();
+    });
   }
 
+
   // Add OOBE or LOGIN screens to the document.
   const isOobeFlow = loadTimeData.getBoolean('isOobeFlow');
 
diff --git a/chrome/browser/resources/password_manager/BUILD.gn b/chrome/browser/resources/password_manager/BUILD.gn
index 8e9e3ea..8f7a2f6 100644
--- a/chrome/browser/resources/password_manager/BUILD.gn
+++ b/chrome/browser/resources/password_manager/BUILD.gn
@@ -41,6 +41,7 @@
     "dialogs/add_password_dialog.ts",
     "dialogs/auth_timed_out_dialog.ts",
     "dialogs/delete_password_disclaimer_dialog.ts",
+    "dialogs/delete_passkey_dialog.ts",
     "dialogs/edit_passkey_dialog.ts",
     "dialogs/edit_password_dialog.ts",
     "dialogs/edit_password_disclaimer_dialog.ts",
diff --git a/chrome/browser/resources/password_manager/credential_details/passkey_details_card.html b/chrome/browser/resources/password_manager/credential_details/passkey_details_card.html
index 0408e603..58874e7 100644
--- a/chrome/browser/resources/password_manager/credential_details/passkey_details_card.html
+++ b/chrome/browser/resources/password_manager/credential_details/passkey_details_card.html
@@ -57,8 +57,15 @@
     </cr-button>
   </div>
 </div>
-<template is="dom-if" if="[[showEditPasskeyDialog_]]" restamp>
+<template is="dom-if" if="[[showEditPasskeyDialog_]]" restamp
+          id="editPasskeyTemplate">
   <edit-passkey-dialog on-close="onEditPasskeyDialogClosed_"
       id="editPasskeyDialog" passkey="{{passkey}}">
   </edit-passkey-dialog>
 </template>
+<template is="dom-if" if="[[showDeletePasskeyDialog_]]" restamp
+          id="deletePasskeyTemplate">
+  <delete-passkey-dialog on-close="onDeletePasskeyDialogClosed_"
+      id="deletePasskeyDialog" passkey="{{passkey}}">
+  </delete-passkey-dialog>
+</template>
diff --git a/chrome/browser/resources/password_manager/credential_details/passkey_details_card.ts b/chrome/browser/resources/password_manager/credential_details/passkey_details_card.ts
index d59b56b..e9ada2f 100644
--- a/chrome/browser/resources/password_manager/credential_details/passkey_details_card.ts
+++ b/chrome/browser/resources/password_manager/credential_details/passkey_details_card.ts
@@ -10,6 +10,7 @@
 import '../shared_style.css.js';
 import './credential_details_card.css.js';
 import '../dialogs/edit_passkey_dialog.js';
+import '../dialogs/delete_passkey_dialog.js';
 
 import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js';
 import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
@@ -52,11 +53,13 @@
         value: PasswordViewPageInteractions,
       },
       showEditPasskeyDialog_: Boolean,
+      showDeletePasskeyDialog_: Boolean,
     };
   }
 
   passkey: chrome.passwordsPrivate.PasswordUiEntry;
   private showEditPasskeyDialog_: boolean;
+  private showDeletePasskeyDialog_: boolean;
 
   private getPasskeyUsageInfoString_(): string {
     const website = this.passkey.affiliatedDomains?.[0]?.name;
@@ -85,12 +88,15 @@
   }
 
   private onDeleteClick_() {
-    // TODO(crbug.com/1432717): show a modal dialog instead.
+    this.showDeletePasskeyDialog_ = true;
     PasswordManagerImpl.getInstance().extendAuthValidity();
     PasswordManagerImpl.getInstance().recordPasswordViewInteraction(
         PasswordViewPageInteractions.PASSKEY_DELETE_BUTTON_CLICKED);
-    PasswordManagerImpl.getInstance().removeCredential(
-        this.passkey.id, this.passkey.storedIn);
+  }
+
+  private onDeletePasskeyDialogClosed_() {
+    this.showDeletePasskeyDialog_ = false;
+    PasswordManagerImpl.getInstance().extendAuthValidity();
   }
 
   private onEditClicked_() {
diff --git a/chrome/browser/resources/password_manager/dialogs/delete_passkey_dialog.html b/chrome/browser/resources/password_manager/dialogs/delete_passkey_dialog.html
new file mode 100644
index 0000000..9d1bfe83
--- /dev/null
+++ b/chrome/browser/resources/password_manager/dialogs/delete_passkey_dialog.html
@@ -0,0 +1,23 @@
+<style include="shared-style cr-shared-style">
+   a[href] {
+    color: var(--cr-link-color);
+  }
+</style>
+<cr-dialog id="dialog" close-text="$i18n{close}" ignore-enter-key
+           show-on-attach>
+  <div slot="title" class="dialog-title">
+    $i18n{deletePasskeyConfirmationTitle}
+  </div>
+  <div slot="body">
+    <span id="link" inner-h-t-m-l="[[getDescriptionHtml_(passkey)]]"></span>
+  </div>
+  <div slot="button-container">
+    <cr-button class="cancel-button" on-click="onCancel_" id="cancelButton"
+        autofocus>
+      $i18n{cancel}
+    </cr-button>
+    <cr-button class="action-button" on-click="onDelete_" id="deleteButton">
+      $i18n{delete}
+    </cr-button>
+  </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/password_manager/dialogs/delete_passkey_dialog.ts b/chrome/browser/resources/password_manager/dialogs/delete_passkey_dialog.ts
new file mode 100644
index 0000000..b480288
--- /dev/null
+++ b/chrome/browser/resources/password_manager/dialogs/delete_passkey_dialog.ts
@@ -0,0 +1,81 @@
+// 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 'chrome://resources/cr_elements/cr_button/cr_button.js';
+import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
+import '../shared_style.css.js';
+
+import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js';
+import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
+import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
+import {assert} from 'chrome://resources/js/assert_ts.js';
+import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {PasswordManagerImpl} from '../password_manager_proxy.js';
+
+import {getTemplate} from './delete_passkey_dialog.html.js';
+
+export interface DeletePasskeyDialogElement {
+  $: {
+    cancelButton: CrButtonElement,
+    dialog: CrDialogElement,
+    deleteButton: CrButtonElement,
+  };
+}
+
+const DeletePasskeyDialogElementBase = I18nMixin(PolymerElement);
+
+export class DeletePasskeyDialogElement extends DeletePasskeyDialogElementBase {
+  static get is() {
+    return 'delete-passkey-dialog';
+  }
+
+  static get template() {
+    return getTemplate();
+  }
+
+  static get properties() {
+    return {
+      passkey: Object,
+    };
+  }
+
+  passkey: chrome.passwordsPrivate.PasswordUiEntry;
+
+  override ready() {
+    super.ready();
+    assert(this.passkey.isPasskey);
+  }
+
+  private onCancel_() {
+    this.$.dialog.close();
+  }
+
+  private onDelete_() {
+    PasswordManagerImpl.getInstance().removeCredential(
+        this.passkey.id, this.passkey.storedIn);
+    this.$.dialog.close();
+  }
+
+  private getDescriptionHtml_(): TrustedHTML {
+    // Passkeys have a single https affiliated origin corresponding to the
+    // relying party identifier.
+    assert(this.passkey.affiliatedDomains);
+    const domain = this.passkey.affiliatedDomains[0];
+    assert(domain);
+    return this.i18nAdvanced('deletePasskeyConfirmationDescription', {
+      substitutions:
+          [`<a href='${domain.url}' target='_blank'>${domain.name}</a>`],
+    });
+  }
+}
+
+declare global {
+  interface HTMLElementTagNameMap {
+    'delete-passkey-dialog': DeletePasskeyDialogElement;
+  }
+}
+
+customElements.define(
+    DeletePasskeyDialogElement.is, DeletePasskeyDialogElement);
diff --git a/chrome/browser/resources/password_manager/password_manager.ts b/chrome/browser/resources/password_manager/password_manager.ts
index 7aaeb478..e4d7270 100644
--- a/chrome/browser/resources/password_manager/password_manager.ts
+++ b/chrome/browser/resources/password_manager/password_manager.ts
@@ -18,6 +18,7 @@
 export {PasswordDetailsCardElement} from './credential_details/password_details_card.js';
 export {AddPasswordDialogElement} from './dialogs/add_password_dialog.js';
 export {AuthTimedOutDialogElement} from './dialogs/auth_timed_out_dialog.js';
+export {DeletePasskeyDialogElement} from './dialogs/delete_passkey_dialog.js';
 export {EditPasskeyDialogElement} from './dialogs/edit_passkey_dialog.js';
 export {EditPasswordDialogElement} from './dialogs/edit_password_dialog.js';
 // <if expr="is_win or is_macosx">
diff --git a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.cc b/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.cc
deleted file mode 100644
index eeb498b49..0000000
--- a/chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.cc
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright 2020 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/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h"
-
-#include "base/functional/bind.h"
-#include "base/functional/callback_helpers.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/enterprise/connectors/analysis/content_analysis_dialog.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/files_request_handler.h"
-#include "chrome/browser/enterprise/connectors/connectors_service.h"
-#include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/test/base/testing_browser_process.h"
-#include "components/prefs/pref_service.h"
-#include "components/prefs/scoped_user_pref_update.h"
-#include "components/safe_browsing/core/common/features.h"
-#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
-
-namespace safe_browsing {
-
-namespace {
-
-constexpr char kDmToken[] = "dm_token";
-
-constexpr base::TimeDelta kMinimumPendingDelay = base::Milliseconds(400);
-constexpr base::TimeDelta kSuccessTimeout = base::Milliseconds(100);
-constexpr base::TimeDelta kShowDialogDelay = base::Milliseconds(0);
-
-class UnresponsiveFilesRequestHandler
-    : public enterprise_connectors::FilesRequestHandler {
- public:
-  using enterprise_connectors::FilesRequestHandler::FilesRequestHandler;
-
-  static std::unique_ptr<enterprise_connectors::FilesRequestHandler> Create(
-      safe_browsing::BinaryUploadService* upload_service,
-      Profile* profile,
-      const enterprise_connectors::AnalysisSettings& analysis_settings,
-      GURL url,
-      const std::string& source,
-      const std::string& destination,
-      const std::string& user_action_id,
-      const std::string& tab_title,
-      safe_browsing::DeepScanAccessPoint access_point,
-      const std::vector<base::FilePath>& paths,
-      enterprise_connectors::FilesRequestHandler::CompletionCallback callback) {
-    return base::WrapUnique(new UnresponsiveFilesRequestHandler(
-        upload_service, profile, analysis_settings, url, source, destination,
-        user_action_id, tab_title, access_point, paths, std::move(callback)));
-  }
-
- private:
-  void UploadFileForDeepScanning(
-      safe_browsing::BinaryUploadService::Result result,
-      const base::FilePath& path,
-      std::unique_ptr<safe_browsing::BinaryUploadService::Request> request)
-      override {
-    // Do nothing.
-  }
-};
-
-class UnresponsiveContentAnalysisDelegate
-    : public enterprise_connectors::FakeContentAnalysisDelegate {
- public:
-  using enterprise_connectors::FakeContentAnalysisDelegate::
-      FakeContentAnalysisDelegate;
-
-  static std::unique_ptr<enterprise_connectors::ContentAnalysisDelegate> Create(
-      base::RepeatingClosure delete_closure,
-      StatusCallback status_callback,
-      std::string dm_token,
-      content::WebContents* web_contents,
-      Data data,
-      CompletionCallback callback) {
-    enterprise_connectors::FilesRequestHandler::SetFactoryForTesting(
-        base::BindRepeating(&UnresponsiveFilesRequestHandler::Create));
-    return std::make_unique<UnresponsiveContentAnalysisDelegate>(
-        delete_closure, status_callback, std::move(dm_token), web_contents,
-        std::move(data), std::move(callback));
-  }
-
- private:
-  void UploadTextForDeepScanning(
-      std::unique_ptr<BinaryUploadService::Request> request) override {
-    // Do nothing.
-  }
-};
-
-}  // namespace
-
-DeepScanningBrowserTestBase::DeepScanningBrowserTestBase() {
-  // Change the time values of the upload UI to smaller ones to make tests
-  // showing it run faster.
-  enterprise_connectors::ContentAnalysisDialog::
-      SetMinimumPendingDialogTimeForTesting(kMinimumPendingDelay);
-  enterprise_connectors::ContentAnalysisDialog::
-      SetSuccessDialogTimeoutForTesting(kSuccessTimeout);
-  enterprise_connectors::ContentAnalysisDialog::SetShowDialogDelayForTesting(
-      kShowDialogDelay);
-}
-
-DeepScanningBrowserTestBase::~DeepScanningBrowserTestBase() = default;
-
-void DeepScanningBrowserTestBase::TearDownOnMainThread() {
-  enterprise_connectors::ContentAnalysisDelegate::ResetFactoryForTesting();
-  enterprise_connectors::FilesRequestHandler::ResetFactoryForTesting();
-
-  ClearAnalysisConnector(browser()->profile()->GetPrefs(),
-                         enterprise_connectors::FILE_ATTACHED);
-  ClearAnalysisConnector(browser()->profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED);
-  ClearAnalysisConnector(browser()->profile()->GetPrefs(),
-                         enterprise_connectors::BULK_DATA_ENTRY);
-  ClearAnalysisConnector(browser()->profile()->GetPrefs(),
-                         enterprise_connectors::PRINT);
-  SetOnSecurityEventReporting(browser()->profile()->GetPrefs(), false);
-}
-
-void DeepScanningBrowserTestBase::SetUpDelegate() {
-  SetDMTokenForTesting(policy::DMToken::CreateValidToken(kDmToken));
-  enterprise_connectors::ContentAnalysisDelegate::SetFactoryForTesting(
-      base::BindRepeating(
-          &enterprise_connectors::FakeContentAnalysisDelegate::Create,
-          base::DoNothing(),
-          base::BindRepeating(&DeepScanningBrowserTestBase::StatusCallback,
-                              base::Unretained(this)),
-          kDmToken));
-}
-
-void DeepScanningBrowserTestBase::SetUpUnresponsiveDelegate() {
-  SetDMTokenForTesting(policy::DMToken::CreateValidToken(kDmToken));
-  enterprise_connectors::ContentAnalysisDelegate::SetFactoryForTesting(
-      base::BindRepeating(
-          &UnresponsiveContentAnalysisDelegate::Create, base::DoNothing(),
-          base::BindRepeating(&DeepScanningBrowserTestBase::StatusCallback,
-                              base::Unretained(this)),
-          kDmToken));
-}
-
-void DeepScanningBrowserTestBase::SetQuitClosure(
-    base::RepeatingClosure quit_closure) {
-  quit_closure_ = quit_closure;
-}
-
-void DeepScanningBrowserTestBase::CallQuitClosure() {
-  if (!quit_closure_.is_null())
-    quit_closure_.Run();
-}
-
-void DeepScanningBrowserTestBase::SetStatusCallbackResponse(
-    enterprise_connectors::ContentAnalysisResponse response) {
-  connector_status_callback_response_ = response;
-}
-
-enterprise_connectors::ContentAnalysisResponse
-DeepScanningBrowserTestBase::StatusCallback(const std::string& contents,
-                                            const base::FilePath& path) {
-  return connector_status_callback_response_;
-}
-
-void DeepScanningBrowserTestBase::CreateFilesForTest(
-    const std::vector<std::string>& paths,
-    const std::vector<std::string>& contents,
-    enterprise_connectors::ContentAnalysisDelegate::Data* data) {
-  ASSERT_EQ(paths.size(), contents.size());
-
-  ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
-
-  for (size_t i = 0; i < paths.size(); ++i) {
-    base::FilePath path = temp_dir_.GetPath().AppendASCII(paths[i]);
-    created_file_paths_.emplace_back(path);
-    base::File file(path, base::File::FLAG_CREATE | base::File::FLAG_WRITE);
-    file.WriteAtCurrentPos(contents[i].data(), contents[i].size());
-    data->paths.emplace_back(path);
-  }
-}
-
-const std::vector<base::FilePath>&
-DeepScanningBrowserTestBase::created_file_paths() const {
-  return created_file_paths_;
-}
-
-}  // namespace safe_browsing
diff --git a/chrome/browser/safe_browsing/cloud_content_scanning/file_analysis_request.cc b/chrome/browser/safe_browsing/cloud_content_scanning/file_analysis_request.cc
index 1de0cdf..2cc664f 100644
--- a/chrome/browser/safe_browsing/cloud_content_scanning/file_analysis_request.cc
+++ b/chrome/browser/safe_browsing/cloud_content_scanning/file_analysis_request.cc
@@ -170,13 +170,9 @@
   }
 
   if (!delay_opening_file_) {
-    if (file_access::ScopedFileAccessDelegate::HasInstance()) {
-      file_access::ScopedFileAccessDelegate::Get()->RequestFilesAccessForSystem(
-          {path_}, base::BindOnce(&FileAnalysisRequest::GetData,
-                                  weakptr_factory_.GetWeakPtr()));
-    } else {
-      GetData(file_access::ScopedFileAccess::Allowed());
-    }
+    file_access::RequestFilesAccessForSystem(
+        {path_}, base::BindOnce(&FileAnalysisRequest::GetData,
+                                weakptr_factory_.GetWeakPtr()));
   }
 }
 
diff --git a/chrome/browser/safe_browsing/cloud_content_scanning/multipart_uploader.cc b/chrome/browser/safe_browsing/cloud_content_scanning/multipart_uploader.cc
index 5600a80..8ae86a5 100644
--- a/chrome/browser/safe_browsing/cloud_content_scanning/multipart_uploader.cc
+++ b/chrome/browser/safe_browsing/cloud_content_scanning/multipart_uploader.cc
@@ -233,15 +233,10 @@
     data_pipe_getter_->Reset();
     CompleteSendRequest(std::move(request));
   } else {
-    if (file_access::ScopedFileAccessDelegate::HasInstance()) {
-      file_access::ScopedFileAccessDelegate::Get()->RequestFilesAccessForSystem(
-          {path_},
-          base::BindOnce(&MultipartUploadRequest::CreateDatapipe,
-                         weak_factory_.GetWeakPtr(), std::move(request)));
-    } else {
-      CreateDatapipe(std::move(request),
-                     file_access::ScopedFileAccess::Allowed());
-    }
+    file_access::RequestFilesAccessForSystem(
+        {path_},
+        base::BindOnce(&MultipartUploadRequest::CreateDatapipe,
+                       weak_factory_.GetWeakPtr(), std::move(request)));
   }
 }
 
diff --git a/chrome/browser/safe_browsing/download_protection/deep_scanning_browsertest.cc b/chrome/browser/safe_browsing/download_protection/deep_scanning_browsertest.cc
index 4a44240..4e2b1b9 100644
--- a/chrome/browser/safe_browsing/download_protection/deep_scanning_browsertest.cc
+++ b/chrome/browser/safe_browsing/download_protection/deep_scanning_browsertest.cc
@@ -24,6 +24,8 @@
 #include "chrome/browser/download/download_prefs.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_browsertest_base.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/enterprise/identifiers/profile_id_service_factory.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
@@ -33,8 +35,6 @@
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service_factory.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/download_protection/deep_scanning_request.h"
 #include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
 #include "chrome/browser/safe_browsing/download_protection/ppapi_download_request.h"
@@ -127,7 +127,7 @@
 // Integration tests for download deep scanning behavior, only mocking network
 // traffic and FCM dependencies.
 class DownloadDeepScanningBrowserTestBase
-    : public DeepScanningBrowserTestBase,
+    : public enterprise_connectors::test::DeepScanningBrowserTestBase,
       public content::DownloadManager::Observer,
       public download::DownloadItem::Observer {
  public:
@@ -150,10 +150,10 @@
   }
 
   void SetUpReporting() {
-    SetOnSecurityEventReporting(browser()->profile()->GetPrefs(),
-                                /*enabled*/ true, /*enabled_event_names*/ {},
-                                /*enabled_opt_in_events*/ {},
-                                connectors_machine_scope());
+    enterprise_connectors::test::SetOnSecurityEventReporting(
+        browser()->profile()->GetPrefs(),
+        /*enabled*/ true, /*enabled_event_names*/ {},
+        /*enabled_opt_in_events*/ {}, connectors_machine_scope());
     client_ = std::make_unique<policy::MockCloudPolicyClient>();
     client_->SetDMToken("dm_token");
 
@@ -216,12 +216,14 @@
       if (connectors_machine_scope()) {
         SetDMTokenForTesting(policy::DMToken::CreateValidToken("dm_token"));
       } else {
-        SetProfileDMToken(browser()->profile(), "dm_token");
+        enterprise_connectors::test::SetProfileDMToken(browser()->profile(),
+                                                       "dm_token");
       }
 #endif
-      SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                           enterprise_connectors::FILE_DOWNLOADED,
-                           R"({
+      enterprise_connectors::test::SetAnalysisConnector(
+          browser()->profile()->GetPrefs(),
+          enterprise_connectors::FILE_DOWNLOADED,
+          R"({
                               "service_provider": "google",
                               "enable": [
                                 {
@@ -232,7 +234,7 @@
                               "block_until_verdict": 1,
                               "block_password_protected": true
                             })",
-                           connectors_machine_scope());
+          connectors_machine_scope());
     }
   }
 
@@ -777,7 +779,7 @@
   // A single unsafe event should be recorded for this request.
   std::set<std::string> zip_types = {"application/zip",
                                      "application/x-zip-compressed"};
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   validator.ExpectDangerousDeepScanningResult(
       /*url*/ url.spec(),
       /*source*/ "",
@@ -870,7 +872,7 @@
   // Both the DLP and malware violations generate an event.
   std::set<std::string> zip_types = {"application/zip",
                                      "application/x-zip-compressed"};
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   validator.ExpectSensitiveDataEventAndDangerousDeepScanningResult(
       /*url*/ url.spec(),
       /*source*/ "",
@@ -924,9 +926,10 @@
     browser()->profile()->GetPrefs()->SetInteger(
         prefs::kDownloadRestrictions,
         static_cast<int>(DownloadPrefs::DownloadRestriction::DANGEROUS_FILES));
-    SetAnalysisConnector(browser()->profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED,
-                         R"({
+    enterprise_connectors::test::SetAnalysisConnector(
+        browser()->profile()->GetPrefs(),
+        enterprise_connectors::FILE_DOWNLOADED,
+        R"({
                               "service_provider": "google",
                               "enable": [
                                 {
@@ -936,7 +939,7 @@
                               ],
                               "block_until_verdict": 1
                             })",
-                         connectors_machine_scope());
+        connectors_machine_scope());
   }
 };
 
@@ -961,7 +964,7 @@
       browser(), url, WindowOpenDisposition::CURRENT_TAB,
       ui_test_utils::BROWSER_TEST_NO_WAIT);
 
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   std::set<std::string> zip_types = {"application/zip",
                                      "application/x-zip-compressed"};
   validator.ExpectDangerousDownloadEvent(
@@ -1280,7 +1283,7 @@
       enterprise_connectors::ContentAnalysisResponse::Result::SUCCESS);
 
   // That response should not trigger a security event.
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   validator.ExpectNoReport();
 
   SendFcmMessage(response);
@@ -1330,7 +1333,7 @@
   dlp_verdict->set_action(enterprise_connectors::TriggeredRule::BLOCK);
 
   // That blocking response should trigger a security event.
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   std::set<std::string> mimetypes = {"text/plain"};
   validator.ExpectSensitiveDataEvent(
       /*url*/ url.spec(),
@@ -1396,7 +1399,7 @@
 
   // That warning response should trigger a security event.
   base::RunLoop validator_run_loop;
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   validator.SetDoneClosure(validator_run_loop.QuitClosure());
   std::set<std::string> mimetypes = {"text/plain"};
   validator.ExpectSensitiveDataEvent(
@@ -1499,7 +1502,7 @@
 
   // That warning response should trigger a security event.
   base::RunLoop validator_run_loop;
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   validator.SetDoneClosure(validator_run_loop.QuitClosure());
   std::set<std::string> mimetypes = {"text/plain"};
   validator.ExpectSensitiveDataEvent(
@@ -1597,7 +1600,7 @@
   dlp_verdict->set_action(enterprise_connectors::TriggeredRule::BLOCK);
 
   base::RunLoop validator_run_loop;
-  EventReportValidator validator(client());
+  enterprise_connectors::test::EventReportValidator validator(client());
   validator.SetDoneClosure(validator_run_loop.QuitClosure());
   std::set<std::string> mimetypes = {"text/plain"};
   validator.ExpectSensitiveDataEvent(
diff --git a/chrome/browser/safe_browsing/download_protection/deep_scanning_request_unittest.cc b/chrome/browser/safe_browsing/download_protection/deep_scanning_request_unittest.cc
index a4d67422..96f4d4625 100644
--- a/chrome/browser/safe_browsing/download_protection/deep_scanning_request_unittest.cc
+++ b/chrome/browser/safe_browsing/download_protection/deep_scanning_request_unittest.cc
@@ -26,12 +26,12 @@
 #include "chrome/browser/enterprise/connectors/connectors_prefs.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/policy/dm_token_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_fcm_service.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
 #include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
 #include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
@@ -360,9 +360,9 @@
 };
 
 TEST_F(DeepScanningRequestFeaturesEnabledTest, ChecksFeatureFlags) {
-  SetAnalysisConnector(profile_->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       kScanForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kScanForDlpAndMalware);
 
   // Try each request with settings indicating both DLP and Malware requests
   // should be sent to show features work correctly.
@@ -416,9 +416,9 @@
 TEST_F(DeepScanningRequestAllFeaturesEnabledTest,
        GeneratesCorrectRequestFromPolicy) {
   {
-    SetAnalysisConnector(profile_->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED,
-                         kScanForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+        kScanForDlpAndMalware);
     base::RunLoop run_loop;
     DeepScanningRequest request(
         &item_, DeepScanningRequest::DeepScanTrigger::TRIGGER_POLICY,
@@ -462,9 +462,9 @@
 
   {
     base::RunLoop run_loop;
-    SetAnalysisConnector(profile_->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED,
-                         kScanForMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+        kScanForMalware);
     DeepScanningRequest request(
         &item_, DeepScanningRequest::DeepScanTrigger::TRIGGER_POLICY,
         DownloadCheckResult::SAFE,
@@ -489,8 +489,9 @@
 
   {
     base::RunLoop run_loop;
-    SetAnalysisConnector(profile_->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, kScanForDlp);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+        kScanForDlp);
     DeepScanningRequest request(
         &item_, DeepScanningRequest::DeepScanTrigger::TRIGGER_POLICY,
         DownloadCheckResult::SAFE,
@@ -514,8 +515,8 @@
 
   {
     base::RunLoop run_loop;
-    SetAnalysisConnector(profile_->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, kNoScan);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, kNoScan);
     EXPECT_FALSE(settings().has_value());
     enterprise_connectors::AnalysisSettings analysis_settings;
     analysis_settings.block_until_verdict =
@@ -589,16 +590,17 @@
         ->SetIdentityManagerForTesting(
             identity_test_environment_.identity_manager());
 
-    SetOnSecurityEventReporting(profile_->GetPrefs(), true);
+    enterprise_connectors::test::SetOnSecurityEventReporting(
+        profile_->GetPrefs(), true);
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
     fake_statistics_provider_.SetMachineStatistic(
         ash::system::kSerialNumberKeyForTest, "fake_serial_number");
 #endif
 
-    SetAnalysisConnector(profile_->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED,
-                         kScanForDlpAndMalware);
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+        kScanForDlpAndMalware);
   }
 
   void TearDown() override {
@@ -660,7 +662,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::WARN);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectDangerousDeepScanningResultAndSensitiveDataEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -731,7 +733,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::WARN);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectDangerousDeepScanningResultAndSensitiveDataEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -794,7 +796,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::BLOCK);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectSensitiveDataEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -855,7 +857,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::WARN);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectSensitiveDataEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -920,7 +922,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::BLOCK);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectSensitiveDataEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -976,7 +978,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::ALLOW);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectUnscannedFileEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1032,7 +1034,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::ALLOW);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectUnscannedFileEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1093,7 +1095,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::WARN);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectUnscannedFileEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1170,7 +1172,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::ALLOW);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectNoReport();
 
     request.Start();
@@ -1239,7 +1241,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::ALLOW);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectUnscannedFileEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1333,7 +1335,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::BLOCK);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectSensitiveDataEvents(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1399,7 +1401,7 @@
       download_path_, BinaryUploadService::Result::TIMEOUT,
       enterprise_connectors::ContentAnalysisResponse());
 
-  EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectUnscannedFileEvent(
       /*url*/ "https://example.com/download.exe",
       /*source*/ "",
@@ -1488,8 +1490,9 @@
         DownloadPrefs::DownloadRestriction::MALICIOUS_FILES));
 
 TEST_P(DeepScanningDownloadRestrictionsTest, GeneratesCorrectReport) {
-  SetAnalysisConnector(profile_->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED, kScanForMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kScanForMalware);
   {
     base::RunLoop run_loop;
 
@@ -1524,7 +1527,7 @@
     download_protection_service_.GetFakeBinaryUploadService()
         ->SetExpectedFinalAction(expected_final_action());
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectDangerousDeepScanningResult(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1585,7 +1588,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::WARN);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectDangerousDeepScanningResult(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1638,7 +1641,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::BLOCK);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectUnscannedFileEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1696,7 +1699,7 @@
         ->SetExpectedFinalAction(
             enterprise_connectors::ContentAnalysisAcknowledgement::BLOCK);
 
-    EventReportValidator validator(client_.get());
+    enterprise_connectors::test::EventReportValidator validator(client_.get());
     validator.ExpectUnscannedFileEvent(
         /*url*/ "https://example.com/download.exe",
         /*source*/ "",
@@ -1727,8 +1730,9 @@
 
 TEST_F(DeepScanningRequestConnectorsFeatureTest,
        ShouldUploadBinary_MalwareListPolicy) {
-  SetAnalysisConnector(profile_->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED, kScanForMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kScanForMalware);
 
   content::DownloadItemUtils::AttachInfoForTesting(&item_, profile_, nullptr);
   EXPECT_CALL(item_, GetURL()).WillRepeatedly(ReturnRef(download_url_));
@@ -1743,10 +1747,10 @@
 
   // With the new malware policy list set, the item should not be uploaded since
   // DeepScanningRequest honours that policy.
-  SetAnalysisConnector(profile_->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       base::StringPrintf(
-                           R"({
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      base::StringPrintf(
+          R"({
                             "service_provider": "google",
                             "enable": [
                               {"url_list": ["*"], "tags": ["malware"]}
@@ -1756,14 +1760,14 @@
                             ],
                             "block_until_verdict": 1
                           })",
-                           download_url_.host().c_str()));
+          download_url_.host().c_str()));
   EXPECT_FALSE(settings().has_value());
 }
 
 TEST_F(DeepScanningRequestConnectorsFeatureTest, ShouldUploadBinary_FileURLs) {
-  SetAnalysisConnector(profile_->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       kScanForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kScanForDlpAndMalware);
 
   content::DownloadItemUtils::AttachInfoForTesting(&item_, profile_, nullptr);
 
@@ -1787,9 +1791,9 @@
 }
 
 TEST_F(DeepScanningRequestAllFeaturesEnabledTest, PopulatesRequest) {
-  SetAnalysisConnector(profile_->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       kScanForDlpAndMalware);
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      kScanForDlpAndMalware);
 
   base::RunLoop run_loop;
   DeepScanningRequest request(
diff --git a/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc b/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
index ed295d1c..cf87835 100644
--- a/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
+++ b/chrome/browser/safe_browsing/download_protection/download_protection_service_unittest.cc
@@ -43,6 +43,7 @@
 #include "chrome/browser/download/download_core_service_factory.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
 #include "chrome/browser/enterprise/connectors/reporting/realtime_reporting_client_factory.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.h"
 #include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
 #include "chrome/browser/history/history_service_factory.h"
@@ -53,7 +54,6 @@
 #include "chrome/browser/safe_browsing/advanced_protection_status_manager_factory.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/cloud_binary_upload_service_factory.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/safe_browsing/cloud_content_scanning/test_binary_upload_service.h"
 #include "chrome/browser/safe_browsing/download_protection/check_file_system_access_write_request.h"
 #include "chrome/browser/safe_browsing/download_protection/download_feedback_service.h"
@@ -2950,7 +2950,8 @@
       profile())
       ->SetBrowserCloudPolicyClientForTesting(client_.get());
 
-  safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      profile()->GetPrefs(), true);
 
   NiceMockDownloadItem item;
   PrepareBasicDownloadItem(&item,
@@ -2962,7 +2963,7 @@
   // This test sets the mimetype to the empty string, so pass a valid set
   // pointer, but only put the empty string in it.
   std::set<std::string> expected_mimetypes{""};
-  EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectDangerousDownloadEvent(
       "",                     // URL, not set in this test
       "a.exe",                // Simple filename without the directory
@@ -2997,7 +2998,8 @@
       profile())
       ->SetBrowserCloudPolicyClientForTesting(client_.get());
 
-  safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      profile()->GetPrefs(), true);
 
   NiceMockDownloadItem item;
   PrepareBasicDownloadItem(&item,
@@ -3029,7 +3031,7 @@
           Return(download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING));
 
   std::set<std::string> expected_mimetypes{"fake/mimetype"};
-  EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectSensitiveDataEvent(
       "",          // URL, not set in this test
       "",          // source, not used for file downloads.
@@ -3056,7 +3058,8 @@
       profile())
       ->SetBrowserCloudPolicyClientForTesting(client_.get());
 
-  safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      profile()->GetPrefs(), true);
 
   NiceMockDownloadItem item;
   PrepareBasicDownloadItem(&item,
@@ -3082,7 +3085,7 @@
   // This test sets the mimetype to the empty string, so pass a valid set
   // pointer, but only put the empty string in it.
   std::set<std::string> expected_mimetypes{""};
-  EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectDangerousDownloadEvent(
       "",                     // URL, not set in this test
       "a.exe",                // Simple filename without the directory
@@ -3108,7 +3111,8 @@
       profile())
       ->SetBrowserCloudPolicyClientForTesting(client_.get());
 
-  safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      profile()->GetPrefs(), true);
 
   NiceMockDownloadItem item;
   PrepareBasicDownloadItem(&item,
@@ -3143,7 +3147,7 @@
           Return(download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_WARNING));
 
   std::set<std::string> expected_mimetypes{"fake/mimetype"};
-  EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectSensitiveDataEvent(
       "",          // URL, not set in this test
       "",          // source, not used for file downloads.
@@ -3170,7 +3174,8 @@
       profile())
       ->SetBrowserCloudPolicyClientForTesting(client_.get());
 
-  safe_browsing::SetOnSecurityEventReporting(profile()->GetPrefs(), true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      profile()->GetPrefs(), true);
 
   NiceMockDownloadItem item;
   PrepareBasicDownloadItem(&item,
@@ -3205,7 +3210,7 @@
           Return(download::DOWNLOAD_DANGER_TYPE_SENSITIVE_CONTENT_BLOCK));
 
   std::set<std::string> expected_mimetypes{"fake/mimetype"};
-  EventReportValidator validator(client_.get());
+  enterprise_connectors::test::EventReportValidator validator(client_.get());
   validator.ExpectSensitiveDataEvent(
       "",          // URL, not set in this test
       "",          // source, not used for file downloads.
@@ -3518,8 +3523,8 @@
       enterprise_connectors::ContentAnalysisResponse());
 
   {
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -3548,8 +3553,8 @@
   }
 
   {
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -3605,8 +3610,8 @@
       enterprise_connectors::ContentAnalysisResponse());
 
   {
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -3628,8 +3633,8 @@
   }
 
   {
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -3689,8 +3694,8 @@
       .Times(2);
 
   {
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -3712,8 +3717,8 @@
   }
 
   {
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -4546,9 +4551,9 @@
               ExtractImageFeatures(
                   tmp_path_, BinaryFeatureExtractor::kDefaultOptions, _, _));
 
-  SetAnalysisConnector(profile()->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       R"({
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      R"({
                             "service_provider": "google",
                             "enable": [
                               {
@@ -4600,8 +4605,8 @@
               ExtractImageFeatures(
                   tmp_path_, BinaryFeatureExtractor::kDefaultOptions, _, _));
 
-  ClearAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED);
+  enterprise_connectors::test::ClearAnalysisConnector(
+      profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED);
 
   TestBinaryUploadService* test_upload_service =
       static_cast<TestBinaryUploadService*>(
@@ -4653,8 +4658,8 @@
                 ExtractImageFeatures(
                     tmp_path_, BinaryFeatureExtractor::kDefaultOptions, _, _));
 
-    SetAnalysisConnector(profile()->GetPrefs(),
-                         enterprise_connectors::FILE_DOWNLOADED, R"(
+    enterprise_connectors::test::SetAnalysisConnector(
+        profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -4883,8 +4888,8 @@
                            FILE_PATH_LITERAL("a.exe"));           // final_path
   content::DownloadItemUtils::AttachInfoForTesting(&item, profile(), nullptr);
 
-  SetAnalysisConnector(profile()->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED, R"(
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED, R"(
                          {
                            "service_provider": "google",
                            "enable": [
@@ -4921,9 +4926,9 @@
                            FILE_PATH_LITERAL("a.exe"));           // final_path
   content::DownloadItemUtils::AttachInfoForTesting(&item, profile(), nullptr);
 
-  SetAnalysisConnector(profile()->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       R"({
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      R"({
                            "service_provider": "google",
                            "enable": [
                              {"url_list": ["*"], "tags": ["malware"]}
@@ -4969,9 +4974,9 @@
               ExtractImageFeatures(
                   tmp_path_, BinaryFeatureExtractor::kDefaultOptions, _, _));
 
-  SetAnalysisConnector(profile()->GetPrefs(),
-                       enterprise_connectors::FILE_DOWNLOADED,
-                       R"({
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile()->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      R"({
                            "service_provider": "google",
                            "enable": [
                              {"url_list": ["*"], "tags": ["malware"]}
diff --git a/chrome/browser/signin/chrome_signin_helper.cc b/chrome/browser/signin/chrome_signin_helper.cc
index 65a803bc..3be5a98 100644
--- a/chrome/browser/signin/chrome_signin_helper.cc
+++ b/chrome/browser/signin/chrome_signin_helper.cc
@@ -413,7 +413,7 @@
   DiceResponseHandler* dice_response_handler =
       DiceResponseHandler::GetForProfile(profile);
   dice_response_handler->ProcessDiceHeader(
-      dice_params, std::make_unique<ProcessDiceHeaderDelegateImpl>(
+      dice_params, ProcessDiceHeaderDelegateImpl::Create(
                        web_contents, base::BindOnce(&CreateTurnSyncOnHelper),
                        base::BindOnce(&ShowDiceSigninError)));
 }
diff --git a/chrome/browser/signin/process_dice_header_delegate_impl.cc b/chrome/browser/signin/process_dice_header_delegate_impl.cc
index 9b9be05..cc269ec7 100644
--- a/chrome/browser/signin/process_dice_header_delegate_impl.cc
+++ b/chrome/browser/signin/process_dice_header_delegate_impl.cc
@@ -39,31 +39,61 @@
 
 }  // namespace
 
-ProcessDiceHeaderDelegateImpl::ProcessDiceHeaderDelegateImpl(
+// static
+std::unique_ptr<ProcessDiceHeaderDelegateImpl>
+ProcessDiceHeaderDelegateImpl::Create(
     content::WebContents* web_contents,
     EnableSyncCallback enable_sync_callback,
-    ShowSigninErrorCallback show_signin_error_callback)
-    : web_contents_(web_contents->GetWeakPtr()),
-      profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())),
-      enable_sync_callback_(std::move(enable_sync_callback)),
-      show_signin_error_callback_(std::move(show_signin_error_callback)) {
-  DCHECK(profile_);
+    ShowSigninErrorCallback show_signin_error_callback) {
+  bool is_sync_signin_tab = false;
+  signin_metrics::AccessPoint access_point =
+      signin_metrics::AccessPoint::ACCESS_POINT_UNKNOWN;
+  signin_metrics::PromoAction promo_action =
+      signin_metrics::PromoAction::PROMO_ACTION_NO_SIGNIN_PROMO;
+  signin_metrics::Reason reason = signin_metrics::Reason::kUnknownReason;
+  GURL redirect_url;
 
   DiceTabHelper* tab_helper = DiceTabHelper::FromWebContents(web_contents);
   if (tab_helper) {
-    is_sync_signin_tab_ = tab_helper->IsSyncSigninInProgress();
-    redirect_url_ = tab_helper->redirect_url();
-    access_point_ = tab_helper->signin_access_point();
-    promo_action_ = tab_helper->signin_promo_action();
-    reason_ = tab_helper->signin_reason();
+    is_sync_signin_tab = tab_helper->IsSyncSigninInProgress();
+    redirect_url = tab_helper->redirect_url();
+    access_point = tab_helper->signin_access_point();
+    promo_action = tab_helper->signin_promo_action();
+    reason = tab_helper->signin_reason();
+  } else {
+    access_point = signin_metrics::AccessPoint::ACCESS_POINT_WEB_SIGNIN;
   }
+  return std::make_unique<ProcessDiceHeaderDelegateImpl>(
+      web_contents, is_sync_signin_tab, access_point, promo_action, reason,
+      std::move(redirect_url), std::move(enable_sync_callback),
+      std::move(show_signin_error_callback));
 }
 
+ProcessDiceHeaderDelegateImpl::ProcessDiceHeaderDelegateImpl(
+    content::WebContents* web_contents,
+    bool is_sync_signin_tab,
+    signin_metrics::AccessPoint access_point,
+    signin_metrics::PromoAction promo_action,
+    signin_metrics::Reason reason,
+    GURL redirect_url,
+    EnableSyncCallback enable_sync_callback,
+    ShowSigninErrorCallback show_signin_error_callback)
+    : web_contents_(web_contents->GetWeakPtr()),
+      profile_(raw_ref<Profile>::from_ptr(
+          Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
+      is_sync_signin_tab_(is_sync_signin_tab),
+      access_point_(access_point),
+      promo_action_(promo_action),
+      reason_(reason),
+      redirect_url_(std::move(redirect_url)),
+      enable_sync_callback_(std::move(enable_sync_callback)),
+      show_signin_error_callback_(std::move(show_signin_error_callback)) {}
+
 ProcessDiceHeaderDelegateImpl::~ProcessDiceHeaderDelegateImpl() = default;
 
 bool ProcessDiceHeaderDelegateImpl::ShouldEnableSync() {
-  if (IdentityManagerFactory::GetForProfile(profile_)->HasPrimaryAccount(
-          signin::ConsentLevel::kSync)) {
+  if (IdentityManagerFactory::GetForProfile(&profile_.get())
+          ->HasPrimaryAccount(signin::ConsentLevel::kSync)) {
     VLOG(1) << "Do not start sync after web sign-in [already authenticated].";
     return false;
   }
@@ -84,7 +114,7 @@
   // that was opened from a "Enable Sync" Chrome UI. Usually this is indeed a
   // sync signin, but it is not always the case: the user may abandon the sync
   // signin and do a simple web signin in the same tab instead.
-  DiceWebSigninInterceptorFactory::GetForProfile(profile_)
+  DiceWebSigninInterceptorFactory::GetForProfile(&profile_.get())
       ->MaybeInterceptWebSignin(web_contents_.get(), account_id, is_new_account,
                                 is_sync_signin_tab_);
 }
@@ -104,7 +134,7 @@
   content::WebContents* web_contents = web_contents_.get();
   VLOG(1) << "Start sync after web sign-in.";
   std::move(enable_sync_callback_)
-      .Run(profile_.get(), access_point_, promo_action_, reason_, web_contents,
+      .Run(&profile_.get(), access_point_, promo_action_, reason_, web_contents,
            account_id);
 
   if (!web_contents)
@@ -141,6 +171,6 @@
   // Show the error even if the WebContents was closed, because the user may be
   // signed out of the web.
   std::move(show_signin_error_callback_)
-      .Run(profile_.get(), web_contents,
+      .Run(&profile_.get(), web_contents,
            SigninUIError::FromGoogleServiceAuthError(email, error));
 }
diff --git a/chrome/browser/signin/process_dice_header_delegate_impl.h b/chrome/browser/signin/process_dice_header_delegate_impl.h
index 4ad90efc..0619767 100644
--- a/chrome/browser/signin/process_dice_header_delegate_impl.h
+++ b/chrome/browser/signin/process_dice_header_delegate_impl.h
@@ -37,10 +37,22 @@
   using ShowSigninErrorCallback = base::OnceCallback<
       void(Profile*, content::WebContents*, const SigninUIError&)>;
 
+  // Helper function for creating `ProcessDiceHeaderDelegateImpl` from a
+  // `content::WebContents`.
+  static std::unique_ptr<ProcessDiceHeaderDelegateImpl> Create(
+      content::WebContents* web_contents,
+      EnableSyncCallback enable_sync_callback,
+      ShowSigninErrorCallback show_signin_error_callback);
+
   // |is_sync_signin_tab| is true if a sync signin flow has been started in that
   // tab.
   ProcessDiceHeaderDelegateImpl(
       content::WebContents* web_contents,
+      bool is_sync_signin_tab,
+      signin_metrics::AccessPoint access_point,
+      signin_metrics::PromoAction promo_action,
+      signin_metrics::Reason reason,
+      GURL redirect_url,
       EnableSyncCallback enable_sync_callback,
       ShowSigninErrorCallback show_signin_error_callback);
 
@@ -62,16 +74,14 @@
   bool ShouldEnableSync();
 
   const base::WeakPtr<content::WebContents> web_contents_;
-  raw_ptr<Profile> profile_;
+  const raw_ref<Profile> profile_;
+  const bool is_sync_signin_tab_;
+  const signin_metrics::AccessPoint access_point_;
+  const signin_metrics::PromoAction promo_action_;
+  const signin_metrics::Reason reason_;
+  const GURL redirect_url_;
   EnableSyncCallback enable_sync_callback_;
   ShowSigninErrorCallback show_signin_error_callback_;
-  bool is_sync_signin_tab_ = false;
-  signin_metrics::AccessPoint access_point_ =
-      signin_metrics::AccessPoint::ACCESS_POINT_UNKNOWN;
-  signin_metrics::PromoAction promo_action_ =
-      signin_metrics::PromoAction::PROMO_ACTION_NO_SIGNIN_PROMO;
-  signin_metrics::Reason reason_ = signin_metrics::Reason::kUnknownReason;
-  GURL redirect_url_;
 };
 
 #endif  // CHROME_BROWSER_SIGNIN_PROCESS_DICE_HEADER_DELEGATE_IMPL_H_
diff --git a/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc b/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc
index f4c2c606..4ff2de3 100644
--- a/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc
+++ b/chrome/browser/signin/process_dice_header_delegate_impl_unittest.cc
@@ -143,7 +143,7 @@
     }
     simulator->Commit();
     DCHECK_EQ(signin_url_, web_contents()->GetVisibleURL());
-    return std::make_unique<ProcessDiceHeaderDelegateImpl>(
+    return ProcessDiceHeaderDelegateImpl::Create(
         web_contents(),
         base::BindOnce(&ProcessDiceHeaderDelegateImplTest::StartSyncCallback,
                        base::Unretained(this)),
diff --git a/chrome/browser/signin/signin_browser_test_base.cc b/chrome/browser/signin/signin_browser_test_base.cc
deleted file mode 100644
index 88bdb0b1..0000000
--- a/chrome/browser/signin/signin_browser_test_base.cc
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2022 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/signin/signin_browser_test_base.h"
-
-#include "base/check.h"
-#include "build/chromeos_buildflags.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/profiles/profile_test_util.h"
-#include "chrome/browser/signin/chrome_signin_client_factory.h"
-#include "chrome/browser/signin/chrome_signin_client_test_util.h"
-#include "chrome/browser/ui/browser.h"
-#include "components/signin/public/base/account_consistency_method.h"
-#include "components/signin/public/base/signin_buildflags.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-SigninBrowserTestBase::SigninBrowserTestBase(bool use_main_profile)
-    : use_main_profile_(use_main_profile) {}
-
-SigninBrowserTestBase::~SigninBrowserTestBase() = default;
-
-std::vector<AccountInfo> SigninBrowserTestBase::SetAccounts(
-    const std::vector<std::string>& emails) {
-  return identity_test_env()->MakeAccountsAvailableWithCookies(emails);
-}
-
-void SigninBrowserTestBase::SetUpOnMainThread() {
-  ProfileManager* profile_manager = g_browser_process->profile_manager();
-  base::FilePath profile_path =
-      profile_manager->GenerateNextProfileDirectoryPath();
-  profile_ = use_main_profile_ ? browser()->profile()
-                               : &profiles::testing::CreateProfileSync(
-                                     profile_manager, profile_path);
-
-  DCHECK(GetProfile());
-#if (IS_CHROMEOS_LACROS)
-  DCHECK_EQ(GetProfile()->IsMainProfile(), use_main_profile_);
-#endif
-
-  identity_test_env_profile_adaptor_ =
-      std::make_unique<IdentityTestEnvironmentProfileAdaptor>(GetProfile());
-  identity_test_env()->SetTestURLLoaderFactory(&test_url_loader_factory_);
-}
-
-void SigninBrowserTestBase::TearDownOnMainThread() {
-  // Must be destroyed before the Profile.
-  identity_test_env_profile_adaptor_.reset();
-}
-
-void SigninBrowserTestBase::SetUpInProcessBrowserTestFixture() {
-  InProcessBrowserTest::SetUpInProcessBrowserTestFixture();
-  create_services_subscription_ =
-      BrowserContextDependencyManager::GetInstance()
-          ->RegisterCreateServicesCallbackForTesting(base::BindRepeating(
-              &SigninBrowserTestBase::OnWillCreateBrowserContextServices,
-              base::Unretained(this)));
-}
-
-void SigninBrowserTestBase::OnWillCreateBrowserContextServices(
-    content::BrowserContext* context) {
-  signin::AccountConsistencyMethod account_consistency_method =
-#if BUILDFLAG(ENABLE_MIRROR)
-      signin::AccountConsistencyMethod::kMirror;
-#elif BUILDFLAG(ENABLE_DICE_SUPPORT)
-      signin::AccountConsistencyMethod::kDice;
-#else
-      signin::AccountConsistencyMethod::kDisabled;
-#endif
-
-  IdentityTestEnvironmentProfileAdaptor::
-      SetIdentityTestEnvironmentFactoriesOnBrowserContext(
-          context, account_consistency_method);
-  ChromeSigninClientFactory::GetInstance()->SetTestingFactory(
-      context, base::BindRepeating(&BuildChromeSigninClientWithURLLoader,
-                                   &test_url_loader_factory_));
-}
diff --git a/chrome/browser/signin/signin_browser_test_base.h b/chrome/browser/signin/signin_browser_test_base.h
index 7095780..9c05699 100644
--- a/chrome/browser/signin/signin_browser_test_base.h
+++ b/chrome/browser/signin/signin_browser_test_base.h
@@ -6,31 +6,45 @@
 #define CHROME_BROWSER_SIGNIN_SIGNIN_BROWSER_TEST_BASE_H_
 
 #include "base/memory/raw_ptr.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/profiles/profile_test_util.h"
+#include "chrome/browser/signin/chrome_signin_client_factory.h"
+#include "chrome/browser/signin/chrome_signin_client_test_util.h"
 #include "chrome/browser/signin/identity_test_environment_profile_adaptor.h"
-
 #include "chrome/test/base/in_process_browser_test.h"
 #include "components/signin/public/identity_manager/account_info.h"
 #include "components/signin/public/identity_manager/identity_test_environment.h"
 #include "services/network/test/test_url_loader_factory.h"
 
-// Base class for browser tests that rely on accounts.
+// Template for adding account management utilities to any test fixture which is
+// derived from InProcessBrowserTest.
 //
 // Sets up the test environment and account consistency to simplify the
 // management of accounts and cookies state.
-class SigninBrowserTestBase : public InProcessBrowserTest {
+//
+// If you don't need to derive from some existing test class, prefer to use
+// `SigninBrowserTestBase`.
+template <typename T,
+          typename =
+              std::enable_if_t<std::is_base_of_v<InProcessBrowserTest, T>>>
+class SigninBrowserTestBaseT : public T {
  public:
   // `use_main_profile` controls whether the main profile is used (the default
-  // `Profile` created by InProcessBrowserTest). On Lacros the main profile
+  // `Profile` created by `InProcessBrowserTest`). On Lacros the main profile
   // behaves differently, and signout is not allowed.
-  explicit SigninBrowserTestBase(bool use_main_profile);
+  explicit SigninBrowserTestBaseT(bool use_main_profile = true)
+      : use_main_profile_(use_main_profile) {}
 
-  ~SigninBrowserTestBase() override;
+  ~SigninBrowserTestBaseT() override = default;
 
   // Sets accounts in the environment to new ones based on the given `emails`,
   // and makes the first one primary.
   // Returns `AccountInfo`s for each added account, in the same order as
   // `emails`.
-  std::vector<AccountInfo> SetAccounts(const std::vector<std::string>& emails);
+  std::vector<AccountInfo> SetAccounts(const std::vector<std::string>& emails) {
+    return identity_test_env()->MakeAccountsAvailableWithCookies(emails);
+  }
 
   // Returns the profile attached to the `signin::IdentityTestEnvironment`. This
   // may not be the same as `browser()->profile()`.
@@ -50,12 +64,61 @@
 
  protected:
   // InProcessBrowserTest:
-  void SetUpOnMainThread() override;
-  void TearDownOnMainThread() override;
-  void SetUpInProcessBrowserTestFixture() override;
+  void SetUpOnMainThread() override {
+    T::SetUpOnMainThread();
+
+    ProfileManager* profile_manager = g_browser_process->profile_manager();
+    base::FilePath profile_path =
+        profile_manager->GenerateNextProfileDirectoryPath();
+    profile_ = use_main_profile_ ? this->browser()->profile()
+                                 : &profiles::testing::CreateProfileSync(
+                                       profile_manager, profile_path);
+
+    DCHECK(GetProfile());
+#if (IS_CHROMEOS_LACROS)
+    DCHECK_EQ(GetProfile()->IsMainProfile(), use_main_profile_);
+#endif
+
+    identity_test_env_profile_adaptor_ =
+        std::make_unique<IdentityTestEnvironmentProfileAdaptor>(GetProfile());
+    identity_test_env()->SetTestURLLoaderFactory(&test_url_loader_factory_);
+  }
+
+  void TearDownOnMainThread() override {
+    // Must be destroyed before the Profile.
+    identity_test_env_profile_adaptor_.reset();
+
+    T::TearDownOnMainThread();
+  }
+
+  void SetUpInProcessBrowserTestFixture() override {
+    T::SetUpInProcessBrowserTestFixture();
+
+    create_services_subscription_ =
+        BrowserContextDependencyManager::GetInstance()
+            ->RegisterCreateServicesCallbackForTesting(base::BindRepeating(
+                &SigninBrowserTestBaseT::OnWillCreateBrowserContextServices,
+                base::Unretained(this)));
+  }
 
   virtual void OnWillCreateBrowserContextServices(
-      content::BrowserContext* context);
+      content::BrowserContext* context) {
+    signin::AccountConsistencyMethod account_consistency_method =
+#if BUILDFLAG(ENABLE_MIRROR)
+        signin::AccountConsistencyMethod::kMirror;
+#elif BUILDFLAG(ENABLE_DICE_SUPPORT)
+        signin::AccountConsistencyMethod::kDice;
+#else
+        signin::AccountConsistencyMethod::kDisabled;
+#endif
+
+    IdentityTestEnvironmentProfileAdaptor::
+        SetIdentityTestEnvironmentFactoriesOnBrowserContext(
+            context, account_consistency_method);
+    ChromeSigninClientFactory::GetInstance()->SetTestingFactory(
+        context, base::BindRepeating(&BuildChromeSigninClientWithURLLoader,
+                                     &test_url_loader_factory_));
+  }
 
  private:
   std::unique_ptr<IdentityTestEnvironmentProfileAdaptor>
@@ -67,4 +130,10 @@
   network::TestURLLoaderFactory test_url_loader_factory_;
 };
 
+// Base class for browser tests that rely on accounts.
+//
+// Sets up the test environment and account consistency to simplify the
+// management of accounts and cookies state.
+using SigninBrowserTestBase = SigninBrowserTestBaseT<InProcessBrowserTest>;
+
 #endif  // CHROME_BROWSER_SIGNIN_SIGNIN_BROWSER_TEST_BASE_H_
diff --git a/chrome/browser/storage_access_api/api_browsertest.cc b/chrome/browser/storage_access_api/api_browsertest.cc
index 26d606a..975b38c 100644
--- a/chrome/browser/storage_access_api/api_browsertest.cc
+++ b/chrome/browser/storage_access_api/api_browsertest.cc
@@ -22,9 +22,11 @@
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
+#include "components/content_settings/browser/page_specific_content_settings.h"
 #include "components/content_settings/core/browser/cookie_settings.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
 #include "components/content_settings/core/common/content_settings.h"
+#include "components/content_settings/core/common/content_settings_types.h"
 #include "components/content_settings/core/common/features.h"
 #include "components/content_settings/core/common/pref_names.h"
 #include "components/metrics/content/subprocess_metrics_provider.h"
@@ -43,6 +45,7 @@
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/test_navigation_observer.h"
 #include "net/base/features.h"
+#include "net/base/schemeful_site.h"
 #include "net/cookies/cookie_constants.h"
 #include "net/cookies/cookie_partition_key_collection.h"
 #include "net/dns/mock_host_resolver.h"
@@ -56,11 +59,15 @@
 
 using content::BrowserThread;
 using testing::Gt;
+using testing::IsEmpty;
+using testing::Pair;
+using testing::UnorderedElementsAre;
 
 namespace {
 
 constexpr char kHostA[] = "a.test";
 constexpr char kOriginA[] = "https://a.test";
+constexpr char kOriginB[] = "https://b.test";
 constexpr char kUrlA[] = "https://a.test/random.path";
 constexpr char kHostASubdomain[] = "subdomain.a.test";
 constexpr char kHostB[] = "b.test";
@@ -429,6 +436,11 @@
     return prompt_factory_.get();
   }
 
+  content_settings::PageSpecificContentSettings* content_settings() {
+    return content_settings::PageSpecificContentSettings::GetForFrame(
+        GetPrimaryMainFrame());
+  }
+
  private:
   net::test_server::EmbeddedTestServer https_server_;
   base::test::ScopedFeatureList features_;
@@ -482,15 +494,90 @@
   prompt_factory()->set_response_type(
       permissions::PermissionRequestManager::ACCEPT_ALL);
 
+  EXPECT_THAT(content_settings()->GetTwoSiteRequests(
+                  ContentSettingsType::STORAGE_ACCESS),
+              IsEmpty());
+
   // Grant initial permission.
   EXPECT_TRUE(storage::test::RequestAndCheckStorageAccessForFrame(GetFrame()));
+  EXPECT_TRUE(storage::test::HasStorageAccessForFrame(GetFrame()));
   EXPECT_EQ(QueryPermission(GetFrame()), "granted");
 
+  EXPECT_THAT(
+      content_settings()->GetTwoSiteRequests(
+          ContentSettingsType::STORAGE_ACCESS),
+      UnorderedElementsAre(Pair(net::SchemefulSite(GURL(kOriginB)), true)));
+
   // Ensure that after a navigation the permission state is preserved.
   NavigateToPageWithFrame(kHostA);
   NavigateFrameTo(kHostB, "/echoheader?cookie");
   EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
   EXPECT_EQ(QueryPermission(GetFrame()), "granted");
+
+  EXPECT_THAT(content_settings()->GetTwoSiteRequests(
+                  ContentSettingsType::STORAGE_ACCESS),
+              IsEmpty());
+
+  // And the permission is regranted without prompt.
+  prompt_factory()->set_response_type(
+      permissions::PermissionRequestManager::NONE);
+  EXPECT_TRUE(storage::test::RequestAndCheckStorageAccessForFrame(GetFrame()));
+  EXPECT_TRUE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  EXPECT_THAT(
+      content_settings()->GetTwoSiteRequests(
+          ContentSettingsType::STORAGE_ACCESS),
+      UnorderedElementsAre(Pair(net::SchemefulSite(GURL(kOriginB)), true)));
+}
+
+// Test that permissions.query changes to "denied" when a storage access
+// request was denied.
+IN_PROC_BROWSER_TEST_F(StorageAccessAPIBrowserTest, PermissionQueryDenied) {
+  SetBlockThirdPartyCookies(true);
+  EnsureUserInteractionOn(kHostB);
+
+  NavigateToPageWithFrame(kHostA);
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  EXPECT_EQ(QueryPermission(GetFrame()), "prompt");
+
+  prompt_factory()->set_response_type(
+      permissions::PermissionRequestManager::DENY_ALL);
+
+  EXPECT_THAT(content_settings()->GetTwoSiteRequests(
+                  ContentSettingsType::STORAGE_ACCESS),
+              IsEmpty());
+
+  // Deny initial permission.
+  EXPECT_FALSE(content::ExecJs(GetFrame(), "document.requestStorageAccess()"));
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  EXPECT_EQ(QueryPermission(GetFrame()), "prompt");
+
+  EXPECT_THAT(
+      content_settings()->GetTwoSiteRequests(
+          ContentSettingsType::STORAGE_ACCESS),
+      UnorderedElementsAre(Pair(net::SchemefulSite(GURL(kOriginB)), false)));
+
+  // Ensure that after a navigation the permission state is preserved.
+  NavigateToPageWithFrame(kHostA);
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  EXPECT_EQ(QueryPermission(GetFrame()), "prompt");
+
+  EXPECT_THAT(content_settings()->GetTwoSiteRequests(
+                  ContentSettingsType::STORAGE_ACCESS),
+              IsEmpty());
+
+  // And the permission is denied without prompt.
+  prompt_factory()->set_response_type(
+      permissions::PermissionRequestManager::NONE);
+  EXPECT_FALSE(content::ExecJs(GetFrame(), "document.requestStorageAccess()"));
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  EXPECT_THAT(
+      content_settings()->GetTwoSiteRequests(
+          ContentSettingsType::STORAGE_ACCESS),
+      UnorderedElementsAre(Pair(net::SchemefulSite(GURL(kOriginB)), false)));
 }
 
 IN_PROC_BROWSER_TEST_F(StorageAccessAPIBrowserTest, PermissionQueryCrossSite) {
@@ -921,15 +1008,15 @@
   histogram_tester.ExpectUniqueSample(kRequestOutcomeHistogram,
                                       RequestOutcome::kGrantedByUser, 1);
 
-  // The nested iframe reuses the existing grant without requesting.
+  // The nested iframe reuses the existing grant without prompting.
   EXPECT_TRUE(
       storage::test::RequestAndCheckStorageAccessForFrame(GetNestedFrame()));
   EXPECT_EQ(ReadCookies(GetNestedFrame(), kHostC),
             CookieBundle("cross-site=c.test"));
 
-  // We don't get to record a sample for the "reuse" case, so that histogram
-  // still only has 1 sample in total.
-  histogram_tester.ExpectTotalCount(kRequestOutcomeHistogram, 1);
+  histogram_tester.ExpectTotalCount(kRequestOutcomeHistogram, 2);
+  histogram_tester.ExpectBucketCount(
+      kRequestOutcomeHistogram, RequestOutcome::kReusedPreviousDecision, 1);
 
   NavigateFrameTo(kHostB, "/iframe.html");
   NavigateNestedFrameTo(EchoCookiesURL(kHostC));
diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
index 317b1141..2d6a811 100644
--- a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
+++ b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
@@ -259,10 +259,10 @@
   ContentSetting existing_setting =
       PermissionContextBase::GetPermissionStatusInternal(rfh, requesting_origin,
                                                          embedding_origin);
-  if (existing_setting == CONTENT_SETTING_BLOCK) {
+  if (existing_setting != CONTENT_SETTING_ASK) {
     NotifyPermissionSetInternal(id, requesting_origin, embedding_origin,
                                 std::move(callback),
-                                /*persist=*/false, CONTENT_SETTING_BLOCK,
+                                /*persist=*/false, existing_setting,
                                 RequestOutcome::kReusedPreviousDecision);
     return;
   }
diff --git a/chrome/browser/sync/test/integration/single_client_webauthn_credentials_sync_test.cc b/chrome/browser/sync/test/integration/single_client_webauthn_credentials_sync_test.cc
index 85a3883..bdcc8d1f 100644
--- a/chrome/browser/sync/test/integration/single_client_webauthn_credentials_sync_test.cc
+++ b/chrome/browser/sync/test/integration/single_client_webauthn_credentials_sync_test.cc
@@ -96,7 +96,7 @@
   base::test::ScopedFeatureList scoped_feature_list_{
       syncer::kSyncWebauthnCredentials};
 
-  PasskeyModel& GetModel() {
+  webauthn::PasskeyModel& GetModel() {
     return webauthn_credentials_helper::GetModel(kSingleProfile);
   }
 };
diff --git a/chrome/browser/sync/test/integration/two_client_webauthn_credentials_sync_test.cc b/chrome/browser/sync/test/integration/two_client_webauthn_credentials_sync_test.cc
index 1939242d..0eccaef 100644
--- a/chrome/browser/sync/test/integration/two_client_webauthn_credentials_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_webauthn_credentials_sync_test.cc
@@ -37,13 +37,13 @@
   ResetSyncForPrimaryAccount();
   ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
 
-  PasskeyModel& model0 = GetModel(0);
+  webauthn::PasskeyModel& model0 = GetModel(0);
   EXPECT_EQ(model0.GetAllSyncIds().size(), 0u);
   sync_pb::WebauthnCredentialSpecifics passkey0 = NewPasskey();
   const std::string sync_id0 = model0.AddNewPasskeyForTesting(passkey0);
   EXPECT_EQ(model0.GetAllSyncIds().size(), 1u);
 
-  PasskeyModel& model1 = GetModel(1);
+  webauthn::PasskeyModel& model1 = GetModel(1);
   ASSERT_TRUE(AwaitAllModelsMatch());
   EXPECT_EQ(model1.GetAllSyncIds().size(), 1u);
 
diff --git a/chrome/browser/sync/test/integration/webauthn_credentials_helper.cc b/chrome/browser/sync/test/integration/webauthn_credentials_helper.cc
index 1427689b..61b556aa 100644
--- a/chrome/browser/sync/test/integration/webauthn_credentials_helper.cc
+++ b/chrome/browser/sync/test/integration/webauthn_credentials_helper.cc
@@ -106,13 +106,14 @@
   return matches;
 }
 
-MockPasskeyModelObserver::MockPasskeyModelObserver(PasskeyModel* model) {
+MockPasskeyModelObserver::MockPasskeyModelObserver(
+    webauthn::PasskeyModel* model) {
   observation_.Observe(model);
 }
 
 MockPasskeyModelObserver::~MockPasskeyModelObserver() = default;
 
-PasskeyModel& GetModel(int profile_idx) {
+webauthn::PasskeyModel& GetModel(int profile_idx) {
   return *PasskeyModelFactory::GetForProfile(test()->GetProfile(profile_idx));
 }
 
diff --git a/chrome/browser/sync/test/integration/webauthn_credentials_helper.h b/chrome/browser/sync/test/integration/webauthn_credentials_helper.h
index 4b05d035..3ad0cd2 100644
--- a/chrome/browser/sync/test/integration/webauthn_credentials_helper.h
+++ b/chrome/browser/sync/test/integration/webauthn_credentials_helper.h
@@ -33,7 +33,7 @@
 };
 
 class LocalPasskeysChangedChecker : public StatusChangeChecker,
-                                    public PasskeyModel::Observer {
+                                    public webauthn::PasskeyModel::Observer {
  public:
   explicit LocalPasskeysChangedChecker(int profile);
   ~LocalPasskeysChangedChecker() override;
@@ -41,18 +41,19 @@
   // SingleClientStatusChangeChecker:
   bool IsExitConditionSatisfied(std::ostream* os) override;
 
-  // PasskeyModel::Observer:
+  // webauthn::PasskeyModel::Observer:
   void OnPasskeysChanged() override;
 
  private:
   int profile_;
   bool satisfied_ = false;
-  base::ScopedObservation<PasskeyModel, PasskeyModel::Observer> observation_{
-      this};
+  base::ScopedObservation<webauthn::PasskeyModel,
+                          webauthn::PasskeyModel::Observer>
+      observation_{this};
 };
 
 class LocalPasskeysMatchChecker : public StatusChangeChecker,
-                                  public PasskeyModel::Observer {
+                                  public webauthn::PasskeyModel::Observer {
  public:
   using Matcher =
       testing::Matcher<std::vector<sync_pb::WebauthnCredentialSpecifics>>;
@@ -63,14 +64,15 @@
   // SingleClientStatusChangeChecker:
   bool IsExitConditionSatisfied(std::ostream* os) override;
 
-  // PasskeyModel::Observer:
+  // webauthn::PasskeyModel::Observer:
   void OnPasskeysChanged() override;
 
  private:
   const int profile_;
   const Matcher matcher_;
-  base::ScopedObservation<PasskeyModel, PasskeyModel::Observer> observation_{
-      this};
+  base::ScopedObservation<webauthn::PasskeyModel,
+                          webauthn::PasskeyModel::Observer>
+      observation_{this};
 };
 
 class ServerPasskeysMatchChecker
@@ -88,19 +90,20 @@
   const Matcher matcher_;
 };
 
-class MockPasskeyModelObserver : public PasskeyModel::Observer {
+class MockPasskeyModelObserver : public webauthn::PasskeyModel::Observer {
  public:
-  explicit MockPasskeyModelObserver(PasskeyModel* model);
+  explicit MockPasskeyModelObserver(webauthn::PasskeyModel* model);
   ~MockPasskeyModelObserver() override;
 
   MOCK_METHOD(void, OnPasskeysChanged, (), (override));
 
  private:
-  base::ScopedObservation<PasskeyModel, PasskeyModel::Observer> observation_{
-      this};
+  base::ScopedObservation<webauthn::PasskeyModel,
+                          webauthn::PasskeyModel::Observer>
+      observation_{this};
 };
 
-PasskeyModel& GetModel(int profile_idx);
+webauthn::PasskeyModel& GetModel(int profile_idx);
 
 bool AwaitAllModelsMatch();
 
diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc
index d3853118..e8d7aa6 100644
--- a/chrome/browser/themes/theme_service.cc
+++ b/chrome/browser/themes/theme_service.cc
@@ -64,6 +64,7 @@
 #include "extensions/common/extension_set.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "ui/base/resource/resource_scale_factor.h"
+#include "ui/base/ui_base_features.h"
 #include "ui/color/color_id.h"
 #include "ui/color/color_provider.h"
 #include "ui/color/color_provider_manager.h"
@@ -518,8 +519,12 @@
 }
 
 ThemeService::BrowserColorScheme ThemeService::GetBrowserColorScheme() const {
-  return static_cast<BrowserColorScheme>(
-      profile_->GetPrefs()->GetInteger(prefs::kBrowserColorScheme));
+  // If not running ChromeRefresh2023 we should always defer to the system color
+  // scheme.
+  return features::IsChromeRefresh2023()
+             ? static_cast<BrowserColorScheme>(
+                   profile_->GetPrefs()->GetInteger(prefs::kBrowserColorScheme))
+             : BrowserColorScheme::kSystem;
 }
 
 // static
diff --git a/chrome/browser/themes/theme_service_unittest.cc b/chrome/browser/themes/theme_service_unittest.cc
index 56e7c5e7..095b879 100644
--- a/chrome/browser/themes/theme_service_unittest.cc
+++ b/chrome/browser/themes/theme_service_unittest.cc
@@ -46,6 +46,7 @@
 #include "extensions/browser/uninstall_reason.h"
 #include "extensions/common/extension.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/ui_base_features.h"
 #include "ui/color/color_provider.h"
 #include "ui/color/color_provider_manager.h"
 #include "ui/gfx/color_palette.h"
@@ -780,8 +781,17 @@
   EXPECT_TRUE(registry_->GetInstalledExtension(scoper.extension_id()));
 }
 
+class BrowserColorSchemeTest : public ThemeServiceTest,
+                               public testing::WithParamInterface<bool> {
+ protected:
+  BrowserColorSchemeTest() {
+    feature_list_.InitWithFeatureState(features::kChromeRefresh2023,
+                                       GetParam());
+  }
+};
+
 // Sets and gets browser color scheme.
-TEST_F(ThemeServiceTest, SetBrowserColorScheme) {
+TEST_P(BrowserColorSchemeTest, SetBrowserColorScheme) {
   // Default without anything explicitly set should be kSystem.
   ThemeService::BrowserColorScheme color_scheme =
       theme_service_->GetBrowserColorScheme();
@@ -791,7 +801,16 @@
   theme_service_->SetBrowserColorScheme(
       ThemeService::BrowserColorScheme::kLight);
   color_scheme = theme_service_->GetBrowserColorScheme();
-  EXPECT_EQ(color_scheme, ThemeService::BrowserColorScheme::kLight);
+
+  // If not running ChromeRefresh2023 the pref should always track the system's
+  // color scheme.
+  if (features::IsChromeRefresh2023()) {
+    EXPECT_EQ(color_scheme, ThemeService::BrowserColorScheme::kLight);
+  } else {
+    EXPECT_EQ(color_scheme, ThemeService::BrowserColorScheme::kSystem);
+  }
 }
 
+INSTANTIATE_TEST_SUITE_P(All, BrowserColorSchemeTest, testing::Bool());
+
 }  // namespace theme_service_internal
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
index f2a5f4b..1efacb5e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
@@ -276,6 +276,7 @@
 <translation id="2567545343356994513">危険なウェブサイト、ダウンロード、拡張機能から予防的な方法で迅速に保護します</translation>
 <translation id="2569733278091928697">メディア コントロール、シークレット モード セッション、ダウンロードなどを簡単に管理できるようになります</translation>
 <translation id="2571711316400087311">他の言語のページを Google で翻訳するか尋ねる</translation>
+<translation id="2571834852878229351">カスタムで作成</translation>
 <translation id="2573452357057307036">Chrome を既定のブラウザに設定する方法</translation>
 <translation id="257470231920177468">この設定が有効な場合、閲覧履歴に基づいたウェブサイトのリストがここに表示されます。</translation>
 <translation id="2580436639406015883">スパムと不正行為の削減はプライベート ステート トークンに依拠して行われ、サイトが不正行為に対処し、bot と人間を区別できるようにします。
@@ -567,6 +568,7 @@
 <translation id="4108314971463891922">フォロー</translation>
 <translation id="4108998448622696017">危険なイベントの発生を検出して警告します。</translation>
 <translation id="4116038641877404294">ページをダウンロードするとオフラインで使用できるようになります</translation>
+<translation id="4121654769234887259">このパスワードを覚えておく必要はありません。パスワードは、<ph name="USERNAME" /> の Google パスワード マネージャーに保存されます。</translation>
 <translation id="4124152339699379357">通知権限フローが画面全体に表示されています</translation>
 <translation id="4135200667068010335">タブを共有するデバイスのリストが閉じられました。</translation>
 <translation id="4137746084635924146">現在のデバイスの言語</translation>
@@ -779,6 +781,7 @@
 <translation id="5171045022955879922">検索または URL を入力</translation>
 <translation id="5174700554036517242">タブが最初の高さに戻りました</translation>
 <translation id="5184329579814168207">Chromeで開く</translation>
+<translation id="5186634140793586141">関心のあるトピックと検索内容を管理する</translation>
 <translation id="5191251636205085390">サードパーティの Cookie に代わる新しい技術の詳細と管理方法について</translation>
 <translation id="5193988420012215838">クリップボードにコピーされました</translation>
 <translation id="5204967432542742771">パスワードを入力</translation>
@@ -1362,6 +1365,7 @@
 <translation id="8127542551745560481">ホームページを編集</translation>
 <translation id="8130309322784422030">保存されているログイン情報が最新でない可能性があります。</translation>
 <translation id="813082847718468539">サイト情報を表示</translation>
+<translation id="8137562778192957619">このパスワードを覚えておく必要はありません。パスワードは Google パスワード マネージャーに保存されます。</translation>
 <translation id="8156139159503939589">どの言語で閲覧しますか?</translation>
 <translation id="8186512483418048923">残り <ph name="FILES" /> ファイル</translation>
 <translation id="8189750580333936930">プライバシー サンドボックス</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
index 4f4a437b..91cc3d3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
@@ -1382,7 +1382,7 @@
 <translation id="8261506727792406068">ବିଲୋପ</translation>
 <translation id="82619448491672958">ଅନ୍ୟ ଟାବଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ</translation>
 <translation id="8266862848225348053">ଲୋକେସନ୍‌ ଡାଉନ୍‌ଲୋଡ୍ କରନ୍ତୁ</translation>
-<translation id="8281886186245836920">ଛାଡ଼ିଦିଅନ୍ତୁ</translation>
+<translation id="8281886186245836920">ବାଦ ଦିଅନ୍ତୁ</translation>
 <translation id="8282297628636750033">ଯଦି ସମ୍ଭବ ସାଇଟରେ ଗାଢ଼ା ଥିମ ଲାଗୁକର</translation>
 <translation id="829672787777123339">ଆପଣଙ୍କ ଡିଭାଇସ୍ ସହ ସଂଯୋଗ କରାଯାଉଛି…</translation>
 <translation id="8310344678080805313">ଷ୍ଟାଣ୍ଡାର୍ଡ ଟାବ୍‌</translation>
diff --git a/chrome/browser/ui/ash/shelf/chrome_shelf_prefs_unittest.cc b/chrome/browser/ui/ash/shelf/chrome_shelf_prefs_unittest.cc
index d2ce2c2..dd3d70d 100644
--- a/chrome/browser/ui/ash/shelf/chrome_shelf_prefs_unittest.cc
+++ b/chrome/browser/ui/ash/shelf/chrome_shelf_prefs_unittest.cc
@@ -314,33 +314,6 @@
   ASSERT_EQ(pinned_apps_strs[index + 2], kLacrosChromeAppIdWithUsualPrefix);
 }
 
-// If Lacros is the primary browser, then it should be pinned before non-browser
-// apps.
-TEST_F(ChromeShelfPrefsTest, LacrosPrimaryPinnedApp) {
-  // Enable lacros-only.
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitWithFeatures(
-      {ash::features::kLacrosPrimary, ash::features::kLacrosSupport}, {});
-  AddRegularUser("test@test.com");
-
-  ASSERT_TRUE(shelf_prefs_->ShouldPerformConsistencyMigrations());
-  std::vector<ash::ShelfID> pinned_apps =
-      shelf_prefs_->GetPinnedAppsFromSync(helper_.get());
-  std::vector<std::string> pinned_apps_strs;
-  pinned_apps_strs.reserve(pinned_apps.size());
-  for (auto& shelf_id : pinned_apps) {
-    pinned_apps_strs.push_back(shelf_id.app_id);
-  }
-
-  // Pinned apps should have the chrome and lacros apps as first two items.
-  ASSERT_GE(pinned_apps_strs.size(), 2u);
-  EXPECT_EQ(pinned_apps_strs[0], app_constants::kChromeAppId);
-  EXPECT_EQ(pinned_apps_strs[1], app_constants::kLacrosAppId);
-
-  // Pinned apps should have the gmail app.
-  EXPECT_TRUE(base::Contains(pinned_apps_strs, extension_misc::kGmailAppId));
-}
-
 // If Lacros is the only browser, then it should be pinned instead of ash.
 TEST_F(ChromeShelfPrefsTest, LacrosOnlyPinnedApp) {
   // Enable lacros-only.
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
index 74e9f5f..f2a2158 100644
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
@@ -387,7 +387,7 @@
   auto* cad = static_cast<ContentAutofillDriver*>(driver);
   content::RenderFrameHost* rfh = cad->render_frame_host();
 #if BUILDFLAG(IS_ANDROID)
-  return std::make_unique<InternalAuthenticatorAndroid>(rfh);
+  return std::make_unique<webauthn::InternalAuthenticatorAndroid>(rfh);
 #else
   return std::make_unique<content::InternalAuthenticatorImpl>(rfh);
 #endif
diff --git a/chrome/browser/ui/page_info/page_info_unittest.cc b/chrome/browser/ui/page_info/page_info_unittest.cc
index af98c72..e334cb32b 100644
--- a/chrome/browser/ui/page_info/page_info_unittest.cc
+++ b/chrome/browser/ui/page_info/page_info_unittest.cc
@@ -33,6 +33,7 @@
 #include "chrome/test/base/testing_profile.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
 #include "components/content_settings/core/common/content_settings.h"
+#include "components/content_settings/core/common/content_settings_constraints.h"
 #include "components/content_settings/core/common/content_settings_types.h"
 #include "components/infobars/content/content_infobar_manager.h"
 #include "components/infobars/core/infobar.h"
@@ -495,6 +496,40 @@
             last_permission_info_list().size());
 }
 
+TEST_F(PageInfoTest, StorageAccessGrantsAreFiltered) {
+  GURL kEmbedded1("https://embedded1.com");
+  ContentSettingsType type = ContentSettingsType::STORAGE_ACCESS;
+
+  std::set<ContentSettingsType> expected_visible_permissions;
+
+  auto* map = HostContentSettingsMapFactory::GetForProfile(profile());
+  // First-party exceptions are hidden.
+  map->SetContentSettingDefaultScope(url(), url(), type, CONTENT_SETTING_ALLOW);
+  // First-party-set exceptions are hidden based on their SessionModel.
+  content_settings::ContentSettingConstraints constraint;
+  constraint.set_session_model(
+      content_settings::SessionModel::NonRestorableUserSession);
+  map->SetContentSettingDefaultScope(kEmbedded1, url(), type,
+                                     CONTENT_SETTING_ALLOW, constraint);
+  page_info()->PresentSitePermissions();
+
+#if BUILDFLAG(IS_ANDROID)
+  // Geolocation is always allowed to pass through to Android-specific logic to
+  // check for DSE settings (so expect 1 item), but isn't actually shown later
+  // on because this test isn't testing with a default search engine origin.
+  expected_visible_permissions.insert(ContentSettingsType::GEOLOCATION);
+#endif
+  ExpectPermissionInfoList(expected_visible_permissions,
+                           last_permission_info_list());
+
+  map->SetContentSettingDefaultScope(kEmbedded1, url(), type,
+                                     CONTENT_SETTING_ALLOW);
+  page_info()->PresentSitePermissions();
+  expected_visible_permissions.insert(type);
+  ExpectPermissionInfoList(expected_visible_permissions,
+                           last_permission_info_list());
+}
+
 TEST_F(PageInfoTest, IncognitoPermissionsEmptyByDefault) {
   incognito_page_info()->PresentSitePermissions();
   EXPECT_EQ(0u, last_permission_info_list().size());
diff --git a/chrome/browser/ui/signin/profile_colors_util.cc b/chrome/browser/ui/signin/profile_colors_util.cc
index 99eb59d7..b3b42f5 100644
--- a/chrome/browser/ui/signin/profile_colors_util.cc
+++ b/chrome/browser/ui/signin/profile_colors_util.cc
@@ -16,6 +16,7 @@
 #include "chrome/common/themes/autogenerated_theme_util.h"
 #include "ui/color/color_id.h"
 #include "ui/color/color_provider.h"
+#include "ui/color/color_provider_manager.h"
 #include "ui/gfx/color_utils.h"
 #include "ui/native_theme/native_theme.h"
 
diff --git a/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop_unittest.cc b/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop_unittest.cc
index 591d5c8..e21738d 100644
--- a/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop_unittest.cc
+++ b/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop_unittest.cc
@@ -16,10 +16,10 @@
 #include "base/test/bind.h"
 #include "base/test/scoped_feature_list.h"
 #include "chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.h"
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/connectors_service.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 #include "chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
@@ -63,21 +63,22 @@
               ],
               "block_until_verdict": 1
           })";
-      safe_browsing::SetAnalysisConnector(
+      enterprise_connectors::test::SetAnalysisConnector(
           profile_->GetPrefs(), enterprise_connectors::FILE_ATTACHED, kEnabled);
-      safe_browsing::SetAnalysisConnector(
+      enterprise_connectors::test::SetAnalysisConnector(
           profile_->GetPrefs(), enterprise_connectors::BULK_DATA_ENTRY,
           kEnabled);
     } else {
-      safe_browsing::ClearAnalysisConnector(
+      enterprise_connectors::test::ClearAnalysisConnector(
           profile_->GetPrefs(), enterprise_connectors::FILE_ATTACHED);
-      safe_browsing::ClearAnalysisConnector(
+      enterprise_connectors::test::ClearAnalysisConnector(
           profile_->GetPrefs(), enterprise_connectors::BULK_DATA_ENTRY);
     }
 
     run_loop_ = std::make_unique<base::RunLoop>();
 
-    using FakeDelegate = enterprise_connectors::FakeContentAnalysisDelegate;
+    using FakeDelegate =
+        enterprise_connectors::test::FakeContentAnalysisDelegate;
 
     policy::SetDMTokenForTesting(policy::DMToken::CreateValidToken("dm_token"));
     auto callback = base::BindLambdaForTesting(
@@ -118,7 +119,7 @@
         });
     enterprise_connectors::ContentAnalysisDelegate::SetFactoryForTesting(
         base::BindRepeating(
-            &enterprise_connectors::FakeContentAnalysisDelegate::Create,
+            &enterprise_connectors::test::FakeContentAnalysisDelegate::Create,
             run_loop_->QuitClosure(), callback, "dm_token"));
     enterprise_connectors::ContentAnalysisDelegate::DisableUIForTesting();
     enterprise_connectors::ContentAnalysisDelegate::
diff --git a/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.cc b/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.cc
index ce40fca..d8086a1 100644
--- a/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.cc
+++ b/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.cc
@@ -8,7 +8,9 @@
 
 #include "base/feature_list.h"
 #include "base/functional/bind.h"
+#include "base/i18n/message_formatter.h"
 #include "base/memory/raw_ptr.h"
+#include "base/memory/weak_ptr.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/chromeos_buildflags.h"
@@ -21,6 +23,9 @@
 #include "chrome/browser/ui/browser_navigator_params.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
 #include "chrome/browser/ui/views/chrome_typography.h"
+#include "chrome/browser/web_applications/locks/app_lock.h"
+#include "chrome/browser/web_applications/web_app_command_scheduler.h"
+#include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
 #include "chrome/grit/chromium_strings.h"
@@ -39,13 +44,23 @@
 #include "ui/views/border.h"
 #include "ui/views/controls/button/checkbox.h"
 #include "ui/views/controls/label.h"
+#include "ui/views/controls/scroll_view.h"
+#include "ui/views/controls/separator.h"
 #include "ui/views/controls/styled_label.h"
 #include "ui/views/layout/table_layout.h"
 #include "ui/views/view_class_properties.h"
 
+#if defined(USE_AURA)
+#include "ui/aura/window.h"
+#endif
+
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "chrome/browser/ash/app_list/arc/arc_app_list_prefs.h"
 #include "chrome/browser/ash/borealis/borealis_util.h"
+#include "chrome/browser/ash/crosapi/crosapi_ash.h"
+#include "chrome/browser/ash/crosapi/crosapi_manager.h"
+#include "chrome/browser/ash/crosapi/web_app_service_ash.h"
+#include "chromeos/crosapi/mojom/web_app_service.mojom.h"
 #endif
 
 namespace {
@@ -150,21 +165,39 @@
 
 }  // namespace
 
+struct SubApp {
+  explicit SubApp(std::u16string short_name)
+      : short_name(std::move(short_name)) {}
+  SubApp(SubApp&& sub_app) = default;
+  SubApp& operator=(SubApp&& sub_app) = default;
+  SubApp(const SubApp&) = delete;
+  SubApp& operator=(const SubApp&) = delete;
+
+  std::u16string short_name;
+};
+
+static views::Widget* CreateAndShowWidget(gfx::NativeWindow parent_window,
+                                          AppUninstallDialogView* dialog_view) {
+  views::Widget* widget = constrained_window::CreateBrowserModalDialogViews(
+      dialog_view, parent_window);
+  widget->Show();
+  return widget;
+}
+
 // static
-views::Widget* apps::UninstallDialog::UiBase::Create(
+void apps::UninstallDialog::UiBase::Create(
     Profile* profile,
     apps::AppType app_type,
     const std::string& app_id,
     const std::string& app_name,
     gfx::ImageSkia image,
     gfx::NativeWindow parent_window,
+    apps::OnDialogCreatedCallback callback,
     apps::UninstallDialog* uninstall_dialog) {
-  views::Widget* widget = constrained_window::CreateBrowserModalDialogViews(
-      (new AppUninstallDialogView(profile, app_type, app_id, app_name, image,
-                                  uninstall_dialog)),
-      parent_window);
-  widget->Show();
-  return widget;
+  new AppUninstallDialogView(profile, app_type, app_id, app_name, image,
+                             uninstall_dialog,
+                             base::BindOnce(CreateAndShowWidget, parent_window)
+                                 .Then(std::move(callback)));
 }
 
 AppUninstallDialogView::AppUninstallDialogView(
@@ -173,10 +206,14 @@
     const std::string& app_id,
     const std::string& app_name,
     gfx::ImageSkia image,
-    apps::UninstallDialog* uninstall_dialog)
+    apps::UninstallDialog* uninstall_dialog,
+    UninstallDialogReadyCallback callback)
     : apps::UninstallDialog::UiBase(uninstall_dialog),
       AppDialogView(ui::ImageModel::FromImageSkia(image)),
+      uninstall_dialog_ready_callback_(std::move(callback)),
       profile_(profile) {
+  profile_observation_.Observe(profile);
+
   SetModalType(ui::MODAL_TYPE_WINDOW);
   SetTitle(GetWindowTitleForApp(profile, app_type, app_id, app_name));
 
@@ -201,6 +238,10 @@
   return g_app_uninstall_dialog_view;
 }
 
+void AppUninstallDialogView::OnProfileWillBeDestroyed(Profile* profile) {
+  weak_ptr_factory_.InvalidateWeakPtrs();
+}
+
 void AppUninstallDialogView::InitializeView(Profile* profile,
                                             apps::AppType app_type,
                                             const std::string& app_id) {
@@ -271,12 +312,20 @@
 
     case apps::AppType::kWeb:
     case apps::AppType::kSystemWeb:
-      InitializeViewForWebApp(profile, app_id);
+#if BUILDFLAG(IS_CHROMEOS)
+      async_ = true;
+      CheckForSubAppsThenInitializeViewForWebApp(app_id);
+      return;
+#else
+      InitializeViewForWebApp(app_id, /*sub_apps=*/{});
       break;
+#endif
     case apps::AppType::kChromeApp:
       InitializeViewForExtension(profile, app_id);
       break;
   }
+
+  std::move(uninstall_dialog_ready_callback_).Run(this);
 }
 
 void AppUninstallDialogView::InitializeCheckbox(const GURL& app_start_url) {
@@ -355,19 +404,144 @@
   }
 }
 
-void AppUninstallDialogView::InitializeViewForWebApp(
-    Profile* profile,
+#if BUILDFLAG(IS_CHROMEOS)
+void AppUninstallDialogView::InitializeSubAppList(
+    const std::string& short_app_name,
+    const std::vector<SubApp>& sub_apps) {
+  ChromeLayoutProvider* provider = ChromeLayoutProvider::Get();
+  std::u16string description =
+      base::i18n::MessageFormatter::FormatWithNamedArgs(
+          l10n_util::GetStringUTF16(
+              IDS_APP_UNINSTALL_PROMPT_ADDITIONAL_UNINSTALLS_MESSAGE),
+          /*name0=*/"NUM_SUB_APPS", static_cast<int>(sub_apps.size()),
+          /*name1=*/"APP_NAME", base::ASCIIToUTF16(short_app_name));
+
+  auto* description_label =
+      AddChildView(std::make_unique<views::Label>(description));
+  description_label->SetMultiLine(/*multi_line=*/true);
+  description_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+
+  auto sub_apps_container = std::make_unique<views::BoxLayoutView>();
+  sub_apps_container->SetOrientation(views::BoxLayout::Orientation::kVertical);
+  sub_apps_container->SetBetweenChildSpacing(
+      provider->GetDistanceMetric(DISTANCE_CONTROL_LIST_VERTICAL));
+  sub_apps_container->SetInsideBorderInsets(gfx::Insets::TLBR(
+      0, provider->GetDistanceMetric(DISTANCE_UNRELATED_CONTROL_HORIZONTAL), 0,
+      0));
+
+  for (const SubApp& sub_app : sub_apps) {
+    auto box = std::make_unique<views::BoxLayoutView>();
+    box->SetOrientation(views::BoxLayout::Orientation::kHorizontal);
+    auto* sub_app_label =
+        box->AddChildView(std::make_unique<views::Label>(sub_app.short_name));
+
+    sub_app_label->SetGroup(static_cast<int>(DialogViewID::SUB_APP_LABEL));
+
+    sub_app_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+    sub_app_label->SetMultiLine(true);
+    sub_apps_container->AddChildView(std::move(box));
+  }
+
+  std::unique_ptr<views::ScrollView> scroll_view =
+      std::make_unique<views::ScrollView>();
+  scroll_view->SetContents(std::move(sub_apps_container));
+  scroll_view->SetHorizontalScrollBarMode(
+      views::ScrollView::ScrollBarMode::kDisabled);
+
+  scroll_view->ClipHeightTo(
+      0, provider->GetDistanceMetric(
+             views::DISTANCE_DIALOG_SCROLLABLE_AREA_MAX_HEIGHT));
+  AddChildView(std::move(scroll_view));
+  AddChildView(std::make_unique<views::Separator>());
+}
+
+void AppUninstallDialogView::LoadSubAppIds(const std::string& parent_app_id,
+                                           GetSubAppsCallback callback) {
+  auto* provider = web_app::WebAppProvider::GetForWebApps(profile_);
+  if (provider) {
+    provider->scheduler().ScheduleCallbackWithLock<web_app::AppLock>(
+        "AppUninstallDialogView::LoadSubAppIds",
+        std::make_unique<web_app::AppLockDescription>(parent_app_id),
+        base::BindOnce(
+            [](const std::string& parent_app_id, web_app::AppLock& lock) {
+              return lock.registrar().GetAllSubAppIds(parent_app_id);
+            },
+            parent_app_id)
+            .Then(base::BindOnce(&AppUninstallDialogView::GetSubAppsInfo,
+                                 weak_ptr_factory_.GetWeakPtr(),
+                                 std::move(callback))));
+    return;
+  }
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  crosapi::mojom::WebAppProviderBridge* web_app_provider_bridge =
+      crosapi::CrosapiManager::Get()
+          ->crosapi_ash()
+          ->web_app_service_ash()
+          ->GetWebAppProviderBridge();
+
+  if (!web_app_provider_bridge) {
+    LOG(ERROR) << "Could not find WebAppProviderBridge.";
+    std::move(callback).Run({});
+    return;
+  }
+
+  web_app_provider_bridge->GetSubAppIds(
+      parent_app_id,
+      base::BindOnce(&AppUninstallDialogView::GetSubAppsInfo,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+#endif
+}
+
+void AppUninstallDialogView::GetSubAppsInfo(
+    GetSubAppsCallback callback,
+    const std::vector<std::string>& sub_app_ids) {
+  std::vector<SubApp> sub_apps;
+  for (const std::string& sub_app_id : sub_app_ids) {
+    apps::AppServiceProxyFactory::GetForProfile(profile_)
+        ->AppRegistryCache()
+        .ForOneApp(sub_app_id, [&sub_apps](const apps::AppUpdate& update) {
+          sub_apps.emplace_back(base::UTF8ToUTF16(update.ShortName()));
+        });
+  }
+  std::move(callback).Run(std::move(sub_apps));
+}
+
+void AppUninstallDialogView::CheckForSubAppsThenInitializeViewForWebApp(
     const std::string& app_id) {
+  LoadSubAppIds(app_id,
+                base::BindOnce(&AppUninstallDialogView::InitializeViewForWebApp,
+                               weak_ptr_factory_.GetWeakPtr(), app_id));
+}
+
+#endif
+
+void AppUninstallDialogView::InitializeViewForWebApp(
+    const std::string& app_id,
+    std::vector<SubApp> sub_apps) {
   // For web apps, publisher id is the start url.
   GURL app_start_url;
-  apps::AppServiceProxyFactory::GetForProfile(profile)
+  std::string short_app_name;
+  apps::AppServiceProxyFactory::GetForProfile(profile_)
       ->AppRegistryCache()
-      .ForOneApp(app_id, [&app_start_url](const apps::AppUpdate& update) {
+      .ForOneApp(app_id, [&app_start_url,
+                          &short_app_name](const apps::AppUpdate& update) {
         app_start_url = GURL(update.PublisherId());
+        short_app_name = update.ShortName();
       });
   DCHECK(app_start_url.is_valid());
 
+#if BUILDFLAG(IS_CHROMEOS)
+  if (!sub_apps.empty()) {
+    InitializeSubAppList(short_app_name, sub_apps);
+  }
+#endif
+
   InitializeCheckbox(app_start_url);
+
+  if (async_) {
+    std::move(uninstall_dialog_ready_callback_).Run(this);
+  }
 }
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.h b/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.h
index 1a7b520..f28f9cb1 100644
--- a/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.h
+++ b/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.h
@@ -8,8 +8,10 @@
 #include <memory>
 
 #include "base/memory/raw_ptr.h"
+#include "base/scoped_observation.h"
 #include "build/chromeos_buildflags.h"
 #include "chrome/browser/apps/app_service/uninstall_dialog.h"
+#include "chrome/browser/profiles/profile_observer.h"
 #include "chrome/browser/ui/views/apps/app_dialog/app_dialog_view.h"
 #include "components/services/app_service/public/cpp/app_types.h"
 #include "ui/views/bubble/bubble_dialog_delegate_view.h"
@@ -24,19 +26,27 @@
 class ImageSkia;
 }
 
+struct SubApp;
+
 // This class generates the unified uninstall dialog based on the app type. Once
 // the user has confirmed the uninstall, this class calls the parent class
 // apps::UninstallDialog::UiBase to notify AppService, which transfers control
 // to the publisher to uninstall the app.
-class AppUninstallDialogView : public apps::UninstallDialog::UiBase,
+class AppUninstallDialogView : public ProfileObserver,
+                               public apps::UninstallDialog::UiBase,
                                public AppDialogView {
+  using GetSubAppsCallback = base::OnceCallback<void(std::vector<SubApp>)>;
+  using UninstallDialogReadyCallback =
+      base::OnceCallback<void(AppUninstallDialogView*)>;
+
  public:
   AppUninstallDialogView(Profile* profile,
                          apps::AppType app_type,
                          const std::string& app_id,
                          const std::string& app_name,
                          gfx::ImageSkia image,
-                         apps::UninstallDialog* uninstall_dialog);
+                         apps::UninstallDialog* uninstall_dialog,
+                         UninstallDialogReadyCallback callback);
 
   AppUninstallDialogView(const AppUninstallDialogView&) = delete;
   AppUninstallDialogView& operator=(const AppUninstallDialogView&) = delete;
@@ -45,15 +55,37 @@
 
   static AppUninstallDialogView* GetActiveViewForTesting();
 
+  // IDs that identify a view within the app uninstall dialog view.
+  // Used to validate views in browsertests.
+  enum class DialogViewID : int {
+    VIEW_ID_NONE = 0,
+    SUB_APP_LABEL,
+  };
+
  private:
+  // ProfileObserver:
+  void OnProfileWillBeDestroyed(Profile* profile) override;
+
   void InitializeView(Profile* profile,
                       apps::AppType app_type,
                       const std::string& app_id);
 
   void InitializeCheckbox(const GURL& app_start_url);
+  void InitializeSubAppList(const std::string& short_app_name,
+                            const std::vector<SubApp>& sub_apps);
 
   void InitializeViewForExtension(Profile* profile, const std::string& app_id);
-  void InitializeViewForWebApp(Profile* profile, const std::string& app_id);
+  void InitializeViewForWebApp(const std::string& app_id,
+                               std::vector<SubApp> sub_apps);
+
+#if BUILDFLAG(IS_CHROMEOS)
+  void LoadSubAppIds(const std::string& parent_app_id,
+                     GetSubAppsCallback callback);
+  void GetSubAppsInfo(GetSubAppsCallback callback,
+                      const std::vector<std::string>& sub_app_ids);
+  void CheckForSubAppsThenInitializeViewForWebApp(const std::string& app_id);
+#endif
+
 #if BUILDFLAG(IS_CHROMEOS_ASH)
   void InitializeViewForArcApp(Profile* profile, const std::string& app_id);
   void InitializeViewWithMessage(const std::u16string& message);
@@ -64,10 +96,18 @@
 
   void OnWidgetInitialized() override;
 
+  bool async_ = false;
+
+  UninstallDialogReadyCallback uninstall_dialog_ready_callback_;
+
   raw_ptr<Profile> profile_;
 
   raw_ptr<views::Checkbox> report_abuse_checkbox_ = nullptr;
   raw_ptr<views::Checkbox> clear_site_data_checkbox_ = nullptr;
+
+  base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
+
+  base::WeakPtrFactory<AppUninstallDialogView> weak_ptr_factory_{this};
 };
 
 #endif  // CHROME_BROWSER_UI_VIEWS_APPS_APP_DIALOG_APP_UNINSTALL_DIALOG_VIEW_H_
diff --git a/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view_browsertest.cc b/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view_browsertest.cc
index 21091ca..e75414b 100644
--- a/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view_browsertest.cc
+++ b/chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view_browsertest.cc
@@ -36,6 +36,7 @@
 #include "content/public/test/test_navigation_observer.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/l10n/l10n_util.h"
+#include "ui/views/view.h"
 #include "ui/views/widget/any_widget_observer.h"
 
 class AppUninstallDialogViewBrowserTest : public DialogBrowserTest {
@@ -326,3 +327,50 @@
   }
   ASSERT_NE(nullptr, ActiveView());
 }
+
+IN_PROC_BROWSER_TEST_F(WebAppsUninstallDialogViewBrowserTest,
+                       SubAppsShownCorrectly) {
+  CreateApp();
+
+  std::unordered_set<std::u16string> sub_apps_expected;
+
+  // Include non-ASCII characters in app names to ensure they get displayed
+  // correctly
+  for (const std::string& app_name : {"one", "fünf", "🌈"}) {
+    std::u16string sub_app_name = u"Sub App " + base::UTF8ToUTF16(app_name);
+    sub_apps_expected.emplace(sub_app_name);
+
+    auto web_app_info = std::make_unique<WebAppInstallInfo>();
+    web_app_info->start_url =
+        https_server_.GetURL("app.com", "/sub-app-" + app_name);
+    web_app_info->parent_app_id = app_id_;
+    web_app_info->title = sub_app_name;
+    web_app::test::InstallWebApp(browser()->profile(), std::move(web_app_info),
+                                 /*overwrite_existing_manifest_fields=*/true,
+                                 webapps::WebappInstallSource::SUB_APP);
+  }
+
+  auto* app_service_proxy =
+      apps::AppServiceProxyFactory::GetForProfile(browser()->profile());
+  ASSERT_TRUE(app_service_proxy);
+  {
+    base::RunLoop run_loop;
+    app_service_proxy->UninstallForTesting(
+        app_id_, nullptr, base::BindLambdaForTesting([&](bool dialog_opened) {
+          EXPECT_TRUE(dialog_opened);
+          run_loop.Quit();
+        }));
+    run_loop.Run();
+  }
+
+  std::unordered_set<std::u16string> sub_apps_actual;
+  views::View* view = ActiveView()->GetWidget()->GetContentsView();
+  std::vector<views::View*> views_group;
+  view->GetViewsInGroup(
+      static_cast<int>(AppUninstallDialogView::DialogViewID::SUB_APP_LABEL),
+      &views_group);
+  for (auto* label : views_group) {
+    sub_apps_actual.emplace(static_cast<views::Label*>(label)->GetText());
+  }
+  EXPECT_EQ(sub_apps_actual, sub_apps_expected);
+}
diff --git a/chrome/browser/ui/views/frame/browser_frame_browsertest.cc b/chrome/browser/ui/views/frame/browser_frame_browsertest.cc
index 3ad314f..8442fec 100644
--- a/chrome/browser/ui/views/frame/browser_frame_browsertest.cc
+++ b/chrome/browser/ui/views/frame/browser_frame_browsertest.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/ui/views/frame/browser_frame.h"
 
 #include "base/test/bind.h"
+#include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "chrome/browser/devtools/devtools_window_testing.h"
 #include "chrome/browser/profiles/profile.h"
@@ -22,6 +23,7 @@
 #include "content/public/browser/invalidate_type.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/browser_test_utils.h"
+#include "ui/base/ui_base_features.h"
 #include "ui/color/color_id.h"
 #include "ui/color/color_mixer.h"
 #include "ui/color/color_provider.h"
@@ -69,11 +71,18 @@
   app_browser->window()->Close();
 }
 
-class BrowserFrameColorModeTest : public BrowserFrameTest {
+// Runs browser color scheme tests with ChromeRefresh2023 enabled and disabled.
+class BrowserFrameColorModeTest : public BrowserFrameTest,
+                                  public testing::WithParamInterface<bool> {
  public:
   static constexpr SkColor kLightColor = SK_ColorWHITE;
   static constexpr SkColor kDarkColor = SK_ColorBLACK;
 
+  BrowserFrameColorModeTest() {
+    feature_list_.InitWithFeatureState(features::kChromeRefresh2023,
+                                       GetParam());
+  }
+
   // BrowserFrameTest:
   void SetUpOnMainThread() override {
     BrowserFrameTest::SetUpOnMainThread();
@@ -110,10 +119,13 @@
   }
 
   Profile* profile() { return browser()->profile(); }
+
+ private:
+  base::test::ScopedFeatureList feature_list_;
 };
 
 // Verifies the BrowserFrame honors the BrowserColorScheme pref.
-IN_PROC_BROWSER_TEST_F(BrowserFrameColorModeTest, TracksBrowserColorScheme) {
+IN_PROC_BROWSER_TEST_P(BrowserFrameColorModeTest, TracksBrowserColorScheme) {
   // Assert the browser follows the system color mode. Simulate the system color
   // mode by setting the widget level color mode override.
   views::Widget* browser_frame =
@@ -129,22 +141,33 @@
             browser_frame->GetColorProvider()->GetColor(ui::kColorSysPrimary));
 
   // Set the BrowserColorScheme pref. The BrowserFrame should ignore the system
-  // color mode.
+  // color mode if running ChromeRefresh2023. Otherwise BrowserFrame should
+  // track the system color mode.
   browser_frame->SetColorModeOverride(
       ui::ColorProviderManager::ColorMode::kLight);
   SetBrowserColorScheme(profile(), ThemeService::BrowserColorScheme::kDark);
-  EXPECT_EQ(kDarkColor,
-            browser_frame->GetColorProvider()->GetColor(ui::kColorSysPrimary));
+  if (features::IsChromeRefresh2023()) {
+    EXPECT_EQ(kDarkColor, browser_frame->GetColorProvider()->GetColor(
+                              ui::kColorSysPrimary));
+  } else {
+    EXPECT_EQ(kLightColor, browser_frame->GetColorProvider()->GetColor(
+                               ui::kColorSysPrimary));
+  }
 
   browser_frame->SetColorModeOverride(
       ui::ColorProviderManager::ColorMode::kDark);
   SetBrowserColorScheme(profile(), ThemeService::BrowserColorScheme::kLight);
-  EXPECT_EQ(kLightColor,
-            browser_frame->GetColorProvider()->GetColor(ui::kColorSysPrimary));
+  if (features::IsChromeRefresh2023()) {
+    EXPECT_EQ(kLightColor, browser_frame->GetColorProvider()->GetColor(
+                               ui::kColorSysPrimary));
+  } else {
+    EXPECT_EQ(kDarkColor, browser_frame->GetColorProvider()->GetColor(
+                              ui::kColorSysPrimary));
+  }
 }
 
 // Verifies incognito browsers will always use the dark ColorMode.
-IN_PROC_BROWSER_TEST_F(BrowserFrameColorModeTest, IncognitoAlwaysDarkMode) {
+IN_PROC_BROWSER_TEST_P(BrowserFrameColorModeTest, IncognitoAlwaysDarkMode) {
   // Create an incognito browser.
   Browser* incognito_browser = CreateIncognitoBrowser(profile());
   views::Widget* incognito_browser_frame =
@@ -162,3 +185,5 @@
   EXPECT_EQ(kDarkColor, incognito_browser_frame->GetColorProvider()->GetColor(
                             ui::kColorSysPrimary));
 }
+
+INSTANTIATE_TEST_SUITE_P(All, BrowserFrameColorModeTest, testing::Bool());
diff --git a/chrome/browser/ui/views/profiles/enterprise_profile_welcome_ui_browsertest.cc b/chrome/browser/ui/views/profiles/enterprise_profile_welcome_ui_browsertest.cc
index b6cff092..49276d9 100644
--- a/chrome/browser/ui/views/profiles/enterprise_profile_welcome_ui_browsertest.cc
+++ b/chrome/browser/ui/views/profiles/enterprise_profile_welcome_ui_browsertest.cc
@@ -11,6 +11,7 @@
 #include "base/strings/strcat.h"
 #include "base/test/bind.h"
 #include "base/test/scoped_feature_list.h"
+#include "chrome/browser/signin/signin_browser_test_base.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/test/test_browser_dialog.h"
 #include "chrome/browser/ui/views/profiles/profile_management_step_controller.h"
@@ -131,7 +132,7 @@
 }  // namespace
 
 class EnterpriseWelcomeUIWindowPixelTest
-    : public UiBrowserTest,
+    : public ProfilesPixelTestBaseT<UiBrowserTest>,
       public testing::WithParamInterface<EnterpriseWelcomeTestParam> {
  public:
   EnterpriseWelcomeUIWindowPixelTest() {
@@ -151,8 +152,8 @@
         ui::ScopedAnimationDurationScaleMode::ZERO_DURATION);
     DCHECK(browser());
 
-    auto account_info = SignInWithPrimaryAccount(
-        browser()->profile(), AccountManagementStatus::kManaged);
+    auto account_info =
+        SignInWithPrimaryAccount(AccountManagementStatus::kManaged);
     profile_picker_view_ = new ProfileManagementStepTestView(
         ProfilePicker::Params::ForFirstRun(browser()->profile()->GetPath(),
                                            base::DoNothing()),
@@ -207,7 +208,7 @@
                          &ParamToTestSuffix);
 
 class EnterpriseWelcomeUIDialogPixelTest
-    : public DialogBrowserTest,
+    : public ProfilesPixelTestBaseT<DialogBrowserTest>,
       public testing::WithParamInterface<EnterpriseWelcomeTestParam> {
  public:
   EnterpriseWelcomeUIDialogPixelTest() {
@@ -222,8 +223,8 @@
   void ShowUi(const std::string& name) override {
     DCHECK(browser());
 
-    auto account_info = SignInWithPrimaryAccount(
-        browser()->profile(), AccountManagementStatus::kManaged);
+    auto account_info =
+        SignInWithPrimaryAccount(AccountManagementStatus::kManaged);
     auto url = GURL(chrome::kChromeUIEnterpriseProfileWelcomeURL);
 
     // Wait for the web content to load to be able to properly render the
diff --git a/chrome/browser/ui/views/profiles/profile_menu_view_base.cc b/chrome/browser/ui/views/profiles/profile_menu_view_base.cc
index 86911d7d..4e887ec3 100644
--- a/chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ b/chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -383,17 +383,23 @@
             .Rasterize(GetColorProvider());
     sized_avatar_image = AddCircularBackground(
         sized_avatar_image, GetBackgroundColor(), kIdentityImageSizeInclBorder);
-    gfx::ImageSkia sized_badge = AddCircularBackground(
-        SizeImage(root_view_->GetSyncIcon(), kBadgeSize), GetBackgroundColor(),
-        kBadgeSize + 2 * kBadgePadding);
-    gfx::ImageSkia sized_badge_with_shadow =
-        gfx::ImageSkiaOperations::CreateImageWithDropShadow(
-            sized_badge, gfx::ShadowValue::MakeMdShadowValues(/*elevation=*/1,
-                                                              SK_ColorBLACK));
 
-    gfx::ImageSkia badged_image = gfx::ImageSkiaOperations::CreateIconWithBadge(
-        sized_avatar_image, sized_badge_with_shadow);
-    SetImage(badged_image);
+    if (features::IsChromeRefresh2023()) {
+      SetImage(sized_avatar_image);
+    } else {
+      gfx::ImageSkia sized_badge = AddCircularBackground(
+          SizeImage(root_view_->GetSyncIcon(), kBadgeSize),
+          GetBackgroundColor(), kBadgeSize + 2 * kBadgePadding);
+      gfx::ImageSkia sized_badge_with_shadow =
+          gfx::ImageSkiaOperations::CreateImageWithDropShadow(
+              sized_badge, gfx::ShadowValue::MakeMdShadowValues(/*elevation=*/1,
+                                                                SK_ColorBLACK));
+
+      gfx::ImageSkia badged_image =
+          gfx::ImageSkiaOperations::CreateIconWithBadge(
+              sized_avatar_image, sized_badge_with_shadow);
+      SetImage(badged_image);
+    }
   }
 
  private:
diff --git a/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.cc b/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.cc
index 739c13d..25c41f1e 100644
--- a/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.cc
+++ b/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.cc
@@ -3,7 +3,9 @@
 // found in the LICENSE file.
 
 #include "chrome/browser/ui/views/profiles/profiles_pixel_test_utils.h"
+
 #include <memory>
+
 #include "base/command_line.h"
 #include "base/scoped_environment_variable_override.h"
 #include "base/test/scoped_feature_list.h"
@@ -12,6 +14,7 @@
 #include "chrome/common/chrome_features.h"
 #include "components/signin/public/base/signin_buildflags.h"
 #include "components/signin/public/identity_manager/account_info.h"
+#include "components/signin/public/identity_manager/identity_test_environment.h"
 #include "components/signin/public/identity_manager/identity_test_utils.h"
 #include "ui/base/ui_base_features.h"
 #include "ui/base/ui_base_switches.h"
@@ -40,21 +43,26 @@
 }  // namespace
 
 AccountInfo SignInWithPrimaryAccount(
-    Profile* profile,
+    signin::IdentityTestEnvironment& identity_test_env,
     AccountManagementStatus management_status) {
-  DCHECK(profile);
+  auto* identity_manager = identity_test_env.identity_manager();
 
-  auto* identity_manager = IdentityManagerFactory::GetForProfile(profile);
-  auto core_account_info = signin::MakePrimaryAccountAvailable(
-      identity_manager,
+  const std::string email =
       management_status == AccountManagementStatus::kManaged
           ? "joe.consumer@example.com"
-          : "joe.consumer@gmail.com",
-      signin::ConsentLevel::kSignin);
-  auto account_info = FillAccountInfo(core_account_info, management_status);
-  signin::UpdateAccountInfoForAccount(identity_manager, account_info);
+          : "joe.consumer@gmail.com";
+  AccountInfo base_account_info = identity_test_env.MakePrimaryAccountAvailable(
+      email, signin::ConsentLevel::kSignin);
 
-  return account_info;
+  identity_test_env.UpdateAccountInfoForAccount(
+      FillAccountInfo(base_account_info, management_status));
+
+  AccountInfo primary_account_info =
+      identity_manager->FindExtendedAccountInfoByEmailAddress(email);
+  CHECK_EQ(primary_account_info.account_id, base_account_info.account_id);
+  CHECK(primary_account_info.IsValid());
+
+  return primary_account_info;
 }
 
 void SetUpPixelTestCommandLine(
diff --git a/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.h b/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.h
index 09651e29..d7bad7a6 100644
--- a/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.h
+++ b/chrome/browser/ui/views/profiles/profiles_pixel_test_utils.h
@@ -8,6 +8,8 @@
 #include <memory>
 #include <string>
 
+#include "chrome/browser/signin/signin_browser_test_base.h"
+
 namespace base {
 class CommandLine;
 class ScopedEnvironmentVariableOverride;
@@ -18,8 +20,11 @@
 }  // namespace test
 }  // namespace base
 
+namespace signin {
+class IdentityTestEnvironment;
+}
+
 struct AccountInfo;
-class Profile;
 
 // Parameters that are used for most of the pixel tests. These params
 // will be used to create combinations with the test name as `test_suffix` and
@@ -40,9 +45,10 @@
 };
 
 // Used to create a dummy account and sign it it as a primary account.
-AccountInfo SignInWithPrimaryAccount(Profile* profile,
-                                     AccountManagementStatus management_status =
-                                         AccountManagementStatus::kNonManaged);
+AccountInfo SignInWithPrimaryAccount(
+    signin::IdentityTestEnvironment& identity_test_env,
+    AccountManagementStatus management_status =
+        AccountManagementStatus::kNonManaged);
 
 // Sets up the parameters that are passed to the command line. For example,
 // to enable dark mode, we need to pass `kForceDarkMode` to the command line.
@@ -61,4 +67,28 @@
     std::vector<base::test::FeatureRef>& enabled_features,
     std::vector<base::test::FeatureRef>& disabled_features);
 
+// Base class for pixel tests for profiles-related features.
+//
+// Provides helpers to set up the primary account, see
+// `SignInWithPrimaryAccount()`.
+template <typename T,
+          typename =
+              std::enable_if_t<std::is_base_of_v<InProcessBrowserTest, T>>>
+class ProfilesPixelTestBaseT : public SigninBrowserTestBaseT<T> {
+ public:
+  template <typename... Args>
+  explicit ProfilesPixelTestBaseT(Args&&... args)
+      : SigninBrowserTestBaseT<T>(std::forward<Args>(args)...) {}
+
+  ~ProfilesPixelTestBaseT() override = default;
+
+  // Used to create a dummy account and sign it it as a primary account.
+  AccountInfo SignInWithPrimaryAccount(
+      AccountManagementStatus management_status =
+          AccountManagementStatus::kNonManaged) {
+    return ::SignInWithPrimaryAccount(*this->identity_test_env(),
+                                      management_status);
+  }
+};
+
 #endif  // CHROME_BROWSER_UI_VIEWS_PROFILES_PROFILES_PIXEL_TEST_UTILS_H_
diff --git a/chrome/browser/ui/views/profiles/sync_confirmation_ui_browsertest.cc b/chrome/browser/ui/views/profiles/sync_confirmation_ui_browsertest.cc
index 1dd4d59..f83ef91 100644
--- a/chrome/browser/ui/views/profiles/sync_confirmation_ui_browsertest.cc
+++ b/chrome/browser/ui/views/profiles/sync_confirmation_ui_browsertest.cc
@@ -2,10 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/ui/webui/signin/sync_confirmation_ui.h"
+
 #include <memory>
+
 #include "base/scoped_environment_variable_override.h"
 #include "base/strings/strcat.h"
 #include "base/test/scoped_feature_list.h"
+#include "chrome/browser/signin/signin_browser_test_base.h"
 #include "chrome/browser/signin/signin_features.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/test/test_browser_dialog.h"
@@ -14,7 +18,6 @@
 #include "chrome/browser/ui/views/profiles/profile_picker_view_test_utils.h"
 #include "chrome/browser/ui/views/profiles/profiles_pixel_test_utils.h"
 #include "chrome/browser/ui/webui/signin/signin_url_utils.h"
-#include "chrome/browser/ui/webui/signin/sync_confirmation_ui.h"
 #include "chrome/common/webui_url_constants.h"
 #include "components/signin/public/base/signin_buildflags.h"
 #include "components/signin/public/base/signin_switches.h"
@@ -141,7 +144,7 @@
 }  // namespace
 
 class SyncConfirmationUIWindowPixelTest
-    : public UiBrowserTest,
+    : public ProfilesPixelTestBaseT<UiBrowserTest>,
       public testing::WithParamInterface<SyncConfirmationTestParam> {
  public:
   SyncConfirmationUIWindowPixelTest() {
@@ -159,8 +162,7 @@
         ui::ScopedAnimationDurationScaleMode::ZERO_DURATION);
     DCHECK(browser());
 
-    SignInWithPrimaryAccount(browser()->profile(),
-                             GetParam().account_management_status);
+    SignInWithPrimaryAccount(GetParam().account_management_status);
     profile_picker_view_ = new ProfileManagementStepTestView(
         ProfilePicker::Params::ForFirstRun(browser()->profile()->GetPath(),
                                            base::DoNothing()),
@@ -213,7 +215,7 @@
                          &ParamToTestSuffix);
 
 class SyncConfirmationUIDialogPixelTest
-    : public DialogBrowserTest,
+    : public ProfilesPixelTestBaseT<DialogBrowserTest>,
       public testing::WithParamInterface<SyncConfirmationTestParam> {
  public:
   SyncConfirmationUIDialogPixelTest() {
@@ -227,8 +229,7 @@
   void ShowUi(const std::string& name) override {
     DCHECK(browser());
 
-    SignInWithPrimaryAccount(browser()->profile(),
-                             GetParam().account_management_status);
+    SignInWithPrimaryAccount(GetParam().account_management_status);
     auto url = GURL(chrome::kChromeUISyncConfirmationURL);
     if (GetParam().sync_style == SyncConfirmationStyle::kSigninInterceptModal) {
       url = AppendSyncConfirmationQueryParams(url, GetParam().sync_style);
diff --git a/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc b/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc
index 2618ff5..4202a44 100644
--- a/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc
+++ b/chrome/browser/ui/webui/management/management_ui_handler_unittest.cc
@@ -19,8 +19,9 @@
 #include "base/task/single_thread_task_runner.h"
 #include "base/values.h"
 #include "build/chromeos_buildflags.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
+#include "chrome/browser/ui/webui/management/management_ui_handler.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
@@ -1495,25 +1496,25 @@
   // When policies are set to values that enable the feature without a usable DM
   // token, nothing to report.
   policy::SetDMTokenForTesting(policy::DMToken::CreateInvalidToken());
-  safe_browsing::SetAnalysisConnector(profile_no_domain->GetPrefs(),
-                                      enterprise_connectors::FILE_ATTACHED,
-                                      "[{\"service_provider\":\"google\"}]");
-  safe_browsing::SetAnalysisConnector(profile_no_domain->GetPrefs(),
-                                      enterprise_connectors::FILE_DOWNLOADED,
-                                      "[{\"service_provider\":\"google\"}]");
-  safe_browsing::SetAnalysisConnector(profile_no_domain->GetPrefs(),
-                                      enterprise_connectors::BULK_DATA_ENTRY,
-                                      "[{\"service_provider\":\"google\"}]");
-  safe_browsing::SetAnalysisConnector(profile_no_domain->GetPrefs(),
-                                      enterprise_connectors::PRINT,
-                                      "[{\"service_provider\":\"google\"}]");
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_no_domain->GetPrefs(), enterprise_connectors::FILE_ATTACHED,
+      "[{\"service_provider\":\"google\"}]");
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_no_domain->GetPrefs(), enterprise_connectors::FILE_DOWNLOADED,
+      "[{\"service_provider\":\"google\"}]");
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_no_domain->GetPrefs(), enterprise_connectors::BULK_DATA_ENTRY,
+      "[{\"service_provider\":\"google\"}]");
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_no_domain->GetPrefs(), enterprise_connectors::PRINT,
+      "[{\"service_provider\":\"google\"}]");
 #if BUILDFLAG(IS_CHROMEOS)
-  safe_browsing::SetAnalysisConnector(profile_no_domain->GetPrefs(),
-                                      enterprise_connectors::FILE_TRANSFER,
-                                      "[{\"service_provider\":\"google\"}]");
+  enterprise_connectors::test::SetAnalysisConnector(
+      profile_no_domain->GetPrefs(), enterprise_connectors::FILE_TRANSFER,
+      "[{\"service_provider\":\"google\"}]");
 #endif
-  safe_browsing::SetOnSecurityEventReporting(profile_no_domain->GetPrefs(),
-                                             true);
+  enterprise_connectors::test::SetOnSecurityEventReporting(
+      profile_no_domain->GetPrefs(), true);
   profile_no_domain->GetPrefs()->SetInteger(
       prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode, 1);
   profile_no_domain->GetPrefs()->SetInteger(
diff --git a/chrome/browser/ui/webui/password_manager/password_manager_ui.cc b/chrome/browser/ui/webui/password_manager/password_manager_ui.cc
index abf18dca..a097722 100644
--- a/chrome/browser/ui/webui/password_manager/password_manager_ui.cc
+++ b/chrome/browser/ui/webui/password_manager/password_manager_ui.cc
@@ -142,6 +142,10 @@
     {"copyUsername", IDS_PASSWORD_MANAGER_UI_COPY_USERNAME},
     {"delete", IDS_DELETE},
     {"deletePassword", IDS_DELETE},
+    {"deletePasskeyConfirmationDescription",
+     IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_DESCRIPTION},
+    {"deletePasskeyConfirmationTitle",
+     IDS_PASSWORD_MANAGER_UI_DELETE_PASSKEY_CONFIRMATION_TITLE},
     {"deletePasswordConfirmationDescription",
      IDS_PASSWORD_MANAGER_UI_DELETE_PASSWORD_CONFIRMATION_DESCRIPTION},
     {"deletePasswordConfirmationTitle",
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
index 3c6bebc..58ea319 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler_unittest.cc
@@ -50,10 +50,10 @@
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
 #if BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
-#include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_delegate.h"
 #include "chrome/browser/enterprise/connectors/common.h"
+#include "chrome/browser/enterprise/connectors/test/deep_scanning_test_utils.h"
+#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_delegate.h"
 #include "chrome/browser/policy/dm_token_utils.h"
-#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
 
 #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
 #include "chrome/browser/enterprise/connectors/analysis/fake_content_analysis_sdk_manager.h"  //nogncheck
@@ -1557,7 +1557,7 @@
   void SetUp() override {
     enterprise_connectors::ContentAnalysisDelegate::SetFactoryForTesting(
         base::BindRepeating(
-            &enterprise_connectors::FakeContentAnalysisDelegate::Create,
+            &enterprise_connectors::test::FakeContentAnalysisDelegate::Create,
             run_loop_.QuitClosure(),
             base::BindRepeating(
                 &ContentAnalysisPrintPreviewHandlerTest::ScanningResponse,
@@ -1568,7 +1568,7 @@
     PrintPreviewHandlerTest::SetUp();
 
     // Set the policy that enables local content analysis for print.
-    safe_browsing::SetAnalysisConnector(
+    enterprise_connectors::test::SetAnalysisConnector(
         profile()->GetPrefs(), enterprise_connectors::AnalysisConnector::PRINT,
         R"({
           "service_provider": "local_system_agent",
diff --git a/chrome/browser/webauthn/android/chrome_webauthn_client_android.h b/chrome/browser/webauthn/android/chrome_webauthn_client_android.h
index 8dd003c..3988bc25 100644
--- a/chrome/browser/webauthn/android/chrome_webauthn_client_android.h
+++ b/chrome/browser/webauthn/android/chrome_webauthn_client_android.h
@@ -9,7 +9,7 @@
 #include "components/webauthn/android/webauthn_client_android.h"
 
 // Chrome implementation of WebAuthnClientAndroid.
-class ChromeWebAuthnClientAndroid : public components::WebAuthnClientAndroid {
+class ChromeWebAuthnClientAndroid : public webauthn::WebAuthnClientAndroid {
  public:
   ChromeWebAuthnClientAndroid();
   ~ChromeWebAuthnClientAndroid() override;
@@ -18,7 +18,7 @@
   ChromeWebAuthnClientAndroid& operator=(const ChromeWebAuthnClientAndroid&) =
       delete;
 
-  // components::WebAuthnClientAndroid:
+  // webauthn::WebAuthnClientAndroid:
   void OnWebAuthnRequestPending(
       content::RenderFrameHost* frame_host,
       const std::vector<device::DiscoverableCredentialMetadata>& credentials,
diff --git a/chrome/browser/webauthn/passkey_model_factory.cc b/chrome/browser/webauthn/passkey_model_factory.cc
index 705cd01..444954d 100644
--- a/chrome/browser/webauthn/passkey_model_factory.cc
+++ b/chrome/browser/webauthn/passkey_model_factory.cc
@@ -19,8 +19,8 @@
   return instance.get();
 }
 
-PasskeyModel* PasskeyModelFactory::GetForProfile(Profile* profile) {
-  return static_cast<PasskeyModel*>(
+webauthn::PasskeyModel* PasskeyModelFactory::GetForProfile(Profile* profile) {
+  return static_cast<webauthn::PasskeyModel*>(
       GetInstance()->GetServiceForBrowserContext(profile, true));
 }
 
@@ -41,7 +41,8 @@
 KeyedService* PasskeyModelFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
   DCHECK(base::FeatureList::IsEnabled(syncer::kSyncWebauthnCredentials));
-  return new PasskeySyncBridge(ModelTypeStoreServiceFactory::GetForProfile(
-                                   Profile::FromBrowserContext(context))
-                                   ->GetStoreFactory());
+  return new webauthn::PasskeySyncBridge(
+      ModelTypeStoreServiceFactory::GetForProfile(
+          Profile::FromBrowserContext(context))
+          ->GetStoreFactory());
 }
diff --git a/chrome/browser/webauthn/passkey_model_factory.h b/chrome/browser/webauthn/passkey_model_factory.h
index 91fa34e..31f3d82 100644
--- a/chrome/browser/webauthn/passkey_model_factory.h
+++ b/chrome/browser/webauthn/passkey_model_factory.h
@@ -17,7 +17,7 @@
 class PasskeyModelFactory : public ProfileKeyedServiceFactory {
  public:
   static PasskeyModelFactory* GetInstance();
-  static PasskeyModel* GetForProfile(Profile* profile);
+  static webauthn::PasskeyModel* GetForProfile(Profile* profile);
 
  private:
   friend class base::NoDestructor<PasskeyModelFactory>;
diff --git a/chrome/build/lacros64.pgo.txt b/chrome/build/lacros64.pgo.txt
index 0c7fefd..07e8c21e 100644
--- a/chrome/build/lacros64.pgo.txt
+++ b/chrome/build/lacros64.pgo.txt
@@ -1 +1 @@
-chrome-chromeos-amd64-generic-main-1686700798-cb29b14c7ed9966349373b19f56cb9cdb2793fcd.profdata
+chrome-chromeos-amd64-generic-main-1686744225-488fad4d4f07cd55172be57fcb8002f7d018c761.profdata
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index 2a8241e..592e120f 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1686700798-35913de13d5970f166252b3cd6a37d6724a6e7a1.profdata
+chrome-linux-main-1686743662-938f5d72d478557f00ae04a0b4bf2070f779100d.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index d71804c..9453079 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1686714401-49d2bcd87064a5d7429546cca1936d99ff78da98.profdata
+chrome-mac-arm-main-1686751181-b090ec8fcf0029d366528dd7a1aca48ad0cc3ce7.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index 45f51ca..e55b0126 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1686679195-ac74d94d2c6336a23baa367010b37789b8e53e48.profdata
+chrome-mac-main-1686743662-c8267b8ceb10f216f1d5ab5d1b61897c36fe8886.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index a61ff1c..ca8d11b9 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1686711525-32dc40b17b5db2bab91c6ecbc661a4e664f9cf8c.profdata
+chrome-win32-main-1686743662-490e2ee9552b695d673012a14d92724384535b9b.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 64f21b3..e8e8c9d 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1686711525-a02dbfcd450a654bc397a1e40a04ce5a4c65346e.profdata
+chrome-win64-main-1686743662-1cdc8d15119eba6f66cff7bf15709d8d1f07439a.profdata
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
index 2f542a11..fc00d78 100644
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -1737,6 +1737,11 @@
 const char kManagedWebHidAllowDevicesForUrls[] =
     "managed.web_hid_allow_devices_for_urls";
 
+// Used to store the value of the DeviceLoginScreenWebHidAllowDevicesForUrls
+// policy.
+const char kManagedWebHidAllowDevicesForUrlsOnLoginScreen[] =
+    "managed.web_hid_allow_devices_for_urls_on_login_screen";
+
 // Used to store the value of the WebHidAllowAllDevicesWithHidUsagesForUrls
 // policy.
 const char kManagedWebHidAllowDevicesWithHidUsagesForUrls[] =
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index 11625f0..0fe06b9 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -553,6 +553,7 @@
 extern const char kManagedSerialAllowUsbDevicesForUrls[];
 extern const char kManagedWebHidAllowAllDevicesForUrls[];
 extern const char kManagedWebHidAllowDevicesForUrls[];
+extern const char kManagedWebHidAllowDevicesForUrlsOnLoginScreen[];
 extern const char kManagedWebHidAllowDevicesWithHidUsagesForUrls[];
 #endif  // !BUILDFLAG(IS_ANDROID)
 
diff --git a/chrome/installer/util/helper.cc b/chrome/installer/util/helper.cc
index 0aedd32..841ee08 100644
--- a/chrome/installer/util/helper.cc
+++ b/chrome/installer/util/helper.cc
@@ -4,6 +4,12 @@
 
 #include "chrome/installer/util/helper.h"
 
+#include <array>
+#include <string>
+
+#include "base/check.h"
+#include "base/containers/fixed_flat_map.h"
+#include "base/files/file_util.h"
 #include "base/path_service.h"
 #include "base/win/registry.h"
 #include "chrome/install_static/install_util.h"
@@ -14,9 +20,42 @@
 
 namespace {
 
-// Returns a valid file path with the proper casing from the system if
-// |target_dir| is a valid target for the browser's installation and
-// |system_install| is true. Returns an empty file path otherwise.
+// Returns the path denoted by `key`. If `base::PathService` fails to return the
+// path to a directory that exists, the value of the environment variable
+// corresponding to `key`, if any, is used if it names an absolute directory
+// that exists. Returns an empty path if all attempts fail.
+base::FilePath GetPathWithEnvironmentFallback(int key) {
+  if (base::FilePath path; base::PathService::Get(key, &path) &&
+                           !path.empty() && base::DirectoryExists(path)) {
+    return path;
+  }
+
+  static constexpr auto kKeyToVariable =
+      base::MakeFixedFlatMapSorted<int, base::WStringPiece>(
+          {{base::DIR_PROGRAM_FILES, L"PROGRAMFILES"},
+           {base::DIR_PROGRAM_FILESX86, L"PROGRAMFILES(X86)"},
+           {base::DIR_LOCAL_APP_DATA, L"LOCALAPPDATA"}});
+  if (auto* it = kKeyToVariable.find(key); it != kKeyToVariable.end()) {
+    std::array<wchar_t, MAX_PATH> value;
+    value[0] = L'\0';
+    if (DWORD ret = ::GetEnvironmentVariableW(it->second.data(), value.data(),
+                                              value.size());
+        ret && ret < value.size()) {
+      if (base::FilePath path(value.data()); path.IsAbsolute() &&
+                                             !path.ReferencesParent() &&
+                                             base::DirectoryExists(path)) {
+        return path;
+      }
+    }
+  }
+
+  return {};
+}
+
+// Returns a valid file path with the proper casing from the system if `prefs`
+// has a `distribution.program_files_dir` value that is a valid target for the
+// browser's installation and `system_install` is true. Returns an empty file
+// path otherwise.
 base::FilePath GetInstallationDirFromPrefs(
     const installer::InitialPreferences& prefs,
     bool system_install) {
@@ -30,10 +69,14 @@
 
   base::FilePath expected_dir;
   bool valid_program_files_path =
-      ((base::PathService::Get(base::DIR_PROGRAM_FILES, &expected_dir) &&
+      ((!(expected_dir =
+              GetPathWithEnvironmentFallback(base::DIR_PROGRAM_FILES))
+             .empty() &&
         base::FilePath::CompareEqualIgnoreCase(program_files_dir.value(),
                                                expected_dir.value())) ||
-       (base::PathService::Get(base::DIR_PROGRAM_FILESX86, &expected_dir) &&
+       (!(expected_dir =
+              GetPathWithEnvironmentFallback(base::DIR_PROGRAM_FILESX86))
+             .empty() &&
         base::FilePath::CompareEqualIgnoreCase(program_files_dir.value(),
                                                expected_dir.value())));
 
@@ -44,58 +87,52 @@
              : base::FilePath();
 }
 
-// Rarely PathService can fail to supply a path from SHGetFolderPath but we can
-// fallback to values gleaned from the environment. Returns an empty path on
-// failure.
-base::FilePath GetDefaultInstallRootFromEnvironment(bool system_install) {
-  static constexpr wchar_t kProgramFiles[] = L"PROGRAMFILES";
-  static constexpr wchar_t kLocalAppData[] = L"LOCALAPPDATA";
+// Returns the default install path given an install level.
+base::FilePath GetDefaultChromeInstallPathChecked(bool system_install) {
+  base::FilePath install_path = GetPathWithEnvironmentFallback(
+      system_install ? base::DIR_PROGRAM_FILES : base::DIR_LOCAL_APP_DATA);
 
-  wchar_t value[MAX_PATH];
-  *value = L'\0';
-  DWORD ret = ::GetEnvironmentVariableW(
-      system_install ? kProgramFiles : kLocalAppData, value, _countof(value));
-  if (ret && ret < _countof(value)) {
-    return base::FilePath(value);
-  }
-  return base::FilePath();
-}
-
-base::FilePath GetDefaultChromeInstallPath(bool system_install) {
-  base::FilePath install_path;
-  int key = system_install ? base::DIR_PROGRAM_FILES : base::DIR_LOCAL_APP_DATA;
-  if (!base::PathService::Get(key, &install_path)) {
-    // Fallback to environment.
-    install_path = GetDefaultInstallRootFromEnvironment(system_install);
-  }
   // Later steps assume a valid install path was found.
   CHECK(!install_path.empty());
-  install_path =
-      install_path.Append(install_static::GetChromeInstallSubDirectory());
-  install_path = install_path.Append(installer::kInstallBinaryDir);
-  return install_path;
+  return install_path.Append(install_static::GetChromeInstallSubDirectory())
+      .Append(installer::kInstallBinaryDir);
 }
 
+// Returns the path to the installation at `system_install` provided that the
+// browser is installed and its `UninstallString` points into a valid install
+// directory.
 base::FilePath GetCurrentInstallPathFromRegistry(bool system_install) {
   base::FilePath install_path;
-  if (!InstallUtil::GetChromeVersion(system_install).IsValid())
+
+  if (!InstallUtil::GetChromeVersion(system_install).IsValid()) {
     return install_path;
+  }
 
   std::wstring uninstall_string;
-  base::win::RegKey key(system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER,
-                        install_static::GetClientStateKeyPath().c_str(),
-                        KEY_QUERY_VALUE | KEY_WOW64_32KEY);
-  key.ReadValue(installer::kUninstallStringField, &uninstall_string);
+  const HKEY root = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
+  base::win::RegKey(root, install_static::GetClientStateKeyPath().c_str(),
+                    KEY_QUERY_VALUE | KEY_WOW64_32KEY)
+      .ReadValue(installer::kUninstallStringField, &uninstall_string);
+  if (uninstall_string.empty()) {
+    return install_path;
+  }
+
+  base::FilePath setup_path(std::move(uninstall_string));
+  if (!setup_path.IsAbsolute() || setup_path.ReferencesParent()) {
+    return install_path;
+  }
 
   // The UninstallString has the format
   // [InstallPath]/[version]/Installer/setup.exe. In order to get the
   // [InstallPath], the full path must be pruned of the last 3 components.
-  if (!uninstall_string.empty()) {
-    install_path = base::FilePath(std::move(uninstall_string))
-                       .DirName()
-                       .DirName()
-                       .DirName();
+  install_path = setup_path.DirName().DirName().DirName();
+
+  // The install path must not be at the root of the volume and must exist.
+  if (install_path == install_path.DirName() ||
+      !base::DirectoryExists(install_path)) {
+    install_path = base::FilePath();
   }
+
   return install_path;
 }
 
@@ -107,7 +144,7 @@
   base::FilePath install_path =
       GetCurrentInstallPathFromRegistry(system_install);
   if (install_path.empty())
-    install_path = GetDefaultChromeInstallPath(system_install);
+    install_path = GetDefaultChromeInstallPathChecked(system_install);
   return install_path;
 }
 
@@ -120,7 +157,7 @@
 
   install_path = GetInstallationDirFromPrefs(prefs, system_install);
   if (install_path.empty())
-    install_path = GetDefaultChromeInstallPath(system_install);
+    install_path = GetDefaultChromeInstallPathChecked(system_install);
   return install_path;
 }
 
diff --git a/chrome/installer/util/helper.h b/chrome/installer/util/helper.h
index bbbe04c..f0e586a 100644
--- a/chrome/installer/util/helper.h
+++ b/chrome/installer/util/helper.h
@@ -13,14 +13,14 @@
 
 class InitialPreferences;
 
-// This function returns the install path for Chrome depending on whether it's
-// a system wide install or a user specific install.
-// Returns the install path stored at
-// Software\Google\Update\ClientState\{appguid}\UninstallString
-// under HKLM if |system_install| is true, HKCU otherwise. If no path was stored
-// in the registry, returns (%ProgramFiles%\[Company\]Product\Application) if
-// |system_install| is true, otherwise returns user specific location
-// (%LOCALAPPDATA%\[Company\]Product\Application).
+// Returns Chrome's install path for either a per-user or a per-machine install.
+// If Chrome is installed at the level specified by `system_install` (as
+// indicated by the presence of a valid version value), the install path derived
+// from the value in the Windows registry at
+// [HKLM|HKCU]\Software\Google\Update\ClientState\{appguid}\UninstallString is
+// returned if it is absolute and exists. Otherwise, the path
+// ([%ProgramFiles%|%LOCALAPPDATA%]\[Company\]Product\Application) is returned,
+// provided that the expanded variable yields an absolute path that exists.
 base::FilePath GetChromeInstallPath(bool system_install);
 
 // Returns a path to the directory holding chrome.exe for either a system wide
diff --git a/chrome/installer/util/helper_unittest.cc b/chrome/installer/util/helper_unittest.cc
index bf9f2af..d8053915 100644
--- a/chrome/installer/util/helper_unittest.cc
+++ b/chrome/installer/util/helper_unittest.cc
@@ -4,7 +4,10 @@
 
 #include "chrome/installer/util/helper.h"
 
+#include <windows.h>
+
 #include "base/files/file_path.h"
+#include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/path_service.h"
 #include "base/test/scoped_path_override.h"
@@ -21,6 +24,35 @@
 
 namespace installer {
 
+namespace {
+
+// A helper that overrides an environment variable for the lifetime of an
+// instance.
+class ScopedEnvironmentOverride {
+ public:
+  ScopedEnvironmentOverride(base::WStringPiece name, const wchar_t* new_value)
+      : name_(name) {
+    std::array<wchar_t, MAX_PATH> value;
+    value[0] = L'\0';
+    DWORD len =
+        ::GetEnvironmentVariableW(name_.c_str(), value.data(), value.size());
+    if (len > 0 && len < value.size()) {
+      old_value_.emplace(value.data(), len);
+    }
+    ::SetEnvironmentVariableW(name_.c_str(), new_value);
+  }
+  ~ScopedEnvironmentOverride() {
+    ::SetEnvironmentVariableW(name_.c_str(),
+                              old_value_ ? old_value_->c_str() : nullptr);
+  }
+
+ private:
+  const std::wstring name_;
+  absl::optional<std::wstring> old_value_;
+};
+
+}  // namespace
+
 struct Params {
   Params(bool system_level, absl::optional<int> target_dir_key)
       : system_level(system_level), target_dir_key(target_dir_key) {}
@@ -101,6 +133,26 @@
 }
 
 TEST_P(GetChromeInstallPathTest, RegistryValueSet) {
+  const base::FilePath install_path =
+      random_path()
+          .Append(install_static::GetChromeInstallSubDirectory())
+          .Append(kInstallBinaryDir);
+  ASSERT_TRUE(base::CreateDirectory(install_path));
+  base::win::RegKey client_state_key(GetClientStateRegKey());
+  ASSERT_EQ(client_state_key.WriteValue(
+                kUninstallStringField,
+                install_path.AppendASCII("1.0.0.0\\Installer\\setup.exe")
+                    .value()
+                    .c_str()),
+            ERROR_SUCCESS);
+
+  base::win::RegKey client_key(GetClientsRegKey());
+  ASSERT_EQ(client_key.WriteValue(google_update::kRegVersionField, L"1.0.0.0"),
+            ERROR_SUCCESS);
+  EXPECT_EQ(GetChromeInstallPath(is_system_level()), install_path);
+}
+
+TEST_P(GetChromeInstallPathTest, NoDirectory) {
   base::win::RegKey client_state_key(GetClientStateRegKey());
   ASSERT_EQ(client_state_key.WriteValue(
                 kUninstallStringField,
@@ -116,9 +168,64 @@
   ASSERT_EQ(client_key.WriteValue(google_update::kRegVersionField, L"1.0.0.0"),
             ERROR_SUCCESS);
   EXPECT_EQ(GetChromeInstallPath(is_system_level()),
-            random_path()
-                .Append(install_static::GetChromeInstallSubDirectory())
-                .Append(kInstallBinaryDir));
+            GetExpectedPath(is_system_level()));
+}
+
+TEST_P(GetChromeInstallPathTest, ReferencesParent) {
+  const base::FilePath install_path =
+      random_path()
+          .Append(install_static::GetChromeInstallSubDirectory())
+          .Append(kInstallBinaryDir);
+  ASSERT_TRUE(base::CreateDirectory(install_path));
+  base::win::RegKey client_state_key(GetClientStateRegKey());
+  ASSERT_EQ(client_state_key.WriteValue(
+                kUninstallStringField,
+                install_path
+                    .AppendASCII("1.0.0.0\\Installer\\..\\Installer\\setup.exe")
+                    .value()
+                    .c_str()),
+            ERROR_SUCCESS);
+
+  base::win::RegKey client_key(GetClientsRegKey());
+  ASSERT_EQ(client_key.WriteValue(google_update::kRegVersionField, L"1.0.0.0"),
+            ERROR_SUCCESS);
+  EXPECT_EQ(GetChromeInstallPath(is_system_level()),
+            GetExpectedPath(is_system_level()));
+}
+
+TEST_P(GetChromeInstallPathTest, NotAbsolute) {
+  base::win::RegKey client_state_key(GetClientStateRegKey());
+  ASSERT_EQ(client_state_key.WriteValue(
+                kUninstallStringField,
+                base::FilePath(install_static::GetChromeInstallSubDirectory())
+                    .Append(kInstallBinaryDir)
+                    .AppendASCII("1.0.0.0\\Installer\\setup.exe")
+                    .value()
+                    .c_str()),
+            ERROR_SUCCESS);
+
+  base::win::RegKey client_key(GetClientsRegKey());
+  ASSERT_EQ(client_key.WriteValue(google_update::kRegVersionField, L"1.0.0.0"),
+            ERROR_SUCCESS);
+  EXPECT_EQ(GetChromeInstallPath(is_system_level()),
+            GetExpectedPath(is_system_level()));
+}
+
+TEST_P(GetChromeInstallPathTest, AtRoot) {
+  base::win::RegKey client_state_key(GetClientStateRegKey());
+  ASSERT_EQ(
+      client_state_key.WriteValue(
+          kUninstallStringField,
+          base::FilePath(FILE_PATH_LITERAL("C:\\1.0.0.0\\Installer\\setup.exe"))
+              .value()
+              .c_str()),
+      ERROR_SUCCESS);
+
+  base::win::RegKey client_key(GetClientsRegKey());
+  ASSERT_EQ(client_key.WriteValue(google_update::kRegVersionField, L"1.0.0.0"),
+            ERROR_SUCCESS);
+  EXPECT_EQ(GetChromeInstallPath(is_system_level()),
+            GetExpectedPath(is_system_level()));
 }
 
 TEST_P(GetChromeInstallPathTest, RegistryValueSetWrongScope) {
@@ -155,6 +262,34 @@
             GetExpectedPath(is_system_level()));
 }
 
+// Tests that the environment variable fallback is used if the PathService
+// returns a path that doesn't exist.
+TEST_P(GetChromeInstallPathTest, EnvironmentFallback) {
+  // Override the relevant paths with directories that do not exist so that the
+  // env var fallback is reached.
+  base::ScopedPathOverride bad_program_files_override(
+      base::DIR_PROGRAM_FILES, program_files_path().AppendASCII("doesnotexist"),
+      /*is_absolute=*/true, /*create=*/false);
+  base::ScopedPathOverride bad_program_files_x86_override(
+      base::DIR_PROGRAM_FILESX86,
+      program_files_x86_path().AppendASCII("doesnotexist"),
+      /*is_absolute=*/true, /*create=*/false);
+  base::ScopedPathOverride bad_local_ap_data_override(
+      base::DIR_LOCAL_APP_DATA,
+      local_app_data_path().AppendASCII("doesnotexist"),
+      /*is_absolute=*/true, /*create=*/false);
+
+  ScopedEnvironmentOverride program_files_env(
+      L"PROGRAMFILES", program_files_path().value().c_str());
+  ScopedEnvironmentOverride program_files_x86_env(
+      L"PROGRAMFILES(X86)", program_files_x86_path().value().c_str());
+  ScopedEnvironmentOverride local_app_data_env(
+      L"LOCALAPPDATA", local_app_data_path().value().c_str());
+
+  EXPECT_EQ(GetChromeInstallPath(is_system_level()),
+            GetExpectedPath(is_system_level()));
+}
+
 INSTANTIATE_TEST_SUITE_P(UserLevelTest,
                          GetChromeInstallPathTest,
                          testing::Values<Params>({false, absl::nullopt}));
@@ -206,13 +341,15 @@
 }
 
 TEST_P(GetChromeInstallPathWithPrefsTest, RegistryValueSet) {
+  const base::FilePath install_path =
+      random_path()
+          .Append(install_static::GetChromeInstallSubDirectory())
+          .Append(kInstallBinaryDir);
+  ASSERT_TRUE(base::CreateDirectory(install_path));
   base::win::RegKey client_state_key(GetClientStateRegKey());
   ASSERT_EQ(client_state_key.WriteValue(
                 kUninstallStringField,
-                random_path()
-                    .Append(install_static::GetChromeInstallSubDirectory())
-                    .Append(kInstallBinaryDir)
-                    .AppendASCII("1.0.0.0\\Installer\\setup.exe")
+                install_path.AppendASCII("1.0.0.0\\Installer\\setup.exe")
                     .value()
                     .c_str()),
             ERROR_SUCCESS);
@@ -222,9 +359,7 @@
             ERROR_SUCCESS);
   EXPECT_EQ(GetChromeInstallPathWithPrefs(is_system_level(),
                                           InitialPreferences(prefs_json())),
-            random_path()
-                .Append(install_static::GetChromeInstallSubDirectory())
-                .Append(kInstallBinaryDir));
+            install_path);
 }
 
 TEST_P(GetChromeInstallPathWithPrefsTest, RegistryValueSetWrongScope) {
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index afbd2fb5..a45aa0a 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -518,8 +518,7 @@
       "../browser/renderer_context_menu/mock_render_view_context_menu.h",
       "../browser/renderer_context_menu/render_view_context_menu_test_util.cc",
       "../browser/renderer_context_menu/render_view_context_menu_test_util.h",
-      "../browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.cc",
-      "../browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h",
+      "../browser/signin/signin_browser_test_base.h",
       "../browser/themes/test/theme_service_changed_waiter.cc",
       "../browser/themes/test/theme_service_changed_waiter.h",
       "../browser/ui/profile_ui_test_utils.h",
@@ -1902,8 +1901,6 @@
       "../browser/download/save_page_browsertest.cc",
       "../browser/engagement/site_engagement_helper_browsertest.cc",
       "../browser/enterprise/browser_management/management_service_browsertest.cc",
-      "../browser/enterprise/connectors/analysis/content_analysis_dialog_browsertest.cc",
-      "../browser/enterprise/connectors/connectors_service_browsertest.cc",
       "../browser/enterprise/connectors/reporting/crash_reporting_context_browsertest.cc",
       "../browser/enterprise/reporting/report_scheduler_browsertest.cc",
       "../browser/enterprise/util/managed_browser_utils_browsertest.cc",
@@ -2169,8 +2166,6 @@
       "../browser/resource_coordinator/tab_helper_browsertest.cc",
       "../browser/resource_coordinator/tab_manager_browsertest.cc",
       "../browser/safe_browsing/client_side_detection_service_browsertest.cc",
-      "../browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.cc",
-      "../browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h",
       "../browser/safe_browsing/download_protection/download_protection_service_browsertest.cc",
       "../browser/safe_browsing/test_safe_browsing_database_helper.cc",
       "../browser/safe_browsing/test_safe_browsing_database_helper.h",
@@ -2200,8 +2195,6 @@
       "../browser/signin/e2e_tests/signin_util.cc",
       "../browser/signin/e2e_tests/signin_util.h",
       "../browser/signin/remove_local_account_browsertest.cc",
-      "../browser/signin/signin_browser_test_base.cc",
-      "../browser/signin/signin_browser_test_base.h",
       "../browser/site_isolation/chrome_site_per_process_browsertest.cc",
       "../browser/site_isolation/chrome_site_per_process_test.cc",
       "../browser/site_isolation/chrome_site_per_process_test.h",
@@ -2540,10 +2533,6 @@
 
     if (!is_chromeos_lacros) {
       sources += [
-        # crbug.com/1230268 These tests need to be fixed for Lacros.
-        "../browser/enterprise/connectors/analysis/content_analysis_delegate_browsertest.cc",
-        "../browser/safe_browsing/download_protection/deep_scanning_browsertest.cc",
-
         # Lacros does not seem to have any actual WebView-based UI to test.
         "../browser/accessibility/live_translate_controller_browsertest.cc",
         "../browser/ui/webui/webui_webview_browsertest.cc",
@@ -2570,6 +2559,16 @@
           "../browser/accessibility/live_caption/live_caption_speech_recognition_host_browsertest.cc",
         ]
       }
+
+      # TODO(b/283093731): Replace the platforms below with a condition for
+      # cloud content analysis.
+      if (is_win || is_linux || is_mac || is_chromeos) {
+        sources += [
+          # crbug.com/1230268 These tests need to be fixed for Lacros.
+          "../browser/enterprise/connectors/analysis/content_analysis_delegate_browsertest.cc",
+          "../browser/safe_browsing/download_protection/deep_scanning_browsertest.cc",
+        ]
+      }
     }
 
     if (is_win) {
@@ -3096,8 +3095,6 @@
         "../browser/extensions/api/desktop_capture/desktop_capture_apitest.cc",
         "../browser/extensions/api/developer_private/developer_private_apitest.cc",
         "../browser/extensions/api/downloads/downloads_api_browsertest.cc",
-        "../browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_apitest.cc",
-        "../browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_browsertest.cc",
         "../browser/extensions/api/extension_action/browser_action_apitest.cc",
         "../browser/extensions/api/extension_action/browser_action_browsertest.cc",
         "../browser/extensions/api/extension_action/extension_action_apitest.cc",
@@ -3347,6 +3344,17 @@
         ]
       }
 
+      # TODO(b/283093731): Replace the platforms below with a condition for
+      # cloud content analysis.
+      if (is_win || is_linux || is_mac || is_chromeos) {
+        sources += [
+          "../browser/enterprise/connectors/analysis/content_analysis_dialog_browsertest.cc",
+          "../browser/enterprise/connectors/connectors_service_browsertest.cc",
+          "../browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_apitest.cc",
+          "../browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_browsertest.cc",
+        ]
+        deps += [ "//chrome/browser/enterprise/connectors/test:test_support" ]
+      }
       if (is_win || is_linux || is_mac || is_chromeos_ash) {
         sources += [ "../browser/enterprise/connectors/device_trust/device_trust_browsertest.cc" ]
 
@@ -3355,7 +3363,6 @@
           "//chrome/browser/enterprise/connectors/device_trust:prefs",
           "//chrome/browser/enterprise/connectors/device_trust/common",
           "//chrome/browser/enterprise/connectors/device_trust/test:test_support",
-          "//chrome/browser/enterprise/connectors/test:test_support",
           "//components/device_signals/core/common",
           "//components/device_signals/core/common:features",
           "//components/device_signals/test:test_support",
@@ -3470,6 +3477,7 @@
           "//chrome/browser/chromeos/extensions/wm",
           "//chrome/browser/error_reporting:test_support",
           "//chromeos/dbus/dlp:dlp",
+          "//components/file_access:test_support",
         ]
 
         data += [
@@ -7039,6 +7047,7 @@
       "../browser/enterprise/reporting/extension_request/extension_request_observer_factory_unittest.cc",
       "../browser/enterprise/reporting/extension_request/extension_request_observer_unittest.cc",
       "../browser/enterprise/reporting/extension_request/extension_request_report_generator_unittest.cc",
+      "../browser/enterprise/reporting/real_time_report_controller_unittest.cc",
       "../browser/enterprise/reporting/real_time_report_generator_unittest.cc",
       "../browser/enterprise/signals/client_certificate_fetcher_unittest.cc",
       "../browser/first_run/first_run_unittest.cc",
@@ -8790,7 +8799,12 @@
       "../common/safe_browsing/ipc_protobuf_message_test_messages.h",
       "../common/safe_browsing/ipc_protobuf_message_unittest.cc",
     ]
-    deps += [ "../common/safe_browsing:archive_analyzer_results" ]
+    deps += [
+      # TODO(b/283093731): Replace the dependency below to a more specific
+      # condition for cloud content analysis.
+      "../browser/enterprise/connectors/test:test_support",
+      "../common/safe_browsing:archive_analyzer_results",
+    ]
     if (is_mac) {
       sources += [
         "../browser/safe_browsing/incident_reporting/binary_integrity_analyzer_mac_unittest.cc",
@@ -8898,6 +8912,7 @@
       "../browser/enterprise/connectors/device_trust/attestation/browser/profile_attester_unittest.cc",
       "../browser/enterprise/connectors/device_trust/attestation/desktop/desktop_attestation_service_unittest.cc",
       "../browser/enterprise/connectors/device_trust/browser/signing_key_policy_observer.cc",
+      "../browser/enterprise/connectors/device_trust/signals/dependency_factory_impl_unittest.cc",
       "../browser/enterprise/profile_management/profile_management_navigation_throttle_unittest.cc",
       "../browser/enterprise/profile_management/saml_response_parser_unittest.cc",
       "../browser/enterprise/remote_commands/rotate_attestation_credential_job_unittest.cc",
diff --git a/chrome/test/base/testing_browser_process.cc b/chrome/test/base/testing_browser_process.cc
index 4ff9fc0..9abd2290 100644
--- a/chrome/test/base/testing_browser_process.cc
+++ b/chrome/test/base/testing_browser_process.cc
@@ -70,7 +70,6 @@
 #endif
 
 #if !BUILDFLAG(IS_ANDROID)
-#include "chrome/browser/hid/hid_policy_allowed_devices.h"
 #if BUILDFLAG(IS_CHROMEOS)
 #include "chrome/browser/hid/hid_pinned_notification.h"
 #else
@@ -504,14 +503,6 @@
   return serial_policy_allowed_ports_.get();
 }
 
-HidPolicyAllowedDevices* TestingBrowserProcess::hid_policy_allowed_devices() {
-  if (!hid_policy_allowed_devices_) {
-    hid_policy_allowed_devices_ =
-        std::make_unique<HidPolicyAllowedDevices>(local_state());
-  }
-  return hid_policy_allowed_devices_.get();
-}
-
 HidSystemTrayIcon* TestingBrowserProcess::hid_system_tray_icon() {
   return hid_system_tray_icon_.get();
 }
@@ -563,7 +554,6 @@
 #endif
 #if !BUILDFLAG(IS_ANDROID)
     serial_policy_allowed_ports_.reset();
-    hid_policy_allowed_devices_.reset();
 #endif
     ShutdownBrowserPolicyConnector();
     created_browser_policy_connector_ = false;
diff --git a/chrome/test/base/testing_browser_process.h b/chrome/test/base/testing_browser_process.h
index 6a03ab6..be8ca706 100644
--- a/chrome/test/base/testing_browser_process.h
+++ b/chrome/test/base/testing_browser_process.h
@@ -154,7 +154,6 @@
       override;
 #if !BUILDFLAG(IS_ANDROID)
   SerialPolicyAllowedPorts* serial_policy_allowed_ports() override;
-  HidPolicyAllowedDevices* hid_policy_allowed_devices() override;
   HidSystemTrayIcon* hid_system_tray_icon() override;
 #endif
   BuildState* GetBuildState() override;
@@ -254,7 +253,6 @@
 
 #if !BUILDFLAG(IS_ANDROID)
   std::unique_ptr<SerialPolicyAllowedPorts> serial_policy_allowed_ports_;
-  std::unique_ptr<HidPolicyAllowedDevices> hid_policy_allowed_devices_;
   std::unique_ptr<HidSystemTrayIcon> hid_system_tray_icon_;
   BuildState build_state_;
 #endif
diff --git a/chrome/test/data/webui/password_manager/BUILD.gn b/chrome/test/data/webui/password_manager/BUILD.gn
index a25c629..076428b 100644
--- a/chrome/test/data/webui/password_manager/BUILD.gn
+++ b/chrome/test/data/webui/password_manager/BUILD.gn
@@ -13,6 +13,7 @@
     "add_password_dialog_test.ts",
     "checkup_details_section_test.ts",
     "checkup_section_test.ts",
+    "delete_passkey_dialog_test.ts",
     "edit_password_dialog_test.ts",
     "edit_passkey_dialog_test.ts",
     "move_passwords_dialog_test.ts",
diff --git a/chrome/test/data/webui/password_manager/delete_passkey_dialog_test.ts b/chrome/test/data/webui/password_manager/delete_passkey_dialog_test.ts
new file mode 100644
index 0000000..6b7543f0
--- /dev/null
+++ b/chrome/test/data/webui/password_manager/delete_passkey_dialog_test.ts
@@ -0,0 +1,60 @@
+// 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 'chrome://password-manager/password_manager.js';
+
+import {DeletePasskeyDialogElement, PasswordManagerImpl} from 'chrome://password-manager/password_manager.js';
+import {assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
+import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
+
+import {TestPasswordManagerProxy} from './test_password_manager_proxy.js';
+import {createAffiliatedDomain, createPasswordEntry} from './test_util.js';
+
+suite('DeletePasskeyDialogTest', function() {
+  let passwordManager: TestPasswordManagerProxy;
+  let passkey: chrome.passwordsPrivate.PasswordUiEntry;
+  let dialog: DeletePasskeyDialogElement;
+
+  setup(async function() {
+    document.body.innerHTML = window.trustedTypes!.emptyHTML;
+    passwordManager = new TestPasswordManagerProxy();
+    PasswordManagerImpl.setInstance(passwordManager);
+    await flushTasks();
+
+    passkey = createPasswordEntry({
+      id: 0,
+      username: 'pikari',
+      displayName: 'Hikari Kohinata',
+      isPasskey: true,
+    });
+    passkey.affiliatedDomains = [createAffiliatedDomain('test.com')];
+    dialog = document.createElement('delete-passkey-dialog');
+    dialog.passkey = passkey;
+    document.body.appendChild(dialog);
+    await flushTasks();
+  });
+
+  test('displays a warning with links to the website', async function() {
+    const link =
+        dialog.shadowRoot!.querySelector<HTMLAnchorElement>('#link a')!;
+    assertTrue(!!link);
+    assertEquals(link.textContent!.trim(), 'test.com');
+    assertEquals(link.href!.trim(), passkey.affiliatedDomains![0]!.url);
+  });
+
+  test('clicking cancel closes the dialog', async function() {
+    assertTrue(dialog.$.dialog.open);
+    dialog.$.cancelButton.click();
+    assertFalse(dialog.$.dialog.open);
+  });
+
+  test('clicking delete deletes the passkey', async function() {
+    dialog.$.deleteButton.click();
+
+    const {id} = await passwordManager.whenCalled('removeCredential');
+
+    assertEquals(id, passkey.id);
+    assertFalse(dialog.$.dialog.open);
+  });
+});
diff --git a/chrome/test/data/webui/password_manager/passkey_details_card_test.ts b/chrome/test/data/webui/password_manager/passkey_details_card_test.ts
index 2e7e831..0fc4b22 100644
--- a/chrome/test/data/webui/password_manager/passkey_details_card_test.ts
+++ b/chrome/test/data/webui/password_manager/passkey_details_card_test.ts
@@ -4,7 +4,7 @@
 
 import 'chrome://password-manager/password_manager.js';
 
-import {EditPasskeyDialogElement, Page, PasswordManagerImpl, PasswordViewPageInteractions, Router} from 'chrome://password-manager/password_manager.js';
+import {DeletePasskeyDialogElement, EditPasskeyDialogElement, Page, PasskeyDetailsCardElement, PasswordManagerImpl, PasswordViewPageInteractions, Router} from 'chrome://password-manager/password_manager.js';
 import {assertEquals, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
 import {eventToPromise, isVisible} from 'chrome://webui-test/test_util.js';
@@ -14,17 +14,17 @@
 
 suite('PasskeyDetailsCardTest', function() {
   let passwordManager: TestPasswordManagerProxy;
+  let passkey: chrome.passwordsPrivate.PasswordUiEntry;
+  let card: PasskeyDetailsCardElement;
 
-  setup(function() {
+  setup(async function() {
     document.body.innerHTML = window.trustedTypes!.emptyHTML;
     passwordManager = new TestPasswordManagerProxy();
     PasswordManagerImpl.setInstance(passwordManager);
     Router.getInstance().navigateTo(Page.PASSWORDS);
-    return flushTasks();
-  });
+    await flushTasks();
 
-  test('Content displayed properly', async function() {
-    const passkey = createPasswordEntry({
+    passkey = createPasswordEntry({
       url: 'test.com',
       username: 'reimu',
       isPasskey: true,
@@ -33,11 +33,13 @@
       affiliatedDomains: [createAffiliatedDomain('test.com')],
     });
 
-    const card = document.createElement('passkey-details-card');
+    card = document.createElement('passkey-details-card');
     card.passkey = passkey;
     document.body.appendChild(card);
     await flushTasks();
+  });
 
+  test('Content displayed properly', async function() {
     assertEquals(passkey.username, card.$.usernameValue.value);
     assertEquals(passkey.displayName, card.$.displayNameValue.value);
     assertTrue(isVisible(card.$.noteValue));
@@ -54,20 +56,6 @@
   });
 
   test('Clicking edit button opens an edit dialog', async function() {
-    const passkey = createPasswordEntry({
-      url: 'test.com',
-      username: 'reimu',
-      isPasskey: true,
-      displayName: 'Reimu Hakurei',
-      note: 'Remember the milk',
-      affiliatedDomains: [createAffiliatedDomain('test.com')],
-    });
-
-    const card = document.createElement('passkey-details-card');
-    card.passkey = passkey;
-    document.body.appendChild(card);
-    await flushTasks();
-
     card.$.editButton.click();
     await eventToPromise('cr-dialog-open', card);
     await passwordManager.whenCalled('extendAuthValidity');
@@ -80,6 +68,40 @@
         'edit-passkey-dialog');
     assertTrue(!!editDialog);
     assertTrue(editDialog.$.dialog.open);
+
+    // Close the dialog and verify it leaves the DOM.
+    const editTemplate =
+        card.shadowRoot!.querySelector('#editPasskeyTemplate')!;
+    const domChange = eventToPromise('dom-change', editTemplate);
+    editDialog.$.dialog.close();
+    await passwordManager.whenCalled('extendAuthValidity');
+    await domChange;
+    assertEquals(card.shadowRoot!.querySelector('edit-passkey-dialog'), null);
+  });
+
+  test('Clicking delete button opens a delete dialog', async function() {
+    card.$.deleteButton.click();
+    await eventToPromise('cr-dialog-open', card);
+    await passwordManager.whenCalled('extendAuthValidity');
+    assertEquals(
+        PasswordViewPageInteractions.PASSKEY_DELETE_BUTTON_CLICKED,
+        await passwordManager.whenCalled('recordPasswordViewInteraction'));
+    await flushTasks();
+
+    const deleteDialog =
+        card.shadowRoot!.querySelector<DeletePasskeyDialogElement>(
+            'delete-passkey-dialog');
+    assertTrue(!!deleteDialog);
+    assertTrue(deleteDialog.$.dialog.open);
+
+    // Close the dialog and verify it leaves the DOM.
+    const deleteTemplate =
+        card.shadowRoot!.querySelector('#deletePasskeyTemplate')!;
+    const domChange = eventToPromise('dom-change', deleteTemplate);
+    deleteDialog.$.dialog.close();
+    await passwordManager.whenCalled('extendAuthValidity');
+    await domChange;
+    assertEquals(card.shadowRoot!.querySelector('delete-passkey-dialog'), null);
   });
 
 });
diff --git a/chrome/test/data/webui/password_manager/password_manager_browsertest.js b/chrome/test/data/webui/password_manager/password_manager_browsertest.js
index 02f0a4f..0b31a5d 100644
--- a/chrome/test/data/webui/password_manager/password_manager_browsertest.js
+++ b/chrome/test/data/webui/password_manager/password_manager_browsertest.js
@@ -31,6 +31,7 @@
  ['CheckupDetails', 'checkup_details_section_test.js'],
  ['CredentialField', 'credential_field_test.js'],
  ['CredentialNote', 'credential_note_test.js'],
+ ['DeletePasskey', 'delete_passkey_dialog_test.js'],
  ['EditPasskey', 'edit_passkey_dialog_test.js'],
  ['EditPassword', 'edit_password_dialog_test.js'],
  ['MovePasswordsDialog', 'move_passwords_dialog_test.js'],
diff --git a/chromeos/strings/chromeos_strings_ar.xtb b/chromeos/strings/chromeos_strings_ar.xtb
index ee469635..fc341e2 100644
--- a/chromeos/strings/chromeos_strings_ar.xtb
+++ b/chromeos/strings/chromeos_strings_ar.xtb
@@ -868,7 +868,7 @@
 <translation id="802154636333426148">تعذّر التنزيل</translation>
 <translation id="8031884997696620457">HSPAPlus</translation>
 <translation id="80398733265834479">تفعيل وضع الألوان التلقائية</translation>
-<translation id="8041089156583427627">إرسال تعليقات</translation>
+<translation id="8041089156583427627">إرسال ملاحظات</translation>
 <translation id="8045012663542226664">كتم صوت الميكروفون</translation>
 <translation id="8050091914317269817">سيؤدي اختيار هذه الخلفية إلى تفعيل الوضع الداكن التلقائي ومطابقة لون الخلفية.</translation>
 <translation id="8075838845814659848">شحن البطارية المتبقي</translation>
@@ -1031,7 +1031,7 @@
 <translation id="9211490828691860325">جميع أسطح المكتب</translation>
 <translation id="932327136139879170">الصفحة الرئيسية</translation>
 <translation id="939519157834106403">SSID</translation>
-<translation id="945522503751344254">إرسال تعليقات</translation>
+<translation id="945522503751344254">إرسال ملاحظات</translation>
 <translation id="952992212772159698">غير نشطة</translation>
 <translation id="960719561871045870">رمز مشغل شبكة الجوال</translation>
 <translation id="979450713603643090">وردي فاتح</translation>
diff --git a/chromeos/strings/chromeos_strings_ja.xtb b/chromeos/strings/chromeos_strings_ja.xtb
index fe6adb2..a4947a0 100644
--- a/chromeos/strings/chromeos_strings_ja.xtb
+++ b/chromeos/strings/chromeos_strings_ja.xtb
@@ -20,6 +20,7 @@
 <translation id="1128128132059598906">EAP-TTLS</translation>
 <translation id="1145018782460575098">外部デバイスのファームウェアを更新するためのウィンドウが開いています。<ph name="NUM_UPDATES" /> 件のアップデートがあります。</translation>
 <translation id="1145516343487477149">ヘルプ記事と Chromebook に関するよくある質問の回答を確認できます</translation>
+<translation id="1164939766849482256">「夜明けから夜更けまで」のスクリーン セーバー</translation>
 <translation id="1167755866710282443">メニューを開いてキーをカスタマイズします。メニューをドラッグして移動します。</translation>
 <translation id="1175697296044146566">この <ph name="DEVICE_TYPE" /> は <ph name="MANAGER" /> によって管理されています。</translation>
 <translation id="1175951029573070619">普通(<ph name="SIGNAL_STRENGTH" />)</translation>
@@ -239,6 +240,7 @@
 <translation id="2873483161362553159">ブラウザ操作</translation>
 <translation id="2874939134665556319">前のトラック</translation>
 <translation id="2878387241690264070"><ph name="NUM_SECONDS" /> 秒で <ph name="RATE" /> 放電しました。</translation>
+<translation id="2880569433548999039">「雲の流れ」のスクリーン セーバー</translation>
 <translation id="2926057806159140518">ユーザー名とパスワードを入力するか、QR コードをスキャンしてください</translation>
 <translation id="2940811910881150316">デバイスをテストできません。テストするにはディスプレイをもう一度開きます。</translation>
 <translation id="3008341117444806826">更新</translation>
@@ -261,6 +263,7 @@
 <translation id="315738237743207937">キャプティブ ポータルが検出されました</translation>
 <translation id="3160172848211257835"><ph name="BEGIN_LINK1" />システムとアプリの情報<ph name="END_LINK1" />と<ph name="BEGIN_LINK2" />指標<ph name="END_LINK2" />を送信する</translation>
 <translation id="3170673040743561620">スキャナにドキュメントを置いてください</translation>
+<translation id="3174321110679064523">「夜明けから夜更けまで」の壁紙</translation>
 <translation id="3188257591659621405">マイファイル</translation>
 <translation id="319101249942218879">アバター画像を変更しました</translation>
 <translation id="3192947282887913208">音声ファイル</translation>
@@ -287,6 +290,7 @@
 <translation id="3360306038446926262">ウィンドウ</translation>
 <translation id="3368922792935385530">接続済み</translation>
 <translation id="3369013195428705271">印刷履歴をすべて削除してもよろしいですか?実行中の印刷ジョブは削除されません。</translation>
+<translation id="3373141842870501561">「地球の動き」の壁紙</translation>
 <translation id="3404249063913988450">スクリーン セーバーを有効にする</translation>
 <translation id="3413935475507503304">更新を進めるには、[次へ] をクリックしてください。</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
@@ -324,6 +328,7 @@
 <translation id="3639846061339007994">上</translation>
 <translation id="3651050199673793219">温度の単位を選択してください</translation>
 <translation id="3663574643422533538"><ph name="PRODUCT_NAME" /> 限定アートワークを選択する</translation>
+<translation id="3668449597372804501">「雲の流れ」の壁紙</translation>
 <translation id="3689839747745352263"><ph name="TEST_NAME" /> テスト</translation>
 <translation id="370665806235115550">読み込んでいます...</translation>
 <translation id="3708186454126126312">以前に接続したデバイス</translation>
@@ -335,6 +340,7 @@
 <translation id="380097101658023925">RGB 設定</translation>
 <translation id="38114475217616659">履歴をすべて消去</translation>
 <translation id="3820172043799983114">無効な PIN です。</translation>
+<translation id="382043424867370667">「日の入り」の壁紙</translation>
 <translation id="3824259034819781947">ファイルを添付</translation>
 <translation id="3838338534323494292">新しいパスワード</translation>
 <translation id="3845880861638660475"><ph name="ALT_SHORTCUT_START" />Alt<ph name="ALT_SHORTCUT_END" />+<ph name="ESC_SHORTCUT_START" />Esc<ph name="ESC_SHORTCUT_END" /> キーを押してダイアログを閉じます。</translation>
@@ -420,6 +426,7 @@
 <translation id="445059817448385655">古いパスワード</translation>
 <translation id="4453205916657964690">サブネット マスク</translation>
 <translation id="4454245904991689773">スキャンの保存先</translation>
+<translation id="4469288414739283461">「地球の動き」のスクリーン セーバー</translation>
 <translation id="4479639480957787382">イーサネット</translation>
 <translation id="4483049906298469269">デフォルト以外のネットワーク ゲートウェイに向けた ping が失敗しました</translation>
 <translation id="4500966230243561393">インターフェースの色</translation>
@@ -531,8 +538,10 @@
 <translation id="5275828089655680674">ルーティンを再実行</translation>
 <translation id="5286252187236914003">L2TP/IPsec</translation>
 <translation id="5286263799730375393">バックライトの色</translation>
+<translation id="5292579816060236070">「日の出」の壁紙</translation>
 <translation id="5294769550414936029">バージョン <ph name="MILESTONE_VERSION" /></translation>
 <translation id="5300814202279832142">ウィンドウをデスクに移動</translation>
+<translation id="5303837385540978511"><ph name="PRODUCT_NAME" /> 限定の壁紙</translation>
 <translation id="5304899856529773394">EVDO</translation>
 <translation id="5315873049536339193">ID</translation>
 <translation id="5317780077021120954">保存</translation>
@@ -682,6 +691,7 @@
 <translation id="6463239094587744704">{PAGE_NUMBER,plural, =0{ページを再スキャンしますか?}=1{ページ {PAGE_NUMBER} を再スキャンしますか?}other{ページ {PAGE_NUMBER} を再スキャンしますか?}}</translation>
 <translation id="6472207088655375767">OTP</translation>
 <translation id="6480327114083866287"><ph name="MANAGER" /> によって管理されています</translation>
+<translation id="6488559935020624631"><ph name="PRODUCT_NAME" /> 限定のスクリーン セーバー</translation>
 <translation id="649050271426829538">停止 - 紙詰まり</translation>
 <translation id="6494974875566443634">カスタマイズ</translation>
 <translation id="6500818810472529210">Google 検索で結果を見る</translation>
diff --git a/components/autofill/core/browser/form_parsing/address_field.cc b/components/autofill/core/browser/form_parsing/address_field.cc
index 9232499..3c9af30b 100644
--- a/components/autofill/core/browser/form_parsing/address_field.cc
+++ b/components/autofill/core/browser/form_parsing/address_field.cc
@@ -439,36 +439,6 @@
   return true;
 }
 
-bool AddressField::ParseCountry(AutofillScanner* scanner,
-                                const LanguageCode& page_language,
-                                PatternSource pattern_source) {
-  if (country_)
-    return false;
-
-  base::span<const MatchPatternRef> country_patterns =
-      GetMatchPatterns("COUNTRY", page_language, pattern_source);
-  base::span<const MatchPatternRef> country_patternsl =
-      GetMatchPatterns("COUNTRY_LOCATION", page_language, pattern_source);
-
-  scanner->SaveCursor();
-  if (ParseFieldSpecifics(scanner, kCountryRe,
-                          kDefaultMatchParamsWith<MatchFieldType::kSelect,
-                                                  MatchFieldType::kSearch>,
-                          country_patterns, &country_,
-                          {log_manager_, "kCountryRe"})) {
-    return true;
-  }
-
-  // The occasional page (e.g. google account registration page) calls this a
-  // "location". However, this only makes sense for select tags.
-  scanner->Rewind();
-  return ParseFieldSpecifics(
-      scanner, kCountryLocationRe,
-      MatchParams({MatchAttribute::kLabel, MatchAttribute::kName},
-                  {MatchFieldType::kSelect, MatchFieldType::kSearch}),
-      country_patternsl, &country_, {log_manager_, "kCountryLocationRe"});
-}
-
 bool AddressField::ParseZipCode(AutofillScanner* scanner,
                                 const LanguageCode& page_language,
                                 PatternSource pattern_source) {
@@ -494,25 +464,6 @@
   return true;
 }
 
-bool AddressField::ParseDependentLocality(AutofillScanner* scanner,
-                                          const LanguageCode& page_language,
-                                          PatternSource pattern_source) {
-  const bool is_enabled_dependent_locality_parsing =
-      base::FeatureList::IsEnabled(
-          features::kAutofillEnableDependentLocalityParsing);
-  // TODO(crbug.com/1157405) Remove feature check when launched.
-  if (dependent_locality_ || !is_enabled_dependent_locality_parsing)
-    return false;
-
-  base::span<const MatchPatternRef> dependent_locality_patterns =
-      GetMatchPatterns("ADDRESS_HOME_DEPENDENT_LOCALITY", page_language,
-                       pattern_source);
-  return ParseFieldSpecifics(scanner, kDependentLocalityRe,
-                             kDependentLocalityMatchType,
-                             dependent_locality_patterns, &dependent_locality_,
-                             {log_manager_, "kDependentLocalityRe"});
-}
-
 bool AddressField::ParseCity(AutofillScanner* scanner,
                              const LanguageCode& page_language,
                              PatternSource pattern_source) {
@@ -537,58 +488,6 @@
                              &state_, {log_manager_, "kStateRe"});
 }
 
-bool AddressField::ParseLandmark(AutofillScanner* scanner,
-                                 const LanguageCode& page_language,
-                                 PatternSource pattern_source) {
-  const bool is_enabled_landmark_parsing =
-      base::FeatureList::IsEnabled(features::kAutofillEnableSupportForLandmark);
-  // TODO(crbug.com/1441904) Remove feature check when launched.
-  if (landmark_ || !is_enabled_landmark_parsing) {
-    return false;
-  }
-
-  base::span<const MatchPatternRef> landmark_patterns =
-      GetMatchPatterns("LANDMARK", page_language, pattern_source);
-  return ParseFieldSpecifics(scanner, kLandmarkRe, kLandmarkMatchType,
-                             landmark_patterns, &landmark_,
-                             {log_manager_, "kLandmarkRe"});
-}
-
-bool AddressField::ParseBetweenStreets(AutofillScanner* scanner,
-                                       const LanguageCode& page_language,
-                                       PatternSource pattern_source) {
-  const bool is_enabled_between_streets_parsing = base::FeatureList::IsEnabled(
-      features::kAutofillEnableSupportForBetweenStreets);
-  // TODO(crbug.com/1441904) Remove feature check when launched.
-  if (between_streets_ || !is_enabled_between_streets_parsing) {
-    return false;
-  }
-
-  base::span<const MatchPatternRef> between_streets_patterns =
-      GetMatchPatterns("BETWEEN_STREETS", page_language, pattern_source);
-  return ParseFieldSpecifics(scanner, kBetweenStreetsRe,
-                             kBetweenStreetsMatchType, between_streets_patterns,
-                             &between_streets_,
-                             {log_manager_, "kBetweenStreetsRe"});
-}
-
-bool AddressField::ParseAdminLevel2(AutofillScanner* scanner,
-                                    const LanguageCode& page_language,
-                                    PatternSource pattern_source) {
-  const bool is_enabled_admin_level2_parsing = base::FeatureList::IsEnabled(
-      features::kAutofillEnableSupportForAdminLevel2);
-  // TODO(crbug.com/1441904) Remove feature check when launched.
-  if (admin_level2_ || !is_enabled_admin_level2_parsing) {
-    return false;
-  }
-
-  base::span<const MatchPatternRef> admin_level2_patterns =
-      GetMatchPatterns("ADMIN_LEVEL_2", page_language, pattern_source);
-  return ParseFieldSpecifics(scanner, kAdminLevel2Re, kAdminLevel2MatchType,
-                             admin_level2_patterns, &admin_level2_,
-                             {log_manager_, "kAdminLevel2Re"});
-}
-
 // static
 AddressField::ParseNameLabelResult AddressField::ParseNameAndLabelSeparately(
     AutofillScanner* scanner,
@@ -634,40 +533,6 @@
   if (scanner->IsEnd())
     return false;
 
-  int num_of_missing_types = 0;
-  for (const auto* field : {dependent_locality_, city_, state_, country_, zip_,
-                            landmark_, between_streets_, admin_level2_}) {
-    if (!field)
-      ++num_of_missing_types;
-  }
-
-  // All the field types have already been detected.
-  if (num_of_missing_types == 0)
-    return false;
-
-  // Exactly one field type is missing.
-  if (num_of_missing_types == 1) {
-    if (!dependent_locality_)
-      return ParseDependentLocality(scanner, page_language, pattern_source);
-    if (!city_)
-      return ParseCity(scanner, page_language, pattern_source);
-    if (!state_)
-      return ParseState(scanner, page_language, pattern_source);
-    if (!country_)
-      return ParseCountry(scanner, page_language, pattern_source);
-    if (!zip_)
-      return ParseZipCode(scanner, page_language, pattern_source);
-    if (!landmark_) {
-      return ParseLandmark(scanner, page_language, pattern_source);
-    }
-    if (!between_streets_) {
-      return ParseBetweenStreets(scanner, page_language, pattern_source);
-    }
-    if (!admin_level2_) {
-      return ParseAdminLevel2(scanner, page_language, pattern_source);
-    }
-  }
-
   // Check for matches to both the name and the label.
   ParseNameLabelResult dependent_locality_result =
       ParseNameAndLabelForDependentLocality(scanner, page_language,
diff --git a/components/autofill/core/browser/form_parsing/address_field.h b/components/autofill/core/browser/form_parsing/address_field.h
index b20300e..1313531 100644
--- a/components/autofill/core/browser/form_parsing/address_field.h
+++ b/components/autofill/core/browser/form_parsing/address_field.h
@@ -63,18 +63,10 @@
                          const LanguageCode& page_language,
                          PatternSource pattern_source);
 
-  bool ParseCountry(AutofillScanner* scanner,
-                    const LanguageCode& page_language,
-                    PatternSource pattern_source);
-
   bool ParseZipCode(AutofillScanner* scanner,
                     const LanguageCode& page_language,
                     PatternSource pattern_source);
 
-  bool ParseDependentLocality(AutofillScanner* scanner,
-                              const LanguageCode& page_language,
-                              PatternSource pattern_source);
-
   bool ParseCity(AutofillScanner* scanner,
                  const LanguageCode& page_language,
                  PatternSource pattern_source);
@@ -83,18 +75,6 @@
                   const LanguageCode& page_language,
                   PatternSource pattern_source);
 
-  bool ParseLandmark(AutofillScanner* scanner,
-                     const LanguageCode& page_language,
-                     PatternSource pattern_source);
-
-  bool ParseBetweenStreets(AutofillScanner* scanner,
-                           const LanguageCode& page_language,
-                           PatternSource pattern_source);
-
-  bool ParseAdminLevel2(AutofillScanner* scanner,
-                        const LanguageCode& page_language,
-                        PatternSource pattern_source);
-
   // Parses the current field pointed to by |scanner|, if it exists, and tries
   // to determine if the field's type corresponds to one of the following:
   // dependent locality, city, state, country, zip, landmark, between streets,
diff --git a/components/autofill/core/common/dense_set.h b/components/autofill/core/common/dense_set.h
index 7f3e724..800d5ad 100644
--- a/components/autofill/core/common/dense_set.h
+++ b/components/autofill/core/common/dense_set.h
@@ -20,6 +20,137 @@
 
 namespace autofill {
 
+namespace internal {
+
+// The number of bits in `T`.
+template <typename T>
+static constexpr size_t kBitsPer = sizeof(T) * CHAR_BIT;
+
+// A bitset represented as `std::array<Word, kNumWords>.
+// There's a specialization further down for `kNumWords == 1`.
+template <typename Word, size_t kNumWords, typename Enable = void>
+class Bitset {
+ public:
+  constexpr Bitset() = default;
+
+  constexpr size_t num_set_bits() const {
+    // We count the number of bits in `words_`. DenseSet ensures that all bits
+    // beyond `kMaxBitIndex` are zero. This is necessary for size() to be
+    // correct.
+    size_t num = 0;
+    for (const auto word : words_) {
+      num += absl::popcount(word);
+    }
+    return num;
+  }
+
+  constexpr bool get_bit(size_t index) const {
+    size_t word = index / kBitsPer<Word>;
+    size_t bit = index % kBitsPer<Word>;
+    return words_[word] & (static_cast<Word>(1) << bit);
+  }
+
+  constexpr void set_bit(size_t index) {
+    size_t word = index / kBitsPer<Word>;
+    size_t bit = index % kBitsPer<Word>;
+    words_[word] |= static_cast<Word>(1) << bit;
+  }
+
+  constexpr void unset_bit(size_t index) {
+    size_t word = index / kBitsPer<Word>;
+    size_t bit = index % kBitsPer<Word>;
+    words_[word] &= ~(static_cast<Word>(1) << bit);
+  }
+
+  constexpr Bitset operator|=(const Bitset& rhs) {
+    for (size_t i = 0; i < words_.size(); ++i) {
+      words_[i] |= rhs.words_[i];
+    }
+    return *this;
+  }
+
+  constexpr Bitset operator&=(const Bitset& rhs) {
+    for (size_t i = 0; i < words_.size(); ++i) {
+      words_[i] &= rhs.words_[i];
+    }
+    return *this;
+  }
+
+  friend constexpr Bitset operator&(Bitset lhs, const Bitset& rhs) {
+    return lhs &= rhs;
+  }
+
+  friend constexpr Bitset operator~(Bitset x) {
+    for (size_t i = 0; i < x.words_.size(); ++i) {
+      x.words_[i] = ~x.words_[i];
+    }
+    return x;
+  }
+
+  friend constexpr bool operator==(const Bitset& lhs, const Bitset& rhs) {
+    return lhs.words_ == rhs.words_;
+  }
+
+  constexpr base::span<const Word, kNumWords> data() const { return words_; }
+
+ private:
+  std::array<Word, kNumWords> words_{};
+};
+
+// Specialization that uses a single integer instead of an std::array.
+template <typename Word, size_t kNumWords>
+class Bitset<Word, kNumWords, std::enable_if_t<kNumWords == 1>> {
+ public:
+  constexpr Bitset() = default;
+
+  constexpr size_t num_set_bits() const { return absl::popcount(word_); }
+
+  constexpr bool get_bit(size_t index) const {
+    return word_ & (static_cast<Word>(1) << index);
+  }
+
+  constexpr void set_bit(size_t index) {
+    word_ |= static_cast<Word>(1) << index;
+  }
+
+  constexpr void unset_bit(size_t index) {
+    word_ &= ~(static_cast<Word>(1) << index);
+  }
+
+  constexpr Bitset operator|=(const Bitset& rhs) {
+    word_ |= rhs.word_;
+    return *this;
+  }
+
+  constexpr Bitset operator&=(const Bitset& rhs) {
+    word_ &= rhs.word_;
+    return *this;
+  }
+
+  friend constexpr Bitset operator&(Bitset lhs, const Bitset& rhs) {
+    lhs.word_ &= rhs.word_;
+    return lhs;
+  }
+
+  friend constexpr Bitset operator~(Bitset x) {
+    x.word_ = ~x.word_;
+    return x;
+  }
+
+  friend constexpr bool operator==(Bitset lhs, Bitset rhs) {
+    return lhs.word_ == rhs.word_;
+  }
+
+  constexpr base::span<const Word, 1> data() const {
+    return base::span<const Word, 1>(&word_, 1u);
+  }
+
+ private:
+  Word word_;
+};
+
+}  // namespace internal
+
 // A set container with a std::set<T>-like interface for integral or enum types
 // T that have a dense and small representation as unsigned integers.
 //
@@ -34,7 +165,7 @@
 // size.
 //
 // Time and space complexity:
-// - insert(), erase(), contains() should run in time O(1)
+// - insert(), erase(), contains() run in time O(1)
 // - empty(), size(), iteration run in time O(kMaxValue)
 // - sizeof(DenseSet) is, for N = kMaxValue + 1,
 //   - if `!packed`: the minimum of {1, 2, 4, 8 * ceil(N / 64)} bytes that has
@@ -59,15 +190,12 @@
  public:
   // The bitset is represented as array of words.
   using Word = std::conditional_t<
-      !packed,
+      (packed || kMaxBitIndex < 8),
+      uint8_t,
       std::conditional_t<
-          (kMaxBitIndex < 8),
-          uint8_t,
-          std::conditional_t<
-              (kMaxBitIndex < 16),
-              uint16_t,
-              std::conditional_t<(kMaxBitIndex < 32), uint32_t, uint64_t>>>,
-      uint8_t>;
+          (kMaxBitIndex < 16),
+          uint16_t,
+          std::conditional_t<(kMaxBitIndex < 32), uint32_t, uint64_t>>>;
 
  private:
   // Returns ceil(x / y).
@@ -75,11 +203,10 @@
     return (x + y - 1) / y;
   }
 
-  static constexpr size_t kBitsPerWord = sizeof(Word) * CHAR_BIT;
-
  public:
   // The number of `Word`s needed to hold `kMaxBitIndex + 1` bits.
-  static constexpr size_t kNumWords = ceil_div(kMaxBitIndex + 1, kBitsPerWord);
+  static constexpr size_t kNumWords =
+      ceil_div(kMaxBitIndex + 1, internal::kBitsPer<Word>);
 
   // A bidirectional iterator for the DenseSet.
   class Iterator {
@@ -150,7 +277,7 @@
 
     bool derefenceable() const {
       DCHECK_LT(index_, owner_->max_size());
-      return owner_->get_bit(index_);
+      return owner_->bitset_.get_bit(index_);
     }
 
     // This field is not a raw_ptr<> because it was filtered by the rewriter
@@ -171,7 +298,7 @@
 
   constexpr DenseSet(std::initializer_list<T> init) {
     for (const auto& x : init) {
-      set_bit(value_to_index(x));
+      bitset_.set_bit(value_to_index(x));
     }
   }
 
@@ -183,10 +310,12 @@
   }
 
   // Returns a raw bitmask. Useful for serialization.
-  constexpr base::span<const Word, kNumWords> data() const { return words_; }
+  constexpr base::span<const Word, kNumWords> data() const {
+    return bitset_.data();
+  }
 
   friend bool operator==(const DenseSet& a, const DenseSet& b) {
-    return a.words_ == b.words_;
+    return a.bitset_ == b.bitset_;
   }
 
   friend bool operator!=(const DenseSet& a, const DenseSet& b) {
@@ -218,21 +347,10 @@
   // Capacity.
 
   // Returns true if the set is empty, otherwise false.
-  constexpr bool empty() const { return words_ == kOnlyZeros; }
+  constexpr bool empty() const { return bitset_ == Bitset{}; }
 
   // Returns the number of elements the set has.
-  constexpr size_t size() const {
-    // We count the number of bits in `words_`. DenseSet ensures that all bits
-    // beyond `kMaxBitIndex` are zero. This is necessary for size() to be
-    // correct.
-    DCHECK_EQ(words_.back() & (~0ULL << (kMaxBitIndex % kBitsPerWord + 1)),
-              0ULL);
-    size_t num_set_bits = 0;
-    for (const auto word : words_) {
-      num_set_bits += absl::popcount(word);
-    }
-    return num_set_bits;
-  }
+  constexpr size_t size() const { return bitset_.num_set_bits(); }
 
   // Returns the maximum number of elements the set can have.
   constexpr size_t max_size() const { return kMaxBitIndex + 1; }
@@ -240,37 +358,32 @@
   // Modifiers.
 
   // Clears the contents.
-  constexpr void clear() { words_ = {}; }
+  constexpr void clear() { bitset_ = {}; }
 
   // Inserts value |x| if it is not present yet, and returns an iterator to the
   // inserted or existing element and a boolean that indicates whether the
   // insertion took place.
   constexpr std::pair<iterator, bool> insert(T x) {
     bool contained = contains(x);
-    set_bit(value_to_index(x));
+    bitset_.set_bit(value_to_index(x));
     return {find(x), !contained};
   }
 
   // Inserts all values of |xs| into the present set.
-  constexpr void insert_all(const DenseSet& xs) {
-    DCHECK_EQ(words_.size(), xs.words_.size());
-    for (size_t i = 0; i < words_.size(); ++i) {
-      words_[i] |= xs.words_[i];
-    }
-  }
+  constexpr void insert_all(const DenseSet& xs) { bitset_ |= xs.bitset_; }
 
   // Erases the element whose index matches the index of |x| and returns the
   // number of erased elements (0 or 1).
   size_t erase(T x) {
     bool contained = contains(x);
-    unset_bit(value_to_index(x));
+    bitset_.unset_bit(value_to_index(x));
     return contained ? 1 : 0;
   }
 
   // Erases the element |*it| and returns an iterator to its successor.
   iterator erase(const_iterator it) {
     DCHECK(it.owner_ == this && it.derefenceable());
-    unset_bit(it.index_);
+    bitset_.unset_bit(it.index_);
     it.Skip(const_iterator::kForward);
     return it;
   }
@@ -279,19 +392,14 @@
   iterator erase(const_iterator first, const_iterator last) {
     DCHECK(first.owner_ == this && last.owner_ == this);
     while (first != last) {
-      unset_bit(first.index_);
+      bitset_.unset_bit(first.index_);
       ++first;
     }
     return last;
   }
 
   // Erases all values of |xs| into the present set.
-  void erase_all(const DenseSet& xs) {
-    DCHECK_EQ(words_.size(), xs.words_.size());
-    for (size_t i = 0; i < words_.size(); ++i) {
-      words_[i] &= ~xs.words_[i];
-    }
-  }
+  void erase_all(const DenseSet& xs) { bitset_ &= ~xs.bitset_; }
 
   // Lookup.
 
@@ -304,21 +412,23 @@
   }
 
   // Returns true if |x| is an element, else |false|.
-  constexpr bool contains(T x) const { return get_bit(value_to_index(x)); }
+  constexpr bool contains(T x) const {
+    return bitset_.get_bit(value_to_index(x));
+  }
 
   // Returns true if some element of |xs| is an element, else |false|.
   bool contains_none(const DenseSet& xs) const {
-    return intersection(words_, xs.words_) == kOnlyZeros;
+    return (bitset_ & xs.bitset_) == Bitset{};
   }
 
   // Returns true if some element of |xs| is an element, else |false|.
   bool contains_any(const DenseSet& xs) const {
-    return intersection(words_, xs.words_) != kOnlyZeros;
+    return (bitset_ & xs.bitset_) != Bitset{};
   }
 
   // Returns true if every elements of |xs| is an element, else |false|.
   bool contains_all(const DenseSet& xs) const {
-    return intersection(words_, xs.words_) == xs.words_;
+    return (bitset_ & xs.bitset_) == xs.bitset_;
   }
 
   // Returns an iterator to the first element not less than the |x|, or end().
@@ -338,7 +448,7 @@
  private:
   friend Iterator;
 
-  using Words = std::array<Word, kNumWords>;
+  using Bitset = internal::Bitset<Word, kNumWords>;
 
   // Needed to use std::conditional_t.
   // Must be declared outside of index_to_value() to avoid compiler errors.
@@ -359,39 +469,7 @@
     return static_cast<T>(base::checked_cast<UnderlyingType>(i));
   }
 
-  static constexpr Words intersection(const Words& lhs, const Words& rhs) {
-    DCHECK_EQ(lhs.size(), rhs.size());
-    Words result{};
-    for (size_t i = 0; i < lhs.size(); ++i) {
-      result[i] = lhs[i] & rhs[i];
-    }
-    return result;
-  }
-
-  constexpr bool get_bit(Index index) const {
-    DCHECK_LE(index, kMaxBitIndex);
-    size_t word = index / kBitsPerWord;
-    size_t bit = index % kBitsPerWord;
-    return words_[word] & (static_cast<Word>(1) << bit);
-  }
-
-  constexpr void set_bit(Index index) {
-    DCHECK_LE(index, kMaxBitIndex);
-    size_t word = index / kBitsPerWord;
-    size_t bit = index % kBitsPerWord;
-    words_[word] |= static_cast<Word>(1) << bit;
-  }
-
-  constexpr void unset_bit(Index index) {
-    DCHECK_LE(index, kMaxBitIndex);
-    size_t word = index / kBitsPerWord;
-    size_t bit = index % kBitsPerWord;
-    words_[word] &= ~(static_cast<Word>(1) << bit);
-  }
-
-  static constexpr Words kOnlyZeros = Words{};
-
-  Words words_{};
+  Bitset bitset_{};
 };
 
 }  // namespace autofill
diff --git a/components/autofill/core/common/dense_set_unittest.cc b/components/autofill/core/common/dense_set_unittest.cc
index 6b70618..8c4ccbf 100644
--- a/components/autofill/core/common/dense_set_unittest.cc
+++ b/components/autofill/core/common/dense_set_unittest.cc
@@ -14,35 +14,21 @@
 
 namespace autofill {
 
-// Every DenseSet test other than the sizeof test should be run for both packed
-// and unpacked DenseSets to maximize test coverage.
-template <typename PackOrNotPack>
-class DenseSetTest_PackedOrUnpacked : public testing::Test {
- public:
-  static constexpr bool packed = PackOrNotPack::value;
-};
-
-using PackedAndNotPacked = ::testing::Types<std::true_type, std::false_type>;
-
-TYPED_TEST_SUITE(DenseSetTest_PackedOrUnpacked, PackedAndNotPacked);
-
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, size_of) {
-  constexpr bool packed = TestFixture::packed;
-  EXPECT_EQ(sizeof(DenseSet<size_t, 1, packed>), 1u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 7, packed>), 1u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 8, packed>), 2u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 15, packed>), 2u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 16, packed>), packed ? 3u : 4u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 31, packed>), 4u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 32, packed>), packed ? 5u : 8u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 63, packed>), packed ? 8u : 8u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 64, packed>), packed ? 9u : 16u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 127, packed>), packed ? 16u : 16u);
-  EXPECT_EQ(sizeof(DenseSet<size_t, 255, packed>), 32u);
+TEST(DenseSetTest, size_of) {
+  EXPECT_EQ(sizeof(DenseSet<size_t, 1>), 1u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 7>), 1u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 8>), 2u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 15>), 2u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 16>), 4u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 31>), 4u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 32>), 8u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 63>), 8u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 64>), 16u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 127>), 16u);
+  EXPECT_EQ(sizeof(DenseSet<size_t, 255>), 32u);
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, initialization) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, initialization) {
   enum class T : size_t {
     One = 1,
     Two = 2,
@@ -51,7 +37,7 @@
     Five = 5,
     kMaxValue = Five,
   };
-  using DS = DenseSet<T, T::kMaxValue, packed>;
+  using DS = DenseSet<T, T::kMaxValue>;
 
   DS s;
   EXPECT_TRUE(s.empty());
@@ -68,9 +54,7 @@
   EXPECT_EQ(DS({T::Four, T::Two, T::One}), s);
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, initializer_list) {
-  constexpr bool packed = TestFixture::packed;
-
+TEST(DenseSetTest, initializer_list) {
   // The largest value so that DenseSet offers a constexpr constructor.
   constexpr size_t kMaxValueForConstexpr = 63;
 
@@ -79,87 +63,63 @@
 
   {
     constexpr size_t kMax = 10;
-    constexpr DenseSet<size_t, kMax, packed> set{0, 1, kMax - 2, kMax - 1,
-                                                 kMax};
+    constexpr DenseSet<size_t, kMax> set{0, 1, kMax - 2, kMax - 1, kMax};
     EXPECT_THAT(std::vector<size_t>(set.begin(), set.end()),
                 ::testing::ElementsAre(0, 1, kMax - 2, kMax - 1, kMax));
   }
 
   {
     constexpr size_t kMax = kMaxValueForConstexpr;
-    constexpr DenseSet<size_t, kMax, packed> set{0, 1, kMax - 2, kMax - 1,
-                                                 kMax};
+    constexpr DenseSet<size_t, kMax> set{0, 1, kMax - 2, kMax - 1, kMax};
     EXPECT_THAT(std::vector<size_t>(set.begin(), set.end()),
                 ::testing::ElementsAre(0, 1, kMax - 2, kMax - 1, kMax));
   }
 
   {
     constexpr size_t kMax = kMaxValueForConstexpr + 1;
-    DenseSet<size_t, kMax, packed> set{0, 1, kMax - 2, kMax - 1, kMax};
+    DenseSet<size_t, kMax> set{0, 1, kMax - 2, kMax - 1, kMax};
     EXPECT_THAT(std::vector<size_t>(set.begin(), set.end()),
                 ::testing::ElementsAre(0, 1, kMax - 2, kMax - 1, kMax));
   }
 
   {
     constexpr size_t kMax = kMaxValueForConstexpr + 2;
-    DenseSet<size_t, kMax, packed> set{0, 1, kMax - 2, kMax - 1, kMax};
+    DenseSet<size_t, kMax> set{0, 1, kMax - 2, kMax - 1, kMax};
     EXPECT_THAT(std::vector<size_t>(set.begin(), set.end()),
                 ::testing::ElementsAre(0, 1, kMax - 2, kMax - 1, kMax));
   }
 
   {
     constexpr size_t kMax = kMaxValueForConstexpr + 100;
-    DenseSet<size_t, kMax, packed> set{0, 1, kMax - 2, kMax - 1, kMax};
+    DenseSet<size_t, kMax> set{0, 1, kMax - 2, kMax - 1, kMax};
     EXPECT_THAT(std::vector<size_t>(set.begin(), set.end()),
                 ::testing::ElementsAre(0, 1, kMax - 2, kMax - 1, kMax));
   }
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, data) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, data) {
   {
-    constexpr DenseSet<size_t, 23, packed> set{0, 1, 2, 3, 4, 20, 23};
-    if (packed) {
-      EXPECT_THAT(set.data(),
-                  ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 2) |
-                                  (1ULL << 3) | (1ULL << 4),
-                              0ULL, (1ULL << (20 - 16)) | (1ULL << (23 - 16))));
-    } else {
-      EXPECT_THAT(
-          set.data(),
-          ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 2) | (1ULL << 3) |
-                      (1ULL << 4) | (1ULL << 20) | (1ULL << 23)));
-    }
+    constexpr DenseSet<size_t, 23> set{0, 1, 2, 3, 4, 20, 23};
+    EXPECT_THAT(
+        set.data(),
+        ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 2) | (1ULL << 3) |
+                    (1ULL << 4) | (1ULL << 20) | (1ULL << 23)));
   }
   {
-    constexpr DenseSet<size_t, 31, packed> set{0, 1, 2, 3, 4, 20, 31};
-    if (packed) {
-      EXPECT_THAT(set.data(),
-                  ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 2) |
-                                  (1ULL << 3) | (1ULL << 4),
-                              0ULL, (1ULL << (20 - 16)), (1ULL << (31 - 24))));
-    } else {
-      EXPECT_THAT(
-          set.data(),
-          ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 2) | (1ULL << 3) |
-                      (1ULL << 4) | (1ULL << 20) | (1ULL << 31)));
-    }
+    constexpr DenseSet<size_t, 31> set{0, 1, 2, 3, 4, 20, 31};
+    EXPECT_THAT(
+        set.data(),
+        ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 2) | (1ULL << 3) |
+                    (1ULL << 4) | (1ULL << 20) | (1ULL << 31)));
   }
   {
-    constexpr DenseSet<size_t, 63, packed> set{0, 1, 63};
-    if (packed) {
-      EXPECT_THAT(set.data(),
-                  ElementsAre((1ULL << 0) | (1ULL << 1), 0ULL, 0ULL, 0ULL, 0ULL,
-                              0ULL, 0ULL, (1ULL << (63 - 56))));
-    } else {
-      EXPECT_THAT(set.data(),
-                  ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 63)));
-    }
+    constexpr DenseSet<size_t, 63> set{0, 1, 63};
+    EXPECT_THAT(set.data(),
+                ElementsAre((1ULL << 0) | (1ULL << 1) | (1ULL << 63)));
   }
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, iterators_begin_end) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, iterators_begin_end) {
   enum class T : int {
     One = 1,
     Two = 2,
@@ -168,7 +128,7 @@
     Five = 5,
     kMaxValue = Five,
   };
-  using DS = DenseSet<T, T::kMaxValue, packed>;
+  using DS = DenseSet<T, T::kMaxValue>;
 
   DS s;
   s.insert(T::Two);
@@ -202,8 +162,7 @@
   EXPECT_THAT(s, ::testing::ElementsAre(T::One, T::Two, T::Four));
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, iterators_begin_end_reverse) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, iterators_begin_end_reverse) {
   enum class T : char {
     One = 1,
     Two = 2,
@@ -212,7 +171,7 @@
     Five = 5,
     kMaxValue = Five,
   };
-  using DS = DenseSet<T, T::kMaxValue, packed>;
+  using DS = DenseSet<T, T::kMaxValue>;
 
   DS s;
   s.insert(T::Two);
@@ -244,8 +203,7 @@
   }
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, iterators_rbegin_rend) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, iterators_rbegin_rend) {
   enum class T {
     One = 1,
     Two = 2,
@@ -254,7 +212,7 @@
     Five = 5,
     kMaxValue = Five
   };
-  using DS = DenseSet<T, T::kMaxValue, packed>;
+  using DS = DenseSet<T, T::kMaxValue>;
 
   DS s;
   s.insert(T::Two);
@@ -289,8 +247,7 @@
               ::testing::ElementsAre(T::Four, T::Two, T::One));
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, lookup) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, lookup) {
   enum class T {
     One = 1,
     Two = 2,
@@ -299,7 +256,7 @@
     Five = 5,
     kMaxValue = Five
   };
-  using DS = DenseSet<T, T::kMaxValue, packed>;
+  using DS = DenseSet<T, T::kMaxValue>;
 
   DS s;
   s.insert(T::Two);
@@ -365,10 +322,9 @@
   EXPECT_TRUE(s.contains_all({}));
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, iterators_lower_upper_bound) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, iterators_lower_upper_bound) {
   enum class T { One = 1, Two = 2, Three = 3, Four = 4, Five = 5 };
-  using DS = DenseSet<T, T::Five, packed>;
+  using DS = DenseSet<T, T::Five>;
 
   DS s;
   s.insert(T::Two);
@@ -435,15 +391,14 @@
   EXPECT_EQ(std::next(std::next(std::next(s.begin()))), s.end());
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, max_size) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, max_size) {
   const int One = 1;
   const int Two = 2;
   // const int Three = 3;
   const int Four = 4;
   // const int Five = 5;
   const int kMaxValue = 5;
-  using DS = DenseSet<int, kMaxValue, packed>;
+  using DS = DenseSet<int, kMaxValue>;
 
   DS s;
   EXPECT_TRUE(s.empty());
@@ -461,15 +416,14 @@
   EXPECT_EQ(s.max_size(), 6u);
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, modifiers) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, modifiers) {
   const size_t One = 1;
   const size_t Two = 2;
   const size_t Three = 3;
   const size_t Four = 4;
   // const size_t Five = 5;
   const size_t kMaxValue = 5;
-  using DS = DenseSet<size_t, kMaxValue, packed>;
+  using DS = DenseSet<size_t, kMaxValue>;
 
   DS s;
   s.insert(Two);
@@ -583,10 +537,9 @@
   EXPECT_EQ(t.size(), 3u);
 }
 
-TYPED_TEST(DenseSetTest_PackedOrUnpacked, std_set) {
-  constexpr bool packed = TestFixture::packed;
+TEST(DenseSetTest, std_set) {
   constexpr size_t kMaxValue = 50;
-  DenseSet<size_t, kMaxValue, packed> dense_set;
+  DenseSet<size_t, kMaxValue> dense_set;
   std::set<size_t> std_set;
 
   auto expect_equivalence = [&] {
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
index 939cd44..f3aa05ef 100644
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -450,7 +450,8 @@
   base::Time last_used_time = node->date_last_used();
   UpdateLastUsedTimeImpl(node, time);
   if (just_opened) {
-    metrics::RecordBookmarkOpened(time, last_used_time, node->date_added());
+    metrics::RecordBookmarkOpened(time, last_used_time, node->date_added(),
+                                  client_->GetStorageStateForUma());
   }
 }
 
diff --git a/components/bookmarks/common/bookmark_metrics.cc b/components/bookmarks/common/bookmark_metrics.cc
index 798c342c..5462634 100644
--- a/components/bookmarks/common/bookmark_metrics.cc
+++ b/components/bookmarks/common/bookmark_metrics.cc
@@ -61,14 +61,18 @@
 
 void RecordBookmarkOpened(base::Time now,
                           base::Time date_last_used,
-                          base::Time date_added) {
+                          base::Time date_added,
+                          StorageStateForUma storage_state) {
   if (date_last_used != base::Time()) {
     base::UmaHistogramCounts10000("Bookmarks.Opened.TimeSinceLastUsed",
                                   (now - date_last_used).InDays());
   }
   base::UmaHistogramCounts10000("Bookmarks.Opened.TimeSinceAdded",
                                 (now - date_added).InDays());
+
   base::RecordAction(base::UserMetricsAction("Bookmarks.Opened"));
+  base::RecordComputedAction(base::StrCat(
+      {"Bookmarks.Opened", GetStorageStateSuffixForMetrics(storage_state)}));
 }
 
 void RecordBookmarkMovedTo(BookmarkFolderTypeForUMA new_parent) {
diff --git a/components/bookmarks/common/bookmark_metrics.h b/components/bookmarks/common/bookmark_metrics.h
index 0afe90c..3fc12ff 100644
--- a/components/bookmarks/common/bookmark_metrics.h
+++ b/components/bookmarks/common/bookmark_metrics.h
@@ -61,7 +61,8 @@
 // Records when a bookmark is opened by the user.
 void RecordBookmarkOpened(base::Time now,
                           base::Time date_last_used,
-                          base::Time date_added);
+                          base::Time date_added,
+                          StorageStateForUma storage_state);
 
 // Records when a bookmark or bookmark folder is moved to a different parent
 // folder.
diff --git a/components/browsing_topics/browsing_topics_calculator_unittest.cc b/components/browsing_topics/browsing_topics_calculator_unittest.cc
index 614d7cf..c8192db 100644
--- a/components/browsing_topics/browsing_topics_calculator_unittest.cc
+++ b/components/browsing_topics/browsing_topics_calculator_unittest.cc
@@ -218,7 +218,8 @@
  public:
   BrowsingTopicsCalculatorUnsupporedTaxonomyVersionTest() {
     feature_list_.InitAndEnableFeatureWithParameters(
-        blink::features::kBrowsingTopics, {{"taxonomy_version", "999"}});
+        blink::features::kBrowsingTopicsParameters,
+        {{"taxonomy_version", "999"}});
   }
 
  private:
@@ -878,7 +879,7 @@
 
   base::test::ScopedFeatureList feature_list;
   feature_list.InitAndEnableFeatureWithParameters(
-      blink::features::kBrowsingTopics,
+      blink::features::kBrowsingTopicsParameters,
       {{"browsing_topics_disabled_topics_list", "6,4"}});
 
   EpochTopics result = CalculateTopics();
diff --git a/components/browsing_topics/browsing_topics_service_impl_unittest.cc b/components/browsing_topics/browsing_topics_service_impl_unittest.cc
index 93db0393..4b40e42 100644
--- a/components/browsing_topics/browsing_topics_service_impl_unittest.cc
+++ b/components/browsing_topics/browsing_topics_service_impl_unittest.cc
@@ -167,7 +167,8 @@
             base::test::TaskEnvironment::TimeSource::MOCK_TIME) {
     scoped_feature_list_.InitWithFeaturesAndParameters(
         /*enabled_features=*/
-        {{blink::features::kBrowsingTopics,
+        {{blink::features::kBrowsingTopics, {}},
+         {blink::features::kBrowsingTopicsParameters,
           {{"time_period_per_epoch",
             base::StrCat({base::NumberToString(kEpoch.InSeconds()), "s"})},
            {"browsing_topics_max_epoch_introduction_delay",
@@ -2062,7 +2063,8 @@
   scoped_feature_list_.Reset();
   scoped_feature_list_.InitWithFeaturesAndParameters(
       /*enabled_features=*/
-      {{blink::features::kBrowsingTopics,
+      {{blink::features::kBrowsingTopics, {}},
+       {blink::features::kBrowsingTopicsParameters,
         {{"time_period_per_epoch",
           base::StrCat({base::NumberToString(kEpoch.InSeconds()), "s"})},
          {"browsing_topics_max_epoch_introduction_delay",
diff --git a/components/browsing_topics/browsing_topics_state_unittest.cc b/components/browsing_topics/browsing_topics_state_unittest.cc
index b9b0312a..351a500 100644
--- a/components/browsing_topics/browsing_topics_state_unittest.cc
+++ b/components/browsing_topics/browsing_topics_state_unittest.cc
@@ -70,7 +70,8 @@
       : task_environment_(new base::test::TaskEnvironment(
             base::test::TaskEnvironment::TimeSource::MOCK_TIME)) {
     feature_list_.InitAndEnableFeatureWithParameters(
-        blink::features::kBrowsingTopics, {{"config_version", "123"}});
+        blink::features::kBrowsingTopicsParameters,
+        {{"config_version", "123"}});
 
     OverrideHmacKeyForTesting(kTestKey);
 
diff --git a/components/browsing_topics/common/semantic_tree_unittest.cc b/components/browsing_topics/common/semantic_tree_unittest.cc
index 6b1c8b9..0b17292 100644
--- a/components/browsing_topics/common/semantic_tree_unittest.cc
+++ b/components/browsing_topics/common/semantic_tree_unittest.cc
@@ -110,7 +110,7 @@
 TEST_F(SemanticTreeUnittest, GetLatestLocalizedNameMessageIdInvalidTaxonomy) {
   base::test::ScopedFeatureList feature_list;
   feature_list.InitAndEnableFeatureWithParameters(
-      blink::features::kBrowsingTopics, {{"taxonomy_version", "0"}});
+      blink::features::kBrowsingTopicsParameters, {{"taxonomy_version", "0"}});
   absl::optional<int> message_id =
       semantic_tree_.GetLatestLocalizedNameMessageId(Topic(100));
   EXPECT_FALSE(message_id.has_value());
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json
index 17436c4..24111bd 100644
--- a/components/certificate_transparency/data/log_list.json
+++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@
 {
-  "version": "22.11",
-  "log_list_timestamp": "2023-06-13T12:54:24Z",
+  "version": "22.12",
+  "log_list_timestamp": "2023-06-14T12:55:19Z",
   "operators": [
     {
       "name": "Google",
diff --git a/components/content_settings/core/browser/content_settings_default_provider.cc b/components/content_settings/core/browser/content_settings_default_provider.cc
index 219ba4f..baff459 100644
--- a/components/content_settings/core/browser/content_settings_default_provider.cc
+++ b/components/content_settings/core/browser/content_settings_default_provider.cc
@@ -449,6 +449,16 @@
       IntToContentSetting(
           prefs_->GetInteger(GetPrefName(ContentSettingsType::IDLE_DETECTION))),
       CONTENT_SETTING_NUM_SETTINGS);
+  base::UmaHistogramEnumeration(
+      "ContentSettings.RegularProfile.DefaultStorageAccessSetting",
+      IntToContentSetting(
+          prefs_->GetInteger(GetPrefName(ContentSettingsType::STORAGE_ACCESS))),
+      CONTENT_SETTING_NUM_SETTINGS);
+  base::UmaHistogramEnumeration(
+      "ContentSettings.RegularProfile.DefaultAutoVerifySetting",
+      IntToContentSetting(
+          prefs_->GetInteger(GetPrefName(ContentSettingsType::ANTI_ABUSE))),
+      CONTENT_SETTING_NUM_SETTINGS);
 #endif
 
 #if BUILDFLAG(IS_ANDROID)
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
index f193a98..2170046 100644
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -15,6 +15,7 @@
 #include "base/containers/flat_map.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/observer_list.h"
+#include "base/ranges/algorithm.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/task/single_thread_task_runner.h"
@@ -219,6 +220,19 @@
     case ContentSettingsType::COOKIES:
     case ContentSettingsType::POPUPS:
     case ContentSettingsType::ADS:
+    case ContentSettingsType::STORAGE_ACCESS:
+      return true;
+    default:
+      return false;
+  }
+}
+
+// Returns whether information about the maximum number of exceptions per
+// embedder/requester should be recorded. Only relevant for setting types that
+// are keyed to both requester and embedder.
+bool ShouldCollectRequesterAndEmbedderHistograms(ContentSettingsType type) {
+  switch (type) {
+    case ContentSettingsType::STORAGE_ACCESS:
       return true;
     default:
       return false;
@@ -668,6 +682,30 @@
             1, 1000, 30);
       }
     }
+    if (ShouldCollectRequesterAndEmbedderHistograms(content_type)) {
+      std::map<ContentSettingsPattern, int> num_requester;
+      std::map<ContentSettingsPattern, int> num_toplevel;
+      for (const ContentSettingPatternSource& setting : settings) {
+        if (setting.primary_pattern == ContentSettingsPattern::Wildcard() &&
+            setting.secondary_pattern == ContentSettingsPattern::Wildcard()) {
+          continue;
+        }
+        num_requester[setting.primary_pattern]++;
+        num_toplevel[setting.secondary_pattern]++;
+      }
+      auto get_value = [](const std::pair<ContentSettingsPattern, int>& p) {
+        return p.second;
+      };
+      bool empty = num_requester.empty();
+      int max_requester =
+          empty ? 0 : base::ranges::max(num_requester, {}, get_value).second;
+      base::UmaHistogramCounts1000(histogram_name + ".MaxRequester",
+                                   max_requester);
+      int max_toplevel =
+          empty ? 0 : base::ranges::max(num_toplevel, {}, get_value).second;
+      base::UmaHistogramCounts1000(histogram_name + ".MaxTopLevel",
+                                   max_toplevel);
+    }
     if (content_type == ContentSettingsType::COOKIES) {
       base::UmaHistogramCustomCounts(
           "ContentSettings.RegularProfile.Exceptions.cookies.AllowThirdParty",
diff --git a/components/cronet/android/fake/javatests/org/chromium/net/test/FakeUrlRequestTest.java b/components/cronet/android/fake/javatests/org/chromium/net/test/FakeUrlRequestTest.java
index 4168eb20..75e21b32 100644
--- a/components/cronet/android/fake/javatests/org/chromium/net/test/FakeUrlRequestTest.java
+++ b/components/cronet/android/fake/javatests/org/chromium/net/test/FakeUrlRequestTest.java
@@ -9,10 +9,9 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.os.ConditionVariable;
 
+import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -106,7 +105,10 @@
     @Before
     public void setUp() {
         mFakeCronetController = new FakeCronetController();
-        mFakeCronetEngine = mFakeCronetController.newFakeCronetEngineBuilder(getContext()).build();
+        mFakeCronetEngine =
+                mFakeCronetController
+                        .newFakeCronetEngineBuilder(ApplicationProvider.getApplicationContext())
+                        .build();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
index 269af981..6610aa0 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -36,7 +34,7 @@
     @Before
     public void setUp() throws Exception {
         mTestRule.getTestFramework().applyEngineBuilderPatch((builder) -> {
-            QuicTestServer.startQuicTestServer(getContext());
+            QuicTestServer.startQuicTestServer(mTestRule.getTestFramework().getContext());
 
             JSONObject quicParams = new JSONObject();
             JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
index 0ddb03c..ace73c91 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.os.Build;
 import android.os.ConditionVariable;
 import android.os.Process;
@@ -63,7 +61,8 @@
                                 builder, QuicTestServer.createMockCertVerifier()));
 
         mCronetEngine = mTestRule.getTestFramework().startEngine();
-        assertThat(Http2TestServer.startHttp2TestServer(getContext())).isTrue();
+        assertThat(Http2TestServer.startHttp2TestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
@@ -867,7 +866,7 @@
         String userAgentName = "User-Agent";
         String userAgentValue = "User-Agent-Value";
         ExperimentalCronetEngine.Builder engineBuilder =
-                new ExperimentalCronetEngine.Builder(getContext());
+                new ExperimentalCronetEngine.Builder(mTestRule.getTestFramework().getContext());
         engineBuilder.setUserAgent(userAgentValue);
         CronetTestUtil.setMockCertVerifierForTesting(
                 engineBuilder, QuicTestServer.createMockCertVerifier());
@@ -895,7 +894,8 @@
         callback.blockForDone();
         assertThat(callback.mResponseInfo.getHttpStatusCode()).isEqualTo(200);
         assertThat(callback.mResponseAsString)
-                .isEqualTo(new CronetEngine.Builder(getContext()).getDefaultUserAgent());
+                .isEqualTo(new CronetEngine.Builder(mTestRule.getTestFramework().getContext())
+                                   .getDefaultUserAgent());
     }
 
     @Test
@@ -1270,7 +1270,7 @@
             FailureType failureType, ResponseStep failureStep, boolean expectError) {
         // Use a fresh CronetEngine each time so Http2 session is not reused.
         ExperimentalCronetEngine.Builder builder =
-                new ExperimentalCronetEngine.Builder(getContext());
+                new ExperimentalCronetEngine.Builder(mTestRule.getTestFramework().getContext());
         CronetTestUtil.setMockCertVerifierForTesting(
                 builder, QuicTestServer.createMockCertVerifier());
         mCronetEngine = builder.build();
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
index ec28cca4..7da1223 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -35,7 +33,8 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(Http2TestServer.startHttp2TestServer(getContext())).isTrue();
+        assertThat(Http2TestServer.startHttp2TestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetEngineBuilderTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetEngineBuilderTest.java
index 1fc7488..40011c5f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetEngineBuilderTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetEngineBuilderTest.java
@@ -6,11 +6,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertThrows;
 
 import static org.chromium.net.CronetProvider.PROVIDER_NAME_APP_PACKAGED;
 import static org.chromium.net.CronetProvider.PROVIDER_NAME_FALLBACK;
-import static org.chromium.net.CronetTestRule.getContext;
 
 import android.content.Context;
 
@@ -19,9 +19,12 @@
 
 import com.google.common.truth.Correspondence;
 
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -30,7 +33,11 @@
  * Tests {@link CronetEngine.Builder}.
  */
 @RunWith(AndroidJUnit4.class)
+@OnlyRunNativeCronet
 public class CronetEngineBuilderTest {
+    @Rule
+    public final CronetTestRule mTestRule = CronetTestRule.withManualEngineStartup();
+
     /**
      * Tests the comparison of two strings that contain versions.
      */
@@ -56,14 +63,17 @@
     @SmallTest
     public void testProviderOrdering() {
         final CronetProvider[] availableProviders = new CronetProvider[] {
-                new FakeProvider(getContext(), PROVIDER_NAME_APP_PACKAGED, "99.77", true),
-                new FakeProvider(getContext(), PROVIDER_NAME_FALLBACK, "99.99", true),
-                new FakeProvider(getContext(), "Some other provider", "99.88", true),
+                new FakeProvider(mTestRule.getTestFramework().getContext(),
+                        PROVIDER_NAME_APP_PACKAGED, "99.77", true),
+                new FakeProvider(mTestRule.getTestFramework().getContext(), PROVIDER_NAME_FALLBACK,
+                        "99.99", true),
+                new FakeProvider(mTestRule.getTestFramework().getContext(), "Some other provider",
+                        "99.88", true),
         };
 
         ArrayList<CronetProvider> providers = new ArrayList<>(Arrays.asList(availableProviders));
-        List<CronetProvider> orderedProviders =
-                CronetEngine.Builder.getEnabledCronetProviders(getContext(), providers);
+        List<CronetProvider> orderedProviders = CronetEngine.Builder.getEnabledCronetProviders(
+                mTestRule.getTestFramework().getContext(), providers);
 
         // Check the result
         assertThat(orderedProviders)
@@ -80,14 +90,17 @@
     @SmallTest
     public void testThatDisabledProvidersAreExcluded() {
         final CronetProvider[] availableProviders = new CronetProvider[] {
-                new FakeProvider(getContext(), PROVIDER_NAME_FALLBACK, "99.99", true),
-                new FakeProvider(getContext(), PROVIDER_NAME_APP_PACKAGED, "99.77", true),
-                new FakeProvider(getContext(), "Some other provider", "99.88", false),
+                new FakeProvider(mTestRule.getTestFramework().getContext(), PROVIDER_NAME_FALLBACK,
+                        "99.99", true),
+                new FakeProvider(mTestRule.getTestFramework().getContext(),
+                        PROVIDER_NAME_APP_PACKAGED, "99.77", true),
+                new FakeProvider(mTestRule.getTestFramework().getContext(), "Some other provider",
+                        "99.88", false),
         };
 
         ArrayList<CronetProvider> providers = new ArrayList<>(Arrays.asList(availableProviders));
-        List<CronetProvider> orderedProviders =
-                CronetEngine.Builder.getEnabledCronetProviders(getContext(), providers);
+        List<CronetProvider> orderedProviders = CronetEngine.Builder.getEnabledCronetProviders(
+                mTestRule.getTestFramework().getContext(), providers);
 
         Correspondence<CronetProvider, String> providerName = Correspondence.transforming(
                 provider -> provider.getName(), "The name of the provider");
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
index 8bdbb62..96e29ba8 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.LargeTest;
 
@@ -35,7 +33,9 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java
index 8977a2a..a5e25f4 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRule.java
@@ -41,7 +41,6 @@
 
     private CronetTestFramework mCronetTestFramework;
     private CronetImplementation mImplementation;
-    private StrictMode.VmPolicy mOldVmPolicy;
 
     private final EngineStartupMode mEngineStartupMode;
 
@@ -65,10 +64,6 @@
         return new CronetTestRule(EngineStartupMode.AUTOMATIC);
     }
 
-    public static Context getContext() {
-        return ApplicationProvider.getApplicationContext();
-    }
-
     public CronetTestFramework getTestFramework() {
         return mCronetTestFramework;
     }
@@ -89,12 +84,6 @@
         }
     }
 
-    public CronetEngine.Builder enableDiskCache(CronetEngine.Builder cronetEngineBuilder) {
-        cronetEngineBuilder.setStoragePath(getTestStorage(getContext()));
-        cronetEngineBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
-        return cronetEngineBuilder;
-    }
-
     /**
      * Returns {@code true} when test is being run against the java implementation of CronetEngine.
      *
@@ -110,12 +99,7 @@
         return new Statement() {
             @Override
             public void evaluate() throws Throwable {
-                setUp();
-                try {
-                    runBase(base, desc);
-                } finally {
-                    tearDown();
-                }
+                runBase(base, desc);
             }
         };
     }
@@ -193,43 +177,15 @@
         }
     }
 
-    private void setUp() throws Exception {
-        System.loadLibrary("cronet_tests");
-        ContextUtils.initApplicationContext(getContext().getApplicationContext());
-        PathUtils.setPrivateDataDirectorySuffix(PRIVATE_DATA_DIRECTORY_SUFFIX);
-        prepareTestStorage(getContext());
-        mOldVmPolicy = StrictMode.getVmPolicy();
-        // Only enable StrictMode testing after leaks were fixed in crrev.com/475945
-        if (getMaximumAvailableApiLevel() >= 7) {
-            StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
-                                           .detectLeakedClosableObjects()
-                                           .penaltyLog()
-                                           .penaltyDeath()
-                                           .build());
-        }
-    }
-
-    private void tearDown() throws Exception {
-        try {
-            // Run GC and finalizers a few times to pick up leaked closeables
-            for (int i = 0; i < 10; i++) {
-                System.gc();
-                System.runFinalization();
-            }
-        } finally {
-            StrictMode.setVmPolicy(mOldVmPolicy);
-        }
-    }
-
     private CronetTestFramework createCronetTestFramework() {
-        mCronetTestFramework = CronetTestFramework.create(getContext(), mImplementation);
+        mCronetTestFramework = CronetTestFramework.create(mImplementation);
         if (mEngineStartupMode.equals(EngineStartupMode.AUTOMATIC)) {
             mCronetTestFramework.startEngine();
         }
         return mCronetTestFramework;
     }
 
-    int getMaximumAvailableApiLevel() {
+    static int getMaximumAvailableApiLevel() {
         // Prior to M59 the ApiVersion.getMaximumAvailableApiLevel API didn't exist
         int cronetMajorVersion = Integer.parseInt(ApiVersion.getCronetVersion().split("\\.")[0]);
         if (cronetMajorVersion < 59) {
@@ -341,22 +297,49 @@
     public static class CronetTestFramework implements AutoCloseable {
         private final CronetImplementation mImplementation;
         private final ExperimentalCronetEngine.Builder mBuilder;
+        private final Context mContext;
+        private final StrictMode.VmPolicy mOldVmPolicy;
 
         private ExperimentalCronetEngine mCronetEngine;
         private boolean mClosed;
 
-        private CronetTestFramework(
-                ExperimentalCronetEngine.Builder builder, CronetImplementation implementation) {
+        private CronetTestFramework(ExperimentalCronetEngine.Builder builder,
+                CronetImplementation implementation, Context context) {
             this.mBuilder = builder;
             this.mImplementation = implementation;
+            this.mContext = context;
+
+            System.loadLibrary("cronet_tests");
+            ContextUtils.initApplicationContext(getContext().getApplicationContext());
+            PathUtils.setPrivateDataDirectorySuffix(PRIVATE_DATA_DIRECTORY_SUFFIX);
+            prepareTestStorage(getContext());
+            mOldVmPolicy = StrictMode.getVmPolicy();
+            // Only enable StrictMode testing after leaks were fixed in crrev.com/475945
+            if (getMaximumAvailableApiLevel() >= 7) {
+                StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
+                                               .detectLeakedClosableObjects()
+                                               .penaltyLog()
+                                               .penaltyDeath()
+                                               .build());
+            }
         }
 
-        private static CronetTestFramework create(
-                Context context, CronetImplementation implementation) {
+        private static CronetTestFramework create(CronetImplementation implementation) {
+            final Context context = ApplicationProvider.getApplicationContext();
             return new CronetTestFramework(implementation.createBuilder(context)
                                                    .setUserAgent(UserAgent.from(context))
                                                    .enableQuic(true),
-                    implementation);
+                    implementation, context);
+        }
+
+        public Context getContext() {
+            return mContext;
+        }
+
+        public CronetEngine.Builder enableDiskCache(CronetEngine.Builder cronetEngineBuilder) {
+            cronetEngineBuilder.setStoragePath(getTestStorage(getContext()));
+            cronetEngineBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
+            return cronetEngineBuilder;
         }
 
         public ExperimentalCronetEngine startEngine() {
@@ -426,6 +409,16 @@
             }
             shutdownEngine();
             mClosed = true;
+
+            try {
+                // Run GC and finalizers a few times to pick up leaked closeables
+                for (int i = 0; i < 10; i++) {
+                    System.gc();
+                    System.runFinalization();
+                }
+            } finally {
+                StrictMode.setVmPolicy(mOldVmPolicy);
+            }
         }
 
         private void shutdownEngine() {
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
index 5f124aa..5724274 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -55,8 +53,8 @@
 
         mUploadDataStream =
                 new CronetUploadDataStream(mDataProvider, executor, (CronetUrlRequest) urlRequest);
-        mHandler = new TestUploadDataStreamHandler(
-                getContext(), mUploadDataStream.createUploadDataStreamForTesting());
+        mHandler = new TestUploadDataStreamHandler(mTestRule.getTestFramework().getContext(),
+                mUploadDataStream.createUploadDataStreamForTesting());
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
index 88e6490..8d34111f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
@@ -10,7 +10,6 @@
 import static org.junit.Assume.assumeTrue;
 
 import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_IN_MEMORY;
-import static org.chromium.net.CronetTestRule.getContext;
 import static org.chromium.net.CronetTestRule.getTestStorage;
 
 import android.content.Context;
@@ -80,7 +79,8 @@
 
     @Before
     public void setUp() throws Exception {
-        mTestServer = EmbeddedTestServer.createAndStartServer(getContext());
+        mTestServer =
+                EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
         mUrl = mTestServer.getURL("/echo?status=200");
         mUrl404 = mTestServer.getURL("/echo?status=404");
         mUrl500 = mTestServer.getURL("/echo?status=500");
@@ -106,7 +106,9 @@
         public void run() {
             mRunBlocker.block();
             ExperimentalCronetEngine cronetEngine =
-                    mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                    mTestRule.getTestFramework()
+                            .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                            .build();
             try {
                 mCallback = new TestUrlRequestCallback();
                 UrlRequest.Builder urlRequestBuilder =
@@ -164,7 +166,9 @@
         CronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
         NativeTestServer.shutdownNativeTestServer(); // startNativeTestServer returns false if it's
         // already running
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
         TestUrlRequestCallback callback = new TestUrlRequestCallback();
         UrlRequest.Builder urlRequestBuilder = cronetEngine.newUrlRequestBuilder(
                 NativeTestServer.getEchoHeaderURL(userAgentName), callback, callback.getExecutor());
@@ -237,7 +241,7 @@
         // will be stuck behind blockingTask.
         CronetUrlRequestContext cronetEngine =
                 (CronetUrlRequestContext) mTestRule.getTestFramework()
-                        .createNewSecondaryBuilder(getContext())
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
                         .build();
         // Unblock the main thread, so context gets initialized and shutdown on
         // it.
@@ -262,7 +266,8 @@
                 // Create new request context, loading the library.
                 final CronetUrlRequestContext cronetEngine =
                         (CronetUrlRequestContext) mTestRule.getTestFramework()
-                                .createNewSecondaryBuilder(getContext())
+                                .createNewSecondaryBuilder(
+                                        mTestRule.getTestFramework().getContext())
                                 .build();
                 // Shutdown right after init.
                 cronetEngine.shutdown();
@@ -333,7 +338,8 @@
     public void testNetworkBoundContextLifetime() throws Exception {
         // Multi-network API is available starting from Android Lollipop.
         ExperimentalCronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
-        ConnectivityManagerDelegate delegate = new ConnectivityManagerDelegate(getContext());
+        ConnectivityManagerDelegate delegate =
+                new ConnectivityManagerDelegate(mTestRule.getTestFramework().getContext());
         Network defaultNetwork = delegate.getDefaultNetwork();
         assumeTrue(defaultNetwork != null);
 
@@ -392,7 +398,8 @@
         callback.setAutoAdvance(false);
         ExperimentalUrlRequest.Builder urlRequestBuilder =
                 cronetEngine.newUrlRequestBuilder(mUrl, callback, callback.getExecutor());
-        ConnectivityManagerDelegate delegate = new ConnectivityManagerDelegate(getContext());
+        ConnectivityManagerDelegate delegate =
+                new ConnectivityManagerDelegate(mTestRule.getTestFramework().getContext());
         Network defaultNetwork = delegate.getDefaultNetwork();
         assumeTrue(defaultNetwork != null);
 
@@ -430,7 +437,7 @@
     @SmallTest
     @OnlyRunNativeCronet // No netlogs for pure java impl
     public void testNetLog() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File file = File.createTempFile("cronet", "json", directory);
         CronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
@@ -457,7 +464,7 @@
     @SmallTest
     @OnlyRunNativeCronet // No netlogs for pure java impl
     public void testBoundedFileNetLog() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File netLogDir = new File(directory, "NetLog");
         assertThat(netLogDir.exists()).isFalse();
@@ -489,7 +496,7 @@
     // Tests that if stopNetLog is not explicity called, CronetEngine.shutdown()
     // will take care of it. crbug.com/623701.
     public void testNoStopNetLog() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File file = File.createTempFile("cronet", "json", directory);
         ExperimentalCronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
@@ -516,7 +523,7 @@
     // Tests that if stopNetLog is not explicity called, CronetEngine.shutdown()
     // will take care of it. crbug.com/623701.
     public void testNoStopBoundedFileNetLog() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File netLogDir = new File(directory, "NetLog");
         assertThat(netLogDir.exists()).isFalse();
@@ -826,14 +833,18 @@
     @OnlyRunNativeCronet
     // Tests that NetLog contains events emitted by all live CronetEngines.
     public void testNetLogContainEventsFromAllLiveEngines() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File file1 = File.createTempFile("cronet1", "json", directory);
         File file2 = File.createTempFile("cronet2", "json", directory);
         CronetEngine cronetEngine1 =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
         CronetEngine cronetEngine2 =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
 
         cronetEngine1.startNetLogToFile(file1.getPath(), false);
         cronetEngine2.startNetLogToFile(file2.getPath(), false);
@@ -868,7 +879,7 @@
     @OnlyRunNativeCronet
     // Tests that NetLog contains events emitted by all live CronetEngines.
     public void testBoundedFileNetLogContainEventsFromAllLiveEngines() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File netLogDir1 = new File(directory, "NetLog1");
         assertThat(netLogDir1.exists()).isFalse();
@@ -880,9 +891,13 @@
         File logFile2 = new File(netLogDir2, "netlog.json");
 
         CronetEngine cronetEngine1 =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
         CronetEngine cronetEngine2 =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
 
         cronetEngine1.startNetLogToDisk(netLogDir1.getPath(), false, MAX_FILE_SIZE);
         cronetEngine2.startNetLogToDisk(netLogDir2.getPath(), false, MAX_FILE_SIZE);
@@ -920,17 +935,17 @@
     }
 
     private CronetEngine createCronetEngineWithCache(int cacheType) {
-        CronetEngine.Builder builder =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext());
+        CronetEngine.Builder builder = mTestRule.getTestFramework().createNewSecondaryBuilder(
+                mTestRule.getTestFramework().getContext());
         if (cacheType == CronetEngine.Builder.HTTP_CACHE_DISK
                 || cacheType == CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP) {
-            builder.setStoragePath(getTestStorage(getContext()));
+            builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         }
         builder.enableHttpCache(cacheType, 100 * 1024);
         // Don't check the return value here, because startNativeTestServer() returns false when the
         // NativeTestServer is already running and this method needs to be called twice without
         // shutting down the NativeTestServer in between.
-        NativeTestServer.startNativeTestServer(getContext());
+        NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext());
         return builder.build();
     }
 
@@ -1202,7 +1217,7 @@
     @SmallTest
     @OnlyRunNativeCronet
     public void testNetLogWithBytes() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File file = File.createTempFile("cronet", "json", directory);
         ExperimentalCronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
@@ -1226,7 +1241,7 @@
     @SmallTest
     @OnlyRunNativeCronet
     public void testBoundedFileNetLogWithBytes() throws Exception {
-        Context context = getContext();
+        Context context = mTestRule.getTestFramework().getContext();
         File directory = new File(PathUtils.getDataDirectory());
         File netLogDir = new File(directory, "NetLog");
         assertThat(netLogDir.exists()).isFalse();
@@ -1431,9 +1446,9 @@
         // Shutdown original context and create another that uses the same cache.
         cronetEngine.shutdown();
         cronetEngine =
-                mTestRule
+                mTestRule.getTestFramework()
                         .enableDiskCache(mTestRule.getTestFramework().createNewSecondaryBuilder(
-                                getContext()))
+                                mTestRule.getTestFramework().getContext()))
                         .build();
         checkRequestCaching(cronetEngine, url, true);
         cronetEngine.shutdown();
@@ -1509,11 +1524,17 @@
         // different versions of the same Android Context does not cause crashes
         // like crbug.com/453845
         CronetEngine firstEngine =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
         CronetEngine secondEngine =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
         CronetEngine thirdEngine =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext()).build();
+                mTestRule.getTestFramework()
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext())
+                        .build();
         firstEngine.shutdown();
         secondEngine.shutdown();
         thirdEngine.shutdown();
@@ -1554,19 +1575,19 @@
         mTestRule.getTestFramework().startEngine();
         // Verify CronetEngine.Builder config is passed down accurately to native code.
         ExperimentalCronetEngine.Builder builder =
-                new ExperimentalCronetEngine.Builder(getContext());
+                new ExperimentalCronetEngine.Builder(mTestRule.getTestFramework().getContext());
         builder.enableHttp2(false);
         builder.enableQuic(true);
         builder.addQuicHint("example.com", 12, 34);
         builder.enableHttpCache(HTTP_CACHE_IN_MEMORY, 54321);
         builder.setUserAgent("efgh");
         builder.setExperimentalOptions("");
-        builder.setStoragePath(getTestStorage(getContext()));
+        builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         builder.enablePublicKeyPinningBypassForLocalTrustAnchors(false);
         CronetUrlRequestContextTestJni.get().verifyUrlRequestContextConfig(
                 CronetUrlRequestContext.createNativeUrlRequestContextConfig(
                         CronetTestUtil.getCronetEngineBuilderImpl(builder)),
-                getTestStorage(getContext()));
+                getTestStorage(mTestRule.getTestFramework().getContext()));
     }
 
     @Test
@@ -1577,7 +1598,7 @@
         mTestRule.getTestFramework().startEngine();
         // Verify CronetEngine.Builder config is passed down accurately to native code.
         ExperimentalCronetEngine.Builder builder =
-                new ExperimentalCronetEngine.Builder(getContext());
+                new ExperimentalCronetEngine.Builder(mTestRule.getTestFramework().getContext());
         builder.enableHttp2(false);
         // QUIC is on by default. Disabling it here to make sure the built config can correctly
         // reflect the change.
@@ -1585,12 +1606,12 @@
         builder.enableHttpCache(HTTP_CACHE_IN_MEMORY, 54321);
         builder.setExperimentalOptions("");
         builder.setUserAgent("efgh");
-        builder.setStoragePath(getTestStorage(getContext()));
+        builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         builder.enablePublicKeyPinningBypassForLocalTrustAnchors(false);
         CronetUrlRequestContextTestJni.get().verifyUrlRequestContextQuicOffConfig(
                 CronetUrlRequestContext.createNativeUrlRequestContextConfig(
                         CronetTestUtil.getCronetEngineBuilderImpl(builder)),
-                getTestStorage(getContext()));
+                getTestStorage(mTestRule.getTestFramework().getContext()));
     }
 
     private static class TestBadLibraryLoader extends CronetEngine.Builder.LibraryLoader {
@@ -1611,7 +1632,8 @@
     @SmallTest
     @OnlyRunNativeCronet // Deliberate manual creation of native engine
     public void testSetLibraryLoaderIsEnforcedByDefaultEmbeddedProvider() throws Exception {
-        CronetEngine.Builder builder = new CronetEngine.Builder(getContext());
+        CronetEngine.Builder builder =
+                new CronetEngine.Builder(mTestRule.getTestFramework().getContext());
         TestBadLibraryLoader loader = new TestBadLibraryLoader();
         builder.setLibraryLoader(loader);
 
@@ -1624,8 +1646,8 @@
     @SmallTest
     @OnlyRunNativeCronet
     public void testSetLibraryLoaderIsIgnoredInNativeCronetEngineBuilderImpl() throws Exception {
-        CronetEngine.Builder builder =
-                new CronetEngine.Builder(new NativeCronetEngineBuilderImpl(getContext()));
+        CronetEngine.Builder builder = new CronetEngine.Builder(
+                new NativeCronetEngineBuilderImpl(mTestRule.getTestFramework().getContext()));
         TestBadLibraryLoader loader = new TestBadLibraryLoader();
         builder.setLibraryLoader(loader);
         CronetEngine engine = builder.build();
@@ -1644,7 +1666,8 @@
             @Override
             public void run() {
                 final ExperimentalCronetEngine.Builder builder =
-                        mTestRule.getTestFramework().createNewSecondaryBuilder(getContext());
+                        mTestRule.getTestFramework().createNewSecondaryBuilder(
+                                mTestRule.getTestFramework().getContext());
                 new Thread() {
                     @Override
                     public void run() {
@@ -1768,7 +1791,8 @@
     @RequiresMinApi(6) // setThreadPriority added in API 6: crrev.com/472449
     public void testCronetEngineThreadPriority() throws Exception {
         ExperimentalCronetEngine.Builder builder =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext());
+                mTestRule.getTestFramework().createNewSecondaryBuilder(
+                        mTestRule.getTestFramework().getContext());
         // Try out of bounds thread priorities.
         IllegalArgumentException e =
                 assertThrows(IllegalArgumentException.class, () -> builder.setThreadPriority(-21));
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java
index 1d56d70..243fccf 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java
@@ -10,8 +10,6 @@
 import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.fail;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.os.Build;
 import android.os.ConditionVariable;
 import android.os.Process;
@@ -71,7 +69,9 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
         // Add url interceptors after native application context is initialized.
         if (!mTestRule.testingJavaImpl()) {
             mMockUrlRequestJobFactory =
@@ -792,7 +792,7 @@
     @OnlyRunNativeCronet // Java impl doesn't support MockUrlRequestJobFactory
     public void testSSLCertificateError() throws Exception {
         EmbeddedTestServer sslServer = EmbeddedTestServer.createAndStartHTTPSServer(
-                getContext(), ServerCertificate.CERT_EXPIRED);
+                mTestRule.getTestFramework().getContext(), ServerCertificate.CERT_EXPIRED);
 
         TestUrlRequestCallback callback = new TestUrlRequestCallback();
         UrlRequest.Builder builder = mTestRule.getTestFramework().getEngine().newUrlRequestBuilder(
@@ -1874,7 +1874,9 @@
             assertThat(callback.mError).isNotNull();
             assertThat(urlRequest.isDone()).isTrue();
             // Start NativeTestServer again to run the test for a second time.
-            assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+            assertThat(NativeTestServer.startNativeTestServer(
+                               mTestRule.getTestFramework().getContext()))
+                    .isTrue();
         }
     }
 
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
index 62b272f..8904b99 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
@@ -8,7 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
 import static org.chromium.net.CronetTestRule.getTestStorage;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -42,7 +41,9 @@
     @Before
     public void setUp() throws Exception {
         System.loadLibrary("cronet_tests");
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
@@ -103,7 +104,7 @@
     @OnlyRunNativeCronet
     // Crashing on Android Cronet Builder, see crbug.com/601409.
     public void testPurgeOldVersion() throws Exception {
-        String testStorage = getTestStorage(getContext());
+        String testStorage = getTestStorage(mTestRule.getTestFramework().getContext());
         File versionFile = new File(testStorage + "/version");
         FileOutputStream versionOut = null;
         try {
@@ -127,7 +128,7 @@
         }
 
         mTestRule.getTestFramework().applyEngineBuilderPatch((builder) -> {
-            builder.setStoragePath(getTestStorage(getContext()));
+            builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
             builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
         });
 
@@ -169,8 +170,9 @@
     public void testCacheVersionCurrent() throws Exception {
         // Initialize a CronetEngine and shut it down.
         ExperimentalCronetEngine.Builder builder =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext());
-        builder.setStoragePath(getTestStorage(getContext()));
+                mTestRule.getTestFramework().createNewSecondaryBuilder(
+                        mTestRule.getTestFramework().getContext());
+        builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1024 * 1024);
 
         CronetEngine cronetEngine = builder.build();
@@ -185,7 +187,7 @@
         cronetEngine.shutdown();
 
         // Create a sample file in storage directory.
-        String testStorage = getTestStorage(getContext());
+        String testStorage = getTestStorage(mTestRule.getTestFramework().getContext());
         File sampleFile = new File(testStorage + "/sample.json");
         FileOutputStream sampleFileOut = null;
         String sampleContent = "sample content";
@@ -248,7 +250,7 @@
         assertThat(callback.mResponseInfo.getHttpStatusCode()).isEqualTo(200);
         cronetEngine.shutdown();
 
-        String testStorage = getTestStorage(getContext());
+        String testStorage = getTestStorage(mTestRule.getTestFramework().getContext());
         File diskCacheDir = new File(testStorage + "/disk_cache");
         assertThat(diskCacheDir.exists()).isFalse();
         File prefsDir = new File(testStorage + "/prefs");
@@ -261,7 +263,7 @@
     // Tests that prefs file is created even if httpcache isn't enabled
     public void testPrefsFileCreatedWithoutHttpCache() throws Exception {
         // Initialize a CronetEngine and shut it down.
-        String testStorage = getTestStorage(getContext());
+        String testStorage = getTestStorage(mTestRule.getTestFramework().getContext());
         mTestRule.getTestFramework().applyEngineBuilderPatch(
                 (builder) -> builder.setStoragePath(testStorage));
 
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
index 365b1b50..3a1a854fe 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
@@ -9,7 +9,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
 import static org.chromium.net.CronetTestRule.getTestStorage;
 
 import androidx.annotation.OptIn;
@@ -62,7 +61,9 @@
                 (builder)
                         -> CronetTestUtil.setMockCertVerifierForTesting(
                                 builder, QuicTestServer.createMockCertVerifier()));
-        assertThat(Http2TestServer.startHttp2TestServer(getContext(), mHangingUrlLatch)).isTrue();
+        assertThat(Http2TestServer.startHttp2TestServer(
+                           mTestRule.getTestFramework().getContext(), mHangingUrlLatch))
+                .isTrue();
     }
 
     @After
@@ -201,7 +202,8 @@
     // Tests that basic Cronet functionality works when host cache persistence is enabled, and that
     // persistence works.
     public void testHostCachePersistence() throws Exception {
-        EmbeddedTestServer testServer = EmbeddedTestServer.createAndStartServer(getContext());
+        EmbeddedTestServer testServer =
+                EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
 
         String realUrl = testServer.getURL("/echo?status=200");
         URL javaUrl = new URL(realUrl);
@@ -211,9 +213,10 @@
         String testUrl = new URL("http", testHost, realPort, javaUrl.getPath()).toString();
 
         ExperimentalCronetEngine.Builder builder =
-                mTestRule.getTestFramework().createNewSecondaryBuilder(getContext());
+                mTestRule.getTestFramework().createNewSecondaryBuilder(
+                        mTestRule.getTestFramework().getContext());
 
-        builder.setStoragePath(getTestStorage(getContext()))
+        builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()))
                 .enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 0);
 
         // Set a short delay so the pref gets written quickly.
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java
index c02efca8..64c9dcda 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/GetStatusTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.os.ConditionVariable;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -48,7 +46,9 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java
index 6ce5cf1..72c9c19 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/MockCertVerifierTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -34,7 +32,8 @@
         // Load library first to create MockCertVerifier.
         System.loadLibrary("cronet_tests");
 
-        assertThat(Http2TestServer.startHttp2TestServer(getContext())).isTrue();
+        assertThat(Http2TestServer.startHttp2TestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java b/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
index a2f72ab2..968aada 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
@@ -8,7 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
 import static org.chromium.net.CronetTestRule.getTestStorage;
 
 import android.os.StrictMode;
@@ -56,7 +55,8 @@
 
     @Before
     public void setUp() throws Exception {
-        mTestServer = EmbeddedTestServer.createAndStartServer(getContext());
+        mTestServer =
+                EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
         mUrl = mTestServer.getURL("/echo?status=200");
     }
 
@@ -140,7 +140,8 @@
 
     // Returns whether a file contains a particular string.
     private boolean prefsFileContainsString(String content) throws IOException {
-        File file = new File(getTestStorage(getContext()) + "/prefs/local_prefs.json");
+        File file = new File(getTestStorage(mTestRule.getTestFramework().getContext())
+                + "/prefs/local_prefs.json");
         FileInputStream fileInputStream = new FileInputStream(file);
         byte[] data = new byte[(int) file.length()];
         fileInputStream.read(data);
@@ -183,7 +184,7 @@
                     new JSONObject().put("NetworkQualityEstimator", nqeOptions);
 
             builder.setExperimentalOptions(experimentalOptions.toString());
-            builder.setStoragePath(getTestStorage(getContext()));
+            builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         });
 
         ExperimentalCronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
@@ -298,7 +299,7 @@
                             .build();
 
             ExperimentalCronetEngine.Builder cronetEngineBuilder =
-                    new ExperimentalCronetEngine.Builder(getContext());
+                    new ExperimentalCronetEngine.Builder(mTestRule.getTestFramework().getContext());
             assertThat(RttThroughputValues.INVALID_RTT_THROUGHPUT).isLessThan(0);
             Executor listenersExecutor =
                     Executors.newSingleThreadExecutor(new ExecutorThreadFactory());
@@ -318,7 +319,8 @@
 
             cronetEngineBuilder.setExperimentalOptions(experimentalOptions.toString());
 
-            cronetEngineBuilder.setStoragePath(getTestStorage(getContext()));
+            cronetEngineBuilder.setStoragePath(
+                    getTestStorage(mTestRule.getTestFramework().getContext()));
 
             final ExperimentalCronetEngine cronetEngine = cronetEngineBuilder.build();
             cronetEngine.configureNetworkQualityEstimatorForTesting(true, true, true);
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java
index 1c3e040..c4f2b45 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -29,7 +27,8 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(Http2TestServer.startHttp2TestServer(getContext())).isTrue();
+        assertThat(Http2TestServer.startHttp2TestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java
index 36eff5a..51a4ebe25 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/PkpTest.java
@@ -10,7 +10,6 @@
 import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.fail;
 
-import static org.chromium.net.CronetTestRule.getContext;
 import static org.chromium.net.CronetTestRule.getTestStorage;
 import static org.chromium.net.Http2TestServer.SERVER_CERT_PEM;
 
@@ -65,7 +64,8 @@
             return;
         }
         System.loadLibrary("cronet_tests");
-        assertThat(Http2TestServer.startHttp2TestServer(getContext())).isTrue();
+        assertThat(Http2TestServer.startHttp2TestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
         mServerHost = "test.example.com";
         mServerUrl = "https://" + mServerHost + ":" + Http2TestServer.getServerPort();
         mDomain = mServerHost.substring(mServerHost.indexOf('.') + 1, mServerHost.length());
@@ -402,13 +402,14 @@
     private void createCronetEngineBuilder(boolean bypassPinningForLocalAnchors, boolean knownRoot)
             throws Exception {
         // Set common CronetEngine parameters
-        mBuilder = mTestRule.getTestFramework().createNewSecondaryBuilder(getContext());
+        mBuilder = mTestRule.getTestFramework().createNewSecondaryBuilder(
+                mTestRule.getTestFramework().getContext());
         mBuilder.enablePublicKeyPinningBypassForLocalTrustAnchors(bypassPinningForLocalAnchors);
         JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
         JSONObject experimentalOptions = new JSONObject()
                                                  .put("HostResolverRules", hostResolverParams);
         mBuilder.setExperimentalOptions(experimentalOptions.toString());
-        mBuilder.setStoragePath(getTestStorage(getContext()));
+        mBuilder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         mBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
         final String[] server_certs = {SERVER_CERT_PEM};
         CronetTestUtil.setMockCertVerifierForTesting(
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
index 4f7a03fb..3ebed46a 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
@@ -7,7 +7,6 @@
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth.assertWithMessage;
 
-import static org.chromium.net.CronetTestRule.getContext;
 import static org.chromium.net.CronetTestRule.getTestStorage;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -43,7 +42,7 @@
     public void setUp() throws Exception {
         // Load library first, since we need the Quic test server's URL.
         System.loadLibrary("cronet_tests");
-        QuicTestServer.startQuicTestServer(getContext());
+        QuicTestServer.startQuicTestServer(mTestRule.getTestFramework().getContext());
 
         mTestRule.getTestFramework().applyEngineBuilderPatch((builder) -> {
             builder.enableNetworkQualityEstimator(true).enableQuic(true);
@@ -71,7 +70,7 @@
                                                      .put("HostResolverRules", hostResolverParams)
                                                      .put("NetworkQualityEstimator", nqeParams);
             builder.setExperimentalOptions(experimentalOptions.toString());
-            builder.setStoragePath(getTestStorage(getContext()));
+            builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
             builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
             CronetTestUtil.setMockCertVerifierForTesting(
                     builder, QuicTestServer.createMockCertVerifier());
@@ -117,8 +116,8 @@
 
         // Make another request using a new context but with no QUIC hints.
         ExperimentalCronetEngine.Builder builder =
-                new ExperimentalCronetEngine.Builder(getContext());
-        builder.setStoragePath(getTestStorage(getContext()));
+                new ExperimentalCronetEngine.Builder(mTestRule.getTestFramework().getContext());
+        builder.setStoragePath(getTestStorage(mTestRule.getTestFramework().getContext()));
         builder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
         builder.enableQuic(true);
         JSONObject hostResolverParams = CronetTestUtil.generateHostResolverRules();
@@ -145,7 +144,8 @@
 
     // Returns whether a file contains a particular string.
     private boolean fileContainsString(String filename, String content) throws IOException {
-        File file = new File(getTestStorage(getContext()) + "/prefs/" + filename);
+        File file = new File(
+                getTestStorage(mTestRule.getTestFramework().getContext()) + "/prefs/" + filename);
         FileInputStream fileInputStream = new FileInputStream(file);
         byte[] data = new byte[(int) file.length()];
         fileInputStream.read(data);
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
index 7a86b2d..ebf7204 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
@@ -9,8 +9,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.os.ConditionVariable;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -67,7 +65,8 @@
 
     @Before
     public void setUp() throws Exception {
-        mTestServer = EmbeddedTestServer.createAndStartServer(getContext());
+        mTestServer =
+                EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
         mUrl = mTestServer.getURL("/echo?status=200");
     }
 
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java
index fbbe6b44..bf2eec0 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.os.ConditionVariable;
 import android.os.ParcelFileDescriptor;
 
@@ -46,9 +44,12 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
         // Add url interceptors after native application context is initialized.
-        mFile = new File(getContext().getCacheDir().getPath() + "/tmpfile");
+        mFile = new File(
+                mTestRule.getTestFramework().getContext().getCacheDir().getPath() + "/tmpfile");
         FileOutputStream fileOutputStream = new FileOutputStream(mFile);
         try {
             fileOutputStream.write(LOREM.getBytes("UTF-8"));
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java
index d95777e..f059c549 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java
@@ -72,7 +72,7 @@
 
     @Before
     public void setUp() {
-        mContext = CronetTestRule.getContext();
+        mContext = mTestRule.getTestFramework().getContext();
         mTestLogger = (TestLogger) mLoggerTestRule.mTestLogger;
         assertThat(NativeTestServer.startNativeTestServer(mContext)).isTrue();
     }
@@ -279,7 +279,7 @@
         final String url = "www.example.com";
         ExperimentalCronetEngine.Builder engineBuilder =
                 (ExperimentalCronetEngine.Builder) mTestRule.getTestFramework()
-                        .createNewSecondaryBuilder(CronetTestRule.getContext());
+                        .createNewSecondaryBuilder(mTestRule.getTestFramework().getContext());
         engineBuilder.setExperimentalOptions(experimentalOptions);
 
         CronetEngine engine1 = engineBuilder.build();
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetManifestTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetManifestTest.java
index 7a00662..c2df03c 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetManifestTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/impl/CronetManifestTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.content.Context;
 import android.content.ContextWrapper;
 import android.content.pm.ApplicationInfo;
@@ -18,11 +16,13 @@
 import androidx.test.filters.SmallTest;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.PackageManagerWrapper;
+import org.chromium.net.CronetTestRule;
 import org.chromium.net.CronetTestRule.OnlyRunNativeCronet;
 import org.chromium.net.impl.CronetLogger.CronetSource;
 
@@ -31,7 +31,11 @@
  */
 @Batch(Batch.UNIT_TESTS)
 @RunWith(AndroidJUnit4.class)
+@OnlyRunNativeCronet
 public class CronetManifestTest {
+    @Rule
+    public final CronetTestRule mTestRule = CronetTestRule.withManualEngineStartup();
+
     private Context mMockContext;
     private Bundle mMetadata;
     private ApplicationInfo mAppInfo;
@@ -39,13 +43,12 @@
     @Before
     public void setUp() throws Exception {
         mAppInfo = new ApplicationInfo();
-        mMockContext = new MockContext(getContext());
+        mMockContext = new MockContext(mTestRule.getTestFramework().getContext());
         mMetadata = new Bundle();
     }
 
     @Test
     @SmallTest
-    @OnlyRunNativeCronet
     public void testTelemetryOptIn_whenNoMetadata() throws Exception {
         assertThat(CronetManifest.isAppOptedInForTelemetry(
                            mMockContext, CronetSource.CRONET_SOURCE_STATICALLY_LINKED))
@@ -60,7 +63,6 @@
 
     @Test
     @SmallTest
-    @OnlyRunNativeCronet
     public void testTelemetryOptIn_whenMetadataIsTrue() throws Exception {
         mMetadata.putBoolean(CronetManifest.TELEMETRY_OPT_IN_META_DATA_STR, true);
         mAppInfo.metaData = mMetadata;
@@ -78,7 +80,6 @@
 
     @Test
     @SmallTest
-    @OnlyRunNativeCronet
     public void testTelemetryOptIn_whenMetadataIsFalse() throws Exception {
         mMetadata.putBoolean(CronetManifest.TELEMETRY_OPT_IN_META_DATA_STR, false);
         mAppInfo.metaData = mMetadata;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java
index f50dfb2..3cda350 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -48,7 +46,9 @@
     @Before
     public void setUp() throws Exception {
         mCronetEngine = mTestRule.getTestFramework().getEngine();
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java
index 69e160a2..320ec4e 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -53,7 +51,9 @@
     @Before
     public void setUp() throws Exception {
         mCronetEngine = mTestRule.getTestFramework().getEngine();
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java
index ba301e1..def3b7b 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -50,9 +48,11 @@
     @Before
     public void setUp() throws Exception {
         mTestRule.getTestFramework().applyEngineBuilderPatch(
-                (builder) -> mTestRule.enableDiskCache(builder));
+                (builder) -> mTestRule.getTestFramework().enableDiskCache(builder));
         mCronetEngine = mTestRule.getTestFramework().startEngine();
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
@@ -133,7 +133,9 @@
         e = assertThrows(NetworkException.class, mConnection::getResponseCode);
         assertThat(e.getErrorCode()).isEqualTo(NetworkException.ERROR_CONNECTION_REFUSED);
         // Restarting server to run the test for a second time.
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @Test
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java
index 2bbab23f..5445a7a 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import android.net.TrafficStats;
 import android.os.Build;
 import android.os.Process;
@@ -76,10 +74,12 @@
     @Before
     public void setUp() throws Exception {
         mTestRule.getTestFramework().applyEngineBuilderPatch(
-                (builder) -> { mTestRule.enableDiskCache(builder); });
+                (builder) -> { mTestRule.getTestFramework().enableDiskCache(builder); });
 
         mCronetEngine = mTestRule.getTestFramework().startEngine();
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
@@ -277,7 +277,9 @@
                 "ECONNREFUSED|Connection refused|net::ERR_CONNECTION_REFUSED|Failed to connect"));
         checkExceptionsAreThrown(secondConnection);
         // Starts the server to avoid crashing on shutdown in tearDown().
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @Test
@@ -706,7 +708,9 @@
         e = assertThrows(IOException.class, in::read);
         assertThat(e).hasMessageThat().contains("net::ERR_CONTENT_LENGTH_MISMATCH");
         // Spins up server to avoid crash when shutting it down in tearDown().
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @Test
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandlerTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandlerTest.java
index 979965cd..b348a1ab 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandlerTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandlerTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -41,7 +39,9 @@
 
     @Before
     public void setUp() throws Exception {
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
     }
 
     @After
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactoryTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactoryTest.java
index fae2f163..64ca60f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactoryTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactoryTest.java
@@ -8,8 +8,6 @@
 
 import static org.junit.Assert.assertThrows;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -57,7 +55,9 @@
     @Test
     @SmallTest
     public void testSetUrlStreamFactoryUsesCronet() throws Exception {
-        assertThat(NativeTestServer.startNativeTestServer(getContext())).isTrue();
+        assertThat(
+                NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext()))
+                .isTrue();
 
         URL.setURLStreamHandlerFactory(
                 mTestRule.getTestFramework().getEngine().createURLStreamHandlerFactory());
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java
index dcbd126..2c8c635 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java
@@ -6,8 +6,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.chromium.net.CronetTestRule.getContext;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
@@ -43,7 +41,7 @@
 
     @Before
     public void setUp() throws Exception {
-        QuicTestServer.startQuicTestServer(getContext());
+        QuicTestServer.startQuicTestServer(mTestRule.getTestFramework().getContext());
 
         mTestRule.getTestFramework().applyEngineBuilderPatch((builder) -> {
             builder.enableQuic(true);
diff --git a/components/enterprise/BUILD.gn b/components/enterprise/BUILD.gn
index b6bf3ea..a546329 100644
--- a/components/enterprise/BUILD.gn
+++ b/components/enterprise/BUILD.gn
@@ -22,6 +22,8 @@
     "browser/reporting/policy_info.h",
     "browser/reporting/profile_report_generator.cc",
     "browser/reporting/profile_report_generator.h",
+    "browser/reporting/real_time_report_controller.cc",
+    "browser/reporting/real_time_report_controller.h",
     "browser/reporting/real_time_report_generator.cc",
     "browser/reporting/real_time_report_generator.h",
     "browser/reporting/real_time_uploader.cc",
diff --git a/components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc b/components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc
index 7b9ee9b..c52cc286 100644
--- a/components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc
+++ b/components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc
@@ -21,6 +21,7 @@
 #include "components/enterprise/browser/controller/browser_dm_token_storage.h"
 #include "components/enterprise/browser/controller/chrome_browser_cloud_management_helper.h"
 #include "components/enterprise/browser/enterprise_switches.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/policy/core/browser/browser_policy_connector.h"
 #include "components/policy/core/common/cloud/client_data_delegate.h"
 #include "components/policy/core/common/cloud/cloud_external_data_manager.h"
@@ -504,9 +505,10 @@
   params.report_generator =
       std::make_unique<enterprise_reporting::ReportGenerator>(
           reporting_delegate_factory.get());
-  params.real_time_report_generator =
-      std::make_unique<enterprise_reporting::RealTimeReportGenerator>(
+  params.real_time_report_controller =
+      std::make_unique<enterprise_reporting::RealTimeReportController>(
           reporting_delegate_factory.get());
+
   report_scheduler_ = std::make_unique<enterprise_reporting::ReportScheduler>(
       std::move(params));
 
diff --git a/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.cc b/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.cc
index 45a57769..a421b62f 100644
--- a/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.cc
+++ b/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.cc
@@ -11,6 +11,7 @@
 #include "base/files/file_path.h"
 #include "base/strings/string_piece.h"
 #include "components/enterprise/browser/reporting/browser_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/report_util.h"
 #include "components/enterprise/browser/reporting/reporting_delegate_factory.h"
 #include "components/version_info/channel.h"
@@ -113,4 +114,9 @@
   return nullptr;
 }
 
+std::unique_ptr<RealTimeReportController::Delegate>
+FakeReportingDelegateFactory::GetRealTimeReportControllerDelegate() {
+  return nullptr;
+}
+
 }  // namespace enterprise_reporting::test
diff --git a/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.h b/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.h
index 084d8a0..82b14633 100644
--- a/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.h
+++ b/components/enterprise/browser/reporting/fake_browser_report_generator_delegate.h
@@ -11,6 +11,7 @@
 #include "base/files/file_path.h"
 #include "base/strings/string_piece.h"
 #include "components/enterprise/browser/reporting/browser_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/report_util.h"
 #include "components/enterprise/browser/reporting/reporting_delegate_factory.h"
 #include "components/version_info/channel.h"
@@ -93,6 +94,9 @@
   std::unique_ptr<RealTimeReportGenerator::Delegate>
   GetRealTimeReportGeneratorDelegate() override;
 
+  std::unique_ptr<RealTimeReportController::Delegate>
+  GetRealTimeReportControllerDelegate() override;
+
  private:
   const std::string executable_path_;
 };
diff --git a/components/enterprise/browser/reporting/real_time_report_controller.cc b/components/enterprise/browser/reporting/real_time_report_controller.cc
new file mode 100644
index 0000000..5dc1429
--- /dev/null
+++ b/components/enterprise/browser/reporting/real_time_report_controller.cc
@@ -0,0 +1,113 @@
+// 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 "components/enterprise/browser/reporting/real_time_report_controller.h"
+
+#include "components/enterprise/browser/reporting/real_time_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_uploader.h"
+#include "components/enterprise/browser/reporting/reporting_delegate_factory.h"
+#include "components/policy/core/common/cloud/dm_token.h"
+
+namespace enterprise_reporting {
+
+namespace {
+void OnExtensionRequestEnqueued(bool success) {
+  // So far, there is nothing handle the enqueue failure as the CBCM status
+  // report will cover all failed requests. However, we may need a retry logic
+  // here if Extension workflow is decoupled from the status report.
+  if (!success) {
+    LOG(ERROR) << "Extension request failed to be added to the pipeline.";
+  }
+}
+
+}  // namespace
+
+RealTimeReportController::RealTimeReportController(
+    ReportingDelegateFactory* delegate_factory)
+    : real_time_report_generator_(
+          std::make_unique<RealTimeReportGenerator>(delegate_factory)),
+      delegate_(delegate_factory->GetRealTimeReportControllerDelegate()) {
+  if (delegate_) {
+    delegate_->SetTriggerCallback(
+        base::BindRepeating(&RealTimeReportController::GenerateAndUploadReport,
+                            weak_ptr_factory_.GetWeakPtr()));
+  }
+}
+RealTimeReportController::~RealTimeReportController() = default;
+
+RealTimeReportController::Delegate::Delegate() = default;
+RealTimeReportController::Delegate::~Delegate() = default;
+
+void RealTimeReportController::Delegate::SetTriggerCallback(
+    RealTimeReportController::TriggerCallback callback) {
+  DCHECK(!trigger_callback_);
+  DCHECK(callback);
+  trigger_callback_ = std::move(callback);
+}
+
+void RealTimeReportController::OnDMTokenUpdated(policy::DMToken&& dm_token) {
+  if (!delegate_) {
+    return;
+  }
+
+  dm_token_ = dm_token;
+  if (dm_token_.is_valid()) {
+    delegate_->StartWatchingExtensionRequestIfNeeded();
+  } else {
+    delegate_->StopWatchingExtensionRequest();
+    extension_request_uploader_.reset();
+  }
+}
+
+void RealTimeReportController::GenerateAndUploadReport(
+    ReportTrigger trigger,
+    const RealTimeReportGenerator::Data& data) {
+  if (!dm_token_.is_valid()) {
+    return;
+  }
+
+  if (trigger == RealTimeReportController::ReportTrigger::kExtensionRequest) {
+    UploadExtensionRequests(data);
+  }
+}
+
+void RealTimeReportController::UploadExtensionRequests(
+    const RealTimeReportGenerator::Data& data) {
+  DCHECK(real_time_report_generator_);
+  VLOG(1) << "Create extension request and add it to the pipeline.";
+
+  if (!dm_token_.is_valid()) {
+    return;
+  }
+
+  if (!extension_request_uploader_) {
+    extension_request_uploader_ = RealTimeUploader::Create(
+        dm_token_.value(), reporting::Destination::EXTENSIONS_WORKFLOW,
+        reporting::Priority::FAST_BATCH);
+  }
+  auto reports = real_time_report_generator_->Generate(
+      RealTimeReportGenerator::ReportType::kExtensionRequest, data);
+
+  for (auto& report : reports) {
+    extension_request_uploader_->Upload(
+        std::move(report), base::BindOnce(&OnExtensionRequestEnqueued));
+  }
+}
+
+void RealTimeReportController::SetExtensionRequestUploaderForTesting(
+    std::unique_ptr<RealTimeUploader> uploader) {
+  extension_request_uploader_ = std::move(uploader);
+}
+
+void RealTimeReportController::SetReportGeneratorForTesting(
+    std::unique_ptr<RealTimeReportGenerator> generator) {
+  real_time_report_generator_ = std::move(generator);
+}
+
+RealTimeReportController::Delegate*
+RealTimeReportController::GetDelegateForTesting() {
+  return delegate_.get();
+}
+
+}  // namespace enterprise_reporting
diff --git a/components/enterprise/browser/reporting/real_time_report_controller.h b/components/enterprise/browser/reporting/real_time_report_controller.h
new file mode 100644
index 0000000..2ba533e2
--- /dev/null
+++ b/components/enterprise/browser/reporting/real_time_report_controller.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 COMPONENTS_ENTERPRISE_BROWSER_REPORTING_REAL_TIME_REPORT_CONTROLLER_H_
+#define COMPONENTS_ENTERPRISE_BROWSER_REPORTING_REAL_TIME_REPORT_CONTROLLER_H_
+
+#include <string>
+
+#include "base/functional/callback.h"
+#include "base/memory/weak_ptr.h"
+#include "components/enterprise/browser/reporting/real_time_report_generator.h"
+#include "components/policy/core/common/cloud/dm_token.h"
+
+namespace enterprise_reporting {
+
+class RealTimeUploader;
+class ReportingDelegateFactory;
+
+class RealTimeReportController {
+ public:
+  explicit RealTimeReportController(ReportingDelegateFactory* delegate_factory);
+  RealTimeReportController(const RealTimeReportController&) = delete;
+  RealTimeReportController& operator=(const RealTimeReportController&) = delete;
+  ~RealTimeReportController();
+
+  enum ReportTrigger {
+    kExtensionRequest,
+  };
+
+  using TriggerCallback =
+      base::RepeatingCallback<void(ReportTrigger,
+                                   const RealTimeReportGenerator::Data&)>;
+
+  class Delegate {
+   public:
+    Delegate();
+    Delegate(const Delegate&) = delete;
+    Delegate& operator=(const Delegate&) = delete;
+    virtual ~Delegate();
+
+    void SetTriggerCallback(TriggerCallback callback);
+
+    // Extension request
+    virtual void StartWatchingExtensionRequestIfNeeded() = 0;
+    virtual void StopWatchingExtensionRequest() = 0;
+
+   protected:
+    TriggerCallback trigger_callback_;
+  };
+
+  void OnDMTokenUpdated(policy::DMToken&& dm_token);
+
+  void GenerateAndUploadReport(ReportTrigger trigger,
+                               const RealTimeReportGenerator::Data& data);
+
+  void SetExtensionRequestUploaderForTesting(
+      std::unique_ptr<RealTimeUploader> uploader);
+  void SetReportGeneratorForTesting(
+      std::unique_ptr<RealTimeReportGenerator> generator);
+  Delegate* GetDelegateForTesting();
+
+ private:
+  // Creates and uploads extension requests with real time reporting pipeline.
+  void UploadExtensionRequests(const RealTimeReportGenerator::Data& data);
+
+  policy::DMToken dm_token_ = policy::DMToken::CreateEmptyToken();
+  std::unique_ptr<RealTimeUploader> extension_request_uploader_;
+  std::unique_ptr<RealTimeReportGenerator> real_time_report_generator_;
+
+  std::unique_ptr<Delegate> delegate_;
+
+  base::WeakPtrFactory<RealTimeReportController> weak_ptr_factory_{this};
+};
+}  // namespace enterprise_reporting
+
+#endif  // COMPONENTS_ENTERPRISE_BROWSER_REPORTING_REAL_TIME_REPORT_CONTROLLER_H_
diff --git a/components/enterprise/browser/reporting/report_scheduler.cc b/components/enterprise/browser/reporting/report_scheduler.cc
index d10ba55..7b2d8d3 100644
--- a/components/enterprise/browser/reporting/report_scheduler.cc
+++ b/components/enterprise/browser/reporting/report_scheduler.cc
@@ -16,11 +16,10 @@
 #include "build/chromeos_buildflags.h"
 #include "components/enterprise/browser/controller/browser_dm_token_storage.h"
 #include "components/enterprise/browser/reporting/common_pref_names.h"
-#include "components/enterprise/browser/reporting/real_time_report_generator.h"
-#include "components/enterprise/browser/reporting/real_time_uploader.h"
 #include "components/enterprise/browser/reporting/reporting_delegate_factory.h"
 #include "components/policy/core/common/cloud/cloud_policy_client.h"
 #include "components/policy/core/common/cloud/device_management_service.h"
+#include "components/policy/core/common/cloud/dm_token.h"
 #include "components/prefs/pref_service.h"
 
 namespace em = enterprise_management;
@@ -39,32 +38,10 @@
     case ReportScheduler::kTriggerNewVersion:
       return true;
     case ReportScheduler::kTriggerNone:
-    case ReportScheduler::kTriggerExtensionRequestRealTime:
       return false;
   }
 }
 
-bool IsExtensionRequestUploaded(ReportScheduler::ReportTrigger trigger) {
-  switch (trigger) {
-    case ReportScheduler::kTriggerTimer:
-    case ReportScheduler::kTriggerManual:
-    case ReportScheduler::kTriggerExtensionRequestRealTime:
-      return true;
-    case ReportScheduler::kTriggerNone:
-    case ReportScheduler::kTriggerUpdate:
-    case ReportScheduler::kTriggerNewVersion:
-      return false;
-  }
-}
-
-void OnExtensionRequestEnqueued(bool success) {
-  // So far, there is nothing handle the enqueue failure as the CBCM status
-  // report will cover all failed requests. However, we may need a retry logic
-  // here if Extension workflow is decoupled from the status report.
-  if (!success)
-    LOG(ERROR) << "Extension request failed to be added to the pipeline.";
-}
-
 }  // namespace
 
 ReportScheduler::Delegate::Delegate() = default;
@@ -83,19 +60,13 @@
   trigger_report_callback_ = std::move(callback);
 }
 
-void ReportScheduler::Delegate::SetRealtimeReportTriggerCallback(
-    ReportScheduler::RealtimeReportTriggerCallback callback) {
-  DCHECK(trigger_realtime_report_callback_.is_null());
-  trigger_realtime_report_callback_ = std::move(callback);
-}
-
 ReportScheduler::ReportScheduler(CreateParams params)
     : delegate_(std::move(params.delegate)),
       cloud_policy_client_(params.client),
       report_generator_(std::move(params.report_generator)),
       profile_request_generator_(std::move(params.profile_request_generator)),
-      real_time_report_generator_(
-          std::move(params.real_time_report_generator)) {
+      real_time_report_controller_(
+          std::move(params.real_time_report_controller)) {
   DCHECK(cloud_policy_client_);
   DCHECK(delegate_);
 
@@ -110,10 +81,6 @@
   delegate_->SetReportTriggerCallback(
       base::BindRepeating(&ReportScheduler::GenerateAndUploadReport,
                           weak_ptr_factory_.GetWeakPtr()));
-  delegate_->SetRealtimeReportTriggerCallback(
-      base::BindRepeating(&ReportScheduler::GenerateAndUploadRealtimeReport,
-                          weak_ptr_factory_.GetWeakPtr()));
-
   RegisterPrefObserver();
 }
 
@@ -137,17 +104,15 @@
   report_uploader_ = std::move(uploader);
 }
 
-void ReportScheduler::SetExtensionRequestUploaderForTesting(
-    std::unique_ptr<RealTimeUploader> uploader) {
-  extension_request_uploader_ = std::move(uploader);
-}
-
 ReportScheduler::Delegate* ReportScheduler::GetDelegateForTesting() {
   return delegate_.get();
 }
 
 void ReportScheduler::OnDMTokenUpdated() {
   OnReportEnabledPrefChanged();
+  if (real_time_report_controller_) {
+    real_time_report_controller_->OnDMTokenUpdated(GetDMToken());
+  }
 }
 
 void ReportScheduler::UploadFullReport(base::OnceClosure on_report_uploaded) {
@@ -173,7 +138,7 @@
       base::BindRepeating(&ReportScheduler::OnReportEnabledPrefChanged,
                           base::Unretained(this)));
   // Trigger first pref check during launch process.
-  OnReportEnabledPrefChanged();
+  OnDMTokenUpdated();
 }
 
 void ReportScheduler::OnReportEnabledPrefChanged() {
@@ -202,7 +167,7 @@
   }
 
   // Only device report generator support real time partial version report with
-  // DM Server. With longer term, this should use `real_time_report_generator_`
+  // DM Server. With longer term, this should use `real_time_report_controller_`
   // instead.
   if (report_generator_) {
     delegate_->StartWatchingUpdatesIfNeeded(
@@ -210,18 +175,12 @@
         delegate_->GetPrefService()->GetTimeDelta(
             kCloudReportingUploadFrequency));
   }
-
-  // Enable real time report if the generator is provided.
-  if (real_time_report_generator_)
-    delegate_->StartWatchingExtensionRequestIfNeeded();
 }
 
 void ReportScheduler::Stop() {
   request_timer_.Stop();
   if (report_generator_)
     delegate_->StopWatchingUpdates();
-  delegate_->StopWatchingExtensionRequest();
-  extension_request_uploader_.reset();
   report_uploader_.reset();
   if (pref_change_registrar_.IsObserved(kCloudReportingUploadFrequency))
     pref_change_registrar_.Remove(kCloudReportingUploadFrequency);
@@ -236,16 +195,14 @@
   if (cloud_policy_client_->is_registered())
     return true;
 
-  auto dm_token = policy::DMToken::CreateEmptyToken();
+  auto dm_token = GetDMToken();
   std::string client_id;
   if (profile_request_generator_) {
     // Get token for profile reporting
-    dm_token = delegate_->GetProfileDMToken();
     client_id = delegate_->GetProfileClientId();
   } else {
     // Get token for browser reporting
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
-    dm_token = policy::BrowserDMTokenStorage::Get()->RetrieveDMToken();
     client_id = policy::BrowserDMTokenStorage::Get()->RetrieveClientId();
 #else
     NOTREACHED();
@@ -303,15 +260,6 @@
   }
 }
 
-void ReportScheduler::GenerateAndUploadRealtimeReport(
-    ReportTrigger trigger,
-    const RealTimeReportGenerator::Data& data) {
-  if (trigger == kTriggerExtensionRequestRealTime) {
-    UploadExtensionRequests(data);
-    return;
-  }
-}
-
 void ReportScheduler::OnReportGenerated(ReportRequestQueue requests) {
   DCHECK_NE(active_trigger_, kTriggerNone);
   if (requests.empty()) {
@@ -346,9 +294,6 @@
       if (IsBrowserVersionUploaded(active_trigger_))
         delegate_->OnBrowserVersionUploaded();
 
-      if (IsExtensionRequestUploaded(active_trigger_))
-        delegate_->OnExtensionRequestUploaded();
-
       delegate_->GetPrefService()->SetTime(kLastUploadSucceededTimestamp,
                                            base::Time::Now());
       [[fallthrough]];
@@ -410,28 +355,6 @@
   GenerateAndUploadReport(trigger);
 }
 
-void ReportScheduler::UploadExtensionRequests(
-    const RealTimeReportGenerator::Data& data) {
-  RecordUploadTrigger(kTriggerExtensionRequestRealTime);
-  DCHECK(real_time_report_generator_);
-  VLOG(1) << "Create extension request and add it to the pipeline.";
-  if (!extension_request_uploader_) {
-    extension_request_uploader_ =
-        RealTimeUploader::Create(cloud_policy_client_->dm_token(),
-                                 reporting::Destination::EXTENSIONS_WORKFLOW,
-                                 reporting::Priority::FAST_BATCH);
-  }
-  auto reports = real_time_report_generator_->Generate(
-      RealTimeReportGenerator::ReportType::kExtensionRequest, data);
-
-  for (auto& report : reports) {
-    extension_request_uploader_->Upload(
-        std::move(report), base::BindOnce(&OnExtensionRequestEnqueued));
-  }
-
-  delegate_->OnExtensionRequestUploaded();
-}
-
 // static
 void ReportScheduler::RecordUploadTrigger(ReportTrigger trigger) {
   // These values are persisted to logs. Entries should not be renumbered and
@@ -441,8 +364,8 @@
     kTimer = 1,
     kUpdate = 2,
     kNewVersion = 3,
-    kExtensionRequest = 4,  // Deprecated.
-    kExtensionRequestRealTime = 5,
+    kExtensionRequest = 4,          // Deprecated.
+    kExtensionRequestRealTime = 5,  // Deprecated.
     kManual = 6,
     kMaxValue = kManual
   } sample = Sample::kNone;
@@ -461,9 +384,6 @@
     case kTriggerNewVersion:
       sample = Sample::kNewVersion;
       break;
-    case kTriggerExtensionRequestRealTime:
-      sample = Sample::kExtensionRequestRealTime;
-      break;
   }
   base::UmaHistogramEnumeration("Enterprise.CloudReportingUploadTrigger",
                                 sample);
@@ -473,7 +393,6 @@
     ReportScheduler::ReportTrigger trigger) {
   switch (trigger) {
     case ReportScheduler::kTriggerNone:
-    case ReportScheduler::kTriggerExtensionRequestRealTime:
       NOTREACHED();
       [[fallthrough]];
     case ReportScheduler::kTriggerTimer:
@@ -486,4 +405,16 @@
   }
 }
 
+policy::DMToken ReportScheduler::GetDMToken() {
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  return policy::DMToken::CreateValidToken(cloud_policy_client_->dm_token());
+#else
+  if (profile_request_generator_) {
+    return delegate_->GetProfileDMToken();
+  } else {
+    return policy::BrowserDMTokenStorage::Get()->RetrieveDMToken();
+  }
+#endif
+}
+
 }  // namespace enterprise_reporting
diff --git a/components/enterprise/browser/reporting/report_scheduler.h b/components/enterprise/browser/reporting/report_scheduler.h
index f218b82f..b70a08b 100644
--- a/components/enterprise/browser/reporting/report_scheduler.h
+++ b/components/enterprise/browser/reporting/report_scheduler.h
@@ -14,7 +14,7 @@
 #include "base/time/time.h"
 #include "base/timer/wall_clock_timer.h"
 #include "components/enterprise/browser/reporting/chrome_profile_request_generator.h"
-#include "components/enterprise/browser/reporting/real_time_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/report_generator.h"
 #include "components/enterprise/browser/reporting/report_uploader.h"
 #include "components/policy/core/common/cloud/dm_token.h"
@@ -22,11 +22,12 @@
 
 namespace policy {
 class CloudPolicyClient;
+class DMToken;
 }  // namespace policy
 
 namespace enterprise_reporting {
 
-class RealTimeUploader;
+class RealTimeReportController;
 
 // Schedules report generation and upload every 24 hours (and upon browser
 // update for desktop Chrome) while cloud reporting is enabled via
@@ -43,14 +44,9 @@
     kTriggerUpdate = 1U << 1,      // An update was detected.
     kTriggerNewVersion = 1U << 2,  // A new version is running.
     kTriggerManual = 1U << 3,      // Trigger manually.
-    // Pending extension requests updated, with encrypted realtime pipeline.
-    kTriggerExtensionRequestRealTime = 1U << 4,
   };
 
   using ReportTriggerCallback = base::RepeatingCallback<void(ReportTrigger)>;
-  using RealtimeReportTriggerCallback =
-      base::RepeatingCallback<void(ReportTrigger,
-                                   const RealTimeReportGenerator::Data&)>;
 
   class Delegate {
    public:
@@ -61,8 +57,6 @@
     virtual ~Delegate();
 
     void SetReportTriggerCallback(ReportTriggerCallback callback);
-    void SetRealtimeReportTriggerCallback(
-        RealtimeReportTriggerCallback callback);
 
     virtual PrefService* GetPrefService() = 0;
 
@@ -73,17 +67,11 @@
     virtual void StopWatchingUpdates() = 0;
     virtual void OnBrowserVersionUploaded() = 0;
 
-    // Extension request
-    virtual void StartWatchingExtensionRequestIfNeeded() = 0;
-    virtual void StopWatchingExtensionRequest() = 0;
-    virtual void OnExtensionRequestUploaded() = 0;
-
     virtual policy::DMToken GetProfileDMToken() = 0;
     virtual std::string GetProfileClientId() = 0;
 
    protected:
     ReportTriggerCallback trigger_report_callback_;
-    RealtimeReportTriggerCallback trigger_realtime_report_callback_;
   };
 
   struct CreateParams {
@@ -96,7 +84,7 @@
 
     raw_ptr<policy::CloudPolicyClient> client;
     std::unique_ptr<ReportGenerator> report_generator;
-    std::unique_ptr<RealTimeReportGenerator> real_time_report_generator;
+    std::unique_ptr<RealTimeReportController> real_time_report_controller;
     std::unique_ptr<ChromeProfileRequestGenerator> profile_request_generator;
     std::unique_ptr<ReportScheduler::Delegate> delegate;
   };
@@ -119,8 +107,6 @@
   ReportTrigger GetActiveTriggerForTesting() const;
 
   void SetReportUploaderForTesting(std::unique_ptr<ReportUploader> uploader);
-  void SetExtensionRequestUploaderForTesting(
-      std::unique_ptr<RealTimeUploader> uploader);
   Delegate* GetDelegateForTesting();
 
   void OnDMTokenUpdated();
@@ -151,9 +137,6 @@
 
   // Starts report generation in response to |trigger|.
   void GenerateAndUploadReport(ReportTrigger trigger);
-  void GenerateAndUploadRealtimeReport(
-      ReportTrigger trigger,
-      const RealTimeReportGenerator::Data& data);
 
   // Continues processing a report (contained in the |requests| collection) by
   // sending it to the uploader.
@@ -167,14 +150,13 @@
   // of another report.
   void RunPendingTriggers();
 
-  // Creates and uploads extension requests with real time reporting pipeline.
-  void UploadExtensionRequests(const RealTimeReportGenerator::Data& data);
-
   // Records that |trigger| was responsible for an upload attempt.
   static void RecordUploadTrigger(ReportTrigger trigger);
 
   ReportType TriggerToReportType(ReportTrigger trigger);
 
+  policy::DMToken GetDMToken();
+
   std::unique_ptr<Delegate> delegate_;
 
   // Policy value watcher
@@ -185,11 +167,10 @@
   base::WallClockTimer request_timer_;
 
   std::unique_ptr<ReportUploader> report_uploader_;
-  std::unique_ptr<RealTimeUploader> extension_request_uploader_;
 
   std::unique_ptr<ReportGenerator> report_generator_;
   std::unique_ptr<ChromeProfileRequestGenerator> profile_request_generator_;
-  std::unique_ptr<RealTimeReportGenerator> real_time_report_generator_;
+  std::unique_ptr<RealTimeReportController> real_time_report_controller_;
 
   // The trigger responsible for initiating active report generation.
   ReportTrigger active_trigger_ = kTriggerNone;
diff --git a/components/enterprise/browser/reporting/reporting_delegate_factory.h b/components/enterprise/browser/reporting/reporting_delegate_factory.h
index eeca01f..615fa1b 100644
--- a/components/enterprise/browser/reporting/reporting_delegate_factory.h
+++ b/components/enterprise/browser/reporting/reporting_delegate_factory.h
@@ -9,6 +9,7 @@
 
 #include "components/enterprise/browser/reporting/browser_report_generator.h"
 #include "components/enterprise/browser/reporting/profile_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/real_time_report_generator.h"
 #include "components/enterprise/browser/reporting/report_generator.h"
 #include "components/enterprise/browser/reporting/report_scheduler.h"
@@ -37,6 +38,9 @@
 
   virtual std::unique_ptr<RealTimeReportGenerator::Delegate>
   GetRealTimeReportGeneratorDelegate() = 0;
+
+  virtual std::unique_ptr<RealTimeReportController::Delegate>
+  GetRealTimeReportControllerDelegate() = 0;
 };
 
 }  // namespace enterprise_reporting
diff --git a/components/enterprise/buildflags/BUILD.gn b/components/enterprise/buildflags/BUILD.gn
new file mode 100644
index 0000000..b233094
--- /dev/null
+++ b/components/enterprise/buildflags/BUILD.gn
@@ -0,0 +1,15 @@
+# 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("//build/buildflag_header.gni")
+import("//components/enterprise/buildflags/buildflags.gni")
+
+buildflag_header("buildflags") {
+  header = "buildflags.h"
+
+  flags = [
+    "ENTERPRISE_CLOUD_CONTENT_ANALYSIS=$enterprise_cloud_content_analysis",
+    "ENTERPRISE_LOCAL_CONTENT_ANALYSIS=$enterprise_local_content_analysis",
+  ]
+}
diff --git a/components/enterprise/buildflags/buildflags.gni b/components/enterprise/buildflags/buildflags.gni
new file mode 100644
index 0000000..52c3d997
--- /dev/null
+++ b/components/enterprise/buildflags/buildflags.gni
@@ -0,0 +1,19 @@
+# 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("//build/config/chromecast_build.gni")
+import("//build/config/chromeos/args.gni")
+import("//build/config/chromeos/ui_mode.gni")
+import("//build/config/features.gni")
+
+declare_args() {
+  # Enable support for content analysis against a cloud agent for Enterprise
+  # Connector policies.
+  enterprise_cloud_content_analysis =
+      is_win || is_mac || is_linux || is_chromeos
+
+  # Enable support for content analysis against a cloud agent for Enterprise
+  # Connector policies.
+  enterprise_local_content_analysis = is_win || is_mac || is_linux
+}
diff --git a/components/file_access/BUILD.gn b/components/file_access/BUILD.gn
index 7548922..c6377fb 100644
--- a/components/file_access/BUILD.gn
+++ b/components/file_access/BUILD.gn
@@ -37,7 +37,6 @@
     ":test_support",
     "//base",
     "//base/test:test_support",
-    "//storage/browser:browser",
     "//testing/gmock",
     "//testing/gtest",
   ]
diff --git a/components/file_access/DEPS b/components/file_access/DEPS
deleted file mode 100644
index b05e77f..0000000
--- a/components/file_access/DEPS
+++ /dev/null
@@ -1,5 +0,0 @@
-specific_include_rules = {
-  "file_access_copy_or_move_delegate_factory_unittest\.cc": [
-    "+storage/browser/file_system",
-  ],
-}
diff --git a/components/file_access/file_access_copy_or_move_delegate_factory_unittest.cc b/components/file_access/file_access_copy_or_move_delegate_factory_unittest.cc
index 4fe9d890..7703510 100644
--- a/components/file_access/file_access_copy_or_move_delegate_factory_unittest.cc
+++ b/components/file_access/file_access_copy_or_move_delegate_factory_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "storage/browser/file_system/copy_or_move_hook_delegate.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace file_access {
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
index 7699904fe..7f2ab37 100644
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -2030,6 +2030,16 @@
   return std::make_pair(local_result, all_result);
 }
 
+DomainsVisitedResult HistoryBackend::GetUniqueDomainsVisited(
+    base::Time begin_time,
+    base::Time end_time) {
+  if (!db_) {
+    return {};
+  }
+
+  return db_->GetUniqueDomainsVisited(begin_time, end_time);
+}
+
 HistoryLastVisitResult HistoryBackend::GetLastVisitToHost(
     const std::string& host,
     base::Time begin_time,
diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h
index a340a5d..4e04d22 100644
--- a/components/history/core/browser/history_backend.h
+++ b/components/history/core/browser/history_backend.h
@@ -365,6 +365,12 @@
       int number_of_days_to_report,
       DomainMetricBitmaskType metric_type_bitmask);
 
+  // Gets unique domains (eLTD+1) visited within the time range
+  // [`begin_time`, `end_time`) for local and synced visits sorted in
+  // reverse-chronological order.
+  DomainsVisitedResult GetUniqueDomainsVisited(base::Time begin_time,
+                                               base::Time end_time);
+
   // Gets the last time any webpage on the given host was visited within the
   // time range [`begin_time`, `end_time`). If the given host has not been
   // visited in the given time range, the result will have a null base::Time,
diff --git a/components/history/core/browser/history_database.cc b/components/history/core/browser/history_database.cc
index 70a09ee..8f34eb11 100644
--- a/components/history/core/browser/history_database.cc
+++ b/components/history/core/browser/history_database.cc
@@ -318,7 +318,7 @@
   return hosts.size();
 }
 
-std::pair<int, int> HistoryDatabase::CountUniqueDomainsVisited(
+DomainsVisitedResult HistoryDatabase::GetUniqueDomainsVisited(
     base::Time begin_time,
     base::Time end_time) {
   // TODO(crbug.com/1365291): Once syncer::kSyncEnableHistoryDataType is fully
@@ -334,7 +334,8 @@
       "WHERE (transition & ?) != 0 "            // CHAIN_END
       "AND (transition & ?) NOT IN (?, ?, ?) "  // No *_SUBFRAME or
                                                 // KEYWORD_GENERATED
-      "AND hidden = 0 AND visit_time >= ? AND visit_time < ?"));
+      "AND hidden = 0 AND visit_time >= ? AND visit_time < ? "
+      "ORDER BY visit_time DESC, visits.id DESC"));
 
   url_sql.BindInt64(0, VisitSource::SOURCE_BROWSED);
   url_sql.BindInt64(1, ui::PAGE_TRANSITION_CHAIN_END);
@@ -346,8 +347,11 @@
   url_sql.BindTime(6, begin_time);
   url_sql.BindTime(7, end_time);
 
-  std::set<std::string> all_domains;
-  std::set<std::string> local_domains;
+  DomainsVisitedResult result;
+
+  std::set<std::string> all_visited_domains_set;
+  std::set<std::string> locally_visited_domains_set;
+
   while (url_sql.Step()) {
     GURL url(url_sql.ColumnString(0));
     std::string domain = net::registry_controlled_domains::GetDomainAndRegistry(
@@ -359,15 +363,29 @@
       continue;
     }
 
-    all_domains.insert(domain);
+    if (!all_visited_domains_set.contains(domain)) {
+      all_visited_domains_set.insert(domain);
+      result.all_visited_domains.push_back(domain);
+    }
 
     bool is_local = url_sql.ColumnString(1).empty() &&
                     url_sql.ColumnInt(2) == VisitSource::SOURCE_BROWSED;
-    if (is_local) {
-      local_domains.insert(domain);
+
+    if (is_local && !locally_visited_domains_set.contains(domain)) {
+      locally_visited_domains_set.insert(domain);
+      result.locally_visited_domains.push_back(domain);
     }
   }
-  return std::make_pair(local_domains.size(), all_domains.size());
+
+  return result;
+}
+
+std::pair<int, int> HistoryDatabase::CountUniqueDomainsVisited(
+    base::Time begin_time,
+    base::Time end_time) {
+  DomainsVisitedResult result = GetUniqueDomainsVisited(begin_time, end_time);
+  return {result.locally_visited_domains.size(),
+          result.all_visited_domains.size()};
 }
 
 void HistoryDatabase::BeginExclusiveMode() {
diff --git a/components/history/core/browser/history_database.h b/components/history/core/browser/history_database.h
index 2f19d777..d747a65 100644
--- a/components/history/core/browser/history_database.h
+++ b/components/history/core/browser/history_database.h
@@ -87,6 +87,12 @@
   // Counts the number of unique Hosts visited in the last month.
   int CountUniqueHostsVisitedLastMonth();
 
+  // Gets unique domains (eLTD+1) visited within the time range
+  // [`begin_time`, `end_time`) for local and synced visits sorted in
+  // reverse-chronological order.
+  DomainsVisitedResult GetUniqueDomainsVisited(base::Time begin_time,
+                                               base::Time end_time);
+
   // Counts the number of unique domains (eLTD+1) visited within
   // [`begin_time`, `end_time`).
   // The return value is a pair of (local, all), where "local" only counts
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
index 128d23e..ffcad3cb 100644
--- a/components/history/core/browser/history_service.cc
+++ b/components/history/core/browser/history_service.cc
@@ -1087,6 +1087,21 @@
       std::move(callback));
 }
 
+void HistoryService::GetUniqueDomainsVisited(
+    const base::Time begin_time,
+    const base::Time end_time,
+    GetUniqueDomainsVisitedCallback callback,
+    base::CancelableTaskTracker* tracker) {
+  DCHECK(backend_task_runner_) << "History service being called after cleanup";
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  tracker->PostTaskAndReplyWithResult(
+      backend_task_runner_.get(), FROM_HERE,
+      base::BindOnce(&HistoryBackend::GetUniqueDomainsVisited, history_backend_,
+                     begin_time, end_time),
+      std::move(callback));
+}
+
 base::CancelableTaskTracker::TaskId HistoryService::GetLastVisitToHost(
     const std::string& host,
     base::Time begin_time,
diff --git a/components/history/core/browser/history_service.h b/components/history/core/browser/history_service.h
index 2a64d7f..77607ce2 100644
--- a/components/history/core/browser/history_service.h
+++ b/components/history/core/browser/history_service.h
@@ -398,6 +398,17 @@
                           DomainDiversityCallback callback,
                           base::CancelableTaskTracker* tracker);
 
+  // Returns, via a callback, unique domains (eLTD+1) visited within the time
+  // range [`begin_time`, `end_time`) for local and synced visits sorted in
+  // reverse-chronological order.
+  using GetUniqueDomainsVisitedCallback =
+      base::OnceCallback<void(DomainsVisitedResult)>;
+
+  void GetUniqueDomainsVisited(const base::Time begin_time,
+                               const base::Time end_time,
+                               GetUniqueDomainsVisitedCallback callback,
+                               base::CancelableTaskTracker* tracker);
+
   using GetLastVisitCallback = base::OnceCallback<void(HistoryLastVisitResult)>;
 
   // Gets the last time any webpage on the given host was visited within the
diff --git a/components/history/core/browser/history_service_unittest.cc b/components/history/core/browser/history_service_unittest.cc
index aec930f5..ed229500 100644
--- a/components/history/core/browser/history_service_unittest.cc
+++ b/components/history/core/browser/history_service_unittest.cc
@@ -38,10 +38,12 @@
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
+#include "base/test/test_future.h"
 #include "components/history/core/browser/features.h"
 #include "components/history/core/browser/history_backend.h"
 #include "components/history/core/browser/history_database_params.h"
 #include "components/history/core/browser/history_db_task.h"
+#include "components/history/core/browser/history_types.h"
 #include "components/history/core/test/database_test_utils.h"
 #include "components/history/core/test/test_history_database.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -782,6 +784,16 @@
   AddPageAtTime(history, url_spec, time_in_the_past);
 }
 
+// Helper to add a synced page at a specified day in the past.
+void AddSyncedPageInThePast(HistoryService* history,
+                            const std::string& url_spec,
+                            int days_back) {
+  base::Time time_in_the_past = base::Time::Now() - base::Days(days_back);
+  history->AddPage(GURL(url_spec), time_in_the_past, 0, 0, GURL(),
+                   history::RedirectList(), ui::PAGE_TRANSITION_LINK,
+                   history::SOURCE_SYNCED, false);
+}
+
 // Helper to add a page with specified days back in the past.
 base::Time GetTimeInThePast(base::Time base_time,
                             int days_back,
@@ -1068,6 +1080,95 @@
   TestDomainMetricSet(all_res[5], -1, 1, 2);
 }
 
+// Gets unique local and synced domains visited and the last visited domain
+// within a time range.
+TEST_F(HistoryServiceTest, GetUniqueDomainsVisited) {
+  base::Time base_time = base::Time::Now();
+  HistoryService* history = history_service_.get();
+  ASSERT_TRUE(history);
+
+  // Add local visits to history database at specific days back.
+  AddPageInThePast(history, "http://www.test1.com/", 1);
+  AddPageInThePast(history, "http://www.test2.com/test", 2);
+  AddPageInThePast(history, "http://www.test2.com/", 3);
+  AddPageInThePast(history, "http://www.test3.com/", 4);
+
+  // Add synced visits to history database at specific days back.
+  AddSyncedPageInThePast(history, "http://www.test3.com/", 3);
+  AddSyncedPageInThePast(history, "http://www.test4.com/", 5);
+
+  {
+    // DomainsVisitedResult should be empty when no domains in range.
+    base::test::TestFuture<DomainsVisitedResult> future;
+
+    history->GetUniqueDomainsVisited(
+        /*begin_time=*/base_time - base::Days(10),
+        /*end_time=*/base_time - base::Days(5), future.GetCallback(),
+        &tracker_);
+
+    DomainsVisitedResult result = future.Take();
+
+    EXPECT_EQ(0u, result.locally_visited_domains.size());
+    EXPECT_EQ(0u, result.all_visited_domains.size());
+  }
+
+  {
+    // DomainsVisitedResult should include unique domains in range in
+    // reverse-chronological order.
+    base::test::TestFuture<DomainsVisitedResult> future;
+
+    history->GetUniqueDomainsVisited(
+        /*begin_time=*/base_time - base::Days(2), /*end_time=*/base_time,
+        future.GetCallback(), &tracker_);
+
+    std::vector<std::string> expectedLocalResult({"test1.com", "test2.com"});
+    std::vector<std::string> expectedSyncedResult({"test1.com", "test2.com"});
+
+    DomainsVisitedResult result = future.Take();
+
+    EXPECT_EQ(expectedLocalResult, result.locally_visited_domains);
+    EXPECT_EQ(expectedSyncedResult, result.all_visited_domains);
+  }
+
+  {
+    // DomainsVisitedResult should not include duplicate domains in range.
+    base::test::TestFuture<DomainsVisitedResult> future;
+
+    history->GetUniqueDomainsVisited(
+        /*begin_time=*/base_time - base::Days(4), /*end_time=*/base_time,
+        future.GetCallback(), &tracker_);
+
+    std::vector<std::string> expectedLocalResult(
+        {"test1.com", "test2.com", "test3.com"});
+    std::vector<std::string> expectedSyncedResult(
+        {"test1.com", "test2.com", "test3.com"});
+
+    DomainsVisitedResult result = future.Take();
+
+    EXPECT_EQ(expectedLocalResult, result.locally_visited_domains);
+    EXPECT_EQ(expectedSyncedResult, result.all_visited_domains);
+  }
+
+  {
+    // local domains should not include synced visits in range.
+    base::test::TestFuture<DomainsVisitedResult> future;
+
+    history->GetUniqueDomainsVisited(
+        /*begin_time=*/base_time - base::Days(5), /*end_time=*/base_time,
+        future.GetCallback(), &tracker_);
+
+    std::vector<std::string> expectedLocalResult(
+        {"test1.com", "test2.com", "test3.com"});
+    std::vector<std::string> expectedSyncedResult(
+        {"test1.com", "test2.com", "test3.com", "test4.com"});
+
+    DomainsVisitedResult result = future.Take();
+
+    EXPECT_EQ(expectedLocalResult, result.locally_visited_domains);
+    EXPECT_EQ(expectedSyncedResult, result.all_visited_domains);
+  }
+}
+
 namespace {
 
 class AddSyncedVisitTask : public HistoryDBTask {
diff --git a/components/history/core/browser/history_types.cc b/components/history/core/browser/history_types.cc
index a9017fa..be074bc 100644
--- a/components/history/core/browser/history_types.cc
+++ b/components/history/core/browser/history_types.cc
@@ -245,6 +245,18 @@
 
 FilteredURL::ExtendedInfo::ExtendedInfo() = default;
 
+// DomainsVisitedResult -------------------------------------------------------
+
+DomainsVisitedResult::DomainsVisitedResult() = default;
+
+DomainsVisitedResult::DomainsVisitedResult(DomainsVisitedResult&& other) =
+    default;
+
+DomainsVisitedResult& DomainsVisitedResult::operator=(
+    DomainsVisitedResult&& other) = default;
+
+DomainsVisitedResult::~DomainsVisitedResult() = default;
+
 // TopSitesDelta --------------------------------------------------------------
 
 TopSitesDelta::TopSitesDelta() = default;
diff --git a/components/history/core/browser/history_types.h b/components/history/core/browser/history_types.h
index bc0f70f..946c51a7 100644
--- a/components/history/core/browser/history_types.h
+++ b/components/history/core/browser/history_types.h
@@ -433,6 +433,22 @@
   ExtendedInfo extended_info;
 };
 
+// DomainsVisitedResult --------------------------------------------------
+
+// DomainsVisitedResult encapsulates two lists of domains visited locally
+// and synced.
+struct DomainsVisitedResult {
+  DomainsVisitedResult();
+  DomainsVisitedResult(DomainsVisitedResult&& other);
+  DomainsVisitedResult& operator=(DomainsVisitedResult&& other);
+  ~DomainsVisitedResult();
+
+  // Domains visited on this device.
+  std::vector<std::string> locally_visited_domains;
+  // Domains visited on all devices.
+  std::vector<std::string> all_visited_domains;
+};
+
 // Opener ---------------------------------------------------------------------
 
 // Contains the information required to determine the VisitID of an opening
diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderTest.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderTest.java
index bb0d8b59..20aa7d8 100644
--- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderTest.java
+++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderTest.java
@@ -28,7 +28,6 @@
 import org.chromium.base.test.UiThreadTest;
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.CriteriaHelper;
-import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.JniMocker;
 import org.chromium.content_public.browser.BrowserContextHandle;
 import org.chromium.content_public.browser.RenderFrameHost;
@@ -817,7 +816,6 @@
     @Test
     @SmallTest
     @UiThreadTest
-    @DisabledTest(message = "https://crbug.com/1052429")
     public void testAssetStatementSiteMissingParts() throws Exception {
         RelatedApplication manifestRelatedApps[] = new RelatedApplication[] {
                 createRelatedApplication(PLATFORM_ANDROID, PACKAGE_NAME_1, null)};
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
index 3e1fb2fd..3175912 100644
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -32,6 +32,7 @@
 #include "components/content_settings/core/browser/content_settings_utils.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
 #include "components/content_settings/core/common/content_settings.h"
+#include "components/content_settings/core/common/content_settings_constraints.h"
 #include "components/content_settings/core/common/content_settings_pattern.h"
 #include "components/content_settings/core/common/content_settings_types.h"
 #include "components/content_settings/core/common/content_settings_utils.h"
@@ -1314,7 +1315,16 @@
           << "type: " << static_cast<int>(type);
 
       if (!setting.secondary_pattern.Matches(site_url_)) {
-        continue;
+        continue;  // Skip unrelated settings.
+      }
+      if (type == ContentSettingsType::STORAGE_ACCESS) {
+        if (setting.primary_pattern.Matches(site_url_)) {
+          continue;  // Skip first-party settings.
+        }
+        if (setting.metadata.session_model ==
+            content_settings::SessionModel::NonRestorableUserSession) {
+          continue;  // Skip auto-granted settings.
+        }
       }
       PermissionInfo permission_info;
       permission_info.type = type;
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
index d94a9ad..5022412b 100644
--- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h
@@ -341,6 +341,7 @@
  private:
   FRIEND_TEST_ALL_PREFIXES(PageInfoTest,
                            NonFactoryDefaultAndRecentlyChangedPermissionsShown);
+  FRIEND_TEST_ALL_PREFIXES(PageInfoTest, StorageAccessGrantsAreFiltered);
   FRIEND_TEST_ALL_PREFIXES(PageInfoTest, IncognitoPermissionsEmptyByDefault);
   FRIEND_TEST_ALL_PREFIXES(PageInfoTest, IncognitoPermissionsDontShowAsk);
 
diff --git a/components/page_load_metrics/browser/page_load_tracker.cc b/components/page_load_metrics/browser/page_load_tracker.cc
index 67dc925..24bcd5b9 100644
--- a/components/page_load_metrics/browser/page_load_tracker.cc
+++ b/components/page_load_metrics/browser/page_load_tracker.cc
@@ -1051,6 +1051,12 @@
     return;
   }
 
+  CHECK(soft_navigation_metrics.count > soft_navigation_metrics_->count);
+  CHECK(soft_navigation_metrics.start_time >
+        soft_navigation_metrics_->start_time);
+  CHECK(soft_navigation_metrics.navigation_id !=
+        soft_navigation_metrics_->navigation_id);
+
   soft_navigation_metrics_ = soft_navigation_metrics.Clone();
 
   for (const auto& observer : observers_) {
diff --git a/components/password_manager/core/browser/password_reuse_detector.cc b/components/password_manager/core/browser/password_reuse_detector.cc
index ef2526b2..da3571990 100644
--- a/components/password_manager/core/browser/password_reuse_detector.cc
+++ b/components/password_manager/core/browser/password_reuse_detector.cc
@@ -16,12 +16,21 @@
 #include "components/password_manager/core/browser/password_reuse_detector_consumer.h"
 #include "components/password_manager/core/browser/password_store_consumer.h"
 #include "components/password_manager/core/browser/psl_matching_helper.h"
+#include "components/safe_browsing/core/common/features.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "google_apis/gaia/gaia_auth_util.h"
 #include "url/gurl.h"
 
 namespace password_manager {
 
+size_t GetMinPasswordLengthToCheck() {
+  if (base::FeatureList::IsEnabled(
+          safe_browsing::kEvaluateProtectedPasswordLengthMinimum)) {
+    return safe_browsing::kEvaluateProtectedPasswordLengthMinimumValue.Get();
+  }
+  return kMinPasswordLengthToCheck;
+}
+
 namespace {
 // Returns true iff |suffix_candidate| is a suffix of |str|.
 bool IsSuffix(const std::u16string& str,
@@ -133,7 +142,7 @@
     PasswordReuseDetectorConsumer* consumer) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(consumer);
-  if (input.size() < kMinPasswordLengthToCheck) {
+  if (input.size() < GetMinPasswordLengthToCheck()) {
     consumer->OnReuseCheckDone(false, 0, absl::nullopt, {},
                                SavedPasswordsCount(), std::string(), 0);
     return;
@@ -339,8 +348,9 @@
 
 void PasswordReuseDetector::AddPassword(const PasswordForm& form) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (form.password_value.size() < kMinPasswordLengthToCheck)
+  if (form.password_value.size() < GetMinPasswordLengthToCheck()) {
     return;
+  }
 
   passwords_with_matching_reused_credentials_[form.password_value].insert(
       {form.signon_realm, form.username_value, form.in_store});
@@ -348,8 +358,9 @@
 
 void PasswordReuseDetector::RemovePassword(const PasswordForm& form) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (form.password_value.size() < kMinPasswordLengthToCheck)
+  if (form.password_value.size() < GetMinPasswordLengthToCheck()) {
     return;
+  }
 
   MatchingReusedCredential credential_criteria = {
       form.signon_realm, form.username_value, form.in_store};
diff --git a/components/password_manager/core/browser/password_reuse_detector.h b/components/password_manager/core/browser/password_reuse_detector.h
index 7fa51d78..b19e777 100644
--- a/components/password_manager/core/browser/password_reuse_detector.h
+++ b/components/password_manager/core/browser/password_reuse_detector.h
@@ -24,6 +24,11 @@
 // is quite likely that they are parts of common words.
 constexpr size_t kMinPasswordLengthToCheck = 8;
 
+// When kEvaluateProtectedPasswordLengthMinimum is enabled, return our
+// experimental minimum password length value. When it is not enabled, return
+// kMinPasswordLengthToCheck.
+size_t GetMinPasswordLengthToCheck();
+
 class PasswordReuseDetectorConsumer;
 
 // Comparator that compares reversed strings.
diff --git a/components/password_manager/core/browser/password_reuse_detector_unittest.cc b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
index f51395a..43b66489 100644
--- a/components/password_manager/core/browser/password_reuse_detector_unittest.cc
+++ b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
@@ -10,9 +10,11 @@
 
 #include "base/strings/string_split.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/test/scoped_feature_list.h"
 #include "components/password_manager/core/browser/hash_password_manager.h"
 #include "components/password_manager/core/browser/password_form.h"
 #include "components/password_manager/core/browser/password_manager_test_utils.h"
+#include "components/safe_browsing/core/common/features.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -851,6 +853,22 @@
                             &mockConsumer);
 }
 
+TEST(PasswordReuseDetectorTest, ShortPasswordReuseFound) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(
+      safe_browsing::kEvaluateProtectedPasswordLengthMinimum);
+
+  PasswordReuseDetector reuse_detector;
+  reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
+  MockPasswordReuseDetectorConsumer mockConsumer;
+
+  EXPECT_CALL(mockConsumer,
+              OnReuseCheckDone(true, strlen("short"), _, _, _, _, _));
+
+  reuse_detector.CheckReuse(u"short", "https://phishing.example.com",
+                            &mockConsumer);
+}
+
 }  // namespace
 
 }  // namespace password_manager
diff --git a/components/password_manager/core/browser/store_metrics_reporter.cc b/components/password_manager/core/browser/store_metrics_reporter.cc
index aaba0d25..27e3922 100644
--- a/components/password_manager/core/browser/store_metrics_reporter.cc
+++ b/components/password_manager/core/browser/store_metrics_reporter.cc
@@ -24,6 +24,7 @@
 #include "components/password_manager/core/browser/password_sync_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
 #include "components/password_manager/core/common/password_manager_pref_names.h"
+#include "components/safe_browsing/core/common/features.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "components/sync/base/features.h"
 #include "google_apis/gaia/gaia_auth_util.h"
@@ -427,7 +428,7 @@
     if (!form->blocked_by_user && form->password_value.size() > 0) {
       metrics_util::LogIsPasswordProtected(
           form->password_value.size() >=
-          password_manager::kMinPasswordLengthToCheck);
+          password_manager::GetMinPasswordLengthToCheck());
     }
   }
 }
diff --git a/components/password_manager/core/browser/ui/saved_passwords_presenter.cc b/components/password_manager/core/browser/ui/saved_passwords_presenter.cc
index 43e836e..d35dba2 100644
--- a/components/password_manager/core/browser/ui/saved_passwords_presenter.cc
+++ b/components/password_manager/core/browser/ui/saved_passwords_presenter.cc
@@ -105,7 +105,7 @@
     AffiliationService* affiliation_service,
     scoped_refptr<PasswordStoreInterface> profile_store,
     scoped_refptr<PasswordStoreInterface> account_store,
-    PasskeyModel* passkey_store)
+    webauthn::PasskeyModel* passkey_store)
     : profile_store_(std::move(profile_store)),
       account_store_(std::move(account_store)),
       passkey_store_(passkey_store),
diff --git a/components/password_manager/core/browser/ui/saved_passwords_presenter.h b/components/password_manager/core/browser/ui/saved_passwords_presenter.h
index 2265103..5bc30c4 100644
--- a/components/password_manager/core/browser/ui/saved_passwords_presenter.h
+++ b/components/password_manager/core/browser/ui/saved_passwords_presenter.h
@@ -43,7 +43,7 @@
 // (such as visiting a change password form and then updating the password in
 // Chrome) should not trigger a check.
 class SavedPasswordsPresenter : public PasswordStoreInterface::Observer,
-                                public PasskeyModel::Observer,
+                                public webauthn::PasskeyModel::Observer,
                                 public PasswordStoreConsumer {
  public:
   // Observer interface. Clients can implement this to get notified about
@@ -109,7 +109,7 @@
   SavedPasswordsPresenter(AffiliationService* affiliation_service,
                           scoped_refptr<PasswordStoreInterface> profile_store,
                           scoped_refptr<PasswordStoreInterface> account_store,
-                          PasskeyModel* passkey_store = nullptr);
+                          webauthn::PasskeyModel* passkey_store = nullptr);
   ~SavedPasswordsPresenter() override;
 
   SavedPasswordsPresenter(const SavedPasswordsPresenter&) = delete;
@@ -252,7 +252,7 @@
 
   // Store containing account passkeys. This may be null if the feature is
   // disabled.
-  raw_ptr<PasskeyModel> passkey_store_;
+  raw_ptr<webauthn::PasskeyModel> passkey_store_;
 
   // The number of stores from which no updates have been received yet.
   int pending_store_updates_ = 0;
@@ -274,7 +274,8 @@
   base::ScopedObservation<PasswordStoreInterface,
                           PasswordStoreInterface::Observer>
       account_store_observation_{this};
-  base::ScopedObservation<PasskeyModel, PasskeyModel::Observer>
+  base::ScopedObservation<webauthn::PasskeyModel,
+                          webauthn::PasskeyModel::Observer>
       passkey_store_observation_{this};
 
   base::WeakPtrFactory<SavedPasswordsPresenter> weak_ptr_factory_{this};
diff --git a/components/password_manager/core/browser/ui/saved_passwords_presenter_unittest.cc b/components/password_manager/core/browser/ui/saved_passwords_presenter_unittest.cc
index ae76630f..bc1b666 100644
--- a/components/password_manager/core/browser/ui/saved_passwords_presenter_unittest.cc
+++ b/components/password_manager/core/browser/ui/saved_passwords_presenter_unittest.cc
@@ -117,7 +117,7 @@
 
   TestPasswordStore& store() { return *store_; }
 #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
-  TestPasskeyModel& passkey_store() { return test_passkey_store_; }
+  webauthn::TestPasskeyModel& passkey_store() { return test_passkey_store_; }
 #endif
   SavedPasswordsPresenter& presenter() { return presenter_; }
 
@@ -134,7 +134,7 @@
       base::MakeRefCounted<TestPasswordStore>();
   FakeAffiliationService affiliation_service_;
 #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
-  TestPasskeyModel test_passkey_store_;
+  webauthn::TestPasskeyModel test_passkey_store_;
   SavedPasswordsPresenter presenter_{&affiliation_service_, store_,
                                      /*account_store=*/nullptr,
                                      &test_passkey_store_};
diff --git a/components/payments/content/android/payment_app_service_bridge.cc b/components/payments/content/android/payment_app_service_bridge.cc
index 4e9f170..0b887aa 100644
--- a/components/payments/content/android/payment_app_service_bridge.cc
+++ b/components/payments/content/android/payment_app_service_bridge.cc
@@ -269,7 +269,7 @@
   // safety precaution to ensure that `RenderFrameDeleted()` will be called at
   // some point.
   return rfh && rfh->IsActive() && rfh->IsRenderFrameLive()
-             ? std::make_unique<InternalAuthenticatorAndroid>(rfh)
+             ? std::make_unique<webauthn::InternalAuthenticatorAndroid>(rfh)
              : nullptr;
 }
 
diff --git a/components/policy/core/common/BUILD.gn b/components/policy/core/common/BUILD.gn
index f35d8d1c..59a8b10 100644
--- a/components/policy/core/common/BUILD.gn
+++ b/components/policy/core/common/BUILD.gn
@@ -411,6 +411,8 @@
     "cloud/mock_cloud_external_data_manager.h",
     "cloud/mock_cloud_policy_client.cc",
     "cloud/mock_cloud_policy_client.h",
+    "cloud/mock_cloud_policy_manager.cc",
+    "cloud/mock_cloud_policy_manager.h",
     "cloud/mock_cloud_policy_service.cc",
     "cloud/mock_cloud_policy_service.h",
     "cloud/mock_cloud_policy_store.cc",
@@ -485,7 +487,10 @@
     "//testing/gtest",
   ]
 
-  deps = [ "//build:chromeos_buildflags" ]
+  deps = [
+    "//build:chromeos_buildflags",
+    "//services/network:test_support",
+  ]
 }
 
 source_set("common_constants") {
diff --git a/components/policy/core/common/cloud/cloud_policy_manager_unittest.cc b/components/policy/core/common/cloud/cloud_policy_manager_unittest.cc
index 759d99f..56bfd251 100644
--- a/components/policy/core/common/cloud/cloud_policy_manager_unittest.cc
+++ b/components/policy/core/common/cloud/cloud_policy_manager_unittest.cc
@@ -13,6 +13,7 @@
 #include "base/values.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
+#include "components/policy/core/common/cloud/mock_cloud_policy_manager.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
 #include "components/policy/core/common/configuration_policy_provider_test.h"
@@ -140,28 +141,6 @@
                          testing::Values(TestHarness::CreateMandatory,
                                          TestHarness::CreateRecommended));
 
-class TestCloudPolicyManager : public CloudPolicyManager {
- public:
-  TestCloudPolicyManager(
-      CloudPolicyStore* store,
-      const scoped_refptr<base::SequencedTaskRunner>& task_runner)
-      : CloudPolicyManager(
-            dm_protocol::kChromeUserPolicyType,
-            std::string(),
-            store,
-            task_runner,
-            network::TestNetworkConnectionTracker::CreateGetter()) {}
-  TestCloudPolicyManager(const TestCloudPolicyManager&) = delete;
-  TestCloudPolicyManager& operator=(const TestCloudPolicyManager&) = delete;
-  ~TestCloudPolicyManager() override = default;
-
-  // Publish the protected members for testing.
-  using CloudPolicyManager::client;
-  using CloudPolicyManager::store;
-  using CloudPolicyManager::service;
-  using CloudPolicyManager::CheckAndPublishPolicy;
-};
-
 MATCHER_P(ProtoMatches, proto, std::string()) {
   return arg.SerializePartialAsString() == proto.SerializePartialAsString();
 }
@@ -186,7 +165,7 @@
     policy_.Build();
 
     EXPECT_CALL(store_, Load());
-    manager_ = std::make_unique<TestCloudPolicyManager>(
+    manager_ = std::make_unique<MockCloudPolicyManager>(
         &store_, task_environment_.GetMainThreadTaskRunner());
     manager_->Init(&schema_registry_);
     Mock::VerifyAndClearExpectations(&store_);
@@ -211,7 +190,7 @@
   SchemaRegistry schema_registry_;
   MockConfigurationPolicyObserver observer_;
   MockCloudPolicyStore store_;
-  std::unique_ptr<TestCloudPolicyManager> manager_;
+  std::unique_ptr<MockCloudPolicyManager> manager_;
 };
 
 TEST_F(CloudPolicyManagerTest, InitAndShutdown) {
diff --git a/components/policy/core/common/cloud/mock_cloud_policy_manager.cc b/components/policy/core/common/cloud/mock_cloud_policy_manager.cc
new file mode 100644
index 0000000..6fb7016
--- /dev/null
+++ b/components/policy/core/common/cloud/mock_cloud_policy_manager.cc
@@ -0,0 +1,28 @@
+// 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 "components/policy/core/common/cloud/mock_cloud_policy_manager.h"
+
+#include <string>
+
+#include "base/task/sequenced_task_runner.h"
+#include "components/policy/core/common/cloud/cloud_policy_constants.h"
+#include "components/policy/core/common/cloud/cloud_policy_store.h"
+#include "services/network/test/test_network_connection_tracker.h"
+
+namespace policy {
+
+MockCloudPolicyManager::MockCloudPolicyManager(
+    CloudPolicyStore* store,
+    const scoped_refptr<base::SequencedTaskRunner>& task_runner)
+    : CloudPolicyManager(
+          dm_protocol::kChromeUserPolicyType,
+          std::string(),
+          store,
+          task_runner,
+          network::TestNetworkConnectionTracker::CreateGetter()) {}
+
+MockCloudPolicyManager::~MockCloudPolicyManager() = default;
+
+}  // namespace policy
diff --git a/components/policy/core/common/cloud/mock_cloud_policy_manager.h b/components/policy/core/common/cloud/mock_cloud_policy_manager.h
new file mode 100644
index 0000000..53afd3d
--- /dev/null
+++ b/components/policy/core/common/cloud/mock_cloud_policy_manager.h
@@ -0,0 +1,39 @@
+// 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 COMPONENTS_POLICY_CORE_COMMON_CLOUD_MOCK_CLOUD_POLICY_MANAGER_H_
+#define COMPONENTS_POLICY_CORE_COMMON_CLOUD_MOCK_CLOUD_POLICY_MANAGER_H_
+
+#include "base/memory/scoped_refptr.h"
+#include "components/policy/core/common/cloud/cloud_policy_manager.h"
+
+namespace base {
+class SequencedTaskRunner;
+}  // namespace base
+
+namespace policy {
+
+class CloudPolicyStore;
+
+class MockCloudPolicyManager : public CloudPolicyManager {
+ public:
+  MockCloudPolicyManager(
+      CloudPolicyStore* store,
+      const scoped_refptr<base::SequencedTaskRunner>& task_runner);
+
+  MockCloudPolicyManager(const MockCloudPolicyManager&) = delete;
+  MockCloudPolicyManager& operator=(const MockCloudPolicyManager&) = delete;
+
+  ~MockCloudPolicyManager() override;
+
+  // Publish the protected members for testing.
+  using CloudPolicyManager::CheckAndPublishPolicy;
+  using CloudPolicyManager::client;
+  using CloudPolicyManager::service;
+  using CloudPolicyManager::store;
+};
+
+}  // namespace policy
+
+#endif  // COMPONENTS_POLICY_CORE_COMMON_CLOUD_MOCK_CLOUD_POLICY_MANAGER_H_
diff --git a/components/policy/proto/chrome_device_policy.proto b/components/policy/proto/chrome_device_policy.proto
index c21738f06..75894a21 100644
--- a/components/policy/proto/chrome_device_policy.proto
+++ b/components/policy/proto/chrome_device_policy.proto
@@ -2004,4 +2004,6 @@
   optional DeviceSystemAecEnabledProto device_system_aec_enabled = 146;
   optional DeviceLoginScreenGeolocationAccessLevelProto
       device_login_screen_geolocation_access_level = 147;
+  optional StringPolicyProto device_login_screen_webhid_allow_devices_for_urls =
+      148;
 }
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index a4bb3168..4ad8129de 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -1077,6 +1077,11 @@
 <translation id="2006530844219044261">Energieverwaltung</translation>
 <translation id="2006954055163088863">Nutzer wird während der Videowiedergabe als inaktiv angesehen</translation>
 <translation id="2008514891623783266">Richtlinie für das IP-Handling von WebRTC</translation>
+<translation id="201153120366509312">Wenn diese Richtlinie aktiviert oder nicht konfiguriert ist, ist die URL-Messwerterfassung zulässig.
+Wenn der Nutzer die URL-Messwerterfassung zulässt und aktiviert hat, werden URLs von Seiten, die er besucht, an Google gesendet, um Suchanfragen, das Surfen und die Nutzungsstatistik für die Seiten zu verbessern.
+Zu den URL-Messwerten gehören auch die IDs und Nutzungsstatistiken anderer Browserkomponenten, die Inhalte ändern oder bereitstellen können, z. B. Erweiterungen.
+
+Ist die Richtlinie auf „unzulässig“ gesetzt, können Nutzer das Erfassen von URL-Messwerten nicht aktivieren.</translation>
 <translation id="2012296492055302633">Privatsphärefunktion immer aktivieren</translation>
 <translation id="2014757022750736514">Legt das Verhalten des Anmeldebildschirms fest, auf dem Nutzer sich in ihren Konten anmelden. Über die Einstellungen wird gesteuert, wer sich anmelden darf, welche Typen von Konten zulässig sind und welche Authentifizierungsmethoden verwendet werden sollen. Außerdem schließen sie allgemeine Bedienungshilfen, Eingabemethode und Sprache ein.</translation>
 <translation id="201557587962247231">Häufigkeit von Uploads mit Berichten zum Gerätestatus</translation>
@@ -1317,6 +1322,15 @@
 <translation id="2223393221350938149">Ausführung von JavaScript JIT für keine Website zulassen</translation>
 <translation id="2223598546285729819">Standardeinstellung für Benachrichtigungen</translation>
 <translation id="222673035924187991">TLS Encrypted ClientHello aktivieren</translation>
+<translation id="222944823539535006">Diese Richtlinie ist veraltet und wird im Meilenstein 130 entfernt. Bitte verwende stattdessen „<ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" />“.
+
+Ist diese Richtlinie aktiviert, ist die anonymisierte URL-Datenerfassung immer aktiv. Das heißt, URLs der von Nutzern besuchten Seiten werden an Google gesendet, um Suchanfragen und das Surfen zu verbessern.
+
+Wenn die Richtlinie deaktiviert ist, erfolgt keine anonymisierte URL-Datenerfassung.
+
+Wenn die Richtlinie nicht konfiguriert ist, können die Nutzer diese Einstellung manuell ändern.
+
+In <ph name="PRODUCT_OS_NAME" /> Kiosk bietet diese Richtlinie nicht die Option „Nutzer kann entscheiden“. Wenn diese Richtlinie für <ph name="PRODUCT_OS_NAME" /> Kiosk nicht festgelegt ist, ist die anonymisierte URL-Datenerfassung immer aktiv.</translation>
 <translation id="2231817271680715693">Browserverlauf bei erster Ausführung aus Standardbrowser importieren</translation>
 <translation id="2231962946025538735">Diese Richtlinie ist veraltet. Du kannst mit <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> die Verfügbarkeit des Flash-Plug-ins definieren und über <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> festlegen, ob der integrierte PDF-Viewer zum Öffnen von PDF-Dateien verwendet werden soll.
 
@@ -4303,6 +4317,7 @@
 <translation id="5025239932007658691">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, sendet <ph name="PRODUCT_NAME" /> gelegentlich Abfragen an einen Google-Server, um einen korrekten Zeitstempel abzurufen.
 
       Wird die Richtlinie deaktiviert, sendet <ph name="PRODUCT_NAME" /> solche Abfragen nicht mehr.</translation>
+<translation id="5030415914668947893">Erfassen von URL-Messwerten zulassen</translation>
 <translation id="5033070732967197381">WebAuthn-API-Anfragen auf Websites mit fehlerhaften TLS-Zertifikaten zulassen.</translation>
 <translation id="5034504101537897433">Melden von Informationen zu Absturzberichten auf Geräten aktivieren</translation>
 <translation id="5036013147560568855">Version des Zertifikatbereitstellungsprotokolls. Der Standardwert ist 1. 1 entspricht dem statischen Protokoll. 2 entspricht dem dynamischen Protokoll.</translation>
@@ -5308,6 +5323,7 @@
 <translation id="603768430528561926">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, können Nutzer von Geräten in Unternehmen Angebote einlösen, indem sie <ph name="PRODUCT_OS_NAME" /> registrieren.
 
       Ist die Richtlinie deaktiviert, können solche Nutzer diese Angebote nicht einlösen.</translation>
+<translation id="6042629184389251062">Das Erfassen von URL-Messwerten ist nicht zulässig</translation>
 <translation id="6046615715547751255">Steuerelemente für detailliertes Reporting nicht zulassen</translation>
 <translation id="6048199181629830227">Energieverwaltung zum Umschalten bei Leistungsspitzen aktivieren</translation>
 <translation id="6048690591359317353">Nutzern nicht erlauben, VPN-Verbindungen manuell zu trennen oder zu ändern</translation>
@@ -5812,6 +5828,7 @@
 <translation id="6462604655173570082">Wenn die Richtlinie nicht konfiguriert oder aktiviert ist, können Nutzer die Schaltfläche „<ph name="GOOGLE_LENS_PRODUCT_NAME" />“ im Suchfeld auf der Seite „Neuer Tab“ sehen und verwenden. Ist sie deaktiviert, sehen Nutzer die Schaltfläche „<ph name="GOOGLE_LENS_PRODUCT_NAME" />“ im Suchfeld auf der Seite „Neuer Tab“ nicht.</translation>
 <translation id="6464074037294098618">Autofill für Adressdaten zulassen</translation>
 <translation id="6467613372414922590">Hosts für natives Messaging, die ohne Berechtigung des Administrators installiert wurden, auf Nutzerebene zulassen</translation>
+<translation id="6471018476824827813">Das Erfassen von URL-Messwerten ist zulässig</translation>
 <translation id="6473623140202114570">Hiermit wird die Liste der Domains konfiguriert, auf denen durch Safe Browsing keine Warnungen ausgelöst werden.</translation>
 <translation id="6474194795370862403">Das alte „offsetParent“-Verhalten wird verwendet.</translation>
 <translation id="647645276885673708"><ph name="LACROS_NAME" /> aktivieren und als primären Browser festlegen</translation>
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 7ffe608..1f98be4f 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -1086,6 +1086,11 @@
 <translation id="2006530844219044261">Administración de energía</translation>
 <translation id="2006954055163088863">Considerar al usuario como inactivo mientras se reproduce un video</translation>
 <translation id="2008514891623783266">La política que controla la IP de WebRTC</translation>
+<translation id="201153120366509312">Si habilitas esta política o no la estableces, se permitirá la recopilación de métricas con URL.
+Si el usuario habilita la política y la recopilación de métricas con URL, esta recopilación envía a Google las URLs de las páginas que visita el usuario para mejorar las búsquedas y la navegación junto con las estadísticas de uso por página.
+Las métricas con URL también incluyen los identificadores y las estadísticas de uso de otros componentes del navegador que pueden modificar o proporcionar contenido, como extensiones.
+
+Si no permites la política, los usuarios no podrán habilitar la recopilación de métricas con URL.</translation>
 <translation id="2012296492055302633">Habilitar siempre la pantalla de privacidad</translation>
 <translation id="2014757022750736514">Controla el comportamiento de la pantalla de acceso, donde los usuarios ingresan a sus cuentas. En las opciones de configuración, se determina quiénes pueden acceder, qué tipo de cuentas están permitidas, qué métodos de autenticación deben usarse, además de la configuración regional, el método de entrada y la accesibilidad general.</translation>
 <translation id="201557587962247231">Frecuencia de cargas del informe de estado del dispositivo</translation>
@@ -1335,6 +1340,15 @@
 <translation id="2223393221350938149">No permitir que cualquier sitio ejecute JavaScript con JIT</translation>
 <translation id="2223598546285729819">Configuración de notificación predeterminada</translation>
 <translation id="222673035924187991">Habilitar TLS Encrypted ClientHello</translation>
+<translation id="222944823539535006">Esta política dejó de estar disponible y se quitará en la versión principal 130. En su lugar, usa <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" />.
+
+Si habilitas la política, la recopilación de datos anónimos con URL estará siempre activa. Esta recopilación envía a Google las URLs de las páginas que visita el usuario para mejorar la búsqueda y la exploración.
+
+Si inhabilitas la política, no se recopilarán datos anónimos con URL.
+
+Si no la estableces, el usuario podrá cambiar esta configuración de forma manual.
+
+En el Kiosco de <ph name="PRODUCT_OS_NAME" />, esta política no ofrece la opción "Permitir que el usuario decida". Si no estableces esta política para el Kiosco de <ph name="PRODUCT_OS_NAME" />, la recopilación de datos anónimos con URL estará siempre activa.</translation>
 <translation id="2231817271680715693">Importar historial de navegación del navegador predeterminado en la primera ejecución</translation>
 <translation id="2231962946025538735">Esta política dejó de estar disponible. Usa <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> para controlar la disponibilidad del complemento de Flash y <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> para controlar si debe usarse el visor de PDF integrado para abrir este tipo de archivos.
 
@@ -4415,6 +4429,7 @@
 <translation id="5025239932007658691">Si habilitas la política o no la estableces, <ph name="PRODUCT_NAME" /> enviará consultas ocasionales a un servidor de Google para recuperar una marca de tiempo precisa.
 
       Si la inhabilitas, <ph name="PRODUCT_NAME" /> dejará de enviar estas consultas.</translation>
+<translation id="5030415914668947893">Permitir la recopilación de métricas con URL</translation>
 <translation id="5033070732967197381">Permitir solicitudes a la API de WebAuthn en sitios con certificados TLS rotos</translation>
 <translation id="5034504101537897433">Habilitar los informes de fallos del dispositivo</translation>
 <translation id="5036013147560568855">Versión del protocolo de provisión de certificados. La configuración predeterminada es 1. 1 es el protocolo "estático". 2 es el protocolo "dinámico".</translation>
@@ -5441,6 +5456,7 @@
 <translation id="603768430528561926">Si habilitas la política o no la estableces, los usuarios de dispositivos empresariales podrán canjear ofertas a través del registro en <ph name="PRODUCT_OS_NAME" />.
 
       Si la inhabilitas, los usuarios no podrán canjear esas ofertas.</translation>
+<translation id="6042629184389251062">No permitir la recopilación de métricas con URL</translation>
 <translation id="6046615715547751255">No permitir los controles de informes detallados</translation>
 <translation id="6048199181629830227">Habilita la administración de carga fuera del horario de mayor consumo</translation>
 <translation id="6048690591359317353">No permitir que el usuario desconecte o modifique manualmente una VPN</translation>
@@ -5983,6 +5999,7 @@
 <translation id="6462604655173570082">Si no estableces la política o si la habilitas, los usuarios podrán ver y usar el botón <ph name="GOOGLE_LENS_PRODUCT_NAME" /> en el cuadro de búsqueda de la página Nueva pestaña. Si la inhabilitas, los usuarios no verán el botón <ph name="GOOGLE_LENS_PRODUCT_NAME" /> en el cuadro de búsqueda de la página Nueva pestaña.</translation>
 <translation id="6464074037294098618">Habilitar "Autocompletar" para las direcciones</translation>
 <translation id="6467613372414922590">Permite el uso de hosts de mensajería nativa en el nivel de usuario (instalados sin permisos de administrador).</translation>
+<translation id="6471018476824827813">Permitir la recopilación de métricas con URL</translation>
 <translation id="6473623140202114570">Configura la lista de dominios donde la Navegación segura no activa advertencias.</translation>
 <translation id="6474194795370862403">Usar el comportamiento anterior de offsetParent</translation>
 <translation id="647645276885673708">Habilitar <ph name="LACROS_NAME" /> y seleccionarlo como navegador predeterminado</translation>
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index 32e8c9db..4109b523 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -1082,6 +1082,11 @@
 <translation id="2006530844219044261">Gestión de la batería</translation>
 <translation id="2006954055163088863">Considerar que el usuario está inactivo durante la reproducción de vídeos</translation>
 <translation id="2008514891623783266">La política que gestiona la IP de WebRTC</translation>
+<translation id="201153120366509312">Si se permite esta política o no se define, se permitirá la recogida de métricas con clave de URL.
+Si se permite y el usuario habilita la recogida de métricas con clave de URL, esta función enviará las URLs de las páginas que el usuario visite a Google para mejorar las búsquedas y la navegación, junto con las estadísticas de uso por página.
+Las métricas con clave de URL también incluyen identificadores y estadísticas de uso de otros componentes del navegador que pueden modificar o proporcionar contenido, como las extensiones.
+
+Si no se permite esta política, los usuarios no podrán habilitar la recogida de métricas con clave de URL.</translation>
 <translation id="2012296492055302633">Habilitar siempre la pantalla de privacidad</translation>
 <translation id="2014757022750736514">Controla el comportamiento de la pantalla de inicio de sesión, donde los usuarios acceden a sus cuentas. Entre los ajustes se incluyen los siguientes: quién puede iniciar sesión, qué tipos de cuentas se permiten y qué métodos de autenticación se deben usar, así como ajustes de accesibilidad general, método de introducción y configuración regional.</translation>
 <translation id="201557587962247231">Frecuencia de subida de informes de estado del dispositivo</translation>
@@ -1329,6 +1334,15 @@
 <translation id="2223393221350938149">No permitir que JavaScript use JIT en ningún sitio</translation>
 <translation id="2223598546285729819">Configuración de notificación predeterminada</translation>
 <translation id="222673035924187991">Habilitar Encrypted ClientHello de TLS</translation>
+<translation id="222944823539535006">Esta política está obsoleta y se eliminará en la versión 130. Usa <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" /> en su lugar.
+
+Si se habilita esta política, siempre estará activa la recogida de datos anónima con clave de URL, que enviará las URLs de las páginas que el usuario visite a Google para mejorar las búsquedas y la navegación.
+
+Si se inhabilita esta política, no se activará la recogida de datos anónima con clave de URL.
+
+Si no se define la política, el usuario podrá cambiar este ajuste manualmente.
+
+En <ph name="PRODUCT_OS_NAME" /> Kiosk, esta política no ofrece la opción "Permitir que el usuario decida". Si no se define esta política para <ph name="PRODUCT_OS_NAME" /> Kiosk, la recogida de datos anónima con clave de URL siempre estará activa.</translation>
 <translation id="2231817271680715693">Importar el historial de navegación desde el navegador predeterminado en la primera ejecución</translation>
 <translation id="2231962946025538735">Esta política está obsoleta. Utiliza <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> para controlar la disponibilidad del complemento Flash y <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> para controlar si el visor de PDF integrado se debe usar para abrir archivos PDF.
 
@@ -4327,6 +4341,7 @@
 <translation id="5025239932007658691">Si se habilita la política o no se establece, <ph name="PRODUCT_NAME" /> enviará consultas ocasionales a un servidor de Google para obtener una marca de tiempo precisa.
 
       Si se inhabilita la política, <ph name="PRODUCT_NAME" /> no podrá enviar esas consultas.</translation>
+<translation id="5030415914668947893">Permitir la recogida de métricas con clave de URL</translation>
 <translation id="5033070732967197381">Permitir solicitudes de la API WebAuthn en sitios con certificados TLS rotos.</translation>
 <translation id="5034504101537897433">Habilitar los datos de informes sobre fallos del dispositivo</translation>
 <translation id="5036013147560568855">Versión del protocolo de aprovisionamiento de certificados. El valor predeterminado es 1. 1 es el protocolo estático. 2 es el protocolo dinámico.</translation>
@@ -5348,6 +5363,7 @@
 <translation id="603768430528561926">Si se habilita la política o no se establece, los usuarios de dispositivos empresariales podrán canjear ofertas mediante el registro de <ph name="PRODUCT_OS_NAME" />.
 
       Si se inhabilita la política, los usuarios no podrán canjear estas ofertas.</translation>
+<translation id="6042629184389251062">No se permite la recogida de métricas con clave de URL</translation>
 <translation id="6046615715547751255">No permitir los controles de informes granulares</translation>
 <translation id="6048199181629830227">Habilitar la gestión de energía Peak Shift</translation>
 <translation id="6048690591359317353">No permitir que el usuario desconecte o modifique manualmente una VPN</translation>
@@ -5867,6 +5883,7 @@
 <translation id="6462604655173570082">Si esta política se habilita o no se establece, los usuarios podrán ver y usar el botón <ph name="GOOGLE_LENS_PRODUCT_NAME" /> en el cuadro de búsqueda de la página Nueva pestaña. Si esta política se inhabilita, los usuarios no verán el botón <ph name="GOOGLE_LENS_PRODUCT_NAME" /> en el cuadro de búsqueda de la página Nueva pestaña.</translation>
 <translation id="6464074037294098618">Habilitar la función Autocompletar para direcciones</translation>
 <translation id="6467613372414922590">Permitir hosts de mensajería nativa en el nivel de usuario (instalados sin permisos de administrador)</translation>
+<translation id="6471018476824827813">Se permite la recogida de métricas con clave de URL</translation>
 <translation id="6473623140202114570">Configura la lista de dominios en los que la Navegación segura no activará advertencias.</translation>
 <translation id="6474194795370862403">Se usará el comportamiento anterior de offsetParent.</translation>
 <translation id="647645276885673708">Habilitar <ph name="LACROS_NAME" /> y convertirlo en el navegador principal</translation>
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index a7cff14..449adf7 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -1084,6 +1084,11 @@
 <translation id="2006530844219044261">Gestion de l'alimentation</translation>
 <translation id="2006954055163088863">Considérer l'utilisateur comme inactif pendant la lecture de la vidéo</translation>
 <translation id="2008514891623783266">La règle de gestion des adresses IP de WebRTC</translation>
+<translation id="201153120366509312">Si cette règle est définie sur "Autorisée" ou n'est pas configurée, la collecte de métriques incluant les URL est autorisée.
+Si la collecte de métriques incluant les URL est autorisée et activée par l'utilisateur, elle envoie à Google les URL des pages consultées par l'utilisateur afin d'améliorer la recherche et la navigation, ainsi que les statistiques d'utilisation par page.
+Les métriques incluant les URL comprennent également les identifiants et les statistiques d'utilisation d'autres composants du navigateur pouvant modifier ou fournir du contenu, comme les extensions.
+
+Si cette règle est définie sur "Non autorisée", les utilisateurs ne peuvent pas activer la collecte de métriques incluant les URL.</translation>
 <translation id="2012296492055302633">Toujours activer l'écran de confidentialité</translation>
 <translation id="2014757022750736514">Contrôle le comportement de l'écran de connexion, où les internautes se connectent à leur compte. Les paramètres incluent qui peut se connecter, quels types de comptes sont autorisés, quelles méthodes d'authentification doivent être utilisées, ainsi que l'accessibilité générale, le mode de saisie et les paramètres régionaux.</translation>
 <translation id="201557587962247231">Fréquence d'importation des rapports sur l'état de l'appareil</translation>
@@ -1331,6 +1336,15 @@
 <translation id="2223393221350938149">Interdire à tous les sites d'exécuter le JIT pour JavaScript</translation>
 <translation id="2223598546285729819">Paramètre de notification par défaut</translation>
 <translation id="222673035924187991">Activer TLS Encrypted ClientHello</translation>
+<translation id="222944823539535006">Cette règle est obsolète et sera supprimée dans le jalon 130. Veuillez utiliser <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" /> à la place.
+
+Si vous activez cette règle, la collecte de données anonymes incluant les URL, qui envoie à Google les URL des pages que l'utilisateur visite afin d'améliorer la recherche et la navigation, est toujours active.
+
+Si vous la désactivez, les données anonymes incluant les URL ne sont pas collectées.
+
+Si cette règle n'est pas configurée, l'utilisateur peut modifier ce paramètre manuellement.
+
+Dans <ph name="PRODUCT_OS_NAME" /> Kiosk, cette règle ne propose pas l'option "Laisser l'utilisateur décider". Si cette règle n'est pas configurée pour <ph name="PRODUCT_OS_NAME" /> Kiosk, la collecte de données anonymes incluant les URL est toujours active.</translation>
 <translation id="2231817271680715693">Importer l'historique de navigation du navigateur par défaut à la première exécution</translation>
 <translation id="2231962946025538735">Cette règle est obsolète. Veuillez utiliser la règle <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> pour contrôler la disponibilité du plug-in Flash et la règle <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> pour définir si la visionneuse de documents PDF intégrée doit être utilisée pour ouvrir les fichiers PDF.
 
@@ -2661,11 +2675,11 @@
 <translation id="3442589735857147823">Autoriser les utilisateurs à se servir des machines virtuelles nécessaires pour faire fonctionner les applis Linux</translation>
 <translation id="3445364060482221648">Si cette règle est activée, <ph name="PRODUCT_NAME" /> vérifie les certificats des serveurs à l'aide de l'outil de vérification intégré et utilise le Chrome Root Store comme source de confiance publique.
 
-Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> utilise l'outil de vérification des certificats du système et les certificats racines du système.
+Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> utilise l'outil de vérification des certificats du système et les certificats racine du système.
 
-Si cette règle n'est pas configurée, le Chrome Root Store ou les certificats racines du système peuvent être utilisés indifféremment.
+Si cette règle n'est pas configurée, le Chrome Root Store ou les certificats racine du système peuvent être utilisés indifféremment.
 
-Il est prévu que cette règle soit supprimée dans la version 120 de <ph name="PRODUCT_OS_NAME" /> et <ph name="PRODUCT_NAME" /> pour <ph name="LINUX_OS_NAME" /> et <ph name="ANDROID_NAME" />, car les certificats racines fournis par la plate-forme ne seront plus pris en charge.
+Il est prévu que cette règle soit supprimée dans la version 120 de <ph name="PRODUCT_OS_NAME" /> et <ph name="PRODUCT_NAME" /> pour <ph name="LINUX_OS_NAME" /> et <ph name="ANDROID_NAME" />, car les certificats racine fournis par la plate-forme ne seront plus pris en charge.
 
 Cette règle a été supprimée dans la version 113 de <ph name="PRODUCT_NAME" /> pour <ph name="MS_WIN_NAME" /> et <ph name="MAC_OS_NAME" />, car l'outil de vérification des certificats et les racines fournis par la plate-forme ne sont plus pris en charge.</translation>
 <translation id="3450649825886735618">Ne pas utiliser de services Web Google pour corriger les fautes d'orthographe</translation>
@@ -2683,7 +2697,7 @@
 Si cette règle est activée, <ph name="PRODUCT_NAME" /> effectue cette vérification.
 Cela aide à prévenir les attaques où un pirate informatique manipule le navigateur pour interpréter une clé d'une manière que le propriétaire du certificat n'avait pas prévue.
 
-Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> ignore cette vérification pour les connexions HTTPS qui à la fois négocient TLS 1.2 et utilisent un certificat RSA qui se lie à une ancre de confiance locale. Parmi les ancres de confiance locales figurent, par exemple, les certificats racines fournis par la règle ou installés par l'utilisateur. Dans tous les autres cas, la vérification est effectuée indépendamment du paramètre de cette règle.
+Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> ignore cette vérification pour les connexions HTTPS qui à la fois négocient TLS 1.2 et utilisent un certificat RSA qui se lie à une ancre de confiance locale. Parmi les ancres de confiance locales figurent, par exemple, les certificats racine fournis par la règle ou installés par l'utilisateur. Dans tous les autres cas, la vérification est effectuée indépendamment du paramètre de cette règle.
 
 Si la règle n'est pas configurée, <ph name="PRODUCT_NAME" /> se comporte comme si elle était désactivée.
 
@@ -4315,6 +4329,7 @@
 <translation id="5025239932007658691">Si cette règle est activée ou qu'elle n'est pas configurée, <ph name="PRODUCT_NAME" /> envoie des requêtes occasionnelles à un serveur Google pour récupérer un horodatage précis.
 
       Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> cesse d'envoyer ces requêtes.</translation>
+<translation id="5030415914668947893">Autoriser la collecte de métriques incluant les URL</translation>
 <translation id="5033070732967197381">Autoriser les requêtes API WebAuthn sur les sites avec des certificats TLS non fonctionnels.</translation>
 <translation id="5034504101537897433">Activer les rapports d'erreur de l'appareil</translation>
 <translation id="5036013147560568855">Version du protocole de provisionnement de certificat. La valeur par défaut est 1. 1 correspond au protocole "statique". 2 correspond au protocole "dynamique".</translation>
@@ -5335,6 +5350,7 @@
 <translation id="603768430528561926">Si cette règle est activée ou qu'elle n'est pas configurée, les utilisateurs d'appareils d'entreprise peuvent profiter d'offres via le service d'enregistrement <ph name="PRODUCT_OS_NAME" />.
 
       Si elle est désactivée, ils ne peuvent pas en bénéficier.</translation>
+<translation id="6042629184389251062">La collecte de métriques incluant les URL n'est pas autorisée</translation>
 <translation id="6046615715547751255">Ne pas autoriser les contrôles de rapports précis</translation>
 <translation id="6048199181629830227">Activer l'alimentation alternée en heures pleines</translation>
 <translation id="6048690591359317353">Ne pas autoriser l'utilisateur à déconnecter ni modifier manuellement un VPN</translation>
@@ -5836,6 +5852,7 @@
 <translation id="6462604655173570082">Si cette règle est activée ou qu'elle n'est pas configurée, les utilisateurs peuvent afficher et utiliser le bouton <ph name="GOOGLE_LENS_PRODUCT_NAME" /> dans le champ de recherche de la page "Nouvel onglet". Si cette règle est désactivée, les utilisateurs ne verront pas le bouton <ph name="GOOGLE_LENS_PRODUCT_NAME" /> dans ce champ de recherche.</translation>
 <translation id="6464074037294098618">Activer la saisie automatique pour les adresses</translation>
 <translation id="6467613372414922590">Autoriser les hôtes de messagerie natifs au niveau de l'utilisateur (installés sans l'autorisation d'un administrateur)</translation>
+<translation id="6471018476824827813">La collecte de métriques incluant les URL est autorisée</translation>
 <translation id="6473623140202114570">Configurez la liste des domaines sur lesquels la navigation sécurisée ne déclenchera aucun avertissement.</translation>
 <translation id="6474194795370862403">L'ancien comportement offsetParent sera utilisé.</translation>
 <translation id="647645276885673708">Activer <ph name="LACROS_NAME" /> et en faire le navigateur principal</translation>
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 7df9591..00977bb 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -2079,6 +2079,7 @@
       Questo criterio è stato rimosso in Chrome 99.
 
       Visita la pagina https://www.chromestatus.com/feature/4664843055398912.</translation>
+<translation id="2948720459196236547">Consenti la memorizzazione nella <ph name="BACK_FORWARD_CACHE_NAME" /> delle pagine con l'intestazione CCNS.</translation>
 <translation id="2952347049958405264">Limitazioni:</translation>
 <translation id="2957506574938329824">Non consentire ad alcun sito di richiedere l'accesso ai dispositivi Bluetooth tramite l'API Web Bluetooth</translation>
 <translation id="2957513448235202597">Tipo di account per l'autenticazione <ph name="HTTP_NEGOTIATE" /></translation>
@@ -2270,6 +2271,7 @@
 Nota: i metodi di richiesta <ph name="POST_LOWERCASE_METHOD_NAME" /> e <ph name="PUT_LOWERCASE_METHOD_NAME" /> non sono interessati, mentre <ph name="PATCH_LOWERCASE_METHOD_NAME" /> lo è.
 
 Questo criterio è stato pensato per essere temporaneo e verrà rimosso in futuro.</translation>
+<translation id="3107054704365085676">Consenti la memorizzazione nella <ph name="BACK_FORWARD_CACHE_NAME" /> delle pagine con l'intestazione <ph name="CACHE_CONTROL_NO_STORE_NAME" /></translation>
 <translation id="3110248563985502478">Questo criterio è deprecato in M88 e Flash non è più supportato da Chrome. Se il criterio viene impostato su Attivato, i plug-in obsoleti vengono utilizzati come normali plug-in. Se viene impostato su Disattivato, i plug-in obsoleti non vengono utilizzati.
 
       Se non viene configurato, agli utenti viene richiesta l'autorizzazione per eseguire i plug-in obsoleti.</translation>
@@ -4749,6 +4751,11 @@
           Se questo criterio viene impostato su Disattivato, la funzionalità viene disattivata forzatamente.
           </translation>
 <translation id="5435888298115339571">Attiva la condivisione desktop nel menu con tre puntini e in omnibox</translation>
+<translation id="5436664291450581091">Questo criterio consente di stabilire se una pagina con l'intestazione <ph name="CACHE_CONTROL_NO_STORE_NAME" /> (CCNS) può essere memorizzata o meno nella <ph name="BACK_FORWARD_CACHE_NAME" />. L'impostazione del sito web per questa intestazione potrebbe non prevedere il ripristino della pagina dalla <ph name="BACK_FORWARD_CACHE_NAME" /> perché alcune informazioni sensibili potrebbero essere ancora visualizzate dopo il ripristino, anche se non sono più accessibili.
+
+Se il criterio viene attivato o se non viene configurato, la pagina con l'intestazione CCNS potrebbe essere ripristinata dalla <ph name="BACK_FORWARD_CACHE_NAME" />, a meno che non venga attivata l'eliminazione della cache, ad esempio se al sito viene apportata una modifica ai cookie solo HTTP.
+
+Se il criterio viene disattivato, la pagina con l'intestazione CCNS non verrà memorizzata nella <ph name="BACK_FORWARD_CACHE_NAME" />.</translation>
 <translation id="5441508088704391614">Nessuna limitazione speciale (opzione predefinita).</translation>
 <translation id="5442026853063570579">Questa norma consente di controllare anche l'accesso alle Opzioni sviluppatore di Android. Se la norma viene impostata su "DeveloperToolsDisallowed" (valore 2), gli utenti non potranno accedere alle Opzioni sviluppatore. Se la norma viene impostata su un altro valore o non viene impostata, gli utenti potranno accedere alle Opzioni sviluppatore toccando sette volte il numero di build nell'app Impostazioni di Android.</translation>
 <translation id="5443582909255996887">Se il criterio viene impostato su Attivato, tutti i siti vengono isolati su Android, così che ogni sito venga eseguito nel proprio processo e la disattivazione da parte degli utenti viene impedita. Ogni sito è uno schema più eTLD+1 (ad es. https://example.com). Tieni presente che Android isola alcuni siti sensibili per impostazione predefinita a partire da <ph name="PRODUCT_NAME" /> 77 e il criterio estende questa modalità di isolamento dei siti predefinita affinché venga applicata a tutti i siti.
@@ -4849,6 +4856,7 @@
 <translation id="5503933085302625442">Non eseguire il rollback del sistema operativo alla versione target</translation>
 <translation id="55057839818162162">Consenti la ricerca tramite fotocamera con <ph name="GOOGLE_LENS_PRODUCT_NAME" /></translation>
 <translation id="55057971769693300">Disattiva l'evidenziazione del cursore</translation>
+<translation id="5507027524345233268">Non consentire la memorizzazione nella <ph name="BACK_FORWARD_CACHE_NAME" /> delle pagine con l'intestazione CCNS.</translation>
 <translation id="5508307164752647432">Attiva la funzionalità Kerberos</translation>
 <translation id="5511702823008968136">Attiva barra dei Preferiti</translation>
 <translation id="5512418063782665071">URL pagina iniziale</translation>
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index 3615d4aa..d5625e9 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -407,6 +407,7 @@
           このポリシーを未設定のままにした場合、ユーザーは <ph name="PRODUCT_NAME" /> にあらゆる拡張機能をインストールできます。</translation>
 <translation id="1393485621820363363">有効な企業デバイス プリンタ</translation>
 <translation id="1395505489889158859">ネイティブ プリンタへのユーザー名とファイル名の送信を有効にする</translation>
+<translation id="1395988776118675626">Kerberos の「パスワードを保存する」機能を有効にする</translation>
 <translation id="1396119629372155901">ThrottleDisplayNoneAndVisibilityHiddenCrossOriginiFrames 機能を無効にする</translation>
 <translation id="1397855852561539316">デフォルト検索プロバイダ サジェスト URL</translation>
 <translation id="1402227992519954892">デバイスのアプリ情報レポートを有効にする</translation>
@@ -671,6 +672,7 @@
       このポリシーを未設定のままにした場合、<ph name="PRODUCT_OS_NAME" /> の機能はすべてデフォルトで有効になり、ユーザーは自由に使用できます。
 
       注: 現在、スキャン機能は機能フラグによりデフォルトで無効になっています。ユーザーが機能フラグでこの機能を有効にしても、このポリシーにより引き続き無効になる可能性があります。</translation>
+<translation id="1643642938972654829">ポリシーテストのページへのアクセスを許可する</translation>
 <translation id="1645793986494086629">スキーマ:</translation>
 <translation id="1647558381546345298">このポリシーを設定した場合、<ph name="PRODUCT_NAME" /> では、ユーザーが「--media-cache-size」フラグを指定しているかどうかにかかわらず、キャッシュされたメディア ファイルをディスクに保存する際のキャッシュ サイズが設定されます。このポリシーで指定される値は、絶対的な制限値ではなく、キャッシュ システムに対する推奨値になります。数メガバイト以下の値は四捨五入されます。
 
@@ -1152,6 +1154,11 @@
 <translation id="2096932573113293941">承認を必要とするプラグインの実行許可をユーザーに求める</translation>
 <translation id="2098658257603918882">使用状況とクラッシュ関連データのレポートを有効にする</translation>
 <translation id="2099380339157427935">トレイにログアウト ボタンを表示しない</translation>
+<translation id="2100630160869631650">入力済みの Kerberos アカウントを追加します。Kerberos 認証情報とログイン認証情報が一致している場合、アカウントでログイン認証情報を再使用するように設定できます。手順は、「<ph name="LOGIN_EMAIL_PLACEHOLDER" />」と「<ph name="PASSWORD_PLACEHOLDER" />」でプリンシパルとパスワードをそれぞれ指定します。これにより、2 段階認証プロセスが設定されている場合以外は Kerberos チケットを自動的に取得できます。ユーザーは、このポリシーで追加されたアカウントを変更できません。
+
+          このポリシーを有効に設定した場合は、ポリシーで定義されたアカウントのリストが Kerberos アカウント設定に追加されます。
+
+          このポリシーを無効または未設定のままにした場合、アカウントは Kerberos アカウント設定に追加されず、以前にこのポリシーで追加されたアカウントもすべて削除されます。「ユーザーに Kerberos アカウントの追加を許可する」ポリシーが有効であれば、ユーザーは手動でアカウントを追加できます。</translation>
 <translation id="2104418465060359056">拡張機能とプラグインの情報についてレポートを作成する</translation>
 <translation id="2106627642643925514">デフォルトの PIN 印刷モードをオーバーライドします。このモードを使用できない場合、このポリシーは無視されます。</translation>
 <translation id="2107563874993284076">このポリシーを有効に設定した場合、ユーザーは <ph name="PRODUCT_NAME" /> でネットワーク ファイル共有を使用できます。このポリシーを無効に設定した場合、ユーザーはこの機能を使用できません。</translation>
@@ -2777,6 +2784,7 @@
       true に設定した場合、ディスプレイ サイズ設定画面が表示されます。</translation>
 <translation id="3622463490728773174">新しい実装を許可する</translation>
 <translation id="3623332696371971798">カスタマイズ アプリから Google フォトへのアクセスをブロックする</translation>
+<translation id="3625900437628963632">このポリシーの項目で設定された Kerberos パスワードの値を保存するかどうかを指定します。未設定か true に設定した場合、パスワードは保存されます。false に設定した場合、パスワードは保存されません。このアカウントのパスワード フィールドが指定されていない場合は無視されます。このフィールドは、ChromeOS バージョン 116 以降でサポートされます。</translation>
 <translation id="3627678165642179114">スペルチェック ウェブ サービスを有効または無効にする</translation>
 <translation id="3628480121685794414">片面印刷を有効にする</translation>
 <translation id="3634117682099473917">希望の DNS-over-HTTPS リゾルバの URI テンプレートを指定します。複数の DNS-over-HTTPS リゾルバを指定するには、対応する URI テンプレートをスペースで区切ります。このポリシーを設定した場合は、よく似ている <ph name="DOH_TEMPLATES_POLICY_NAME" /> より優先されます。このポリシーでは ID 情報を指定できる点が異なります。
@@ -4592,6 +4600,7 @@
 <translation id="5460797984317417682">全画面表示の警告を有効にする</translation>
 <translation id="5464816904705580310">管理対象ユーザーの設定を行います。</translation>
 <translation id="5466596281866046569">アプリ情報を報告する</translation>
+<translation id="5467175549232776406">ポリシーテストのページへのアクセスを許可する</translation>
 <translation id="546726650689747237">画面が暗くなるまでの時間(AC 電源での実行時)</translation>
 <translation id="546830339470589966">新しい Kerberos チケットのドメインをオートコンプリートする</translation>
 <translation id="5469143988693423708">ユーザーは Crostini を実行できます</translation>
@@ -6965,6 +6974,7 @@
       サイトの URL がこのポリシーで指定した URL パターンと一致した場合、<ph name="WINDOW_CAPTURE_ALLOWED_BY_ORIGINS_POLICY_NAME" />、<ph name="SCREEN_CAPTURE_ALLOWED_BY_ORIGINS_POLICY_NAME" />、<ph name="SCREEN_CAPTURE_ALLOWED_POLICY_NAME" /> のポリシーは無視されます。
 
       有効な <ph name="URL_LABEL" /> パターンについて詳しくは、https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns をご覧ください。  このポリシーでは、オリジンのみが照合されるため、URL パターンのパスは無視されます。</translation>
+<translation id="77675082813227181">ポリシーテストのページへのアクセスをブロックする</translation>
 <translation id="7771298620150437359">使用言語の内容と順序を設定する</translation>
 <translation id="7773790010815041731">Chrome アプリは、<ph name="MS_WIN_NAME" />、<ph name="MAC_OS_NAME" />、<ph name="LINUX_OS_NAME" /> でのサポートが終了しています。
       このポリシーを有効に設定した場合、2022 年 6 月にすべてのプラットフォームで Chrome アプリのサポートが廃止される日まで、これらのプラットフォームでは引き続き <ph name="PRODUCT_NAME" /> で Chrome アプリを実行できます。
@@ -7425,6 +7435,12 @@
 <ph name="PRIVACY_SANDBOX_AD_TOPICS_ENABLED_POLICY_NAME" />
 <ph name="PRIVACY_SANDBOX_SITE_ENABLED_ADS_ENABLED_POLICY_NAME" />
 <ph name="PRIVACY_SANDBOX_AD_MEASUREMENT_ENABLED_POLICY_NAME" /></translation>
+<translation id="826163650738550159">このポリシーでは、ポリシーテストのページへのアクセスを許可します。
+このページでポリシーをテストしている間、他のポリシーはすべて無視されます。
+この機能は Canary チャンネルでのみ使用できます。
+
+ポリシーを有効に設定するか未設定のままにした場合は、このページにアクセスできます。
+ポリシーを無効に設定した場合、このページはブロックされます。</translation>
 <translation id="8266778278542911985">このポリシーを 3 に設定した場合、ウェブサイトによるシリアルポートへのアクセス要求が許可されます。このポリシーを 2 に設定した場合、シリアルポートへのアクセスは拒否されます。
 
       このポリシーを未設定のままにした場合、ウェブサイトによるアクセス要求は許可されますが、ユーザーはこの設定を変更できます。</translation>
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 0cd3bb7..90b0b48 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -2082,6 +2082,7 @@
 Dit beleid is verwijderd in Chrome 99.
 
 Zie https://www.chromestatus.com/feature/4664843055398912.</translation>
+<translation id="2948720459196236547">Toestaan dat pagina's met een CCNS-koptekst worden opgeslagen in <ph name="BACK_FORWARD_CACHE_NAME" />.</translation>
 <translation id="2952347049958405264">Beperkingen:</translation>
 <translation id="2957506574938329824">Niet toestaan dat sites toegang tot Bluetooth-apparaten vragen via de Web Bluetooth API</translation>
 <translation id="2957513448235202597">Accounttype voor <ph name="HTTP_NEGOTIATE" />-verificatie</translation>
@@ -2272,6 +2273,7 @@
 Opmerking: Dit is niet van invloed op de verzoekmethoden <ph name="POST_LOWERCASE_METHOD_NAME" /> en <ph name="PUT_LOWERCASE_METHOD_NAME" />, maar wel op <ph name="PATCH_LOWERCASE_METHOD_NAME" />.
 
 Dit beleid is tijdelijk en wordt in de toekomst verwijderd.</translation>
+<translation id="3107054704365085676">Toestaan dat pagina's met de koptekst <ph name="CACHE_CONTROL_NO_STORE_NAME" /> worden opgeslagen in <ph name="BACK_FORWARD_CACHE_NAME" /></translation>
 <translation id="3110248563985502478">Dit beleid is beëindigd in M88. Flash wordt niet meer ondersteund door Chrome. Als je het beleid toepast, worden verouderde plug-ins gebruikt als normale plug-ins. Als je het beleid niet toepast, worden verouderde plug-ins niet gebruikt.
 
       Als je het beleid niet instelt, wordt de gebruikers toestemming gevraagd om verouderde plug-ins uit te voeren.</translation>
@@ -4717,6 +4719,11 @@
 
           Als je dit beleid niet toepast, wordt de functie verplicht uitgezet.</translation>
 <translation id="5435888298115339571">Delen van bureaublad aanzetten in de omnibox en het menu met 3 stippen</translation>
+<translation id="5436664291450581091">Dit beleid bepaalt of een pagina met de koptekst <ph name="CACHE_CONTROL_NO_STORE_NAME" /> (CCNS) kan worden opgeslagen in <ph name="BACK_FORWARD_CACHE_NAME" />. De website die deze koptekst instelt, verwacht misschien niet dat de pagina wordt hersteld vanuit <ph name="BACK_FORWARD_CACHE_NAME" />, omdat bepaalde gevoelige informatie na het herstel mogelijk nog steeds wordt getoond, ook als deze niet meer toegankelijk is.
+
+Als je het beleid toepast of niet instelt, kan de pagina met de CCNS-koptekst worden hersteld vanuit <ph name="BACK_FORWARD_CACHE_NAME" />, tenzij verwijdering uit het cachegeheugen wordt geactiveerd (bijvoorbeeld als er een cookiewijziging met alleen HTTP op de site is).
+
+Als je het beleid niet toepast, wordt de pagina met CCNS-koptekst niet opgeslagen in <ph name="BACK_FORWARD_CACHE_NAME" />.</translation>
 <translation id="5441508088704391614">Geen speciale beperkingen. Standaard.</translation>
 <translation id="5442026853063570579">Met dit beleid wordt ook de toegang tot de ontwikkelaarsopties van Android beheerd. Als je dit beleid instelt op 'DeveloperToolsDisallowed' (waarde 2), hebben gebruikers geen toegang tot ontwikkelaarsopties. Als je dit beleid instelt op een andere waarde of niet instelt, hebben gebruikers toegang tot ontwikkelaarsopties door zeven keer op het buildnummer te tikken in de app Instellingen van Android.</translation>
 <translation id="5443582909255996887">Als je dit beleid toepast, worden alle sites op Android geïsoleerd, zodat elke site zijn eigen proces uitvoert, en kunnen gebruikers kunnen deze functie niet uitzetten. Een site is een schema plus eTLD+1 (bijvoorbeeld https://example.com). Android isoleert bepaalde gevoelige sites standaard vanaf versie 77 van <ph name="PRODUCT_NAME" />. Dit beleid breidt die standaard site-isolatiemodus uit naar alle sites.
@@ -4818,6 +4825,7 @@
 <translation id="5503933085302625442">De doelversie van het OS niet herstellen</translation>
 <translation id="55057839818162162">Door de camera ondersteund zoeken via <ph name="GOOGLE_LENS_PRODUCT_NAME" /> toestaan</translation>
 <translation id="55057971769693300">Inlastekenmarkering uitzetten</translation>
+<translation id="5507027524345233268">Niet toestaan dat pagina's met een CCNS-koptekst worden opgeslagen in <ph name="BACK_FORWARD_CACHE_NAME" />.</translation>
 <translation id="5508307164752647432">Kerberos-functionaliteit aanzetten</translation>
 <translation id="5511702823008968136">Bookmarkbalk aanzetten</translation>
 <translation id="5512418063782665071">URL van homepage</translation>
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index 29439d69..e54c56f 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -1078,6 +1078,11 @@
 <translation id="2006530844219044261">Управление питанием</translation>
 <translation id="2006954055163088863">Считать воспроизведение видео бездействием</translation>
 <translation id="2008514891623783266">Правила обработки IP-адресов в WebRTC</translation>
+<translation id="201153120366509312">Если это правило не настроено или для него установлено значение Allowed, сбор показателей URL разрешен.
+Если указано значение Allowed и пользователь включил такой сбор, статистика использования посещенных им страниц и их URL отправляются в Google для улучшения поиска и повышения удобства работы в браузере.
+К показателям URL также относятся идентификаторы и статистика использования расширений и других компонентов браузера, которые могут изменять или предоставлять контент.
+
+Если для правила установлено значение Disallowed, пользователи не могут включать сбор показателей URL.</translation>
 <translation id="2012296492055302633">Всегда включать экран конфиденциальности</translation>
 <translation id="2014757022750736514">Определяет настройки страницы входа в аккаунт, такие как список пользователей, которые могут войти, разрешенные типы аккаунтов, допустимые способы аутентификации, а также общие настройки специальных возможностей, языка и способов ввода.</translation>
 <translation id="201557587962247231">Частота загрузки отчетов об устройствах</translation>
@@ -1320,6 +1325,15 @@
 <translation id="2223393221350938149">Запретить использование JIT-компилятора JavaScript на всех сайтах</translation>
 <translation id="2223598546285729819">Настройка уведомлений по умолчанию</translation>
 <translation id="222673035924187991">Включение Encrypted ClientHello для TLS</translation>
+<translation id="222944823539535006">Это правило больше не поддерживается и будет удалено в версии 130. Вместо него используйте <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" />.
+
+Если правило включено, анонимный сбор данных о URL выполняется всегда: URL страниц, которые посещает пользователь, отправляются в Google для улучшения поиска и повышения удобства работы в браузере.
+
+При отключенном правиле эта информация не собирается.
+
+Если правило не настроено, пользователь может разрешить или запретить анонимный сбор данных о URL.
+
+Для устройств <ph name="PRODUCT_OS_NAME" /> в режиме киоска нет варианта "Предоставить выбор пользователю". Если правило не настроено для <ph name="PRODUCT_OS_NAME" /> в режиме киоска, анонимный сбор данных о URL выполняется всегда.</translation>
 <translation id="2231817271680715693">Импорт истории просмотров из браузера, используемого по умолчанию, при первом запуске</translation>
 <translation id="2231962946025538735">Правило устарело. Используйте вместо него <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> для управления доступностью Flash-плагина и <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> для настройки встроенного средства просмотра PDF-файлов.
 
@@ -4295,6 +4309,7 @@
 <translation id="5025239932007658691">Если правило включено или не настроено, <ph name="PRODUCT_NAME" /> периодически отправляет запросы на сервер Google для получения точных временных меток.
 
       Если правило отключено, <ph name="PRODUCT_NAME" /> не отправляет эти запросы.</translation>
+<translation id="5030415914668947893">Разрешить сбор показателей URL</translation>
 <translation id="5033070732967197381">Разрешать запросы к WebAuthn API на сайтах с ненадежными TLS-сертификатами</translation>
 <translation id="5034504101537897433">Включить отправку данных о сбоях устройства</translation>
 <translation id="5036013147560568855">Версия протокола для регистрации сертификатов. Значение по умолчанию – 1. 1 – статический протокол. 2 – динамический протокол.</translation>
@@ -5311,6 +5326,7 @@
 <translation id="603768430528561926">Если правило включено или не настроено, пользователи корпоративных устройств могут использовать специальные приложения, регистрируя <ph name="PRODUCT_OS_NAME" />.
 
       Если правило отключено, использовать предложения нельзя.</translation>
+<translation id="6042629184389251062">Сбор показателей URL запрещен</translation>
 <translation id="6046615715547751255">Запретить элементы управления для отчетов с высокой детализацией</translation>
 <translation id="6048199181629830227">Включить управление режимом пиковой нагрузки</translation>
 <translation id="6048690591359317353">Запретить пользователю вручную отключать или изменять VPN-подключения</translation>
@@ -5827,6 +5843,7 @@
 <translation id="6462604655173570082">Если правило включено или не настроено, пользователи смогут видеть и нажимать кнопку "<ph name="GOOGLE_LENS_PRODUCT_NAME" />" в окне поиска на странице быстрого доступа. Если правило отключено, кнопка "<ph name="GOOGLE_LENS_PRODUCT_NAME" />" не будет показываться в окне поиска на странице быстрого доступа.</translation>
 <translation id="6464074037294098618">Включить автозаполнение адресов</translation>
 <translation id="6467613372414922590">Разрешить установку хостов обмена сообщениями с оригинальными приложениями на уровне пользователей (без разрешения администратора)</translation>
+<translation id="6471018476824827813">Сбор показателей URL разрешен</translation>
 <translation id="6473623140202114570">Настроить список доменов, в которых Безопасный просмотр не будет показывать уведомления об угрозах.</translation>
 <translation id="6474194795370862403">Будет использоваться старое поведение свойства offsetParent</translation>
 <translation id="647645276885673708">Включить браузер <ph name="LACROS_NAME" /> и сделать его основным</translation>
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index a6d02b2..4d8297f7 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -1080,6 +1080,11 @@
 <translation id="2006530844219044261">การจัดการพลังงาน</translation>
 <translation id="2006954055163088863">ถือว่าผู้ใช้ไม่มีการใช้งานขณะเล่นวิดีโอ</translation>
 <translation id="2008514891623783266">นโยบายการจัดการ IP ของ WebRTC</translation>
+<translation id="201153120366509312">หากตั้งค่านโยบายนี้เป็น "อนุญาต" หรือไม่ได้ตั้งค่า ระบบจะอนุญาตการรวบรวมเมตริกซึ่งผูกกับ URL
+หากผู้ใช้อนุญาตและเปิดใช้การรวบรวมเมตริกซึ่งผูกกับ URL เอาไว้ ข้อมูลนี้จะส่ง URL ของหน้าเว็บที่ผู้ใช้เข้าชม รวมถึงสถิติการใช้งานแต่ละหน้าไปยัง Google เพื่อช่วยให้การค้นหาและการท่องเว็บดีขึ้น
+นอกจากนี้ เมตริกซึ่งผูกกับ URL ยังรวมถึงตัวระบุและสถิติการใช้งานคอมโพเนนต์อื่นๆ ในเบราว์เซอร์ที่สามารถแก้ไขหรือแสดงเนื้อหาได้อย่างเช่นส่วนขยายต่างๆ
+
+หากตั้งค่านโยบายนี้เป็น "ไม่อนุญาต" ผู้ใช้จะเปิดใช้การรวบรวมเมตริกซึ่งผูกกับ URL ไม่ได้</translation>
 <translation id="2012296492055302633">เปิดใช้หน้าจอความเป็นส่วนตัวเสมอ</translation>
 <translation id="2014757022750736514">ควบคุมลักษณะการทำงานของหน้าจอลงชื่อเข้าใช้ที่ผู้ใช้ลงชื่อเข้าสู่ระบบบัญชี การตั้งค่ารวมไปถึงผู้ที่ลงชื่อเข้าสู่ระบบได้ ประเภทบัญชีที่อนุญาต วิธีการตรวจสอบสิทธิ์ที่ควรใช้ ตลอดจนการช่วยเหลือพิเศษทั่วไป วิธีการป้อนข้อมูล และการตั้งค่าภาษา</translation>
 <translation id="201557587962247231">ความถี่ในการอัปโหลดรายงานสถานะของอุปกรณ์</translation>
@@ -1327,6 +1332,15 @@
 <translation id="2223393221350938149">ไม่อนุญาตให้เว็บไซต์เรียกใช้ JIT ใน JavaScript</translation>
 <translation id="2223598546285729819">การตั้งค่าการแจ้งเตือนเริ่มต้น</translation>
 <translation id="222673035924187991">เปิดใช้ ClientHello ที่เข้ารหัสตาม TLS</translation>
+<translation id="222944823539535006">เราเลิกใช้งานนโยบายนี้แล้วและจะนำออกในเวอร์ชัน 130 โปรดใช้ <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" /> แทน
+
+การตั้งค่านโยบายเป็น "เปิดใช้" จะทำให้มีการรวบรวมข้อมูลที่ไม่ระบุตัวบุคคลซึ่งผูกกับ URL อยู่เสมอ ข้อมูลนี้จะส่ง URL ของหน้าเว็บที่ผู้ใช้เข้าชมไปยัง Google เพื่อช่วยให้การค้นหาและการท่องเว็บดีขึ้น
+
+การตั้งค่านโยบายเป็น "ปิดใช้" จะทำให้ไม่มีการรวบรวมข้อมูลที่ไม่ระบุตัวบุคคลซึ่งผูกกับ URL
+
+หากไม่ได้ตั้งค่านโยบายนี้ ผู้ใช้จะเปลี่ยนการตั้งค่านี้ด้วยตนเองได้
+
+ในคีออสก์ของ <ph name="PRODUCT_OS_NAME" /> นโยบายนี้จะไม่มีตัวเลือก "อนุญาตให้ผู้ใช้ตัดสินใจ" หากไม่ได้ตั้งค่านโยบายนี้ให้กับคีออสก์ของ <ph name="PRODUCT_OS_NAME" /> การรวบรวมข้อมูลที่ไม่ระบุตัวบุคคลซึ่งผูกกับ URL จะทำงานอยู่เสมอ</translation>
 <translation id="2231817271680715693">นำเข้าประวัติการเรียกดูจากเบราว์เซอร์เริ่มต้นในการเรียกใช้งานครั้งแรก</translation>
 <translation id="2231962946025538735">นโยบายนี้เลิกใช้งานแล้ว โปรดใช้ <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> เพื่อควบคุมความพร้อมใช้งานของปลั๊กอิน Flash และใช้ <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> เพื่อควบคุมว่าควรใช้โปรแกรมดู PDF ที่ผสานรวมในการเปิดไฟล์ PDF หรือไม่
 
@@ -4306,6 +4320,7 @@
 <translation id="5025239932007658691">การตั้งค่านโยบายเป็น "เปิดใช้" หรือไม่ได้ตั้งค่าจะทำให้ <ph name="PRODUCT_NAME" /> ส่งการค้นหาไปยังเซิร์ฟเวอร์ของ Google เป็นครั้งคราวเพื่อเรียกการประทับเวลาที่ถูกต้อง
 
       การตั้งค่านโยบายเป็น "ปิดใช้" จะหยุด <ph name="PRODUCT_NAME" /> ไม่ให้ส่งการค้นหาเหล่านี้</translation>
+<translation id="5030415914668947893">อนุญาตการรวบรวมเมตริกซึ่งผูกกับ URL</translation>
 <translation id="5033070732967197381">อนุญาตคำขอ WebAuthn API ในเว็บไซต์ที่มีใบรับรอง TLS ไม่ถูกต้อง</translation>
 <translation id="5034504101537897433">เปิดใช้การรายงานรายละเอียดข้อขัดข้องของอุปกรณ์</translation>
 <translation id="5036013147560568855">เวอร์ชันของโปรโตคอลการจัดสรรใบรับรอง ค่าเริ่มต้นคือ 1 1 คือโปรโตคอล "คงที่" 2 คือโปรโตคอล "ไดนามิก"</translation>
@@ -5310,6 +5325,7 @@
 <translation id="603768430528561926">การตั้งค่านโยบายเป็น "เปิดใช้" หรือไม่ได้ตั้งค่าจะทำให้ผู้ใช้อุปกรณ์ระดับองค์กรแลกรับข้อเสนอผ่านการลงทะเบียน <ph name="PRODUCT_OS_NAME" /> ได้
 
       การตั้งค่านโยบายเป็น "ปิดใช้" หมายความว่าผู้ใช้จะแลกข้อรับเสนอเหล่านี้ไม่ได้</translation>
+<translation id="6042629184389251062">ไม่อนุญาตการรวบรวมเมตริกซึ่งผูกกับ URL</translation>
 <translation id="6046615715547751255">ไม่อนุญาตการควบคุมการรายงานแบบละเอียด</translation>
 <translation id="6048199181629830227">เปิดใช้การจัดการการใช้ไฟจากแบตเตอรี่</translation>
 <translation id="6048690591359317353">ไม่อนุญาตให้ผู้ใช้ยกเลิกการเชื่อมต่อหรือแก้ไข VPN ด้วยตนเอง</translation>
@@ -5813,6 +5829,7 @@
 <translation id="6462604655173570082">การไม่ตั้งค่านโยบายหรือตั้งค่าเป็น "เปิดใช้" จะอนุญาตให้ผู้ใช้ดูและใช้ปุ่ม <ph name="GOOGLE_LENS_PRODUCT_NAME" /> ในช่องค้นหาบนหน้าแท็บใหม่ การตั้งค่านโยบายเป็น "ปิดใช้" จะทำให้ผู้ใช้ไม่เห็นปุ่ม <ph name="GOOGLE_LENS_PRODUCT_NAME" /> ในช่องค้นหาบนหน้าแท็บใหม่</translation>
 <translation id="6464074037294098618">เปิดใช้ฟีเจอร์ป้อนข้อความอัตโนมัติสำหรับที่อยู่</translation>
 <translation id="6467613372414922590">อนุญาตให้ใช้โฮสต์การรับส่งข้อความดั้งเดิมระดับผู้ใช้ (ติดตั้งโดยไม่มีสิทธิ์ของผู้ดูแลระบบ)</translation>
+<translation id="6471018476824827813">อนุญาตการรวบรวมเมตริกซึ่งผูกกับ URL</translation>
 <translation id="6473623140202114570">กำหนดค่ารายการโดเมนที่ Safe Browsing จะไม่เรียกให้คำเตือนแสดง</translation>
 <translation id="6474194795370862403">ระบบจะใช้ลักษณะการทํางานแบบเก่าของ offsetParent</translation>
 <translation id="647645276885673708">เปิดใช้ <ph name="LACROS_NAME" /> และกำหนดให้เป็นเบราว์เซอร์หลัก</translation>
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index d8c23a7e..385d04d4 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -1082,6 +1082,11 @@
 <translation id="2006530844219044261">Керування живленням</translation>
 <translation id="2006954055163088863">Вважати відтворення відео бездіяльністю</translation>
 <translation id="2008514891623783266">Правило WebRTC щодо обробки IP-адрес</translation>
+<translation id="201153120366509312">Якщо це правило ввімкнути або не налаштувати, збирання показників за допомогою URL-адрес буде дозволено.
+Якщо користувач увімкне цю функцію, вона надсилатиме в Google URL-адреси відвіданих користувачем сторінок, щоб зробити пошук і перегляд контенту зручнішим, а також створювати статистику використання для кожної сторінки.
+Показники, зібрані за допомогою URL-адрес, також містять ідентифікатори й статистику використання інших компонентів веб-переглядача, які можуть редагувати або надавати контент (наприклад, розширення).
+
+Якщо це правило вимкнути, користувачі не зможуть увімкнути збирання показників за допомогою URL-адрес.</translation>
 <translation id="2012296492055302633">Завжди використовувати функцію "Екран конфіденційності"</translation>
 <translation id="2014757022750736514">Керує поведінкою екрана входу, де користувачі входять в облікові записи. Ці налаштування визначають, хто може входити, які типи облікових записів дозволено, які способи автентифікації потрібно використовувати, а також загальні параметри спеціальних можливостей, методу введення та мовного коду.</translation>
 <translation id="201557587962247231">Частота завантаження звіту про статус пристрою</translation>
@@ -1329,6 +1334,15 @@
 <translation id="2223393221350938149">Заборонити всім сайтам запускати JIT-компілятор JavaScript</translation>
 <translation id="2223598546285729819">Налаштування сповіщень за умовчанням</translation>
 <translation id="222673035924187991">Увімкнути розширення Encrypted ClientHello для TLS</translation>
+<translation id="222944823539535006">Це правило більше не підтримується й буде вилучено у версії 130. Натомість скористайтеся правилом <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" />.
+
+Якщо ввімкнути це правило, завжди збиратимуться анонімні дані за допомогою URL-адрес (адреси відвіданих сторінок надсилатимуться до Google, щоб покращити пошук і веб-перегляд).
+
+Якщо вимкнути це правило, такі дані не збиратимуться.
+
+Якщо правило не налаштувати, користувач зможе змінити цей параметр вручну.
+
+У терміналі <ph name="PRODUCT_OS_NAME" /> це правило не включає опцію "Дозволити користувачу вирішувати". Якщо не налаштувати це правило для термінала <ph name="PRODUCT_OS_NAME" />, збір анонімних даних за допомогою URL-адрес завжди буде ввімкнено.</translation>
 <translation id="2231817271680715693">Імпорт історії веб-перегляду з веб-переглядача за умовчанням під час першого запуску</translation>
 <translation id="2231962946025538735">Це правило не підтримується. Натомість використовуйте правило <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" />, щоб контролювати доступність плагіна Flash, і правило <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" />, щоб указувати, чи файли PDF відкриватимуться за допомогою інтегрованого засобу перегляду PDF.
 
@@ -4333,6 +4347,7 @@
 <translation id="5025239932007658691">Якщо це правило ввімкнено або не налаштовано, <ph name="PRODUCT_NAME" /> час від часу надсилатиме на сервер Google запити, щоб отримати точну позначку часу.
 
       Якщо це правило вимкнено, <ph name="PRODUCT_NAME" /> не надсилатиме таких запитів.</translation>
+<translation id="5030415914668947893">Дозволити збирання показників за допомогою URL-адрес</translation>
 <translation id="5033070732967197381">Дозволити запити до WebAuthn API на сайтах, які мають пошкоджені сертифікати TLS.</translation>
 <translation id="5034504101537897433">Увімкнути звіти про збої в роботі пристрою</translation>
 <translation id="5036013147560568855">Версія протоколу надання сертифікатів. Значення за умовчанням – 1. Значення 1 – це статичний протокол, тоді як 2 – динамічний.</translation>
@@ -5350,6 +5365,7 @@
 <translation id="603768430528561926">Якщо це правило ввімкнено або не налаштовано, користувачі пристроїв організації зможуть активувати пропозиції, реєструючи <ph name="PRODUCT_OS_NAME" />.
 
       Якщо це правило вимкнено, користувачі не зможуть активувати такі пропозиції.</translation>
+<translation id="6042629184389251062">Збирання показників за допомогою URL-адрес заборонено</translation>
 <translation id="6046615715547751255">Заборонити елементи керування докладними звітами</translation>
 <translation id="6048199181629830227">Увімкнути керування живленням під час максимального навантаження</translation>
 <translation id="6048690591359317353">Заборонити користувачу вручну відключати та змінювати мережу VPN</translation>
@@ -5865,6 +5881,7 @@
 <translation id="6462604655173570082">Якщо це правило не налаштувати або ввімкнути, користувачі зможуть бачити й використовувати кнопку сервісу <ph name="GOOGLE_LENS_PRODUCT_NAME" /> у полі пошуку на сторінці нової вкладки. Якщо правило вимкнути, користувачі не бачитимуть кнопку сервісу <ph name="GOOGLE_LENS_PRODUCT_NAME" />.</translation>
 <translation id="6464074037294098618">Увімкнути функцію автозаповнення адрес</translation>
 <translation id="6467613372414922590">Дозволити хости на рівні користувача для обміну повідомленнями з оригінальними додатками (установлені без дозволів адміністратора)</translation>
+<translation id="6471018476824827813">Збирання показників за допомогою URL-адрес дозволено</translation>
 <translation id="6473623140202114570">Налаштувати список доменів, у яких Безпечний перегляд не показуватиме застережень.</translation>
 <translation id="6474194795370862403">Застосовуватиметься стара поведінка offsetParent.</translation>
 <translation id="647645276885673708">Увімкнути <ph name="LACROS_NAME" /> і зробити його основним веб-переглядачем</translation>
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index 9a5f409..43a8899 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -682,7 +682,7 @@
       如果您未设置此政策,所有 <ph name="PRODUCT_OS_NAME" />功能都将默认处于启用状态,而且用户可以使用其中的任一功能。
 
       注意:目前,扫描功能的默认状态是已通过功能标志停用。即便用户通过功能标志启用了该功能,它仍能被此政策停用。</translation>
-<translation id="1643642938972654829">允许访问策略测试页面</translation>
+<translation id="1643642938972654829">允许访问政策测试页面</translation>
 <translation id="1645793986494086629">架构:</translation>
 <translation id="1647558381546345298">通过设置此政策,您可以配置 <ph name="PRODUCT_NAME" /> 在磁盘上存储缓存媒体文件时使用的缓存大小;无论用户是否指定了 --media-cache-size 标记,Google Chrome 都会使用您在此政策中设定的缓存大小。此政策所指定的值并非硬性限值,而是针对缓存系统提出的建议值。任何低于几兆字节的值都会被向上舍入。
 
@@ -1074,6 +1074,11 @@
 <translation id="2006530844219044261">电源管理</translation>
 <translation id="2006954055163088863">视频播放时将用户视为空闲</translation>
 <translation id="2008514891623783266">WebRTC 的 IP 处理政策</translation>
+<translation id="201153120366509312">如果此政策设为允许或未设置,用户将能启用以网址为键的指标收集功能。
+如果此政策设为允许,且用户已启用以网址为键的指标收集功能,该功能就会将用户访问的网页网址发送给 Google 以用于改善搜索和浏览体验,同时也会发送每个网页的使用情况统计信息。
+以网址为键的指标还包括其他可修改/提供内容的浏览器组件(例如扩展程序)的标识符和使用情况统计信息。
+
+如果此政策设为禁止,用户将无法启用以网址为键的指标收集功能。</translation>
 <translation id="2012296492055302633">始终启用隐私保护屏幕</translation>
 <translation id="2014757022750736514">控制登录屏幕(用户会从这里登录帐号)的行为。设置包括:谁可以登录、允许使用什么类型的帐号、应该使用什么样的身份验证方法,以及常规的无障碍设置、输入法设置和语言区域设置。</translation>
 <translation id="201557587962247231">设备状态报告的上传频率</translation>
@@ -1175,11 +1180,11 @@
 <translation id="2096932573113293941">请求用户许可运行需要授权的插件</translation>
 <translation id="2098658257603918882">启用关于使用情况和崩溃相关数据的报告</translation>
 <translation id="2099380339157427935">不在任务栏中显示“退出”按钮</translation>
-<translation id="2100630160869631650">添加预先填充的 Kerberos 帐号。如果 Kerberos 凭据与登录凭据相匹配,则可以将帐号配置为重复使用登录凭据,方法是针对主帐号和密码分别指定“<ph name="LOGIN_EMAIL_PLACEHOLDER" />”和“<ph name="PASSWORD_PLACEHOLDER" />”;这样一来,除非配置了双重身份验证,否则系统便可以自动检索 Kerberos 票据。用户无法修改通过此策略添加的帐号。
+<translation id="2100630160869631650">添加预先填充的 Kerberos 帐号。如果 Kerberos 凭据与登录凭据相匹配,则可以将帐号配置为重复使用登录凭据,方法是分别为主帐号和密码指定“<ph name="LOGIN_EMAIL_PLACEHOLDER" />”和“<ph name="PASSWORD_PLACEHOLDER" />”;这样一来,除非配置了双重身份验证,否则系统便可以自动检索 Kerberos 票据。用户无法修改通过此政策添加的帐号。
 
-          如果已启用此策略,系统会将此策略定义的帐号列表添加到 Kerberos 帐号设置。
+          如果已启用此政策,系统会将此政策定义的帐号列表添加到 Kerberos 帐号设置。
 
-          如果已停用或未设置此策略,系统不会向 Kerberos 帐号设置中添加帐号,并会移除之前使用此策略添加的所有帐号。如果启用了“用户可以添加 Kerberos 帐号”策略,用户仍可手动添加帐号。</translation>
+          如果已停用或未设置此政策,系统不会向 Kerberos 帐号设置中添加帐号,并会移除之前启用此政策时添加的所有帐号。即使启用了“用户可以添加 Kerberos 帐号”政策,用户也仍可手动添加帐号。</translation>
 <translation id="2104418465060359056">报告扩展程序和插件信息</translation>
 <translation id="2106627642643925514">替换默认 PIN 码打印模式。如果这种模式不适用,系统会忽略此政策。</translation>
 <translation id="2107563874993284076">如果此政策已启用,用户便可在 <ph name="PRODUCT_NAME" />中使用网络文件共享功能。如果此政策已停用,用户便无法使用此功能。</translation>
@@ -1320,6 +1325,15 @@
 <translation id="2223393221350938149">不允许任何网站运行 JavaScript JIT</translation>
 <translation id="2223598546285729819">默认通知设置</translation>
 <translation id="222673035924187991">启用经过 TLS 加密的 ClientHello</translation>
+<translation id="222944823539535006">此政策已被弃用,并将在里程碑 130 中移除,请改用 <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" />。
+
+如果此政策已启用,系统会始终启用以网址为键的匿名化数据收集功能,从而将用户访问的网页网址发送给 Google,用于改善搜索和浏览体验。
+
+如果此政策已停用,系统将不会启用以网址为键的匿名化数据收集功能。
+
+如果此政策未设置,用户将能手动更改此设置。
+
+在 <ph name="PRODUCT_OS_NAME" /> 自助服务终端中,此政策不提供“允许用户决定”选项。如果不为 <ph name="PRODUCT_OS_NAME" /> 自助服务终端设置此政策,系统会始终启用以网址为键的匿名化数据收集功能。</translation>
 <translation id="2231817271680715693">首次运行时,从默认浏览器导入浏览记录</translation>
 <translation id="2231962946025538735">此政策已被弃用。请使用 <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> 控制 Flash 插件的可用性,并使用 <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> 控制是否应使用集成式 PDF 查看器打开 PDF 文件。
 
@@ -2058,6 +2072,7 @@
       此政策已从 Chrome 99 中移除。
 
       请参阅 https://www.chromestatus.com/feature/4664843055398912。</translation>
+<translation id="2948720459196236547">允许含 CCNS 标头的网页储存至<ph name="BACK_FORWARD_CACHE_NAME" />。</translation>
 <translation id="2952347049958405264">限制:</translation>
 <translation id="2957506574938329824">不允许任何网站通过 Web Bluetooth API 请求访问蓝牙设备</translation>
 <translation id="2957513448235202597">进行 <ph name="HTTP_NEGOTIATE" />身份验证时使用的帐号类型</translation>
@@ -2248,6 +2263,7 @@
 注意:请求方法 <ph name="POST_LOWERCASE_METHOD_NAME" /> 和 <ph name="PUT_LOWERCASE_METHOD_NAME" /> 不受影响,而 <ph name="PATCH_LOWERCASE_METHOD_NAME" /> 会受到影响。
 
 此政策只是暂时性措施,日后会被移除。</translation>
+<translation id="3107054704365085676">允许含“<ph name="CACHE_CONTROL_NO_STORE_NAME" />”标头的网页储存至<ph name="BACK_FORWARD_CACHE_NAME" /></translation>
 <translation id="3110248563985502478">此政策已在 M88 中弃用,而且 Chrome 已不再支持 Flash。如果此政策已启用,过期插件可作为正常插件使用。如果此政策已停用,系统将不会使用过期插件。
 
       如果您未设置此政策,系统会请求用户授权其运行过期插件。</translation>
@@ -4287,6 +4303,7 @@
 <translation id="5025239932007658691">如果此政策已启用或未设置,<ph name="PRODUCT_NAME" /> 会不定时向 Google 服务器发送查询以检索准确的时间戳。
 
       如果此政策已停用,系统会阻止 <ph name="PRODUCT_NAME" /> 发送此类查询。</translation>
+<translation id="5030415914668947893">允许进行以网址为键的指标收集</translation>
 <translation id="5033070732967197381">允许在 TLS 证书已损坏的网站上发出 WebAuthn API 请求。</translation>
 <translation id="5034504101537897433">启用设备崩溃报告信息报告功能</translation>
 <translation id="5036013147560568855">证书配置协议的版本。默认是 1。1 表示“静态”协议。2 表示“动态”协议。</translation>
@@ -4689,6 +4706,11 @@
           如果此政策已停用,系统会强制停用该功能。
           </translation>
 <translation id="5435888298115339571">在多功能框和三点状菜单中启用桌面分享功能</translation>
+<translation id="5436664291450581091">此政策旨在控制含“<ph name="CACHE_CONTROL_NO_STORE_NAME" />”(CCNS) 标头的网页是否可储存至<ph name="BACK_FORWARD_CACHE_NAME" />。设有该标头的网站可能不想从<ph name="BACK_FORWARD_CACHE_NAME" />中恢复相应网页,因为在恢复后某些敏感信息可能仍会显示,即使无法再被访问也是如此。
+
+如果此政策已启用或未设置,系统可能会从<ph name="BACK_FORWARD_CACHE_NAME" />中恢复含 CCNS 标头的网页,除非触发了缓存逐出(例如该网站发生了 HTTP-Only 性质的 Cookie 更改)。
+
+如果此政策已停用,含 CCNS 标头的网页将不会储存在<ph name="BACK_FORWARD_CACHE_NAME" />中。</translation>
 <translation id="5441508088704391614">无特殊限制。默认。</translation>
 <translation id="5442026853063570579">此政策亦用于控制对 Android 开发者选项的访问权限。如果此政策设为“DeveloperToolsDisallowed”(值为 2),用户将无法访问开发者选项。如果此政策设为其他值或未设置,用户只需在 Android 的“设置”应用中连续点按 7 次 Build 号即可访问开发者选项。</translation>
 <translation id="5443582909255996887">如果此政策已启用,系统会在 Android 设备上隔离所有网站以使每个网站都在自己的进程内运行,并禁止用户选择停用此设置。网站的网址格式为架构加上 eTLD+1(例如,https://example.com)。请注意,从 <ph name="PRODUCT_NAME" /> 77 版起,Android 会默认隔离某些敏感网站,而此政策会将这个默认网站隔离模式应用到所有网站。
@@ -4746,7 +4768,7 @@
 <translation id="5460797984317417682">启用全屏提醒</translation>
 <translation id="5464816904705580310">为受管理用户配置设置。</translation>
 <translation id="5466596281866046569">报告应用信息</translation>
-<translation id="5467175549232776406">策略测试页面可供访问</translation>
+<translation id="5467175549232776406">政策测试页面可供访问</translation>
 <translation id="546726650689747237">使用交流电源供电时的屏幕变暗延迟时间</translation>
 <translation id="546830339470589966">为新的 Kerberos 票据自动补全域名</translation>
 <translation id="5469143988693423708">允许用户运行 Crostini</translation>
@@ -4788,6 +4810,7 @@
 <translation id="5503933085302625442">请勿将 OS 回滚到目标版本。</translation>
 <translation id="55057839818162162">启用由 <ph name="GOOGLE_LENS_PRODUCT_NAME" />提供支持的摄像头辅助搜索功能</translation>
 <translation id="55057971769693300">禁止使用光标突出显示</translation>
+<translation id="5507027524345233268">禁止含 CCNS 标头的网页储存至<ph name="BACK_FORWARD_CACHE_NAME" />。</translation>
 <translation id="5508307164752647432">启用 Kerberos 功能</translation>
 <translation id="5511702823008968136">启用书签栏</translation>
 <translation id="5512418063782665071">主页网址</translation>
@@ -5291,6 +5314,7 @@
 <translation id="603768430528561926">如果此政策已启用或未设置,企业设备用户便可通过 <ph name="PRODUCT_OS_NAME" />注册流程来兑换优惠。
 
       如果此政策已停用,用户将无法兑换这类优惠。</translation>
+<translation id="6042629184389251062">禁止进行以网址为键的指标收集</translation>
 <translation id="6046615715547751255">不允许使用精细报告控件</translation>
 <translation id="6048199181629830227">启用用电高峰转移电源管理</translation>
 <translation id="6048690591359317353">不允许用户手动断开或修改 VPN</translation>
@@ -5793,6 +5817,7 @@
 <translation id="6462604655173570082">如果此政策未设置或已启用,用户便可在“新标签页”页面上的搜索框中查看和使用 <ph name="GOOGLE_LENS_PRODUCT_NAME" />按钮。如果此政策已停用,用户将不会在“新标签页”页面上的搜索框中看到 <ph name="GOOGLE_LENS_PRODUCT_NAME" />按钮。</translation>
 <translation id="6464074037294098618">自动填充地址信息</translation>
 <translation id="6467613372414922590">允许使用用户级本地消息传递主机(安装时没有管理员权限)</translation>
+<translation id="6471018476824827813">允许进行以网址为键的指标收集</translation>
 <translation id="6473623140202114570">配置安全浏览功能在哪些网域中不会触发警告。</translation>
 <translation id="6474194795370862403">系统将使用旧的 offsetParent 行为。</translation>
 <translation id="647645276885673708">启用 <ph name="LACROS_NAME" /> 并将其设为主要浏览器</translation>
@@ -7245,7 +7270,7 @@
       如果相应网站与此政策中的网址格式匹配,系统将不会考虑以下政策:<ph name="WINDOW_CAPTURE_ALLOWED_BY_ORIGINS_POLICY_NAME" />、<ph name="SCREEN_CAPTURE_ALLOWED_BY_ORIGINS_POLICY_NAME" />、<ph name="SCREEN_CAPTURE_ALLOWED_POLICY_NAME" />。
 
       如需详细了解有效的<ph name="URL_LABEL" />格式,请访问 https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns。此政策只能根据来源进行匹配,因此网址格式中的任何路径都会被忽略。</translation>
-<translation id="77675082813227181">策略测试页面已被屏蔽</translation>
+<translation id="77675082813227181">政策测试页面已被屏蔽</translation>
 <translation id="7771298620150437359">配置首选语言的内容和顺序</translation>
 <translation id="7773790010815041731">在 <ph name="MS_WIN_NAME" />、<ph name="MAC_OS_NAME" /> 和 <ph name="LINUX_OS_NAME" /> 上,Chrome 应用已被弃用。
       如果此政策已启用,<ph name="PRODUCT_NAME" /> 会允许 Chrome 应用在这些平台上继续运行,直到从所有平台上移除对 Chrome 应用的支持的截止日期(2022 年 6 月)来临为止。
@@ -7734,11 +7759,11 @@
 <ph name="PRIVACY_SANDBOX_AD_TOPICS_ENABLED_POLICY_NAME" />
 <ph name="PRIVACY_SANDBOX_SITE_ENABLED_ADS_ENABLED_POLICY_NAME" />
 <ph name="PRIVACY_SANDBOX_AD_MEASUREMENT_ENABLED_POLICY_NAME" /></translation>
-<translation id="826163650738550159">此策略会提供对政策测试页面的访问权限;在该页面上测试策略时,系统会忽略所有其他策略。
+<translation id="826163650738550159">此政策会提供对政策测试页面的访问权限;在该页面上测试政策时,系统会忽略所有其他政策。
 此功能将仅在 Canary 版渠道中提供。
 
-如果已启用或未设置此策略,用户将能访问该页面。
-如果已停用此策略,该页面将被屏蔽。</translation>
+如果已启用或未设置此政策,用户将能访问该页面。
+如果已停用此政策,该页面将被屏蔽。</translation>
 <translation id="8266778278542911985">如果此政策设为 3,系统会允许网站请求访问串行端口。如果此政策设为 2,系统会禁止访问串行端口。
 
       如果此政策未设置,系统会允许网站请求访问,但用户可以更改此设置。</translation>
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 649e2d9a..33625b3 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -1078,6 +1078,11 @@
 <translation id="2006530844219044261">電源管理</translation>
 <translation id="2006954055163088863">在影片播放時將使用者狀態視為閒置</translation>
 <translation id="2008514891623783266">WebRTC 的 IP 處理政策</translation>
+<translation id="201153120366509312">如果將這項政策設為啟用或不設定,表示允許網址輸入指標收集功能。
+如果設為允許,使用者也啟用這項功能,系統就會收集使用者造訪網頁時輸入的網址,並傳送這類指標給 Google 改善搜尋和瀏覽體驗,同時收集每個頁面的使用統計資料。
+輸入網址指標也包含其他瀏覽器元件的 ID 和使用統計資料,可用於修改或提供內容,例如擴充功能。
+
+如果將這項政策設為不允許,使用者就無法啟用輸入網址指標收集功能。</translation>
 <translation id="2012296492055302633">一律啟用隱私保護功能</translation>
 <translation id="2014757022750736514">控管登入畫面的行為,使用者會從該畫面登入帳戶。可調整的設定包含可登入的人員、系統允許的帳戶類型、應使用何種驗證方法,以及一般無障礙、輸入法和語言代碼設定。</translation>
 <translation id="201557587962247231">裝置狀態報告上傳頻率</translation>
@@ -1316,6 +1321,15 @@
 <translation id="2223393221350938149">禁止任何網站執行 JavaScript JIT</translation>
 <translation id="2223598546285729819">預設通知設定</translation>
 <translation id="222673035924187991">啟用經過 TLS 加密的 ClientHello</translation>
+<translation id="222944823539535006">這項政策已淘汰,將在主要版本 130 中移除,請改用 <ph name="URL_KEYED_METRICS_ALLOWED_POLICY_NAME" />。
+
+如果這項政策設為啟用,系統一律會開啟輸入網址匿名資料收集功能,將使用者造訪的網頁網址傳送給 Google,協助改善搜尋與瀏覽服務。
+
+如果設為停用,輸入網址匿名資料收集功能就會關閉。
+
+如果不設定這項政策,則使用者可手動變更這項設定。
+
+在 <ph name="PRODUCT_OS_NAME" /> 資訊站中,這項政策不提供「允許使用者決定」選項。如果不設定 <ph name="PRODUCT_OS_NAME" /> 資訊站的這項政策,系統一律會開啟輸入網址匿名資料收集功能。</translation>
 <translation id="2231817271680715693">第一次執行時從預設瀏覽器匯入瀏覽記錄</translation>
 <translation id="2231962946025538735">這項政策已淘汰,請使用 <ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> 控管是否要提供 Flash 外掛程式,並使用 <ph name="ALWAYS_OPEN_PDF_EXTERNALLY_POLICY_NAME" /> 指定是否要使用整合式 PDF 檢視器開啟 PDF 檔案。
 
@@ -4259,6 +4273,7 @@
 <translation id="5025239932007658691">如果將這項政策設為啟用或不設定,<ph name="PRODUCT_NAME" /> 會不定時向 Google 伺服器傳送查詢,以擷取準確的時間戳記。
 
       如果將這項政策設為停用,系統會禁止 <ph name="PRODUCT_NAME" /> 傳送這類查詢。</translation>
+<translation id="5030415914668947893">允許輸入網址指標收集功能</translation>
 <translation id="5033070732967197381">允許來自 TLS 憑證無效網站的 WebAuthn API 要求。</translation>
 <translation id="5034504101537897433">啟用裝置當機報告資訊回報功能</translation>
 <translation id="5036013147560568855">憑證佈建通訊協定的版本,預設為 1。1 是「靜態」通訊協定,2 是「動態」通訊協定。</translation>
@@ -5246,6 +5261,7 @@
 <translation id="603768430528561926">如果將這項政策設為啟用或不設定,企業裝置使用者可透過 <ph name="PRODUCT_OS_NAME" />註冊兌換優惠。
 
       如果將這項政策設為停用,使用者將無法兌換這類優惠。</translation>
+<translation id="6042629184389251062">不允許輸入網址指標收集功能</translation>
 <translation id="6046615715547751255">禁止使用精細回報控制項</translation>
 <translation id="6048199181629830227">開啟用電尖峰轉移電源管理功能</translation>
 <translation id="6048690591359317353">不允許使用者手動中斷連線或修改 VPN</translation>
@@ -5737,6 +5753,7 @@
 <translation id="6462604655173570082">如果將這項政策設為啟用或不設定,使用者即可在「新分頁」頁面的搜尋框中查看及使用 <ph name="GOOGLE_LENS_PRODUCT_NAME" />按鈕。如果停用這項政策,使用者將不會在「新分頁」頁面的搜尋框中看到 <ph name="GOOGLE_LENS_PRODUCT_NAME" />按鈕。</translation>
 <translation id="6464074037294098618">啟用地址的自動填入功能</translation>
 <translation id="6467613372414922590">允許使用者層級的內建訊息傳遞主機 (在無管理員權限的情況下安裝)。</translation>
+<translation id="6471018476824827813">允許輸入網址指標收集功能</translation>
 <translation id="6473623140202114570">設定安全瀏覽功能在哪些網域中不會觸發警告。</translation>
 <translation id="6474194795370862403">系統將使用舊的 offsetParent 行為。</translation>
 <translation id="647645276885673708">啟用 <ph name="LACROS_NAME" /> 並設為主要瀏覽器</translation>
diff --git a/components/policy/resources/templates/device_policy_proto_map.yaml b/components/policy/resources/templates/device_policy_proto_map.yaml
index c548a46..fb88722 100644
--- a/components/policy/resources/templates/device_policy_proto_map.yaml
+++ b/components/policy/resources/templates/device_policy_proto_map.yaml
@@ -89,6 +89,7 @@
 DeviceLoginScreenSystemInfoEnforced: device_login_screen_system_info_enforced.value
 DeviceLoginScreenVirtualKeyboardEnabled: accessibility_settings.login_screen_virtual_keyboard_enabled
 DeviceLoginScreenWebUILazyLoading: login_web_ui_lazy_loading.enabled
+DeviceLoginScreenWebHidAllowDevicesForUrls: device_login_screen_webhid_allow_devices_for_urls.device_login_screen_webhid_allow_devices_for_urls
 DeviceLoginScreenWebUsbAllowDevicesForUrls: device_login_screen_webusb_allow_devices_for_urls.device_login_screen_webusb_allow_devices_for_urls
 DeviceMachinePasswordChangeRate: device_machine_password_change_rate.rate_days
 DeviceMetricsReportingEnabled: metrics_enabled.metrics_enabled
diff --git a/components/policy/resources/templates/policies.yaml b/components/policy/resources/templates/policies.yaml
index ba96ec8..3703d99 100644
--- a/components/policy/resources/templates/policies.yaml
+++ b/components/policy/resources/templates/policies.yaml
@@ -1113,6 +1113,7 @@
   1112: PolicyTestPageEnabled
   1113: UrlKeyedMetricsAllowed
   1114: AllowBackForwardCacheForCacheControlNoStorePageEnabled
+  1115: DeviceLoginScreenWebHidAllowDevicesForUrls
 atomic_groups:
   1: Homepage
   2: RemoteAccess
diff --git a/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceLoginScreenWebHidAllowDevicesForUrls.yaml b/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceLoginScreenWebHidAllowDevicesForUrls.yaml
new file mode 100644
index 0000000..28f667b
--- /dev/null
+++ b/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceLoginScreenWebHidAllowDevicesForUrls.yaml
@@ -0,0 +1,52 @@
+caption: Automatically grant permission to these sites to connect to HID devices with
+  the given vendor and product IDs on the login screen.
+desc: |-
+  Setting the policy lets you list the URLs that specify which sites are automatically granted permission to access a HID device with the given vendor and product IDs on the login screen. Each item in the list requires both <ph name="DEVICES_FIELD_NAME">devices</ph> and <ph name="URLS_FIELD_NAME">urls</ph> fields for the item to be valid, otherwise the item is ignored. Each item in the <ph name="DEVICES_FIELD_NAME">devices</ph> field must have a <ph name="VENDOR_ID_FIELD_NAME">vendor_id</ph> and may have a <ph name="PRODUCT_ID_FIELD_NAME">product_id</ph> field. Omitting the <ph name="PRODUCT_ID_FIELD_NAME">product_id</ph> field will create a policy matching any device with the specified vendor ID. An item which has a <ph name="PRODUCT_ID_FIELD_NAME">product_id</ph> field without a <ph name="VENDOR_ID_FIELD_NAME">vendor_id</ph> field is invalid and is ignored.
+
+  Leaving the policy unset puts the global default value in use for all sites (no automatic access).
+device_only: true
+example_value:
+- devices:
+  - product_id: 5678
+    vendor_id: 1234
+  urls:
+  - https://google.com
+  - https://chromium.org
+features:
+  dynamic_refresh: true
+  per_profile: false
+owners:
+- mattreynolds@chromium.org
+- file://third_party/blink/renderer/modules/hid/OWNERS
+schema:
+  items:
+    properties:
+      devices:
+        items:
+          properties:
+            product_id:
+              maximum: 65535
+              minimum: 0
+              type: integer
+            vendor_id:
+              maximum: 65535
+              minimum: 0
+              type: integer
+          required:
+          - vendor_id
+          type: object
+        type: array
+      urls:
+        items:
+          type: string
+        type: array
+    required:
+    - devices
+    - urls
+    type: object
+  type: array
+supported_on:
+- chrome_os:116-
+tags:
+- website-sharing
+type: dict
diff --git a/components/policy/resources/webui/policy.css b/components/policy/resources/webui/policy.css
index 640e8e9..618c38b 100644
--- a/components/policy/resources/webui/policy.css
+++ b/components/policy/resources/webui/policy.css
@@ -32,7 +32,7 @@
 
 body > header {
   align-items: center;
-  padding: 12px;
+  padding: 0 12px 12px 12px;
 }
 
 .header-row {
@@ -41,12 +41,64 @@
   height: 56px;
 }
 
-.show-unset-checkbox,
-.search-field-container {
+.show-unset-checkbox {
   flex: 0 1 200px;
   margin-inline-start: auto;
 }
 
+#topbar {
+  gap: 5px;
+  justify-content: space-between;
+}
+
+.topbar-item {
+  flex: 1;
+}
+
+#left-content {
+  justify-content: flex-start;
+}
+
+#middle-content {
+  align-items: center;
+  display: flex;
+  flex-basis: 680px;
+  justify-content: center;
+}
+
+#search-field-container {
+  align-items: center;
+  background: rgb(241, 243, 244); /* Google grey 100 */
+  border-radius: 46px;
+  display: flex;
+  flex: 0 1;
+  flex-basis: inherit;
+  height: 40px;
+}
+
+#search-field-icon {
+  background-image: url(chrome://resources/images/dark/icon_search.svg);
+  background-size: cover;
+  fill: rgb(95,99,104); /* Google grey 700 */
+  height: 20px;
+  margin-left: 12px;
+  min-width: 20px;
+  width: 20px;
+}
+
+#search-field-input {
+  background: 0 0;
+  border: none;
+  caret-color: rgb(25, 103, 210); /* Google blue 700 */
+  color: rgb(32, 33, 36);
+  margin: 0 12px 0 12px;
+  outline: 0;
+  padding: 0;
+  width: 100%;
+  line-height: 185%;
+  -webkit-font-smoothing: antialiased;
+}
+
 .show-unset-checkbox > label {
   align-items: center;
   display: flex;
@@ -72,4 +124,8 @@
 body > main {
   padding: 0;
 }
+
+#search-field-container {
+  height: 36px;
+}
 </if>
diff --git a/components/policy/resources/webui/policy.html b/components/policy/resources/webui/policy.html
index a7cde265..2bd80e6 100644
--- a/components/policy/resources/webui/policy.html
+++ b/components/policy/resources/webui/policy.html
@@ -12,11 +12,19 @@
 
 <body>
   <header>
-    <div class="header-row">
-      <h1>$i18n{title}</h1>
-      <input id="filter" class="search-field-container" type="search"
-          placeholder="$i18n{filterPlaceholder}"
-          aria-label="$i18n{filterPlaceholder}" incremental>
+    <div id="topbar" class="header-row">
+      <div id="left-content" class="topbar-item">
+        <h1>$i18n{title}</h1>
+      </div>
+      <div id="middle-content" class="topbar-item">
+        <div id="search-field-container">
+          <div id="search-field-icon"></div>
+          <input id="search-field-input" type="search"
+            placeholder="$i18n{filterPlaceholder}"
+            aria-label="$i18n{filterPlaceholder}" incremental>
+        </div>
+      </div>
+      <div id="right-content" class="topbar-item"></div>
     </div>
     <div class="header-row">
       <button id="reload-policies">$i18n{reloadPolicies}</button>
diff --git a/components/policy/resources/webui/policy_base.ts b/components/policy/resources/webui/policy_base.ts
index f6ffaf2..4d516e3 100644
--- a/components/policy/resources/webui/policy_base.ts
+++ b/components/policy/resources/webui/policy_base.ts
@@ -54,8 +54,9 @@
 
     this.mainSection = getRequiredElement('main-section');
 
-    // Place the initial focus on the filter input field.
-    const filterElement = getRequiredElement('filter') as HTMLInputElement;
+    // Place the initial focus on the search input field.
+    const filterElement =
+        getRequiredElement('search-field-input') as HTMLInputElement;
     filterElement.focus();
 
     filterElement.addEventListener('search', () => {
diff --git a/components/policy/test/data/policy_test_cases.json b/components/policy/test/data/policy_test_cases.json
index aa21c33..bf2e414 100644
--- a/components/policy/test/data/policy_test_cases.json
+++ b/components/policy/test/data/policy_test_cases.json
@@ -5681,6 +5681,68 @@
       }
     ]
   },
+  "DeviceLoginScreenWebHidAllowDevicesForUrls": {
+    "os": [
+      "chromeos_ash"
+    ],
+    "policy_pref_mapping_tests": [
+      {
+        "policies": {
+          "DeviceLoginScreenWebHidAllowDevicesForUrls": [
+            {
+              "devices": [
+                {
+                  "vendor_id": 6353,
+                  "product_id": 37888
+                }
+              ],
+              "urls": [
+                "https://stadia.google.com"
+              ]
+            },
+            {
+              "devices": [
+                {
+                  "vendor_id": 6353
+                }
+              ],
+              "urls": [
+                "https://www.google.com"
+              ]
+            }
+          ]
+        },
+        "prefs": {
+          "managed.web_hid_allow_devices_for_urls_on_login_screen": {
+            "location": "local_state",
+            "value": [
+              {
+                "devices": [
+                  {
+                    "vendor_id": 6353,
+                    "product_id": 37888
+                  }
+                ],
+                "urls": [
+                  "https://stadia.google.com"
+                ]
+              },
+              {
+                "devices": [
+                  {
+                    "vendor_id": 6353
+                  }
+                ],
+                "urls": [
+                  "https://www.google.com"
+                ]
+              }
+            ]
+          }
+        }
+      }
+    ]
+  },
   "WebHidAllowDevicesWithHidUsagesForUrls": {
     "os": [
       "win",
diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl_unittest.cc b/components/privacy_sandbox/privacy_sandbox_settings_impl_unittest.cc
index 7529e87c..d31ec3d 100644
--- a/components/privacy_sandbox/privacy_sandbox_settings_impl_unittest.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings_impl_unittest.cc
@@ -188,7 +188,7 @@
     SetUp();
     disabled_topics_feature_list_.Reset();
     disabled_topics_feature_list_.InitAndEnableFeatureWithParameters(
-        blink::features::kBrowsingTopics,
+        blink::features::kBrowsingTopicsParameters,
         {{"browsing_topics_disabled_topics_list", topics_to_disable}});
   }
   content::BrowserTaskEnvironment* task_environment() {
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
index fb5ebed..36693d4d 100644
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -90,6 +90,14 @@
 const base::FeatureParam<bool> kEsbIphBubbleAndCollapseSettingsEnableCollapse{
     &kEsbIphBubbleAndCollapseSettings, "EnableEsbSettingCollapse", true};
 
+BASE_FEATURE(kEvaluateProtectedPasswordLengthMinimum,
+             "EvaluateProtectedPasswordLengthMinimum",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+
+const base::FeatureParam<int> kEvaluateProtectedPasswordLengthMinimumValue{
+    &kEvaluateProtectedPasswordLengthMinimum, "MinimumValue",
+    /*default_value=*/4};
+
 BASE_FEATURE(kExtensionTelemetry,
              "SafeBrowsingExtensionTelemetry",
              base::FEATURE_ENABLED_BY_DEFAULT);
@@ -338,6 +346,7 @@
     {&kDownloadBubble, true},
     {&kDownloadBubbleV2, true},
     {&kDownloadTailoredWarnings, true},
+    {&kEvaluateProtectedPasswordLengthMinimum, false},
     {&kExtensionTelemetry, true},
     {&kExtensionTelemetryCookiesGetAllSignal, true},
     {&kExtensionTelemetryCookiesGetSignal, true},
diff --git a/components/safe_browsing/core/common/features.h b/components/safe_browsing/core/common/features.h
index 512a1c6c..5ec94b7 100644
--- a/components/safe_browsing/core/common/features.h
+++ b/components/safe_browsing/core/common/features.h
@@ -86,6 +86,13 @@
 extern const base::FeatureParam<bool>
     kEsbIphBubbleAndCollapseSettingsEnableCollapse;
 
+// Enables decreased Phishguard password length minimum.
+BASE_DECLARE_FEATURE(kEvaluateProtectedPasswordLengthMinimum);
+
+// Specifies the minimum password length for password protection.
+extern const base::FeatureParam<int>
+    kEvaluateProtectedPasswordLengthMinimumValue;
+
 // Enables collection of signals related to extension activity and uploads
 // of telemetry reports to SB servers.
 BASE_DECLARE_FEATURE(kExtensionTelemetry);
diff --git a/components/services/unzip/DEPS b/components/services/unzip/DEPS
index c84c5757b..3e1d592 100644
--- a/components/services/unzip/DEPS
+++ b/components/services/unzip/DEPS
@@ -1,4 +1,5 @@
 include_rules = [
+  "+components/file_access",
   "+components/services/filesystem",
   "+mojo/public",
   "+third_party/ced",
diff --git a/components/services/unzip/public/cpp/BUILD.gn b/components/services/unzip/public/cpp/BUILD.gn
index 4524e91..79b6feb9 100644
--- a/components/services/unzip/public/cpp/BUILD.gn
+++ b/components/services/unzip/public/cpp/BUILD.gn
@@ -14,4 +14,5 @@
     "//components/services/storage/public/cpp/filesystem",
     "//components/services/unzip/public/mojom",
   ]
+  deps = [ "//components/file_access:file_access" ]
 }
diff --git a/components/services/unzip/public/cpp/unzip.cc b/components/services/unzip/public/cpp/unzip.cc
index 4546f09..e0e72e1 100644
--- a/components/services/unzip/public/cpp/unzip.cc
+++ b/components/services/unzip/public/cpp/unzip.cc
@@ -21,6 +21,7 @@
 #include "base/task/sequenced_task_runner.h"
 #include "base/task/thread_pool.h"
 #include "base/time/time.h"
+#include "components/file_access/scoped_file_access_delegate.h"
 #include "components/services/storage/public/cpp/filesystem/filesystem_impl.h"
 #include "components/services/unzip/public/mojom/unzipper.mojom.h"
 #include "mojo/public/cpp/bindings/receiver.h"
@@ -372,7 +373,8 @@
                        UnzipFilterCallback filter_callback,
                        UnzipListenerCallback listener_callback,
                        mojom::UnzipOptionsPtr options,
-                       UnzipCallback result_callback) {
+                       UnzipCallback result_callback,
+                       file_access::ScopedFileAccess file_access) {
   base::File zip_file(zip_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
   if (!CheckZipFileValid(zip_path, zip_file)) {
     std::move(result_callback).Run(false);
@@ -406,14 +408,16 @@
                              UnzipCallback result_callback) {
   DCHECK(!result_callback.is_null());
 
-  runner_->PostTask(
-      FROM_HERE,
-      base::BindOnce(
-          &::unzip::DoUnzipWithParams, std::move(unzipper), std::ref(params_),
-          zip_file, output_dir, UnzipFilterCallback(),
-          base::BindPostTaskToCurrentDefault(std::move(listener_callback)),
-          std::move(options),
-          base::BindPostTaskToCurrentDefault(std::move(result_callback))));
+  file_access::RequestFilesAccessForSystem(
+      {zip_file},
+      base::BindPostTask(
+          runner_,
+          base::BindOnce(
+              &::unzip::DoUnzipWithParams, std::move(unzipper),
+              std::ref(params_), zip_file, output_dir, UnzipFilterCallback(),
+              base::BindPostTaskToCurrentDefault(std::move(listener_callback)),
+              std::move(options),
+              base::BindPostTaskToCurrentDefault(std::move(result_callback)))));
 }
 
 void ReleaseParams(scoped_refptr<UnzipParams>& unzip_params) {
diff --git a/components/strings/components_chromium_strings_ja.xtb b/components/strings/components_chromium_strings_ja.xtb
index ec58d27f..1a5d2e1 100644
--- a/components/strings/components_chromium_strings_ja.xtb
+++ b/components/strings/components_chromium_strings_ja.xtb
@@ -40,5 +40,6 @@
 <translation id="8187289872471304532">このオプションを無効にするには:
           [アプリケーション] &gt; [システム環境設定] &gt; [ネットワーク] &gt; [詳細] &gt; [プロキシ] の順に移動して、
           選択されているプロキシの選択を解除します。</translation>
+<translation id="8597726643333341451">保護された Chrome for Testing ページを表示しています</translation>
 <translation id="8684913864886094367">Chromium は正しく終了しませんでした。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb
index 1b4156a..2f90b25 100644
--- a/components/strings/components_strings_af.xtb
+++ b/components/strings/components_strings_af.xtb
@@ -265,6 +265,7 @@
 
           &lt;p&gt;Stel asseblief die datum en tyd reg in die &lt;strong&gt;Algemeen&lt;/strong&gt;-afdeling van die &lt;strong&gt;Instellings&lt;/strong&gt;-program.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Jou administrateur sal jou toestel om <ph name="TIME" /> op <ph name="DATE" /> herbegin</translation>
+<translation id="1564753300777780201">Geen teks is van prente af omgeskakel nie</translation>
 <translation id="156703335097561114">Netwerkinligting soos adresse, koppelvlakopstelling en verbindinggehalte</translation>
 <translation id="1567040042588613346">Hierdie beleid werk soos bedoel, maar dieselfde waarde is elders gestel en word deur hierdie beleid vervang.</translation>
 <translation id="1567405528131216114">Voeg <ph name="TOPIC" /> by</translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Voeg e-posadres by</translation>
 <translation id="3897092660631435901">Kieslys</translation>
 <translation id="3901925938762663762">Die kaart het verval</translation>
+<translation id="3906095212874392000">Einde van omgeskakelde teks</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Jy kan enige tyd in Chrome-instellings van plan verander</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Stapelaar 5</translation>
 <translation id="4331708818696583467">Nie veilig nie</translation>
 <translation id="4333561522337981382">Bestuur vensters op al jou skerms</translation>
+<translation id="4338709847516294988">Druk soek plus M en skakel prent om in teks in die kontekskieslys</translation>
 <translation id="4340575312453649552">Chrome het hierdie advertensie verwyder omdat dit te veel van jou toestel se hulpbronne gebruik het.</translation>
 <translation id="4340982228985273705">Hierdie rekenaar word nie bespeur as een wat deur 'n onderneming bestuur word nie en beleid kan dus net uitbreidings wat in die Chrome Webwinkel gehuisves word, outomaties installeer. Die Chrome Webwinkel se opdatering-URL is "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Die verbinding aan <ph name="SITE" /> is nie veilig nie</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Jy het sopas jou wagwoord op 'n misleidende werf ingevoer. Chrome kan help. Klik Beskerm Rekening om jou wagwoord te verander en stel Google in kennis dat jou rekening dalk in gevaar is.</translation>
 <translation id="4363222835916186793">Opletberigte vir hierdie produk is afgeskakel</translation>
 <translation id="437040971055499437">Sekuriteitsgeval vind plaas</translation>
+<translation id="4371307856413138486">Begin van omgeskakelde teks</translation>
 <translation id="4371591986692297148">Onaktief</translation>
 <translation id="4372948949327679948">Verwagte <ph name="VALUE_TYPE" />-waarde.</translation>
 <translation id="4375864595697821259">Voeg ’n item weer by as jy dit in die poel onderwerpe wil hê waaruit Chrome kan kies wanneer dit jou belangstellings skat</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Maak toe</translation>
 <translation id="6041777658117377052">Kamertemperatuur</translation>
 <translation id="6042308850641462728">Meer</translation>
+<translation id="6042688167654081154">Prent is omgeskakel in teks</translation>
 <translation id="6044573915096792553">Grootte 12</translation>
 <translation id="6045164183059402045">Inslaanwerktemplaat</translation>
 <translation id="6047233362582046994">As jy die gevare vir jou veiligheid verstaan, kan jy <ph name="BEGIN_LINK" />hierdie werf besoek<ph name="END_LINK" /> voordat die skadelike programme verwyder is.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">Geologie</translation>
 <translation id="6196640612572343990">Blokkeer derdeparty-webkoekies</translation>
 <translation id="6197648101609735209">89x89 mm</translation>
+<translation id="6200386911308538077">Prent word tans ontleed</translation>
 <translation id="6203231073485539293">Gaan jou internetverbinding na</translation>
 <translation id="6205314730813004066">Advertensieprivaatheid</translation>
 <translation id="6212314149070368045">VS Valvou</translation>
@@ -2268,6 +2274,7 @@
 <translation id="6468485451923838994">Lettertipes</translation>
 <translation id="647261751007945333">Toestelbeleide</translation>
 <translation id="647330291963761005">Installeer tans opdaterings</translation>
+<translation id="6474220430271405609">Beleidtoetse</translation>
 <translation id="6475672344094591109">Werwe wat jy besoek kan Chrome vra vir inligting wat hulle help om die werkverrigting van hul advertensies te meet. Chrome beskerm jou privaatheid deur die inligting wat werwe met mekaar kan deel, te beperk.</translation>
 <translation id="6476284679642588870">Bestuur betaalmetodes</translation>
 <translation id="6486200200930923183">Dokumentêre flieks</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index 62a0f1d..7ec47bc 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;እባክዎ በ&lt;strong&gt;ቅንብሮች&lt;/strong&gt; መተግበሪያው የ&lt;strong&gt;አጠቃላይ&lt;/strong&gt; ክፍል ላይ ቀን እና ሰዓቱን ያስተካክሉ።&lt;/p&gt;</translation>
 <translation id="1559839503761818503">የእርስዎ አስተዳዳሪ መሣሪያዎን በ<ph name="DATE" /> <ph name="TIME" /> ላይ እንደገና ያስጀምረዋል።</translation>
+<translation id="1564753300777780201">ምንም ጽሑፍ ከምስሎች አልተቀየረም</translation>
 <translation id="156703335097561114">እንደ አድራሻዎች፣ የበይነገጽ ውቅረት እና የግንኙነት ጥራት ያሉ የአውታረ መረብ መረጃ</translation>
 <translation id="1567040042588613346">ይህ መመሪያ እንደታሰበው እየሰራ ነው፣ ነገር ግን ተመሳሳይ እሴት በሌላ ቦታ የተቀናበረ ሲሆን በዚህ መመሪያ ተተክቷል።</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> አክል</translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">ኢሜይል ያክሉ</translation>
 <translation id="3897092660631435901">ምናሌ</translation>
 <translation id="3901925938762663762">ካርዱ አገልግሎት ጊዜው አብቅቷል</translation>
+<translation id="3906095212874392000">የተቀየረ ጽሑፍ መጨረሻ</translation>
 <translation id="3906954721959377182">ጡባዊ</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">በChrome ቅንብሮች ውስጥ በማንኛውም ጊዜ ሐሳብዎን መቀየር ይችላሉ</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">ቁልል 5</translation>
 <translation id="4331708818696583467">ደህንነቱ አልተጠበቀም</translation>
 <translation id="4333561522337981382">በሁሉም የእርስዎ ማሳያዎች ላይ መስኮቶችን ማስተዳደር</translation>
+<translation id="4338709847516294988">ፍለጋ እና ኤምን ይጫኑ እና በተገቢ ሁኔታ ምናሌው ውስጥ ምስልን ወደ ጽሑፍ ይቀይሩ</translation>
 <translation id="4340575312453649552">ይህ ማስታወቂያ ለመሣሪያዎ በጣም ብዙ ሀብቶችን ተጠቅሟል፣ ስለዚህ Chrome አስወግደውታል።</translation>
 <translation id="4340982228985273705">ይህ ኮምፒውተር እንደ በድርጅት የሚተዳደር ሆኖ አይታይም፣ ስለዚህ መመሪያ በChrome የድር ማከማቻ ላይ የሚስተናገዱ ቅጥያዎችን ብቻ በራስ-ሰር ነው መጫን የሚችለው። የChrome ድር ማከማቻው ዝማኔ ዩአርኤል «<ph name="CWS_UPDATE_URL" />» ነው።</translation>
 <translation id="4348834659292907206">ከ<ph name="SITE" /> ጋር ያለው ግንኙነት ደህንነቱ የተጠበቀ አይደለም</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">አሁን የይለፍ ቃልዎን በአንድ አታላይ ጣቢያ ላይ አስገብተዋል። Chrome ሊያግዝ ይችላል። የእርስዎን የይለፍ ቃል ለመለወጥ እና የእርስዎ መለያ ስጋት ውስጥ እንዳለ ለGoogle ለማሳወቅ፣ መለያን ከጥቃት ተከላከል የሚለው ላይ ጠቅ ያድርጉ።</translation>
 <translation id="4363222835916186793">የዚህ ምርት ማንቂያዎች ጠፍተዋል</translation>
 <translation id="437040971055499437">የደህንነት ክስተት ሲከሰት</translation>
+<translation id="4371307856413138486">የተቀየረ ጽሑፍ መጀመሪያ</translation>
 <translation id="4371591986692297148">ያልነቃ</translation>
 <translation id="4372948949327679948">የተጠበቀው የ<ph name="VALUE_TYPE" /> ዋጋ ነው።</translation>
 <translation id="4375864595697821259">አንድን ንጥል Chrome ዝንባሌዎችዎን በሚገምትበት ጊዜ ሊመርጥባቸው ከሚችላቸው ርዕሶች ስብስብ ውስጥ እንዲኖር ከፈለጉ መልሰው ያክሉት</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">ዝጋ</translation>
 <translation id="6041777658117377052">የክፍል ሙቀት መጠን</translation>
 <translation id="6042308850641462728">ተጨማሪ</translation>
+<translation id="6042688167654081154">ምስል ወደ ጽሑፍ ተቀይሯል</translation>
 <translation id="6044573915096792553">መጠን 12</translation>
 <translation id="6045164183059402045">የማስፈጸሚያ ቅንብር ደንብ</translation>
 <translation id="6047233362582046994">በእርስዎ ደህንነት ላይ የሚያመጣቸውን ስጋቶች ከተረዱ አደገኛ መተግበሪያዎቹ ከመወገዳቸው በፊት <ph name="BEGIN_LINK" />ይህን ጣቢያ መጎብኘት<ph name="END_LINK" /> ይችላሉ።</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">ጂዮሎጂ</translation>
 <translation id="6196640612572343990">የሦስተኛ ወገን ኩኪዎችን አግድ</translation>
 <translation id="6197648101609735209">89 x 89 ሚሜ</translation>
+<translation id="6200386911308538077">ምስል በትንተና ላይ ነው</translation>
 <translation id="6203231073485539293">የበይነመረብ ግኑኝነትዎን ያረጋግጡ</translation>
 <translation id="6205314730813004066">የማስታወቂያ ግላዊነት</translation>
 <translation id="6212314149070368045">የአሜሪካ ፋንፎልድ</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index b115b73..e09799b 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -185,7 +185,7 @@
 <translation id="1391289752476847787">أسهم وسندات</translation>
 <translation id="1391625539203220400">‏هل تريد حفظ رقم الحساب بصيغة IBAN على هذا الجهاز؟</translation>
 <translation id="139305205187523129">لم يرسل <ph name="HOST_NAME" /> أي بيانات.</translation>
-<translation id="1396259464226642517">هل كانت هذه النتيجة غير متوقعة؟ <ph name="BEGIN_LINK" />إرسال تعليقات<ph name="END_LINK" /></translation>
+<translation id="1396259464226642517">هل كانت هذه النتيجة غير متوقعة؟ <ph name="BEGIN_LINK" />إرسال ملاحظات<ph name="END_LINK" /></translation>
 <translation id="1405567553485452995">أخضر فاتح</translation>
 <translation id="1406500794671479665">جارٍ التحقق...</translation>
 <translation id="1406812885827747674">السماح بالاستخدام هذه المرة</translation>
@@ -2244,6 +2244,7 @@
 <translation id="6468485451923838994">الخطوط</translation>
 <translation id="647261751007945333">سياسات الأجهزة</translation>
 <translation id="647330291963761005">جارٍ تثبيت التحديثات</translation>
+<translation id="6474220430271405609">اختبارات السياسة</translation>
 <translation id="6475672344094591109">‏يمكن للمواقع الإلكترونية التي تنتقل إليها أن تطلب من Chrome معلومات تساعدها في قياس أداء الإعلانات التي تعرضها. يحمي Chrome خصوصيتك من خلال تحديد المعلومات التي يمكن للمواقع الإلكترونية مشاركتها في ما بينها.</translation>
 <translation id="6476284679642588870">إدارة طرق الدفع</translation>
 <translation id="6486200200930923183">أفلام وثائقية</translation>
@@ -2898,7 +2899,7 @@
 <translation id="8037357227543935929">الطلب (تلقائي)</translation>
 <translation id="803771048473350947">ملف</translation>
 <translation id="8038817883578389970">سباق سيارات</translation>
-<translation id="8041089156583427627">إرسال تعليقات</translation>
+<translation id="8041089156583427627">إرسال ملاحظات</translation>
 <translation id="8041940743680923270">استخدام الإعداد التلقائي العمومي (طلب)</translation>
 <translation id="8052898407431791827">تمّ النسخ إلى الحافظة.</translation>
 <translation id="8055534648776115597">تعليم مهني وتعليم مستمر</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb
index de31bba..d9b110c 100644
--- a/components/strings/components_strings_as.xtb
+++ b/components/strings/components_strings_as.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;অনুগ্ৰহ কৰি &lt;strong&gt;ছেটিংছ&lt;/strong&gt; এপৰ &lt;strong&gt;সাধাৰণ&lt;/strong&gt; অংশত তাৰিখ আৰু সময় মিলাওক।&lt;/p&gt;</translation>
 <translation id="1559839503761818503">আপোনাৰ প্ৰশাসকে আপোনাৰ ডিভাইচটো <ph name="DATE" />ৰ <ph name="TIME" />ত ৰিষ্টার্ট কৰিব</translation>
+<translation id="1564753300777780201">প্ৰতিচ্ছবিৰ পৰা কোনো পাঠ ৰূপান্তৰ কৰা নাই</translation>
 <translation id="156703335097561114">ঠিকনা, ইণ্টাৰফে’চৰ কনফিগাৰেশ্বন আৰু সংযোগৰ গুণগত মানৰ দৰে নেটৱৰ্কিঙৰ তথ্য</translation>
 <translation id="1567040042588613346">এই নীতিটোৱে বিচৰা ধৰণে কাম কৰি আছে, কিন্তু অন্য কোনো ঠাইত একেটা মান ছেট কৰা হৈছে আৰু সেইটোক এই নীতিটোৱে অপসাৰণ কৰিছে।</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> যোগ দিয়ক</translation>
@@ -1197,6 +1198,7 @@
 <translation id="3890664840433101773">ইমেইল যোগ কৰক</translation>
 <translation id="3897092660631435901">মেনু</translation>
 <translation id="3901925938762663762">কার্ডখনৰ ম্যাদ উকলিল</translation>
+<translation id="3906095212874392000">ৰূপান্তৰ কৰা পাঠৰ শেষ</translation>
 <translation id="3906954721959377182">টেবলেট</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">আপুনি যিকোনো সময়তে Chromeৰ ছেটিঙত নিজৰ সিদ্ধান্ত সলনি কৰিব পাৰে</translation>
@@ -1396,6 +1398,7 @@
 <translation id="4331519897422864041">ষ্টেকাৰ ৫</translation>
 <translation id="4331708818696583467">সুৰক্ষিত নহয়</translation>
 <translation id="4333561522337981382">আপোনাৰ আটাইবোৰ ডিছপ্লে’ত থকা ৱিণ্ড’সমূহ পৰিচালনা কৰক</translation>
+<translation id="4338709847516294988">ছাৰ্চ কী আৰু m টিপক আৰু প্ৰসংগ মেনুত প্ৰতিচ্ছবিক পাঠলৈ ৰূপান্তৰ কৰক</translation>
 <translation id="4340575312453649552">এই বিজ্ঞাপনটোৱে আপোনাৰ ডিভাইচৰ অতি বেছি সমল ব্যৱহাৰ কৰাৰ কাৰণে Chromeএ এইটো আঁতৰাইছে।</translation>
 <translation id="4340982228985273705">এই কম্পিউটাৰটো এণ্টাৰপ্ৰাইজৰ দ্বাৰা পৰিচালিত হোৱা হিচাপে চিনাক্ত হোৱা নাই গতিকে নীতিয়ে কেৱল Chrome Webstoreত হ’ষ্ট কৰা এক্সটেনশ্বনহে স্বয়ংক্ৰিয়ভাৱে ইনষ্টল কৰিব পাৰিব। Chrome Webstore আপডে’ট কৰা URL হৈছে "<ph name="CWS_UPDATE_URL" />"।</translation>
 <translation id="4348834659292907206"><ph name="SITE" />লৈ কৰা সংযোগটো সুৰক্ষিত নহয়</translation>
@@ -1411,6 +1414,7 @@
 <translation id="4359160567981085931">আপুনি এটা প্ৰবঞ্চনামূলক ছাইটত এইমাত্ৰ নিজৰ পাছৱৰ্ডটো দিছে। Chromeএ সহায় কৰিব পাৰে। আপোনাৰ পাছৱৰ্ডটো সলনি কৰিবলৈ আৰু আপোনাৰ একাউণ্টটো ক্ষতি হোৱাৰ সম্ভাৱনা থকা বুলি Googleক অৱগত কৰিবলৈ একাউণ্টটো সুৰক্ষিত কৰকত ক্লিক কৰক।</translation>
 <translation id="4363222835916186793">এই প্ৰ’ডাক্টটোৰ বাবে সতৰ্কবাৰ্তা অফ কৰা হৈছে</translation>
 <translation id="437040971055499437">সুৰক্ষা সম্পৰ্কীয় ঘটনা ঘটিলে</translation>
+<translation id="4371307856413138486">ৰূপান্তৰ কৰা পাঠৰ আৰম্ভণি</translation>
 <translation id="4371591986692297148">নিষ্ক্ৰিয় হৈ আছে</translation>
 <translation id="4372948949327679948">প্ৰত্যাশিত <ph name="VALUE_TYPE" /> মান।</translation>
 <translation id="4375864595697821259">যদি আপুনি কোনো বস্তু আপোনাৰ আগ্ৰহ অনুমান কৰাৰ সময়ত Chromeএ বাছি ল’ব পৰা বিষয়সমূহত থকাটো বিচাৰে, তেন্তে সেইটো পুনৰায় যোগ দিয়ক</translation>
@@ -2085,6 +2089,7 @@
 <translation id="6040143037577758943">বন্ধ কৰক</translation>
 <translation id="6041777658117377052">চেম্বাৰৰ তাপমান</translation>
 <translation id="6042308850641462728">অধিক</translation>
+<translation id="6042688167654081154">প্ৰতিচ্ছবিখন পাঠলৈ ৰূপান্তৰ কৰা হৈছে</translation>
 <translation id="6044573915096792553">আকাৰ ১২</translation>
 <translation id="6045164183059402045">ইম্পজিশ্বন টেমপ্লে’ট</translation>
 <translation id="6047233362582046994">যদি আপুনি আপোনাৰ সুৰক্ষাৰ প্ৰতি সৃষ্টি হ‘ব পৰা ক্ষতিৰ কথা বুজি পাইছে তেন্তে ক্ষতিকাৰক এপ্‌সমূহ আঁতৰোৱাৰ আগেয়ে আপুনি <ph name="BEGIN_LINK" />এই ছাইটটো চাওক<ph name="END_LINK" /> খুলি চাব পাৰে।</translation>
@@ -2145,6 +2150,7 @@
 <translation id="6195371403461054755">ভূ-বিজ্ঞান</translation>
 <translation id="6196640612572343990">তৃতীয়-পক্ষৰ কুকিসমূহ অৱৰোধ কৰক</translation>
 <translation id="6197648101609735209">৮৯ x ৮৯ মি.মি.</translation>
+<translation id="6200386911308538077">প্ৰতিচ্ছবিখন বিশ্লেষণ কৰি থকা হৈছে</translation>
 <translation id="6203231073485539293">আপোনাৰ ইণ্টাৰনেট সংযোগ পৰীক্ষা কৰক</translation>
 <translation id="6205314730813004066">বিজ্ঞাপনৰ গোপনীয়তা</translation>
 <translation id="6212314149070368045">ইউএছ ফেনফ’ল্ড</translation>
@@ -2263,6 +2269,7 @@
 <translation id="6468485451923838994">ফ’ণ্ট</translation>
 <translation id="647261751007945333">ডিভাইচৰ নীতি</translation>
 <translation id="647330291963761005">আপডে’ট ইনষ্টল কৰি থকা হৈছে</translation>
+<translation id="6474220430271405609">নীতি সম্পৰ্কীয় পৰীক্ষণসমূহ</translation>
 <translation id="6475672344094591109">আপুনি চোৱা ছাইটসমূহে তেওঁলোকক তেওঁলোকৰ বিজ্ঞাপনৰ পাৰদৰ্শিতা জোখ-মাখ কৰাত সহায় কৰা তথ্য Chromeৰ পৰা বিচাৰিব পাৰে। ছাইটসমূহে ইটোৱে সিটোৰ সৈতে শ্বেয়াৰ কৰিব পৰা তথ্য সীমিত কৰি Chrome-এ আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰে।</translation>
 <translation id="6476284679642588870">পৰিশোধ পদ্ধতিসমূহ পৰিচালনা কৰক</translation>
 <translation id="6486200200930923183">তথ্যচিত্ৰ সম্বন্ধীয় চলচ্চিত্ৰ</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 129194b..10e17c6 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Lütfən, tarix və saatı &lt;strong&gt;Ayarlar&lt;/strong&gt; tətbiqinin &lt;strong&gt;Ümumi&lt;/strong&gt; bölməsində düzəldin.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Administrator cihazınızı bu vaxt yenidən başladacaq: <ph name="TIME" />, <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Şəkillərdən mətn çevrilməyib</translation>
 <translation id="156703335097561114">Ünvanlar, interfeys konfiqurasiyası və bağlantı keyfiyyəti kimi şəbəkə məlumatları</translation>
 <translation id="1567040042588613346">Bu siyasət nəzərdə tutulduğu kimi işləyir, lakin eyni dəyər başqa bir yerdə təyin olunub və bu siyasət tərəfindən əvəz edilib.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> əlavə edin</translation>
@@ -1196,6 +1197,7 @@
 <translation id="3890664840433101773">E-poçt ünvanı əlavə edin</translation>
 <translation id="3897092660631435901">Menyu</translation>
 <translation id="3901925938762663762">Kartın vaxtı bitib.</translation>
+<translation id="3906095212874392000">Çevrilmiş mətnin sonu</translation>
 <translation id="3906954721959377182">Planşet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">İstənilən vaxt Chrome ayarlarında fikrinizi dəyişə bilərsiniz</translation>
@@ -1396,6 +1398,7 @@
 <translation id="4331519897422864041">Yığıcı 5</translation>
 <translation id="4331708818696583467">Təhlükəsiz deyil</translation>
 <translation id="4333561522337981382">Bütün displeylərinizdə pəncərələri idarə edin</translation>
+<translation id="4338709847516294988">Axtarış və m üzərinə basıb, kontekst menyusunda şəkli mətnə çevirin</translation>
 <translation id="4340575312453649552">Bu reklam cihazınız üçün həddindən çox mənbədən istifadə etdiyinə görə Chrome onu sildi.</translation>
 <translation id="4340982228985273705">Bu kompüter korporativ idarə edilmir, ona görə də siyasət yalnız Chrome Veb Mağazasında saxlanılan artırmaları quraşdıra bilər. Chrome Veb Mağaza güncəlləmə linki: "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> saytına bağlantı güvənli deyil</translation>
@@ -1411,6 +1414,7 @@
 <translation id="4359160567981085931">İndicə parolunuzu aldadıcı saytda daxil etdiniz. Chrome yardım edə bilər. Parolunuzu dəyişmək və Google'a hesabınızın təhlükədə ola biləcəyini bildirmək üçün "Hesabı Qoruyun" seçiminə toxunun.</translation>
 <translation id="4363222835916186793">Bu məhsul üçün xəbərdarlıqlar deaktiv edilib</translation>
 <translation id="437040971055499437">Güvənlik tədbiri baş verir</translation>
+<translation id="4371307856413138486">Çevrilmiş mətnin başlanğıcı</translation>
 <translation id="4371591986692297148">Fəaliyyətsiz</translation>
 <translation id="4372948949327679948">Gözlənilən <ph name="VALUE_TYPE" /> dəyəri.</translation>
 <translation id="4375864595697821259">Maraqlarınızı qiymətləndirərkən Chrome'un seçə biləcəyi mövzular bazasında olmasını istəyirsinizsə, elementi geri əlavə edin</translation>
@@ -2085,6 +2089,7 @@
 <translation id="6040143037577758943">Qapat</translation>
 <translation id="6041777658117377052">Kameranın temperaturu</translation>
 <translation id="6042308850641462728">Daha çox</translation>
+<translation id="6042688167654081154">Şəkil mətnə çevrildi</translation>
 <translation id="6044573915096792553">Ölçü 12</translation>
 <translation id="6045164183059402045">Tətbiq şablonu</translation>
 <translation id="6047233362582046994">Təhlükəsizliklə bağlı riskləri başa düşürsünüzsə, zərərli tətbiqlər silinmədən əvvəl <ph name="BEGIN_LINK" />bu sayta daxil ola<ph name="END_LINK" /> bilərsiniz.</translation>
@@ -2146,6 +2151,7 @@
 <translation id="6195371403461054755">Geologiya</translation>
 <translation id="6196640612572343990">Üçüncü tərəf kukiləri blok edin</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Şəkil təhlil edilir</translation>
 <translation id="6203231073485539293">İnternet bağlantısını yoxlayın</translation>
 <translation id="6205314730813004066">Reklam məxfiliyi</translation>
 <translation id="6212314149070368045">ABŞ Fanfold</translation>
@@ -2264,6 +2270,7 @@
 <translation id="6468485451923838994">Şriftlər</translation>
 <translation id="647261751007945333">Cihaz siyasəti</translation>
 <translation id="647330291963761005">Güncəllənmələr quraşdırılır</translation>
+<translation id="6474220430271405609">Siyasət testləri</translation>
 <translation id="6475672344094591109">Ziyarət etdiyiniz saytlar Chrome'dan reklamlarının performansını ölçməyə kömək edən məlumat istəyə bilər. Chrome saytların bir-biri ilə paylaşa biləcəyi məlumatları məhdudlaşdırmaqla məxfiliyinizi qoruyur.</translation>
 <translation id="6476284679642588870">Ödəniş metodlarını idarə edin</translation>
 <translation id="6486200200930923183">Sənədli filmlər</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index e54025a..ad024f4 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -265,6 +265,7 @@
 
 &lt;p&gt;দয়া করে &lt;strong&gt;সেটিংস&lt;/strong&gt; অ্যাপ্লিকেশানের &lt;strong&gt;সাধারণ&lt;/strong&gt; বিভাগ থেকে তারিখ এবং সময় সংশোধন করুন৷&lt;/p&gt;</translation>
 <translation id="1559839503761818503"><ph name="DATE" />-এ <ph name="TIME" />-এ আপনার অ্যাডমিনিস্ট্রেটর আপনার ডিভাইস রিস্টার্ট করবে</translation>
+<translation id="1564753300777780201">ছবি থেকে কোনও টেক্সট কনভার্ট করা হয়নি</translation>
 <translation id="156703335097561114">নেটওয়ার্কিং তথ্য যেমন ঠিকানা, ইন্টারফেস কনফিগারেশন এবং কানেকশন কোয়ালিটি</translation>
 <translation id="1567040042588613346">এই নীতি আশানুরূপ কাজ করছে। আসলে অন্য একটি জায়গাতে একই ধরনের মান সেট করা হয়েছে এবং সেই মানের জায়গাতে এই নীতি প্রয়োগ করা হয়।</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> যোগ করুন</translation>
@@ -1201,6 +1202,7 @@
 <translation id="3890664840433101773">ইমেল আইডি যোগ করুন</translation>
 <translation id="3897092660631435901">মেনু</translation>
 <translation id="3901925938762663762">কার্ডটির মেয়াদ শেষ হয়েছে</translation>
+<translation id="3906095212874392000">কনভার্ট করা টেক্সট শেষ</translation>
 <translation id="3906954721959377182">ট্যাবলেট</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">আপনি Chrome সেটিংস থেকে যেকোনও সময় আপনার সিদ্ধান্ত পরিবর্তন করতে পারেন</translation>
@@ -1401,6 +1403,7 @@
 <translation id="4331519897422864041">স্ট্যাকার ৫</translation>
 <translation id="4331708818696583467">সুরক্ষিত নয়</translation>
 <translation id="4333561522337981382">আপনার সব ডিসপ্লেতে উইন্ডো ম্যানেজ করুন</translation>
+<translation id="4338709847516294988">Search ও M বোতাম একসাথে প্রেস করে সংশ্লিষ্ট মেনুতে ইমেজ, টেক্সটে কনভার্ট করুন</translation>
 <translation id="4340575312453649552">এই বিজ্ঞাপন আপনার ডিভাইসের অনেক রিসোর্স ব্যবহার করেছে, তাই Chrome সেটি মুছে দিয়েছে।</translation>
 <translation id="4340982228985273705">এই কম্পিউটারটি এন্টারপ্রাইজ স্তরে পরিচালনা করা হচ্ছে হিসেবে শনাক্ত করা যায়নি, তাই নীতিটি শুধুমাত্র Chrome ওয়েব স্টোরে হোস্ট করা এক্সটেনশন নিজে থেকে ইনস্টল করতে পারবে। Chrome ওয়েব স্টোর আপডেটের ইউআরএল হল "<ph name="CWS_UPDATE_URL" />"।</translation>
 <translation id="4348834659292907206"><ph name="SITE" />-এর কানেকশনটি সুরক্ষিত নয়</translation>
@@ -1416,6 +1419,7 @@
 <translation id="4359160567981085931">আপনি এখনই প্রতারণামূলক একটি সাইটে আপনার পাসওয়ার্ড লিখেছেন। Chrome সাহায্য করবে। আপনার অ্যাকাউন্টের নিরাপত্তা লঙ্ঘনের সম্ভাবনা এড়ানোর জন্য পাসওয়ার্ড পরিবর্তন করতে এবং Google-কে বিজ্ঞপ্তি দিয়ে জানাতে 'অ্যাকাউন্ট সুরক্ষিত রাখুন' বিকল্পে ক্লিক করুন।</translation>
 <translation id="4363222835916186793">এই প্রোডাক্টের জন্য বিজ্ঞপ্তি বন্ধ করা হয়েছে</translation>
 <translation id="437040971055499437">নিরাপত্তা সংক্রান্ত ঘটনা ঘটেছে</translation>
+<translation id="4371307856413138486">কনভার্ট করা টেক্সট শুরু</translation>
 <translation id="4371591986692297148">চালু নেই</translation>
 <translation id="4372948949327679948">প্রত্যাশিত <ph name="VALUE_TYPE" /> মান৷</translation>
 <translation id="4375864595697821259">আপনি চাইলে নিজের বিষয়ের সংকলনে আবার একটি বিষয় যোগ করতে পারবেন এবং Chrome আপনার পছন্দ অনুমান করার সময় সেখান থেকে বেছে নিতে পারবে</translation>
@@ -2090,6 +2094,7 @@
 <translation id="6040143037577758943">বন্ধ</translation>
 <translation id="6041777658117377052">চেম্বারের তাপমাত্রা</translation>
 <translation id="6042308850641462728">আরও</translation>
+<translation id="6042688167654081154">ছবি, টেক্সটে কনভার্ট করা হয়েছে</translation>
 <translation id="6044573915096792553">সাইজ ১২</translation>
 <translation id="6045164183059402045">ইম্পোজিশন টেমপ্লেট</translation>
 <translation id="6047233362582046994">আপনি যদি আপনার নিরাপত্তার ঝুঁকিগুলি বুঝে নিয়ে থাকেন, তাহলে ক্ষতিকারক অ্যাপগুলি সরানোর আগে <ph name="BEGIN_LINK" />এই সাইটে যেতে পারেন<ph name="END_LINK" />৷</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">জিওলজি</translation>
 <translation id="6196640612572343990">তৃতীয় পক্ষের কুকিজ অবরুদ্ধ করুন</translation>
 <translation id="6197648101609735209">৮৯ x ৮৯ মিমি</translation>
+<translation id="6200386911308538077">ছবি বিশ্লেষণ করা হচ্ছে</translation>
 <translation id="6203231073485539293">আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন</translation>
 <translation id="6205314730813004066">বিজ্ঞাপন সংক্রান্ত গোপনীয়তা</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index be04fa8..cd6ccfd 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -267,7 +267,7 @@
 
       &lt;p&gt;Podesite datum i vrijeme iz odjeljka &lt;strong&gt;Opće&lt;/strong&gt; u aplikaciji &lt;strong&gt;Postavke&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Vaš administrator će ponovo pokrenuti uređaj u <ph name="TIME" />, <ph name="DATE" /></translation>
-<translation id="1564753300777780201">Nijedan tekst nije konvertiran iz slika</translation>
+<translation id="1564753300777780201">Nijedan tekst nije pretvoren iz slika</translation>
 <translation id="156703335097561114">Informacije o umrežavanju, naprimjer adrese, konfiguracija interfejsa i kvalitet veze</translation>
 <translation id="1567040042588613346">Ovo pravilo radi kako je predviđeno, ali je ista vrijednost postavljena negdje drugo i ovo pravilo ju je zaobišlo.</translation>
 <translation id="1567405528131216114">Dodavanje: <ph name="TOPIC" /></translation>
@@ -1208,7 +1208,7 @@
 <translation id="3890664840433101773">Dodajte adresu e-pošte</translation>
 <translation id="3897092660631435901">Meni</translation>
 <translation id="3901925938762663762">Kartica je istekla</translation>
-<translation id="3906095212874392000">Kraj konvertiranog teksta</translation>
+<translation id="3906095212874392000">Kraj pretvorenog teksta</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Uvijek se možete predomisliti i promijeniti postavke Chromea</translation>
@@ -1411,7 +1411,7 @@
 <translation id="4331519897422864041">Slagač 5</translation>
 <translation id="4331708818696583467">Nije sigurno</translation>
 <translation id="4333561522337981382">Upravljati prozorima na svim vašim ekranima</translation>
-<translation id="4338709847516294988">Na kontekstnom izborniku pritisnite tipku za pretraživanje i tipku m i konvertirajte sliku u tekst</translation>
+<translation id="4338709847516294988">Pritisnite Pretraži i M te pretvorite sliku u tekst u kontekstualnom meniju</translation>
 <translation id="4340575312453649552">Ovaj oglas je koristio previše resursa za vaš uređaj, pa ga je Chrome uklonio.</translation>
 <translation id="4340982228985273705">Ovaj računar nije prepoznat kao računar kojim upravlja preduzeće stoga pravilo može automatski instalirati ekstenzije koje su hostirane na Chrome web trgovini. URL za ažuriranje Chrome web trgovine je "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Veza s web lokacijom <ph name="SITE" /> nije sigurna</translation>
@@ -1427,7 +1427,7 @@
 <translation id="4359160567981085931">Upravo ste unijeli lozinku na obmanjujućoj web lokaciji. Chrome vam može pomoći. Da promijenite lozinku i obavijestite Google da vam je račun možda ugrožen, kliknite Zaštiti račun.</translation>
 <translation id="4363222835916186793">Obavještenja za ovaj proizvod su isključena</translation>
 <translation id="437040971055499437">Sigurnosni događaj se javlja</translation>
-<translation id="4371307856413138486">Početak konvertiranog teksta</translation>
+<translation id="4371307856413138486">Početak pretvorenog teksta</translation>
 <translation id="4371591986692297148">Neaktivno</translation>
 <translation id="4372948949327679948">Očekivana vrijednost vrste <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Ponovo dodajte artikal ako želite da bude u skupini tema koje Chrome može odabrati prilikom procjenjivanja vaših interesovanja</translation>
@@ -2107,7 +2107,7 @@
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6041777658117377052">Temperatura komore</translation>
 <translation id="6042308850641462728">Više</translation>
-<translation id="6042688167654081154">Slika je konvertirana u tekst</translation>
+<translation id="6042688167654081154">Slika je pretvorena u tekst</translation>
 <translation id="6044573915096792553">Veličina 12</translation>
 <translation id="6045164183059402045">Šablon položaja</translation>
 <translation id="6047233362582046994">Ako razumijete rizike po vašu sigurnost, možete <ph name="BEGIN_LINK" />posjetiti ovu web lokaciju<ph name="END_LINK" /> prije uklanjanja štetnih aplikacija.</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 2919a55..09b775f 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Canvieu la data i l'hora a la secció &lt;strong&gt;General&lt;/strong&gt; de l'aplicació &lt;strong&gt;Configuració&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">L'administrador reiniciarà el dispositiu el dia <ph name="DATE" /> a les <ph name="TIME" /></translation>
+<translation id="1564753300777780201">No s'ha convertit cap text a partir d'imatges</translation>
 <translation id="156703335097561114">Informació de les xarxes, com ara les adreces, la configuració de les interfícies i la qualitat de la connexió</translation>
 <translation id="1567040042588613346">Aquesta política funciona correctament, però s'ha establert el mateix valor en un altre lloc i s'ha substituït per la política.</translation>
 <translation id="1567405528131216114">Afegeix <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Afegeix un correu electrònic</translation>
 <translation id="3897092660631435901">Menú</translation>
 <translation id="3901925938762663762">La targeta ha caducat</translation>
+<translation id="3906095212874392000">Final del text convertit</translation>
 <translation id="3906954721959377182">Tauleta</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Si canvies d'opinió, pots modificar la configuració de Chrome en qualsevol moment</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Apiladora 5</translation>
 <translation id="4331708818696583467">No segur</translation>
 <translation id="4333561522337981382">Gestionar finestres en totes les pantalles</translation>
+<translation id="4338709847516294988">Prem Cerca+M i converteix la imatge a text al menú contextual</translation>
 <translation id="4340575312453649552">Com que aquest anunci feia servir massa recursos per al dispositiu, Chrome l'ha suprimit.</translation>
 <translation id="4340982228985273705">No ens consta que aquest ordinador estigui gestionat per una empresa. Per tant, la política només pot instal·lar automàticament extensions allotjades a Chrome Web Store. L'URL d'actualització de Chrome Web Store és <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">La connexió a <ph name="SITE" /> no és segura</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Acabes d'introduir la contrasenya en un lloc web enganyós. Chrome pot ajudar-te. Per canviar la contrasenya i notificar a Google que el compte pot estar en perill, fes clic a Protegeix el compte.</translation>
 <translation id="4363222835916186793">Les alertes d'aquest producte s'han desactivat</translation>
 <translation id="437040971055499437">Es produeix un esdeveniment de seguretat</translation>
+<translation id="4371307856413138486">Inici del text convertit</translation>
 <translation id="4371591986692297148">inactiu</translation>
 <translation id="4372948949327679948">Valor <ph name="VALUE_TYPE" /> esperat.</translation>
 <translation id="4375864595697821259">Torna a afegir un element si vols que s'inclogui al grup de temes entre els quals Chrome pot triar en estimar els teus interessos</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Tanca</translation>
 <translation id="6041777658117377052">Temperatura de la sala</translation>
 <translation id="6042308850641462728">Més</translation>
+<translation id="6042688167654081154">La imatge s'ha convertit a text</translation>
 <translation id="6044573915096792553">Mida 12</translation>
 <translation id="6045164183059402045">Plantilla d'imposició</translation>
 <translation id="6047233362582046994">Si entens el risc que suposa per a la teva seguretat, pots <ph name="BEGIN_LINK" />visitar aquest lloc web<ph name="END_LINK" /> abans que no s'hagin suprimit les aplicacions perjudicials.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">Geologia</translation>
 <translation id="6196640612572343990">Bloqueja les galetes de tercers</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">La imatge s'està analitzant</translation>
 <translation id="6203231073485539293">Comprovació de la connexió a Internet</translation>
 <translation id="6205314730813004066">Privadesa d'anuncis</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_cy.xtb b/components/strings/components_strings_cy.xtb
index ef9dcaf..530a2c0 100644
--- a/components/strings/components_strings_cy.xtb
+++ b/components/strings/components_strings_cy.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Newidiwch y dyddiad a'r amser o adran &lt;strong&gt;Cyffredinol&lt;/strong&gt; yr ap &lt;strong&gt;Gosodiadau&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Bydd eich gweinyddwr yn ailgychwyn eich dyfais am <ph name="TIME" /> ar <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Dim testun wedi'i drosi o luniau</translation>
 <translation id="156703335097561114">Gwybodaeth rhwydweithio megis cyfeiriadau, ffurfweddiad rhyngwyneb, ac ansawdd cysylltiad</translation>
 <translation id="1567040042588613346">Mae'r polisi hwn yn gweithio yn ôl y bwriad ond gosodir yr un gwerth mewn man arall ac mae'n cael ei ddisodli gan y polisi hwn.</translation>
 <translation id="1567405528131216114">Ychwanegu <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Ychwanegwch e-bost</translation>
 <translation id="3897092660631435901">Dewislen</translation>
 <translation id="3901925938762663762">Mae'r cerdyn wedi darfod</translation>
+<translation id="3906095212874392000">Diwedd y testun sydd wedi'i drosi</translation>
 <translation id="3906954721959377182">Llechen</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Gallwch newid eich meddwl ar unrhyw bryd yng ngosodiadau Chrome</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Pentyrrwr 5</translation>
 <translation id="4331708818696583467">Ddim yn Ddiogel</translation>
 <translation id="4333561522337981382">Rheoli ffenestri ar eich holl sgriniau</translation>
+<translation id="4338709847516294988">Pwyswch Search ac M ac yna trosi llun i destun yn y ddewislen cyd-destun</translation>
 <translation id="4340575312453649552">Gwnaeth yr hysbyseb hon ddefnyddio gormod o adnoddau i'ch dyfais, felly gwnaeth Chrome ei dynnu.</translation>
 <translation id="4340982228985273705">Nid yw'r cyfrifiadur hwn yn cael ei ganfod fel un a reolir gan fenter, felly dim ond estyniadau a gynhelir ar Chrome Webstore y gall y polisi eu gosod yn awtomatig. Yr URL diweddaru Chrome Webstore yw "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Nid yw'r cysylltiad â <ph name="SITE" /> yn ddiogel</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Rydych newydd nodi'ch cyfrinair ar wefan dwyllodrus. Gall Chrome helpu. I newid eich cyfrinair ac i hysbysu Google y gallai eich cyfrif fod mewn perygl, cliciwch ar Diogelu Cyfrif.</translation>
 <translation id="4363222835916186793">Mae hysbysiadau ar gyfer y cynnyrch hwn wedi'u diffodd</translation>
 <translation id="437040971055499437">Digwyddiad diogelwch yn digwydd</translation>
+<translation id="4371307856413138486">Dechrau testun sydd wedi'i drosi</translation>
 <translation id="4371591986692297148">Anweithredol</translation>
 <translation id="4372948949327679948">Disgwylir gwerth o'r math <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Ychwanegwch eitem yn ôl os ydych ei heisiau yn y gronfa o bynciau y gall Chrome ddewis ohonynt wrth amcangyfrif eich diddordebau</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Cau</translation>
 <translation id="6041777658117377052">Tymheredd y siambr</translation>
 <translation id="6042308850641462728">Mwy</translation>
+<translation id="6042688167654081154">Mae'r llun wedi'i drosi i destun</translation>
 <translation id="6044573915096792553">Maint 12</translation>
 <translation id="6045164183059402045">Templed gosod</translation>
 <translation id="6047233362582046994">Os ydych yn deall y risgiau i'ch diogelwch, gallwch <ph name="BEGIN_LINK" />fynd i'r wefan hon<ph name="END_LINK" /> cyn i'r apiau niweidiol gael eu tynnu.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">Daeareg</translation>
 <translation id="6196640612572343990">Rhwystro cwcis trydydd parti</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Mae'r llun yn cael ei dadansoddi</translation>
 <translation id="6203231073485539293">Gwiriwch eich cysylltiad Rhyngrwyd</translation>
 <translation id="6205314730813004066">Preifatrwydd hysbyseb</translation>
 <translation id="6212314149070368045">Ffanffold UDA</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 38a60db1..d0df918 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -267,6 +267,7 @@
 
       &lt;p&gt;Juster datoen og tiden i sektionen &lt;strong&gt;Generelt&lt;/strong&gt; i appen &lt;strong&gt;Indstillinger&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Din administrator vil genstarte din enhed klokken <ph name="TIME" /> den <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Ingen tekst konverteres fra billeder</translation>
 <translation id="156703335097561114">Netværksoplysninger som f.eks. adresser, grænsefladekonfiguration og forbindelseskvalitet</translation>
 <translation id="1567040042588613346">Denne politik fungerer efter hensigten, men et andet sted er den samme værdi blevet tilsidesat af denne politik.</translation>
 <translation id="1567405528131216114">Tilføj <ph name="TOPIC" /></translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">Tilføj mailadresse</translation>
 <translation id="3897092660631435901">Menu</translation>
 <translation id="3901925938762663762">Kortet er udløbet</translation>
+<translation id="3906095212874392000">Slut på konverteret tekst</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Du kan til enhver tid ombestemme dig og fravælge dette i Chrome-indstillingerne</translation>
@@ -1409,6 +1411,7 @@
 <translation id="4331519897422864041">Stabler 5</translation>
 <translation id="4331708818696583467">Ikke sikker</translation>
 <translation id="4333561522337981382">Administrere vinduer på alle dine skærme</translation>
+<translation id="4338709847516294988">Tryk på søgetasten plus m, og konverter billedet til tekst i genvejsmenuen</translation>
 <translation id="4340575312453649552">Denne annonce anvendte for mange ressourcer på din enhed, så Chrome har fjernet den.</translation>
 <translation id="4340982228985273705">Denne computer registreres ikke som virksomhedsadministreret, så politikken kan kun automatisk installere udvidelser, der hostes i Chrome Webshop. Opdateringswebadressen til Chrome Webshop er "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Forbindelsen til <ph name="SITE" /> er ikke sikker</translation>
@@ -1424,6 +1427,7 @@
 <translation id="4359160567981085931">Du har lige angivet din adgangskode på et vildledende website. Chrome kan hjælpe. Klik på Beskyt konto for at ændre din adgangskode og underrette Google om, at din konto muligvis er kompromitteret.</translation>
 <translation id="4363222835916186793">Underretninger for dette produkt er deaktiveret</translation>
 <translation id="437040971055499437">Forekomst af sikkerhedshændelse</translation>
+<translation id="4371307856413138486">Start på konverteret tekst</translation>
 <translation id="4371591986692297148">Inaktiv</translation>
 <translation id="4372948949327679948">Forventet <ph name="VALUE_TYPE" />-værdi.</translation>
 <translation id="4375864595697821259">Tilføj et element igen, hvis du vil føje det til samlingen af emner, som Chrome kan vælge mellem, når dine interesser estimeres</translation>
@@ -2103,6 +2107,7 @@
 <translation id="6040143037577758943">Luk</translation>
 <translation id="6041777658117377052">Kabinettemperatur</translation>
 <translation id="6042308850641462728">Mere</translation>
+<translation id="6042688167654081154">Billedet er konverteret til tekst</translation>
 <translation id="6044573915096792553">Størrelse 12</translation>
 <translation id="6045164183059402045">Skabelon for indførelse</translation>
 <translation id="6047233362582046994">Hvis du er indforstået med de forbundne sikkerhedsrisici, kan du <ph name="BEGIN_LINK" />besøge dette website<ph name="END_LINK" />, inden de skadelige apps fjernes.</translation>
@@ -2165,6 +2170,7 @@
 <translation id="6195371403461054755">Geologi</translation>
 <translation id="6196640612572343990">Bloker cookies fra tredjeparter</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Billedet analyseres</translation>
 <translation id="6203231073485539293">Kontrollér din internetforbindelse</translation>
 <translation id="6205314730813004066">Privatliv ved annoncering</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index a756233..cf51a29b 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -261,6 +261,7 @@
 
           &lt;p&gt;Stelle in der App &lt;strong&gt;Einstellungen&lt;/strong&gt; im Bereich &lt;strong&gt;Allgemein&lt;/strong&gt; Datum und Uhrzeit richtig ein.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Dein Administrator startet das Gerät um <ph name="TIME" /> am <ph name="DATE" /> neu</translation>
+<translation id="1564753300777780201">Kein Text aus Bildern konvertiert</translation>
 <translation id="156703335097561114">Netzwerkinformationen wie Adressen, Schnittstellenkonfigurationen und Verbindungsqualität</translation>
 <translation id="1567040042588613346">Diese Richtlinie funktioniert wie beabsichtigt, an anderer Stelle ist jedoch der gleiche Wert festgelegt, der von dieser Richtlinie ersetzt wird.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> hinzufügen</translation>
@@ -1180,6 +1181,7 @@
 <translation id="3890664840433101773">E-Mail-Adresse hinzufügen</translation>
 <translation id="3897092660631435901">Menü</translation>
 <translation id="3901925938762663762">Die Karte ist abgelaufen.</translation>
+<translation id="3906095212874392000">Ende des konvertierten Textes</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> – <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Du kannst deine Meinung jederzeit ändern und deine Chrome-Einstellungen entsprechend anpassen</translation>
@@ -1378,6 +1380,7 @@
 <translation id="4331519897422864041">Stapelfach 5</translation>
 <translation id="4331708818696583467">Nicht sicher</translation>
 <translation id="4333561522337981382">Fenster auf allen Bildschirmen verwalten</translation>
+<translation id="4338709847516294988">Drücke Suchtaste + m, um das Bild über das Kontextmenü in Text zu konvertieren</translation>
 <translation id="4340575312453649552">Diese Werbeanzeige erfordert auf deinem Gerät zu viele Ressourcen. Darum hat Chrome sie entfernt.</translation>
 <translation id="4340982228985273705">Dieser Computer wird nicht als von einem Unternehmen verwaltet erkannt, sodass nur Erweiterungen, die im Chrome Web Store gehostet sind, automatisch durch die Richtlinie installiert werden können. Die Update-URL des Chrome Web Store lautet "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Die Verbindung zu <ph name="SITE" /> ist nicht sicher</translation>
@@ -1393,6 +1396,7 @@
 <translation id="4359160567981085931">Du hast dein Passwort gerade auf einer verdächtigen Website eingegeben. Chrome kann dir helfen. Wenn du dein Passwort ändern und Google darüber informieren möchtest, dass dein Konto gefährdet sein könnte, klicke auf "Konto schützen".</translation>
 <translation id="4363222835916186793">Benachrichtigungen zu diesem Produkt wurden deaktiviert</translation>
 <translation id="437040971055499437">Sicherheitshinweis aufgetreten</translation>
+<translation id="4371307856413138486">Beginn des konvertierten Textes</translation>
 <translation id="4371591986692297148">Inaktiv</translation>
 <translation id="4372948949327679948">Erwarteter <ph name="VALUE_TYPE" />-Wert</translation>
 <translation id="4375864595697821259">Wenn du ein Thema in der Gruppe von Themen haben möchtest, die Chrome zur Ermittlung deiner Interessen verwenden darf, kannst du es wieder hinzufügen</translation>
@@ -2060,6 +2064,7 @@
 <translation id="6040143037577758943">Schließen</translation>
 <translation id="6041777658117377052">Temperatur der Kammer</translation>
 <translation id="6042308850641462728">Mehr</translation>
+<translation id="6042688167654081154">Bild in Text konvertiert</translation>
 <translation id="6044573915096792553">Größe 12</translation>
 <translation id="6045164183059402045">Vorlage für Ausschießen</translation>
 <translation id="6047233362582046994">Wenn du die Sicherheitsrisiken kennst, kannst du <ph name="BEGIN_LINK" />diese Website aufrufen<ph name="END_LINK" />, bevor die schädlichen Apps entfernt wurden.</translation>
@@ -2121,6 +2126,7 @@
 <translation id="6195371403461054755">Geologie</translation>
 <translation id="6196640612572343990">Drittanbieter-Cookies blockieren</translation>
 <translation id="6197648101609735209">89 × 89 mm</translation>
+<translation id="6200386911308538077">Bild wird analysiert</translation>
 <translation id="6203231073485539293">Bitte überprüfe deine Internetverbindung.</translation>
 <translation id="6205314730813004066">Datenschutz bei Anzeigen</translation>
 <translation id="6212314149070368045">Zickzackfaltung (USA)</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 95c9ec4..343e843 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">Παιχνίδι Dino. Ένας δεινόσαυρος με εφέ pixel αποφεύγει κάκτους και πτεροδάκτυλους καθώς τρέχει σε ένα έρημο τοπίο. Όταν ακούσετε ένα ηχητικό σήμα, πατήστε το πλήκτρο διαστήματος για να πηδήξετε πάνω από τα εμπόδια.</translation>
 <translation id="1374468813861204354">προτάσεις</translation>
 <translation id="1375198122581997741">Σχετικά με την έκδοση</translation>
+<translation id="1375293861397106342">Όλες οι επιλογές συνήθως <ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">Εμφάνιση λιγότερων</translation>
 <translation id="1380591466760231819">Δίπλωση Letter</translation>
 <translation id="138218114945450791">Ανοιχτό μπλε</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">Αυτή η σελίδα λέει</translation>
 <translation id="1536390784834419204">Μετάφραση σελίδας</translation>
 <translation id="1539840569003678498">Η αναφορά στάλθηκε:</translation>
+<translation id="1545757265410828525">Ιστορικό τιμών</translation>
 <translation id="1549470594296187301">Θα πρέπει να ενεργοποιηθεί η JavaScript για τη χρήση αυτής της λειτουργίας.</translation>
 <translation id="1551884710160394169">Λογισμικό χωρίς κόστος και λογισμικό κοινής χρήσης</translation>
 <translation id="1553358976309200471">Ενημερώστε το Chrome</translation>
@@ -265,6 +267,7 @@
 
       &lt;p&gt;Προσαρμόστε την ημερομηνία και την ώρα από την ενότητα &lt;strong&gt;Γενικές&lt;/strong&gt; της εφαρμογής &lt;strong&gt;Ρυθμίσεις&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Ο διαχειριστής σας θα επανεκκινήσει τη συσκευή σας στις <ph name="TIME" /> στις <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Δεν έγινε μετατροπή κειμένου από εικόνες</translation>
 <translation id="156703335097561114">Πληροφορίες δικτύωσης, όπως διευθύνσεις, διαμόρφωση διεπαφής και ποιότητα σύνδεσης</translation>
 <translation id="1567040042588613346">Αυτή η πολιτική λειτουργεί με τον αναμενόμενο τρόπο αλλά η ίδια τιμή έχει οριστεί αλλού και αντικαθίσταται από αυτήν την πολιτική.</translation>
 <translation id="1567405528131216114">Προσθήκη <ph name="TOPIC" /></translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">Δεν υπάρχουν θέματα για εμφάνιση αυτήν τη στιγμή</translation>
 <translation id="2021333772895814435">Αυτή η πολιτική απενεργοποιεί αυτόματα τον συγχρονισμό σε όλες τις συσκευές για τα εξής: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 x 19 ίντσες</translation>
+<translation id="2022815493835288714">Η ειδοποίηση για νέα ρύθμιση πληρωμής είναι ανοιχτή</translation>
 <translation id="2025115093177348061">Επαυξημένη πραγματικότητα</translation>
 <translation id="2025186561304664664">Ο διακομιστής μεσολάβησης έχει ρυθμιστεί σε αυτόματη διαμόρφωση.</translation>
 <translation id="2025891858974379949">Μη ασφαλές περιεχόμενο</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">Προειδοποίηση ασφαλείας</translation>
 <translation id="2692131511336778528">Επιστημονική φαντασία και φαντασία</translation>
 <translation id="2701514975700770343">Πρόσοψη προς τα κάτω</translation>
+<translation id="2702592986366989640">Επιλογή χαμηλής τιμής</translation>
 <translation id="2702801445560668637">Λίστα ανάγνωσης</translation>
 <translation id="2704283930420550640">Η τιμή δεν συμφωνεί με τη μορφή.</translation>
 <translation id="2704606927547763573">Αντιγράφ.</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">Δημιουργία συμβάντος</translation>
 <translation id="2903493209154104877">Διευθύνσεις</translation>
 <translation id="290376772003165898">Η σελίδα δεν είναι στα <ph name="LANGUAGE" />;</translation>
+<translation id="2905107382358353958">Ειδοποίηση για νέα ρύθμιση πληρωμής</translation>
 <translation id="2909946352844186028">Εντοπίστηκε μια αλλαγή δικτύου.</translation>
 <translation id="2911973620368911614">Αναγνωριστικό χρήστη λογαριασμού εργασίας</translation>
 <translation id="2914160345369867329">Υπό φυσιολογικές συνθήκες, ο ιστότοπος <ph name="SITE" /> χρησιμοποιεί κρυπτογράφηση για να προστατεύσει τα στοιχεία σας. Όταν το Chrome επιχείρησε πρόσφατα να συνδεθεί στο <ph name="SITE" />, η απάντηση του ιστοτόπου περιείχε ασυνήθιστα και εσφαλμένα διαπιστευτήρια. Αυτό μπορεί να συμβεί όταν κάποιος εισβολέας προσπαθεί να υποκριθεί ότι είναι ο ιστότοπος <ph name="SITE" /> ή όταν κάποια οθόνη σύνδεσης Wi-Fi έχει διακόψει τη σύνδεσή σας. Τα στοιχεία σας εξακολουθούν να είναι ασφαλή επειδή το Chrome διέκοψε τη σύνδεση πριν από την ανταλλαγή δεδομένων.</translation>
@@ -931,6 +937,7 @@
 <translation id="3256863843508922226">Συνταξιοδότηση και σύνταξη</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε το πλήκτρο Tab και έπειτα το πλήκτρο Enter για να δημιουργήσετε γρήγορα ένα νέο συμβάν στο Ημερολόγιο Google</translation>
 <translation id="3261488570342242926">Μάθετε σχετικά με τις εικονικές κάρτες</translation>
+<translation id="3262698603497362968">Επιλογές αγοράς</translation>
 <translation id="3266367459139339908">Διαθέτουμε νέους τρόπους για τον περιορισμό των δεδομένων που μπορούν να μαθαίνουν οι ιστότοποι σχετικά εσάς όταν εμφανίζουν εξατομικευμένες διαφημίσεις, για παράδειγμα:</translation>
 <translation id="3266793032086590337">Τιμή (διένεξη)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Κανένας αποκλεισμένος ιστότοπος, συμπεριλαμβανομένων των σχετικών ιστοτόπων}=1{1 αποκλεισμένος ιστότοπος, συμπεριλαμβανομένων των σχετικών ιστοτόπων}other{# αποκλεισμένοι ιστότοποι, συμπεριλαμβανομένων των σχετικών ιστοτόπων}}</translation>
@@ -1115,6 +1122,7 @@
 <translation id="3693327506115126094">Επιλέξτε τον τρόπο επαλήθευσης της ταυτότητάς σας</translation>
 <translation id="3698629142018988477">Κουμπί Δημιουργία ιστοτόπου, ενεργοποιήστε το για να δημιουργήσετε γρήγορα έναν νέο ιστότοπο στους Ιστοτόπους Google</translation>
 <translation id="3701427423622901115">Έγινε επιβεβαίωση της επαναφοράς.</translation>
+<translation id="3701900332588705891">Συνήθως <ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">Το δίκτυο που χρησιμοποιείτε ενδέχεται να σας ζητήσει να επισκεφτείτε τη σελίδα σύνδεσης του.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">Φόρτωση...</translation>
@@ -1200,6 +1208,7 @@
 <translation id="3890664840433101773">Προσθήκη διεύθυνσης ηλεκτρονικού ταχυδρομείου</translation>
 <translation id="3897092660631435901">Μενού</translation>
 <translation id="3901925938762663762">Η κάρτα έχει λήξει</translation>
+<translation id="3906095212874392000">Τέλος του κειμένου που μετατράπηκε</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Μπορείτε να αλλάξετε γνώμη ανά πάσα στιγμή στις ρυθμίσεις του Chrome.</translation>
@@ -1219,6 +1228,7 @@
 <translation id="3949870428812919180">Δεν υπάρχουν αποθηκευμένοι τρόποι πληρωμής</translation>
 <translation id="3950574001630941635">Επανεκκίνηση οδηγού</translation>
 <translation id="3950820424414687140">Σύνδεση</translation>
+<translation id="3953505489397572035">Αυτή η τιμή είναι συνήθης</translation>
 <translation id="3958057596965527988">4 x 4 ίντσες</translation>
 <translation id="3961148744525529027">Το φύλλο του δείκτη χειρισμού πληρωμής έχει ανοίξει κατά το ήμισυ.</translation>
 <translation id="3962859241508114581">Προηγούμενο κομμάτι</translation>
@@ -1356,6 +1366,7 @@
 <translation id="4250680216510889253">Όχι</translation>
 <translation id="4250716950689692560">A4x4</translation>
 <translation id="4253168017788158739">Σημείωση</translation>
+<translation id="4255487295905690262">Αν η τιμή πέσει σε οποιονδήποτε ιστότοπο, θα λάβετε ειδοποιήσεις ηλεκτρονικού ταχυδρομείου.</translation>
 <translation id="425582637250725228">Οι αλλαγές που κάνατε ενδέχεται να μην έχουν αποθηκευτεί.</translation>
 <translation id="4258748452823770588">Εσφαλμένη υπογραφή</translation>
 <translation id="4261046003697461417">Δεν είναι δυνατός ο σχολιασμός των προστατευμένων εγγράφων</translation>
@@ -1401,6 +1412,7 @@
 <translation id="4331519897422864041">Μονάδα στοίβαξης 5</translation>
 <translation id="4331708818696583467">Μη ασφαλές</translation>
 <translation id="4333561522337981382">Διαχείριση παραθύρων σε όλες τις οθόνες σας</translation>
+<translation id="4338709847516294988">Πατήστε αναζήτηση και m και μετατρέψτε την εικόνα σε κείμενο στο μενού περιβάλλοντος</translation>
 <translation id="4340575312453649552">Αυτή η διαφήμιση καταργήθηκε από το Chrome επειδή χρησιμοποιεί υπερβολικά πολλούς πόρους στη συσκευή σας.</translation>
 <translation id="4340982228985273705">Αυτός ο υπολογιστής δεν έχει εντοπιστεί ως διαχειριζόμενος από επιχείρηση. Συνεπώς, η πολιτική μπορεί να εγκαθιστά αυτόματα μόνο επεκτάσεις οι οποίες φιλοξενούνται στο Chrome Webstore. Το URL ενημέρωσης του Chrome Webstore είναι το "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Η σύνδεση στον ιστότοπο <ph name="SITE" /> δεν είναι ασφαλής</translation>
@@ -1416,6 +1428,7 @@
 <translation id="4359160567981085931">Μόλις καταχωρίσατε τον κωδικό πρόσβασής σας σε έναν παραπλανητικό ιστότοπο. Το Chrome μπορεί να βοηθήσει. Για να αλλάξετε τον κωδικό πρόσβασής σας και να ενημερώσετε την Google ότι ο λογαριασμός σας μπορεί να κινδυνεύει, κάντε κλικ στην επιλογή Προστασία λογαριασμού.</translation>
 <translation id="4363222835916186793">Οι ειδοποιήσεις για αυτό το προϊόν έχουν απενεργοποιηθεί.</translation>
 <translation id="437040971055499437">Παρουσιάζεται συμβάν ασφαλείας</translation>
+<translation id="4371307856413138486">Αρχή του κειμένου που μετατράπηκε</translation>
 <translation id="4371591986692297148">Ανενεργή</translation>
 <translation id="4372948949327679948">Αναμενόμενη τιμή <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Προσθέστε ξανά ένα στοιχείο εάν θέλετε να υπάρχει στα θέματα από τα οποία το Chrome μπορεί να επιλέξει καθώς προσδιορίζει τα ενδιαφέροντά σας.</translation>
@@ -1440,6 +1453,7 @@
 <translation id="4433642172056592619">Παραβλέφθηκε επειδή ο χρήστης δεν συνδέεται με τη διαχείριση υπολογιστή ή επειδή δεν γίνεται διαχείριση του υπολογιστή.</translation>
 <translation id="4434045419905280838">Αναδυόμενα παράθυρα και ανακατευθύνσεις</translation>
 <translation id="443673843213245140">Η χρήση ενός διακομιστή μεσολάβησης είναι απενεργοποιημένη, αλλά έχει καθοριστεί μια ρητή διαμόρφωση διακομιστή μεσολάβησης.</translation>
+<translation id="4438821706955556403">Συνήθης τιμή</translation>
 <translation id="4441832193888514600">Έγινε παράβλεψη επειδή η πολιτική μπορεί να οριστεί μόνο ως πολιτική χρήστη cloud.</translation>
 <translation id="4449116177348980384">Κουμπί Διαχείριση ρυθμίσεων ιστοτόπου, ενεργοποιήστε το για να διαχειριστείτε τις άδειες και τα δεδομένα που έχουν αποθηκευτεί σε ιστοτόπους από τις ρυθμίσεις του Chrome</translation>
 <translation id="4451135742916150903">Μπορεί να ζητά να συνδεθεί σε συσκευές HID.</translation>
@@ -1455,6 +1469,7 @@
 <translation id="4489023393592172404">Φάκελος Kaku 4</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">Κρυπτογραφήστε συγχρονισμένους κωδικούς πρόσβασης με τον Λογαριασμό σας Google</translation>
+<translation id="4492332866628791879">Αποθήκευση και παρακολούθηση τιμής</translation>
 <translation id="4492519888999857993">Αυτές οι λειτουργίες είναι απενεργοποιημένες από προεπιλογή. Δεν θα είναι διαθέσιμες σε μελλοντικές εκδόσεις του Chrome.</translation>
 <translation id="4493480324863638523">Μη έγκυρο URL. Πρέπει να είναι ένα URL με βασική μορφή, π.χ. http://example.com ή https://example.com.</translation>
 <translation id="4494323206460475851">Μπορείτε να βλέπετε θέματα διαφημίσεων στις ρυθμίσεις και να αποκλείσετε αυτά που δεν θέλετε να κοινοποιούνται σε ιστοτόπους. Επίσης, το Chrome διαγράφει αυτόματα τα θέματα διαφημίσεων που είναι παλαιότερα των 4 εβδομάδων.</translation>
@@ -1594,6 +1609,7 @@
 <translation id="4813512666221746211">Σφάλμα δικτύου</translation>
 <translation id="4816492930507672669">Προσαρμογή στη σελίδα</translation>
 <translation id="4819347708020428563">Επεξεργασία σχολιασμών στην προεπιλεγμένη προβολή;</translation>
+<translation id="4822493756793346865">Οι συνήθεις τιμές βασίζονται σε πληροφορίες των τελευταίων 90 ημερών από καταστήματα στον ιστό.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε το πλήκτρο Tab και έπειτα το πλήκτρο Enter για να δημιουργήσετε γρήγορα ένα νέο Φύλλο Google</translation>
 <translation id="4825507807291741242">Ισχυρό</translation>
 <translation id="483241715238664915">Ενεργοποίηση ειδοποιήσεων</translation>
@@ -1773,6 +1789,7 @@
 <translation id="523149107733989821">A4 Extra</translation>
 <translation id="5234764350956374838">Παράβλεψη</translation>
 <translation id="5238301240406177137">Αποθήκευση στον λογαριασμό</translation>
+<translation id="5239119062986868403">Συνήθης τιμή</translation>
 <translation id="5239623327352565343">Η πρόσβαση στην τοποθεσία επιτράπηκε</translation>
 <translation id="5242889659037569123">Αξεσουάρ αποσκευών και ταξιδίου</translation>
 <translation id="5244521145258281926">Κουμπί Διαχείριση Λογαριασμού Google, ενεργοποιήστε την για να διαχειριστείτε τις πληροφορίες, το απόρρητο και την ασφάλεια στον Λογαριασμό σας Google</translation>
@@ -1842,6 +1859,7 @@
 <translation id="5398772614898833570">Αποκλείστηκαν διαφημίσεις</translation>
 <translation id="5400836586163650660">Γκρι</translation>
 <translation id="540969355065856584">Αυτός ο διακομιστής δεν μπόρεσε να αποδείξει ότι είναι <ph name="DOMAIN" />. Το πιστοποιητικό ασφαλείας του δεν είναι έγκυρο αυτήν τη στιγμή. Αυτό μπορεί να οφείλεται σε εσφαλμένη ρύθμιση ή σε κάποιον εισβολέα που παρεμβαίνει στη σύνδεσή σας.</translation>
+<translation id="5411462078004183575">Επιλογή χαμηλής τιμής</translation>
 <translation id="5412040515238827314">Μη έγκυρη μορφή: Αναμενόταν μια λίστα μοτίβων.</translation>
 <translation id="5412236728747081950">Αυτός ο ιστότοπος λαμβάνει πληροφορίες για τα ενδιαφέροντά σας από το Chrome για να εμφανίσει πιο συναφείς διαφημίσεις.</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> – <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2090,6 +2108,7 @@
 <translation id="6040143037577758943">Κλείσιμο</translation>
 <translation id="6041777658117377052">Θερμοκρασία θαλάμου</translation>
 <translation id="6042308850641462728">Περισσότερα</translation>
+<translation id="6042688167654081154">Η εικόνα μετατράπηκε σε κείμενο</translation>
 <translation id="6044573915096792553">Μέγεθος 12</translation>
 <translation id="6045164183059402045">Πρότυπο ένθεσης</translation>
 <translation id="6047233362582046994">Εάν κατανοείτε τους κινδύνους για την ασφάλειά σας, μπορείτε να <ph name="BEGIN_LINK" />επισκεφτείτε αυτόν τον ιστότοπο<ph name="END_LINK" /> πριν από την κατάργηση των επιβλαβών εφαρμογών.</translation>
@@ -2142,6 +2161,7 @@
 <translation id="6167577165590485365">Τελευταία προσπάθεια λήψης:</translation>
 <translation id="6169916984152623906">Στο εξής μπορείτε να περιηγηθείτε ιδιωτικά και η δραστηριότητά σας δεν θα είναι ορατή στα άλλα άτομα που χρησιμοποιούν αυτήν τη συσκευή. Ωστόσο, οι λήψεις και οι σελιδοδείκτες θα αποθηκεύονται</translation>
 <translation id="617256461084925519">Το Google Chrome προσπαθεί να επαληθεύσει την ταυτότητά σας για να μπορέσει να συμπληρώσει τα στοιχεία πληρωμής.</translation>
+<translation id="6176387967264100435">Αυτή η τιμή είναι υψηλή</translation>
 <translation id="6177128806592000436">Η σύνδεσή σας σε αυτόν τον ιστότοπο δεν είναι ασφαλής</translation>
 <translation id="6177531123306197852">Φάκελος C2</translation>
 <translation id="6180316780098470077">Διάστημα επανάληψης</translation>
@@ -2151,6 +2171,7 @@
 <translation id="6195371403461054755">Γεωλογία</translation>
 <translation id="6196640612572343990">Αποκλεισμός cookie τρίτων</translation>
 <translation id="6197648101609735209">89 x 89 χιλ.</translation>
+<translation id="6200386911308538077">Γίνεται ανάλυση της εικόνας</translation>
 <translation id="6203231073485539293">Ελέγξτε τη σύνδεσή σας στο Internet</translation>
 <translation id="6205314730813004066">Απόρρητο διαφημίσεων</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
@@ -2269,6 +2290,7 @@
 <translation id="6468485451923838994">Γραμματοσειρές</translation>
 <translation id="647261751007945333">Πολιτικές συσκευών </translation>
 <translation id="647330291963761005">Εγκατάσταση ενημερώσεων</translation>
+<translation id="6474220430271405609">Δοκιμές πολιτικής</translation>
 <translation id="6475672344094591109">Οι ιστότοποι που επισκέπτεστε μπορούν να ζητήσουν από το Chrome πληροφορίες που θα τους βοηθήσουν να μετρήσουν την απόδοση των διαφημίσεών τους. Το Chrome προστατεύει το απόρρητό σας περιορίζοντας τις πληροφορίες που μπορούν να κοινοποιούν οι ιστότοποι μεταξύ τους.</translation>
 <translation id="6476284679642588870">Διαχείριση τρόπων πληρωμής</translation>
 <translation id="6486200200930923183">Ντοκιμαντέρ</translation>
@@ -2277,6 +2299,7 @@
 <translation id="6494750904506170417">αναδυόμενα και ανακατευθύνσεις</translation>
 <translation id="6497295192259406877">Επιχειρηματικές δραστηριότητες</translation>
 <translation id="6499038740797743453">Επαναφορά κωδικού πρόσβασης;</translation>
+<translation id="6502510275417601303">Η ειδοποίηση για νέα ρύθμιση πληρωμής είναι κλειστή</translation>
 <translation id="6502626736864595182">Πάροχοι φόρουμ και συζητήσεων (Chat)</translation>
 <translation id="6502991525169604759">Χωρίς τις αλλαγές σας</translation>
 <translation id="6506959208958864820">Φάκελος</translation>
@@ -2336,6 +2359,7 @@
 <translation id="6651270836885078973">Η διαχείριση γίνεται από:</translation>
 <translation id="6652101503459149953">Χρήση Windows Hello</translation>
 <translation id="6657585470893396449">Κωδικός πρόσβασης</translation>
+<translation id="6659246032834639189">Αυτή η τιμή είναι χαμηλή</translation>
 <translation id="6660413144148052430">τοποθεσία</translation>
 <translation id="6662457027866368246">Πρώτο ρολό</translation>
 <translation id="666259744093848177">(x86_64 μεταφρασμένο)</translation>
@@ -2418,6 +2442,7 @@
 <translation id="6869334554832814367">Προσωπικά δάνεια</translation>
 <translation id="6873456682041376666">Επάνω τροφοδότης χαρτιού</translation>
 <translation id="6874604403660855544">&amp;Επανάληψη προσθήκης</translation>
+<translation id="6880941331070119097">Επιλογή υψηλής τιμής</translation>
 <translation id="6881240511396774766">Γρήγορη δημιουργία νέου Εγγράφου Google</translation>
 <translation id="6883221904761970440">Το φύλλο ελέγχου ταυτότητας διαπιστευτηρίων για ασφαλείς πληρωμές είναι κλειστό</translation>
 <translation id="6884662655240309489">Μέγεθος 1</translation>
@@ -2566,11 +2591,13 @@
 <translation id="7210863904660874423">Ο κεντρικός υπολογιστής <ph name="HOST_NAME" /> δεν συμμορφώνεται με τα πρότυπα ασφάλειας.</translation>
 <translation id="7210993021468939304">Δραστηριότητα Linux εντός του κοντέινερ καθώς και δυνατότητα εγκατάστασης και εκτέλεσης εφαρμογών Linux εντός του κοντέινερ.</translation>
 <translation id="721197778055552897"><ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /> σχετικά με αυτό το πρόβλημα.</translation>
+<translation id="7213191991901907140">Μιλήστε μας για την εμπειρία σας</translation>
 <translation id="7217745192097460130">Χρήση του Touch ID για επαλήθευση και ολοκλήρωση της αγοράς σας;</translation>
 <translation id="7219179957768738017">Στη σύνδεση χρησιμοποιείται <ph name="SSL_VERSION" />.</translation>
 <translation id="7220786058474068424">Επεξεργασία</translation>
 <translation id="7221855153210829124">Εμφάνιση ειδοποιήσεων</translation>
 <translation id="722454870747268814">Νέα καρτέλα ανώνυμης περιήγησης</translation>
+<translation id="7227293336683593977">Ιστορικό τιμών</translation>
 <translation id="7233592378249864828">Εκτύπωση φύλλου επιβεβαίωσης</translation>
 <translation id="7234638337680728591">Τιμές βενζίνης και καύσιμα οχημάτων</translation>
 <translation id="7236417832106250253">Ολοκλήρωση κατά <ph name="PROGRESS_PERCENT" />% | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2938,6 +2965,7 @@
 <translation id="8057711352706143257">Το λογισμικό "<ph name="SOFTWARE_NAME" />" δεν έχει διαμορφωθεί σωστά. Το πρόβλημα διορθώνεται συνήθως με την απεγκατάσταση του λογισμικού "<ph name="SOFTWARE_NAME" />". <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">Παραγωγή τροφίμων</translation>
 <translation id="8058603697124206642">Δεν απαιτείται</translation>
+<translation id="8063875539456488183">Αποθήκευση και παρακολούθηση τιμής</translation>
 <translation id="8064892030280197386">επαληθεύσει την ταυτότητά σας για να μπορέσει να συμπληρώσει τα στοιχεία πληρωμής.</translation>
 <translation id="8066225060526005217">Η διαχείριση γίνεται από τις ρυθμίσεις cookie</translation>
 <translation id="8067872629359326442">Μόλις καταχωρίσατε τον κωδικό πρόσβασής σας σε έναν παραπλανητικό ιστότοπο. Το Chromium μπορεί να βοηθήσει. Για να αλλάξετε τον κωδικό πρόσβασής σας και να ενημερώσετε την Google ότι ο λογαριασμός σας μπορεί να κινδυνεύει, κάντε κλικ στην επιλογή Προστασία λογαριασμού.</translation>
@@ -2969,6 +2997,7 @@
 <translation id="810875025413331850">Δεν βρέθηκαν κοντινές συσκευές.</translation>
 <translation id="8116925261070264013">Σε σίγαση</translation>
 <translation id="8118489163946903409">Τρόπος πληρωμής</translation>
+<translation id="8118506371121007279">Αποστολή σχολίων</translation>
 <translation id="8123046743443732598">Υπολογιστές</translation>
 <translation id="8126056688005753476">Ταξίδια περιπέτειας</translation>
 <translation id="8127301229239896662">Το λογισμικό "<ph name="SOFTWARE_NAME" />" δεν εγκαταστάθηκε σωστά στον υπολογιστή ή στο δίκτυό σας. Ζητήστε από τον διαχειριστή IT να επιλύσει αυτό το πρόβλημα.</translation>
@@ -3070,6 +3099,7 @@
 <translation id="8378714024927312812">Διαχειριζόμενο από τον οργανισμό σας</translation>
 <translation id="8380941800586852976">Επικίνδυνο</translation>
 <translation id="8381674639488873545">Αυτές οι χρεώσεις μπορεί να είναι εφάπαξ ή επαναλαμβανόμενες και ίσως να μην είναι εμφανείς.<ph name="BEGIN_LINK" />Εμφάνιση ούτως ή άλλως<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">Συνήθως <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">Η κοινοποίηση από το <ph name="ORIGIN_NAME" /> στο <ph name="VM_NAME" /> έχει αποκλειστεί από την πολιτική του διαχειριστή.</translation>
 <translation id="8396522675989118466">Αυτός είναι ο <ph name="NUMBER_OF_DIGITS" />-ψήφιος κωδικός στην <ph name="SIDE_OF_CARD" /></translation>
 <translation id="8398335999901363925">Η λίστα των τρόπων πληρωμής που είναι διαθέσιμοι για συμπλήρωση μέσω αφής είναι ανοιχτή σε πλήρες ύψος.</translation>
@@ -3131,6 +3161,7 @@
 <translation id="8542014550340843547">Τριπλή συρραφή στο κάτω μέρος</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">Μπορείτε να <ph name="BEGIN_ERROR_LINK" />αναφέρετε ένα πρόβλημα εντοπισμού<ph name="END_ERROR_LINK" /> ή, εάν κατανοείτε τους κινδύνους ασφαλείας, να <ph name="BEGIN_LINK" />επισκεφτείτε αυτόν τον μη ασφαλή ιστότοπο<ph name="END_LINK" />.</translation>
+<translation id="854548366864113872">Επιλογή υψηλής τιμής</translation>
 <translation id="8546350655047701518">Εξαγωγή αρχείων καταγραφής σε JSON</translation>
 <translation id="854892890027593466">Φάκελος C6/C5</translation>
 <translation id="8553387990086529628">Τουριστικοί προορισμοί</translation>
@@ -3144,6 +3175,7 @@
 <translation id="8564182942834072828">Ξεχωριστά έγγραφα/Αντίγραφα χωρίς συρραφή</translation>
 <translation id="8564985650692024650">Το Chromium συνιστά την επαναφορά του κωδικού πρόσβασης <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" />, εάν τον έχετε χρησιμοποιήσει και σε άλλους ιστοτόπους.</translation>
 <translation id="8576310925653847813">Συστήματα οικιακού κινηματογράφου</translation>
+<translation id="8577192028579836704">Όλες οι επιλογές συνήθως <ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">Η εικονική κάρτα δεν είναι διαθέσιμη</translation>
 <translation id="858637041960032120">Προσθ. τηλεφ.
 </translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 121b7a3b..7d241f66 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Ajusta la fecha y la hora desde la sección &lt;strong&gt;General&lt;/strong&gt; de la app de &lt;strong&gt;Configuración&lt;/strong&gt; .&lt;/p&gt;</translation>
 <translation id="1559839503761818503">El administrador reiniciará el dispositivo el <ph name="DATE" /> a las <ph name="TIME" /></translation>
+<translation id="1564753300777780201">No se convirtió texto a partir de las imágenes</translation>
 <translation id="156703335097561114">La información de la red, como las direcciones, la configuración de las interfaces y la calidad de la conexión</translation>
 <translation id="1567040042588613346">Esta política se comporta según lo esperado, pero sustituyó el mismo valor que se configuró en otro lugar.</translation>
 <translation id="1567405528131216114">Agregar <ph name="TOPIC" /></translation>
@@ -1201,6 +1202,7 @@
 <translation id="3890664840433101773">Agregar correo electrónico</translation>
 <translation id="3897092660631435901">Menú</translation>
 <translation id="3901925938762663762">Caducó la tarjeta.</translation>
+<translation id="3906095212874392000">Fin del texto convertido</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Puedes cambiar de opinión en cualquier momento en la configuración de Chrome</translation>
@@ -1401,6 +1403,7 @@
 <translation id="4331519897422864041">Apilador 5</translation>
 <translation id="4331708818696583467">No seguro</translation>
 <translation id="4333561522337981382">Administrar ventanas en todas tus pantallas</translation>
+<translation id="4338709847516294988">Presiona la tecla de búsqueda y M para convertir la imagen a texto en el menú contextual</translation>
 <translation id="4340575312453649552">Chrome quitó este anuncio porque usó demasiados recursos en tu dispositivo.</translation>
 <translation id="4340982228985273705">Esta computadora no se detectó como una empresa administrada, por lo que la política solo puede instalar automáticamente las extensiones alojadas en Chrome Web Store. La URL de actualización de Chrome Web Store es "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">La conexión a <ph name="SITE" /> no es segura</translation>
@@ -1416,6 +1419,7 @@
 <translation id="4359160567981085931">Ingresaste tu contraseña en un sitio engañoso. Chrome puede ayudarte. Para cambiar la contraseña y notificar a Google que tu cuenta podría estar en riesgo, haz clic en Proteger cuenta.</translation>
 <translation id="4363222835916186793">Se desactivaron las alertas para este producto</translation>
 <translation id="437040971055499437">Se produjo un evento de seguridad</translation>
+<translation id="4371307856413138486">Inicio del texto convertido</translation>
 <translation id="4371591986692297148">Inactivo</translation>
 <translation id="4372948949327679948">Valor <ph name="VALUE_TYPE" /> esperado.</translation>
 <translation id="4375864595697821259">Vuelve a agregar un elemento si quieres que aparezca en el grupo de temas que Chrome puede elegir al estimar tus intereses.</translation>
@@ -2090,6 +2094,7 @@
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6041777658117377052">Temperatura de la cámara</translation>
 <translation id="6042308850641462728">Más</translation>
+<translation id="6042688167654081154">Se convirtió la imagen a texto</translation>
 <translation id="6044573915096792553">Tamaño 12</translation>
 <translation id="6045164183059402045">Plantilla de imposición</translation>
 <translation id="6047233362582046994">Si comprendes los riesgos de seguridad, puedes <ph name="BEGIN_LINK" />visitar este sitio<ph name="END_LINK" /> antes de que se hayan quitado las apps dañinas.</translation>
@@ -2151,6 +2156,7 @@
 <translation id="6195371403461054755">Geología</translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6197648101609735209">89 × 89 mm</translation>
+<translation id="6200386911308538077">Se está analizando la imagen</translation>
 <translation id="6203231073485539293">Comprueba tu conexión a Internet.</translation>
 <translation id="6205314730813004066">Privacidad en los anuncios</translation>
 <translation id="6212314149070368045">Continuo estadounidense</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index a6d468da..307a74bc 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Ajusta la fecha y la hora en la sección &lt;strong&gt;General&lt;/strong&gt; de la aplicación &lt;strong&gt;Configuración&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Tu administrador reiniciará tu dispositivo a las <ph name="TIME" /> el <ph name="DATE" /></translation>
+<translation id="1564753300777780201">No hay texto convertido a partir de imágenes</translation>
 <translation id="156703335097561114">Información de redes como las direcciones, la configuración de la interfaz y la calidad de la conexión</translation>
 <translation id="1567040042588613346">Esta política funciona según lo previsto, pero ha sustituido el mismo valor definido en otra parte.</translation>
 <translation id="1567405528131216114">Añadir <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Añadir correo electrónico</translation>
 <translation id="3897092660631435901">Menú</translation>
 <translation id="3901925938762663762">La tarjeta ha caducado</translation>
+<translation id="3906095212874392000">Fin del texto convertido</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Puedes cambiar de opinión en cualquier momento modificando la configuración de Chrome</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Apilador 5</translation>
 <translation id="4331708818696583467">No es seguro</translation>
 <translation id="4333561522337981382">Gestionar ventanas en todas tus pantallas</translation>
+<translation id="4338709847516294988">Pulsa la tecla de búsqueda + M y convierte la imagen en texto en el menú contextual</translation>
 <translation id="4340575312453649552">Chrome ha retirado este anuncio porque consumía demasiados recursos de tu dispositivo.</translation>
 <translation id="4340982228985273705">No se ha detectado que este ordenador esté administrado por la empresa, por lo que la política solo puede instalar automáticamente extensiones alojadas en Chrome Webstore. La URL de actualización de Chrome Webstore es "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">La conexión a <ph name="SITE" /> no es segura</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Acabas de introducir tu contraseña en un sitio web engañoso. Chrome puede ayudarte. Para cambiar tu contraseña y notificar a Google de que tu cuenta podría estar en peligro, haz clic en Proteger cuenta.</translation>
 <translation id="4363222835916186793">Se han desactivado las alertas de este producto</translation>
 <translation id="437040971055499437">Se ha producido una actividad relacionada con la seguridad</translation>
+<translation id="4371307856413138486">Inicio del texto convertido</translation>
 <translation id="4371591986692297148">Inactivo</translation>
 <translation id="4372948949327679948">Se esperaba un valor <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Vuelve a añadir un elemento si quieres incluirlo en los temas entre los que Chrome puede elegir para estimar tus intereses.</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6041777658117377052">Temperatura de la cámara</translation>
 <translation id="6042308850641462728">Más</translation>
+<translation id="6042688167654081154">Imagen convertida en texto</translation>
 <translation id="6044573915096792553">Tamaño 12</translation>
 <translation id="6045164183059402045">Plantilla de imposición</translation>
 <translation id="6047233362582046994">Si entiendes los riesgos para tu seguridad, puedes <ph name="BEGIN_LINK" />acceder a este sitio web<ph name="END_LINK" /> antes de que se hayan eliminado las aplicaciones dañinas.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">Geología</translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6197648101609735209">89x89 mm</translation>
+<translation id="6200386911308538077">La imagen se está analizando</translation>
 <translation id="6203231073485539293">Comprueba tu conexión a Internet</translation>
 <translation id="6205314730813004066">Privacidad en la publicidad</translation>
 <translation id="6212314149070368045">Continuo de EE. UU.</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index eae4429..21472a0 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">بازی داینو. دایناسوری نقطه‌ای همان‌طور که در دشتی دورافتاده می‌دود، موقع رسیدن به کاکتوس‌ها و پتروداکتیل‌ها جاخالی می‌دهد. وقتی صدای نشانه صوتی را شنیدید، برای پریدن از روی موانع کلید فاصله را فشار دهید.</translation>
 <translation id="1374468813861204354">پیشنهادات</translation>
 <translation id="1375198122581997741">درباره نسخه</translation>
+<translation id="1375293861397106342">همه گزینه‌ها در محدوده قیمت معمول <ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /> قرار دارند</translation>
 <translation id="1376836354785490390">نمایش موارد کمتر</translation>
 <translation id="1380591466760231819">تاخوردگی نامه‌مانند</translation>
 <translation id="138218114945450791">آبی روشن</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">این صفحه می‌گوید</translation>
 <translation id="1536390784834419204">ترجمه صفحه</translation>
 <translation id="1539840569003678498">گزارش ارسال شد:</translation>
+<translation id="1545757265410828525">سابقه قیمت</translation>
 <translation id="1549470594296187301">برای استفاده از این قابلیت، جاوا اسکریپت باید فعال باشد.</translation>
 <translation id="1551884710160394169">نرم‌افزار رایگان و اشتراکی</translation>
 <translation id="1553358976309200471">‏به‌روزرسانی Chrome</translation>
@@ -265,6 +267,7 @@
 
           &lt;p&gt;لطفاً تاریخ و زمان را در بخش &lt;strong&gt;عمومی&lt;/strong&gt; برنامه &lt;strong&gt;تنظیمات&lt;/strong&gt; تنظیم کنید.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">سرپرست دستگاهتان را ساعت <ph name="TIME" /> در تاریخ <ph name="DATE" /> بازراه‌اندازی خواهد کرد</translation>
+<translation id="1564753300777780201">هیچ نوشتاری از تصاویر تبدیل نشد</translation>
 <translation id="156703335097561114">اطلاعات شبکه، مثل نشانی‌ها، پیکربندی میانا، و کیفیت اتصال</translation>
 <translation id="1567040042588613346">این خط‌مشی درست کار می‌کند اما مقدار یکسانی در جای دیگری تنظیم شده است که این خط‌مشی آن را جایگزین می‌کند.</translation>
 <translation id="1567405528131216114">افزودن <ph name="TOPIC" /></translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">درحال‌حاضر هیچ موضوعی برای نمایش وجود ندارد</translation>
 <translation id="2021333772895814435">این خط‌مشی همگام‌سازی را در همه دستگاه‌ها برای این موارد به‌طور خودکار غیرفعال می‌کند: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">۱۹ × ۱۲ اینچ</translation>
+<translation id="2022815493835288714">هشدار درباره تنظیم پرداخت جدید باز است</translation>
 <translation id="2025115093177348061">واقعیت افزوده</translation>
 <translation id="2025186561304664664">پروکسی بر روی پیکربندی خودکار تنظیم شده است.</translation>
 <translation id="2025891858974379949">محتوای ناامن</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">هشدار ایمنی</translation>
 <translation id="2692131511336778528">علمی تخیلی و فانتزی</translation>
 <translation id="2701514975700770343">روبه‌پایین</translation>
+<translation id="2702592986366989640">گزینه ارزان‌قیمت</translation>
 <translation id="2702801445560668637">فهرست خواندن</translation>
 <translation id="2704283930420550640">مقدار با فرمت مطابقت ندارد.</translation>
 <translation id="2704606927547763573">کپی شد</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">ایجاد رویداد</translation>
 <translation id="2903493209154104877">آدرس‌ها</translation>
 <translation id="290376772003165898">صفحه به زبان <ph name="LANGUAGE" /> وجود ندارد؟</translation>
+<translation id="2905107382358353958">هشدار درباره تنظیم پرداخت جدید</translation>
 <translation id="2909946352844186028">تغییر شبکه تشخیص داده شد.</translation>
 <translation id="2911973620368911614">شناسه کاربر حسابداری کار</translation>
 <translation id="2914160345369867329">‏<ph name="SITE" /> معمولاً از رمزگذاری برای محافظت از اطلاعات شما استفاده می‌کند. اما این بار که Chrome تلاش کرد به <ph name="SITE" /> متصل شود، وب‌سایت اطلاعات کاربری نامعمول و نادرستی را برگرداند. ممکن است مهاجمی در تلاش باشد خود را به‌جای <ph name="SITE" /> معرفی کند، یا ممکن است صفحه ورود به سیستم Wi-Fi در اتصال اختلال ایجاد کرده باشد. اطلاعات شما همچنان امن است، زیرا Chrome پیش‌از آنکه داده‌ای مبادله کند اتصال را قطع کرد.</translation>
@@ -931,6 +937,7 @@
 <translation id="3256863843508922226">بازنشستگی و مستمری</translation>
 <translation id="3259648571731540213">‏<ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />؛ برای ایجاد سریع رویداد جدید در «تقویم Google»، کلید «جهش» و سپس «ورود» را فشار دهید</translation>
 <translation id="3261488570342242926">درباره کارت‌های مجازی بیشتر بدانید</translation>
+<translation id="3262698603497362968">گزینه‌های خرید</translation>
 <translation id="3266367459139339908">درحال راه‌اندازی روش‌های جدیدی هستیم برای محدود کردن اطلاعاتی که سایت‌ها می‌توانند هنگام نمایش آگهی‌های شخصی‌سازی‌شده درباره شما کسب کنند، برای مثال:</translation>
 <translation id="3266793032086590337">مقدار (مغایر)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{هیچ سایتی مسدود نشده است، ازجمله سایت‌های مرتبط}=1{یک سایت مسدود شده است، ازجمله سایت‌های مرتبط}one{# سایت مسدود شده است، ازجمله سایت‌های مرتبط}other{# سایت مسدود شده است، ازجمله سایت‌های مرتبط}}</translation>
@@ -1115,6 +1122,7 @@
 <translation id="3693327506115126094">نحوه تأیید هویتتان را انتخاب کنید</translation>
 <translation id="3698629142018988477">‏دکمه ایجاد سایت؛ برای ایجاد سریع سایت جدید در Google Sites، آن را فعال کنید</translation>
 <translation id="3701427423622901115">بازنشانی تأیید شد.</translation>
+<translation id="3701900332588705891">قیمت معمول: <ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">شاید شبکه‌ای که استفاده می‌کنید، بازدید از صفحه ورود به سیستم خودش را برای شما ضروری کرده باشد.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">در حال بارکردن…</translation>
@@ -1200,6 +1208,7 @@
 <translation id="3890664840433101773">افزودن ایمیل</translation>
 <translation id="3897092660631435901">منو</translation>
 <translation id="3901925938762663762">کارت منقضی شده است</translation>
+<translation id="3906095212874392000">انتهای نوشتار تبدیل‌شده</translation>
 <translation id="3906954721959377182">رایانه لوحی</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">‏هرزمان بخواهید می‌توانید در تنظیمات Chrome نظرتان را عوض کنید</translation>
@@ -1219,6 +1228,7 @@
 <translation id="3949870428812919180">روش پرداخت ذخیره‌شده‌ای وجود ندارد</translation>
 <translation id="3950574001630941635">بازراه‌اندازی آموزش گام‌به‌گام</translation>
 <translation id="3950820424414687140">ورود به سیستم</translation>
+<translation id="3953505489397572035">این قیمت معمول است</translation>
 <translation id="3958057596965527988">۴ × ۴ اینچ</translation>
 <translation id="3961148744525529027">برگ کنترل‌کننده پرداخت نیمه‌باز است</translation>
 <translation id="3962859241508114581">آهنگ قبلی</translation>
@@ -1355,6 +1365,7 @@
 <translation id="4250680216510889253">نه</translation>
 <translation id="4250716950689692560">A4x4</translation>
 <translation id="4253168017788158739">یادداشت</translation>
+<translation id="4255487295905690262">اگر قیمت در هر سایتی کاهش پیدا کند، هشدار ایمیلی دریافت خواهید کرد.</translation>
 <translation id="425582637250725228">تغییراتی که انجام داده‌اید ممکن است ذخیره نشده باشند.</translation>
 <translation id="4258748452823770588">امضای نادرست</translation>
 <translation id="4261046003697461417">نمی‌توان در سند محافظت‌شده حاشیه‌نویسی کرد</translation>
@@ -1400,6 +1411,7 @@
 <translation id="4331519897422864041">پشته‌ساز ۵</translation>
 <translation id="4331708818696583467">امن نیست</translation>
 <translation id="4333561522337981382">پنجره‌های همه نمایشگرهایتان را مدیریت کند</translation>
+<translation id="4338709847516294988">‏کلید جستجو و m را فشار دهید و در منوی بافت، تصویر را به نوشتار تبدیل کنید</translation>
 <translation id="4340575312453649552">‏این آگهی از منابع زیادی برای دستگاهتان استفاده کرده بود، بنابراین Chrome آن را حذف کرد.</translation>
 <translation id="4340982228985273705">‏این رایانه به‌صورت سازمانی مدیریت نمی‌شود، بنابراین خط‌مشی تنها می‌تواند به‌صورت خودکار افزونه‌های میزبانی‌شده در «نت‌بازار Chrome» را نصب کند. نشانی وب به‌روزرسانی «نت‌بازار Chrome» «<ph name="CWS_UPDATE_URL" />» است.</translation>
 <translation id="4348834659292907206">اتصال به <ph name="SITE" /> امن نیست</translation>
@@ -1415,6 +1427,7 @@
 <translation id="4359160567981085931">‏اخیراً گذرواژه‌تان را در سایتی فریب‌کار وارد کرده‌اید. Chrome می‌تواند کمک کند. برای اینکه گذرواژه‌تان را تغییر دهید و به Google اطلاع دهید که شاید حسابتان درمعرض خطر باشد، روی «محافظت از حساب» کلیک کنید.</translation>
 <translation id="4363222835916186793">هشدارهای این محصول خاموش شد</translation>
 <translation id="437040971055499437">رویداد امنیتی اتفاق می‌افتد</translation>
+<translation id="4371307856413138486">ابتدای نوشتار تبدیل‌شده</translation>
 <translation id="4371591986692297148">غیرفعال</translation>
 <translation id="4372948949327679948">مقدار مورد انتظار <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">‏اگر می‌خواهید موردی در مجموعه موضوعاتی باشد که Chrome می‌تواند هنگام برآورد کردن علایق شما از میان آن‌ها انتخاب کند، آن مورد را دوباره اضافه کنید</translation>
@@ -1439,6 +1452,7 @@
 <translation id="4433642172056592619">نادیده گرفته شد زیرا کاربر تابع مدیریت ماشین نیست یا ماشین مدیریت نمی‌شود.</translation>
 <translation id="4434045419905280838">پنجره‌های بازشو و هدایت‌ها</translation>
 <translation id="443673843213245140">استفاده از پروکسی غیرفعال است اما یک پیکربندی خاص برای پروکسی تعیین شده است.</translation>
+<translation id="4438821706955556403">قیمت معمول</translation>
 <translation id="4441832193888514600">نادیده گرفته شد زیرا این خط‌مشی فقط می‌تواند به‌عنوان خط‌مشی کاربر ابری تنظیم شود.</translation>
 <translation id="4449116177348980384">‏دکمه مدیریت تنظیمات سایت؛ برای مدیریت اجازه‌ها و داده‌های ذخیره‌شده در سایت‌ها در تنظیمات Chrome، آن را فعال کنید</translation>
 <translation id="4451135742916150903">‏می‌تواند برای اتصال به دستگاه‌های HID درخواست دهد</translation>
@@ -1454,6 +1468,7 @@
 <translation id="4489023393592172404">پاکت کاکو ۴</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">‏رمزگذاری گذرواژه‌های همگام‌سازی‌شده با «حساب Google» شما</translation>
+<translation id="4492332866628791879">ذخیره و پیگیری قیمت</translation>
 <translation id="4492519888999857993">‏این ویژگی‌ها به‌طور پیش‌فرض غیرفعال شده‌اند. در نسخه‌های بعدی Chrome در دسترس نخواهند بود.</translation>
 <translation id="4493480324863638523">‏نشانی وب نامعتبر است. باید نشانی وبی با طرحی استاندارد مانند http://example.com یا https://example.com باشد.</translation>
 <translation id="4494323206460475851">‏می‌توانید موضوع‌های آگهی را در تنظیمات ببینید و آن‌هایی را که نمی‌خواهید با سایت‌ها هم‌رسانی شوند مسدود کنید. Chrome همچنین موضوع‌های آگهی قدیمی‌تر از ۴ هفته را به‌طور خودکار حذف می‌کند.</translation>
@@ -1593,6 +1608,7 @@
 <translation id="4813512666221746211">خطای شبکه</translation>
 <translation id="4816492930507672669">متناسب با صفحه</translation>
 <translation id="4819347708020428563">یادداشت‌ها در نمای پیش‌فرض ویرایش شوند؟</translation>
+<translation id="4822493756793346865">قیمت‌های معمول براساس فروشگاه‌های سراسر وب درطول ۹۰ روز گذشته ارائه شده است.</translation>
 <translation id="4825496307559726072">‏<ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />؛ برای ایجاد سریع «کاربرگ‌نگار Google» جدید، کلید «جهش» و سپس «ورود» را فشار دهید</translation>
 <translation id="4825507807291741242">نیرومند</translation>
 <translation id="483241715238664915">روشن کردن هشدارها</translation>
@@ -1772,6 +1788,7 @@
 <translation id="523149107733989821">A4 Extra</translation>
 <translation id="5234764350956374838">رد کردن</translation>
 <translation id="5238301240406177137">ذخیره در حساب</translation>
+<translation id="5239119062986868403">قیمت معمول</translation>
 <translation id="5239623327352565343">مکان مجاز است</translation>
 <translation id="5242889659037569123">لوازم سفر و چمدان</translation>
 <translation id="5244521145258281926">‏مدیریت «حساب Google»؛ برای مدیریت اطلاعات، حریم خصوصی، و امنیت در «حساب Google»، آن را فعال کنید</translation>
@@ -1841,6 +1858,7 @@
 <translation id="5398772614898833570">آگهی‌ها مسدود شدند</translation>
 <translation id="5400836586163650660">خاکستری</translation>
 <translation id="540969355065856584">این سرور نتوانست ثابت کند که <ph name="DOMAIN" /> است؛ در حال حاضر، گواهی امنیتی آن معتبر نیست. ممکن است این مشکل به دلیل پیکربندی نادرست یا قطع اتصال شما توسط حمله‌کننده ایجاد شده باشد.</translation>
+<translation id="5411462078004183575">گزینه ارزان‌قیمت</translation>
 <translation id="5412040515238827314">قالب نامعتبر است: انتظار می‌رود فهرستی از الگوها وجود داشته باشد.</translation>
 <translation id="5412236728747081950">‏این سایت علایقتان را از Chrome می‌گیرد تا آگهی‌های مرتبط‌تری به شما نشان دهد</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> - <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2089,6 +2107,7 @@
 <translation id="6040143037577758943">بستن</translation>
 <translation id="6041777658117377052">دمای محفظه</translation>
 <translation id="6042308850641462728">بیشتر</translation>
+<translation id="6042688167654081154">تصویر به نوشتار تبدیل شد</translation>
 <translation id="6044573915096792553">اندازه ۱۲</translation>
 <translation id="6045164183059402045">الگوی چاپ مضاعف</translation>
 <translation id="6047233362582046994">اگر خطری را که امنیتتان را تهدید می‌کند درک می‌کنید، می‌توانید قبل از حذف برنامه‌های مضر، <ph name="BEGIN_LINK" />از این سایت بازدید کنید<ph name="END_LINK" />.</translation>
@@ -2141,6 +2160,7 @@
 <translation id="6167577165590485365">آخرین تلاش برای واکشی:</translation>
 <translation id="6169916984152623906">اکنون می‌توانید به‌طور خصوصی مرور کنید و سایر افرادی که از این دستگاه استفاده می‌کنند فعالیت شما را نخواهند دید. بااین‌وجود بارگیری‌ها و نشانک‌ها ذخیره خواهند شد.</translation>
 <translation id="617256461084925519">‏Google Chrome سعی دارد هویت شما را تأیید کند تا بتواند اطلاعات پرداخت شما را تکمیل کند.</translation>
+<translation id="6176387967264100435">این قیمت بالا است</translation>
 <translation id="6177128806592000436">اتصال شما به این سایت امن نیست</translation>
 <translation id="6177531123306197852">پاکت سی۲</translation>
 <translation id="6180316780098470077">فاصله زمانی امتحان مجدد</translation>
@@ -2150,6 +2170,7 @@
 <translation id="6195371403461054755">زمین‌شناسی</translation>
 <translation id="6196640612572343990">مسدود کردن کوکی‌های شخص ثالث</translation>
 <translation id="6197648101609735209">۸۹ × ۸۹ میلی‌متر</translation>
+<translation id="6200386911308538077">تصویر درحال تجزیه‌وتحلیل است</translation>
 <translation id="6203231073485539293">اتصال اینترنتتان را بررسی کنید</translation>
 <translation id="6205314730813004066">حریم خصوصی آگهی</translation>
 <translation id="6212314149070368045">تاشوی آمریکایی</translation>
@@ -2268,6 +2289,7 @@
 <translation id="6468485451923838994">قلم‌ها</translation>
 <translation id="647261751007945333">خط‌‌مشی‌های دستگاه</translation>
 <translation id="647330291963761005">درحال نصب به‌روزرسانی‌ها</translation>
+<translation id="6474220430271405609">آزمایش‌های خط‌مشی</translation>
 <translation id="6475672344094591109">‏سایت‌های که می‌بینید می‌توانند اطلاعاتی از Chrome درخواست کنند که به آن‌ها کمک می‌کند عملکرد آگهی‌هایشان را بسنجند. Chrome با محدود کردن اطلاعاتی که سایت‌ها می‌توانند با یکدیگر هم‌رسانی کنند از حریم خصوصی شما محافظت می‌کند.</translation>
 <translation id="6476284679642588870">مدیریت روش‌های پرداخت</translation>
 <translation id="6486200200930923183">فیلم مستند</translation>
@@ -2276,6 +2298,7 @@
 <translation id="6494750904506170417">بالاپرها و هدایت‌ها</translation>
 <translation id="6497295192259406877">فعالیت تجاری</translation>
 <translation id="6499038740797743453">گذرواژه بازنشانی شود؟</translation>
+<translation id="6502510275417601303">هشدار درباره تنظیم پرداخت جدید بسته شده است</translation>
 <translation id="6502626736864595182">ارائه‌دهنده گپ و تالار گفتمان</translation>
 <translation id="6502991525169604759">بدون تغییرات اعمال‌شده</translation>
 <translation id="6506959208958864820">پاکت</translation>
@@ -2335,6 +2358,7 @@
 <translation id="6651270836885078973">مدیریت توسط:</translation>
 <translation id="6652101503459149953">‏استفاده از Windows Hello</translation>
 <translation id="6657585470893396449">گذرواژه</translation>
+<translation id="6659246032834639189">این قیمت پایین است</translation>
 <translation id="6660413144148052430">مکان</translation>
 <translation id="6662457027866368246">رول اول</translation>
 <translation id="666259744093848177">‏(x86_64 ترجمه‌شده)</translation>
@@ -2417,6 +2441,7 @@
 <translation id="6869334554832814367">وام شخصی</translation>
 <translation id="6873456682041376666">سینی بالا</translation>
 <translation id="6874604403660855544">&amp;انجام مجدد افزودن</translation>
+<translation id="6880941331070119097">گزینه گران‌قیمت</translation>
 <translation id="6881240511396774766">‏ایجاد سریع «سندنگار Google» جدید</translation>
 <translation id="6883221904761970440">برگ اصالت‌سنجی اطلاعات کاربری پرداخت امن بسته شد</translation>
 <translation id="6884662655240309489">اندازه ۱</translation>
@@ -2565,11 +2590,13 @@
 <translation id="7210863904660874423"><ph name="HOST_NAME" /> از استانداردهای امنیتی پیروی نمی‌کند.</translation>
 <translation id="7210993021468939304">‏فعالیت Linux در محتوی و می‌توانید برنامه‌های Linux را در محتوی نصب و اجرا کنید</translation>
 <translation id="721197778055552897">دربارهٔ این مشکل <ph name="BEGIN_LINK" />بیشتر بدانید<ph name="END_LINK" />.</translation>
+<translation id="7213191991901907140">درباره تجربه‌تان به ما بگویید</translation>
 <translation id="7217745192097460130">از «شناسه لمسی» برای تأیید و تکمیل خرید استفاده شود؟</translation>
 <translation id="7219179957768738017">اتصال از <ph name="SSL_VERSION" /> استفاده می‌کند.</translation>
 <translation id="7220786058474068424">درحال پردازش</translation>
 <translation id="7221855153210829124">نمایش اعلان‌ها</translation>
 <translation id="722454870747268814">برگه ناشناس جدید</translation>
+<translation id="7227293336683593977">سابقه قیمت</translation>
 <translation id="7233592378249864828">برگ تأیید چاپ</translation>
 <translation id="7234638337680728591">قیمت بنزین و سوخت خودرو</translation>
 <translation id="7236417832106250253"><ph name="PROGRESS_PERCENT" />٪ تکمیل شد | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2937,6 +2964,7 @@
 <translation id="8057711352706143257">«<ph name="SOFTWARE_NAME" />» درست پیکربندی نمی‌شود. معمولاً حذف‌ نصب «<ph name="SOFTWARE_NAME" />» مشکل را برطرف می‌کند. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">تولید موادغذایی</translation>
 <translation id="8058603697124206642">الزامی نیست</translation>
+<translation id="8063875539456488183">ذخیره و پیگیری قیمت</translation>
 <translation id="8064892030280197386">هویتتان را به‌تأیید برسانید تا مرورگر بتواند اطلاعات پرداخت شما را تکمیل کند.</translation>
 <translation id="8066225060526005217">تحت‌مدیریت تنظیمات کوکی</translation>
 <translation id="8067872629359326442">‏اخیراً گذرواژه‌تان را در سایتی فریب‌کار وارد کرده‌اید. Chromium می‌تواند کمک کند. برای اینکه گذرواژه‌تان را تغییر دهید و به Google اطلاع دهید که شاید حسابتان درمعرض خطر باشد، روی «محافظت از حساب» کلیک کنید.</translation>
@@ -2968,6 +2996,7 @@
 <translation id="810875025413331850">هیچ دستگاه نزدیکی پیدا نشد.</translation>
 <translation id="8116925261070264013">صامت‌شده</translation>
 <translation id="8118489163946903409">روش پرداخت</translation>
+<translation id="8118506371121007279">ارائه بازخورد</translation>
 <translation id="8123046743443732598">رایانه رومیزی</translation>
 <translation id="8126056688005753476">سفر ماجراجویی</translation>
 <translation id="8127301229239896662">«<ph name="SOFTWARE_NAME" />» به‌درستی در رایانه یا شبکه‌تان پیکربندی نشد. از سرپرست فناوری اطلاعات خود بخواهید این مشکل را حل کند.</translation>
@@ -3069,6 +3098,7 @@
 <translation id="8378714024927312812">توسط سازمانتان مدیریت می‌شود</translation>
 <translation id="8380941800586852976">خطرناک</translation>
 <translation id="8381674639488873545">ممکن است این هزینه‌ها یک‌باره یا تکرارشونده باشند و واضح نباشند. <ph name="BEGIN_LINK" />درهرصورت نمایش داده شود<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">قیمت معمول: <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">براساس خط‌مشی سرپرست، هم‌رسانی از <ph name="ORIGIN_NAME" /> به <ph name="VM_NAME" /> مسدود شده است</translation>
 <translation id="8396522675989118466">این کد <ph name="NUMBER_OF_DIGITS" /> رقمی درج‌شده در <ph name="SIDE_OF_CARD" /> است</translation>
 <translation id="8398335999901363925">روش‌های پرداخت دردسترس که باید با لمس کردن تکمیل شود به‌صورت کامل باز شده است.</translation>
@@ -3130,6 +3160,7 @@
 <translation id="8542014550340843547">سه منگنه در پایین</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">می‌توانید <ph name="BEGIN_ERROR_LINK" />یک مشکل شناسایی‌شده را گزارش کنید<ph name="END_ERROR_LINK" /> یا اگر از خطراتی که امنیت شما را تهدید می‌کنند مطلع شدید، <ph name="BEGIN_LINK" />از این سایت ناامن دیدن کنید<ph name="END_LINK" />.</translation>
+<translation id="854548366864113872">گزینه گران‌قیمت</translation>
 <translation id="8546350655047701518">‏صادر کردن گزارش‌ها در قالب JSON</translation>
 <translation id="854892890027593466">پاکت سی۶/سی۵</translation>
 <translation id="8553387990086529628">مقصد گردشگری</translation>
@@ -3143,6 +3174,7 @@
 <translation id="8564182942834072828">اسناد جداگانه/کپی‌های تلفیق‌نشده</translation>
 <translation id="8564985650692024650">‏Chromium توصیه می‌کند اگر از گذرواژه <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" /> خود در سایت دیگری استفاده کردید آن را بازنشانی کنید.</translation>
 <translation id="8576310925653847813">سیستم سینمای خانگی</translation>
+<translation id="8577192028579836704">همه گزینه‌ها در محدوده قیمت معمول <ph name="TYPICAL_PRICE" /> قرار دارند</translation>
 <translation id="8577348305244205642">کارت مجازی دردسترس نیست</translation>
 <translation id="858637041960032120">افزودن شماره تلفن</translation>
 <translation id="8589998999637048520">بهترین کیفیت</translation>
diff --git a/components/strings/components_strings_gl.xtb b/components/strings/components_strings_gl.xtb
index d77c1c44..cb20647c 100644
--- a/components/strings/components_strings_gl.xtb
+++ b/components/strings/components_strings_gl.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Axusta a data e a hora na sección &lt;strong&gt;Xeral&lt;/strong&gt; da aplicación &lt;strong&gt;Configuración&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">O teu administrador reiniciará o dispositivo o <ph name="DATE" /> a esta hora: <ph name="TIME" /></translation>
+<translation id="1564753300777780201">Non se converteu ningún texto a partir das imaxes</translation>
 <translation id="156703335097561114">Información das redes como enderezos, configuración de interfaces e calidade das conexións</translation>
 <translation id="1567040042588613346">Esta política funciona segundo o previsto, pero substitúe un valor equivalente que está definido noutro lugar.</translation>
 <translation id="1567405528131216114">Engadir <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Engadir correo electrónico</translation>
 <translation id="3897092660631435901">Menú</translation>
 <translation id="3901925938762663762">A tarxeta caducou</translation>
+<translation id="3906095212874392000">Fin do texto convertido</translation>
 <translation id="3906954721959377182">Tableta</translation>
 <translation id="3909695131102177774"><ph name="LABEL" />: <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Se cambias de idea, podes modificar a configuración de Chrome en calquera momento</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Amontoador 5</translation>
 <translation id="4331708818696583467">Non seguro</translation>
 <translation id="4333561522337981382">Xestionar ventás en todas as pantallas</translation>
+<translation id="4338709847516294988">Preme a tecla de busca + M para converter a imaxe en texto desde o menú contextual</translation>
 <translation id="4340575312453649552">Dado que este anuncio utilizaba demasiados recursos para o teu dispositivo, Chrome quitouno.</translation>
 <translation id="4340982228985273705">Non se detectou que unha empresa xestione este ordenador, polo que a política só pode instalar automaticamente extensións aloxadas en Chrome Webstore. O URL de actualización de Chrome Webstore é <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">A conexión a <ph name="SITE" /> non é segura</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Acabas de escribir o teu contrasinal nun sitio enganoso. Chrome pode axudarche. Para cambiar o teu contrasinal e notificarlle a Google que a túa conta pode estar en risco, fai clic en Protexer conta.</translation>
 <translation id="4363222835916186793">Desactiváronse as alertas para este produto</translation>
 <translation id="437040971055499437">Prodúcese un evento de seguranza</translation>
+<translation id="4371307856413138486">Inicio do texto convertido</translation>
 <translation id="4371591986692297148">Inactivo</translation>
 <translation id="4372948949327679948">Valor <ph name="VALUE_TYPE" /> esperado.</translation>
 <translation id="4375864595697821259">Engade un elemento de novo se o queres incluír no grupo de temas que Chrome pode escoller ao estimar os teus intereses</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Pechar</translation>
 <translation id="6041777658117377052">Temperatura da cámara</translation>
 <translation id="6042308850641462728">Máis</translation>
+<translation id="6042688167654081154">A imaxe converteuse en texto</translation>
 <translation id="6044573915096792553">Tamaño 12</translation>
 <translation id="6045164183059402045">Modelo de imposición</translation>
 <translation id="6047233362582046994">Se aceptas os riscos para a túa seguranza, podes <ph name="BEGIN_LINK" />acceder a este sitio<ph name="END_LINK" /> antes de que se eliminen as aplicacións prexudiciais.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">Xeoloxía</translation>
 <translation id="6196640612572343990">Bloquear cookies de terceiros</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Estase analizando a imaxe</translation>
 <translation id="6203231073485539293">Comproba a túa conexión a Internet</translation>
 <translation id="6205314730813004066">Privacidade nos anuncios</translation>
 <translation id="6212314149070368045">Continuo estadounidense</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index 38e14cc1..13c7d5a 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -267,6 +267,7 @@
 
           &lt;p&gt;કૃપા કરીને &lt;strong&gt;સેટિંગ&lt;/strong&gt; અ‍ૅપના &lt;strong&gt;સામાન્ય&lt;/strong&gt; વિભાગમાં તારીખ અને સમય ગોઠવો.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">તમારા ઍડમિનિસ્ટ્રેટર <ph name="DATE" />ના રોજ <ph name="TIME" /> વાગ્યે તમારું ડિવાઇસ ફરી શરૂ કરશે</translation>
+<translation id="1564753300777780201">છબીઓનું રૂપાંતરણ ટેક્સ્ટમાં કરવામાં આવ્યું નથી</translation>
 <translation id="156703335097561114">ઍડ્રેસ, ઇન્ટરફેસ કન્ફિગ્યુરેશન અને કનેક્શન ક્વૉલિટી જેવી નેટવર્કની માહિતી</translation>
 <translation id="1567040042588613346">આ પૉલિસી હેતુ મુજબ કાર્ય કરી રહી છે પરંતુ સમાન મૂલ્ય બીજે ક્યાંક સેટ કરવામાં આવ્યું છે અને આ પૉલિસી તેની જગ્યા લે છે.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> ઉમેરો</translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">ઇમેઇલ ઉમેરો</translation>
 <translation id="3897092660631435901">મેનૂ</translation>
 <translation id="3901925938762663762">કાર્ડની સમયસીમા સમાપ્ત થઇ ગઈ છે</translation>
+<translation id="3906095212874392000">રૂપાંતરિત ટેક્સ્ટની સમાપ્તિ</translation>
 <translation id="3906954721959377182">ટૅબ્લેટ</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">તમે કોઈપણ સમયે Chrome સેટિંગમાં જઈને તમારો નિર્ણય બદલી શકો છો</translation>
@@ -1409,6 +1411,7 @@
 <translation id="4331519897422864041">સ્ટૅકર 5</translation>
 <translation id="4331708818696583467">સુરક્ષિત નથી</translation>
 <translation id="4333561522337981382">તમારા બધા ડિસ્પ્લે પર વિન્ડો મેનેજ કરો</translation>
+<translation id="4338709847516294988">Search + M કી દબાવો અને સંદર્ભ મેનૂમાં છબીનું રૂપાંતરણ ટેક્સ્ટમાં કરો</translation>
 <translation id="4340575312453649552">આ જાહેરાતે તમારા ડિવાઇસ માટે ઘણાં વધારે સાધનોનો ઉપયોગ કર્યો, આથી Chrome દ્વારા તેને કાઢી નાખવામાં આવી છે.</translation>
 <translation id="4340982228985273705">આ કમ્પ્યુટર એન્ટરપ્રાઇઝ દ્વારા મેનેજ થતું હોય તેવું જણાયું નથી, તેથી પૉલિસી માત્ર Chrome Webstore પર હોસ્ટ થયેલા એક્સ્ટેન્શન ઑટોમૅટિક રીતે ઇન્સ્ટૉલ કરી શકશે. Chrome Webstore અપડેટનું URL "<ph name="CWS_UPDATE_URL" />" છે.</translation>
 <translation id="4348834659292907206"><ph name="SITE" />નું કનેક્શન સુરક્ષિત નથી</translation>
@@ -1424,6 +1427,7 @@
 <translation id="4359160567981085931">હમણાં જ કોઈ છેતરામણી સાઇટ પર તમે તમારો પાસવર્ડ દાખલ કર્યો. Chrome સહાય કરી શકે છે. તમારો પાસવર્ડ બદલવા માટે અને Googleને એ જાણ કરવા માટે કે તમારું એકાઉન્ટ જોખમમાં હોઈ શકે છે, એકાઉન્ટ સુરક્ષિત કરો પર ક્લિક કરો.</translation>
 <translation id="4363222835916186793">આ પ્રોડક્ટ માટેના અલર્ટ બંધ કરવામાં આવ્યા છે</translation>
 <translation id="437040971055499437">સુરક્ષા ઇવેન્ટ થવા પર</translation>
+<translation id="4371307856413138486">રૂપાંતરિત ટેક્સ્ટની શરૂઆત</translation>
 <translation id="4371591986692297148">નિષ્ક્રિય</translation>
 <translation id="4372948949327679948">અપેક્ષિત <ph name="VALUE_TYPE" /> મૂલ્ય.</translation>
 <translation id="4375864595697821259">તમારી રુચિઓનો અંદાજ કાઢતી વખતે Chrome પસંદ કરી શકે તેવા વિષયોના પૂલમાં જો તમે કોઈ આઇટમ મેળવવા ઇચ્છતા હો, તો તેને ફરી પાછી ઉમેરો</translation>
@@ -2103,6 +2107,7 @@
 <translation id="6040143037577758943">બંધ કરો</translation>
 <translation id="6041777658117377052">ચેમ્બરનું તાપમાન</translation>
 <translation id="6042308850641462728">વધુ</translation>
+<translation id="6042688167654081154">છબીનું રૂપાંતરણ ટેક્સ્ટમાં કરવામાં આવ્યું</translation>
 <translation id="6044573915096792553">કદ 12</translation>
 <translation id="6045164183059402045">લાગુ કરવા માટેનો નમૂનો</translation>
 <translation id="6047233362582046994">જો તમે તમારી સુરક્ષાના જોખમોને સમજો છો, તો તમે જોખમકારક ઍપ્લિકેશનો દૂર કરતા પહેલા <ph name="BEGIN_LINK" />આ સાઇટની મુલાકાત<ph name="END_LINK" /> લઈ શકો છો.</translation>
@@ -2165,6 +2170,7 @@
 <translation id="6195371403461054755">ભૂસ્તરશાસ્ત્ર</translation>
 <translation id="6196640612572343990">ત્રીજા પક્ષની કુકીને બ્લૉક કરો</translation>
 <translation id="6197648101609735209">89 x 89 મિમી</translation>
+<translation id="6200386911308538077">છબીનું વિશ્લેષણ કરવામાં આવી રહ્યું છે</translation>
 <translation id="6203231073485539293">તમારું ઇન્ટરનેટ કનેક્શન તપાસો</translation>
 <translation id="6205314730813004066">જાહેરાત સંબંધી પ્રાઇવસી</translation>
 <translation id="6212314149070368045">યુએસ ફૅનફોલ્ડ</translation>
@@ -2283,6 +2289,7 @@
 <translation id="6468485451923838994">ફૉન્ટ</translation>
 <translation id="647261751007945333">ડિવાઇસ પૉલિસીઓ</translation>
 <translation id="647330291963761005">અપડેટ ઇન્સ્ટૉલ કરી રહ્યાં છીએ</translation>
+<translation id="6474220430271405609">પૉલિસીના પરીક્ષણો</translation>
 <translation id="6475672344094591109">તમે મુલાકાત લો એ બધી સાઈટ Chrome પાસે એવી માહિતી માગી શકે છે, જે તેમની જાહેરાતોનું પર્ફોર્મન્સ માપવામાં તેમને સહાય કરે છે. વિવિધ સાઈટ એક-બીજા સાથે શેર કરી શકે તેવી માહિતીને મર્યાદિત કરીને Chrome, તમારી પ્રાઇવસીને સુરક્ષિત કરે છે.</translation>
 <translation id="6476284679642588870">ચુકવણી પદ્ધતિઓ મેનેજ કરો</translation>
 <translation id="6486200200930923183">દસ્તાવેજી મૂવી</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index bb6bcac0..c6e9ee5 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;कृपया तारीख और समय को &lt;strong&gt;सेटिंग&lt;/strong&gt; ऐप्लिकेशन के &lt;strong&gt;सामान्‍य&lt;/strong&gt; सेक्शन से एडजस्‍ट करें.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">एडमिन, <ph name="DATE" /> को <ph name="TIME" /> बजे आपके डिवाइस को रीस्टार्ट करेगा</translation>
+<translation id="1564753300777780201">किसी इमेज को टेक्स्ट में नहीं बदला गया</translation>
 <translation id="156703335097561114">नेटवर्क से जुड़ी जानकारी जैसे कि पते, इंटरफ़ेस का कॉन्फ़िगरेशन, और कनेक्शन की क्वालिटी</translation>
 <translation id="1567040042588613346">यह नीति उम्मीद के मुताबिक काम कर रही है. हालांकि, किसी दूसरी जगह ऐसा ही मान सेट किया गया है और उसकी जगह इस नीति को लागू कर दिया गया है.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> जोड़ें</translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">ईमेल जोड़ें</translation>
 <translation id="3897092660631435901">मेन्यू</translation>
 <translation id="3901925938762663762">इस कार्ड की समय सीमा खत्म हो गई है</translation>
+<translation id="3906095212874392000">बदला गया आखिरी टेक्स्ट</translation>
 <translation id="3906954721959377182">टैबलेट</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Chrome की सेटिंग में जाकर, इसमें कभी भी बदलाव किया जा सकता है</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">स्टैकर 5</translation>
 <translation id="4331708818696583467">सुरक्षित नहीं है</translation>
 <translation id="4333561522337981382">आपके सभी डिसप्ले पर विंडो मैनेज करना</translation>
+<translation id="4338709847516294988">Search और m दबाएं और संदर्भ मेन्यू में इमेज को टेक्स्ट में बदलें</translation>
 <translation id="4340575312453649552">यह विज्ञापन आपके डिवाइस के बहुत से संसाधन इस्तेमाल करता था, इसलिए Chrome ने इसे हटा दिया है.</translation>
 <translation id="4340982228985273705">इस कंप्यूटर की पहचान एंटरप्राइज़ की ओर से प्रबंधित होने के रूप में नहीं की गई है, इसलिए नीति सिर्फ़ Chrome वेबस्टोर पर होस्ट किए जाने वाले एक्सटेंशन ही अपने आप इंस्टॉल कर सकती है. Chrome वेबस्टोर अपडेट यूआरएल "<ph name="CWS_UPDATE_URL" />" है.</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> से कनेक्शन सुरक्षित नहीं है</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">आपने अभी-अभी जिस साइट पर अपना पासवर्ड डाला है वह सुरक्षित नहीं है. Chrome इसमें आपकी मदद कर सकता है. अपना पासवर्ड बदलने और Google को यह बताने के लिए कि आपका खाता सुरक्षित नहीं है, 'खाता सुरक्षित करें' पर क्लिक करें.</translation>
 <translation id="4363222835916186793">इस प्रॉडक्ट के लिए, सूचनाएं पाने की सुविधा बंद कर दी गई है</translation>
 <translation id="437040971055499437">सुरक्षा से जुड़ी गतिविधि होती है</translation>
+<translation id="4371307856413138486">बदला गया पहला टेक्स्ट</translation>
 <translation id="4371591986692297148">चालू नहीं है</translation>
 <translation id="4372948949327679948">अपेक्षित <ph name="VALUE_TYPE" /> मान.</translation>
 <translation id="4375864595697821259">अगर आपको किसी आइटम को उन विषयों में फिर से जोड़ना है जिन्हें Chrome आपकी पसंद का अनुमान लगाते समय चुन सकता है, तो उस आइटम को फिर से सूची में जोड़ें</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">बंद करें</translation>
 <translation id="6041777658117377052">चेंबर का तापमान</translation>
 <translation id="6042308850641462728">और ज़्यादा</translation>
+<translation id="6042688167654081154">इमेज को टेक्स्ट में बदला गया</translation>
 <translation id="6044573915096792553">आकार 12</translation>
 <translation id="6045164183059402045">इम्पोज़िशन टेम्प्लेट</translation>
 <translation id="6047233362582046994">अगर आप अपनी सुरक्षा को होने वाले खतरों के बारे में जानते हैं तो, खतरनाक ऐप्लिकेशन हटाए जाने से पहले आप <ph name="BEGIN_LINK" />इस साइट पर जा<ph name="END_LINK" /> सकते हैं.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">जियोलॉजी</translation>
 <translation id="6196640612572343990">तीसरे पक्ष की कुकी ब्लॉक करें</translation>
 <translation id="6197648101609735209">89 x 89 मि॰मी॰</translation>
+<translation id="6200386911308538077">इमेज का विश्लेषण किया जा रहा है</translation>
 <translation id="6203231073485539293">अपना इंटरनेट कनेक्शन जांचे</translation>
 <translation id="6205314730813004066">विज्ञापन से जुड़ी निजता सेटिंग</translation>
 <translation id="6212314149070368045">यूएस फ़ैनफ़ोल्ड</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index 8ade3c8c..96d2c34 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">Dinós játék. Pixelgrafikás dinoszaurusz kaktuszokat és pterodaktiluszokat kerülget futás közben egy kietlen vidéken. Amikor hangjelzést hall, a szóköz billentyűt nyomogatva ugorja át az akadályokat.</translation>
 <translation id="1374468813861204354">javaslatok</translation>
 <translation id="1375198122581997741">A verzióról</translation>
+<translation id="1375293861397106342">Az összes lehetőség általában: <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">Kevesebb</translation>
 <translation id="1380591466760231819">Levélhajtás</translation>
 <translation id="138218114945450791">Világoskék</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">Az oldal közlendője</translation>
 <translation id="1536390784834419204">Oldal fordítása</translation>
 <translation id="1539840569003678498">Bejelentés elküldve:</translation>
+<translation id="1545757265410828525">Árelőzmények</translation>
 <translation id="1549470594296187301">A funkció használatához engedélyezni kell a JavaScriptet.</translation>
 <translation id="1551884710160394169">Freeware és shareware programok</translation>
 <translation id="1553358976309200471">A Chrome böngésző frissítése</translation>
@@ -265,6 +267,7 @@
 
       &lt;p&gt;Módosítsa a dátumot és az időt a &lt;strong&gt;Beállítások&lt;/strong&gt; alkalmazás &lt;strong&gt;Általános&lt;/strong&gt; részében.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Adminisztrátora a következő időpontban újra fogja indítani az eszközét: <ph name="DATE" />, <ph name="TIME" /></translation>
+<translation id="1564753300777780201">Nincs képekből konvertált szöveg</translation>
 <translation id="156703335097561114">Hálózati információk, többek között címek, a kezelőfelület beállításai és a kapcsolat minősége</translation>
 <translation id="1567040042588613346">A házirend az elvárt módon működik, de valahol máshol ugyanaz az érték van beállítva, amelyet felülír ez a házirend.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> hozzáadása</translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">Jelenleg nincsenek megjeleníthető témák</translation>
 <translation id="2021333772895814435">Ez a házirend automatikusan letiltja a következő eszközök közötti szinkronizálását: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 × 19 hüvelyk</translation>
+<translation id="2022815493835288714">Az új fizetési beállításról szóló értesítés megnyitva</translation>
 <translation id="2025115093177348061">Kiterjesztett valóság</translation>
 <translation id="2025186561304664664">Automatikusan konfigurálhatóra beállított proxy.</translation>
 <translation id="2025891858974379949">Nem biztonságos tartalom</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">Biztonsági figyelmeztetés</translation>
 <translation id="2692131511336778528">Sci-fi és fantasy filmek</translation>
 <translation id="2701514975700770343">Lefelé fordítva</translation>
+<translation id="2702592986366989640">Alacsony árú lehetőség</translation>
 <translation id="2702801445560668637">Olvasási lista</translation>
 <translation id="2704283930420550640">Az érték nem egyezik a formátummal.</translation>
 <translation id="2704606927547763573">Másolt</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">Esemény létrehozása</translation>
 <translation id="2903493209154104877">Címek</translation>
 <translation id="290376772003165898">Az oldal nem <ph name="LANGUAGE" /> nyelvű?</translation>
+<translation id="2905107382358353958">Értesítés új fizetési beállításról</translation>
 <translation id="2909946352844186028">Változást érzékeltünk a hálózatban.</translation>
 <translation id="2911973620368911614">Munkafiók felhasználói azonosítója</translation>
 <translation id="2914160345369867329">A(z) <ph name="SITE" /> webhely rendes esetben titkosítást alkalmaz az Ön adatainak védelme érdekében. Amikor a Chrome most csatlakozni próbált, a(z) <ph name="SITE" /> webhely szokatlan és helytelen hitelesítési adatokat küldött vissza. Ez olyankor fordulhat elő, amikor egy támadó megpróbálja magát kiadni a(z) <ph name="SITE" /> webhelynek, vagy valamilyen Wi-Fi-bejelentkezési képernyő megszakította a kapcsolatot. Adatai továbbra is biztonságban vannak, mivel a Chrome még azt megelőzően megszakította a kapcsolatot, hogy bármiféle adatcserére sor kerülhetett volna.</translation>
@@ -929,6 +935,7 @@
 <translation id="3256863843508922226">Nyugdíjba vonulás és nyugdíj</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, tartsa lenyomva a Tab billentyűt, majd nyomja meg az Enter billentyűt új esemény gyors létrehozásához a Google Naptár szolgáltatással</translation>
 <translation id="3261488570342242926">További információ a virtuális kártyákról</translation>
+<translation id="3262698603497362968">Vásárlási lehetőségek</translation>
 <translation id="3266367459139339908">Új módszereket vezetünk be annak korlátozására, hogy mit tudhatnak meg a felhasználókról a webhelyek, amikor személyre szabott hirdetéseket jelenítenek meg. Például:</translation>
 <translation id="3266793032086590337">Érték (ütközés)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Nincs letiltott webhely, beleértve a kapcsolódó webhelyeket is}=1{1 letiltott webhely, beleértve a kapcsolódó webhelyeket is}other{# letiltott webhely, beleértve a kapcsolódó webhelyeket is}}</translation>
@@ -1113,6 +1120,7 @@
 <translation id="3693327506115126094">Válassza ki, hogyan szeretné igazolni személyazonosságát</translation>
 <translation id="3698629142018988477">Webhely létrehozása gomb. A gombot megnyomva gyorsan létrehozhat új webhelyet a Google Webhelyek szolgáltatásban.</translation>
 <translation id="3701427423622901115">Visszaállítás elfogadva.</translation>
+<translation id="3701900332588705891">Szokásos ár: <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">Előfordulhat, hogy az Ön által használt hálózat megköveteli a bejelentkezési oldalán történő bejelentkezést.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> – <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">Betöltés...</translation>
@@ -1198,6 +1206,7 @@
 <translation id="3890664840433101773">E-mail-cím hozzáadása</translation>
 <translation id="3897092660631435901">Menü</translation>
 <translation id="3901925938762663762">A kártya lejárt</translation>
+<translation id="3906095212874392000">Konvertált szöveg vége</translation>
 <translation id="3906954721959377182">Táblagép</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Beállításait bármikor módosíthatja a Chrome-beállítások között</translation>
@@ -1217,6 +1226,7 @@
 <translation id="3949870428812919180">Nincs mentett fizetési mód</translation>
 <translation id="3950574001630941635">Útmutató újraindítása</translation>
 <translation id="3950820424414687140">Bejelentkezés</translation>
+<translation id="3953505489397572035">Ez az ár átlagos</translation>
 <translation id="3958057596965527988">4 × 4 hüvelyk</translation>
 <translation id="3961148744525529027">A fizetési információkat tartalmazó munkalap félmagasságban van megnyitva</translation>
 <translation id="3962859241508114581">Előző szám</translation>
@@ -1353,6 +1363,7 @@
 <translation id="4250680216510889253">Nem</translation>
 <translation id="4250716950689692560">A4x4</translation>
 <translation id="4253168017788158739">Jegyzet</translation>
+<translation id="4255487295905690262">E-mailes értesítést küldünk, ha valamelyik webhelyen csökken az ár.</translation>
 <translation id="425582637250725228">Előfordulhat, hogy módosításait nem menti a rendszer.</translation>
 <translation id="4258748452823770588">Rossz aláírás</translation>
 <translation id="4261046003697461417">A védett dokumentumoknál nem lehetséges a jegyzetelés</translation>
@@ -1398,6 +1409,7 @@
 <translation id="4331519897422864041">5. kötegelő</translation>
 <translation id="4331708818696583467">Nem biztonságos</translation>
 <translation id="4333561522337981382">Ablakok kezelése az összes képernyőn</translation>
+<translation id="4338709847516294988">Nyomja le a Keresés + m billentyűkombinációt, és konvertálja a képet szöveggé a helyi menüben</translation>
 <translation id="4340575312453649552">Ez a hirdetés az eszköz túl sok erőforrását használta, ezért a Chrome eltávolította.</translation>
 <translation id="4340982228985273705">A rendszer nem vállalat által kezeltként érzékeli ezt a számítógépet, ezért a házirend csak a Chrome Webáruházban tárolt bővítményeket tudja automatikusan telepíteni. A Chrome Webáruház frissítési URL-je: <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">A kapcsolat a következő webhellyel nem biztonságos: <ph name="SITE" /></translation>
@@ -1413,6 +1425,7 @@
 <translation id="4359160567981085931">Megtévesztő webhelyen adta meg jelszavát. A Chrome segíthet. Ha módosítani szeretné jelszavát, és értesíteni szeretné a Google-t arról, hogy fiókja veszélyben lehet, kattintson a Fiók védelme gombra.</translation>
 <translation id="4363222835916186793">A termékhez tartozó értesítések ki vannak kapcsolva</translation>
 <translation id="437040971055499437">Biztonsági esemény történik</translation>
+<translation id="4371307856413138486">A konvertált szöveg eleje</translation>
 <translation id="4371591986692297148">Inaktív</translation>
 <translation id="4372948949327679948">Várt <ph name="VALUE_TYPE" /> érték.</translation>
 <translation id="4375864595697821259">Újra felvehet egyes témákat, ha azt szeretné, hogy azon témák csoportjában legyenek, ahonnan a Chrome választhat, amikor megbecsüli az Ön érdeklődési köreit</translation>
@@ -1437,6 +1450,7 @@
 <translation id="4433642172056592619">Figyelmen kívül hagyva, mert a felhasználó nincs a gép kezeléséhez társítva, vagy a gépet nem kezelik.</translation>
 <translation id="4434045419905280838">Előugró ablakok és átirányítások</translation>
 <translation id="443673843213245140">A proxy használata le van tiltva, de kifejezett proxykonfiguráció van megadva.</translation>
+<translation id="4438821706955556403">Átlagos ár</translation>
 <translation id="4441832193888514600">Figyelmen kívül hagyva, mert a szabályzatot csak felhőalapú felhasználói szabályzatként lehet beállítani.</translation>
 <translation id="4449116177348980384">Webhelybeállítások kezelése gomb. A gombot megnyomva kezelheti a webhelyeken tárolt engedélyeket és adatokat a Chrome-beállításai között.</translation>
 <translation id="4451135742916150903">Engedélyt kérhet a HID-eszközökhöz való csatlakozásra</translation>
@@ -1452,6 +1466,7 @@
 <translation id="4489023393592172404">Kaku 4 boríték</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">Szinkronizált jelszavak titkosítása a Google-fiókkal</translation>
+<translation id="4492332866628791879">Ár mentése és nyomon követése</translation>
 <translation id="4492519888999857993">Ezek a funkciók alapértelmezés szerint le vannak tiltva. A Chrome későbbi verzióiban nem állnak majd rendelkezésre.</translation>
 <translation id="4493480324863638523">Érvénytelen URL. Az URL-nek szabványos sémával kell rendelkeznie, például http://example.com vagy https://example.com.</translation>
 <translation id="4494323206460475851">A hirdetéstémákat megtekintheti a beállítások között, ahol le is tilthatja azokat a témákat, amelyeket nem szeretne megosztani a webhelyekkel. A Chrome ezenkívül automatikusan törli a négy hétnél régebbi hirdetéstémákat.</translation>
@@ -1591,6 +1606,7 @@
 <translation id="4813512666221746211">Hálózati hiba</translation>
 <translation id="4816492930507672669">Igazítás az oldalmérethez</translation>
 <translation id="4819347708020428563">Szeretné a jelöléseket az alapértelmezett nézetben szerkeszteni?</translation>
+<translation id="4822493756793346865">A szokásos árak az interneten megtalálható üzletek árain alapulnak, és az elmúlt 90 napból származnak.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />, tartsa lenyomva a Tab billentyűt, majd nyomja meg az Enter billentyűt új Google-táblázat gyors létrehozásához</translation>
 <translation id="4825507807291741242">Erőteljes</translation>
 <translation id="483241715238664915">Figyelmeztetések bekapcsolása</translation>
@@ -1770,6 +1786,7 @@
 <translation id="523149107733989821">A4 Extra</translation>
 <translation id="5234764350956374838">Elvetés</translation>
 <translation id="5238301240406177137">Mentés a fiókba</translation>
+<translation id="5239119062986868403">Átlagos ár</translation>
 <translation id="5239623327352565343">Helyadatok engedélyezve</translation>
 <translation id="5242889659037569123">Poggyász és egyéb utazási kellékek</translation>
 <translation id="5244521145258281926">Google-fiók kezelése gomb. Nyomja meg az adatai, az adatvédelem és a biztonság Google-fiókjában való kezeléséhez.</translation>
@@ -1839,6 +1856,7 @@
 <translation id="5398772614898833570">Hirdetések letiltva</translation>
 <translation id="5400836586163650660">Szürke</translation>
 <translation id="540969355065856584">A szerver nem tudta bizonyítani, hogy valóban a(z) <ph name="DOMAIN" /> domainbe tartozik; biztonsági tanúsítványa jelenleg nem érvényes. Ennek oka lehet konfigurációs hiba, vagy hogy egy támadó eltérítette az Ön kapcsolatát.</translation>
+<translation id="5411462078004183575">Alacsony árú lehetőség</translation>
 <translation id="5412040515238827314">Érvénytelen formátum: A rendszer mintalistát várt.</translation>
 <translation id="5412236728747081950">Ez a webhely lekéri az érdeklődési köreit a Chrome-tól, hogy relevánsabb hirdetéseket jelenítsen meg Önnek</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> – <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2087,6 +2105,7 @@
 <translation id="6040143037577758943">Bezárás</translation>
 <translation id="6041777658117377052">Kamra hőmérséklete</translation>
 <translation id="6042308850641462728">Továbbiak</translation>
+<translation id="6042688167654081154">Szöveggé konvertált kép</translation>
 <translation id="6044573915096792553">Méret: 12</translation>
 <translation id="6045164183059402045">Ráhelyezési sablon</translation>
 <translation id="6047233362582046994">Ha tisztában van a biztonságát fenyegető kockázatokkal, a káros alkalmazások eltávolítása előtt is <ph name="BEGIN_LINK" />felkeresheti ezt a webhelyet<ph name="END_LINK" />.</translation>
@@ -2139,6 +2158,7 @@
 <translation id="6167577165590485365">Legutóbbi lekérési próbálkozás:</translation>
 <translation id="6169916984152623906">Most privát módon böngészhet, így az eszközt használó többi személy nem láthatja az Ön tevékenységeit. A letöltéseket és a könyvjelzőket azonban menti a rendszer.</translation>
 <translation id="617256461084925519">A Google Chrome megpróbálja ellenőrizni az Ön személyazonosságát, hogy kitölthesse a fizetési adatokat.</translation>
+<translation id="6176387967264100435">Ez az ár magas</translation>
 <translation id="6177128806592000436">Kapcsolata a webhellyel nem biztonságos</translation>
 <translation id="6177531123306197852">C2 boríték</translation>
 <translation id="6180316780098470077">Újrapróbálkozások közötti idő</translation>
@@ -2148,6 +2168,7 @@
 <translation id="6195371403461054755">Geológia</translation>
 <translation id="6196640612572343990">Harmadik féltől származó cookie-k letiltása</translation>
 <translation id="6197648101609735209">89 × 89 mm</translation>
+<translation id="6200386911308538077">A kép elemzése folyamatban van</translation>
 <translation id="6203231073485539293">Ellenőrizze az internetkapcsolatot</translation>
 <translation id="6205314730813004066">Hirdetésekhez kapcsolódó adatvédelem</translation>
 <translation id="6212314149070368045">„US Fanfold” méret</translation>
@@ -2266,6 +2287,7 @@
 <translation id="6468485451923838994">Betűtípusok</translation>
 <translation id="647261751007945333">Eszközházirendek</translation>
 <translation id="647330291963761005">Frissítések telepítése</translation>
+<translation id="6474220430271405609">Házirendekkel kapcsolatos tesztek</translation>
 <translation id="6475672344094591109">Az Ön által felkeresett webhelyek olyan információkat kérhetnek a Chrome-tól, amelyek segítségével mérhetik a hirdetések teljesítményét. A Chrome a webhelyek által egymással megosztható információk körének korlátozásával védi az Ön adatait.</translation>
 <translation id="6476284679642588870">Fizetési módok kezelése</translation>
 <translation id="6486200200930923183">Dokumentumfilmek</translation>
@@ -2274,6 +2296,7 @@
 <translation id="6494750904506170417">előugró ablakok és átirányítások</translation>
 <translation id="6497295192259406877">Üzleti tevékenységek</translation>
 <translation id="6499038740797743453">Jelszó visszaállítása?</translation>
+<translation id="6502510275417601303">Az új fizetési beállítással kapcsolatos értesítés bezárva</translation>
 <translation id="6502626736864595182">Fórum- és chatszolgáltatók</translation>
 <translation id="6502991525169604759">Az Ön módosításai nélkül</translation>
 <translation id="6506959208958864820">Boríték</translation>
@@ -2333,6 +2356,7 @@
 <translation id="6651270836885078973">Kezelő:</translation>
 <translation id="6652101503459149953">Windows Hello használata</translation>
 <translation id="6657585470893396449">Jelszó</translation>
+<translation id="6659246032834639189">Ez az ár alacsony</translation>
 <translation id="6660413144148052430">helyadatok</translation>
 <translation id="6662457027866368246">1. tekercs</translation>
 <translation id="666259744093848177">(x86_64 – lefordítva)</translation>
@@ -2415,6 +2439,7 @@
 <translation id="6869334554832814367">Személyi kölcsönök</translation>
 <translation id="6873456682041376666">Felső tálca</translation>
 <translation id="6874604403660855544">&amp;Hozzáadás újra</translation>
+<translation id="6880941331070119097">Magas árú lehetőség</translation>
 <translation id="6881240511396774766">Google-dokumentum létrehozása gyorsan</translation>
 <translation id="6883221904761970440">Biztonságos fizetés hitelesítési adatainak hitelesítési űrlapja bezárva.</translation>
 <translation id="6884662655240309489">Méret: 1</translation>
@@ -2563,11 +2588,13 @@
 <translation id="7210863904660874423">A(z) <ph name="HOST_NAME" /> nem felel meg a biztonsági szabványoknak.</translation>
 <translation id="7210993021468939304">A tárolóban végzett linuxos tevékenység megtekintése, valamint Linux-alkalmazások telepítése és futtatása a tárolóban</translation>
 <translation id="721197778055552897"><ph name="BEGIN_LINK" />További információ<ph name="END_LINK" /> erről a hibáról.</translation>
+<translation id="7213191991901907140">Ossza meg velünk élményét</translation>
 <translation id="7217745192097460130">Szeretné Touch ID használatával igazolni és befejezni vásárlását?</translation>
 <translation id="7219179957768738017">A kapcsolat a következőt használja: <ph name="SSL_VERSION" />.</translation>
 <translation id="7220786058474068424">Feldolgozás alatt</translation>
 <translation id="7221855153210829124">Értesítéseket megjeleníteni</translation>
 <translation id="722454870747268814">Új inkognitó lap</translation>
+<translation id="7227293336683593977">Árelőzmények</translation>
 <translation id="7233592378249864828">Megerősítő lap nyomtatása</translation>
 <translation id="7234638337680728591">Üzemanyagárak és töltőállomások</translation>
 <translation id="7236417832106250253"><ph name="PROGRESS_PERCENT" />% kész, <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2935,6 +2962,7 @@
 <translation id="8057711352706143257">A(z) „<ph name="SOFTWARE_NAME" />” nincs megfelelően beállítva. A(z) „<ph name="SOFTWARE_NAME" />” eltávolítása általában megoldja a problémát. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">Élelmiszergyártás</translation>
 <translation id="8058603697124206642">Nem kötelező</translation>
+<translation id="8063875539456488183">Ár mentése és nyomon követése</translation>
 <translation id="8064892030280197386">ellenőrizni az Ön személyazonosságát, hogy kitölthesse a fizetési adatokat.</translation>
 <translation id="8066225060526005217">A cookie-beállítások kezelik</translation>
 <translation id="8067872629359326442">Megtévesztő webhelyen adta meg jelszavát. A Chromium segíthet. Ha módosítani szeretné jelszavát, és értesíteni szeretné a Google-t arról, hogy fiókja veszélyben lehet, kattintson a Fiók védelme gombra.</translation>
@@ -2966,6 +2994,7 @@
 <translation id="810875025413331850">Nem található közeli eszköz.</translation>
 <translation id="8116925261070264013">Némítva</translation>
 <translation id="8118489163946903409">Fizetési mód</translation>
+<translation id="8118506371121007279">Visszajelzés</translation>
 <translation id="8123046743443732598">Asztali számítógépek</translation>
 <translation id="8126056688005753476">Kalandturizmus</translation>
 <translation id="8127301229239896662">A(z) „<ph name="SOFTWARE_NAME" />” nem megfelelően lett telepítve a számítógépre vagy a hálózatra. A probléma elhárítása érdekében forduljon rendszergazdájához.</translation>
@@ -3067,6 +3096,7 @@
 <translation id="8378714024927312812">Az Ön szervezete kezeli</translation>
 <translation id="8380941800586852976">Veszélyes</translation>
 <translation id="8381674639488873545">Egyszeri és ismétlődő díjakról is szó lehet, amelyek nem feltétlenül nyilvánvalóak. <ph name="BEGIN_LINK" />Megjelenítés mégis<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">Szokásos ár: <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">Rendszergazdai házirend tiltja a tartalmak megosztását innen: <ph name="ORIGIN_NAME" />, ide: <ph name="VM_NAME" /></translation>
 <translation id="8396522675989118466">Ez a kártya <ph name="SIDE_OF_CARD" /> szereplő <ph name="NUMBER_OF_DIGITS" /> jegyű kód</translation>
 <translation id="8398335999901363925">Az érintéssel kitölthető fizetési módok listája teljes magasságban meg van nyitva.</translation>
@@ -3128,6 +3158,7 @@
 <translation id="8542014550340843547">Három kapocs alul</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">Lehetősége van arra, hogy <ph name="BEGIN_ERROR_LINK" />jelentse az észlelési problémát<ph name="END_ERROR_LINK" />, ha pedig tisztában van a biztonságát fenyegető kockázatokkal, <ph name="BEGIN_LINK" />felkeresheti a nem biztonságos webhelyet<ph name="END_LINK" />.</translation>
+<translation id="854548366864113872">Magas árú lehetőség</translation>
 <translation id="8546350655047701518">Naplók exportálása JSON-formátumban</translation>
 <translation id="854892890027593466">C6/C5 boríték</translation>
 <translation id="8553387990086529628">Turisztikai látnivalók</translation>
@@ -3141,6 +3172,7 @@
 <translation id="8564182942834072828">Különálló dokumentumok/Nem szétválogatott másolatok</translation>
 <translation id="8564985650692024650">A Chromium azt javasolja, hogy adjon meg új <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" />-jelszót a régi helyett, ha azt más webhelyeken is használta.</translation>
 <translation id="8576310925653847813">Házimozirendszerek</translation>
+<translation id="8577192028579836704">Az összes lehetőség általában: <ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">A virtuális kártya nem áll rendelkezésre</translation>
 <translation id="858637041960032120">Szám hozzáadása
 </translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index fa16638..5d5e5ee 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Sesuaikan tanggal dan waktu dari bagian &lt;strong&gt;Umum&lt;/strong&gt; aplikasi &lt;strong&gt;Setelan&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Administrator akan memulai ulang perangkat pada <ph name="DATE" /> pukul <ph name="TIME" /></translation>
+<translation id="1564753300777780201">Tidak ada teks yang dikonversi dari gambar</translation>
 <translation id="156703335097561114">Informasi jaringan seperti alamat, konfigurasi antarmuka, dan kualitas koneksi</translation>
 <translation id="1567040042588613346">Kebijakan ini berfungsi sebagaimana mestinya, tetapi nilai yang sama disetel di sumber lain dan digantikan oleh kebijakan ini.</translation>
 <translation id="1567405528131216114">Tambahkan <ph name="TOPIC" /></translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">Tambahkan email</translation>
 <translation id="3897092660631435901">Menu</translation>
 <translation id="3901925938762663762">Kartu telah habis masa berlakunya</translation>
+<translation id="3906095212874392000">Akhir teks yang dikonversi</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Anda dapat mengubahnya kapan saja di setelan Chrome</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">Tempat kertas 5</translation>
 <translation id="4331708818696583467">Tidak Aman</translation>
 <translation id="4333561522337981382">Mengelola jendela di semua layar Anda</translation>
+<translation id="4338709847516294988">Tekan tombol penelusuran dan m, lalu konversikan gambar ke teks pada menu konteks</translation>
 <translation id="4340575312453649552">Iklan ini menggunakan terlalu banyak resource untuk perangkat Anda, sehingga Chrome menghapusnya.</translation>
 <translation id="4340982228985273705">Komputer ini tidak terdeteksi sebagai dikelola perusahaan sehingga kebijakan hanya dapat secara otomatis menginstal ekstensi yang dihosting di Chrome Webstore. URL update Chrome Webstore-nya adalah "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Koneksi ke <ph name="SITE" /> tidak aman</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">Anda baru saja memasukkan sandi ke situs penipuan. Chrome dapat membantu. Untuk mengubah sandi dan memberi tahu Google bahwa akun Anda mungkin berisiko, klik Lindungi Akun.</translation>
 <translation id="4363222835916186793">Notifikasi untuk produk ini telah dinonaktifkan</translation>
 <translation id="437040971055499437">Terjadi peristiwa keamanan</translation>
+<translation id="4371307856413138486">Awal teks yang dikonversi</translation>
 <translation id="4371591986692297148">Tidak aktif</translation>
 <translation id="4372948949327679948">Nilai <ph name="VALUE_TYPE" /> yang diharapkan.</translation>
 <translation id="4375864595697821259">Tambahkan item kembali jika Anda menginginkannya berada di kumpulan topik yang dapat dipilih Chrome saat memperkirakan minat Anda</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">Tutup</translation>
 <translation id="6041777658117377052">Suhu ruang</translation>
 <translation id="6042308850641462728">Lainnya</translation>
+<translation id="6042688167654081154">Gambar dikonversi ke teks</translation>
 <translation id="6044573915096792553">Ukuran 12</translation>
 <translation id="6045164183059402045">Template imposisi</translation>
 <translation id="6047233362582046994">Jika Anda memahami risiko keamanan tersebut, Anda dapat <ph name="BEGIN_LINK" />mengunjungi situs ini<ph name="END_LINK" /> sebelum aplikasi berbahaya tersebut dihapus.</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">Geologi</translation>
 <translation id="6196640612572343990">Blokir cookie pihak ketiga</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Gambar sedang dianalisis</translation>
 <translation id="6203231073485539293">Periksa koneksi internet Anda</translation>
 <translation id="6205314730813004066">Privasi iklan</translation>
 <translation id="6212314149070368045">AS Fanfold</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index 6230f9a5..3d9625b 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">Risaeðluleikur. Pixluð risaeðla sneiðir hjá kaktusum og flugeðlum þegar hún hleypur í gegnum eyðimörk. Ýttu á bilslána til að hoppa yfir hindranir um leið og hljóðmerki heyrist.</translation>
 <translation id="1374468813861204354">tillögur</translation>
 <translation id="1375198122581997741">Um útgáfu</translation>
+<translation id="1375293861397106342">Verð eru yfirleitt <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">Sýna minna</translation>
 <translation id="1380591466760231819">Bréfabrot</translation>
 <translation id="138218114945450791">Ljósblár</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">Þessi síða segir</translation>
 <translation id="1536390784834419204">Þýða síðu</translation>
 <translation id="1539840569003678498">Skýrsla send:</translation>
+<translation id="1545757265410828525">Verðferill</translation>
 <translation id="1549470594296187301">JavaScript verður að vera virkt til að hægt sé að nota þennan eiginleika.</translation>
 <translation id="1551884710160394169">Gjaldfrjáls hugbúnaður og valgreiðslubúnaður</translation>
 <translation id="1553358976309200471">Uppfæra Chrome</translation>
@@ -265,6 +267,7 @@
 
           &lt;p&gt;Stilltu dagsetningu og tíma í hlutanum &lt;strong&gt;Almennt&lt;/strong&gt; í forritinu &lt;strong&gt;Stillingar&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Stjórnandinn þinn endurræsir tækið klukkan <ph name="TIME" /> <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Engum texta umbreytt úr myndum</translation>
 <translation id="156703335097561114">Upplýsingar um netkerfi á borð við vefföng, stillingar viðmóts og gæði tengingar</translation>
 <translation id="1567040042588613346">Þessi regla virkar sem skyldi en sama gildi er stillt annars staðar og þessi regla leysir það af hólmi.</translation>
 <translation id="1567405528131216114">Bæta <ph name="TOPIC" /> við</translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">Engin umfjöllunarefni til að birta eins og er</translation>
 <translation id="2021333772895814435">Þessi regla slekkur sjálfkrafa á samstillingu á milli tækja fyrir: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 x 19 to.</translation>
+<translation id="2022815493835288714">Viðvörun um nýja greiðslustillingu er opin</translation>
 <translation id="2025115093177348061">Aukinn veruleiki</translation>
 <translation id="2025186561304664664">Proxy-þjónninn er stilltur á sjálfvirka stillingu.</translation>
 <translation id="2025891858974379949">Óöruggt efni</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">Öryggisviðvörun</translation>
 <translation id="2692131511336778528">Vísindaskáldskapur og fantasíur</translation>
 <translation id="2701514975700770343">Snýr niður</translation>
+<translation id="2702592986366989640">Lágt verð</translation>
 <translation id="2702801445560668637">Leslisti</translation>
 <translation id="2704283930420550640">Gildið stemmir ekki við sniðið.</translation>
 <translation id="2704606927547763573">Afritað</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">Búa til viðburð</translation>
 <translation id="2903493209154104877">Heimilisföng</translation>
 <translation id="290376772003165898">Er tungumál síðunnar ekki <ph name="LANGUAGE" />?</translation>
+<translation id="2905107382358353958">Viðvörun um nýja greiðslustillingu</translation>
 <translation id="2909946352844186028">Breyting á neti greindist.</translation>
 <translation id="2911973620368911614">Notandakenni vinnslureiknings</translation>
 <translation id="2914160345369867329"><ph name="SITE" /> notar yfirleitt dulkóðun til að vernda upplýsingarnar þínar. Þegar Chrome reyndi að tengjast <ph name="SITE" /> í þetta skiptið sendi vefsvæðið óvenjuleg og röng skilríki til baka. Þetta getur gerst þegar tölvuþrjótur reynir að þykjast vera <ph name="SITE" /> eða innskráningarskjár fyrir Wi-Fi hefur truflað tenginguna. Upplýsingarnar þínar eru enn öruggar vegna þess að Chrome sleit tengingunni áður en skipst var á gögnum.</translation>
@@ -931,6 +937,7 @@
 <translation id="3256863843508922226">Starfslok og lífeyrir</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að búa til nýjan viðburð í Google dagatali á skjótan hátt</translation>
 <translation id="3261488570342242926">Nánar um sýndarkort</translation>
+<translation id="3262698603497362968">Kaupvalkostir</translation>
 <translation id="3266367459139339908">Við kynnum nýjar leiðir til að takmarka upplýsingarnar sem vefsvæði geta fengið um þig þegar þau birta þér sérsniðnar auglýsingar, til dæmis:</translation>
 <translation id="3266793032086590337">Gildi (skörun)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Ekki lokað á nein vefsvæði, þ.m.t. tengd vefsvæði}=1{Lokað á 1 vefsvæði, þ.m.t. tengd vefsvæði}one{Lokað á # vefsvæði, þ.m.t. tengd vefsvæði}other{Lokað á # vefsvæði, þ.m.t. tengd vefsvæði}}</translation>
@@ -1115,6 +1122,7 @@
 <translation id="3693327506115126094">Veldu hvernig þú ætlar að staðfesta hver þú ert</translation>
 <translation id="3698629142018988477">Hnappurinn „Búa til Site“, virkjaðu til að búa til nýtt Site í Google Sites á skjótan hátt</translation>
 <translation id="3701427423622901115">Endurstilling samþykkt.</translation>
+<translation id="3701900332588705891">Yfirleitt <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">Netið sem þú notar kann að fara fram á að þú farir á innskráningarsíðu þess.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" />–<ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">Hleður...</translation>
@@ -1200,6 +1208,7 @@
 <translation id="3890664840433101773">Bæta við netfangi</translation>
 <translation id="3897092660631435901">Valmynd</translation>
 <translation id="3901925938762663762">Kortið er útrunnið</translation>
+<translation id="3906095212874392000">Lok umbreytts texta</translation>
 <translation id="3906954721959377182">Spjaldtölva</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Þú getur skipt um skoðun hvenær sem er í stillingum Chrome</translation>
@@ -1219,6 +1228,7 @@
 <translation id="3949870428812919180">Engir vistaðir greiðslumátar</translation>
 <translation id="3950574001630941635">Endurræsa leiðsögn</translation>
 <translation id="3950820424414687140">Skrá inn</translation>
+<translation id="3953505489397572035">Þetta er dæmigert verð</translation>
 <translation id="3958057596965527988">4 x 4 to.</translation>
 <translation id="3961148744525529027">Greiðsluhjálparforritið er opið á hálfum skjánum</translation>
 <translation id="3962859241508114581">Fyrra lag</translation>
@@ -1355,6 +1365,7 @@
 <translation id="4250680216510889253">Nei</translation>
 <translation id="4250716950689692560">A4x4</translation>
 <translation id="4253168017788158739">Athugasemd</translation>
+<translation id="4255487295905690262">Þú færð tilkynningu í tölvupósti ef verðlækkun verður á einhverju vefsvæði.</translation>
 <translation id="425582637250725228">Hugsanlegt er að breytingarnar þínar séu ekki vistaðar.</translation>
 <translation id="4258748452823770588">Röng undirskrift</translation>
 <translation id="4261046003697461417">Ekki er hægt að skrifa skýringar á varin skjöl</translation>
@@ -1400,6 +1411,7 @@
 <translation id="4331519897422864041">Staflari 5</translation>
 <translation id="4331708818696583467">Ekki öruggt</translation>
 <translation id="4333561522337981382">Stjórna gluggum á öllum skjáum</translation>
+<translation id="4338709847516294988">Ýttu á leitarlykilinn og m til að umbreyta mynd í texta á efnisvalmyndinni</translation>
 <translation id="4340575312453649552">Chrome fjarlægði þessa auglýsingu vegna þess að hún notaði of mikið af gögnum fyrir tækið þitt.</translation>
 <translation id="4340982228985273705">Tölvunni virðist ekki vera stýrt af fyrirtæki og því getur reglan aðeins sett sjálfkrafa upp viðbætur sem hýstar eru í vefverslun Chrome. Uppfærsluvefslóð vefverslunar Chrome er „<ph name="CWS_UPDATE_URL" />“.</translation>
 <translation id="4348834659292907206">Tengingin við <ph name="SITE" /> er ekki örugg</translation>
@@ -1415,6 +1427,7 @@
 <translation id="4359160567981085931">Þú varst að slá aðgangsorðið þitt inn á villandi vefsvæði. Chrome getur aðstoðað. Smelltu á „Vernda reikning“ til að breyta lykilorðinu þínu og láta Google vita að reikningurinn þinn sé hugsanlega í hættu.</translation>
 <translation id="4363222835916186793">Slökkt hefur verið á tilkynningum fyrir þessa vöru</translation>
 <translation id="437040971055499437">Öryggisatvik á sér stað</translation>
+<translation id="4371307856413138486">Upphaf umbreytts texta</translation>
 <translation id="4371591986692297148">Óvirkt</translation>
 <translation id="4372948949327679948">Búist var við <ph name="VALUE_TYPE" /> gildi.</translation>
 <translation id="4375864595697821259">Bættu atriði við aftur ef þú vilt að það tilheyri hópi umfjöllunarefna sem Chrome getur notað til að áætla hvað höfðar til þín</translation>
@@ -1439,6 +1452,7 @@
 <translation id="4433642172056592619">Hunsað vegna þess að notandinn tengist ekki stjórn vélarinnar eða vélinni er ekki stýrt.</translation>
 <translation id="4434045419905280838">Sprettigluggar og framsendingar</translation>
 <translation id="443673843213245140">Slökkt er á notkun proxy-þjóns en sérstök proxy-stilling er tilgreind.</translation>
+<translation id="4438821706955556403">Dæmigert verð</translation>
 <translation id="4441832193888514600">Hunsað vegna þess að aðeins er hægt að stilla regluna sem notendareglu í skýi.</translation>
 <translation id="4449116177348980384">Hnappurinn „Stjórna stillingum vefsvæðis“, virkjaðu til að opna stillingar Chrome og stjórna heimildum og gögnum sem eru geymd á vefsvæðum</translation>
 <translation id="4451135742916150903">Getur beðið um að tengjast HID-tækjum</translation>
@@ -1454,6 +1468,7 @@
 <translation id="4489023393592172404">Umslag: kaku 4</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">Dulkóða samstillt aðgangsorð með Google reikningnum þínum</translation>
+<translation id="4492332866628791879">Vista og fylgjast með verði</translation>
 <translation id="4492519888999857993">Sjálfgefið er að slökkva á þessum eiginleikum. Þeir verða ekki tiltækir í síðari útgáfum Chrome.</translation>
 <translation id="4493480324863638523">Ógild vefslóð. Verður að vera vefslóð með hefðbundinni framsetningu, t.d. http://example.com or https://example.com.</translation>
 <translation id="4494323206460475851">Þú getur séð umfjöllunarefni auglýsinga í stillingunum og lokað á þau sem þú vilt ekki deila með vefsvæðum. Chrome eyðir einnig umfjöllunarefnum auglýsinga sem eru eldri en 4 vikna sjálfkrafa.</translation>
@@ -1593,6 +1608,7 @@
 <translation id="4813512666221746211">Netvilla</translation>
 <translation id="4816492930507672669">Laga að síðu</translation>
 <translation id="4819347708020428563">Breyta textaskýringum í sjálfgefnu sniði?</translation>
+<translation id="4822493756793346865">Dæmigerð verð byggjast á verðum netverslana síðustu 90 daga.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />, ýttu á Tab og svo Enter til að búa til nýjan Google töflureikni á skjótan hátt</translation>
 <translation id="4825507807291741242">Kraftmikið</translation>
 <translation id="483241715238664915">Kveikja á viðvörunum</translation>
@@ -1772,6 +1788,7 @@
 <translation id="523149107733989821">A4+</translation>
 <translation id="5234764350956374838">Hunsa</translation>
 <translation id="5238301240406177137">Vista á reikningi</translation>
+<translation id="5239119062986868403">Dæmigert verð</translation>
 <translation id="5239623327352565343">Staðsetning leyfð</translation>
 <translation id="5242889659037569123">Farangur og aukahlutir fyrir ferðalög</translation>
 <translation id="5244521145258281926">Stjórna Google-reikningi, virkjaðu til að stjórna upplýsingum, persónuvernd og öryggi á Google-reikningnum þínum</translation>
@@ -1841,6 +1858,7 @@
 <translation id="5398772614898833570">Lokað á auglýsingar</translation>
 <translation id="5400836586163650660">Grár</translation>
 <translation id="540969355065856584">Þessi þjónn gat ekki sannað að hann væri <ph name="DOMAIN" />; öryggisvottorð hans er ekki gilt eins og er. Þetta kann að orsakast af vanstillingu eða þá að tölvuþrjótur er að reyna að komast inn í tenginguna þína.</translation>
+<translation id="5411462078004183575">Lágt verð</translation>
 <translation id="5412040515238827314">Ógilt snið: Búist var við lista yfir mynstur.</translation>
 <translation id="5412236728747081950">Þetta vefsvæði fær upplýsingar um áhugasvið þín frá Chrome til að birta þér viðeigandi auglýsingar</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> - <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2089,6 +2107,7 @@
 <translation id="6040143037577758943">Loka</translation>
 <translation id="6041777658117377052">Hitastig í hólfi</translation>
 <translation id="6042308850641462728">Meira</translation>
+<translation id="6042688167654081154">Mynd umbreytt í texta</translation>
 <translation id="6044573915096792553">Stærð 12</translation>
 <translation id="6045164183059402045">Ásetningarsniðmát</translation>
 <translation id="6047233362582046994">Ef þú skilur öryggisáhættuna sem það hefur í för með sér geturðu <ph name="BEGIN_LINK" />heimsótt þetta vefsvæði<ph name="END_LINK" /> áður en skaðlegu forritin hafa verið fjarlægð.</translation>
@@ -2141,6 +2160,7 @@
 <translation id="6167577165590485365">Síðast reynt að sækja:</translation>
 <translation id="6169916984152623906">Nú geturðu vafrað í næði og aðrir notendur tækisins geta ekki séð það sem þú gerir. Niðurhal og bókamerki eru hinsvegar vistuð.</translation>
 <translation id="617256461084925519">Google Chrome er að reyna að staðfesta hver þú ert svo hægt sé að fylla út greiðsluupplýsingar.</translation>
+<translation id="6176387967264100435">Þetta er hátt verð</translation>
 <translation id="6177128806592000436">Tenging þín við þetta vefsvæði er ekki örugg</translation>
 <translation id="6177531123306197852">Umslag: C2</translation>
 <translation id="6180316780098470077">Tími milli tilrauna</translation>
@@ -2150,6 +2170,7 @@
 <translation id="6195371403461054755">Jarðfræði</translation>
 <translation id="6196640612572343990">Loka á fótspor frá þriðja aðila</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Verið er að greina mynd</translation>
 <translation id="6203231073485539293">Athugaðu internettenginguna</translation>
 <translation id="6205314730813004066">Persónuvernd auglýsinga</translation>
 <translation id="6212314149070368045">BNA Fanfold</translation>
@@ -2276,6 +2297,7 @@
 <translation id="6494750904506170417">sprettiglugga og framsendingar</translation>
 <translation id="6497295192259406877">Viðskiptastarfsemi</translation>
 <translation id="6499038740797743453">Endurstilla aðgangsorð?</translation>
+<translation id="6502510275417601303">Viðvörun um nýja greiðslustillingu er lokuð</translation>
 <translation id="6502626736864595182">Spjall- og umræðuveitur</translation>
 <translation id="6502991525169604759">Án breytinganna þinna</translation>
 <translation id="6506959208958864820">Umslag</translation>
@@ -2335,6 +2357,7 @@
 <translation id="6651270836885078973">Stjórnað af:</translation>
 <translation id="6652101503459149953">Nota Windows Hello</translation>
 <translation id="6657585470893396449">Aðgangsorð</translation>
+<translation id="6659246032834639189">Þetta er lágt verð</translation>
 <translation id="6660413144148052430">staðsetningu</translation>
 <translation id="6662457027866368246">Fyrsta rúlla</translation>
 <translation id="666259744093848177">(x86_64 þýtt)</translation>
@@ -2417,6 +2440,7 @@
 <translation id="6869334554832814367">Persónuleg lán</translation>
 <translation id="6873456682041376666">Efsti bakki</translation>
 <translation id="6874604403660855544">Endu&amp;rtaka nýtt bókamerki</translation>
+<translation id="6880941331070119097">Hátt verð</translation>
 <translation id="6881240511396774766">Búðu til nýtt Google skjal í skyndi</translation>
 <translation id="6883221904761970440">Sannvottunarsíðu fyrir skilríki öruggrar greiðslu var lokað</translation>
 <translation id="6884662655240309489">Stærð 1</translation>
@@ -2565,11 +2589,13 @@
 <translation id="7210863904660874423"><ph name="HOST_NAME" /> uppfyllir ekki öryggiskröfur.</translation>
 <translation id="7210993021468939304">Virkni innan Linux-rammans og getur sett upp og keyrt Linux-forrit innan rammans</translation>
 <translation id="721197778055552897"><ph name="BEGIN_LINK" />Frekari upplýsingar<ph name="END_LINK" /> um þetta vandamál.</translation>
+<translation id="7213191991901907140">Segðu okkur frá upplifun þinni</translation>
 <translation id="7217745192097460130">Viltu nota Touch ID til að staðfesta og ljúka kaupunum?</translation>
 <translation id="7219179957768738017">Tengingin notar <ph name="SSL_VERSION" />.</translation>
 <translation id="7220786058474068424">Í vinnslu</translation>
 <translation id="7221855153210829124">Sýna tilkynningar</translation>
 <translation id="722454870747268814">Nýr huliðsflipi</translation>
+<translation id="7227293336683593977">Verðferill</translation>
 <translation id="7233592378249864828">Prenta staðfestingarblað</translation>
 <translation id="7234638337680728591">Eldsneytisverð og eldsneyti ökutækja</translation>
 <translation id="7236417832106250253"><ph name="PROGRESS_PERCENT" />% lokið | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2937,6 +2963,7 @@
 <translation id="8057711352706143257">„<ph name="SOFTWARE_NAME" />“ hefur ekki verið stillt rétt. Yfirleitt er hægt að leysa vandann með því að fjarlægja „<ph name="SOFTWARE_NAME" />“. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">Matvælaframleiðsla</translation>
 <translation id="8058603697124206642">Ekki áskilið</translation>
+<translation id="8063875539456488183">Vista og fylgjast með verði</translation>
 <translation id="8064892030280197386">staðfesta hver þú ert svo hægt sé að fylla út greiðsluupplýsingar.</translation>
 <translation id="8066225060526005217">Stjórnað af fótsporastillingum</translation>
 <translation id="8067872629359326442">Þú varst að slá aðgangsorðið þitt inn á villandi vefsvæði. Chromium getur aðstoðað. Smelltu á „Vernda reikning“ til að breyta lykilorðinu þínu og láta Google vita að reikningurinn þinn sé hugsanlega í hættu.</translation>
@@ -2968,6 +2995,7 @@
 <translation id="810875025413331850">Engin nálæg tæki fundust.</translation>
 <translation id="8116925261070264013">Þögguð</translation>
 <translation id="8118489163946903409">Greiðslumáti</translation>
+<translation id="8118506371121007279">Senda ábendingu</translation>
 <translation id="8123046743443732598">Borðtölvur</translation>
 <translation id="8126056688005753476">Ævintýraferðir</translation>
 <translation id="8127301229239896662">„<ph name="SOFTWARE_NAME" />“ var ekki sett upp rétt í tölvunni eða netkerfinu. Biddu kerfisstjórann þinn um að lagfæra þetta.</translation>
@@ -3069,6 +3097,7 @@
 <translation id="8378714024927312812">Stjórnað af fyrirtækinu þínu</translation>
 <translation id="8380941800586852976">Hættulegt</translation>
 <translation id="8381674639488873545">Greiðslur gætu verið stakar eða endurteknar og hugsanlega er ekki greinilegt að borga þurfi. <ph name="BEGIN_LINK" />Sýna samt<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">Yfirleitt <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">Regla stjórnanda lokar á að hægt sé að deila frá <ph name="ORIGIN_NAME" /> í <ph name="VM_NAME" /></translation>
 <translation id="8396522675989118466">Þetta er <ph name="NUMBER_OF_DIGITS" /> tölustafa kóðinn sem má finna <ph name="SIDE_OF_CARD" /></translation>
 <translation id="8398335999901363925">Listi yfir greiðslumáta sem hægt er að færa inn við snertingu opinn í fullri hæð.</translation>
@@ -3130,6 +3159,7 @@
 <translation id="8542014550340843547">Þrjú hefti neðst</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">Þú getur <ph name="BEGIN_ERROR_LINK" />tilkynnt vandamál við greiningu<ph name="END_ERROR_LINK" /> eða, ef þú skilur hvaða hættu þetta hefur í för með sér fyrir öryggi þitt, <ph name="BEGIN_LINK" />opnað þetta ótrausta vefsvæði<ph name="END_LINK" />.</translation>
+<translation id="854548366864113872">Hátt verð</translation>
 <translation id="8546350655047701518">Flytja annála út sem JSON</translation>
 <translation id="854892890027593466">Umslag: C6/C5</translation>
 <translation id="8553387990086529628">Ferðamannastaðir</translation>
@@ -3143,6 +3173,7 @@
 <translation id="8564182942834072828">Aðskilin skjöl / ekki samröðuð eintök</translation>
 <translation id="8564985650692024650">Chromium mælir með því að þú endurstillir aðgangsorðið fyrir <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" /> ef þú notaðir það einnig á öðrum síðum.</translation>
 <translation id="8576310925653847813">Heimabíókerfi</translation>
+<translation id="8577192028579836704">Verð eru yfirleitt <ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">Sýndarkort ekki tiltækt</translation>
 <translation id="858637041960032120">Bæta við símanúmeri</translation>
 <translation id="8589998999637048520">Mest gæði</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 79fc97e2..76d4f491 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -52,6 +52,7 @@
 <translation id="1101672080107056897">エラー アクション</translation>
 <translation id="1103523840287552314"><ph name="LANGUAGE" />を常に翻訳</translation>
 <translation id="1104409666019087579">一部の必須項目が空白です。保存する前に入力してください。</translation>
+<translation id="1104860668737945357">[パスワードを管理] ボタンです。実行すると、Chrome の設定でパスワードを表示、管理できます</translation>
 <translation id="1108464073729874771">A3x4</translation>
 <translation id="1110994991967754504"><ph name="PERMISSION_NAME" /> の権限を選択します</translation>
 <translation id="1112828774174131240">アンティーク、コレクション</translation>
@@ -68,6 +69,7 @@
 <translation id="1158211211994409885"><ph name="HOST_NAME" /> により途中で接続が切断されました。</translation>
 <translation id="115926840831309955">CVC を確認してからもう一度試すか、有効期限を更新してください</translation>
 <translation id="1161325031994447685">Wi-Fi に再度接続する</translation>
+<translation id="11635448457105324">[住所を管理] ボタンです。実行すると、Chrome の設定で住所を追加、管理できます</translation>
 <translation id="1165039591588034296">エラー</translation>
 <translation id="1165174597379888365">ページがアクセスされた</translation>
 <translation id="1165852471352757509">ドキュメンタリー番組、ノンフィクション番組</translation>
@@ -99,6 +101,7 @@
 <translation id="1225607422885279949">Google が割引情報を見つけます</translation>
 <translation id="1227224963052638717">不明なポリシー。</translation>
 <translation id="1228893227497259893">エンティティ識別子が正しくありません</translation>
+<translation id="1230244617745022071"><ph name="SOURCE" />(自動検出)</translation>
 <translation id="1232569758102978740">無題</translation>
 <translation id="1236081509407217141">VR を許可しますか?</translation>
 <translation id="1238915852705750309">ウイルス対策、マルウェア</translation>
@@ -195,6 +198,7 @@
 <translation id="1413407968866574823">アクション ゲーム、プラットフォーム ゲーム</translation>
 <translation id="1413809658975081374">プライバシー エラー</translation>
 <translation id="1414134146594747368">保育園</translation>
+<translation id="1419305130220238697">[Chrome でのダウンロードを管理] ボタンです。実行すると、Chrome でダウンロードしたファイルを管理できます</translation>
 <translation id="1422930527989633628">近くにある Bluetooth デバイスの検出を要求できる</translation>
 <translation id="1426410128494586442">はい</translation>
 <translation id="1428146450423315676">スタッカー 7</translation>
@@ -261,6 +265,7 @@
 
       &lt;p&gt;&lt;strong&gt;設定&lt;/strong&gt;アプリの [&lt;strong&gt;全般&lt;/strong&gt;] セクションで日時を調整してください。&lt;/p&gt;</translation>
 <translation id="1559839503761818503">お使いのデバイスは <ph name="DATE" /> 日 <ph name="TIME" /> 時に管理者によって再起動されます</translation>
+<translation id="1564753300777780201">画像から変換されたテキストはありません</translation>
 <translation id="156703335097561114">ネットワーク情報(アドレス、インターフェース設定、接続品質など)</translation>
 <translation id="1567040042588613346">このポリシーは想定どおり動作していますが、同じ値が設定されている別のポリシーが優先されています。</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> を追加</translation>
@@ -353,6 +358,7 @@
 <translation id="1756026472674246267">新しいタブでリンクを開く</translation>
 <translation id="175656076281618225">手品</translation>
 <translation id="1757773103848038814">Monospace フォント</translation>
+<translation id="1757935267918149452">[Google のパスワードを変更] ボタンです。実行すると、Google アカウントのパスワードを変更できます</translation>
 <translation id="1763864636252898013">このサーバーが <ph name="DOMAIN" /> であることを確認できませんでした。このサーバーのセキュリティ証明書は、ご使用のデバイスのオペレーティング システムによって信頼されているものではありません。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。</translation>
 <translation id="1768211456781949159"><ph name="BEGIN_LINK" />Windows ネットワーク診断ツールを実行してみてください<ph name="END_LINK" />。</translation>
 <translation id="1774592222195216949"><ph name="BEGIN_LINK" />Chromium のシークレット モードについて<ph name="END_LINK" /></translation>
@@ -408,6 +414,7 @@
 <translation id="1919367280705858090">特定のエラー メッセージに関する情報</translation>
 <translation id="1919526244108283799">400x600 mm</translation>
 <translation id="192020519938775529">{COUNT,plural, =0{なし}=1{1 件のサイト}other{# 件のサイト}}</translation>
+<translation id="192095259937375524">[このタブを共有] ボタンです。実行すると、リンクの共有、QR コードの作成、キャストなどを行ってこのタブを共有できます</translation>
 <translation id="1924727005275031552">新</translation>
 <translation id="1935995810530254458">このままコピー</translation>
 <translation id="1939175642807587452">通知の送信を要求できる</translation>
@@ -434,6 +441,7 @@
 <translation id="2001146170449793414">{COUNT,plural, =1{他 1 個}other{他 # 個}}</translation>
 <translation id="2003709556000175978">今すぐパスワードを再設定してください</translation>
 <translation id="2003775180883135320">4 穴パンチ(上)</translation>
+<translation id="2009942480257059311">[予定を作成] ボタンです。実行すると、Google カレンダーで新しい予定をすばやく作成できます</translation>
 <translation id="201174227998721785">Chrome の設定ですべてのサイトに保存されている権限とデータを管理します</translation>
 <translation id="2012276282211112603">現在、表示できるトピックはありません</translation>
 <translation id="2021333772895814435">このポリシーにより、<ph name="ACTION_LIST" /> でのデバイス間の同期が自動的に無効になります。</translation>
@@ -511,6 +519,7 @@
 <translation id="2166378884831602661">このサイトは安全に接続できません</translation>
 <translation id="2168151236314517198">このコンテンツの印刷は管理者が設定したポリシーによってブロックされています</translation>
 <translation id="2176974405772725904">アカウントに住所を保存する</translation>
+<translation id="2178665390943006934">[Chrome を更新] ボタンです。実行すると、Chrome の設定で Chrome を更新できます</translation>
 <translation id="2181821976797666341">ポリシー</translation>
 <translation id="2183608646556468874">電話番号</translation>
 <translation id="2184405333245229118">{COUNT,plural, =1{1 件のアドレス}other{# 件のアドレス}}</translation>
@@ -564,6 +573,7 @@
 <translation id="2292556288342944218">インターネット アクセスがブロックされています</translation>
 <translation id="2293443924986248631">オンにすると、サイトは Cookie を使用してあなたをウェブ上でトラッキングできなくなります。一部サイトの機能が使用できなくなる可能性もあります。</translation>
 <translation id="2300306941146563769">アップロードされていません</translation>
+<translation id="230286397113210245">[シークレット ウィンドウを開く] ボタンです。実行すると、新しいシークレット ウィンドウを開いてシークレット モードでブラウジングできます</translation>
 <translation id="2316159751672436664">Chrome OS の設定でユーザー補助ツールをカスタマイズします</translation>
 <translation id="2316887270356262533">最大で 1 MB を解放します。サイトによっては、次回アクセスする際に読み込みに時間がかかる可能性があります。</translation>
 <translation id="2317259163369394535"><ph name="DOMAIN" /> にはユーザー名とパスワードが必要です。</translation>
@@ -576,6 +586,7 @@
 <translation id="2340263603246777781"><ph name="ORIGIN" /> がペア設定を要求しています</translation>
 <translation id="2340549657492527534">爬虫類、両生類</translation>
 <translation id="2346319942568447007">コピーした画像</translation>
+<translation id="2349957959687031096">[シークレット タブを開く] ボタンです。実行すると、新しいシークレット タブを開いてシークレット モードでブラウジングできます</translation>
 <translation id="2350796302381711542">すべての <ph name="PROTOCOL" /> リンクを <ph name="REPLACED_HANDLER_TITLE" /> ではなく <ph name="HANDLER_HOSTNAME" /> で開きますか?</translation>
 <translation id="2353297238722298836">カメラとマイクを使用できます</translation>
 <translation id="2354001756790975382">その他のブックマーク</translation>
@@ -787,6 +798,7 @@
 <translation id="2918922650248459053">ダイビング、水中アクティビティ</translation>
 <translation id="2922350208395188000">サーバーの証明書を確認できません。</translation>
 <translation id="292371311537977079">Chrome の設定</translation>
+<translation id="2925454999967523701">[ドキュメントを作成] ボタンです。実行すると、新しい Google ドキュメントをすばやく作成できます</translation>
 <translation id="2925673989565098301">配達方法</translation>
 <translation id="2928905813689894207">請求先住所</translation>
 <translation id="2929525460561903222">{SHIPPING_ADDRESS,plural, =0{<ph name="SHIPPING_ADDRESS_PREVIEW" />}=1{<ph name="SHIPPING_ADDRESS_PREVIEW" />(他 <ph name="NUMBER_OF_ADDITIONAL_ADDRESSES" /> 件)}other{<ph name="SHIPPING_ADDRESS_PREVIEW" />(他 <ph name="NUMBER_OF_ADDITIONAL_ADDRESSES" /> 件)}}</translation>
@@ -866,6 +878,7 @@
 <translation id="3141641372357166056">同意に関する判断なし</translation>
 <translation id="3145945101586104090">応答をデコードできませんでした</translation>
 <translation id="3150653042067488994">一時的なサーバー エラーです</translation>
+<translation id="3150889484970506196">[スプレッドシートを作成] ボタンです。実行すると、新しい Google スプレッドシートをすばやく作成できます</translation>
 <translation id="3154506275960390542">このページのフォームは安全に送信されない可能性があります。送信中にデータが他者に閲覧されたり、悪意のあるユーザーによりデータが変更されてサーバーに別の内容が届いたりする可能性があります。</translation>
 <translation id="3154987252551138431">ニアバイシェアの使用中に問題が発生しました</translation>
 <translation id="315504272643575312">あなたのアカウントは <ph name="MANAGER" /> によって管理されています。</translation>
@@ -940,6 +953,7 @@
 <translation id="3304073249511302126">Bluetooth のスキャン</translation>
 <translation id="3304777285002411338">A2x3</translation>
 <translation id="33073482541490531">たった今使用したパスワードがデータ侵害で検出されました。パスワード マネージャーでは、このパスワードを今すぐ変更することをおすすめします。</translation>
+<translation id="3307649904964670439">[Chrome をカスタマイズ] ボタンです。実行すると、ブラウザのデザインをカスタマイズできます</translation>
 <translation id="3308006649705061278">組織単位(OU)</translation>
 <translation id="3324687287337751929">4x6 インチ</translation>
 <translation id="3324983252691184275">クリムゾン</translation>
@@ -983,6 +997,7 @@
 <translation id="3407789382767355356">サードパーティのログイン</translation>
 <translation id="3409896703495473338">セキュリティ設定を管理</translation>
 <translation id="3414952576877147120">サイズ:</translation>
+<translation id="341513675006332771">[Chrome Dino ゲームをプレイ] ボタンです。実行すると、Chrome で Dino Run ゲームをプレイできます</translation>
 <translation id="3422248202833853650">メモリを解放するために、他のプログラムを終了してみてください。</translation>
 <translation id="3422472998109090673"><ph name="HOST_NAME" /> は現在アクセスできません。</translation>
 <translation id="3423742043356668186">システムの指定</translation>
@@ -1006,6 +1021,7 @@
 <translation id="346601286295919445">化学</translation>
 <translation id="3468054117417088249"><ph name="TAB_SWITCH_SUFFIX" /> が現在開いています。Tab キー、Enter キーの順に押すと開いているタブに切り替わります</translation>
 <translation id="3470563864795286535"><ph name="CLOSE_INCOGNITO_WINDOWS_FOCUSED_FRIENDLY_MATCH_TEXT" /> です。Tab、Enter キーの順に押すと、現在開いているすべてのシークレット ウィンドウを閉じます</translation>
+<translation id="3474392552865647225">[Chrome のフォントをカスタマイズ] ボタンです。実行すると、Chrome のフォントサイズと書体をカスタマイズできます</translation>
 <translation id="3477679029130949506">映画情報、劇場情報</translation>
 <translation id="3479552764303398839">後で</translation>
 <translation id="3484560055331845446">Google アカウントにアクセスできなくなる可能性があります。Chrome で今すぐパスワードを変更することをおすすめします。変更の際には、ログインするよう求められます。</translation>
@@ -1055,6 +1071,7 @@
 <translation id="3587738293690942763">中</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{グループはいつでもリセットできます。新しいグループに分類されるまでには約 1 日かかります。}=1{グループはいつでもリセットできます。新しいグループに分類されるまでには約 1 日かかります。}other{グループはいつでもリセットできます。新しいグループに分類されるまでには {NUM_DAYS} 日かかります。}}</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />、<ph name="DOMAIN" />、<ph name="TIME" /></translation>
+<translation id="3600492954573979888">[Google のプライバシー設定を管理] ボタンです。実行すると Google アカウントのプライバシー設定に移動できます</translation>
 <translation id="3603507503523709">アプリケーションは管理者によってブロックされています</translation>
 <translation id="3605899229568538311">5x5 インチ</translation>
 <translation id="3608932978122581043">給紙方向</translation>
@@ -1068,6 +1085,7 @@
 <translation id="3628905806504633297">{0,plural, =1{管理者のポリシー設定では、このファイルを <ph name="DESTINATION_NAME" /> に転送することは推奨されていません}other{管理者のポリシー設定では、これらのファイルを <ph name="DESTINATION_NAME" /> に転送することは推奨されていません}}</translation>
 <translation id="3630155396527302611">ネットワークへのアクセスを許可されたプログラムとして既に表示されている場合は、
       いったんリストから削除し、もう一度追加してみてください。</translation>
+<translation id="3630426379756188722">[デバイスを探す] ボタンです。実行すると、Google アカウントの「デバイスを探す」に移動できます</translation>
 <translation id="3630699740441428070">このデバイスの管理者が設定したネットワーク接続によって、アクセス先のウェブサイトを含むネットワーク トラフィックを管理者が把握できるようになっている可能性があります。</translation>
 <translation id="3631244953324577188">生体認証システム</translation>
 <translation id="3632503704576938756">画面共有を再開しました</translation>
@@ -1096,6 +1114,7 @@
 <translation id="3681007416295224113">証明書情報</translation>
 <translation id="3681421644246505351">Chrome では、ユーザーの最近の閲覧履歴に基づいて興味 / 関心のあるトピックを記録します。</translation>
 <translation id="3693327506115126094">本人確認の方法を選択してください</translation>
+<translation id="3698629142018988477">[サイトを作成] ボタンです。実行すると、Google サイトで新しいサイトをすばやく作成できます</translation>
 <translation id="3701427423622901115">リセットを確認しました。</translation>
 <translation id="3704162925118123524">ご利用のネットワークでは、ログインページへのアクセスが必要な可能性があります。</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
@@ -1182,6 +1201,7 @@
 <translation id="3890664840433101773">メールを追加</translation>
 <translation id="3897092660631435901">メニュー</translation>
 <translation id="3901925938762663762">カードの有効期限が切れています</translation>
+<translation id="3906095212874392000">変換されたテキストの最後</translation>
 <translation id="3906954721959377182">タブレット</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">この設定は Chrome の設定でいつでも変更できます</translation>
@@ -1295,6 +1315,7 @@
 <translation id="4179515394835346607"><ph name="ROW_NAME" /> <ph name="ROW_CONTENT" /></translation>
 <translation id="4186035307311647330">価格トラッキングを停止</translation>
 <translation id="4194250254487269611">現在、カードを保存できません</translation>
+<translation id="4195459680867822611">[Chrome のヒントを表示] ボタンです。実行すると、Chrome の機能を確認できます</translation>
 <translation id="4195643157523330669">新しいタブで開く</translation>
 <translation id="4196861286325780578">移動のやり直し(&amp;R)</translation>
 <translation id="4202218894997543208">ブロックしたトピック</translation>
@@ -1330,6 +1351,7 @@
 <translation id="4226937834893929579"><ph name="BEGIN_LINK" />ネットワーク診断ツールを実行してみてください<ph name="END_LINK" />。</translation>
 <translation id="4230204356098880324">カメラの使用と移動を要求できる</translation>
 <translation id="4231448684371260244">8x13 インチ</translation>
+<translation id="4233220688695460165">トピックと広告を提案するサイトは 30 日以内に自動削除されます。または、必要のないトピックやサイトをブロックすることもできます。</translation>
 <translation id="4235360514405112390">有効</translation>
 <translation id="4250431568374086873">このサイトへの接続は完全には保護されていません</translation>
 <translation id="4250680216510889253">いいえ</translation>
@@ -1380,6 +1402,7 @@
 <translation id="4331519897422864041">スタッカー 5</translation>
 <translation id="4331708818696583467">保護されていない通信</translation>
 <translation id="4333561522337981382">全ディスプレイのウィンドウを管理する</translation>
+<translation id="4338709847516294988">コンテキスト メニューで検索+M キーを押して画像をテキストに変換する</translation>
 <translation id="4340575312453649552">この広告は、デバイスのリソース消費が多すぎるため、Chrome によって削除されました。</translation>
 <translation id="4340982228985273705">このパソコンは企業の管理対象として検出されていないため、ポリシーで自動的にインストールできるのは Chrome ウェブストアでホストされている拡張機能のみとなります。Chrome ウェブストアの更新 URL は「<ph name="CWS_UPDATE_URL" />」です。</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> への接続は安全ではありません</translation>
@@ -1395,6 +1418,7 @@
 <translation id="4359160567981085931">偽のサイトでパスワードを入力しました。Chrome を使って不正利用への対策ができます。パスワードを変更し、Google にアカウントの状況を通知するには、[アカウントを保護] をクリックしてください。</translation>
 <translation id="4363222835916186793">この商品のアラートをオフにしました</translation>
 <translation id="437040971055499437">セキュリティ イベントの発生</translation>
+<translation id="4371307856413138486">変換されたテキストの先頭</translation>
 <translation id="4371591986692297148">無効</translation>
 <translation id="4372948949327679948"><ph name="VALUE_TYPE" /> 値が想定されます。</translation>
 <translation id="4375864595697821259">あなたの興味 / 関心を推測する際に Chrome が使用しても構わないトピックについては、プールに戻します</translation>
@@ -1420,6 +1444,7 @@
 <translation id="4434045419905280838">ポップアップとリダイレクト</translation>
 <translation id="443673843213245140">プロキシの使用は無効ですが、プロキシの設定が明示的に指定されています。</translation>
 <translation id="4441832193888514600">ポリシーは、クラウド ユーザー ポリシーとしてのみ設定可能なため無視されました。</translation>
+<translation id="4449116177348980384">[サイトの設定を管理] ボタンです。実行すると、Chrome の設定ですべてのサイトに保存されている権限とデータを管理できます</translation>
 <translation id="4451135742916150903">HID デバイスへの接続を要求できる</translation>
 <translation id="4451684391620232683">ユーザーに表示されるテキスト:</translation>
 <translation id="4452328064229197696">たった今使用したパスワードがデータ侵害で検出されました。Google パスワード マネージャーでは、アカウントを保護するために保存したパスワードを確認することをおすすめします。</translation>
@@ -1509,6 +1534,7 @@
 <translation id="4682496302933121474">ページを翻訳しますか?</translation>
 <translation id="468314109939257734">仮想カード番号を表示します</translation>
 <translation id="4687718960473379118">ウェブサイトによる広告の提案</translation>
+<translation id="469028408546145398">[すべてのシークレット ウィンドウを閉じる] ボタンです。実行すると、現在開いているすべてのシークレット ウィンドウを閉じることができます</translation>
 <translation id="4692623383562244444">検索エンジン</translation>
 <translation id="4701488924964507374"><ph name="SENTENCE1" /> <ph name="SENTENCE2" /></translation>
 <translation id="4702504834785592287">側面</translation>
@@ -1620,11 +1646,13 @@
 <translation id="4936134414789135531">挿入された <ph name="VALUE_NAME" /> が見つかりませんでした。</translation>
 <translation id="4936675324097895694">金融</translation>
 <translation id="4940163644868678279">Chrome のシークレット モード</translation>
+<translation id="494111439860963024">[閲覧履歴データを削除] ボタンです。実行すると、Chrome の設定で閲覧履歴、Cookie、キャッシュなどを削除できます</translation>
 <translation id="4943872375798546930">結果はありません</translation>
 <translation id="4943933359574417591">テキスト メッセージ&インスタント メッセージ</translation>
 <translation id="4950898438188848926">タブの切り替えボタンです。Enter キーを押すと開いているタブ「<ph name="TAB_SWITCH_FOCUSED_FRIENDLY_MATCH_TEXT" />」に切り替わります</translation>
 <translation id="495170559598752135">操作</translation>
 <translation id="4953689047182316270">ユーザー補助機能のイベントへの応答</translation>
+<translation id="4957080528849277028">[Chrome 履歴を表示] ボタンです。実行すると、Chrome の設定で閲覧履歴を表示、管理できます</translation>
 <translation id="4958444002117714549">リストを展開する</translation>
 <translation id="4960068118612257147">Chrome の広告プライバシー設定で変更できます</translation>
 <translation id="4964505745997821360">健康保険</translation>
@@ -1750,6 +1778,7 @@
 <translation id="5238301240406177137">アカウントに保存</translation>
 <translation id="5239623327352565343">位置情報が許可されています</translation>
 <translation id="5242889659037569123">旅行バッグ、旅行用品</translation>
+<translation id="5244521145258281926">[Google アカウントを管理] ボタンです。実行すると、Google アカウントで情報、プライバシー、セキュリティを管理できます</translation>
 <translation id="5244732203286792411">読み込んでいます...
     しばらくお待ちください。</translation>
 <translation id="5250209940322997802">「ネットワークに接続してください」</translation>
@@ -1841,6 +1870,7 @@
 <translation id="5483838506518938965">以上で完了です</translation>
 <translation id="5485973315555778056">クラウドマシン</translation>
 <translation id="5487426985799386720">フード、ドリンク</translation>
+<translation id="5488590678320979185">[メモを作成] ボタンです。実行すると、Google Keep で新しいメモをすばやく作成できます</translation>
 <translation id="5490432419156082418">住所やその他の情報</translation>
 <translation id="5492298309214877701">このサイトは企業、団体、または学校のイントラネット上にありますが、外部のウェブサイトと同じ URL が使用されています。
     <ph name="LINE_BREAK" />
@@ -1935,6 +1965,7 @@
 <translation id="5725567311035061582">Cookie とサイトデータを管理する</translation>
 <translation id="5730040223043577876">パスワードを他のサイトで再使用した場合、Chrome ではパスワードの再設定を促すメッセージが表示されます。</translation>
 <translation id="5732392974455271431">ブロックの解除は保護者が行うことができます</translation>
+<translation id="573555826359077410">[フォームを作成] ボタンです。実行すると、Google フォームで新しいフォームをすばやく作成できます</translation>
 <translation id="5736165827969430182">金属、鉱業</translation>
 <translation id="5737183892635480227">{NUM_CARDS,plural, =1{Google アカウントにカードを保存}other{Google アカウントにカードを保存}}</translation>
 <translation id="5738385766833540397">トラッキングしている商品の値下げアラートを受け取る方法を管理します</translation>
@@ -2062,6 +2093,7 @@
 <translation id="6040143037577758943">閉じる</translation>
 <translation id="6041777658117377052">チャンバーの温度</translation>
 <translation id="6042308850641462728">もっと見る</translation>
+<translation id="6042688167654081154">画像をテキストに変換しました</translation>
 <translation id="6044573915096792553">サイズ 12</translation>
 <translation id="6045164183059402045">面付けテンプレート</translation>
 <translation id="6047233362582046994">有害なアプリがまだ存在する可能性があるにもかかわらず<ph name="BEGIN_LINK" />このサイトにアクセスする<ph name="END_LINK" />場合は、セキュリティ上の危険性をあらかじめご認識ください。</translation>
@@ -2123,6 +2155,7 @@
 <translation id="6195371403461054755">地質学</translation>
 <translation id="6196640612572343990">サードパーティの Cookie をブロックする</translation>
 <translation id="6197648101609735209">89x89 mm</translation>
+<translation id="6200386911308538077">画像を分析しています</translation>
 <translation id="6203231073485539293">インターネット接続を確認してください</translation>
 <translation id="6205314730813004066">広告のプライバシー</translation>
 <translation id="6212314149070368045">米国ファンフォールド</translation>
@@ -2205,6 +2238,7 @@
 <translation id="6394852772105848029">このサイトは <ph name="APP_NAME" /> アプリを開くよう要求しています</translation>
 <translation id="6398765197997659313">全画面表示を終了</translation>
 <translation id="6401136357288658127">このポリシーはサポートが終了したため、代わりに <ph name="NEW_POLICY" /> ポリシーを使用してください。</translation>
+<translation id="6403709186844650075"><ph name="SOURCE" /> の字幕</translation>
 <translation id="6404511346730675251">ブックマークを編集</translation>
 <translation id="6405181733356710802"><ph name="APP_NAME" /> に移動しますか?</translation>
 <translation id="6410264514553301377"><ph name="CREDIT_CARD" /> の有効期限と CVC を入力</translation>
@@ -2257,6 +2291,7 @@
 <translation id="6518133107902771759">確認</translation>
 <translation id="65203098586853226"><ph name="SOURCE" />を<ph name="TARGET" />に翻訳しています</translation>
 <translation id="6521745193039995384">無効</translation>
+<translation id="6524830701589638230">[ユーザー補助設定を管理] ボタンです。実行すると、Chrome の設定でユーザー補助ツールをカスタマイズできます</translation>
 <translation id="6529173248185917884">ロール 7</translation>
 <translation id="6529602333819889595">削除のやり直し(&amp;R)</translation>
 <translation id="6535751101619004418">通貨、為替</translation>
@@ -2270,6 +2305,7 @@
 <translation id="6556866813142980365">やり直す</translation>
 <translation id="6557715786897013164">14x17 インチ</translation>
 <translation id="6560786330438719938">インストールまたはアンインストールしたアプリと使用頻度</translation>
+<translation id="6568793038316600992">[お支払い方法を管理] ボタンです。実行すると、Chrome の設定でお支払いとクレジット カードの情報を管理できます</translation>
 <translation id="6569060085658103619">拡張機能のページを表示しています</translation>
 <translation id="6569366777234823130">ドラマ映画</translation>
 <translation id="6573200754375280815">2 穴パンチ(右)</translation>
@@ -2292,6 +2328,7 @@
 <translation id="6627727261837091711">広告のパーソナライズの詳細を表示します</translation>
 <translation id="6628463337424475685"><ph name="ENGINE" /> 検索</translation>
 <translation id="6630043285902923878">USB デバイスを検出しています...</translation>
+<translation id="6630388727238334626">[Chrome の設定を管理] ボタンです。実行すると Chrome の設定に移動できます</translation>
 <translation id="6630809736994426279"><ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> では現在、悪意のあるユーザーによって、お使いの Mac 上に危険なプログラム(写真、パスワード、メッセージ、クレジット カードなどの情報を盗んだり削除したりするプログラム)がインストールされる可能性があります。<ph name="BEGIN_LEARN_MORE_LINK" />詳細<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="663260587451432563">JIS B4</translation>
 <translation id="6643016212128521049">削除</translation>
@@ -2375,6 +2412,7 @@
 <translation id="6832753933931306326">フォームに入力しました</translation>
 <translation id="6842196666980060516">184x260 mm</translation>
 <translation id="6846340164947227603">仮想カード番号を使用...</translation>
+<translation id="6849023911358004088">[セキュリティ設定を管理] ボタンです。実行すると、Chrome の設定でセーフ ブラウジングなどを管理できます</translation>
 <translation id="6852204201400771460">アプリを再読み込みしますか?</translation>
 <translation id="6857776781123259569">パスワードを管理...</translation>
 <translation id="6858034839887287663">A2x4</translation>
@@ -2628,6 +2666,7 @@
 <translation id="7418620734632363981">プログラミング</translation>
 <translation id="7419106976560586862">プロフィール パス</translation>
 <translation id="7421067045979951561">プロトコル ハンドラ</translation>
+<translation id="7423283032694727565">[Cookie を管理] ボタンです。実行すると、Chrome の設定で Cookie の設定を管理できます</translation>
 <translation id="7427366580982928791">子どものインターネット セーフティ</translation>
 <translation id="7429429656042611765">エグゼクティブ</translation>
 <translation id="7437289804838430631">連絡先情報を追加</translation>
@@ -2638,6 +2677,7 @@
 <translation id="7444046173054089907">このサイトはブロックされています</translation>
 <translation id="7445762425076701745">接続してるサーバーの身元について、十分な検証ができません。接続しているサーバーは、そのネットワーク内でのみ有効な名前を使用しており、外部認証局がその所有権を検証する方法はありません。こうした名前で証明書を発行する認証局もあるので、接続先が意図したウェブサイトか、悪意のあるユーザーのサイトかは確認できません。</translation>
 <translation id="7447625772313191651"><ph name="NAME" />(<ph name="WIDTH" />x<ph name="HEIGHT" /> mm)</translation>
+<translation id="7450577240311017924">[同期を管理] ボタンです。実行すると、Chrome の設定で同期する情報を管理できます</translation>
 <translation id="7451311239929941790">この問題について<ph name="BEGIN_LINK" />詳細を確認<ph name="END_LINK" />する</translation>
 <translation id="7455133967321480974">グローバルのデフォルト値([ブロック])を使用</translation>
 <translation id="745640750744109667">A0x3</translation>
@@ -2854,6 +2894,7 @@
 <translation id="7950027195171824198">Chrome の設定で Cookie の設定を管理する</translation>
 <translation id="7951415247503192394">(32 ビット)</translation>
 <translation id="7952192831285741665">欧州 EDP</translation>
+<translation id="7952327717479677595">[検索エンジンを管理] ボタンです。実行すると、デフォルトの検索エンジンとサイト内検索を管理できます</translation>
 <translation id="7953569069500808819">端綴じ(上)</translation>
 <translation id="7955105108888461311">直接リクエストする</translation>
 <translation id="7956713633345437162">モバイルのブックマーク</translation>
@@ -2886,6 +2927,7 @@
 <translation id="8026126421313327427">Chrome では、4 週間以上経過したトピックは自動削除されます。閲覧を続けていると、トピックがリストに再度表示される場合もあります。ウェブサイトと共有したくないトピックはブロックできます。</translation>
 <translation id="8026334261755873520">閲覧履歴データの削除</translation>
 <translation id="8027077570865220386">トレイ 15</translation>
+<translation id="8027585818882015174">[Chrome の安全確認を実行] ボタンです。実行すると、Chrome の設定で安全確認を行うことができます</translation>
 <translation id="8028698320761417183"><ph name="CREATE_GOOGLE_FORM_FOCUSED_FRIENDLY_MATCH_TEXT" /> です。Tab キー、Enter キーの順に押すと、Google フォームで新しいフォームをすばやく作成します</translation>
 <translation id="8028960012888758725">トリミング(ジョブ後)</translation>
 <translation id="8034522405403831421">このページの言語は<ph name="SOURCE_LANGUAGE" />です。<ph name="TARGET_LANGUAGE" />に翻訳しますか?</translation>
@@ -3177,8 +3219,10 @@
 <translation id="8763986294015493060">現在開いているすべてのシークレット ウィンドウを閉じます</translation>
 <translation id="8766943070169463815">保護されたお支払い認証情報の認証シートが開いています</translation>
 <translation id="8767765348545497220">ヘルプバブルを閉じる</translation>
+<translation id="8768225988514678921">[プレゼンテーションを作成] ボタンです。実行すると、スライドで新しい Google プレゼンテーションをすばやく作成できます</translation>
 <translation id="877348612833018844">{0,plural, =1{機密ファイルを移動しますか?}other{機密ファイルを移動しますか?}}</translation>
 <translation id="877985182522063539">A4</translation>
+<translation id="8781278378794969337">[ページを翻訳] ボタンです。実行すると、Google 翻訳を使用してこのページを翻訳できます</translation>
 <translation id="8785658048882205566">オートバイ</translation>
 <translation id="8790007591277257123">削除のやり直し(&amp;R)</translation>
 <translation id="8792621596287649091"><ph name="ORG_NAME" /> アカウントにアクセスできなくなったり、個人情報が盗まれたりする可能性があります。今すぐパスワードを変更することをおすすめします。</translation>
@@ -3348,6 +3392,7 @@
 <translation id="9183302530794969518">Google ドキュメント</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> ではサポートされていないプロトコルが使用されています。</translation>
 <translation id="918454845714257218"><ph name="SIDE_OF_CARD" />のコードを確認して、もう一度お試しください</translation>
+<translation id="9186203289258525843">[Chrome を既定のブラウザに設定する] ボタンです。実行すると Chrome をシステムの既定のブラウザに設定できます</translation>
 <translation id="9187461866967718678">エクストリーム スポーツ</translation>
 <translation id="9191834167571392248">パンチ(左下)</translation>
 <translation id="9199905725844810519">印刷はブロックされています</translation>
diff --git a/components/strings/components_strings_kk.xtb b/components/strings/components_strings_kk.xtb
index fbca899c..5b3db33 100644
--- a/components/strings/components_strings_kk.xtb
+++ b/components/strings/components_strings_kk.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;&lt;strong&gt;Параметрлер&lt;/strong&gt; қолданбасының &lt;strong&gt;Жалпы&lt;/strong&gt; бөліміндегі күн мен уақытты реттеңіз.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Әкімші құрылғыңызды өшіріп қосатын уақыт: <ph name="DATE" /> <ph name="TIME" /></translation>
+<translation id="1564753300777780201">Суреттерден түрлендірілген мәтін жоқ</translation>
 <translation id="156703335097561114">Мекенжайлар, интерфейс конфигурациясы және байланыс сапасы сияқты желі ақпараты</translation>
 <translation id="1567040042588613346">Бұл саясат ойдағыдай жұмыс істеуде, бірақ басқа жерде осы саясат бойынша ауыстырылатын тап осындай мән орнатылған.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> тақырыбын қосу</translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">Электрондық пошта мекенжайын енгізу</translation>
 <translation id="3897092660631435901">Мәзір</translation>
 <translation id="3901925938762663762">Картаның мерзімі өткен</translation>
+<translation id="3906095212874392000">Түрлендірілген мәтін соңы</translation>
 <translation id="3906954721959377182">Планшет</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Таңдауыңызды кез келген уақытта Chrome параметрлерінде өзгертуге болады.</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">5-жинастырушы</translation>
 <translation id="4331708818696583467">Қауіпсіз емес</translation>
 <translation id="4333561522337981382">Барлық дисплейде терезелерді басқару</translation>
+<translation id="4338709847516294988">Іздеу және m пернелерін бірге басып, контекстік мәзірде суретті мәтінге түрлендіріңіз</translation>
 <translation id="4340575312453649552">Бұл жарнама құрылғыңыздың тым көп ресурсын пайдаланғандықтан, Chrome оны өшірді.</translation>
 <translation id="4340982228985273705">Бұл компьютерді кәсіпорын басқармайтындықтан, саясат тек Chrome Webstore дүкенінде орналасқан кеңейтімдерді автоматты түрде орната алады. Chrome Webstore жаңартылған нұсқасының URL мекенжайы: "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> сайтымен байланыс қауіпсіз емес</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">Жаңа ғана құпия сөзіңізді алаяқтық сайтқа енгіздіңіз. Chrome көмектесе алады. Құпия сөзді өзгертіп, Google-ға аккаунтқа төніп тұрған қауіп туралы хабарлау үшін "Аккаунтты қорғау" түймесін басыңыз.</translation>
 <translation id="4363222835916186793">Осы өнімге қатысты хабарландырулар өшірілді.</translation>
 <translation id="437040971055499437">Қауіпсіздік іс-шарасы анықталды</translation>
+<translation id="4371307856413138486">Түрлендірілген мәтін басы</translation>
 <translation id="4371591986692297148">Өшірілген</translation>
 <translation id="4372948949327679948"><ph name="VALUE_TYPE" /> мәні қажет.</translation>
 <translation id="4375864595697821259">Қызығушылықтарыңызды бағалау кезінде Chrome таңдай алатын тақырыптар қорында болуын қаласаңыз, элементті қайта қосыңыз</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">Жабу</translation>
 <translation id="6041777658117377052">Камераның температурасы</translation>
 <translation id="6042308850641462728">Жаю</translation>
+<translation id="6042688167654081154">Сурет мәтінге түрлендірілді</translation>
 <translation id="6044573915096792553">Өлшемі: 12</translation>
 <translation id="6045164183059402045">Жолақтарды түсіру үлгісі</translation>
 <translation id="6047233362582046994">Қауіпсіздігіңізге келетін қатерлерді түсінсеңіз, зиянды қолданбалар жойылмай жатып, <ph name="BEGIN_LINK" />осы сайтқа кіруіңізге<ph name="END_LINK" /> болады.</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">Геология</translation>
 <translation id="6196640612572343990">Үшінші тарап cookie файлдарын бөгеу</translation>
 <translation id="6197648101609735209">89 x 89 мм</translation>
+<translation id="6200386911308538077">Сурет талданып жатыр</translation>
 <translation id="6203231073485539293">Интернет байланысын тексеріңіз</translation>
 <translation id="6205314730813004066">Жарнамадағы құпиялық</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index 2c88699..ce055137 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -264,6 +264,7 @@
 
       &lt;p&gt;ದಯವಿಟ್ಟು ಅಪ್ಲಿಕೇಶನ್‌ನ &lt;strong&gt;ಸೆಟ್ಟಿಂಗ್‌ಗಳು&lt;/strong&gt; ವಿಭಾಗದ &lt;strong&gt;ಸಾಮಾನ್ಯ&lt;/strong&gt; ದಿಂದ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಹೊಂದಿಸಿ.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು <ph name="DATE" /> ರಂದು <ph name="TIME" /> ಸಮಯಕ್ಕೆ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತಾರೆ</translation>
+<translation id="1564753300777780201">ಚಿತ್ರಗಳಲ್ಲಿನ ಯಾವುದೇ ಪಠ್ಯವನ್ನು ಪರಿವರ್ತಿಸಲಾಗಿಲ್ಲ</translation>
 <translation id="156703335097561114">ವಿಳಾಸಗಳು, ಇಂಟರ್ ಫೇಸ್ ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಕನೆಕ್ಷನ್ ಗುಣಮಟ್ಟದಂತಹ ನೆಟ್‌ವರ್ಕಿಂಗ್ ಮಾಹಿತಿ</translation>
 <translation id="1567040042588613346">ಈ ನೀತಿಯು ಉದ್ದೇಶಿಸಿದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ, ಆದರೆ ಅದೇ ಮೌಲ್ಯವನ್ನು ಬೇರೆಡೆ ಹೊಂದಿಸಲಾಗಿದೆ ಮತ್ತು ಅದು ಈ ನೀತಿಯನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> ಅನ್ನು ಸೇರಿಸಿ</translation>
@@ -1197,6 +1198,7 @@
 <translation id="3890664840433101773">ಇಮೇಲ್ ಸೇರಿಸಿ</translation>
 <translation id="3897092660631435901">ಮೆನು</translation>
 <translation id="3901925938762663762">ಕಾರ್ಡ್ ಅವಧಿಯು ಮುಗಿದಿದೆ</translation>
+<translation id="3906095212874392000">ಪರಿವರ್ತಿತ ಪಠ್ಯದ ಮುಕ್ತಾಯ</translation>
 <translation id="3906954721959377182">ಟ್ಯಾಬ್ಲೆಟ್</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">ನೀವು Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಮನಸ್ಸನ್ನು ಬದಲಾಯಿಸಬಹುದು</translation>
@@ -1397,6 +1399,7 @@
 <translation id="4331519897422864041">ಸ್ಟ್ಯಾಕರ್ 5</translation>
 <translation id="4331708818696583467">ಸುರಕ್ಷಿತವಲ್ಲ</translation>
 <translation id="4333561522337981382">ನಿಮ್ಮ ಎಲ್ಲಾ ಡಿಸ್ಪ್ಲೇಗಳಲ್ಲಿ ವಿಂಡೋಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
+<translation id="4338709847516294988">ಹುಡುಕಾಟ+m ಬಟನ್ ಅನ್ನು ಒತ್ತಿ ಮತ್ತು ಸಂದರ್ಭ ಮೆನುವಿನಲ್ಲಿ ಚಿತ್ರವನ್ನು ಪಠ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಿ</translation>
 <translation id="4340575312453649552">ಈ ಜಾಹೀರಾತು, ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ತೀರಾ ಹೆಚ್ಚು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸಿದೆ. ಆದ್ದರಿಂದ, Chrome ಇದನ್ನು ತೆಗೆದುಹಾಕಿದೆ.</translation>
 <translation id="4340982228985273705">ಈ ಕಂಪ್ಯೂಟರ್‌ ಅನ್ನು ಎಂಟರ್‌ಪ್ರೈಸ್ ನಿರ್ವಹಣೆ ಮಾಡುತ್ತಿದೆ ಎಂದು ಪತ್ತೆಹಚ್ಚಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಕಾರ್ಯನೀತಿಯು Chrome ವೆಬ್‌ ಸ್ಟೋರ್‌ನಲ್ಲಿ ಹೋಸ್ಟ್ ಮಾಡಲಾದ ವಿಸ್ತರಣೆಗಳನ್ನು ಮಾತ್ರ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬಹುದು. Chrome ವೆಬ್‌ ಸ್ಟೋರ್‌ ಅಪ್‌ಡೇಟ್‌ URL "<ph name="CWS_UPDATE_URL" />" ಆಗಿರುತ್ತದೆ.</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> ಗೆ ಕನೆಕ್ಷನ್ ಸುರಕ್ಷಿತವಾಗಿಲ್ಲ</translation>
@@ -1412,6 +1415,7 @@
 <translation id="4359160567981085931">ನೀವು ಈಗಷ್ಟೇ ವಂಚನೆ ಮಾಡುವ ಸೈಟ್‌ನಲ್ಲಿ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿದ್ದೀರಿ. Chrome, ಸಹಾಯ ಮಾಡಬಹುದು. ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಲು ಮತ್ತು ನಿಮ್ಮ ಖಾತೆಗೆ ಅಪಾಯ ಉಂಟಾಗಿರಬಹುದು ಎಂದು Google ಗೆ ಸೂಚಿಸಲು, ಖಾತೆ ರಕ್ಷಿಸಿ ಕ್ಲಿಕ್ ಮಾಡಿ.</translation>
 <translation id="4363222835916186793">ಈ ಉತ್ಪನ್ನದ ಕುರಿತ ಅಲರ್ಟ್‌ಗಳನ್ನು ಆಫ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="437040971055499437">ಭದ್ರತಾ ಈವೆಂಟ್‌ ಸಂಭವಿಸುತ್ತದೆ</translation>
+<translation id="4371307856413138486">ಪರಿವರ್ತಿತ ಪಠ್ಯದ ಪ್ರಾರಂಭ</translation>
 <translation id="4371591986692297148">ನಿಷ್ಕ್ರಿಯವಾಗಿದೆ</translation>
 <translation id="4372948949327679948">ನಿರೀಕ್ಷಿತ <ph name="VALUE_TYPE" /> ಮೌಲ್ಯ.</translation>
 <translation id="4375864595697821259">ನಿಮ್ಮ ಆಸಕ್ತಿಗಳನ್ನು ಅಂದಾಜು ಮಾಡುವಾಗ Chrome ಆಯ್ಕೆ ಮಾಡಬಹುದಾದ ವಿಷಯಗಳ ಪೂಲ್‌ನಲ್ಲಿ ನೀವು ಐಟಂ ಅನ್ನು ಬಯಸಿದರೆ ಅದನ್ನು ಪುನಃ ಸೇರಿಸಿ</translation>
@@ -2086,6 +2090,7 @@
 <translation id="6040143037577758943">ಮುಚ್ಚಿರಿ</translation>
 <translation id="6041777658117377052">ಚೇಂಬರ್ ತಾಪಮಾನ</translation>
 <translation id="6042308850641462728">ಇನ್ನಷ್ಟು</translation>
+<translation id="6042688167654081154">ಚಿತ್ರವನ್ನು ಪಠ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಲಾಗಿದೆ</translation>
 <translation id="6044573915096792553">ಗಾತ್ರ 12</translation>
 <translation id="6045164183059402045">ಅಳವಡಿಕೆ ಟೆಂಪ್ಲೇಟ್</translation>
 <translation id="6047233362582046994">ನಿಮ್ಮ ಸುರಕ್ಷತೆ ಅಪಾಯಗಳು ನಿಮಗೆ ಅರ್ಥವಾಗಿದ್ದರೆ, ಅಪಾಯಕಾರಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದಕ್ಕೂ ಮೊದಲು ನೀವು <ph name="BEGIN_LINK" />ಈ ಸೈಟ್‌ಗೆ ಭೇಟಿ<ph name="END_LINK" /> ನೀಡಬಹುದು.</translation>
@@ -2146,6 +2151,7 @@
 <translation id="6195371403461054755">ಭೂವಿಜ್ಞಾನ</translation>
 <translation id="6196640612572343990">ಥರ್ಡ್ ಪಾರ್ಟಿ ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ</translation>
 <translation id="6197648101609735209">89 x 89 ಮಿಮೀ</translation>
+<translation id="6200386911308538077">ಚಿತ್ರವನ್ನು ವಿಶ್ಲೇಷಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="6203231073485539293">ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="6205314730813004066">ಜಾಹೀರಾತು ಗೌಪ್ಯತೆ</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
@@ -2264,6 +2270,7 @@
 <translation id="6468485451923838994">ಫಾಂಟ್‍ಗಳು</translation>
 <translation id="647261751007945333">ಸಾಧನ ನೀತಿಗಳು</translation>
 <translation id="647330291963761005">ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
+<translation id="6474220430271405609">ಕಾರ್ಯನೀತಿ ಪರೀಕ್ಷೆಗಳು</translation>
 <translation id="6475672344094591109">ನೀವು ಭೇಟಿ ನೀಡುವ ಸೈಟ್‌ಗಳು ತಮ್ಮ ಜಾಹೀರಾತುಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅಳೆಯುವುದಕ್ಕಾಗಿ ಅವುಗಳಿಗೆ ಸಹಾಯ ಮಾಡುವ ಮಾಹಿತಿಗಾಗಿ Chrome ಅನ್ನು ಕೇಳಬಹುದು. ಸೈಟ್‌ಗಳು ಪರಸ್ಪರ ಹಂಚಿಕೊಳ್ಳಬಹುದಾದ ಮಾಹಿತಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸುವ ಮೂಲಕ Chrome ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸುತ್ತದೆ.</translation>
 <translation id="6476284679642588870">ಪಾವತಿ ವಿಧಾನಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="6486200200930923183">ಸಾಕ್ಷ್ಯಚಿತ್ರಗಳು</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index 8d97c5fd..730acdc 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;&lt;strong&gt;설정&lt;/strong&gt; 앱의 &lt;strong&gt;일반&lt;/strong&gt; 섹션에서 날짜와 시간을 맞추세요.&lt;/p&gt;</translation>
 <translation id="1559839503761818503"><ph name="DATE" /> <ph name="TIME" />에 관리자가 기기를 다시 시작합니다.</translation>
+<translation id="1564753300777780201">이미지에서 변환된 텍스트 없음</translation>
 <translation id="156703335097561114">주소, 인터페이스 구성, 연결 품질 등의 네트워킹 정보</translation>
 <translation id="1567040042588613346">이 정책은 정상 작동 중이나 다른 위치에 같은 값이 설정되었으므로 이 정책에 의해 대체되었습니다.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> 추가</translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">이메일 추가</translation>
 <translation id="3897092660631435901">메뉴</translation>
 <translation id="3901925938762663762">만료된 카드입니다.</translation>
+<translation id="3906095212874392000">변환된 텍스트의 끝</translation>
 <translation id="3906954721959377182">태블릿</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">언제든지 Chrome 설정에서 선택을 변경할 수 있습니다.</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">스태커 5</translation>
 <translation id="4331708818696583467">주의 요함</translation>
 <translation id="4333561522337981382">모든 디스플레이의 창 관리</translation>
+<translation id="4338709847516294988">검색 메뉴에서 m을 누르고 컨텍스트 메뉴에서 이미지를 텍스트로 변환</translation>
 <translation id="4340575312453649552">이 광고는 기기에서 너무 많은 리소스를 사용했기 때문에 Chrome에서 삭제했습니다.</translation>
 <translation id="4340982228985273705">이 컴퓨터는 기업에서 관리하는 기기가 아닌 것으로 파악되므로, Chrome 웹 스토어에 호스팅된 확장 프로그램만 정책을 통해 자동으로 설치할 수 있습니다. Chrome 웹 스토어의 업데이트 URL은 '<ph name="CWS_UPDATE_URL" />'입니다.</translation>
 <translation id="4348834659292907206"><ph name="SITE" />에 대한 연결이 안전하지 않음</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">사기성 사이트에 비밀번호를 입력했습니다. Chrome이 계정 보호를 도와드립니다. 비밀번호를 변경하고 계정 보안 위험에 관해 Google에 알리려면 계정 보호를 클릭하세요.</translation>
 <translation id="4363222835916186793">제품 관련 알림이 사용 중지되었습니다.</translation>
 <translation id="437040971055499437">보안 관련 활동 발생</translation>
+<translation id="4371307856413138486">변환된 텍스트의 시작</translation>
 <translation id="4371591986692297148">비활성</translation>
 <translation id="4372948949327679948">예상 <ph name="VALUE_TYPE" /> 값입니다.</translation>
 <translation id="4375864595697821259">관심분야를 예측할 때 Chrome에서 선택할 수 있는 주제 풀에 원하는 항목을 다시 추가하세요.</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">닫기</translation>
 <translation id="6041777658117377052">챔버 온도</translation>
 <translation id="6042308850641462728">자세히</translation>
+<translation id="6042688167654081154">이미지가 텍스트로 변환됨</translation>
 <translation id="6044573915096792553">크기 12</translation>
 <translation id="6045164183059402045">적용 템플릿</translation>
 <translation id="6047233362582046994">유해한 앱이 삭제되기 전에 <ph name="BEGIN_LINK" />이 사이트를 방문<ph name="END_LINK" />하는 경우 보안상 위험을 반드시 이해하시기 바랍니다.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">지질학</translation>
 <translation id="6196640612572343990">서드 파티 쿠키 차단</translation>
 <translation id="6197648101609735209">89x89mm</translation>
+<translation id="6200386911308538077">이미지 분석 중</translation>
 <translation id="6203231073485539293">인터넷 연결을 확인하세요.</translation>
 <translation id="6205314730813004066">광고 개인 정보 보호</translation>
 <translation id="6212314149070368045">미국 Fanfold</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb
index dc04021..260d7473 100644
--- a/components/strings/components_strings_ky.xtb
+++ b/components/strings/components_strings_ky.xtb
@@ -2267,6 +2267,7 @@
 <translation id="6468485451923838994">Ариптер</translation>
 <translation id="647261751007945333">Түзмөк саясаттары</translation>
 <translation id="647330291963761005">Жаңыртуулар орнотулууда</translation>
+<translation id="6474220430271405609">Саясат сыноолору</translation>
 <translation id="6475672344094591109">Сиз кирген сайттар Chrome'дон жарнамалардын жарнамалардын майнаптуулугун талдоо үчүн керектүү маалыматты сурашы мүмкүн. Chrome cайттардын ортосунда бөлүшүлө турган маалыматты чектеп, купуялыгыңызды коргойт</translation>
 <translation id="6476284679642588870">Төлөм ыкмаларын башкаруу</translation>
 <translation id="6486200200930923183">Даректүү тасмалар</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb
index 8721ab9..2d380257 100644
--- a/components/strings/components_strings_lo.xtb
+++ b/components/strings/components_strings_lo.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;ກະ​ລຸ​ນາ​ປັບ​ວັນ​ທີ ແລະ​ເວ​ລາ​ຈາກພາກ &lt;strong&gt;ທົ່ວ​ໄປl&lt;/strong&gt; ຂອງ​ແອັບ &lt;strong&gt;ການ​ຕັ້ງ​ຄ່າ&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານຈະຣີສະຕາດອຸປະກອນຂອງທ່ານເວລາ <ph name="TIME" /> ໃນ <ph name="DATE" /></translation>
+<translation id="1564753300777780201">ບໍ່ມີຂໍ້ຄວາມທີ່ແປງມາຈາກຮູບ</translation>
 <translation id="156703335097561114">ຂໍ້ມູນດ້ານເຄືອຂ່າຍ ເຊັ່ນ: ທີ່ຢູ່, ການຕັ້ງຄ່າສ່ວນຕິດຕໍ່ ແລະ ຄຸນນະພາບການເຊື່ອມຕໍ່</translation>
 <translation id="1567040042588613346">ນະໂຍບາຍນີ້ກຳລັງເຮັດວຽກຕາມທີ່ກຳນົດໄວ້ ແຕ່ມີການຕັ້ງຄ່າດຽວກັນຢູ່ບ່ອນອື່ນ ແລະ ນະໂຍບາຍນີ້ກຳລັງແທນທີ່ມັນ.</translation>
 <translation id="1567405528131216114">ເພີ່ມ <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">ເພີ່ມອີເມວ</translation>
 <translation id="3897092660631435901">ເມ​ນູ</translation>
 <translation id="3901925938762663762">ບັດ​ຫມົດ​ອາ​ຍຸແລ້ວ</translation>
+<translation id="3906095212874392000">ສິ້ນສຸດຂໍ້ຄວາມທີ່ແປງ</translation>
 <translation id="3906954721959377182">ແທັບເລັດ</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">ທ່ານສາມາດປ່ຽນໃຈຕອນໃດກໍໄດ້ໃນການຕັ້ງຄ່າ Chrome</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">ສະແຕັກເກີ້ 5</translation>
 <translation id="4331708818696583467">ບໍ່ປອດໄພ</translation>
 <translation id="4333561522337981382">ຈັດການໜ້າຈໍຢູ່ການສະແດງຜົນທັງໝົດຂອງທ່ານ</translation>
+<translation id="4338709847516294988">ກົດຊອກຫາພ້ອມກັບ m ແລະ ແປງຮູບເປັນຂໍ້ຄວາມໃນເມນູບໍລິບົດ</translation>
 <translation id="4340575312453649552">ໂຄສະນານີ້ໃຊ້ຊັບພະຍາກອນຫຼາຍເກີນໄປສຳລັບອຸປະກອນຂອງທ່ານ, ສະນັ້ນ Chrome ໄດ້ລຶບມັນອອກແລ້ວ.</translation>
 <translation id="4340982228985273705">ບໍ່ມີການກວດເຫັນວ່າຄອມພິວເຕີນີ້ເປັນຄອມພິວເຕີທີ່ຈັດການໂດຍອົງກອນ. ສະນັ້ນ, ນະໂຍບາຍສາມາດຕິດຕັ້ງໄດ້ແຕ່ສ່ວນຂະຫຍາຍທີ່ມີໂຮສໃນ Chrome Webstore ໂດຍອັດຕະໂນມັດເທົ່ານັ້ນ. URL ການອັບເດດ Chrome Webstore ແມ່ນ "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">ການເຊື່ອມຕໍ່ຫາ <ph name="SITE" /> ນັ້ນບໍ່ປອດໄພ</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">ທ່ານຫາກໍປ້ອນລະຫັດຜ່ານຂອງທ່ານໃສ່ເວັບໄຊຫຼອກລວງ. Chrome ສາມາດຊ່ວຍໄດ້. ເພື່ອປ່ຽນລະຫັດຜ່ານຂອງທ່ານ ແລະ ແຈ້ງບອກ Google ວ່າບັນຊີຂອງທ່ານອາດຈະມີຄວາມສ່ຽງ, ກະລຸນາຄລິກປົກປ້ອງບັນຊີ.</translation>
 <translation id="4363222835916186793">ການແຈ້ງເຕືອນສຳລັບສິນຄ້ານີ້ໄດ້ຖືກປິດໄວ້ແລ້ວ</translation>
 <translation id="437040971055499437">ມີເຫດການຄວາມປອດໄພເກີດຂຶ້ນ</translation>
+<translation id="4371307856413138486">ເລີ່ມຕົ້ນຂໍ້ຄວາມທີ່ແປງ</translation>
 <translation id="4371591986692297148">ບໍ່ໄດ້ນຳໃຊ້</translation>
 <translation id="4372948949327679948">ຄ່າ <ph name="VALUE_TYPE" /> ທີ່ຄາດໄວ້.</translation>
 <translation id="4375864595697821259">ເພີ່ມລາຍການກັບຄືນຫາກທ່ານຕ້ອງການຮວມໄວ້ຢູ່ໃນກຸ່ມຫົວຂໍ້ທີ່ Chrome ສາມາດເລືອກໄດ້ເມື່ອປະເມີນຄວາມສົນໃຈຂອງທ່ານ</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">ປິດ</translation>
 <translation id="6041777658117377052">ອຸນຫະພູມຕູ້</translation>
 <translation id="6042308850641462728">ເພີ່ມເຕີມ</translation>
+<translation id="6042688167654081154">ແປງຮູບເປັນຂໍ້ຄວາມແລ້ວ</translation>
 <translation id="6044573915096792553">ຂະໜາດ 12</translation>
 <translation id="6045164183059402045">ແມ່ແບບການຈັດຮຽງໜ້າກ່ອນພິມ</translation>
 <translation id="6047233362582046994">ຖ້າທ່ານເຂົ້າໃຈຄວາມສ່ຽງຕໍ່ຄວາມປອດໄພຂອງທ່ານ, ທ່ານອາດຈະ <ph name="BEGIN_LINK" />ເຂົ້າເບິ່ງເວັບໄຊນີ້<ph name="END_LINK" /> ກ່ອນທີ່ແອັບອັນຕະລາຍຈະຖືກລຶບອອກກໍໄດ້.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">ທໍ​ລະ​ນີ​ສາດ</translation>
 <translation id="6196640612572343990">ບລັອກຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="6197648101609735209">89 x 89 ມມ</translation>
+<translation id="6200386911308538077">ກຳລັງວິເຄາະຮູບ</translation>
 <translation id="6203231073485539293">ກວດເບິ່ງການເຊື່ອມຕໍ່ອິນເຕີເນັດຂອງທ່ານ.</translation>
 <translation id="6205314730813004066">ຄວາມເປັນສ່ວນກ່ຽວກັບຕົວໂຄສະນາ</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
@@ -2268,6 +2274,7 @@
 <translation id="6468485451923838994">ຟອນ</translation>
 <translation id="647261751007945333">ນະ​ໂຍ​ບາຍ​ຂອງອຸ​ປະ​ກອນ</translation>
 <translation id="647330291963761005">ກຳລັງຕິດຕັ້ງອັບເດດ</translation>
+<translation id="6474220430271405609">ການທົດສອບນະໂຍບາຍ</translation>
 <translation id="6475672344094591109">ເວັບໄຊທີ່ທ່ານເຂົ້າເບິ່ງແມ່ນສາມາດຂໍຂໍ້ມູນຈາກ Chrome ເພື່ອຊ່ວຍວັດແທກປະສິດທິພາບຂອງໂຄສະນາ. Chrome ປົກປ້ອງຄວາມເປັນສ່ວນຕົວຂອງທ່ານໂດຍການຈຳກັດຂໍ້ມູນທີ່ເວັບໄຊສາມາດແບ່ງປັນໃຫ້ເຊິ່ງກັນແລະກັນ.</translation>
 <translation id="6476284679642588870">ຈັດການວິທີການຈ່າຍເງິນ</translation>
 <translation id="6486200200930923183">ໜັງສາລະຄະດີ</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 9f36402..189685c8c 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Koreguokite datą ir laiką programos &lt;strong&gt;Settings&lt;/strong&gt; skiltyje &lt;strong&gt;General&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Jūsų administratorius paleis jūsų įrenginį iš naujo <ph name="TIME" />, <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Tekstas nebuvo konvertuotas iš vaizdų</translation>
 <translation id="156703335097561114">Tinklų informacija, pvz., adresai, sąsajos konfigūracija ir ryšio kokybė</translation>
 <translation id="1567040042588613346">Ši politika veikia, kaip numatyta, bet ta pati vertė yra nustatyta kitur ir ją pakeičia ši politika.</translation>
 <translation id="1567405528131216114">Pridėti „<ph name="TOPIC" />“</translation>
@@ -1201,6 +1202,7 @@
 <translation id="3890664840433101773">Pridėti el. pašto adresą</translation>
 <translation id="3897092660631435901">Meniu</translation>
 <translation id="3901925938762663762">Kortelė nebegalioja</translation>
+<translation id="3906095212874392000">Konvertuoto teksto pabaiga</translation>
 <translation id="3906954721959377182">Planšetinis kompiuteris</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Bet kada galite persigalvoti ir tai pakeisti „Chrome“ nustatymuose</translation>
@@ -1401,6 +1403,7 @@
 <translation id="4331519897422864041">5 dėtuvė</translation>
 <translation id="4331708818696583467">Nesaugi</translation>
 <translation id="4333561522337981382">Tvarkyti langus visuose ekranuose</translation>
+<translation id="4338709847516294988">Paspauskite paieškos klavišą ir M, kad naudodami kontekstinį meniu vaizdą konvertuotumėte į tekstą</translation>
 <translation id="4340575312453649552">Šis skelbimas naudojo per daug įrenginio išteklių, tad „Chrome“ jį pašalino.</translation>
 <translation id="4340982228985273705">Šis kompiuteris neaptinkamas kaip valdomas įmonės, todėl taikant politiką galima automatiškai įdiegti tik „Chrome“ internetinėje parduotuvėje priglobiamus plėtinius. „Chrome“ internetinės parduotuvės atnaujinimo URL yra „<ph name="CWS_UPDATE_URL" />“.</translation>
 <translation id="4348834659292907206">Ryšys su <ph name="SITE" /> nėra saugus</translation>
@@ -1416,6 +1419,7 @@
 <translation id="4359160567981085931">Ką tik savo slaptažodį įvedėte apgaulingoje svetainėje. „Chrome“ gali padėti. Norėdami pakeisti slaptažodį ir pranešti „Google“, kad jūsų paskyrai gali grėsti pavojus, spustelėkite „Apsaugoti paskyrą“.</translation>
 <translation id="4363222835916186793">Šio produkto įspėjimai išjungti</translation>
 <translation id="437040971055499437">Įvyksta saugos įvykis</translation>
+<translation id="4371307856413138486">Konvertuoto teksto pradžia</translation>
 <translation id="4371591986692297148">Neaktyvus</translation>
 <translation id="4372948949327679948">Numatyta „<ph name="VALUE_TYPE" />“ vertė.</translation>
 <translation id="4375864595697821259">Vėl pridėkite elementą, jei norite, kad jis būtų temų grupėje, iš kurios „Chrome“ gali pasirinkti įvertindama jūsų pomėgius</translation>
@@ -2090,6 +2094,7 @@
 <translation id="6040143037577758943">Uždaryti</translation>
 <translation id="6041777658117377052">Kameros temperatūra</translation>
 <translation id="6042308850641462728">Daugiau</translation>
+<translation id="6042688167654081154">Vaizdas konvertuotas į tekstą</translation>
 <translation id="6044573915096792553">Dydis: 12</translation>
 <translation id="6045164183059402045">Paskyrimo šablonas</translation>
 <translation id="6047233362582046994">Jei suprantate, kokia rizika gali kilti jūsų saugai, galite <ph name="BEGIN_LINK" />apsilankyti šioje svetainėje<ph name="END_LINK" />, kol iš jos dar nepašalintos kenkėjiškos programos.</translation>
@@ -2151,6 +2156,7 @@
 <translation id="6195371403461054755">Geologija</translation>
 <translation id="6196640612572343990">Blokuoti trečiosios šalies slapukus</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Vaizdas analizuojamas</translation>
 <translation id="6203231073485539293">Patikrinkite interneto ryšį</translation>
 <translation id="6205314730813004066">Su skelbimais susijęs privatumas</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index 1e26222..f45078d 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Lūdzu, koriģējiet datumu un laiku lietotnes &lt;strong&gt;Iestatījumi&lt;/strong&gt; sadaļā &lt;strong&gt;Vispārīgi&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Jūsu administrators restartēs jūsu ierīci plkst. <ph name="TIME" /> šādā datumā: <ph name="DATE" />.</translation>
+<translation id="1564753300777780201">Nav no attēliem pārveidota teksta</translation>
 <translation id="156703335097561114">Tīklošanas informācija, piemēram, adreses, saskarnes konfigurācija, savienojuma kvalitāte</translation>
 <translation id="1567040042588613346">Šī politika darbojas, kā paredzēts, taču citur ir iestatīta tāda pati vērtība, kas tiek ignorēta šīs politikas dēļ.</translation>
 <translation id="1567405528131216114">Pievienot tēmu <ph name="TOPIC" /></translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">E-pasta adreses pievienošana</translation>
 <translation id="3897092660631435901">Izvēlne</translation>
 <translation id="3901925938762663762">Kartes derīguma termiņš ir beidzies.</translation>
+<translation id="3906095212874392000">Pārveidotā teksta beigas</translation>
 <translation id="3906954721959377182">Planšetdators</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Ja pārdomāsiet, jebkurā brīdī varēsiet atbilstoši mainīt Chrome iestatījumus</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">5. izvades vieta</translation>
 <translation id="4331708818696583467">Nav droši</translation>
 <translation id="4333561522337981382">Pārvaldīt logus visos jūsu displejos</translation>
+<translation id="4338709847516294988">Vienlaikus nospiediet meklēšanas taustiņu un taustiņu “m” un pārveidojiet attēlu par tekstu, izmantojot kontekstizvēlni</translation>
 <translation id="4340575312453649552">Šī reklāma izmantoja pārāk daudz resursu jūsu ierīcē, tādēļ Chrome to noņēma.</translation>
 <translation id="4340982228985273705">Šo datoru nepārvalda uzņēmums, tāpēc politika var automātiski instalēt tikai tos paplašinājumus, kas tiek mitināti Chrome interneta veikalā. Chrome interneta veikala atjauninājumu URL: <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">Savienojums ar vietni <ph name="SITE" /> nav drošs</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">Jūs tikko ievadījāt savu paroli maldinošā vietnē. Chrome var palīdzēt. Lai mainītu paroli un paziņotu uzņēmumam Google, ka jūsu konts, iespējams, ir apdraudēts, noklikšķiniet uz pogas Aizsargāt kontu.</translation>
 <translation id="4363222835916186793">Paziņojumi par šo produktu ir izslēgti.</translation>
 <translation id="437040971055499437">Rodas ar drošību saistīts notikums</translation>
+<translation id="4371307856413138486">Pārveidotā teksta sākums</translation>
 <translation id="4371591986692297148">neaktīva</translation>
 <translation id="4372948949327679948">Tika gaidīta vērtība <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Varat atkārtoti pievienot vienumu, ja vēlaties to atkal iekļaut to tēmu grupā, kuras pārlūks Chrome var izmantot jūsu interešu noteikšanai</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">Aizvērt</translation>
 <translation id="6041777658117377052">Kameras temperatūra</translation>
 <translation id="6042308850641462728">Vairāk</translation>
+<translation id="6042688167654081154">Attēls ir pārveidots par tekstu</translation>
 <translation id="6044573915096792553">12. izmērs</translation>
 <translation id="6045164183059402045">Izvietojuma veidne</translation>
 <translation id="6047233362582046994">Ja apzināties drošības risku, varat arī <ph name="BEGIN_LINK" />apmeklēt šo vietni<ph name="END_LINK" />, pirms ir noņemtas kaitīgās lietotnes.</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">Ģeoloģija</translation>
 <translation id="6196640612572343990">Bloķēt trešo pušu sīkfailus</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Notiek attēla analīze</translation>
 <translation id="6203231073485539293">Interneta savienojuma pārbaude</translation>
 <translation id="6205314730813004066">Reklāmu konfidencialitāte</translation>
 <translation id="6212314149070368045">Fanfold (ASV)</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb
index 4fc0282e..2a9dbf6 100644
--- a/components/strings/components_strings_mk.xtb
+++ b/components/strings/components_strings_mk.xtb
@@ -267,6 +267,7 @@
 
           &lt;p&gt;Приспособете ги датумот и времето во делот &lt;strong&gt;Општо&lt;/strong&gt; на апликацијата &lt;strong&gt;Поставки&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Вашиот администратор ќе го рестартира вашиот уред во <ph name="TIME" /> на <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Нема текст конвертиран од слики</translation>
 <translation id="156703335097561114">Мрежните податоци, како што се адресите, конфигурацијата на интерфејсот и квалитетот на врската</translation>
 <translation id="1567040042588613346">Правилово работи како што е предвидено, но истата вредност е поставена некаде на друго место и е заменета од правилово.</translation>
 <translation id="1567405528131216114">Додајте: <ph name="TOPIC" /></translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">Додајте е-пошта</translation>
 <translation id="3897092660631435901">Мени</translation>
 <translation id="3901925938762663762">Картичката е истечена</translation>
+<translation id="3906095212874392000">Крај на конвертираниот текст</translation>
 <translation id="3906954721959377182">Таблет</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Ако се премислите, може во секое време да извршите промена во поставките за Chrome</translation>
@@ -1409,6 +1411,7 @@
 <translation id="4331519897422864041">Фиока за складирање 5</translation>
 <translation id="4331708818696583467">Небезбедно</translation>
 <translation id="4333561522337981382">да управува со прозорците на сите ваши екрани</translation>
+<translation id="4338709847516294988">Притиснете „Search плус M“ и конвертирајте ја сликата во текст во контекстуалното мени</translation>
 <translation id="4340575312453649552">Рекламава користеше премногу ресурси на вашиот уред, па Chrome ја отстрани.</translation>
 <translation id="4340982228985273705">Овој компјутер не се препознава како управуван од организација, така што правилото може автоматски да инсталира само екстензии хостирани на Chrome Web Store. URL-адресата за ажурирање од Chrome Web Store е „<ph name="CWS_UPDATE_URL" />“.</translation>
 <translation id="4348834659292907206">Врската со <ph name="SITE" /> не е безбедна</translation>
@@ -1424,6 +1427,7 @@
 <translation id="4359160567981085931">Тукушто ја внесовте својата лозинка на измамнички сајт. Chrome може да помогне. За да ја смените лозинката и да го известите Google дека е можно вашата сметка да е изложена на ризик, кликнете „Заштити ја сметката“.</translation>
 <translation id="4363222835916186793">Известувањата за овој производ се исклучени</translation>
 <translation id="437040971055499437">Се појавил безбедносен настан</translation>
+<translation id="4371307856413138486">Почеток на конвертираниот текст</translation>
 <translation id="4371591986692297148">Неактивно</translation>
 <translation id="4372948949327679948">Очекувана <ph name="VALUE_TYPE" /> вредност.</translation>
 <translation id="4375864595697821259">Вратете ставка ако сакате да биде во групата теми кои Chrome може да ги бира за проценување на вашите интереси</translation>
@@ -2103,6 +2107,7 @@
 <translation id="6040143037577758943">Затвори</translation>
 <translation id="6041777658117377052">Температура на комората</translation>
 <translation id="6042308850641462728">Повеќе</translation>
+<translation id="6042688167654081154">Сликата е конвертирана во текст</translation>
 <translation id="6044573915096792553">Големина 12</translation>
 <translation id="6045164183059402045">Шаблон за лепење</translation>
 <translation id="6047233362582046994">Доколку ги разбирате ризиците по безбедноста, може да го <ph name="BEGIN_LINK" />посетите сајтов<ph name="END_LINK" /> пред да се отстранат штетните апликации.</translation>
@@ -2165,6 +2170,7 @@
 <translation id="6195371403461054755">Геологија</translation>
 <translation id="6196640612572343990">Блокирај колачиња од трети лица</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Сликата се анализира</translation>
 <translation id="6203231073485539293">Проверете го поврзувањето на интернет</translation>
 <translation id="6205314730813004066">Приватност за реклами</translation>
 <translation id="6212314149070368045">Американски на преклопување</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index 7541493..b766452c 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">ദിനോസർ ഗെയിം. കള്ളിമുൾച്ചെടികളിൽ നിന്നും വംശനാശം സംഭവിച്ച പറക്കുന്ന ഉരഗത്തിൽ നിന്നും ഒഴിഞ്ഞുമാറി, വിജനമായ ഭൂപ്രദേശത്തിലൂടെ ഓടുന്ന പിക്‌സലേറ്റ് ചെയ്‌ത ദിനോസർ. ഓഡിയോ ക്യൂ കേൾക്കുമ്പോൾ തടസങ്ങൾ മറികടന്ന് ചാടാൻ Space അമർത്തുക.</translation>
 <translation id="1374468813861204354">നിർദ്ദേശങ്ങൾ</translation>
 <translation id="1375198122581997741">പതിപ്പിനെക്കുറിച്ച്</translation>
+<translation id="1375293861397106342">എല്ലാ ഓപ്ഷനുകളും സാധാരണഗതിയിൽ <ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">കുറച്ച് കാണിക്കുക</translation>
 <translation id="1380591466760231819">ലെറ്റർ മടക്ക്</translation>
 <translation id="138218114945450791">ഇളം നീല</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">ഈ പേജ് പറയുന്നത്:</translation>
 <translation id="1536390784834419204">പേജ് വിവർത്തനം ചെയ്യുക</translation>
 <translation id="1539840569003678498">റിപ്പോർട്ട് അയച്ചു:</translation>
+<translation id="1545757265410828525">നിരക്ക് ചരിത്രം</translation>
 <translation id="1549470594296187301">ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ JavaScript പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം.</translation>
 <translation id="1551884710160394169">ഫ്രീവേറും ഷെയർവേറും</translation>
 <translation id="1553358976309200471">Chrome അപ്‌ഡേറ്റുചെയ്യുക</translation>
@@ -446,6 +448,7 @@
 <translation id="2012276282211112603">ഇപ്പോൾ കാണിക്കാൻ വിഷയങ്ങളൊന്നുമില്ല</translation>
 <translation id="2021333772895814435">ഇനിപ്പറയുന്നവ ഉപകരണങ്ങളിലുടനീളം സമന്വയിപ്പിക്കുന്നത് ഈ നയം സ്വയമേവ പ്രവർത്തനരഹിതമാക്കുന്നു: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 x 19 ഇഞ്ച്</translation>
+<translation id="2022815493835288714">പുതിയ പേയ്‌മെന്റ് ക്രമീകരണത്തെക്കുറിച്ചുള്ള മുന്നറിയിപ്പ് തുറന്നു</translation>
 <translation id="2025115093177348061">അനുബന്ധയാഥാർത്ഥ്യം</translation>
 <translation id="2025186561304664664">പ്രോക്സി സ്വയമേവ കോൺഫിഗർ ചെയ്യാൻ സജ്ജമാക്കി.</translation>
 <translation id="2025891858974379949">സുരക്ഷിതമല്ലാത്ത ഉള്ളടക്കം</translation>
@@ -725,6 +728,7 @@
 <translation id="2691924980723297736">സുരക്ഷാ മുന്നറിയിപ്പ്</translation>
 <translation id="2692131511336778528">സയൻസ് ഫിക്ഷനും ഫാന്റസിയും</translation>
 <translation id="2701514975700770343">ഫേസ് ഡൗൺ</translation>
+<translation id="2702592986366989640">കുറഞ്ഞ നിരക്കുള്ള ഓപ്ഷൻ</translation>
 <translation id="2702801445560668637">വായനാ ലിസ്റ്റ്</translation>
 <translation id="2704283930420550640">മൂല്യം ഫോർമാറ്റുമായി പൊരുത്തപ്പെടുന്നില്ല.</translation>
 <translation id="2704606927547763573">പകർത്തി</translation>
@@ -789,6 +793,7 @@
 <translation id="2900528713135656174">ഇവന്റ് സൃഷ്‌ടിക്കുക</translation>
 <translation id="2903493209154104877">വിലാസങ്ങള്‍‌</translation>
 <translation id="290376772003165898">പേജ് <ph name="LANGUAGE" /> ഭാഷയിലല്ലേ?</translation>
+<translation id="2905107382358353958">പുതിയ പേയ്‌മെന്റ് ക്രമീകരണത്തെക്കുറിച്ചുള്ള മുന്നറിയിപ്പ്</translation>
 <translation id="2909946352844186028">ഒരു നെറ്റ്‌വർക്ക് മാറ്റം കണ്ടെത്തി.</translation>
 <translation id="2911973620368911614">ജോബ് അക്കൗണ്ടിംഗ് ഉപയോക്തൃ ഐഡി</translation>
 <translation id="2914160345369867329">നിങ്ങളുടെ വിവരങ്ങൾ പരിരക്ഷിക്കാൻ <ph name="SITE" /> സാധാരണയായി എൻക്രിപ്‌ഷൻ ഉപയോഗിക്കുന്നു. Chrome ഇപ്പോൾ <ph name="SITE" /> എന്ന സൈറ്റിലേക്ക് കണക്‌റ്റ് ചെയ്യാൻ ശ്രമിച്ചപ്പോൾ, അസാധാരണമായതും തെറ്റായതുമായ ക്രെഡൻഷ്യലുകൾ വെബ്‌സൈറ്റ് തിരികെ അയച്ചു. ഒരു ആക്രമണകാരി <ph name="SITE" /> എന്നതായി അഭിനയിക്കാൻ ശ്രമിക്കുമ്പോഴോ ഒരു വൈഫൈ സൈൻ ഇൻ സ്‌ക്രീൻ കണക്ഷനെ തടസ്സപ്പെടുത്തുമ്പോഴോ ഇത് സംഭവിക്കാം. ഏതെങ്കിലും ഡാറ്റ കൈമാറുന്നതിനുമുമ്പ് Chrome കണക്ഷൻ അവസാനിപ്പിച്ചതിനാൽ നിങ്ങളുടെ വിവരങ്ങൾ തുടർന്നും സുരക്ഷിതമായിരിക്കും.</translation>
@@ -931,6 +936,7 @@
 <translation id="3256863843508922226">വിരമിക്കലും പെൻഷനും</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, Google Calendar-ൽ പുതിയൊരു ഇവന്റ് വേഗത്തിൽ സൃഷ്ടിക്കാൻ Enter അമർത്തുക</translation>
 <translation id="3261488570342242926">വെർച്വൽ കാർഡുകളെക്കുറിച്ച് അറിയുക</translation>
+<translation id="3262698603497362968">വാങ്ങൽ ഓപ്ഷനുകൾ</translation>
 <translation id="3266367459139339908">വ്യക്തിപരമാക്കിയ പരസ്യങ്ങൾ സൈറ്റുകൾ നിങ്ങളെ കാണിക്കുമ്പോൾ, അവർക്ക് നിങ്ങളെ കുറിച്ച് അറിയാൻ കഴിയുന്ന കാര്യങ്ങൾ പരിമിതപ്പെടുത്താൻ ഞങ്ങൾ പുതിയ മാർഗ്ഗങ്ങൾ അവതരിപ്പിക്കുന്നു, ഉദാഹരണത്തിന്:</translation>
 <translation id="3266793032086590337">മൂല്യം (വൈരുദ്ധ്യം)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{അനുബന്ധ സെെറ്റുകൾ ഉൾപ്പെടെ സെെറ്റുകളൊന്നും ബ്ലോക്ക് ചെയ്‌തില്ല}=1{അനുബന്ധ സെെറ്റുകൾ ഉൾപ്പെടെ 1 സെെറ്റ് ബ്ലോക്ക് ചെയ്‌തു}other{അനുബന്ധ സെെറ്റുകൾ ഉൾപ്പെടെ # സെെറ്റുകൾ ബ്ലോക്ക് ചെയ്‌തു}}</translation>
@@ -1115,6 +1121,7 @@
 <translation id="3693327506115126094">ഇത് നിങ്ങൾ തന്നെയാണെന്ന് എങ്ങനെ പരിശോധിച്ചുറപ്പിക്കുമെന്ന് തിരഞ്ഞെടുക്കുക</translation>
 <translation id="3698629142018988477">'സൈറ്റ് സൃഷ്ടിക്കുക' ബട്ടൺ, Google Sites-ൽ വേഗത്തിൽ പുതിയൊരു സൈറ്റ് സൃഷ്ടിക്കാൻ സജീവമാക്കുക</translation>
 <translation id="3701427423622901115">റീസെറ്റ് അംഗീകരിച്ചിരിക്കുന്നു</translation>
+<translation id="3701900332588705891">സാധാരണ നിരക്ക് <ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">നിങ്ങൾ ഉപയോഗിക്കുന്ന നെറ്റ്‌വർക്കിനായി, ഇതിന്റെ ലോഗിൻ പേജ് സന്ദർശിക്കേണ്ടിവരാം.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">ലോഡ്ചെയ്യുന്നു...</translation>
@@ -1220,6 +1227,7 @@
 <translation id="3949870428812919180">സംരക്ഷിച്ച പേയ്‌മെൻ്റ് രീതികളൊന്നുമില്ല</translation>
 <translation id="3950574001630941635">ട്യൂട്ടോറിയൽ റീസ്റ്റാർട്ട് ചെയ്യുക</translation>
 <translation id="3950820424414687140">സൈൻ ഇൻ ചെയ്യുക</translation>
+<translation id="3953505489397572035">ഇത് സാധാരണ നിരക്കാണ്</translation>
 <translation id="3958057596965527988">4 x 4 ഇഞ്ച്</translation>
 <translation id="3961148744525529027">പേയ്മെന്റ് കൈകാര്യം ചെയ്യുന്ന ഷീറ്റ് പകുതിയായി തുറന്നിരിക്കുന്നു</translation>
 <translation id="3962859241508114581">മുമ്പത്തെ ട്രാക്ക്</translation>
@@ -1356,6 +1364,7 @@
 <translation id="4250680216510889253">ഇല്ല</translation>
 <translation id="4250716950689692560">A4x4</translation>
 <translation id="4253168017788158739">കുറിപ്പ്</translation>
+<translation id="4255487295905690262">ഏതെങ്കിലും സൈറ്റിൽ നിരക്ക് കുറയുമ്പോൾ നിങ്ങൾക്ക് ഇമെയിൽ മുന്നറിയിപ്പുകൾ ലഭിക്കും.</translation>
 <translation id="425582637250725228">നിങ്ങൾ വരുത്തിയ മാറ്റങ്ങൾ സംരക്ഷിക്കപ്പെട്ടിരിക്കാനിടയില്ല.</translation>
 <translation id="4258748452823770588">മോശം സിഗ്‌നേച്ചർ</translation>
 <translation id="4261046003697461417">സംരക്ഷിച്ചിരിക്കുന്ന ഡോക്യുമെൻ്റുകൾ അനോട്ടേറ്റ് ചെയ്യാനാവില്ല</translation>
@@ -1442,6 +1451,7 @@
 <translation id="4433642172056592619">ഉപയോക്താവ് മെഷീൻ മാനേജ്മെന്റിന്റെ ഭാഗമല്ലാത്തതിനാലോ മെഷീൻ മാനേജ് ചെയ്യാത്തതിനാലോ അവഗണിച്ചു.</translation>
 <translation id="4434045419905280838">പോപ്-അപ്പുകളും റീഡയറക്‌റ്റുകളും</translation>
 <translation id="443673843213245140">പ്രോക്‌സി ഉപയോഗം അപ്രാപ്‌തമാക്കി പക്ഷെ ഒരു വ്യക്തമായ പ്രോക്‌സി കോൺഫിഗറേഷൻ നിർദ്ദേശിച്ചു.</translation>
+<translation id="4438821706955556403">സാധാരണ നിരക്ക്</translation>
 <translation id="4441832193888514600">ക്ലൗഡ് ഉപയോക്തൃ നയം ആയി മാത്രമേ നയം സജ്ജീകരിക്കാനാകൂ എന്നതിനാൽ അവഗണിക്കൂ.</translation>
 <translation id="4449116177348980384">'സൈറ്റ് ക്രമീകരണം മാനേജ് ചെയ്യുക' ബട്ടൺ, Chrome ക്രമീകരണത്തിൽ സൈറ്റുകളിലുടനീളം സംഭരിച്ചിരിക്കുന്ന അനുമതികളും ഡാറ്റയും മാനേജ് ചെയ്യാൻ സജീവമാക്കുക</translation>
 <translation id="4451135742916150903">HID ഉപകരണങ്ങളിലേക്ക് കണക്‌റ്റ് ചെയ്യാൻ ആവശ്യപ്പെടാം</translation>
@@ -1457,6 +1467,7 @@
 <translation id="4489023393592172404">Envelope Kaku 4</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">സമന്വയിപ്പിച്ച പാസ്‌വേഡുകൾ നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് എൻക്രിപ്റ്റ് ചെയ്യുക</translation>
+<translation id="4492332866628791879">സംരക്ഷിച്ച് നിരക്ക് ട്രാക്ക് ചെയ്യുക</translation>
 <translation id="4492519888999857993">ഈ ഫീച്ചറുകൾ ഡിഫോൾട്ടായി പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു. Chrome-ന്റെ ഭാവി പതിപ്പുകളിൽ അവ ലഭ്യമാകില്ല.</translation>
 <translation id="4493480324863638523">URL അസാധുവാണ്. സ്‌റ്റാൻഡേർഡ് സ്‌കീം ഉള്ള URL ആയിരിക്കണം, ഉദാ. http://example.com അല്ലെങ്കിൽ https://example.com.</translation>
 <translation id="4494323206460475851">നിങ്ങൾക്ക് ക്രമീകരണത്തിൽ പരസ്യ വിഷയങ്ങൾ കാണാനും സൈറ്റുകളുമായി പങ്കിടാൻ താൽപ്പര്യമില്ലാത്തവ ബ്ലോക്ക് ചെയ്യാനുമാകും. 4 ആഴ്ചയിലധികം പഴക്കമുള്ള പരസ്യ വിഷയങ്ങൾ Chrome-ഉം സ്വയമേവ ഇല്ലാതാക്കുന്നു.</translation>
@@ -1596,6 +1607,7 @@
 <translation id="4813512666221746211">നെറ്റ്‌വര്‍ക്ക് പിശക്</translation>
 <translation id="4816492930507672669">പേജിന് യുക്തമാക്കുക</translation>
 <translation id="4819347708020428563">ഡിഫോൾട്ട് കാഴ്‌ചയിൽ കുറിപ്പുകൾ എഡിറ്റ് ചെയ്യണോ?</translation>
+<translation id="4822493756793346865">വെബിൽ ഉടനീളമുള്ള സ്റ്റോറുകളിലെ കഴിഞ്ഞ 90 ദിവസത്തെ നിരക്കുകൾ അടിസ്ഥാനമാക്കിയുള്ളതാണ് 'സാധാരണ നിരക്കുകൾ'.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />, പുതിയൊരു Google Sheet വേഗത്തിൽ സൃഷ്ടിക്കാൻ Tab അമർത്തുക, തുടർന്ന് Enter അമർത്തുക</translation>
 <translation id="4825507807291741242">ശക്തമായത്</translation>
 <translation id="483241715238664915">മുന്നറിയിപ്പുകൾ ഓണാക്കുക</translation>
@@ -1775,6 +1787,7 @@
 <translation id="523149107733989821">A4 എക്‌സ്ട്രാ</translation>
 <translation id="5234764350956374838">ഡിസ്മിസ്സ് ചെയ്യുക</translation>
 <translation id="5238301240406177137">അക്കൗണ്ടിൽ സംരക്ഷിക്കുക</translation>
+<translation id="5239119062986868403">സാധാരണ നിരക്ക്</translation>
 <translation id="5239623327352565343">ലൊക്കേഷൻ ആക്സസ് അനുവദിച്ചു</translation>
 <translation id="5242889659037569123">ലഗേജും യാത്രാ ആക്‌സസറികളും</translation>
 <translation id="5244521145258281926">'Google Account മാനേജ് ചെയ്യുക, നിങ്ങളുടെ Google Account-ലെ വിവരങ്ങളും സ്വകാര്യതയും സുരക്ഷയും മാനേജ് ചെയ്യാൻ സജീവമാക്കുക</translation>
@@ -1844,6 +1857,7 @@
 <translation id="5398772614898833570">പരസ്യങ്ങൾ ബ്ലോക്കുചെയ്‌തു</translation>
 <translation id="5400836586163650660">ചാരനിറം</translation>
 <translation id="540969355065856584">ഈ സെർവറിന് അത് <ph name="DOMAIN" /> ആണെന്ന് തെളിയിക്കാനായില്ല; അതിന്റെ സുരക്ഷ സർട്ടിഫിക്കറ്റിന് ഇപ്പോൾ സാധുതയുള്ളതല്ല. തെറ്റായ കോൺഫിഗറേഷൻ കാരണമോ ഒരു ആക്രമണകാരി നിങ്ങളുടെ കണക്ഷനെ തടസ്സപ്പെടുത്തുന്നത് കൊണ്ടോ ആയിരിക്കാം ഇത് സംഭവിച്ചത്.</translation>
+<translation id="5411462078004183575">കുറഞ്ഞ നിരക്കുള്ള ഓപ്ഷൻ</translation>
 <translation id="5412040515238827314">ഫോർമാറ്റ് അസാധുവാണ്: പാറ്റേണുകളുടെ ലിസ്റ്റ് ആണ് ചേർക്കേണ്ടത്.</translation>
 <translation id="5412236728747081950">കൂടുതൽ പ്രസക്തമായ പരസ്യങ്ങൾ കാണിക്കാൻ ഈ സൈറ്റിന് Chrome-ൽ നിന്ന് നിങ്ങളുടെ താൽപ്പര്യങ്ങൾ ലഭിക്കുന്നു</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> - <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2145,6 +2159,7 @@
 <translation id="6167577165590485365">അവസാനം ലഭ്യമാക്കാൻ ശ്രമിച്ചത്:</translation>
 <translation id="6169916984152623906">നിങ്ങൾക്കിപ്പോൾ സ്വകാര്യമായി ബ്രൗസ് ചെയ്യാം, ഈ ഉപകരണം ഉപയോഗിക്കുന്ന മറ്റ് ആളുകൾക്ക് നിങ്ങളുടെ ആക്‌റ്റിവിറ്റി കാണാനാവില്ല. എന്നാൽ ഡൗൺലോഡുകളും ബുക്ക്‌മാർക്കുകളും സംരക്ഷിക്കപ്പെടും.</translation>
 <translation id="617256461084925519">നിങ്ങളുടെ പേയ്മെന്റ് വിവരങ്ങൾ പൂരിപ്പിക്കുന്നതിനായി Google Chrome ഇത് നിങ്ങളാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുകയാണ്.</translation>
+<translation id="6176387967264100435">ഇത് ഉയർന്ന നിരക്കാണ്</translation>
 <translation id="6177128806592000436">ഈ സൈറ്റിലേക്കുള്ള നിങ്ങളുടെ കണക്ഷൻ സുരക്ഷിതമല്ല</translation>
 <translation id="6177531123306197852">Envelope C2</translation>
 <translation id="6180316780098470077">വീണ്ടും ശ്രമിക്കുന്നതിനുള്ള ഇടവേള</translation>
@@ -2273,6 +2288,7 @@
 <translation id="6468485451923838994">ഫോണ്ടുകൾ</translation>
 <translation id="647261751007945333">ഉപകരണ നയങ്ങൾ</translation>
 <translation id="647330291963761005">അപ്‌ഡേറ്റുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു</translation>
+<translation id="6474220430271405609">നയ ടെസ്‌റ്റുകൾ</translation>
 <translation id="6475672344094591109">നിങ്ങൾ സന്ദർശിക്കുന്ന സൈറ്റുകൾക്ക്, അവരുടെ പരസ്യങ്ങളുടെ പ്രകടനം അളക്കാൻ സഹായിക്കുന്ന വിവരങ്ങൾ Chrome-നോട് ആവശ്യപ്പെടാം. സൈറ്റുകൾക്ക് പരസ്പരം പങ്കിടാവുന്ന വിവരങ്ങൾ പരിമിതപ്പെടുത്തുന്നതിലൂടെ, Chrome നിങ്ങളുടെ സ്വകാര്യത പരിരക്ഷിക്കുന്നു.</translation>
 <translation id="6476284679642588870">പേയ്മെൻ്റ് രീതികൾ മാനേജ് ചെയ്യുക</translation>
 <translation id="6486200200930923183">ഡോക്യുമെന്ററി സിനിമകൾ</translation>
@@ -2281,6 +2297,7 @@
 <translation id="6494750904506170417">പോപ്-അപ്പുകളും റീഡയറക്‌റ്റുകളും</translation>
 <translation id="6497295192259406877">ബിസിനസ് പ്രവർത്തനങ്ങൾ</translation>
 <translation id="6499038740797743453">പാസ്‌വേഡ് റീസെറ്റ് ചെയ്യണോ?</translation>
+<translation id="6502510275417601303">പുതിയ പേയ്‌മെന്റ് ക്രമീകരണത്തെക്കുറിച്ചുള്ള മുന്നറിയിപ്പ് അടച്ചു</translation>
 <translation id="6502626736864595182">ഫോറവും ചാറ്റ് ദാതാക്കളും</translation>
 <translation id="6502991525169604759">നിങ്ങൾ വരുത്തിയ മാറ്റങ്ങൾ ഇല്ലാതെ</translation>
 <translation id="6506959208958864820">എൻവലപ്പ്</translation>
@@ -2340,6 +2357,7 @@
 <translation id="6651270836885078973">മാനേജ് ചെയ്യുന്നത്:</translation>
 <translation id="6652101503459149953">Windows Hello ഉപയോഗിക്കുക</translation>
 <translation id="6657585470893396449">പാസ്‌വേഡ്</translation>
+<translation id="6659246032834639189">ഇത് കുറഞ്ഞ നിരക്കാണ്</translation>
 <translation id="6660413144148052430">ലൊക്കേഷൻ</translation>
 <translation id="6662457027866368246">ആദ്യത്തെ റോൾ</translation>
 <translation id="666259744093848177">(x86_64 വിവർത്തനം ചെയ്‌തു)</translation>
@@ -2422,6 +2440,7 @@
 <translation id="6869334554832814367">വ്യക്തിഗത വായ്പകൾ</translation>
 <translation id="6873456682041376666">മുകളിലുള്ള ട്രേ</translation>
 <translation id="6874604403660855544">&amp;ചേർത്തത് വീണ്ടും ചെയ്യുക</translation>
+<translation id="6880941331070119097">ഉയർന്ന നിരക്കുള്ള ഓപ്ഷൻ</translation>
 <translation id="6881240511396774766">ഒരു പുതിയ Google ഡോക് വേഗത്തിൽ സൃഷ്ടിക്കുക</translation>
 <translation id="6883221904761970440">സുരക്ഷിതമായ പേയ്‌മെന്റ് ക്രെഡൻഷ്യൽ പരിശോധിച്ചുറപ്പിക്കൽ ഷീറ്റ് അടച്ചു</translation>
 <translation id="6884662655240309489">വലുപ്പം 1</translation>
@@ -2570,11 +2589,13 @@
 <translation id="7210863904660874423"><ph name="HOST_NAME" />, സുരക്ഷാ മാനദണ്ഡങ്ങൾ പാലിക്കുന്നില്ല.</translation>
 <translation id="7210993021468939304">കണ്ടെയ്‌നറിനുള്ളിലെ Linux ആക്‌റ്റിവിറ്റി, കൂടാതെ കണ്ടെയ്‌നറിനുള്ളിൽ Linux ആപ്പുകൾ ഇൻസ്‌റ്റാൾ ചെയ്യാനും റൺ ചെയ്യാനും കഴിയും</translation>
 <translation id="721197778055552897">ഈ പ്രശ്‌നത്തെക്കുറിച്ച് <ph name="BEGIN_LINK" />കൂടുതൽ‍ മനസിലാക്കുക<ph name="END_LINK" />.</translation>
+<translation id="7213191991901907140">നിങ്ങളുടെ അനുഭവം ഞങ്ങളോട് പറയൂ</translation>
 <translation id="7217745192097460130">പരിശോധിച്ചുറപ്പിക്കുന്നതിനും വാങ്ങൽ പൂർത്തിയാക്കുന്നതിനും ടച്ച് ഐഡി ഉപയോഗിക്കണോ?</translation>
 <translation id="7219179957768738017">കണക്ഷന്‍ <ph name="SSL_VERSION" /> ഉപയോഗിക്കുന്നു.</translation>
 <translation id="7220786058474068424">പ്രോസസ്സുചെയ്യുന്നു</translation>
 <translation id="7221855153210829124">അറിയിപ്പുകൾ കാണിക്കുക</translation>
 <translation id="722454870747268814">പുതിയ ആൾമാറാട്ട ടാബ്</translation>
+<translation id="7227293336683593977">നിരക്ക് ചരിത്രം</translation>
 <translation id="7233592378249864828">സ്ഥിരീകരണ ഷീറ്റ് പ്രിന്റ് ചെയ്യുക</translation>
 <translation id="7234638337680728591">പെട്രോൾ വിലയും വാഹന ഇന്ധനവും</translation>
 <translation id="7236417832106250253"><ph name="PROGRESS_PERCENT" />% പൂർത്തിയാക്കി | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2940,6 +2961,7 @@
 <translation id="8057711352706143257">"<ph name="SOFTWARE_NAME" />" ശരിയായി കോൺഫിഗർ ചെയ്‌‌തിട്ടില്ല. സാധാരണഗതിയിൽ "<ph name="SOFTWARE_NAME" />" അൺഇൻസ്‌റ്റാൾ ചെയ്യുന്നതിലൂടെ ഈ പ്രശ്‌നം പരിഹരിക്കാം. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">ഭക്ഷ്യോൽപ്പാദനം</translation>
 <translation id="8058603697124206642">ആവശ്യമില്ല</translation>
+<translation id="8063875539456488183">സംരക്ഷിച്ച് നിരക്ക് ട്രാക്ക് ചെയ്യുക</translation>
 <translation id="8064892030280197386">നിങ്ങളുടെ പേയ്മെന്റ് വിവരങ്ങൾ പൂരിപ്പിക്കുന്നതിനായി ഇത് നിങ്ങളാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുക.</translation>
 <translation id="8066225060526005217">കുക്കി ക്രമീകരണം മാനേജ് ചെയ്യുന്നത്</translation>
 <translation id="8067872629359326442">വഞ്ചനാപരമായ സൈറ്റിൽ നിങ്ങൾ ഇപ്പോൾ പാസ്‍വേഡ് നൽകി. Chromium-ന് സഹായിക്കാനാവും. നിങ്ങളുടെ പാസ്‌വേഡ് മാറ്റാനും നിങ്ങളുടെ അക്കൗണ്ട് അപകടത്തിലായിരിക്കാമെന്ന് Google-നെ അറിയിക്കാനും 'അക്കൗണ്ട് പരിരക്ഷിക്കുക' ക്ലിക്ക് ചെയ്യുക.</translation>
@@ -2971,6 +2993,7 @@
 <translation id="810875025413331850">സമീപത്ത് ഉപകരണങ്ങളൊന്നും കണ്ടെത്തിയില്ല.</translation>
 <translation id="8116925261070264013">മ്യൂട്ടുചെയ്‌തു</translation>
 <translation id="8118489163946903409">പേയ്‌മെന്റ് രീതി</translation>
+<translation id="8118506371121007279">ഫീഡ്ബാക്ക് നൽകുക</translation>
 <translation id="8123046743443732598">ഡെസ്‌ക്‌ടോപ്പ് കമ്പ്യൂട്ടറുകൾ</translation>
 <translation id="8126056688005753476">സാഹസിക യാത്ര</translation>
 <translation id="8127301229239896662">നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ അല്ലെങ്കിൽ നെറ്റ്‍വര്‍ക്കിൽ "<ph name="SOFTWARE_NAME" />" ശരിയായി ഇൻസ്‌റ്റാൾ ചെയ്‌തിട്ടില്ല. ഈ പ്രശ്‌നം പരിഹരിക്കാൻ നിങ്ങളുടെ ഐടി അഡ്‌മിനോട് ആവശ്യപ്പെടുക.</translation>
@@ -3072,6 +3095,7 @@
 <translation id="8378714024927312812">നിങ്ങളുടെ സ്ഥാപനം മാനേജ് ചെയ്യുന്നത്</translation>
 <translation id="8380941800586852976">അപകടകരമായത്</translation>
 <translation id="8381674639488873545">ഈ നിരക്കുകൾ ഒറ്റത്തവണ അടയ്ക്കുന്നതോ ആവർത്തിക്കുന്നതോ ആവാം, ഒപ്പം വ്യക്തമല്ലായിരിക്കാം. <ph name="BEGIN_LINK" />എന്തായാലും കാണിക്കുക<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">സാധാരണഗതിയിൽ <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698"><ph name="ORIGIN_NAME" /> -ൽ നിന്ന് <ph name="VM_NAME" /> എന്നതിലേക്ക് പങ്കിടുന്നത് അഡ്‌മിൻ നയം ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു</translation>
 <translation id="8396522675989118466"><ph name="SIDE_OF_CARD" /> എന്നതിലെ <ph name="NUMBER_OF_DIGITS" />-അക്ക കോഡാണിത്</translation>
 <translation id="8398335999901363925">ടച്ച് ചെയ്യുമ്പോൾ പൂരിപ്പിക്കാൻ ലഭ്യമായ പേയ്‌മെന്റ് രീതികൾ പൂർണ്ണമായി തുറന്നിരിക്കുന്നു.</translation>
@@ -3133,6 +3157,7 @@
 <translation id="8542014550340843547">താഴെ മൂന്ന് തവണ സ്‌റ്റേപ്പിൾ ചെയ്യുക</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">നിങ്ങൾക്ക് <ph name="BEGIN_ERROR_LINK" />സുരക്ഷാപ്രശ്‌നം റിപ്പോർട്ട് ചെയ്യാം<ph name="END_ERROR_LINK" /> അല്ലെങ്കിൽ, സുരക്ഷയെ ബാധിച്ചേക്കാവുന്ന അപകട സാധ്യതകളെക്കുറിച്ച് ബോധ്യമുണ്ടെങ്കിൽ <ph name="BEGIN_LINK" />സുരക്ഷിതമല്ലാത്ത ഈ സൈറ്റ്<ph name="END_LINK" />സന്ദർശിക്കുക.</translation>
+<translation id="854548366864113872">ഉയർന്ന നിരക്കുള്ള ഓപ്ഷൻ</translation>
 <translation id="8546350655047701518">JSON-ലേക്ക് ലോഗുകൾ എക്‌സ്‌പോർട്ട് ചെയ്യുക</translation>
 <translation id="854892890027593466">Envelope C6/C5</translation>
 <translation id="8553387990086529628">വിനോദസഞ്ചാര കേന്ദ്രങ്ങൾ</translation>
@@ -3146,6 +3171,7 @@
 <translation id="8564182942834072828">വെവ്വേറെ ഡോക്യുമെന്റുകൾ/ക്രമത്തിലല്ലാത്ത പകർപ്പുകൾ</translation>
 <translation id="8564985650692024650">മറ്റ് സൈറ്റുകളിൽ നിങ്ങൾ <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" /> പാസ്‌വേഡ് പുനരുപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ, അത് റീസെറ്റ് ചെയ്യാൻ Chromium ശുപാർ‌ശ ചെയ്യുന്നു.</translation>
 <translation id="8576310925653847813">ഹോം തീയറ്റർ സംവിധാനങ്ങൾ</translation>
+<translation id="8577192028579836704">എല്ലാ ഓപ്ഷനുകളും സാധാരണഗതിയിൽ <ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">വെർച്വൽ കാർഡ് ലഭ്യമല്ല</translation>
 <translation id="858637041960032120">ഫോണ്‍ നമ്പര്‍ ചേര്‍ക്കുക</translation>
 <translation id="8589998999637048520">ഏറ്റവും മികച്ച നിലവാരം</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index f10fcf5..13fb4ac4 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -267,6 +267,7 @@
 
       &lt;p&gt;कृपया &lt;strong&gt;सेटिंग्ज&lt;/strong&gt; ॲपच्या &lt;strong&gt;सर्वसाधारण&lt;/strong&gt; विभागातील तारीख आणि वेळ समायोजित करा.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">तुमचा अ‍ॅडमिनिस्ट्रेटर तुमचे डिव्हाइस <ph name="DATE" /> रोजी <ph name="TIME" /> वाजता रीस्टार्ट करेल</translation>
+<translation id="1564753300777780201">इमेजमधून कोणत्याही मजकुराचे रूपांतर केले नाही</translation>
 <translation id="156703335097561114">पत्ते, इंटरफेस कॉंफिगरेशन आणि कनेक्शन गुणवत्ता यांसारखी नेटवर्किंग माहिती</translation>
 <translation id="1567040042588613346">हे धोरण अपेक्षेनुसार काम करत आहे पण, कुठेतरी समान मूल्य सेट केले आहे आणि हे धोरण ते मूल्य अधिग्रहित करत आहे.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> जोडा</translation>
@@ -1206,6 +1207,7 @@
 <translation id="3890664840433101773">ईमेल जोडा</translation>
 <translation id="3897092660631435901">मेनू</translation>
 <translation id="3901925938762663762">कार्ड कालबाह्य झाले आहे</translation>
+<translation id="3906095212874392000">रूपांतर केलेल्या मजकुराचा शेवट</translation>
 <translation id="3906954721959377182">टॅबलेट</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">तुम्ही Chrome सेटिंग्जमध्ये हे कधीही बदलू शकता</translation>
@@ -1408,6 +1410,7 @@
 <translation id="4331519897422864041">स्टॅकर ५</translation>
 <translation id="4331708818696583467">सुरक्षित नाही</translation>
 <translation id="4333561522337981382">तुमच्या सर्व डिस्प्लेवर विंडो व्यवस्थापित करणे</translation>
+<translation id="4338709847516294988">सर्च + M प्रेस करा आणि कॉंटेक्स्ट मेनूमध्ये इमेजचे मजकुरामध्ये रूपांतर करा</translation>
 <translation id="4340575312453649552">या जाहिरातीने तुमच्या डिव्हाइससाठी खूप जास्त स्रोत वापरल्यामुळे, Chrome ने ती काढून टाकली.</translation>
 <translation id="4340982228985273705">हा कॉंप्युटर एंटरप्राइझ व्यवस्थापित म्हणून आढळला नाही म्हणून धोरण फक्त Chrome वेबस्टोअरवर होस्ट केलेले एक्स्टेंशन आपोआप इंस्टॉल करू शकते. Chrome वेबस्टोअर अपडेट URL <ph name="CWS_UPDATE_URL" /> ही आहे.</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> चे कनेक्शन सुरक्षित नाही</translation>
@@ -1423,6 +1426,7 @@
 <translation id="4359160567981085931">तुम्ही आताच एका फसव्या साइटवर तुमचा पासवर्ड एंटर केला आहे. Chrome मदत करू शकते. तुमचा पासवर्ड बदलण्यासाठी आणि तुमच्या खात्याला धोका असल्याचे Google ला सूचित करण्यासाठी, खाते संरक्षित करा वर क्लिक करा.</translation>
 <translation id="4363222835916186793">या उत्पादनासाठी सूचना बंद केल्या आहेत</translation>
 <translation id="437040971055499437">सुरक्षितता इव्‍हेंट सुरू होतो</translation>
+<translation id="4371307856413138486">रूपांतर केलेल्या मजकुराची सुरुवात</translation>
 <translation id="4371591986692297148">इनॅक्टिव्ह आहे</translation>
 <translation id="4372948949327679948">अपेक्षित <ph name="VALUE_TYPE" /> मूल्य.</translation>
 <translation id="4375864595697821259">तुमच्या स्वारस्यांचा अंदाज लावताना Chrome निवडू शकेल अशा विषयांच्या सूचीमध्ये तुम्हाला एखादा आयटम हवा असल्यास तो परत जोडा</translation>
@@ -2102,6 +2106,7 @@
 <translation id="6040143037577758943">बंद करा</translation>
 <translation id="6041777658117377052">चेंबरचे तापमान</translation>
 <translation id="6042308850641462728">अधिक</translation>
+<translation id="6042688167654081154">इमेजचे मजकुरामध्ये रूपांतर करण्यात आले</translation>
 <translation id="6044573915096792553">आकार १२</translation>
 <translation id="6045164183059402045">लागू करण्याचे टेम्पलेट</translation>
 <translation id="6047233362582046994">तुम्हाला तुमच्या सुरक्षेला असणारा धोका समजत असल्यास, हानिकारक अ‍ॅप्स काढले जाण्यापूर्वी तुम्ही <ph name="BEGIN_LINK" />या साइटला भेट देऊ शकता<ph name="END_LINK" />.</translation>
@@ -2165,6 +2170,7 @@
 <translation id="6195371403461054755">भूशास्त्र</translation>
 <translation id="6196640612572343990">तृतीय पक्ष कुकी ब्लॉक करा</translation>
 <translation id="6197648101609735209">८९ x ८९ मिमी</translation>
+<translation id="6200386911308538077">इमेजचे विश्लेषण केले जात आहे</translation>
 <translation id="6203231073485539293">तुमचे इंटरनेट कनेक्शन तपासा</translation>
 <translation id="6205314730813004066">जाहिरातींशी संबंधित गोपनीयता</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb
index 41115a4..6ec27fde 100644
--- a/components/strings/components_strings_my.xtb
+++ b/components/strings/components_strings_my.xtb
@@ -267,6 +267,7 @@
 
       &lt;p&gt;ကျေးဇူးပြုပြီး ရက်စွဲ နှင့် အချိန်ကို &lt;strong&gt;ဆက်တင်များ&lt;/strong&gt; အက်ပ်၏ &lt;strong&gt;အထွေထွေ&lt;/strong&gt; ကဏ္ဍထဲတွင် ညှိပါ။&lt;/p&gt;</translation>
 <translation id="1559839503761818503">သင့်စီမံခန့်ခွဲသူက စက်ကို <ph name="DATE" />၊ <ph name="TIME" /> တွင် ပြန်စပါမည်</translation>
+<translation id="1564753300777780201">ပုံမှ မည်သည့်စာသားကိုမျှ ပြောင်းလဲမထားပါ</translation>
 <translation id="156703335097561114">ဝဘ်လိပ်စာများ၊ အင်တာဖေ့စ် စီစဉ်သတ်မှတ်ချက်နှင့် ချိတ်ဆက်မှု အရည်အသွေးကဲ့သို့ ကွန်ရက်အချက်အလက်များ</translation>
 <translation id="1567040042588613346">ဤမူဝါဒသည် သတ်မှတ်ထားသည့်အတိုင်း အလုပ်လုပ်နေသော်လည်း တူညီသောတန်ဖိုးကို တစ်နေရာတွင် သတ်မှတ်ထားပြီး ဤမူဝါဒက အစားထိုးထားသည်။</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> ထည့်ရန်</translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">အီးမေးလ် ထည့်ပါ</translation>
 <translation id="3897092660631435901">မီနျူး</translation>
 <translation id="3901925938762663762">ကတ် သက်တမ်းကုန်ဆုံး၏</translation>
+<translation id="3906095212874392000">ပြောင်းလဲထားသည့် စာသားအဆုံး</translation>
 <translation id="3906954721959377182">တက်ဘလက်</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Chrome ဆက်တင်များတွင် အချိန်မရွေး စိတ်ကြိုက်ပြောင်းလဲနိုင်သည်</translation>
@@ -1410,6 +1412,7 @@
 <translation id="4331519897422864041">စီထည့်သည့်ပုံး ၅</translation>
 <translation id="4331708818696583467">လုံခြုံမှုမရှိပါ</translation>
 <translation id="4333561522337981382">သင့်ဖန်သားပြင်အားလုံးတွင် ဝင်းဒိုးများစီမံခြင်း</translation>
+<translation id="4338709847516294988">Search နှင့် m ကိုနှိပ်ပြီး အကြောင်းအရာမီနူးတွင် ပုံကိုစာသားပြောင်းလဲနိုင်သည်</translation>
 <translation id="4340575312453649552">ဤကြော်ငြာသည် သင့်စက်ပစ္စည်းမှ အရင်းအမြစ်များစွာကို အသုံးပြုထားသည့်အတွက် Chrome က ၎င်းကို ဖယ်ရှားထားသည်။</translation>
 <translation id="4340982228985273705">ဤကွန်ပျူတာကို စီးပွားရေးလုပ်ငန်းတစ်ခုက ကြီးကြပ်မထားကြောင်း တွေ့ရှိရသောကြောင့် မူဝါဒသည် Chrome Webstore တွင် တင်ထားသည့် နောက်ဆက်တွဲများကိုသာ အလိုအလျောက် ထည့်သွင်းနိုင်ပါသည်။ Chrome Webstore အပ်ဒိတ် URL သည် "<ph name="CWS_UPDATE_URL" />" ဖြစ်သည်။</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> သို့ ချိတ်ဆက်မှုသည် မလုံခြုံပါ</translation>
@@ -1425,6 +1428,7 @@
 <translation id="4359160567981085931">လှည့်ဖြားတတ်သော ဝဘ်ဆိုက်တစ်ခုတွင် သင့်စကားဝှက်ကို သင်က ယခုလေးတွင် ထည့်လိုက်သည်။ Chrome က ကူညီနိုင်ပါသည်။ သင်၏စကားဝှက် ပြောင်းရန်နှင့် သင့်အကောင့်အန္တရာယ်ရှိနိုင်ကြောင်း Google သို့ အသိပေးရန် 'အကောင့် ကာကွယ်ရေး' ကို နှိပ်ပါ။</translation>
 <translation id="4363222835916186793">ဤထုတ်ကုန်အတွက် သတိပေးချက်များကို ပိတ်ထားသည်</translation>
 <translation id="437040971055499437">လုံခြုံရေးဆိုင်ရာ ဖြစ်ရပ် ရှိသည်</translation>
+<translation id="4371307856413138486">ပြောင်းလဲထားသည့်စာသား၏ အစ</translation>
 <translation id="4371591986692297148">သုံးမနေပါ</translation>
 <translation id="4372948949327679948">မျှော်လင့်ထားသည့် <ph name="VALUE_TYPE" /> တန်ဖိုး။</translation>
 <translation id="4375864595697821259">သင့်စိတ်ဝင်စားမှုများ ခန့်မှန်းသောအခါ Chrome က ရွေးချယ်နိုင်သော အကြောင်းအရာစာရင်းတွင် ထည့်လိုသည့် အကြောင်းအရာကို ပြန်ထည့်နိုင်သည်</translation>
@@ -2104,6 +2108,7 @@
 <translation id="6040143037577758943">ပိတ်ရန်</translation>
 <translation id="6041777658117377052">အခန်း အပူချိန်</translation>
 <translation id="6042308850641462728">နောက်ထပ်</translation>
+<translation id="6042688167654081154">ပုံကို စာသားသို့ ပြောင်းလဲပြီးပြီ</translation>
 <translation id="6044573915096792553">အရွယ်အစား ၁၂</translation>
 <translation id="6045164183059402045">သတ်မှတ်ချက် နမူနာ ပုံစံ</translation>
 <translation id="6047233362582046994">သင်၏ လုံခြုံရေးဆိုင်ရာ အန္တရာယ်ကို နားလည်လျှင် အန္တရာယ်ဖြစ်စေနိုင်သည့် အက်ပ်ကို ဖယ်ရှားခြင်းမပြုမီ <ph name="BEGIN_LINK" />ဤဝဘ်ဆိုက်သို့ သွားရောက်နိုင်ပါသည်<ph name="END_LINK" />။</translation>
@@ -2165,6 +2170,7 @@
 <translation id="6195371403461054755">ဘူမိဗေဒ</translation>
 <translation id="6196640612572343990">ပြင်ပကုမ္ပဏီကွတ်ကီးများကို ပိတ်ဆို့မည်</translation>
 <translation id="6197648101609735209">၈၉ x ၈၉ မီလီမီတာ</translation>
+<translation id="6200386911308538077">ပုံကို စိစစ်နေသည်</translation>
 <translation id="6203231073485539293">သင့်အင်တာနက် ချိတ်ဆက်မှုကို စစ်ပါ</translation>
 <translation id="6205314730813004066">ကြော်ငြာဆိုင်ရာ အချက်အလက်လုံခြုံမှု</translation>
 <translation id="6212314149070368045">ယူအက်စ် ဘာဂျာခေါက်</translation>
@@ -2283,6 +2289,7 @@
 <translation id="6468485451923838994">ဖောင့်များ</translation>
 <translation id="647261751007945333">ကိရိယာ မူဝါဒများ</translation>
 <translation id="647330291963761005">အပ်ဒိတ်များ ထည့်သွင်းနေသည်</translation>
+<translation id="6474220430271405609">မူဝါဒစစ်ဆေးမှုများ</translation>
 <translation id="6475672344094591109">သင်ဝင်ကြည့်သည့် ဝဘ်ဆိုက်များက ၎င်းတို့ကြော်ငြာများ၏ စွမ်းဆောင်ရည် တိုင်းတာအကဲဖြတ်ရာတွင် အထောက်အကူဖြစ်စေသည့် အချက်အလက်များကို Chrome ထံမှ တောင်းဆိုနိုင်သည်။ Chrome သည် ဝဘ်ဆိုက် အချင်းချင်းမျှဝေနိုင်သည့် အချက်အလက်များကို ကန့်သတ်ခြင်းဖြင့် သင်၏ ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ပေးသည်။</translation>
 <translation id="6476284679642588870">ငွေပေးချေနည်းလမ်းများကို စီမံရန်</translation>
 <translation id="6486200200930923183">မှတ်တမ်းရုပ်ရှင်များ</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index 026c2047..311c636 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -265,6 +265,7 @@
 
           &lt;p&gt;Pas in het gedeelte &lt;strong&gt;Algemeen&lt;/strong&gt; van de app &lt;strong&gt;Instellingen&lt;/strong&gt; de datum en tijd aan.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Je beheerder start je apparaat opnieuw op om <ph name="TIME" /> op <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Geen tekst geconverteerd vanuit afbeeldingen</translation>
 <translation id="156703335097561114">Netwerkinformatie zoals adressen, interfaceconfiguratie en verbindingskwaliteit</translation>
 <translation id="1567040042588613346">Dit beleid werkt zoals bedoeld, maar ergens anders is dezelfde waarde ingesteld die wordt vervangen door dit beleid.</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> toevoegen</translation>
@@ -1195,6 +1196,7 @@
 <translation id="3890664840433101773">E-mailadres toevoegen</translation>
 <translation id="3897092660631435901">Menu</translation>
 <translation id="3901925938762663762">De pas is verlopen</translation>
+<translation id="3906095212874392000">Einde van geconverteerde tekst</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Je kunt dit altijd wijzigen via de Chrome-instellingen</translation>
@@ -1395,6 +1397,7 @@
 <translation id="4331519897422864041">Stapeleenheid 5</translation>
 <translation id="4331708818696583467">Niet beveiligd</translation>
 <translation id="4333561522337981382">Vensters beheren op al je schermen</translation>
+<translation id="4338709847516294988">Druk op Zoeken plus m en converteer de afbeelding naar tekst in het contextmenu</translation>
 <translation id="4340575312453649552">Deze advertentie gebruikte te veel bronnen voor je apparaat, dus Chrome heeft de advertentie verwijderd.</translation>
 <translation id="4340982228985273705">Deze computer is niet gedetecteerd als een zakelijk beheerde computer. Overeenkomstig het beleid kunnen alleen automatisch extensies worden geïnstalleerd die worden gehost in de Chrome Web Store. De update-URL van de Chrome Web Store is <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">De verbinding met <ph name="SITE" /> is niet beveiligd</translation>
@@ -1410,6 +1413,7 @@
 <translation id="4359160567981085931">Je hebt zojuist je wachtwoord opgegeven op een misleidende site. Chrome kan je laten zien wat je nu kunt doen. Klik op 'Account beschermen' om je wachtwoord te wijzigen en Google te laten weten dat je account mogelijk gevaar loopt.</translation>
 <translation id="4363222835916186793">Meldingen voor dit product zijn uitgezet</translation>
 <translation id="437040971055499437">Beveiligingsgebeurtenis vindt plaats</translation>
+<translation id="4371307856413138486">Begin van geconverteerde tekst</translation>
 <translation id="4371591986692297148">Inactief</translation>
 <translation id="4372948949327679948">Verwachte <ph name="VALUE_TYPE" /> waarde.</translation>
 <translation id="4375864595697821259">Voeg een item opnieuw toe als het op de lijst moet met onderwerpen waaruit Chrome kan kiezen als het een schatting maakt van je interesses</translation>
@@ -2084,6 +2088,7 @@
 <translation id="6040143037577758943">Sluiten</translation>
 <translation id="6041777658117377052">Temperatuur van ruimte</translation>
 <translation id="6042308850641462728">Meer</translation>
+<translation id="6042688167654081154">Afbeelding geconverteerd naar tekst</translation>
 <translation id="6044573915096792553">Grootte 12</translation>
 <translation id="6045164183059402045">Plaatsingstemplate</translation>
 <translation id="6047233362582046994">Als je de beveiligingsrisico's begrijpt, kun je <ph name="BEGIN_LINK" />deze site bezoeken<ph name="END_LINK" /> voordat de schadelijke apps zijn verwijderd.</translation>
@@ -2144,6 +2149,7 @@
 <translation id="6195371403461054755">Geologie</translation>
 <translation id="6196640612572343990">Cookies van derden blokkeren</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Afbeelding wordt geanalyseerd</translation>
 <translation id="6203231073485539293">Controleer je internetverbinding</translation>
 <translation id="6205314730813004066">Advertentieprivacy</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
@@ -2262,6 +2268,7 @@
 <translation id="6468485451923838994">Lettertypen</translation>
 <translation id="647261751007945333">Apparaatbeleid</translation>
 <translation id="647330291963761005">Updates installeren</translation>
+<translation id="6474220430271405609">Beleidstests</translation>
 <translation id="6475672344094591109">Sites die je bezoekt, kunnen Chrome om informatie vragen zodat ze de prestaties van hun advertenties kunnen meten. Chrome beschermt je privacy door te beperken welke informatie sites met elkaar kunnen delen.</translation>
 <translation id="6476284679642588870">Betaalmethoden beheren</translation>
 <translation id="6486200200930923183">Documentaires</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index 326d973..ccf691b 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -267,6 +267,7 @@
 
       &lt;p&gt;Juster datoen og klokkeslettet under &lt;strong&gt;Generelt&lt;/strong&gt; i &lt;strong&gt;Innstillinger&lt;/strong&gt;-appen.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Administratoren din starter enheten din på nytt kl. <ph name="TIME" /> <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Ingen tekst ble konvertert fra bilder</translation>
 <translation id="156703335097561114">Nettverksinformasjon som adresser, grensesnittkonfigurasjon og tilkoblingskvalitet</translation>
 <translation id="1567040042588613346">Denne regelen fungerer som den skal, men den samme verdien er angitt et annet sted og overstyres av denne regelen.</translation>
 <translation id="1567405528131216114">Legg til <ph name="TOPIC" /></translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">Legg til e-post</translation>
 <translation id="3897092660631435901">Meny</translation>
 <translation id="3901925938762663762">Kortet er utløpt</translation>
+<translation id="3906095212874392000">Slutten på den konverterte teksten</translation>
 <translation id="3906954721959377182">Nettbrett</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Du kan når som helst ombestemme deg i Chrome-innstillingene.</translation>
@@ -1409,6 +1411,7 @@
 <translation id="4331519897422864041">Hylle 5</translation>
 <translation id="4331708818696583467">Ikke sikker</translation>
 <translation id="4333561522337981382">administrere vinduer på alle skjermene dine</translation>
+<translation id="4338709847516294988">Trykk på søketasten pluss m, og konverter bildet til tekst via den kontekstuelle menyen</translation>
 <translation id="4340575312453649552">Denne annonsen brukte for mange ressurser for enheten din, så Chrome har fjernet den.</translation>
 <translation id="4340982228985273705">Denne datamaskinen er ikke registrert som administrert av en bedrift, så regelen kan bare automatisk installere utvidelser som finnes på Chrome Nettmarked. Nettadressen for Chrome Nettmarked-oppdateringen er «<ph name="CWS_UPDATE_URL" />».</translation>
 <translation id="4348834659292907206">Tilkoblingen til <ph name="SITE" /> er ikke sikker</translation>
@@ -1424,6 +1427,7 @@
 <translation id="4359160567981085931">Du har nettopp skrevet inn passordet ditt på et villedende nettsted. Chrome kan hjelpe deg. For å bytte passord og varsle Google om at kontoen din kanskje er i fare, klikk på Beskytt konto.</translation>
 <translation id="4363222835916186793">Varsler for dette produktet er slått av</translation>
 <translation id="437040971055499437">Forekomster av sikkerhetshendelse</translation>
+<translation id="4371307856413138486">Begynnelsen på den konverterte teksten</translation>
 <translation id="4371591986692297148">Inaktiv</translation>
 <translation id="4372948949327679948">Forventet <ph name="VALUE_TYPE" />-verdi.</translation>
 <translation id="4375864595697821259">Legg til et element igjen hvis du vil ha det i gruppen over emner som Chrome kan velge mellom når interessene dine skal beregnes</translation>
@@ -2103,6 +2107,7 @@
 <translation id="6040143037577758943">Lukk</translation>
 <translation id="6041777658117377052">Kammertemperatur</translation>
 <translation id="6042308850641462728">Mer</translation>
+<translation id="6042688167654081154">Bildet er konvertert til tekst</translation>
 <translation id="6044573915096792553">Størrelse 12</translation>
 <translation id="6045164183059402045">Imposisjonsmal</translation>
 <translation id="6047233362582046994">Hvis du forstår sikkerhetsrisikoen, kan du <ph name="BEGIN_LINK" />gå til dette nettstedet<ph name="END_LINK" /> før de skadelige appene er fjernet.</translation>
@@ -2165,6 +2170,7 @@
 <translation id="6195371403461054755">Geologi</translation>
 <translation id="6196640612572343990">Blokkér informasjonskapsler fra tredjeparter</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Bildet analyseres</translation>
 <translation id="6203231073485539293">Kontroller Internett-tilkoblingen</translation>
 <translation id="6205314730813004066">Annonsepersonvern</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb
index 24e3b91..a5ef48c2 100644
--- a/components/strings/components_strings_or.xtb
+++ b/components/strings/components_strings_or.xtb
@@ -2989,7 +2989,7 @@
 <translation id="827820107214076967">ଲଗଗୁଡ଼ିକୁ ରିଫ୍ରେସ କରନ୍ତୁ</translation>
 <translation id="8279611986089885641">Chrome ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଚାଲୁ ହେବା ଆବଶ୍ୟକ। ଆପଣ ସେଗୁଡ଼ିକୁ <ph name="BEGIN_LINK" /><ph name="NOTIFICATION_SETTINGS" /><ph name="END_LINK" />ରେ ଚାଲୁ କରିପାରିବେ।</translation>
 <translation id="8280630997017109758">ଟ୍ରେ 11</translation>
-<translation id="8281886186245836920">ଛାଡ଼ିଦିଅନ୍ତୁ</translation>
+<translation id="8281886186245836920">ବାଦ ଦିଅନ୍ତୁ</translation>
 <translation id="8282947398454257691">ଆପଣଙ୍କର ଅସାଧାରଣ ଡିଭାଇସ୍‌ ଚିହ୍ନଟକାରୀ</translation>
 <translation id="8284769179630993263">Chrome ସେଟିଂସରେ ଆପଣଙ୍କ ସୁରକ୍ଷିତ ବ୍ରାଉଜିଂ ଏବଂ ଆହୁରି ଅନେକ କିଛି ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="8286036467436129157">ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 57f657e..83cacf7 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -265,6 +265,7 @@
 
           &lt;p&gt;ਕਿਰਪਾ ਕਰਕੇ &lt;strong&gt;ਸੈਟਿੰਗਾਂ&lt;/strong&gt; ਐਪ ਦੇ &lt;strong&gt;ਸਧਾਰਨ&lt;/strong&gt; ਭਾਗ ਤੋਂ ਮਿਤੀ ਅਤੇ ਸਮਾਂ ਅਨੁਕੂਲਿਤ ਕਰੋ।&lt;/p&gt;</translation>
 <translation id="1559839503761818503">ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ <ph name="DATE" /> ਨੂੰ <ph name="TIME" /> ਵਜੇ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੇਗਾ</translation>
+<translation id="1564753300777780201">ਕਿਸੇ ਲਿਖਤ ਨੂੰ ਚਿੱਤਰਾਂ ਤੋਂ ਰੂਪਾਂਤਰਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="156703335097561114">ਨੈੱਟਵਰਕਿੰਗ ਜਾਣਕਾਰੀ ਜਿਵੇਂ ਕਿ ਪਤੇ, ਇੰਟਰਫੇਸ ਸੰਰੂਪਣ, ਅਤੇ ਕਨੈਕਸ਼ਨ ਗੁਣਵੱਤਾ</translation>
 <translation id="1567040042588613346">ਇਹ ਨੀਤੀ ਉਮੀਦ ਮੁਤਾਬਕ ਕੰਮ ਕਰ ਰਹੀ ਹੈ ਪਰ ਸਮਾਨ ਮੁੱਲ ਕਿਸੇ ਹੋਰ ਥਾਂ 'ਤੇ ਸੈੱਟ ਹੈ ਅਤੇ ਇਸ ਨੀਤੀ ਵੱਲੋਂ ਪ੍ਰਤਿਸਥਾਪਨ ਕੀਤਾ ਗਿਆ ਹੈ।</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> ਸ਼ਾਮਲ ਕਰੋ</translation>
@@ -1197,6 +1198,7 @@
 <translation id="3890664840433101773">ਈਮੇਲ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="3897092660631435901">ਮੀਨੂ</translation>
 <translation id="3901925938762663762">ਕਾਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗ ਗਈ ਹੈ</translation>
+<translation id="3906095212874392000">ਰੂਪਾਂਤਰਿਤ ਲਿਖਤ ਸਮਾਪਤ</translation>
 <translation id="3906954721959377182">ਟੈਬਲੈੱਟ</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">ਤੁਸੀਂ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ ਆਪਣਾ ਮਨ ਬਦਲ ਸਕਦੇ ਹੋ</translation>
@@ -1397,6 +1399,7 @@
 <translation id="4331519897422864041">ਸਟੈਕਰ 5</translation>
 <translation id="4331708818696583467">ਸੁਰੱਖਿਅਤ ਨਹੀਂ</translation>
 <translation id="4333561522337981382">ਆਪਣੀਆਂ ਸਾਰੀਆਂ ਡਿਸਪਲੇਆਂ 'ਤੇ ਵਿੰਡੋਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
+<translation id="4338709847516294988">ਖੋਜੋ ਪਲੱਸ m ਦਬਾਓ ਅਤੇ ਸੰਦਰਭ ਮੀਨੂ ਵਿੱਚ ਚਿੱਤਰ ਨੂੰ ਲਿਖਤ ਵਿੱਚ ਬਦਲੋ</translation>
 <translation id="4340575312453649552">ਇਸ ਵਿਗਿਆਪਨ ਨੇ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਸਰੋਤਾਂ ਨੂੰ ਵਰਤਿਆ, ਇਸ ਲਈ Chrome ਨੇ ਇਸਨੂੰ ਹਟਾ ਦਿੱਤਾ।</translation>
 <translation id="4340982228985273705">ਇਸ ਕੰਪਿਊਟਰ ਦਾ ਕਿਸੇ ਐਂਟਰਪ੍ਰਾਈਜ਼ ਵੱਲੋਂ ਪ੍ਰਬੰਧਨ ਕੀਤੇ ਜਾਣ ਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗਿਆ ਹੈ, ਇਸ ਲਈ ਨੀਤੀ ਸਿਰਫ਼ Chrome ਵੈੱਬਸਟੋਰ 'ਤੇ ਹੋਸਟ ਕੀਤੀਆਂ ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਸਥਾਪਤ ਕਰ ਸਕਦੀ ਹੈ। Chrome ਵੈੱਬਸਟੋਰ ਦਾ ਅੱਪਡੇਟ URL "<ph name="CWS_UPDATE_URL" />" ਹੈ।</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> ਤੋਂ ਕਨੈਕਸ਼ਨ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੈ</translation>
@@ -1412,6 +1415,7 @@
 <translation id="4359160567981085931">ਤੁਸੀਂ ਹੁਣੇ-ਹੁਣੇ ਕਿਸੇ ਭਰਮਪੂਰਨ ਸਾਈਟ 'ਤੇ ਆਪਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕੀਤਾ ਹੈ। Chrome ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ। ਆਪਣਾ ਪਾਸਵਰਡ ਬਦਲਣ ਅਤੇ ਆਪਣੇ ਖਾਤੇ ਦੇ ਜੋਖਮ ਵਿੱਚ ਹੋਣ ਬਾਰੇ Google ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਲਈ, 'ਖਾਤੇ ਦੀ ਸੁਰੱਖਿਆ ਕਰੋ' 'ਤੇ ਕਲਿੱਕ ਕਰੋ।</translation>
 <translation id="4363222835916186793">ਇਸ ਉਤਪਾਦ ਲਈ ਸੁਚੇਤਨਾਵਾਂ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="437040971055499437">ਸੁਰੱਖਿਆ ਇਵੈਂਟ ਹੋਣ 'ਤੇ</translation>
+<translation id="4371307856413138486">ਰੂਪਾਂਤਰਿਤ ਲਿਖਤ ਦੀ ਸ਼ੁਰੂਆਤ</translation>
 <translation id="4371591986692297148">ਅਕਿਰਿਆਸ਼ੀਲ</translation>
 <translation id="4372948949327679948">ਸੰਭਾਵਿਤ <ph name="VALUE_TYPE" /> ਵੈਲਯੂ।</translation>
 <translation id="4375864595697821259">ਕਿਸੇ ਆਈਟਮ ਨੂੰ ਵਾਪਸ ਸ਼ਾਮਲ ਕਰੋ, ਜੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਉਹ ਉਨ੍ਹਾਂ ਵਿਸ਼ਿਆਂ ਦੇ ਪੂਲ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੇ ਜੋ Chrome ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣ ਵੇਲੇ ਚੁਣ ਸਕਦਾ ਹੈ</translation>
@@ -2086,6 +2090,7 @@
 <translation id="6040143037577758943">ਬੰਦ ਕਰੋ</translation>
 <translation id="6041777658117377052">ਚੈਂਬਰ ਦਾ ਤਾਪਮਾਨ</translation>
 <translation id="6042308850641462728">ਹੋਰ</translation>
+<translation id="6042688167654081154">ਚਿੱਤਰ ਨੂੰ ਲਿਖਤ ਵਿੱਚ ਬਦਲਿਆ ਗਿਆ</translation>
 <translation id="6044573915096792553">ਆਕਾਰ 12</translation>
 <translation id="6045164183059402045">ਇੰਮਪੋਜ਼ਿਸ਼ਨ ਟੈਮਪਲੇਟ</translation>
 <translation id="6047233362582046994">ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੀ ਸੁਰੱਖਿਆ ਵਿੱਚ ਹੋਣ ਵਾਲੇ ਖਤਰੇ ਨੂੰ ਸਮਝਦੇ ਹੋ, ਤਾਂ ਹਾਨੀਕਾਰਕ ਐਪਾਂ ਨੂੰ ਹਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਸੀਂ <ph name="BEGIN_LINK" />ਇਸ ਸਾਈਟ 'ਤੇ ਜਾ<ph name="END_LINK" /> ਸਕਦੇ ਹੋ।</translation>
@@ -2146,6 +2151,7 @@
 <translation id="6195371403461054755">ਭੂ-ਵਿਗਿਆਨ</translation>
 <translation id="6196640612572343990">ਤੀਜੀ-ਧਿਰ ਵਾਲੀਆਂ ਕੁੱਕੀਜ਼ ਨੂੰ ਬਲੌਕ ਕਰੋ</translation>
 <translation id="6197648101609735209">89 x 89 ਮਿ.ਮੀ.</translation>
+<translation id="6200386911308538077">ਚਿੱਤਰ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="6203231073485539293">ਆਪਣੇ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ</translation>
 <translation id="6205314730813004066">ਵਿਗਿਆਪਨ ਪਰਦੇਦਾਰੀ</translation>
 <translation id="6212314149070368045">US ਫੈਨਫੋਲਡ</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index cc3a60c..82131e6 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -2289,6 +2289,7 @@
 <translation id="6468485451923838994">Fonturi</translation>
 <translation id="647261751007945333">Politici privind dispozitivele</translation>
 <translation id="647330291963761005">Se instalează actualizările</translation>
+<translation id="6474220430271405609">Teste pentru politici</translation>
 <translation id="6475672344094591109">Site-urile pe care le accesezi pot solicita informații de la Chrome care le ajută să măsoare performanța anunțurilor lor. Chrome îți protejează confidențialitatea limitând informațiile pe care site-urile și le pot trimite.</translation>
 <translation id="6476284679642588870">Gestionează metodele de plată</translation>
 <translation id="6486200200930923183">Filme documentare</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index a1678a20..4ffd793 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -261,6 +261,7 @@
 
       &lt;p&gt;Установите точную дату и время. Для этого откройте раздел &lt;strong&gt;Общие&lt;/strong&gt; в приложении &lt;strong&gt;Настройки&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Администратор перезапустит устройство <ph name="DATE" /> в <ph name="TIME" />.</translation>
+<translation id="1564753300777780201">Изображения не были преобразованы в текст</translation>
 <translation id="156703335097561114">Сетевые данные, такие как адреса, настройки интерфейса и качество подключения.</translation>
 <translation id="1567040042588613346">Правило работает корректно, но заменяет одинаковое значение, заданное где-то ещё.</translation>
 <translation id="1567405528131216114">Снова добавить тему "<ph name="TOPIC" />"</translation>
@@ -1181,6 +1182,7 @@
 <translation id="3890664840433101773">Добавление адреса электронной почты</translation>
 <translation id="3897092660631435901">Меню</translation>
 <translation id="3901925938762663762">Срок действия карты истек</translation>
+<translation id="3906095212874392000">Конец полученного текста</translation>
 <translation id="3906954721959377182">Планшет</translation>
 <translation id="3909695131102177774"><ph name="LABEL" />. <ph name="ERROR" />.</translation>
 <translation id="3911401144270344103">Вы можете в любое время изменить свое решение в настройках Chrome</translation>
@@ -1379,6 +1381,7 @@
 <translation id="4331519897422864041">Укладчик 5</translation>
 <translation id="4331708818696583467">Не защищено</translation>
 <translation id="4333561522337981382">Управлять окнами на всех ваших экранах</translation>
+<translation id="4338709847516294988">Нажмите Поиск + M и в контекстном меню выберите "Распознать текст на изображении".</translation>
 <translation id="4340575312453649552">Это объявление удалено, так как оно использовало слишком много системных ресурсов.</translation>
 <translation id="4340982228985273705">По нашим данным, этот компьютер не является корпоративным, поэтому в соответствии с правилом на него можно автоматически устанавливать только расширения из Интернет-магазина Chrome. URL для обновления: <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">Подключение к сайту <ph name="SITE" /> не защищено.</translation>
@@ -1394,6 +1397,7 @@
 <translation id="4359160567981085931">Вы только что ввели пароль на поддельном сайте. Чтобы изменить пароль и сообщить Google о возможной угрозе безопасности, нажмите "Защитить аккаунт".</translation>
 <translation id="4363222835916186793">Оповещения об этом товаре отключены.</translation>
 <translation id="437040971055499437">Зарегистрировано событие безопасности</translation>
+<translation id="4371307856413138486">Начало полученного текста</translation>
 <translation id="4371591986692297148">неактивно</translation>
 <translation id="4372948949327679948">Ожидаемое значение: <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Вы можете снова добавить тему в список, который Chrome использует для определения ваших интересов.</translation>
@@ -2061,6 +2065,7 @@
 <translation id="6040143037577758943">Закрыть</translation>
 <translation id="6041777658117377052">Температура камеры</translation>
 <translation id="6042308850641462728">Ещё</translation>
+<translation id="6042688167654081154">Изображение преобразовано в текст</translation>
 <translation id="6044573915096792553">Размер: 12</translation>
 <translation id="6045164183059402045">Шаблон спуска полос</translation>
 <translation id="6047233362582046994">Если вы осознаете, что можете подвергнуть риску свои личные данные, то можете <ph name="BEGIN_LINK" />перейти на зараженный сайт<ph name="END_LINK" />, не дожидаясь удаления вредоносных приложений.</translation>
@@ -2122,6 +2127,7 @@
 <translation id="6195371403461054755">Геология</translation>
 <translation id="6196640612572343990">Блокировать сторонние файлы cookie</translation>
 <translation id="6197648101609735209">89 x 89 мм</translation>
+<translation id="6200386911308538077">Изображение анализируется</translation>
 <translation id="6203231073485539293">Проверьте подключение к Интернету</translation>
 <translation id="6205314730813004066">Конфиденциальность в рекламе</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 89ee226..548f469d 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Dátum a čas upravte v aplikácii &lt;strong&gt;Nastavenia&lt;/strong&gt; v sekcii &lt;strong&gt;Všeobecné&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Správca reštartuje vaše zariadenie <ph name="DATE" /> o <ph name="TIME" /></translation>
+<translation id="1564753300777780201">Z obrázkov nebol konvertovaný žiadny text</translation>
 <translation id="156703335097561114">Informácie o sieťach, napríklad adresy, konfigurácia rozhrania a kvalita pripojenia</translation>
 <translation id="1567040042588613346">Toto pravidlo funguje podľa očakávania, ale niekde inde je nastavená rovnaká hodnota, ktorú toto pravidlo nahradilo.</translation>
 <translation id="1567405528131216114">Pridať tému <ph name="TOPIC" /></translation>
@@ -1196,6 +1197,7 @@
 <translation id="3890664840433101773">Pridanie e-mailu</translation>
 <translation id="3897092660631435901">Ponuka</translation>
 <translation id="3901925938762663762">Platnosť karty vypršala</translation>
+<translation id="3906095212874392000">Koniec konvertovaného textu</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Svoje rozhodnutie môžete kedykoľvek zmeniť v nastaveniach Chromu</translation>
@@ -1396,6 +1398,7 @@
 <translation id="4331519897422864041">Odkladač č. 5</translation>
 <translation id="4331708818696583467">Nezabezpečené</translation>
 <translation id="4333561522337981382">Správa okien na všetkých obrazovkách</translation>
+<translation id="4338709847516294988">Ak chcete konvertovať obrázok na text v kontextovej ponuke, stlačte kláves vyhľadávania plus m</translation>
 <translation id="4340575312453649552">Táto reklama využívala príliš veľa zdrojov vášho zariadenia, takže ju Chrome odstránil.</translation>
 <translation id="4340982228985273705">Tento počítač nebol rozpoznaný ako spravovaný podnikom, takže pravidlá môžu automaticky inštalovať iba rozšírenia hostené v Internetovom obchode Chrome. Webová adresa aktualizácie z Internetového obchodu Chrome je <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">Pripojenie k webu <ph name="SITE" /> nie je zabezpečené</translation>
@@ -1411,6 +1414,7 @@
 <translation id="4359160567981085931">Práve ste zadali svoje heslo na podvodnom webe. Chrome vám s tým pomôže. Ak chcete zmeniť heslo a upozorniť Google, že váš účet môže byť ohrozený, kliknite na Ochrániť účet.</translation>
 <translation id="4363222835916186793">Upozornenia na tento výrobok boli vypnuté</translation>
 <translation id="437040971055499437">Vyskytne sa bezpečnostná udalosť</translation>
+<translation id="4371307856413138486">Začiatok konvertovaného textu</translation>
 <translation id="4371591986692297148">Neaktívne</translation>
 <translation id="4372948949327679948">Očakávaná hodnota <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Pridajte položku späť, ak ju chcete pridať do skupiny tém, z ktorých môže Chrome vyberať pri odhadovaní vašich záujmov</translation>
@@ -2085,6 +2089,7 @@
 <translation id="6040143037577758943">Zavrieť</translation>
 <translation id="6041777658117377052">Teplota komory</translation>
 <translation id="6042308850641462728">Viac</translation>
+<translation id="6042688167654081154">Obrázok bol konvertovaný na text</translation>
 <translation id="6044573915096792553">Veľkosť 12</translation>
 <translation id="6045164183059402045">Šablóna zavedenia</translation>
 <translation id="6047233362582046994">Ak si uvedomujete bezpečnostné riziko, môžete <ph name="BEGIN_LINK" />tento web navštíviť<ph name="END_LINK" /> ešte skôr, ako budú škodlivé aplikácie odstránené.</translation>
@@ -2145,6 +2150,7 @@
 <translation id="6195371403461054755">Geológia</translation>
 <translation id="6196640612572343990">Blokovať súbory cookie tretích strán</translation>
 <translation id="6197648101609735209">89 × 89 mm</translation>
+<translation id="6200386911308538077">Obrázok sa analyzuje</translation>
 <translation id="6203231073485539293">Skontrolujte internetové pripojenie</translation>
 <translation id="6205314730813004066">Ochrana súkromia pri reklamách</translation>
 <translation id="6212314149070368045">Americký skladaný formát</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index 3a321fd..4499be7e 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">Igra Dino. Kvadrirani dinozaver se med dirkanjem po neobljudeni pokrajini izogiba kaktusom in pterodaktilom. Ko zaslišite zvok, pritisnite preslednico, da začnete preskakovati ovire.</translation>
 <translation id="1374468813861204354">predlogi</translation>
 <translation id="1375198122581997741">O različici</translation>
+<translation id="1375293861397106342">Vse možnosti so običajno med <ph name="LOW_PRICE" /> in <ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">Pokaži manj</translation>
 <translation id="1380591466760231819">Prepogibanje v obliki pisma</translation>
 <translation id="138218114945450791">Svetlo modra</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">Ta stran sporoča:</translation>
 <translation id="1536390784834419204">Prevedi stran</translation>
 <translation id="1539840569003678498">Poslano poročilo:</translation>
+<translation id="1545757265410828525">Zgodovina cen</translation>
 <translation id="1549470594296187301">Če želite uporabljati to funkcijo, mora biti omogočen JavaScript.</translation>
 <translation id="1551884710160394169">Programska oprema brez denarnega plačila in preizkusna programska oprema</translation>
 <translation id="1553358976309200471">Posodobi Chrome</translation>
@@ -265,6 +267,7 @@
 
       &lt;p&gt;V razdelku &lt;strong&gt;Splošno&lt;/strong&gt; aplikacije &lt;strong&gt;Nastavitve&lt;/strong&gt; prilagodite datum in uro.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Skrbnik bo znova zagnal napravo ob <ph name="TIME" /> dne <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Iz slik ni bilo pretvorjeno besedilo</translation>
 <translation id="156703335097561114">Podatki o omrežju, kot so naslovi, konfiguracija vmesnika in kakovost povezave</translation>
 <translation id="1567040042588613346">Ta pravilnik deluje, kot je predvideno, vendar je nekje drugje nastavljena enaka vrednost, ki jo ta pravilnik nadomesti.</translation>
 <translation id="1567405528131216114">Dodaj: <ph name="TOPIC" /></translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">Trenutno ni tem, ki bi jih lahko prikazali</translation>
 <translation id="2021333772895814435">Ta pravilnik samodejno onemogoči sinhronizacijo v napravah za: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 x 19 palcev</translation>
+<translation id="2022815493835288714">Opozorilo o novi nastavitvi plačil je odprto</translation>
 <translation id="2025115093177348061">Razširjena resničnost</translation>
 <translation id="2025186561304664664">Strežnik proxy je nastavljen na samodejno konfiguriranje.</translation>
 <translation id="2025891858974379949">Vsebina, ki ni varna</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">Varnostno opozorilo</translation>
 <translation id="2692131511336778528">Znanstvena fantastika in fantazija</translation>
 <translation id="2701514975700770343">Z licem navzdol</translation>
+<translation id="2702592986366989640">Možnost z nizko ceno</translation>
 <translation id="2702801445560668637">Reading List</translation>
 <translation id="2704283930420550640">Vrednost se ne ujema z obliko.</translation>
 <translation id="2704606927547763573">Kopirano</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">Ustvarite dogodek</translation>
 <translation id="2903493209154104877">Naslovi</translation>
 <translation id="290376772003165898">Stran ni v jeziku <ph name="LANGUAGE" />?</translation>
+<translation id="2905107382358353958">Opozorilo o novi nastavitvi plačil</translation>
 <translation id="2909946352844186028">Zaznana je bila sprememba omrežja.</translation>
 <translation id="2911973620368911614">ID uporabnika za računovodstvo glede opravil</translation>
 <translation id="2914160345369867329">Spletno mesto <ph name="SITE" /> za zaščito vaših podatkov običajno uporablja šifriranje. Ko se je Chrome tokrat poskusil povezati s spletnim mestom <ph name="SITE" />, je to vrnilo nenavadne in nepravilne poverilnice. Do tega lahko pride, če se napadalec lažno predstavlja za spletno mesto <ph name="SITE" /> ali če je povezavo prekinil zaslon za prijavo v omrežje Wi-Fi. Vaši podatki so še vedno varni, saj je Chrome pred izmenjavo podatkov prekinil povezavo.</translation>
@@ -931,6 +937,7 @@
 <translation id="3256863843508922226">Upokojitev in pokojnina</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite tabulatorko, nato Enter, če želite hitro ustvariti nov dogodek v Google Koledarju</translation>
 <translation id="3261488570342242926">Preberite več o navideznih karticah</translation>
+<translation id="3262698603497362968">Možnosti nakupa</translation>
 <translation id="3266367459139339908">Uvajamo nove načine, s katerimi lahko omejite, kaj lahko spletna mesta izvejo o vas, ko vam prikažejo osebno prilagojene oglase, na primer:</translation>
 <translation id="3266793032086590337">Vrednost (v sporu)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Ni blokiranih spletnih mest, vključno s povezanimi spletnimi mesti}=1{1 blokirano spletno mesto, vključno s povezanimi spletnimi mesti}one{# blokirano spletno mesto, vključno s povezanimi spletnimi mesti}two{# blokirani spletni mesti, vključno s povezanimi spletnimi mesti}few{# blokirana spletna mesta, vključno s povezanimi spletnimi mesti}other{# blokiranih spletnih mest, vključno s povezanimi spletnimi mesti}}</translation>
@@ -1115,6 +1122,7 @@
 <translation id="3693327506115126094">Izberite, kako želite potrditi, da ste to res vi</translation>
 <translation id="3698629142018988477">Gumb za ustvarjanje spletnih mest, aktivirajte, če želite hitro ustvariti novo spletno mesto v Google Spletnih mestih</translation>
 <translation id="3701427423622901115">Ponastavitev je potrjena.</translation>
+<translation id="3701900332588705891">Običajno <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">Omrežje, ki ga uporabljate, morda zahteva, da obiščete stran za prijavo.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> – <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">Nalaganje ...</translation>
@@ -1200,6 +1208,7 @@
 <translation id="3890664840433101773">Dodajanje e-poštnega naslova</translation>
 <translation id="3897092660631435901">Meni</translation>
 <translation id="3901925938762663762">Kartica je potekla</translation>
+<translation id="3906095212874392000">Konec pretvorjenega besedila</translation>
 <translation id="3906954721959377182">Tablični računalnik</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> – <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Kadar koli si lahko premislite v nastavitvah za Chrome.</translation>
@@ -1219,6 +1228,7 @@
 <translation id="3949870428812919180">Ni shranjenih plačilnih sredstev</translation>
 <translation id="3950574001630941635">Znova zaženi vadnico</translation>
 <translation id="3950820424414687140">Prijava</translation>
+<translation id="3953505489397572035">Ta cena je običajna</translation>
 <translation id="3958057596965527988">4 x 4 palcev</translation>
 <translation id="3961148744525529027">List rutine za obravnavo plačil je napol odprt</translation>
 <translation id="3962859241508114581">Prejšnja skladba</translation>
@@ -1355,6 +1365,7 @@
 <translation id="4250680216510889253">Ne</translation>
 <translation id="4250716950689692560">A4x4</translation>
 <translation id="4253168017788158739">Opomba</translation>
+<translation id="4255487295905690262">Če se cena zniža na katerem koli spletnem mestu, boste prejeli e-poštna opozorila.</translation>
 <translation id="425582637250725228">Spremembe, ki ste jih naredili, morda niso shranjene.</translation>
 <translation id="4258748452823770588">Napačen podpis</translation>
 <translation id="4261046003697461417">Zaščitenim dokumentom ni mogoče dodajati pripisov</translation>
@@ -1400,6 +1411,7 @@
 <translation id="4331519897422864041">Zlagalnik 5</translation>
 <translation id="4331708818696583467">Ni varno</translation>
 <translation id="4333561522337981382">Upravljati okna na vseh zaslonih</translation>
+<translation id="4338709847516294988">Pritisnite tipko za iskanje in tipko m ter pretvorite sliko v besedilo v kontekstnem meniju</translation>
 <translation id="4340575312453649552">Ta oglas je uporabljal preveč sredstev za napravo, zato ga je Chrome odstranil.</translation>
 <translation id="4340982228985273705">Ta računalnik ni zaznan kot računalnik, ki ga upravlja podjetje, zato lahko pravilnik samodejno namesti samo razširitve, ki gostujejo v Spletni trgovini Chrome. URL za posodobitve v Spletni trgovini Chrome je »<ph name="CWS_UPDATE_URL" />«.</translation>
 <translation id="4348834659292907206">Povezava s spletnim mestom <ph name="SITE" /> ni varna</translation>
@@ -1415,6 +1427,7 @@
 <translation id="4359160567981085931">Pravkar ste vnesli geslo na zavajajočem spletnem mestu. Chrome lahko pomaga. Če želite spremeniti geslo in obvestiti Google, da je vaš račun morda ogrožen, kliknite »Zaščita računa«.</translation>
 <translation id="4363222835916186793">Opozorila za ta izdelek so bila izklopljena.</translation>
 <translation id="437040971055499437">Varnostni dogodek se zgodi</translation>
+<translation id="4371307856413138486">Začetek pretvorjenega besedila</translation>
 <translation id="4371591986692297148">Neaktivno</translation>
 <translation id="4372948949327679948">Pričakovana vrednost je vrste <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Dodajte element nazaj, če želite, da je v naboru tem, med katerimi lahko Chrome izbira pri ocenjevanju zanimanj.</translation>
@@ -1439,6 +1452,7 @@
 <translation id="4433642172056592619">Prezrto, ker uporabnik ni povezan z upravljanjem naprave oziroma naprava ni upravljana.</translation>
 <translation id="4434045419905280838">Pojavna okna in preusmeritve</translation>
 <translation id="443673843213245140">Uporaba strežnika proxy je onemogočena, vendar je njegova konfiguracija izrecno določena.</translation>
+<translation id="4438821706955556403">Običajna cena</translation>
 <translation id="4441832193888514600">Prezrto, ker je pravilnik mogoče nastaviti samo kot uporabniški pravilnik za oblak.</translation>
 <translation id="4449116177348980384">Gumb za upravljanje nastavitev spletnega mesta, aktivirajte, če želite upravljati dovoljenja in podatke, shranjene na spletnih mestih v Chromovih nastavitvah.</translation>
 <translation id="4451135742916150903">Lahko zahteva vzpostavitev povezave z napravami HID.</translation>
@@ -1454,6 +1468,7 @@
 <translation id="4489023393592172404">Kuverta Kaku 4</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">Šifriranje sinhroniziranih gesel z računom Google</translation>
+<translation id="4492332866628791879">Shranite in spremljajte ceno</translation>
 <translation id="4492519888999857993">Te funkcije so privzeto onemogočene. Ne bodo na voljo v prihodnjih različicah Chroma.</translation>
 <translation id="4493480324863638523">Neveljaven URL. Mora biti URL s standardno shemo, kot je http://primer.com ali https://primer.com.</translation>
 <translation id="4494323206460475851">V nastavitvah si lahko ogledate teme oglasov in blokirate tiste, ki jih ne želite deliti s spletnimi mesti. Chrome prav tako samodejno izbriše teme oglasov, starejše od štirih tednov.</translation>
@@ -1593,6 +1608,7 @@
 <translation id="4813512666221746211">Napaka v omrežju</translation>
 <translation id="4816492930507672669">Prilagodi strani</translation>
 <translation id="4819347708020428563">Želite urejati pripise v privzetem pogledu?</translation>
+<translation id="4822493756793346865">Običajne cene izhajajo iz trgovin v spletu v zadnjih 90 dneh.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite tabulatorko, nato Enter, če želite hitro ustvariti novo Google Preglednico</translation>
 <translation id="4825507807291741242">Zmogljivo</translation>
 <translation id="483241715238664915">Vklopi opozorila</translation>
@@ -1772,6 +1788,7 @@
 <translation id="523149107733989821">A4 Extra</translation>
 <translation id="5234764350956374838">Opusti</translation>
 <translation id="5238301240406177137">Shrani v račun</translation>
+<translation id="5239119062986868403">Običajna cena</translation>
 <translation id="5239623327352565343">Lokacija je dovoljena</translation>
 <translation id="5242889659037569123">Potovalni kovčki in dodatna oprema</translation>
 <translation id="5244521145258281926">Upravljanje računa Google, aktivirajte, če želite upravljati podatke, zasebnost in varnost v računu Google</translation>
@@ -1841,6 +1858,7 @@
 <translation id="5398772614898833570">Oglasi blokirani</translation>
 <translation id="5400836586163650660">Siva</translation>
 <translation id="540969355065856584">Strežniku ni uspelo dokazati, da je <ph name="DOMAIN" />; njegovo varnostno potrdilo trenutno ni veljavno. Razlog za to je lahko napačna konfiguracija ali napadalčevo prestrezanje povezave.</translation>
+<translation id="5411462078004183575">Možnost z nizko ceno</translation>
 <translation id="5412040515238827314">Neveljavna oblika: Pričakovan je seznam vzorcev.</translation>
 <translation id="5412236728747081950">To spletno mesto pridobi vaša zanimanja iz Chroma, da vam pokaže ustreznejše oglase.</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> – <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2089,6 +2107,7 @@
 <translation id="6040143037577758943">Zapri</translation>
 <translation id="6041777658117377052">Temperatura komore</translation>
 <translation id="6042308850641462728">Več</translation>
+<translation id="6042688167654081154">Slika je pretvorjena v besedilo</translation>
 <translation id="6044573915096792553">Velikost 12</translation>
 <translation id="6045164183059402045">Predloga za razvrstitev strani za tiskanje</translation>
 <translation id="6047233362582046994">Če se zavedate varnostnega tveganja, lahko <ph name="BEGIN_LINK" />obiščete to spletno mesto<ph name="END_LINK" />, preden bodo škodljive aplikacije odstranjene.</translation>
@@ -2141,6 +2160,7 @@
 <translation id="6167577165590485365">Zadnji poskus pridobivanja:</translation>
 <translation id="6169916984152623906">Zdaj je mogoče brskati zasebno in drugi, ki uporabljajo to napravo, ne bodo videli vaše dejavnosti. Prenosi in zaznamki bodo vseeno shranjeni.</translation>
 <translation id="617256461084925519">Google Chrome poskuša preveriti, ali ste to res vi, da bo lahko vnesel podatke za plačilo.</translation>
+<translation id="6176387967264100435">Ta cena je visoka</translation>
 <translation id="6177128806592000436">Povezava s tem spletnim mestom ni varna</translation>
 <translation id="6177531123306197852">Kuverta C2</translation>
 <translation id="6180316780098470077">Interval vnovičnih poskusov</translation>
@@ -2150,6 +2170,7 @@
 <translation id="6195371403461054755">Geologija</translation>
 <translation id="6196640612572343990">Blokiraj piškotke drugih spletnih mest</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Slika se analizira</translation>
 <translation id="6203231073485539293">Preverite internetno povezavo</translation>
 <translation id="6205314730813004066">Zasebnost pri oglaševanju</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
@@ -2276,6 +2297,7 @@
 <translation id="6494750904506170417">pojavna okna in preusmeritve</translation>
 <translation id="6497295192259406877">Poslovanje</translation>
 <translation id="6499038740797743453">Ali želite ponastaviti geslo?</translation>
+<translation id="6502510275417601303">Opozorilo o novi nastavitvi plačil je zaprto</translation>
 <translation id="6502626736864595182">Ponudniki forumov in klepetalnic</translation>
 <translation id="6502991525169604759">Brez vaših sprememb</translation>
 <translation id="6506959208958864820">Kuverta</translation>
@@ -2335,6 +2357,7 @@
 <translation id="6651270836885078973">Upravitelj:</translation>
 <translation id="6652101503459149953">Uporabi Windows Hello</translation>
 <translation id="6657585470893396449">Geslo</translation>
+<translation id="6659246032834639189">Ta cena je nizka</translation>
 <translation id="6660413144148052430">lokacija</translation>
 <translation id="6662457027866368246">Kolut 1</translation>
 <translation id="666259744093848177">(prevedeno za x86_64)</translation>
@@ -2417,6 +2440,7 @@
 <translation id="6869334554832814367">Osebna posojila</translation>
 <translation id="6873456682041376666">Zgornji pladenj</translation>
 <translation id="6874604403660855544">&amp;Uveljavi dodajanje</translation>
+<translation id="6880941331070119097">Možnost z visoko ceno</translation>
 <translation id="6881240511396774766">Hitro ustvarite nov Google Dokument</translation>
 <translation id="6883221904761970440">Preglednica za preverjanje pristnosti poverilnice za varno plačilo je zaprta</translation>
 <translation id="6884662655240309489">Velikost 1</translation>
@@ -2565,11 +2589,13 @@
 <translation id="7210863904660874423">Spletno mesto <ph name="HOST_NAME" /> ne upošteva varnostnih standardov.</translation>
 <translation id="7210993021468939304">Dejavnost Linuxa v vsebniku in omogočeno nameščanje ter izvajanje aplikacij za Linux v vsebniku</translation>
 <translation id="721197778055552897"><ph name="BEGIN_LINK" />Več o<ph name="END_LINK" /> tej težavi.</translation>
+<translation id="7213191991901907140">Opišite nam svojo izkušnjo</translation>
 <translation id="7217745192097460130">Ali želite za potrditev in dokončanje nakupa uporabiti Touch ID?</translation>
 <translation id="7219179957768738017">Povezava uporablja <ph name="SSL_VERSION" />.</translation>
 <translation id="7220786058474068424">Obdelovanje</translation>
 <translation id="7221855153210829124">Pokaži obvestila</translation>
 <translation id="722454870747268814">New Incognito Tab</translation>
+<translation id="7227293336683593977">Zgodovina cen</translation>
 <translation id="7233592378249864828">Tiskanje potrditvenega lista</translation>
 <translation id="7234638337680728591">Cene zemeljskega plina in gorivo za vozila</translation>
 <translation id="7236417832106250253"><ph name="PROGRESS_PERCENT" /> % dokončano | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2937,6 +2963,7 @@
 <translation id="8057711352706143257">Programska oprema »<ph name="SOFTWARE_NAME" />« ni pravilno konfigurirana. Običajno težavo odpravite tako, da odstranite programsko opremo »<ph name="SOFTWARE_NAME" />«. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">Pridelava živil</translation>
 <translation id="8058603697124206642">Ni zahtevano</translation>
+<translation id="8063875539456488183">Shranite in spremljajte ceno</translation>
 <translation id="8064892030280197386">preveriti, ali ste to res vi, da bo lahko vnesel podatke za plačilo.</translation>
 <translation id="8066225060526005217">Upravljajo nastavitve piškotkov</translation>
 <translation id="8067872629359326442">Pravkar ste vnesli geslo na zavajajočem spletnem mestu. Chromium lahko pomaga. Če želite spremeniti geslo in obvestiti Google, da je vaš račun morda ogrožen, kliknite »Zaščita računa«.</translation>
@@ -2968,6 +2995,7 @@
 <translation id="810875025413331850">Ni naprav v bližini.</translation>
 <translation id="8116925261070264013">Prezrto</translation>
 <translation id="8118489163946903409">Plačilno sredstvo</translation>
+<translation id="8118506371121007279">Pošiljanje povratnih informacij</translation>
 <translation id="8123046743443732598">Namizni računalniki</translation>
 <translation id="8126056688005753476">Pustolovska potovanja</translation>
 <translation id="8127301229239896662">Programska oprema »<ph name="SOFTWARE_NAME" />« ni bila pravilno nameščena v računalniku ali omrežju. Obrnite se na skrbnika za IT glede odpravljanja te težave.</translation>
@@ -3069,6 +3097,7 @@
 <translation id="8378714024927312812">Upravlja vaša organizacija</translation>
 <translation id="8380941800586852976">Nevarno</translation>
 <translation id="8381674639488873545">Te bremenitve so lahko enkratne ali ponavljajoče se in morda niso očitne. <ph name="BEGIN_LINK" />Vseeno pokaži<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">Običajno <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">Deljenje iz vira <ph name="ORIGIN_NAME" /> v navidezni računalnik <ph name="VM_NAME" /> je blokiral pravilnik skrbnika.</translation>
 <translation id="8396522675989118466">To je <ph name="NUMBER_OF_DIGITS" />-mestna koda na strani: <ph name="SIDE_OF_CARD" /></translation>
 <translation id="8398335999901363925">Plačilna sredstva, ki jih je mogoče izpolniti z dotikom, odprta pri polni višini.</translation>
@@ -3130,6 +3159,7 @@
 <translation id="8542014550340843547">Trojno spenjanje spodaj</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784"><ph name="BEGIN_ERROR_LINK" />Prijavite lahko težavo z zaznavanjem<ph name="END_ERROR_LINK" />, če razumete varnostna tveganja, pa lahko <ph name="BEGIN_LINK" />obiščete to spletno mesto, ki ni varno<ph name="END_LINK" />.</translation>
+<translation id="854548366864113872">Možnost z visoko ceno</translation>
 <translation id="8546350655047701518">Izvoz dnevnikov z datoteko JSON</translation>
 <translation id="854892890027593466">Kuverta C6/C5</translation>
 <translation id="8553387990086529628">Turistične destinacije</translation>
@@ -3143,6 +3173,7 @@
 <translation id="8564182942834072828">Ločeni dokumenti/nezbrane kopije</translation>
 <translation id="8564985650692024650">Chromium priporoča, da ponastavite geslo za <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" />, če ste ga uporabljali tudi na drugih spletnih mestih.</translation>
 <translation id="8576310925653847813">Sistemi za domači kino</translation>
+<translation id="8577192028579836704">Vse možnosti običajno stanejo <ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">Virtualna kartica ni na voljo</translation>
 <translation id="858637041960032120">Dodajte tel. št. </translation>
 <translation id="8589998999637048520">Najboljša kakovost</translation>
diff --git a/components/strings/components_strings_sq.xtb b/components/strings/components_strings_sq.xtb
index 4cd3f474..318cf3e 100644
--- a/components/strings/components_strings_sq.xtb
+++ b/components/strings/components_strings_sq.xtb
@@ -265,6 +265,7 @@
 
           &lt;p&gt;Rregullo datën dhe orën nga seksioni &lt;strong&gt;Të përgjithshme&lt;/strong&gt; i aplikacionit &lt;strong&gt;Cilësimet&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Administratori yt do ta rinisë pajisjen në orën <ph name="TIME" /> më <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Asnjë tekst nuk është konvertuar nga imazhet</translation>
 <translation id="156703335097561114">Informacioni i rrjetit, si p.sh. adresat, konfigurimi i ndërfaqes dhe cilësia e lidhjes</translation>
 <translation id="1567040042588613346">Kjo politikë funksionon sipas parashikimit, por diku është caktuar e njëjta vlerë dhe ajo është zëvendësuar nga kjo politikë.</translation>
 <translation id="1567405528131216114">Shto <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Shto një email</translation>
 <translation id="3897092660631435901">Menyja</translation>
 <translation id="3901925938762663762">Karta ka skaduar</translation>
+<translation id="3906095212874392000">Fundi i tekstit të konvertuar</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Mund të ndërrosh mendje në çdo kohë te cilësimet e Chrome</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Stivuesi 5</translation>
 <translation id="4331708818696583467">Jo e sigurt</translation>
 <translation id="4333561522337981382">Të menaxhojë dritaret në të gjitha ekranet e tua</translation>
+<translation id="4338709847516294988">Shtyp "Kërko" + M dhe konvertoje imazhin në tekst në menynë kontekstuale</translation>
 <translation id="4340575312453649552">Kjo reklamë përdorte shumë burime për pajisjen tënde, prandaj Chrome e hoqi.</translation>
 <translation id="4340982228985273705">Ky kompjuter nuk është zbuluar si i menaxhuar nga ndërmarrja, prandaj politika mund të instalojë automatikisht vetëm shtesat e strehuara në "Dyqanin e uebit të Chrome". URL-ja e përditësimit të "Dyqanit të uebit të Chrome" është "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Lidhja me <ph name="SITE" /> nuk është e sigurt</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Sapo fute fjalëkalimin tënd në një sajt mashtrues. Chrome mund të të ndihmojë. Për të ndryshuar fjalëkalimin dhe për të njoftuar Google se llogaria jote mund të jetë në rrezik, kliko te "Mbroje llogarinë".</translation>
 <translation id="4363222835916186793">Sinjalizimet për këtë produkt janë çaktivizuar</translation>
 <translation id="437040971055499437">Ndodh ngjarje sigurie</translation>
+<translation id="4371307856413138486">Fillimi i tekstit të konvertuar</translation>
 <translation id="4371591986692297148">Joaktiv</translation>
 <translation id="4372948949327679948">Pritet një vlerë <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Shtoje përsëri një artikull nëse e dëshiron atë në grupin e temave nga të cilat mund të zgjedhë Chrome kur vlerëson interesat e tu</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Mbyll</translation>
 <translation id="6041777658117377052">Temperatura e dhomës</translation>
 <translation id="6042308850641462728">Më shumë</translation>
+<translation id="6042688167654081154">Imazhi u konvertua në tekst</translation>
 <translation id="6044573915096792553">Madhësia 12</translation>
 <translation id="6045164183059402045">Shablloni i vendosjes</translation>
 <translation id="6047233362582046994">Nëse i kupton rreziqet për sigurinë tënde, mund <ph name="BEGIN_LINK" />ta vizitosh këtë sajt<ph name="END_LINK" /> para se të jenë hequr aplikacionet e dëmshme.</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">Gjeologjia</translation>
 <translation id="6196640612572343990">Blloko kukit e palëve të treta</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Imazhi po analizohet</translation>
 <translation id="6203231073485539293">Kontrollo lidhjen e internetit.</translation>
 <translation id="6205314730813004066">Privatësia e reklamave</translation>
 <translation id="6212314149070368045">Palosje fizarmonikë (SHBA)</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index 45576bf6..9d625ce 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -267,6 +267,7 @@
 
       &lt;p&gt;Prilagodite datum i vreme u odeljku &lt;strong&gt;Opšte&lt;/strong&gt; u aplikaciji &lt;strong&gt;Podešavanja&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Administrator će restartovati uređaj u <ph name="TIME" /> <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Tekst nije konvertovan iz slika</translation>
 <translation id="156703335097561114">Informacije o mrežama poput adresa, konfiguracije interfejsa i kvaliteta veze</translation>
 <translation id="1567040042588613346">Ove smernice rade kao što je predviđeno, ali ista vrednost je podešena na drugom mestu i zamenjuju je ove smernice.</translation>
 <translation id="1567405528131216114">Dodaj <ph name="TOPIC" /></translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">Dodajte imejl</translation>
 <translation id="3897092660631435901">Meni</translation>
 <translation id="3901925938762663762">Kartica je istekla</translation>
+<translation id="3906095212874392000">Kraj konvertovanog teksta</translation>
 <translation id="3906954721959377182">Tablet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Možete da se predomislite u svakom trenutku u podešavanjima Chrome-a</translation>
@@ -1409,6 +1411,7 @@
 <translation id="4331519897422864041">5. pregrada za slaganje</translation>
 <translation id="4331708818696583467">Nije bezbedan</translation>
 <translation id="4333561522337981382">Upravljajte prozorima na svim ekranima</translation>
+<translation id="4338709847516294988">Pritisnite taster za pretragu i m da biste konvertovali sliku u tekst u kontekstualnom meniju</translation>
 <translation id="4340575312453649552">Ovaj oglas je koristio previše resursa za uređaj, pa ga je Chrome uklonio.</translation>
 <translation id="4340982228985273705">Otkriveno je da ovim računarom ne upravlja preduzeće, pa smernice mogu automatski da instaliraju samo dodatke koji se hostuju u Chrome veb-prodavnici. URL ažuriranja u Chrome veb-prodavnici je „<ph name="CWS_UPDATE_URL" />“.</translation>
 <translation id="4348834659292907206">Veza sa sajtom <ph name="SITE" /> nije bezbedna</translation>
@@ -1424,6 +1427,7 @@
 <translation id="4359160567981085931">Upravo ste uneli lozinku na obmanjujućem sajtu. Chrome može da vam pomogne. Da biste promenili lozinku i obavestili Google da je nalog možda ugrožen, kliknite na Zaštiti nalog.</translation>
 <translation id="4363222835916186793">Obaveštenja za ovaj proizvod su isključena</translation>
 <translation id="437040971055499437">Bezbednosni događaj se dešava</translation>
+<translation id="4371307856413138486">Početak konvertovanog teksta</translation>
 <translation id="4371591986692297148">Neaktivno</translation>
 <translation id="4372948949327679948">Očekivana vrednost je <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Ponovo dodajte stavku ako želite da bude u grupi tema koje Chrome može da izabere pri proceni interesovanja</translation>
@@ -2103,6 +2107,7 @@
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6041777658117377052">Temperatura komore</translation>
 <translation id="6042308850641462728">Još</translation>
+<translation id="6042688167654081154">Slika je konvertovana u tekst</translation>
 <translation id="6044573915096792553">Veličina 12</translation>
 <translation id="6045164183059402045">Šablon rasporeda stranice</translation>
 <translation id="6047233362582046994">Ako razumete bezbednosne rizike, možete da <ph name="BEGIN_LINK" />posetite ovaj sajt<ph name="END_LINK" /> pre nego što uklonimo štetne aplikacije.</translation>
@@ -2164,6 +2169,7 @@
 <translation id="6195371403461054755">Geologija</translation>
 <translation id="6196640612572343990">Blokiraj kolačiće treće strane</translation>
 <translation id="6197648101609735209">89×89 mm</translation>
+<translation id="6200386911308538077">Slika se analizira</translation>
 <translation id="6203231073485539293">Proverite internet vezu</translation>
 <translation id="6205314730813004066">Privatnost sa oglasima</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index dd2816cc..fdaaa6d 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -267,6 +267,7 @@
 
       &lt;p&gt;Прилагодите датум и време у одељку &lt;strong&gt;Опште&lt;/strong&gt; у апликацији &lt;strong&gt;Подешавања&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Администратор ће рестартовати уређај у <ph name="TIME" /> <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Текст није конвертован из слика</translation>
 <translation id="156703335097561114">Информације о мрежама попут адреса, конфигурације интерфејса и квалитета везе</translation>
 <translation id="1567040042588613346">Ове смернице раде као што је предвиђено, али иста вредност је подешена на другом месту и замењују је ове смернице.</translation>
 <translation id="1567405528131216114">Додај <ph name="TOPIC" /></translation>
@@ -1207,6 +1208,7 @@
 <translation id="3890664840433101773">Додајте имејл</translation>
 <translation id="3897092660631435901">Мени</translation>
 <translation id="3901925938762663762">Картица је истекла</translation>
+<translation id="3906095212874392000">Крај конвертованог текста</translation>
 <translation id="3906954721959377182">Таблет</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Можете да се предомислите у сваком тренутку у подешавањима Chrome-а</translation>
@@ -1409,6 +1411,7 @@
 <translation id="4331519897422864041">5. преграда за слагање</translation>
 <translation id="4331708818696583467">Није безбедан</translation>
 <translation id="4333561522337981382">Управљајте прозорима на свим екранима</translation>
+<translation id="4338709847516294988">Притисните тастер за претрагу и m да бисте конвертовали слику у текст у контекстуалном менију</translation>
 <translation id="4340575312453649552">Овај оглас је користио превише ресурса за уређај, па га је Chrome уклонио.</translation>
 <translation id="4340982228985273705">Откривено је да овим рачунаром не управља предузеће, па смернице могу аутоматски да инсталирају само додатке који се хостују у Chrome веб-продавници. URL ажурирања у Chrome веб-продавници је „<ph name="CWS_UPDATE_URL" />“.</translation>
 <translation id="4348834659292907206">Веза са сајтом <ph name="SITE" /> није безбедна</translation>
@@ -1424,6 +1427,7 @@
 <translation id="4359160567981085931">Управо сте унели лозинку на обмањујућем сајту. Chrome може да вам помогне. Да бисте променили лозинку и обавестили Google да је налог можда угрожен, кликните на Заштити налог.</translation>
 <translation id="4363222835916186793">Обавештења за овај производ су искључена</translation>
 <translation id="437040971055499437">Безбедносни догађај се дешава</translation>
+<translation id="4371307856413138486">Почетак конвертованог текста</translation>
 <translation id="4371591986692297148">Неактивно</translation>
 <translation id="4372948949327679948">Очекивана вредност je <ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Поново додајте ставку ако желите да буде у групи тема које Chrome може да изабере при процени интересовања</translation>
@@ -2103,6 +2107,7 @@
 <translation id="6040143037577758943">Затвори</translation>
 <translation id="6041777658117377052">Температура коморе</translation>
 <translation id="6042308850641462728">Још</translation>
+<translation id="6042688167654081154">Слика је конвертована у текст</translation>
 <translation id="6044573915096792553">Величина 12</translation>
 <translation id="6045164183059402045">Шаблон распореда странице</translation>
 <translation id="6047233362582046994">Ако разумете безбедносне ризике, можете да <ph name="BEGIN_LINK" />посетите овај сајт<ph name="END_LINK" /> пре него што уклонимо штетне апликације.</translation>
@@ -2164,6 +2169,7 @@
 <translation id="6195371403461054755">Геологија</translation>
 <translation id="6196640612572343990">Блокирај колачиће треће стране</translation>
 <translation id="6197648101609735209">89×89 mm</translation>
+<translation id="6200386911308538077">Слика се анализира</translation>
 <translation id="6203231073485539293">Проверите интернет везу</translation>
 <translation id="6205314730813004066">Приватност са огласима</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index b855553..134deda 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">Dino-spelet. En pixelerad dinosaurie springer genom ett ödsligt landskap och hoppar över kaktusar och flygödlor. När du hör en ljudsignal trycker du på blanksteg för att hoppa över hinder.</translation>
 <translation id="1374468813861204354">förslag</translation>
 <translation id="1375198122581997741">Om version</translation>
+<translation id="1375293861397106342">Alla alternativ brukar kosta <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">Visa färre</translation>
 <translation id="1380591466760231819">Rullfalsning</translation>
 <translation id="138218114945450791">Ljusblå</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">På den här sidan står det</translation>
 <translation id="1536390784834419204">Översätt sidan</translation>
 <translation id="1539840569003678498">Rapporten skickades:</translation>
+<translation id="1545757265410828525">Prishistorik</translation>
 <translation id="1549470594296187301">JavaScript måste aktiveras för att du ska kunna använda den här funktionen.</translation>
 <translation id="1551884710160394169">Freeware och shareware</translation>
 <translation id="1553358976309200471">Uppdatera Chrome</translation>
@@ -265,6 +267,7 @@
 
       &lt;p&gt;Ändra datumet och tiden under &lt;strong&gt;Allmänt&lt;/strong&gt; i appen &lt;strong&gt;Inställningar&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Administratören startar om enheten kl. <ph name="TIME" /> den <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Ingen text har konverterats från bilder</translation>
 <translation id="156703335097561114">Nätverksinformation som adresser, gränssnittskonfiguration och anslutningskvalitet</translation>
 <translation id="1567040042588613346">Den här principen fungerar som avsett, men den har även ställts in på annan plats med samma värde och detta andra värde ersätts av denna princip.</translation>
 <translation id="1567405528131216114">Lägg till <ph name="TOPIC" /></translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">Det finns inga ämnen att visa just nu</translation>
 <translation id="2021333772895814435">Den här principen inaktiverar automatiskt synkronisering på enheter för: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 x 19 tum</translation>
+<translation id="2022815493835288714">Varning om ny betalningsinställning har öppnats</translation>
 <translation id="2025115093177348061">Förstärkt verklighet</translation>
 <translation id="2025186561304664664">Proxyn är inställd på automatisk konfiguration.</translation>
 <translation id="2025891858974379949">Osäkert innehåll</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">Säkerhetsvarning</translation>
 <translation id="2692131511336778528">Science fiction och fantasy</translation>
 <translation id="2701514975700770343">Framsidan nedåt</translation>
+<translation id="2702592986366989640">Lågprisalternativ</translation>
 <translation id="2702801445560668637">Läslista</translation>
 <translation id="2704283930420550640">Värdet matchar inte formatet.</translation>
 <translation id="2704606927547763573">Kopierat</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">Skapa händelse</translation>
 <translation id="2903493209154104877">Adresser</translation>
 <translation id="290376772003165898">Är sidan inte på <ph name="LANGUAGE" />?</translation>
+<translation id="2905107382358353958">Varning om ny betalningsinställning</translation>
 <translation id="2909946352844186028">En nätverksförändring upptäcktes.</translation>
 <translation id="2911973620368911614">Användar-id för jobbkonto</translation>
 <translation id="2914160345369867329"><ph name="SITE" /> använder normalt kryptering (SSL) för att skydda din information. När Chrome försökte ansluta till <ph name="SITE" /> den här gången skickade webbplatsen tillbaka ovanliga och felaktiga uppgifter. Sådant kan hända när en angripare utger sig för att vara <ph name="SITE" /> eller när anslutningen har avbrutits av en wifi-inloggningsskärm. Din information är fortfarande säker eftersom Chrome avbröt anslutningen innan någon data utbyttes.</translation>
@@ -931,6 +937,7 @@
 <translation id="3256863843508922226">Pensionering och pensionsfrågor</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />: tryck på Tabb och sedan på Retur om du snabbt vill skapa en ny händelse i Google Kalender</translation>
 <translation id="3261488570342242926">Läs mer om virtuella kort</translation>
+<translation id="3262698603497362968">Köpalternativ</translation>
 <translation id="3266367459139339908">Vi lanserar nya sätt att begränsa vilken information webbplatser kan få om dig när de visar anpassade annonser, till exempel:</translation>
 <translation id="3266793032086590337">Värde (konflikt)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Inga webbplatser blockeras, inklusive relaterade webbplatser}=1{1 webbplats blockeras, inklusive relaterade webbplatser}other{# webbplatser blockeras, inklusive relaterade webbplatser}}</translation>
@@ -1115,6 +1122,7 @@
 <translation id="3693327506115126094">Välj hur du vill verifiera din identitet</translation>
 <translation id="3698629142018988477">Knappen Skapa webbplats: aktivera om du snabbt vill skapa en ny webbplats i Google Sites</translation>
 <translation id="3701427423622901115">Återställning bekräftad.</translation>
+<translation id="3701900332588705891">Brukar kosta <ph name="LOW_PRICE" />–<ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">Nätverket du använder kanske kräver att du besöker dess inloggningssida.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> – <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">Läser in...</translation>
@@ -1200,6 +1208,7 @@
 <translation id="3890664840433101773">Lägg till e-post</translation>
 <translation id="3897092660631435901">Meny</translation>
 <translation id="3901925938762663762">Kortet gäller inte längre</translation>
+<translation id="3906095212874392000">Slut på konverterad text</translation>
 <translation id="3906954721959377182">Surfplatta</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Du kan när som helst ändra detta i inställningarna för Chrome</translation>
@@ -1219,6 +1228,7 @@
 <translation id="3949870428812919180">Inga sparade betalningsmetoder</translation>
 <translation id="3950574001630941635">Starta om guiden</translation>
 <translation id="3950820424414687140">Logga in</translation>
+<translation id="3953505489397572035">Det här är normalpris</translation>
 <translation id="3958057596965527988">4 x 4 tum</translation>
 <translation id="3961148744525529027">Arbetsbladet för betalningshantering visas på halva skärmen</translation>
 <translation id="3962859241508114581">Föregående spår</translation>
@@ -1355,6 +1365,7 @@
 <translation id="4250680216510889253">Nej</translation>
 <translation id="4250716950689692560">A4 x 4</translation>
 <translation id="4253168017788158739">Kommentar</translation>
+<translation id="4255487295905690262">Du får aviseringar via e-post om priset sjunker på en webbplats.</translation>
 <translation id="425582637250725228">Ändringar som du har gjort kanske inte sparas.</translation>
 <translation id="4258748452823770588">Felaktig signatur</translation>
 <translation id="4261046003697461417">Det går inte annotera i skyddade dokument</translation>
@@ -1400,6 +1411,7 @@
 <translation id="4331519897422864041">Utmatningsfack 5</translation>
 <translation id="4331708818696583467">Inte säker</translation>
 <translation id="4333561522337981382">Hantera fönster på alla skärmar</translation>
+<translation id="4338709847516294988">Tryck på sök plus m och konvertera bilden till text i snabbmenyn</translation>
 <translation id="4340575312453649552">Den här annonsen använde för många resurser för enheten, så den togs bort i Chrome.</translation>
 <translation id="4340982228985273705">Den här datorn har inte identifierats som företagshanterad, så bara tillägg på Chrome Web Store kan installeras automatiskt med principen. Uppdateringsadressen på Chrome Web Store är <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4348834659292907206">Anslutningen till <ph name="SITE" /> är inte säker</translation>
@@ -1415,6 +1427,7 @@
 <translation id="4359160567981085931">Du angav just ditt lösenord på en bedräglig webbplats. Du kan få hjälp i Chrome. Klicka på Skydda kontot för att ändra ditt lösenord och meddela Google om att kontot kan vara utsatt för fara.</translation>
 <translation id="4363222835916186793">Aviseringar för den här produkten har inaktiverats</translation>
 <translation id="437040971055499437">Säkerhetshändelse inträffar</translation>
+<translation id="4371307856413138486">Början på konverterad text</translation>
 <translation id="4371591986692297148">Inaktiv</translation>
 <translation id="4372948949327679948">Ett <ph name="VALUE_TYPE" />-värde förväntades.</translation>
 <translation id="4375864595697821259">Lägg till ett ämne igen om du vill att det ska ingå i en samling ämnen som Chrome kan välja bland när Chrome gissar dina intressen</translation>
@@ -1439,6 +1452,7 @@
 <translation id="4433642172056592619">Ignoreras eftersom användaren inte är kopplad till datorhanteringen, eller så är det inte en hanterad dator.</translation>
 <translation id="4434045419905280838">Popup-fönster och omdirigeringar</translation>
 <translation id="443673843213245140">Användning av proxy är inaktiverad men en explicit proxykonfiguration har angetts.</translation>
+<translation id="4438821706955556403">Normalt pris</translation>
 <translation id="4441832193888514600">Ignoreras eftersom principen bara kan ställas in som en princip för molnanvändare.</translation>
 <translation id="4449116177348980384">Knappen Hantera webbplatsinställningar: aktivera om du vill hantera behörigheter och data som lagras på olika webbplatser i inställningarna för Chrome</translation>
 <translation id="4451135742916150903">Får begära tillstånd att ansluta till HID-enheter</translation>
@@ -1454,6 +1468,7 @@
 <translation id="4489023393592172404">Kaku 4-kuvert</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">Kryptera synkroniserade lösenord med ditt Google-konto</translation>
+<translation id="4492332866628791879">Spara och bevaka pris</translation>
 <translation id="4492519888999857993">De här funktionerna är inaktiverade som standard. I kommande versioner av Chrome kommer de inte längre att vara tillgängliga.</translation>
 <translation id="4493480324863638523">Ogiltig webbadress. Måste vara en webbadress med ett standardprotokoll, t.ex. http://example.com eller https://example.com.</translation>
 <translation id="4494323206460475851">Du kan se annonsämnen i inställningarna och blockera dem som du inte vill ska delas med webbplatser. Chrome raderar även annonsämnen som är äldre än fyra veckor automatiskt.</translation>
@@ -1593,6 +1608,7 @@
 <translation id="4813512666221746211">Nätverksfel</translation>
 <translation id="4816492930507672669">Anpassa till sida</translation>
 <translation id="4819347708020428563">Vill du redigera kommentarer i standardvyn?</translation>
+<translation id="4822493756793346865">Normalpriset baseras på butiker på webben under de senaste 90 dagarna.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />: tryck på Tabb och sedan på Retur om du snabbt vill skapa ett nytt Google-kalkylark</translation>
 <translation id="4825507807291741242">Kraftfull</translation>
 <translation id="483241715238664915">Aktivera varningar</translation>
@@ -1772,6 +1788,7 @@
 <translation id="523149107733989821">A4 Extra</translation>
 <translation id="5234764350956374838">Stäng</translation>
 <translation id="5238301240406177137">Spara i kontot</translation>
+<translation id="5239119062986868403">Normalt pris</translation>
 <translation id="5239623327352565343">Plats tillåts</translation>
 <translation id="5242889659037569123">Väskor och resetillbehör</translation>
 <translation id="5244521145258281926">Hantera Google-kontot: aktivera om du vill hantera uppgifter, integritet och säkerhet i Google-kontot</translation>
@@ -1841,6 +1858,7 @@
 <translation id="5398772614898833570">Annonser blockeras</translation>
 <translation id="5400836586163650660">Grå</translation>
 <translation id="540969355065856584">Servern kunde inte bevisa att det är <ph name="DOMAIN" />. Dess säkerhetscertifikat är inte giltigt för närvarande. Detta kan bero på en felaktig konfiguration eller att någon kapat din anslutning.</translation>
+<translation id="5411462078004183575">Lågprisalternativ</translation>
 <translation id="5412040515238827314">Ogiltigt format: En lista med mönster förväntas.</translation>
 <translation id="5412236728747081950">Den här webbplatsen hämtar dina intressen från Chrome för att visa mer relevanta annonser för dig</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> – <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2089,6 +2107,7 @@
 <translation id="6040143037577758943">Stäng</translation>
 <translation id="6041777658117377052">Kammartemperatur</translation>
 <translation id="6042308850641462728">Mer</translation>
+<translation id="6042688167654081154">Bilden har konverterats till text</translation>
 <translation id="6044573915096792553">Storlek 12</translation>
 <translation id="6045164183059402045">Utskjutningsmall</translation>
 <translation id="6047233362582046994">Om du är medveten om säkerhetsriskerna kan du <ph name="BEGIN_LINK" />besöka webbplatsen<ph name="END_LINK" /> innan de skadliga apparna har tagits bort.</translation>
@@ -2141,6 +2160,7 @@
 <translation id="6167577165590485365">Senaste hämtningsförsök:</translation>
 <translation id="6169916984152623906">Nu kan du surfa privat. Din aktivitet visas inte för andra som använder enheten, men nedladdningar och bokmärken sparas.</translation>
 <translation id="617256461084925519">Google Chrome försöker verifiera din identitet för att fylla i dina betalningsuppgifter.</translation>
+<translation id="6176387967264100435">Det här priset är högt</translation>
 <translation id="6177128806592000436">Anslutningen till webbplatsen är inte säker</translation>
 <translation id="6177531123306197852">C2-kuvert</translation>
 <translation id="6180316780098470077">Intervall för nytt försök</translation>
@@ -2150,6 +2170,7 @@
 <translation id="6195371403461054755">Geologi</translation>
 <translation id="6196640612572343990">Blockera cookies från tredje part</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Bilden analyseras</translation>
 <translation id="6203231073485539293">Kontrollera internetanslutningen</translation>
 <translation id="6205314730813004066">Annonsintegritet</translation>
 <translation id="6212314149070368045">Amerikansk Fanfold</translation>
@@ -2276,6 +2297,7 @@
 <translation id="6494750904506170417">popup-fönster och omdirigeringar</translation>
 <translation id="6497295192259406877">Affärsverksamhet</translation>
 <translation id="6499038740797743453">Vill du återställa lösenordet?</translation>
+<translation id="6502510275417601303">Varning om ny betalningsinställning har stängts</translation>
 <translation id="6502626736864595182">Forum- och chattleverantörer</translation>
 <translation id="6502991525169604759">Utan dina ändringar</translation>
 <translation id="6506959208958864820">Kuvert</translation>
@@ -2335,6 +2357,7 @@
 <translation id="6651270836885078973">Hanteras av:</translation>
 <translation id="6652101503459149953">Använd Windows Hello</translation>
 <translation id="6657585470893396449">Lösenord</translation>
+<translation id="6659246032834639189">Det här priset är lågt</translation>
 <translation id="6660413144148052430">plats</translation>
 <translation id="6662457027866368246">Första rullen</translation>
 <translation id="666259744093848177">(x86_64, översatt)</translation>
@@ -2417,6 +2440,7 @@
 <translation id="6869334554832814367">Privatlån</translation>
 <translation id="6873456682041376666">Övre fack</translation>
 <translation id="6874604403660855544">&amp;Gör om Lägg till</translation>
+<translation id="6880941331070119097">Högprisalternativ</translation>
 <translation id="6881240511396774766">Skapa snabbt ett nytt Google-dokument</translation>
 <translation id="6883221904761970440">Ett arbetsblad för autentisering av användaruppgifter för säker betalning har stängts</translation>
 <translation id="6884662655240309489">Storlek 1</translation>
@@ -2565,11 +2589,13 @@
 <translation id="7210863904660874423"><ph name="HOST_NAME" /> följer inte säkerhetsstandarderna.</translation>
 <translation id="7210993021468939304">Linux-aktivitet i behållaren och kan installera och köra Linux-appar i behållaren</translation>
 <translation id="721197778055552897"><ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /> om problemet.</translation>
+<translation id="7213191991901907140">Berätta om dina erfarenheter</translation>
 <translation id="7217745192097460130">Vill du verifiera och slutföra köpet med Touch ID?</translation>
 <translation id="7219179957768738017">För anslutningen används <ph name="SSL_VERSION" />.</translation>
 <translation id="7220786058474068424">Bearbetning pågår</translation>
 <translation id="7221855153210829124">Visa aviseringar</translation>
 <translation id="722454870747268814">Ny inkognitoflik</translation>
+<translation id="7227293336683593977">Prishistorik</translation>
 <translation id="7233592378249864828">Skriva ut bekräftelseark</translation>
 <translation id="7234638337680728591">Bensinpriser och fordonsbränsle</translation>
 <translation id="7236417832106250253"><ph name="PROGRESS_PERCENT" /> % slutförd | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2937,6 +2963,7 @@
 <translation id="8057711352706143257"><ph name="SOFTWARE_NAME" /> har inte konfigurerats korrekt. Ofta hjälper det att avinstallera <ph name="SOFTWARE_NAME" />. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">Livsmedelsproduktion</translation>
 <translation id="8058603697124206642">Krävs ej</translation>
+<translation id="8063875539456488183">Spara och bevaka pris</translation>
 <translation id="8064892030280197386">verifiera din identitet för att fylla i dina betalningsuppgifter.</translation>
 <translation id="8066225060526005217">Hanteras av cookie-inställningarna</translation>
 <translation id="8067872629359326442">Du angav just ditt lösenord på en bedräglig webbplats. Du kan få hjälp i Chromium. Klicka på Skydda kontot för att ändra ditt lösenord och meddela Google om att kontot kan vara utsatt för fara.</translation>
@@ -2968,6 +2995,7 @@
 <translation id="810875025413331850">Inga enheter i närheten hittades.</translation>
 <translation id="8116925261070264013">Ljudet avstängt</translation>
 <translation id="8118489163946903409">Betalningsmetod</translation>
+<translation id="8118506371121007279">Ge feedback</translation>
 <translation id="8123046743443732598">Stationära datorer</translation>
 <translation id="8126056688005753476">Äventyrsresor</translation>
 <translation id="8127301229239896662"><ph name="SOFTWARE_NAME" /> har inte installerats korrekt på datorn eller nätverket. Be IT-administratören om hjälp med problemet.</translation>
@@ -3069,6 +3097,7 @@
 <translation id="8378714024927312812">Hanteras av organisationen</translation>
 <translation id="8380941800586852976">Farlig</translation>
 <translation id="8381674639488873545">Debiteringen kan göras en gång eller återkommande och det behöver inte framgå tydligt att detta händer. <ph name="BEGIN_LINK" />Visa ändå<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">Brukar kosta <ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">Möjligheten att dela från <ph name="ORIGIN_NAME" /> till <ph name="VM_NAME" /> har blockerats av administratörspolicyn</translation>
 <translation id="8396522675989118466">Det här är den <ph name="NUMBER_OF_DIGITS" />-siffriga koden på <ph name="SIDE_OF_CARD" /></translation>
 <translation id="8398335999901363925">De tillgängliga betalningsmetoderna som kan fyllas i med ett tryck har öppnats över hela skärmen.</translation>
@@ -3130,6 +3159,7 @@
 <translation id="8542014550340843547">Tre häftklamrar längst ned</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">Du kan <ph name="BEGIN_ERROR_LINK" />rapportera ett identifieringsproblem<ph name="END_ERROR_LINK" /> eller <ph name="BEGIN_LINK" />besöka den här osäkra webbplatsen<ph name="END_LINK" /> om du är medveten om säkerhetsriskerna.</translation>
+<translation id="854548366864113872">Högprisalternativ</translation>
 <translation id="8546350655047701518">Exportera loggar till JSON</translation>
 <translation id="854892890027593466">C6/C5-kuvert</translation>
 <translation id="8553387990086529628">Turistorter</translation>
@@ -3143,6 +3173,7 @@
 <translation id="8564182942834072828">Separata dokument/kopior grupperade per sida</translation>
 <translation id="8564985650692024650">Du rekommenderas att återställa lösenordet för <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" /> om du har återanvänt det på andra webbplatser.</translation>
 <translation id="8576310925653847813">Hemmabiosystem</translation>
+<translation id="8577192028579836704">Alla alternativ brukar kosta <ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">Virtuella kort är inte tillgängliga</translation>
 <translation id="858637041960032120">Ange telefonnr
 </translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index 67336de3..eb690db 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;โปรดปรับวันที่และเวลาจากหัวข้อ&lt;strong&gt;ทั่วไป&lt;/strong&gt;ในแอป&lt;strong&gt;การตั้งค่า&lt;/strong&gt;&lt;/p&gt;</translation>
 <translation id="1559839503761818503">ผู้ดูแลระบบจะรีสตาร์ทอุปกรณ์ในวันที่ <ph name="DATE" /> เวลา <ph name="TIME" /></translation>
+<translation id="1564753300777780201">ไม่มีข้อความที่แปลงจากรูปภาพ</translation>
 <translation id="156703335097561114">ข้อมูลการเชื่อมต่อเครือข่าย เช่น ที่อยู่ การกำหนดค่าอินเทอร์เฟซ และคุณภาพการเชื่อมต่อ</translation>
 <translation id="1567040042588613346">นโยบายนี้ทำงานตามที่ควรจะเป็นแต่มีการตั้งค่าเดียวกันไว้ที่อื่นและถูกแทนที่โดยนโยบายนี้</translation>
 <translation id="1567405528131216114">เพิ่ม <ph name="TOPIC" /></translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">เพิ่มอีเมล</translation>
 <translation id="3897092660631435901">เมนู</translation>
 <translation id="3901925938762663762">บัตรหมดอายุ</translation>
+<translation id="3906095212874392000">สิ้นสุดข้อความที่แปลง</translation>
 <translation id="3906954721959377182">แท็บเล็ต</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">คุณเปลี่ยนใจได้ทุกเมื่อในการตั้งค่า Chrome</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">สแต็กเกอร์ 5</translation>
 <translation id="4331708818696583467">ไม่ปลอดภัย</translation>
 <translation id="4333561522337981382">จัดการหน้าต่างบนจอแสดงผลทั้งหมดของคุณ</translation>
+<translation id="4338709847516294988">กดค้นหา + m และแปลงรูปภาพเป็นข้อความในเมนูตามบริบท</translation>
 <translation id="4340575312453649552">โฆษณานี้ใช้ทรัพยากรมากเกินไปสำหรับอุปกรณ์ของคุณ Chrome จึงนำโฆษณานี้ออก</translation>
 <translation id="4340982228985273705">ไม่มีการตรวจพบว่าคอมพิวเตอร์เครื่องนี้ได้รับการจัดการโดยองค์กร ดังนั้นนโยบายจะติดตั้งเฉพาะส่วนขยายที่โฮสต์ใน Chrome เว็บสโตร์โดยอัตโนมัติ URL การอัปเดตของ Chrome เว็บสโตร์คือ "<ph name="CWS_UPDATE_URL" />"</translation>
 <translation id="4348834659292907206">การเชื่อมต่อกับ <ph name="SITE" /> ไม่ปลอดภัย</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">คุณเพิ่งใส่รหัสผ่านในเว็บไซต์ที่มีการหลอกลวง Chrome ช่วยได้ หากต้องการเปลี่ยนรหัสผ่านและแจ้งให้ Google ทราบว่าบัญชีของคุณอาจมีความเสี่ยง ให้คลิก "ปกป้องบัญชี"</translation>
 <translation id="4363222835916186793">ปิดการแจ้งเตือนสำหรับผลิตภัณฑ์นี้แล้ว</translation>
 <translation id="437040971055499437">มีการดำเนินการด้านความปลอดภัย</translation>
+<translation id="4371307856413138486">เริ่มต้นข้อความที่แปลง</translation>
 <translation id="4371591986692297148">ไม่ได้ใช้งาน</translation>
 <translation id="4372948949327679948">ค่า <ph name="VALUE_TYPE" /> ที่คาดไว้</translation>
 <translation id="4375864595697821259">เพิ่มรายการกลับหากต้องการรวมไว้ในกลุ่มหัวข้อที่ Chrome สามารถเลือกได้เมื่อประเมินความสนใจ</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">ปิด</translation>
 <translation id="6041777658117377052">อุณหภูมิตู้</translation>
 <translation id="6042308850641462728">แสดงเพิ่ม</translation>
+<translation id="6042688167654081154">แปลงรูปภาพเป็นข้อความแล้ว</translation>
 <translation id="6044573915096792553">ขนาด 12</translation>
 <translation id="6045164183059402045">เทมเพลตการจัดเรียงหน้าก่อนพิมพ์</translation>
 <translation id="6047233362582046994">หากคุณเข้าใจความเสี่ยงต่อความปลอดภัย คุณสามารถ<ph name="BEGIN_LINK" />ไปยังไซต์นี้<ph name="END_LINK" />ก่อนที่จะมีการนำแอปอันตรายออก</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">ธรณีวิทยา</translation>
 <translation id="6196640612572343990">บล็อกคุกกี้ของบุคคลที่สาม</translation>
 <translation id="6197648101609735209">89 x 89 มม.</translation>
+<translation id="6200386911308538077">กําลังวิเคราะห์รูปภาพ</translation>
 <translation id="6203231073485539293">ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต</translation>
 <translation id="6205314730813004066">ความเป็นส่วนตัวเกี่ยวกับโฆษณา</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index 1677592e..04a5bf1 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -266,6 +266,7 @@
 
       &lt;p&gt;براہ کرم تاریخ اور وقت کو &lt;strong&gt;ترتیبات&lt;‎/strong&gt; ایپ کے &lt;strong&gt;عمومی&lt;‎/strong&gt; سیکشن سے ایڈجسٹ کریں۔&lt;‎/p&gt;</translation>
 <translation id="1559839503761818503"><ph name="DATE" /> کو <ph name="TIME" /> پر آپ کا منتظم آپ کے آلے کو ری سٹارٹ کرے گا</translation>
+<translation id="1564753300777780201">تصاویر سے کوئی ٹیکسٹ تبدیل نہیں ہوا</translation>
 <translation id="156703335097561114">نیٹ ورکنگ معلومات جیسے پتے، انٹرفیس کنفیگریشن اور کنکشن کا معیار</translation>
 <translation id="1567040042588613346">یہ پالیسی توقع کے مطابق کام کر رہی ہے لیکن کسی دوسری جگہ ایک جیسی قدر سیٹ کی گئی ہے اور اس نے اس پالیسی کی جگہ لے لی ہے۔</translation>
 <translation id="1567405528131216114"><ph name="TOPIC" /> کو شامل کریں</translation>
@@ -1202,6 +1203,7 @@
 <translation id="3890664840433101773">ای میل شامل کریں</translation>
 <translation id="3897092660631435901">مینیو</translation>
 <translation id="3901925938762663762">اس کارڈ کی میعاد ختم ہو گئی ہے</translation>
+<translation id="3906095212874392000">تبدیل شدہ ٹیکسٹ کا اختتام</translation>
 <translation id="3906954721959377182">ٹیبلیٹ</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">‏آپ Chrome کی ترتیبات میں کسی بھی وقت اپنا ارادہ بدل سکتے ہیں</translation>
@@ -1402,6 +1404,7 @@
 <translation id="4331519897422864041">اسٹیکر 5</translation>
 <translation id="4331708818696583467">محفوظ نہیں</translation>
 <translation id="4333561522337981382">اپنے سبھی ڈسپلیز پر ونڈوز کا نظم کریں</translation>
+<translation id="4338709847516294988">‏تلاش کے ساتھ m دبائیں اور سیاق و سباق کے مینو میں تصویر کو ٹیکسٹ میں تبدیل کریں</translation>
 <translation id="4340575312453649552">‏اس اشتہار نے آپ کے آلہ کے لیے بہت سے وسائل کا استعمال کیا، لہذا Chrome نے اسے ہٹا دیا ہے۔</translation>
 <translation id="4340982228985273705">‏اس کمپیوٹر کا انٹرپرائز کے زیر انتظام کے طور پر پتہ نہیں چلا ہے، اسلئے پالیسی خودکار طور پر صرف Chrome ویب اسٹور پر میزبانی کردہ ایکسٹینشنز انسٹال کر سکتی ہے۔ Chrome ویب اسٹور اپ ڈیٹ URL "<ph name="CWS_UPDATE_URL" />" ہے۔</translation>
 <translation id="4348834659292907206"><ph name="SITE" /> سے کنکشن محفوظ نہیں ہے</translation>
@@ -1417,6 +1420,7 @@
 <translation id="4359160567981085931">‏آپ نے ابھی ایک پُرفریب سائٹ پر اپنا پاس ورڈ درج کیا ہے۔ Chrome مدد کر سکتا ہے۔ اپنا پاس ورڈ تبدیل کرنے اور Google کو یہ مطلع کرنے کے لیے کہ آپ کا اکاؤنٹ خطرے میں ہو سکتا ہے، 'اکاؤنٹ کا تحفظ کریں' پر کلک کریں۔</translation>
 <translation id="4363222835916186793">اس پروڈکٹ کے لیے الرٹس کو آف کر دیا گیا ہے</translation>
 <translation id="437040971055499437">سیکیورٹی ایونٹ ہوتا ہے</translation>
+<translation id="4371307856413138486">تبدیل شدہ ٹیکسٹ کا آغاز</translation>
 <translation id="4371591986692297148">غیر فعال ہے</translation>
 <translation id="4372948949327679948">متوقع <ph name="VALUE_TYPE" /> قدر۔</translation>
 <translation id="4375864595697821259">‏اگر آپ آئٹم کے پول میں ایسا آئٹم چاہتے ہیں جسے Chrome آپ کی دلچسپیوں کا اندازہ لگاتے وقت استعمال کرے تو اسے دوبارہ شامل کریں</translation>
@@ -2091,6 +2095,7 @@
 <translation id="6040143037577758943">بند کریں</translation>
 <translation id="6041777658117377052">چمبر کا درجہ حرارت</translation>
 <translation id="6042308850641462728">مزید</translation>
+<translation id="6042688167654081154">تصویر کو ٹیکسٹ میں تبدیل کر دیا گیا</translation>
 <translation id="6044573915096792553">سائز 12</translation>
 <translation id="6045164183059402045">نفاذ کی تمثیل</translation>
 <translation id="6047233362582046994">اگر آپ اپنی سیکیورٹی کے خطرات کو سمجھتے ہیں تو آپ نقصان دہ ایپس کو ہٹائے جانے سے پہلے <ph name="BEGIN_LINK" />یہ سائٹ ملاحظہ<ph name="END_LINK" /> کر سکتے ہیں۔</translation>
@@ -2153,6 +2158,7 @@
 <translation id="6195371403461054755">ارضیات</translation>
 <translation id="6196640612572343990">فریق ثالث کوکیز کو مسدود کریں</translation>
 <translation id="6197648101609735209">‏‎89 x 89 ملی میٹر</translation>
+<translation id="6200386911308538077">تصویر کا تجزیہ کیا جا رہا ہے</translation>
 <translation id="6203231073485539293">اپنا انٹرنیٹ کنکشن چیک کریں</translation>
 <translation id="6205314730813004066">اشتہارات کی رازداری</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
@@ -2271,6 +2277,7 @@
 <translation id="6468485451923838994">فونٹس</translation>
 <translation id="647261751007945333">آلے کی پالیسیاں</translation>
 <translation id="647330291963761005">اپ ڈیٹس انسٹال ہو رہی ہیں</translation>
+<translation id="6474220430271405609">پالیسی ٹیسٹس</translation>
 <translation id="6475672344094591109">‏آپ کی ملاحظہ کی جانے والی سائٹس Chrome سے معلومات طلب کر سکتی ہیں جو انہیں اپنے اشتہارات کی کارکردگی کی پیمائش میں مدد کرتی ہے۔ Chrome ان معلومات کو محدود کر کے آپ کی رازداری کی حفاظت کرتا ہے جن کا سائٹس ایک دوسرے کے ساتھ اشتراک کر سکتی ہیں۔</translation>
 <translation id="6476284679642588870">ادائیگی کے طریقوں کا نظم کریں</translation>
 <translation id="6486200200930923183">دستاویزی فلمیں</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index 38c89c1..8d76d4e 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;Hãy điều chỉnh ngày và giờ từ phần &lt;strong&gt;Chung&lt;/strong&gt; của ứng dụng &lt;strong&gt;Cài đặt&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Quản trị viên của bạn sẽ khởi động lại thiết bị của bạn vào <ph name="TIME" /> <ph name="DATE" /></translation>
+<translation id="1564753300777780201">Không có văn bản nào được chuyển đổi từ hình ảnh</translation>
 <translation id="156703335097561114">Thông tin nối mạng như địa chỉ, cấu hình giao diện và chất lượng kết nối</translation>
 <translation id="1567040042588613346">Chính sách này đang hoạt động như dự kiến nhưng lại thay thế cho cùng một giá trị được đặt trong một nguồn khác.</translation>
 <translation id="1567405528131216114">Thêm <ph name="TOPIC" /></translation>
@@ -1200,6 +1201,7 @@
 <translation id="3890664840433101773">Thêm email</translation>
 <translation id="3897092660631435901">Menu</translation>
 <translation id="3901925938762663762">Thẻ đã hết hạn</translation>
+<translation id="3906095212874392000">Kết thúc phần văn bản đã chuyển đổi</translation>
 <translation id="3906954721959377182">Máy tính bảng</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Bạn có thể thay đổi quyết định bất cứ lúc nào trong phần cài đặt Chrome</translation>
@@ -1400,6 +1402,7 @@
 <translation id="4331519897422864041">Khay xếp chồng 5</translation>
 <translation id="4331708818696583467">Không bảo mật</translation>
 <translation id="4333561522337981382">Quản lý các cửa sổ trên tất cả màn hình của bạn</translation>
+<translation id="4338709847516294988">Nhấn tìm kiếm + m và chuyển đổi hình ảnh thành văn bản trong trình đơn theo bối cảnh</translation>
 <translation id="4340575312453649552">Chrome đã xóa quảng cáo này vì quảng cáo sử dụng quá nhiều tài nguyên của thiết bị.</translation>
 <translation id="4340982228985273705">Máy tính này không được coi là máy tính do doanh nghiệp quản lý, vì vậy, chính sách này chỉ có thể tự động cài đặt các tiện ích được lưu trữ trên Cửa hàng Chrome trực tuyến. URL cập nhật Cửa hàng Chrome trực tuyến là "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Kết nối đến <ph name="SITE" /> không an toàn</translation>
@@ -1415,6 +1418,7 @@
 <translation id="4359160567981085931">Bạn vừa nhập mật khẩu vào một trang web lừa đảo. Chrome có thể trợ giúp bạn. Để đổi mật khẩu và thông báo cho Google biết rằng tài khoản của bạn có thể gặp nguy hiểm, hãy nhấp vào Bảo vệ tài khoản.</translation>
 <translation id="4363222835916186793">Đã tắt thông báo về sản phẩm này</translation>
 <translation id="437040971055499437">Xảy ra sự kiện bảo mật</translation>
+<translation id="4371307856413138486">Bắt đầu phần văn bản đã chuyển đổi</translation>
 <translation id="4371591986692297148">Không hoạt động</translation>
 <translation id="4372948949327679948">Giá trị <ph name="VALUE_TYPE" /> mong đợi.</translation>
 <translation id="4375864595697821259">Thêm lại một chủ đề nếu bạn muốn đưa chủ đề đó vào nhóm chủ đề mà Chrome có thể lựa chọn khi ước đoán mối quan tâm của bạn</translation>
@@ -2089,6 +2093,7 @@
 <translation id="6040143037577758943">Đóng</translation>
 <translation id="6041777658117377052">Nhiệt độ buồng</translation>
 <translation id="6042308850641462728">Xem thêm</translation>
+<translation id="6042688167654081154">Đã chuyển đổi hình ảnh thành văn bản</translation>
 <translation id="6044573915096792553">Kích thước 12</translation>
 <translation id="6045164183059402045">Mẫu áp dụng</translation>
 <translation id="6047233362582046994">Nếu bạn hiểu các rủi ro về bảo mật, bạn có thể <ph name="BEGIN_LINK" />truy cập trang này<ph name="END_LINK" /> trước khi các ứng dụng có hại bị xóa.</translation>
@@ -2150,6 +2155,7 @@
 <translation id="6195371403461054755">Địa chất học</translation>
 <translation id="6196640612572343990">Chặn cookie của bên thứ ba</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
+<translation id="6200386911308538077">Hình ảnh đang được phân tích</translation>
 <translation id="6203231073485539293">Kiểm tra kết nối Internet của bạn</translation>
 <translation id="6205314730813004066">Quyền riêng tư trong quảng cáo</translation>
 <translation id="6212314149070368045">Fanfold Hoa Kỳ</translation>
@@ -2268,6 +2274,7 @@
 <translation id="6468485451923838994">Phông chữ</translation>
 <translation id="647261751007945333">Chính sách thiết bị</translation>
 <translation id="647330291963761005">Đang cài đặt bản cập nhật</translation>
+<translation id="6474220430271405609">Kiểm thử chính sách</translation>
 <translation id="6475672344094591109">Các trang web bạn truy cập có thể yêu cầu Chrome cung cấp thông tin giúp đo lường hiệu suất quảng cáo của những trang web đó. Chrome bảo vệ quyền riêng tư của bạn bằng cách giới hạn thông tin các trang web có thể chia sẻ với nhau.</translation>
 <translation id="6476284679642588870">Quản lý phương thức thanh toán</translation>
 <translation id="6486200200930923183">Phim tài liệu</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index a46f1e52..93c0087 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -2269,6 +2269,7 @@
 <translation id="6468485451923838994">字体</translation>
 <translation id="647261751007945333">设备政策</translation>
 <translation id="647330291963761005">正在安装更新</translation>
+<translation id="6474220430271405609">政策测试</translation>
 <translation id="6475672344094591109">您访问的网站可请求 Chrome 提供相关信息,以便衡量各自的广告效果。Chrome 会对网站之间可分享的信息加以限制,以保护您的隐私。</translation>
 <translation id="6476284679642588870">管理付款方式</translation>
 <translation id="6486200200930923183">纪录片</translation>
diff --git a/components/strings/components_strings_zh-HK.xtb b/components/strings/components_strings_zh-HK.xtb
index a785847..966f0b26 100644
--- a/components/strings/components_strings_zh-HK.xtb
+++ b/components/strings/components_strings_zh-HK.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;請在「設定」&lt;strong&gt;&lt;/strong&gt;應用程式中,前往 [一般] &lt;strong&gt;&lt;/strong&gt;並調整日期和時間。&lt;/p&gt;</translation>
 <translation id="1559839503761818503">管理員將在 <ph name="DATE" /><ph name="TIME" /> 重新啟動您的裝置。</translation>
+<translation id="1564753300777780201">沒有從圖片中轉換的文字</translation>
 <translation id="156703335097561114">網絡資料,例如網絡位址、介面設定,以及連線品質</translation>
 <translation id="1567040042588613346">此政策運作正常,但與其他地方設定的值相同,並已取代該值。</translation>
 <translation id="1567405528131216114">加<ph name="TOPIC" /></translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">新增電郵</translation>
 <translation id="3897092660631435901">選單</translation>
 <translation id="3901925938762663762">卡片已過期</translation>
+<translation id="3906095212874392000">轉換文字結尾</translation>
 <translation id="3906954721959377182">平板電腦</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">您可於 Chrome 設定中隨時改變主意</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">堆疊器 5</translation>
 <translation id="4331708818696583467">不安全</translation>
 <translation id="4333561522337981382">在您所有的顯示屏上管理視窗</translation>
+<translation id="4338709847516294988">按下搜尋鍵 + M 鍵,然後點擊內容選單中的「將圖片轉成文字」</translation>
 <translation id="4340575312453649552">此廣告使用了太多裝置資源,因此已被 Chrome 移除。</translation>
 <translation id="4340982228985273705">系統偵測到此電腦並非由企業管理,因此政策只容許自動安裝來自「Chrome 網上應用程式商店」的擴充程式。「Chrome 網上應用程式商店」的更新網址為「<ph name="CWS_UPDATE_URL" />」。</translation>
 <translation id="4348834659292907206">與 <ph name="SITE" /> 的連線並不安全</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">您剛才在欺詐網站上輸入了密碼。Chrome 可以就此提供協助。如需變更密碼或通知 Google 您的帳戶可能面臨風險,請按 [保護帳戶]。</translation>
 <translation id="4363222835916186793">此產品的通知已關閉</translation>
 <translation id="437040971055499437">發生安全性事件</translation>
+<translation id="4371307856413138486">轉換文字開頭</translation>
 <translation id="4371591986692297148">未啟用</translation>
 <translation id="4372948949327679948">預期的「<ph name="VALUE_TYPE" />」值。</translation>
 <translation id="4375864595697821259">您亦可將項目加回清單,作為 Chrome 推測興趣的依據</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6041777658117377052">室內溫度</translation>
 <translation id="6042308850641462728">更多選項</translation>
+<translation id="6042688167654081154">圖片已轉成文字</translation>
 <translation id="6044573915096792553">粗幼:12</translation>
 <translation id="6045164183059402045">拼版範本</translation>
 <translation id="6047233362582046994">如果您瞭解安全性風險,也可以選擇在有害應用程式尚未移除的狀態下<ph name="BEGIN_LINK" />瀏覽這個網站<ph name="END_LINK" />。</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">地質學</translation>
 <translation id="6196640612572343990">封鎖第三方 Cookie</translation>
 <translation id="6197648101609735209">89 x 89 毫米</translation>
+<translation id="6200386911308538077">正在分析圖片</translation>
 <translation id="6203231073485539293">檢查互聯網連線</translation>
 <translation id="6205314730813004066">廣告私隱權</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 3776174..780854f 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -265,6 +265,7 @@
 
       &lt;p&gt;請前往「設定」應用程式的「一般設定」專區調整日期和時間。&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;</translation>
 <translation id="1559839503761818503">系統管理員將在 <ph name="DATE" /><ph name="TIME" /> 重新啟動你的裝置。</translation>
+<translation id="1564753300777780201">沒有從圖片中轉換的文字</translation>
 <translation id="156703335097561114">包括位址、介面設定和連線品質等網路資訊</translation>
 <translation id="1567040042588613346">這項政策運作正常,但與其他地方設定的值相同,並已取代該值。</translation>
 <translation id="1567405528131216114">新增「<ph name="TOPIC" />」</translation>
@@ -1199,6 +1200,7 @@
 <translation id="3890664840433101773">新增電子郵件地址</translation>
 <translation id="3897092660631435901">選單</translation>
 <translation id="3901925938762663762">這張信用卡已過期</translation>
+<translation id="3906095212874392000">轉換文字結尾</translation>
 <translation id="3906954721959377182">平板電腦</translation>
 <translation id="3909695131102177774"><ph name="LABEL" />:<ph name="ERROR" /></translation>
 <translation id="3911401144270344103">你隨時可以在 Chrome 設定中變更這個選項</translation>
@@ -1399,6 +1401,7 @@
 <translation id="4331519897422864041">堆疊出紙器 5</translation>
 <translation id="4331708818696583467">不安全</translation>
 <translation id="4333561522337981382">管理所有螢幕上的視窗</translation>
+<translation id="4338709847516294988">按下搜尋鍵 + m 鍵,接著點選內容選單中的「將圖片轉成文字」</translation>
 <translation id="4340575312453649552">這個廣告使用了太多裝置資源,因此 Chrome 已將其移除。</translation>
 <translation id="4340982228985273705">系統偵測結果顯示這台電腦未受企業管理,因此政策只能自動安裝透過 Chrome 線上應用程式商店代管的擴充功能。Chrome 線上應用程式商店更新網址為「<ph name="CWS_UPDATE_URL" />」。</translation>
 <translation id="4348834659292907206">與 <ph name="SITE" /> 的連線並不安全</translation>
@@ -1414,6 +1417,7 @@
 <translation id="4359160567981085931">你剛才在詐騙網站上輸入了密碼。Chrome 能夠幫助你。如要變更密碼並通知 Google 你的帳戶可能面臨風險,請按一下 [保護帳戶]。</translation>
 <translation id="4363222835916186793">這項產品的快訊已關閉</translation>
 <translation id="437040971055499437">發生安全性事件</translation>
+<translation id="4371307856413138486">轉換文字開頭</translation>
 <translation id="4371591986692297148">未啟用</translation>
 <translation id="4372948949327679948">預期的「<ph name="VALUE_TYPE" />」值。</translation>
 <translation id="4375864595697821259">你也可以將項目加回清單中,做為 Chrome 推測興趣喜好的依據</translation>
@@ -2088,6 +2092,7 @@
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6041777658117377052">室內溫度</translation>
 <translation id="6042308850641462728">更多</translation>
+<translation id="6042688167654081154">圖片已轉成文字</translation>
 <translation id="6044573915096792553">粗細:12</translation>
 <translation id="6045164183059402045">拼版範本</translation>
 <translation id="6047233362582046994">如果你瞭解安全性風險,也可以選擇在有害應用程式尚未遭到移除的狀態下<ph name="BEGIN_LINK" />造訪這個網站<ph name="END_LINK" />。</translation>
@@ -2149,6 +2154,7 @@
 <translation id="6195371403461054755">地質學</translation>
 <translation id="6196640612572343990">封鎖第三方 Cookie</translation>
 <translation id="6197648101609735209">89 x 89 公釐</translation>
+<translation id="6200386911308538077">正在分析圖片</translation>
 <translation id="6203231073485539293">檢查網際網路連線</translation>
 <translation id="6205314730813004066">廣告隱私權設定</translation>
 <translation id="6212314149070368045">美國 Fanfold</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index f5714e9..3c4f346 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -178,6 +178,7 @@
 <translation id="1368318639262510626">Igeyimu ye-Dino. Idayinaso enamaphikseli igwema i-cacti nama-pterodactyl njengoba ibalekele endaweni eyihlane. Lapho uzwa isiswayiso somsindo, cindezela u-space ukweqa izithiyo.</translation>
 <translation id="1374468813861204354">iziphakamiso</translation>
 <translation id="1375198122581997741">Mayelana nenguqulo</translation>
+<translation id="1375293861397106342">Ngokuvamile konke okukhethwa kukho ngu-<ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="1376836354785490390">Bonisa okuncane</translation>
 <translation id="1380591466760231819">Ukugoqa incwadi</translation>
 <translation id="138218114945450791">Okuluhlaza okwesibhakabhaka okukhanyayo</translation>
@@ -254,6 +255,7 @@
 <translation id="1532118530259321453">Leli khasi lithi</translation>
 <translation id="1536390784834419204">Humusha ikhasi</translation>
 <translation id="1539840569003678498">Umbiko uthunyelwe:</translation>
+<translation id="1545757265410828525">Umlando wentengo</translation>
 <translation id="1549470594296187301">I-JavaScript kumele inikwe amandla ukuze isebenzise lesi sici.</translation>
 <translation id="1551884710160394169">I-freeware ne-shareware</translation>
 <translation id="1553358976309200471">Buyekeza i-Chrome</translation>
@@ -265,6 +267,7 @@
 
           &lt;p&gt;Sicela ulungise idethi nesikhathi kusukela kusigaba se-&lt;strong&gt;Okujwayelekile&lt;/strong&gt; kohlelo lokusebenza le-&lt;strong&gt;Izilungiselelo&lt;/strong&gt;.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Umphathi wakho uzoqalisa idivayisi yakho ngo-<ph name="TIME" /> ngomhla ka-<ph name="DATE" /></translation>
+<translation id="1564753300777780201">Awukho umbhalo oguqulwe usuka ezithombeni</translation>
 <translation id="156703335097561114">Ulwazi lwenethiwekhi olufana namakheli, ukulungiselelwa kwesixhumi esibonakalayo, kanye nekhwalithi yoxhumano</translation>
 <translation id="1567040042588613346">Le nqubomgomo isebenza njengokuhlosiwe kodwa inani elifanayo lisethiwe kwenye indawo futhi lithathelwe isikhundla yile nqubomgomo.</translation>
 <translation id="1567405528131216114">Engeza i-<ph name="TOPIC" /></translation>
@@ -445,6 +448,7 @@
 <translation id="2012276282211112603">Azikho izihloko ezingaboniswa njengamanje</translation>
 <translation id="2021333772895814435">Le nqubomgomo ikhubaza ngokuzenzekelayo ukuvumelanisa kuwo wonke amadivayisi: <ph name="ACTION_LIST" />.</translation>
 <translation id="202224654587969958">12 x 19 phakathi</translation>
+<translation id="2022815493835288714">Isexwayiso esimayelana nesethingi lokukhokha elisha sivuliwe</translation>
 <translation id="2025115093177348061">I-Augmented Reality</translation>
 <translation id="2025186561304664664">Ummeleli usethelwe ekulungiselelweni okuzenzakalelayo.</translation>
 <translation id="2025891858974379949">Okuqukethwe okungavikelekile</translation>
@@ -724,6 +728,7 @@
 <translation id="2691924980723297736">Isexwayiso sezokuphepha</translation>
 <translation id="2692131511336778528">Insumansumane yesayensi namaphupho</translation>
 <translation id="2701514975700770343">Bheke phansi</translation>
+<translation id="2702592986366989640">Okukhethwa kukho kwentengo ephansi</translation>
 <translation id="2702801445560668637">Uhlu lokufunda</translation>
 <translation id="2704283930420550640">Inani alifani nefomethi.</translation>
 <translation id="2704606927547763573">Kukopishiwe</translation>
@@ -788,6 +793,7 @@
 <translation id="2900528713135656174">Dala umcimbi</translation>
 <translation id="2903493209154104877">Amakheli</translation>
 <translation id="290376772003165898">Ikhasi alikho ngesi-<ph name="LANGUAGE" />?</translation>
+<translation id="2905107382358353958">Isexwayiso mayelana nesethingi lokukhokha elisha</translation>
 <translation id="2909946352844186028">Kutholwe ukuguqulwa kwenethiwekhi.</translation>
 <translation id="2911973620368911614">I-ID yomsebenzisi womsebenzi we-akhawunti</translation>
 <translation id="2914160345369867329">I-<ph name="SITE" /> ngokuvamile isebenzisa ukubethela ukuvikela ulwazi lwakho. Uma i-Google izame ukuxhuma ku-<ph name="SITE" /> ngalesi sikhathi, iwebhusayithi ithumele emuva imininingwane engavamile nengalungile. Lokhu kungenzeka uma umhlaseli ezama ukuzenza i-<ph name="SITE" />, noma isikrini sokungena se-Wi-Fi siphazamise uxhumo. Ulwazi lwakho lusaphephile ngoba i-Chrome imise uxhumo ngaphambi kokuthi idatha ishintshwe.</translation>
@@ -929,6 +935,7 @@
 <translation id="3256863843508922226">Ukuyeka emsebenzini nepenshini</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, cindezela u-Tab bese u-Enter ukuze udale umcimbi omusha ngokushesha ku-Google Calendar</translation>
 <translation id="3261488570342242926">Funda mayelana namakhadi we-virtual</translation>
+<translation id="3262698603497362968">Okungakhethwa kukho kokuthenga</translation>
 <translation id="3266367459139339908">Sethula izindlela ezintsha zokukhawulela lokho amasayithi angakufunda ngawe uma ekubonisa izikhangiso eziqondaniswe nawe, ngokwesibonelo:</translation>
 <translation id="3266793032086590337">Inani (liyaphambana)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Awekho amasayithi avinjiwe, okuhlanganisa amasayithi ahlobene}=1{Isayithi eli-1 livinjiwe, okuhlanganisa amasayithi ahlobene}one{Amasayithi angu-# avinjiwe, okuhlanganisa amasayithi ahlobene}other{Amasayithi angu-# avinjiwe, okuhlanganisa amasayithi ahlobene}}</translation>
@@ -1112,6 +1119,7 @@
 <translation id="3693327506115126094">Khetha, ukuthi uzoqinisekisa kanjani ukuthi uguwena</translation>
 <translation id="3698629142018988477">Sungula inkinobho yesayithi, yenza kusebenze ukuze usungule isayithi entsha ku-Google Sites ngokushesha</translation>
 <translation id="3701427423622901115">Ukusetha kabusha kuvunyelwe.</translation>
+<translation id="3701900332588705891">Ngokuvamile ngu-<ph name="LOW_PRICE" /> - <ph name="HIGH_PRICE" /></translation>
 <translation id="3704162925118123524">Inethiwekhi oyisebenzisayo ingahle idinge ukuthi uvakashele ikhasi lokungena ngemvume.</translation>
 <translation id="3705189812819839667"><ph name="RESULT_OWNER" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="370665806235115550">Kuyalayisha...</translation>
@@ -1197,6 +1205,7 @@
 <translation id="3890664840433101773">Engeza i-imeyili</translation>
 <translation id="3897092660631435901">Imenyu</translation>
 <translation id="3901925938762663762">Ikhadi liphelelwe yisikhathi</translation>
+<translation id="3906095212874392000">Ukuphela kombhalo oguquliwe</translation>
 <translation id="3906954721959377182">Ithebulethi</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
 <translation id="3911401144270344103">Ungashintsha umqondo wakho noma kunini kumasethingi we-Chrome</translation>
@@ -1216,6 +1225,7 @@
 <translation id="3949870428812919180">Azikho izindlela zokukhokha ezilondoloziwe</translation>
 <translation id="3950574001630941635">Qalisa kabusha okokufundisa</translation>
 <translation id="3950820424414687140">Ngena ngemvume</translation>
+<translation id="3953505489397572035">Le ntengo ijwayelekile</translation>
 <translation id="3958057596965527988">U-4 x 4 phakathi</translation>
 <translation id="3961148744525529027">Ishidi lesibambi senkokhelo sivuleke kancane</translation>
 <translation id="3962859241508114581">Ithrekhi yangaphambilini</translation>
@@ -1352,6 +1362,7 @@
 <translation id="4250680216510889253">Cha</translation>
 <translation id="4250716950689692560">I-A4x4</translation>
 <translation id="4253168017788158739">Yazi</translation>
+<translation id="4255487295905690262">Uzothola izexwayiso ze-imeyili uma intengo yehla kunoma yiliphi isayithi.</translation>
 <translation id="425582637250725228">Ushintsho olwenzile kungenzeka lungalondolozwa.</translation>
 <translation id="4258748452823770588">Isiginesha embi</translation>
 <translation id="4261046003697461417">Amadokhumenti avikelwe awakwazi ukuchasiselwa</translation>
@@ -1397,6 +1408,7 @@
 <translation id="4331519897422864041">Isitaki esingu-5</translation>
 <translation id="4331708818696583467">Akuphephile</translation>
 <translation id="4333561522337981382">Phatha amawindi kuzo zonke izibonisi zakho</translation>
+<translation id="4338709847516294988">Cindezela i-search plus m bese uguqulela isithombe sibe umbhalo kumenyu yokuqukethwe</translation>
 <translation id="4340575312453649552">Lesi sikhangiso sisebenzise izinsiza eziningi kakhulu zedivayisi yakho, ngakho-ke i-Chrome iye yasisusa.</translation>
 <translation id="4340982228985273705">Le khompyutha ayitholwa njengephethwe yenkampani ngakho inqubomgomo ingafaka kuphela izandiso ezisingathwe ku-Chrome Webstore. I-URL yesibuyekezo se-Chrome Webstore ngu-"<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4348834659292907206">Uxhumo lwe-<ph name="SITE" /> aluphephile</translation>
@@ -1412,6 +1424,7 @@
 <translation id="4359160567981085931">Usanda kufaka iphasiwedi yakho kusayithi elikhohlisayo. I-Chrome ingasiza. Ukuze ushintshe iphasiwedi yakho futhi wazise i-Google ukuthi i-akhawunti yakho ingaba sengozini, chofoza i-akhawunti y-Protect.</translation>
 <translation id="4363222835916186793">Izexwayiso zalo mkhiqizo zivaliwe</translation>
 <translation id="437040971055499437">Umcimbi wokuphepha uyenzeka</translation>
+<translation id="4371307856413138486">Ukuqala kombhalo oguquliwe</translation>
 <translation id="4371591986692297148">Akusebenzi</translation>
 <translation id="4372948949327679948">Inani elilindelwe elingu-<ph name="VALUE_TYPE" />.</translation>
 <translation id="4375864595697821259">Engeza into futhi uma uyifuna kuqoqo lezihloko i-Chrome engakhetha kuzo lapho ilinganisela izintshisekelo zakho</translation>
@@ -1436,6 +1449,7 @@
 <translation id="4433642172056592619">Kuzitshiwe ngoba umsebenzisi akalona inxusa lokuphathwa komshini noma umshini awuphethwe.</translation>
 <translation id="4434045419905280838">Okwesikhashana nokuqondiswa kabusha</translation>
 <translation id="443673843213245140">Ukusetshenziswa ummeleli kukhitshaziwe kodwa ukulungiselelwa okubekelwe obala kommeleli kucacisiwe.</translation>
+<translation id="4438821706955556403">Intengo ejwayelekile</translation>
 <translation id="4441832193888514600">Kuzitshwe ngenxa yokuthi inqubomgomo ikwazi ukusethwa kuphela njengenqubomgomo yomsebenzisi we-cloud.</translation>
 <translation id="4449116177348980384">Phatha inkinobho yamasethingi wesayithi, yenza kusebenze ukuze uphathe izimvume nedatha egcinwe kuwo wonke amasayithi kumasethingi we-Chrome</translation>
 <translation id="4451135742916150903">Ingacela ukuxhuma kumadivayisi we-HID</translation>
@@ -1451,6 +1465,7 @@
 <translation id="4489023393592172404">Imvilophu ye-Kaku 4</translation>
 <translation id="4490717597759821841">A7</translation>
 <translation id="449126573531210296">Bethela amaphasiwedi avumelanisiwe nge-akhawunti yakho ye-Google</translation>
+<translation id="4492332866628791879">Londoloza futhi Ulandelele intengo</translation>
 <translation id="4492519888999857993">Lezi zici zikhutshazwe ngokuzenzakalela. Ngeke zize zitholakale kuzinguqulo ezizayo ze-Chrome.</translation>
 <translation id="4493480324863638523">I-URLengavumelekile. Kumele kube i-URL ene-schema esijwayelekile, isb. i-http://example.com noma i-https://example.com.</translation>
 <translation id="4494323206460475851">Ungabona izihloko zesikhangiso kumasethingi futhi uvimbele lezo ongafuni ukuthi zabiwe namasayithi. I-Chrome iphinde isuse ngokuzenzekela izihloko zesikhangiso ezindala kunamaviki ama-4.</translation>
@@ -1590,6 +1605,7 @@
 <translation id="4813512666221746211">Iphutha lenethiwekhi</translation>
 <translation id="4816492930507672669">Linganisa kukhasi</translation>
 <translation id="4819347708020428563">Hlela izichasiselo kukubuka kokuzenzakalelayo?</translation>
+<translation id="4822493756793346865">Izintengo ezivamile zisuselwe ezitolo kuwebhu yonkana ngaphezu kwezinsuku ezingama-90 ezedlule.</translation>
 <translation id="4825496307559726072"><ph name="CREATE_GOOGLE_SHEET_FOCUSED_FRIENDLY_MATCH_TEXT" />, cindezela u-Tab bese u-Enter ukuze udale i-Google Sheet entsha ngokushesha</translation>
 <translation id="4825507807291741242">Kunamandla</translation>
 <translation id="483241715238664915">Vula izexwayiso</translation>
@@ -1769,6 +1785,7 @@
 <translation id="523149107733989821">I-A4 Engeziwe</translation>
 <translation id="5234764350956374838">Cashisa</translation>
 <translation id="5238301240406177137">Londoloza ku-Akhawunti</translation>
+<translation id="5239119062986868403">Intengo ejwayelekile</translation>
 <translation id="5239623327352565343">Indawo ivunyelwe</translation>
 <translation id="5242889659037569123">Izinsiza zemithwalo nokuvakasha</translation>
 <translation id="5244521145258281926">Phatha i-Google Account, yenza kusebenze ukuze uphathe ulwazi lwakho, ubumfihlo, nokuvikeleka ku-Google Account yakho</translation>
@@ -1838,6 +1855,7 @@
 <translation id="5398772614898833570">Izikhangiso zivinjewe</translation>
 <translation id="5400836586163650660">Okumpunga</translation>
 <translation id="540969355065856584">Le seva ayikwazanga ukubonisa ukuthi iyi-<ph name="DOMAIN" />; isitifiketi sayo sokuphepha asivumelekile ngalesi sikhathi. Lokhu kungabangelwa ukungalungiseki kahle noma umhlaseli uhlasela uxhumo lakho.</translation>
+<translation id="5411462078004183575">Okukhethwa kukho kwentengo ephansi</translation>
 <translation id="5412040515238827314">Ifomethi engavumelekile: Bekulindeleke uhlu lwamaphethini.</translation>
 <translation id="5412236728747081950">Leli sayithi lithola ongaba nentshisekelo kukho ku-Chrome ukuze likubonise izikhangiso ezihambisana kakhulu</translation>
 <translation id="5412245327974352290"><ph name="TRADITIONAL_TEXT" /> - <ph name="ADDITIONAL_TEXT" /></translation>
@@ -2086,6 +2104,7 @@
 <translation id="6040143037577758943">Vala</translation>
 <translation id="6041777658117377052">Ithempelesha yomkhandlu</translation>
 <translation id="6042308850641462728">Okuningi</translation>
+<translation id="6042688167654081154">Isithombe siguqulelwe kumbhalo</translation>
 <translation id="6044573915096792553">Usayizi 12</translation>
 <translation id="6045164183059402045">Isifanekiso sokuqondisa</translation>
 <translation id="6047233362582046994">Uma uqonda ubungozi ekuphepheni kwakho, unghle <ph name="BEGIN_LINK" />uvakashele leli sayithi<ph name="END_LINK" /> ngaphambi kokuthi izinhlelo zokusebenza eziyingozi zisuswe.</translation>
@@ -2138,6 +2157,7 @@
 <translation id="6167577165590485365">Kugcine ukuzama ukulanda:</translation>
 <translation id="6169916984152623906">Manje ungaphequlula ngasese, futhi abanye abantu abasebenzisa le divayisi ngeke bakwazi ukubona umsebenzi wakho. Kodwa, ukulandwa namabhukhimakhi kuzolondolozwa.</translation>
 <translation id="617256461084925519">I-Google Chrome izama ukuqinisekisa ukuthi nguwe ukuze igcwalise ulwazi lwakho lokukhokha.</translation>
+<translation id="6176387967264100435">Le ntengo iphezulu</translation>
 <translation id="6177128806592000436">Ukuxhumeka kwakho kuleli sayithi akuqinisekisiwe</translation>
 <translation id="6177531123306197852">Imvilophu ye-C2</translation>
 <translation id="6180316780098470077">Izikhawu zokuzama futhi</translation>
@@ -2147,6 +2167,7 @@
 <translation id="6195371403461054755">Awe-Geology</translation>
 <translation id="6196640612572343990">Vimba amakhukhi enkampani yangaphandle</translation>
 <translation id="6197648101609735209">U-89 x 89 mm</translation>
+<translation id="6200386911308538077">Isithombe siyahlaziywa</translation>
 <translation id="6203231073485539293">Hlola ukuxhumeka kwakho kwe-inthanethi</translation>
 <translation id="6205314730813004066">Ubumfihlo besikhangiso</translation>
 <translation id="6212314149070368045">I-US Fanfold</translation>
@@ -2273,6 +2294,7 @@
 <translation id="6494750904506170417">okwesikhashana nokuqondiswa kabusha</translation>
 <translation id="6497295192259406877">Imisebenzi yebhizinisi</translation>
 <translation id="6499038740797743453">Setha kabusha iphasiwedi?</translation>
+<translation id="6502510275417601303">Isexwayiso esimayelana nesethingi yenkokhelo sivaliwe</translation>
 <translation id="6502626736864595182">Inkundla nokuxoxa nabahlinzeki</translation>
 <translation id="6502991525169604759">Ngaphandle kwezinguquko zakho</translation>
 <translation id="6506959208958864820">Imvilophi</translation>
@@ -2332,6 +2354,7 @@
 <translation id="6651270836885078973">Iphethwe i-:</translation>
 <translation id="6652101503459149953">Sebenzisa i-Windows Hello</translation>
 <translation id="6657585470893396449">Igama lokungena</translation>
+<translation id="6659246032834639189">Le ntengo iphansi</translation>
 <translation id="6660413144148052430">indawo</translation>
 <translation id="6662457027866368246">Umqulu Wokuqala</translation>
 <translation id="666259744093848177">(x86_64 translated)</translation>
@@ -2414,6 +2437,7 @@
 <translation id="6869334554832814367">Izimalimboleko zomuntu siqu</translation>
 <translation id="6873456682041376666">Ithileyi Eliphezulu</translation>
 <translation id="6874604403660855544">&amp;Yenza futhi ukungeza</translation>
+<translation id="6880941331070119097">Okukhethwa kukho kwentengo ephezulu</translation>
 <translation id="6881240511396774766">Dala Idokhumenti le-Google elisha ngokushesha</translation>
 <translation id="6883221904761970440">Ishidi lokufakazela ubuqiniso lezimfanelo zenkokhelo elivikelekile livaliwe</translation>
 <translation id="6884662655240309489">Usayizi 1</translation>
@@ -2562,11 +2586,13 @@
 <translation id="7210863904660874423">I-<ph name="HOST_NAME" /> ayithobeli amazinga ezokuvikela.</translation>
 <translation id="7210993021468939304">Umsebenzi we-Linux ungaphakathi kwesiqukathi, futhi ungafaka uphinde uqalise izinhlelo zokusebenza ze-Linux ngaphakathi kwesiqukathi</translation>
 <translation id="721197778055552897"><ph name="BEGIN_LINK" />Funda kabanzi<ph name="END_LINK" /> mayelana nale nkinga.</translation>
+<translation id="7213191991901907140">Sitshele ngomuzwa wakho</translation>
 <translation id="7217745192097460130">Usebenzisa i-ID Yokuthinta ukuze uqinisekise futhi uqede ukuthenga kwakho?</translation>
 <translation id="7219179957768738017">Ukuxhumeka kusebenzisa i-<ph name="SSL_VERSION" />.</translation>
 <translation id="7220786058474068424">Iyacubungula</translation>
 <translation id="7221855153210829124">Bonisa izaziso</translation>
 <translation id="722454870747268814">Ithebhu entsha ye-Incognito</translation>
+<translation id="7227293336683593977">Umlando Wentengo</translation>
 <translation id="7233592378249864828">Phrinta ishidi lokuqinisekisa</translation>
 <translation id="7234638337680728591">Izintengo zegesi nokuthela uphethiloli emotweni</translation>
 <translation id="7236417832106250253">U-<ph name="PROGRESS_PERCENT" />% uqediwe | <ph name="ESTIMATED_REMAINING_TIME" /></translation>
@@ -2934,6 +2960,7 @@
 <translation id="8057711352706143257">"<ph name="SOFTWARE_NAME" />" ayilungisiwe kahle. Ukukhipha i-"<ph name="SOFTWARE_NAME" />" ngokuvamile kulungisa inkinga. <ph name="FURTHER_EXPLANATION" /></translation>
 <translation id="8058009102480785916">Ukukhiqizwa kokudla</translation>
 <translation id="8058603697124206642">Akudingekile</translation>
+<translation id="8063875539456488183">Londoloza futhi ulandelele intengo</translation>
 <translation id="8064892030280197386">qinisekisa ukuthi uwena ukuze igcwalise ulwazi lwakho lokukhokha.</translation>
 <translation id="8066225060526005217">Kuphethwe ngamasethingi wamakhukhi</translation>
 <translation id="8067872629359326442">Usanda kufaka iphasiwedi yakho kusayithi elikhohlisayo. I-Chromium ingasiza. Ukuze ushintshe iphasiwedi yakho futhi wazise i-Google ukuthi i-akhawunti yakho ingaba sengozini, chofoza i-akhawunti y-Protect.</translation>
@@ -2965,6 +2992,7 @@
 <translation id="810875025413331850">Awekho amadivayisi aseduze atholiwe.</translation>
 <translation id="8116925261070264013">Kuthulisiwe</translation>
 <translation id="8118489163946903409">Indlela yokukhokha</translation>
+<translation id="8118506371121007279">Nika impendulo</translation>
 <translation id="8123046743443732598">Amakhompyutha edeskithophu</translation>
 <translation id="8126056688005753476">Uhambo oluyisigigaba</translation>
 <translation id="8127301229239896662">"<ph name="SOFTWARE_NAME" />" ayifakiwe kahle kwikhompyutha yakho. Cela umlawuli wakho we-IT ukuthi axazulule le nkinga.</translation>
@@ -3066,6 +3094,7 @@
 <translation id="8378714024927312812">Kuphethwe inhlangano yakho</translation>
 <translation id="8380941800586852976">Okuyingozi</translation>
 <translation id="8381674639488873545">Lezi zinkokhelo zingaba ezesikhathi esisodwa noma ziphindeke futhi kungenzeka zingabi sobala. <ph name="BEGIN_LINK" />Bonisa noma kunjalo<ph name="END_LINK" /></translation>
+<translation id="8389532092404711541">Ngokuvamile ngu-<ph name="LOW_PRICE" /></translation>
 <translation id="8390725133630534698">Ukwabelana kusuka ku-<ph name="ORIGIN_NAME" /> kuya ku-<ph name="VM_NAME" /> kuvinjelwe inqubomgomo yomlawuli</translation>
 <translation id="8396522675989118466">Le yikhodi enamadijithi angu<ph name="NUMBER_OF_DIGITS" /> ku-<ph name="SIDE_OF_CARD" /></translation>
 <translation id="8398335999901363925">Izindlela zokukhokha ezitholakalayo ukuze zigcwaliswe lapho uthinta zivulwe ngobude obugcwele.</translation>
@@ -3127,6 +3156,7 @@
 <translation id="8542014550340843547">Ukunamathisela okuthathu phansi</translation>
 <translation id="8542617028204211143">I-SRA0</translation>
 <translation id="8543181531796978784"><ph name="BEGIN_ERROR_LINK" />Ungabika inkinga yokutholwa<ph name="END_ERROR_LINK" /> noma, uma uqonda izingcuphe zokuvikelwa kwakho, <ph name="BEGIN_LINK" />ungavakashela leli sayithi elingaphephile<ph name="END_LINK" />.</translation>
+<translation id="854548366864113872">Okukhethwa Kukho Kwentengo Ephezulu</translation>
 <translation id="8546350655047701518">Thumela Amalogu ku-JSON</translation>
 <translation id="854892890027593466">Imvilophu ye-C6/C5</translation>
 <translation id="8553387990086529628">Izindawo zezivakashi</translation>
@@ -3140,6 +3170,7 @@
 <translation id="8564182942834072828">Amadokhumenti ahlukene/Amakhophi angaqathaniswanga</translation>
 <translation id="8564985650692024650">I-Chromium incoma ukusetha kabusha iphasiwedi yakho ye-<ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" /> uma uphinde wayisebenzisa kwamanye amasayithi.</translation>
 <translation id="8576310925653847813">Isistimu yasesinema yasekhaya</translation>
+<translation id="8577192028579836704">Ngokuvamile konke okukhethwa kukho ngu-<ph name="TYPICAL_PRICE" /></translation>
 <translation id="8577348305244205642">Ikhadi le-virtual alitholakali</translation>
 <translation id="858637041960032120">Engeza inombolo yefoni</translation>
 <translation id="8589998999637048520">Ikhwalithi ehamba phambili</translation>
diff --git a/components/sync/base/pref_names.h b/components/sync/base/pref_names.h
index 77ecf89..37bdec4 100644
--- a/components/sync/base/pref_names.h
+++ b/components/sync/base/pref_names.h
@@ -44,10 +44,6 @@
 #endif  // BUILDFLAG(IS_IOS)
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-// Boolean pref that records whether OS sync preferences were migrated due to
-// SyncSettingsCategorization rollout.
-// TODO(crbug.com/1249845): Remove after 2023-06 (see also crbug.com/1255724).
-inline constexpr char kOsSyncPrefsMigrated[] = "sync.os_sync_prefs_migrated";
 
 // Boolean specifying whether to automatically sync all Chrome OS specific data
 // types (including future ones). This includes types like printers, OS-only
diff --git a/components/sync/base/sync_prefs.cc b/components/sync/base/sync_prefs.cc
index 4b18ac1..ee324cc 100644
--- a/components/sync/base/sync_prefs.cc
+++ b/components/sync/base/sync_prefs.cc
@@ -7,6 +7,7 @@
 #include <utility>
 
 #include "base/check_op.h"
+#include "base/feature_list.h"
 #include "base/files/file_path.h"
 #include "base/functional/bind.h"
 #include "base/notreached.h"
@@ -18,9 +19,20 @@
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
 #include "components/prefs/pref_value_map.h"
+#include "components/sync/base/features.h"
 #include "components/sync/base/pref_names.h"
 #include "components/sync/base/user_selectable_type.h"
 
+namespace {
+
+// Whether MaybeMigratePrefsForReplacingSyncWithSignin() has run in this
+// profile. Should be cleaned up after
+// MaybeMigratePrefsForReplacingSyncWithSignin() itself is gone.
+constexpr char kReplacingSyncWithSigninMigrated[] =
+    "sync.replacing_sync_with_signin_migrated";
+
+}  // namespace
+
 namespace syncer {
 
 SyncPrefObserver::~SyncPrefObserver() = default;
@@ -64,7 +76,6 @@
     RegisterTypeSelectedPref(registry, type);
   }
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-  registry->RegisterBooleanPref(prefs::internal::kOsSyncPrefsMigrated, false);
   registry->RegisterBooleanPref(prefs::internal::kSyncAllOsTypes, true);
   registry->RegisterBooleanPref(prefs::internal::kSyncOsApps, false);
   registry->RegisterBooleanPref(prefs::internal::kSyncOsPreferences, false);
@@ -75,6 +86,8 @@
   registry->RegisterBooleanPref(prefs::internal::kSyncAppsEnabledByOs, false);
 #endif
 
+  registry->RegisterBooleanPref(kReplacingSyncWithSigninMigrated, false);
+
   // The encryption bootstrap token represents a user-entered passphrase.
   registry->RegisterStringPref(prefs::internal::kSyncEncryptionBootstrapToken,
                                std::string());
@@ -161,7 +174,9 @@
           // additional opt-in.
           // TODO(crbug.com/1440628): Cleanup the temporary behaviour of an
           // additional opt in for Bookmarks and Reading Lists.
-          if ((type == UserSelectableType::kBookmarks ||
+          if (!base::FeatureList::IsEnabled(
+                  kReplaceSyncPromosWithSignInPromos) &&
+              (type == UserSelectableType::kBookmarks ||
                type == UserSelectableType::kReadingList) &&
               !pref_service_->GetBoolean(
                   prefs::internal::
@@ -237,7 +252,7 @@
   }
 }
 
-bool SyncPrefs::IsOptedInForBookmarksAndReadingListAccountStorage() {
+bool SyncPrefs::IsOptedInForBookmarksAndReadingListAccountStorageForTesting() {
   return pref_service_->GetBoolean(
       prefs::internal::kBookmarksAndReadingListAccountStorageOptIn);
 }
@@ -446,4 +461,58 @@
       prefs::internal::kSyncPassphrasePromptMutedProductVersion);
 }
 
+void SyncPrefs::MaybeMigratePrefsForReplacingSyncWithSignin(
+    SyncAccountState account_state) {
+  if (!base::FeatureList::IsEnabled(kReplaceSyncPromosWithSignInPromos)) {
+    // Ensure that the migration runs again when the feature gets enabled.
+    pref_service_->ClearPref(kReplacingSyncWithSigninMigrated);
+    return;
+  }
+
+  // Don't migrate again if this profile was previously migrated.
+  if (pref_service_->GetBoolean(kReplacingSyncWithSigninMigrated)) {
+    return;
+  }
+  pref_service_->SetBoolean(kReplacingSyncWithSigninMigrated, true);
+
+  switch (account_state) {
+    case SyncAccountState::kNotSignedIn:
+    case SyncAccountState::kSyncing: {
+      // Nothing to migrate for signed-out or syncing users.
+      break;
+    }
+    case SyncAccountState::kSignedInNotSyncing: {
+      // For pre-existing signed-in users, some state needs to be migrated:
+
+      // Settings aka preferences remains off by default.
+      pref_service_->SetBoolean(
+          GetPrefNameForType(UserSelectableType::kPreferences), false);
+
+      // Addresses remains enabled only if passwords is enabled (i.e. the user
+      // didn't opt out for passwords).
+      // TODO(crbug.com/1447020): Verify whether this is the intended behavior,
+      // and then add tests for it.
+      if (!pref_service_->GetBoolean(
+              GetPrefNameForType(UserSelectableType::kPasswords))) {
+        pref_service_->SetBoolean(
+            GetPrefNameForType(UserSelectableType::kAutofill), false);
+      }
+
+#if BUILDFLAG(IS_IOS)
+      // Bookmarks and reading list remain enabled only if the user previously
+      // explicitly opted in.
+      if (!pref_service_->GetBoolean(
+              prefs::internal::kBookmarksAndReadingListAccountStorageOptIn)) {
+        pref_service_->SetBoolean(
+            GetPrefNameForType(UserSelectableType::kBookmarks), false);
+        pref_service_->SetBoolean(
+            GetPrefNameForType(UserSelectableType::kReadingList), false);
+      }
+#endif  // BUILDFLAG(IS_IOS)
+
+      break;
+    }
+  }
+}
+
 }  // namespace syncer
diff --git a/components/sync/base/sync_prefs.h b/components/sync/base/sync_prefs.h
index 9f91391..f4b434f7 100644
--- a/components/sync/base/sync_prefs.h
+++ b/components/sync/base/sync_prefs.h
@@ -109,15 +109,20 @@
   void SetSelectedType(UserSelectableType type, bool is_type_on);
 
 #if BUILDFLAG(IS_IOS)
-  // Sets the transport bookmarks & reading list pref on opt in/out.
+  // Sets the opt-in for bookmarks & reading list in transport mode.
+  // Note that this only has an effect if `kEnableBookmarksAccountStorage`
+  // and/or `kReadingListEnableDualReadingListModel` are enabled, but
+  // `kReplaceSyncPromosWithSignInPromos` is NOT enabled. (It should still be
+  // called if `kReplaceSyncPromosWithSignInPromos` is enabled though, to better
+  // support rollbacks.)
   void SetBookmarksAndReadingListAccountStorageOptIn(bool value);
 
-  // Gets the transport bookmarks & reading list pref.
-  // This is only used for testing as GetSelectedTypes already checks for the
-  // opt-in pref.
-  bool IsOptedInForBookmarksAndReadingListAccountStorage();
+  // Gets the opt-in state for bookmarks & reading list in transport mode, for
+  // testing. Production code should use `GetSelectedTypes()` instead which
+  // already takes this into account.
+  bool IsOptedInForBookmarksAndReadingListAccountStorageForTesting();
 
-  // Clears the transport bookmarks & reading list pref on sign out.
+  // Clears the opt-in for bookmarks & reading list in transport mode.
   void ClearBookmarksAndReadingListAccountStorageOptIn();
 #endif  // BUILDFLAG(IS_IOS)
 
@@ -170,6 +175,14 @@
   void SetPassphrasePromptMutedProductVersion(int major_version);
   void ClearPassphrasePromptMutedProductVersion();
 
+  // Migrates any user settings for pre-existing signed-in users, for the
+  // feature `kReplaceSyncPromosWithSignInPromos`. For signed-out users or
+  // syncing users, no migration is necessary - this also covers new users (or
+  // more precisely, new profiles).
+  // This should be called early during browser startup.
+  void MaybeMigratePrefsForReplacingSyncWithSignin(
+      SyncAccountState account_state);
+
  private:
   static void RegisterTypeSelectedPref(PrefRegistrySimple* prefs,
                                        UserSelectableType type);
diff --git a/components/sync/base/sync_prefs_unittest.cc b/components/sync/base/sync_prefs_unittest.cc
index 3335511d..6ff8c73 100644
--- a/components/sync/base/sync_prefs_unittest.cc
+++ b/components/sync/base/sync_prefs_unittest.cc
@@ -7,11 +7,13 @@
 #include <memory>
 
 #include "base/test/metrics/histogram_tester.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
 #include "build/chromeos_buildflags.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_value_map.h"
 #include "components/prefs/testing_pref_service.h"
+#include "components/sync/base/features.h"
 #include "components/sync/base/pref_names.h"
 #include "components/sync/base/user_selectable_type.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -462,20 +464,24 @@
 TEST_F(SyncPrefsTest, SetBookmarksAndReadingListAccountStorageOptInPrefChange) {
   // Default value disabled.
   EXPECT_FALSE(
-      sync_prefs_->IsOptedInForBookmarksAndReadingListAccountStorage());
+      sync_prefs_
+          ->IsOptedInForBookmarksAndReadingListAccountStorageForTesting());
 
   // Enable bookmarks and reading list account storage pref.
   sync_prefs_->SetBookmarksAndReadingListAccountStorageOptIn(true);
 
   // Check pref change to enabled.
-  EXPECT_TRUE(sync_prefs_->IsOptedInForBookmarksAndReadingListAccountStorage());
+  EXPECT_TRUE(
+      sync_prefs_
+          ->IsOptedInForBookmarksAndReadingListAccountStorageForTesting());
 
   // Clear pref.
   sync_prefs_->ClearBookmarksAndReadingListAccountStorageOptIn();
 
   // Default value applied after clearing the pref.
   EXPECT_FALSE(
-      sync_prefs_->IsOptedInForBookmarksAndReadingListAccountStorage());
+      sync_prefs_
+          ->IsOptedInForBookmarksAndReadingListAccountStorageForTesting());
 }
 #endif  // BUILDFLAG(IS_IOS)
 
@@ -525,10 +531,230 @@
     }
   }
 
+  const char* kBookmarksPref =
+      SyncPrefs::GetPrefNameForTypeForTesting(UserSelectableType::kBookmarks);
+  const char* kReadingListPref =
+      SyncPrefs::GetPrefNameForTypeForTesting(UserSelectableType::kReadingList);
+  const char* kPasswordsPref =
+      SyncPrefs::GetPrefNameForTypeForTesting(UserSelectableType::kPasswords);
+  const char* kAutofillPref =
+      SyncPrefs::GetPrefNameForTypeForTesting(UserSelectableType::kAutofill);
+  const char* kPreferencesPref =
+      SyncPrefs::GetPrefNameForTypeForTesting(UserSelectableType::kPreferences);
+
   base::test::SingleThreadTaskEnvironment task_environment_;
   TestingPrefServiceSimple pref_service_;
 };
 
+TEST_F(SyncPrefsMigrationTest,
+       ReplacingSyncWithSignin_NoMigrationForSignedOutUser) {
+  base::test::ScopedFeatureList feature_list(
+      kReplaceSyncPromosWithSignInPromos);
+
+  // Even though the user is signed out, some prefs are set (e.g. because the
+  // user was previously syncing).
+  SetBooleanUserPrefValue(kBookmarksPref, PREF_TRUE);
+  SetBooleanUserPrefValue(kReadingListPref, PREF_FALSE);
+
+  // The migration runs for a signed-out user. This should do nothing.
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kNotSignedIn);
+
+  // Everything should be unchanged.
+  EXPECT_TRUE(BooleanUserPrefMatches(kBookmarksPref, PREF_TRUE));
+  EXPECT_TRUE(BooleanUserPrefMatches(kReadingListPref, PREF_FALSE));
+  EXPECT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_UNSET));
+}
+
+TEST_F(SyncPrefsMigrationTest,
+       ReplacingSyncWithSignin_NoMigrationForSyncingUser) {
+  base::test::ScopedFeatureList feature_list(
+      kReplaceSyncPromosWithSignInPromos);
+
+  // Some data type prefs are set.
+  SetBooleanUserPrefValue(kBookmarksPref, PREF_TRUE);
+  SetBooleanUserPrefValue(kReadingListPref, PREF_FALSE);
+
+  // The migration runs for a syncing user. This should do nothing.
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kSyncing);
+
+  // Everything should be unchanged.
+  EXPECT_TRUE(BooleanUserPrefMatches(kBookmarksPref, PREF_TRUE));
+  EXPECT_TRUE(BooleanUserPrefMatches(kReadingListPref, PREF_FALSE));
+  EXPECT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_UNSET));
+}
+
+TEST_F(SyncPrefsMigrationTest, ReplacingSyncWithSignin_RunsOnlyOnce) {
+  base::test::ScopedFeatureList feature_list(
+      kReplaceSyncPromosWithSignInPromos);
+
+  // The migration initially runs for a new user (not signed in yet). This does
+  // not change any actual prefs, but marks the migration as "done".
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kNotSignedIn);
+  ASSERT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_UNSET));
+
+  // Later, the user signs in. When the migration function gets triggered again
+  // (typically at the next browser startup), it should *not* migrate anything.
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+  // Nothing happened - pref is still unset.
+  EXPECT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_UNSET));
+}
+
+TEST_F(SyncPrefsMigrationTest,
+       ReplacingSyncWithSignin_RunsAgainAfterFeatureReenabled) {
+  // Initial state: Preferences are enabled.
+  SetBooleanUserPrefValue(kPreferencesPref, PREF_TRUE);
+
+  // The feature gets enabled for the first time, and the migration runs.
+  {
+    base::test::ScopedFeatureList feature_list(
+        kReplaceSyncPromosWithSignInPromos);
+
+    SyncPrefs(&pref_service_)
+        .MaybeMigratePrefsForReplacingSyncWithSignin(
+            SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+    // Preferences got migrated to false.
+    ASSERT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_FALSE));
+  }
+
+  // Reset Preferences to true so we can check whether the migration happened
+  // again.
+  SetBooleanUserPrefValue(kPreferencesPref, PREF_TRUE);
+
+  // The feature gets disabled, and the migration logic gets triggered again on
+  // the next browser startup.
+  {
+    base::test::ScopedFeatureList feature_list;
+    feature_list.InitAndDisableFeature(kReplaceSyncPromosWithSignInPromos);
+
+    SyncPrefs(&pref_service_)
+        .MaybeMigratePrefsForReplacingSyncWithSignin(
+            SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+    // Since the feature is disabled now, this didn't do anything - Preferences
+    // is still true.
+    ASSERT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_TRUE));
+  }
+
+  // The feature gets enabled for the second time, and the migration runs.
+  // Since it was disabled in the between, the migration should run again
+  {
+    base::test::ScopedFeatureList feature_list(
+        kReplaceSyncPromosWithSignInPromos);
+
+    SyncPrefs(&pref_service_)
+        .MaybeMigratePrefsForReplacingSyncWithSignin(
+            SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+    // Preferences should have been migrated to false again.
+    EXPECT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_FALSE));
+  }
+}
+
+TEST_F(SyncPrefsMigrationTest, ReplacingSyncWithSignin_TurnsPreferencesOff) {
+  base::test::ScopedFeatureList feature_list(
+      kReplaceSyncPromosWithSignInPromos);
+
+  ASSERT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_UNSET));
+
+  // Run the migration for a pre-existing signed-in non-syncing user.
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+  // Preferences should have been set to false.
+  EXPECT_TRUE(BooleanUserPrefMatches(kPreferencesPref, PREF_FALSE));
+}
+
+TEST_F(SyncPrefsMigrationTest,
+       ReplacingSyncWithSignin_MigratesBookmarksOptedIn) {
+  // Bookmarks and ReadingList are enabled (by default - the actual prefs are
+  // not set explicitly). On iOS, an additional opt-in pref is required.
+  ASSERT_TRUE(BooleanUserPrefMatches(kBookmarksPref, PREF_UNSET));
+  ASSERT_TRUE(BooleanUserPrefMatches(kReadingListPref, PREF_UNSET));
+#if BUILDFLAG(IS_IOS)
+  SetBooleanUserPrefValue(
+      prefs::internal::kBookmarksAndReadingListAccountStorageOptIn, PREF_TRUE);
+#endif  // BUILDFLAG(IS_IOS)
+  ASSERT_TRUE(
+      SyncPrefs(&pref_service_)
+          .GetSelectedTypes(SyncPrefs::SyncAccountState::kSignedInNotSyncing)
+          .HasAll({UserSelectableType::kBookmarks,
+                   UserSelectableType::kReadingList}));
+
+  // Now (on the next browser restart) the feature gets enabled, and the
+  // migration runs.
+  base::test::ScopedFeatureList feature_list(
+      kReplaceSyncPromosWithSignInPromos);
+
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+  // Bookmarks and ReadingList should still be enabled (by default).
+  EXPECT_TRUE(BooleanUserPrefMatches(kBookmarksPref, PREF_UNSET));
+  EXPECT_TRUE(BooleanUserPrefMatches(kReadingListPref, PREF_UNSET));
+  EXPECT_TRUE(
+      SyncPrefs(&pref_service_)
+          .GetSelectedTypes(SyncPrefs::SyncAccountState::kSignedInNotSyncing)
+          .HasAll({UserSelectableType::kBookmarks,
+                   UserSelectableType::kReadingList}));
+}
+
+#if BUILDFLAG(IS_IOS)
+TEST_F(SyncPrefsMigrationTest,
+       ReplacingSyncWithSignin_MigratesBookmarksNotOptedIn) {
+  // The regular Bookmarks and ReadingList prefs are enabled, but the additional
+  // opt-in pref is not.
+  SetBooleanUserPrefValue(kBookmarksPref, PREF_TRUE);
+  SetBooleanUserPrefValue(kReadingListPref, PREF_TRUE);
+  ASSERT_EQ(GetBooleanUserPrefValue(
+                prefs::internal::kBookmarksAndReadingListAccountStorageOptIn),
+            PREF_UNSET);
+  ASSERT_FALSE(
+      SyncPrefs(&pref_service_)
+          .GetSelectedTypes(SyncPrefs::SyncAccountState::kSignedInNotSyncing)
+          .HasAny({UserSelectableType::kBookmarks,
+                   UserSelectableType::kReadingList}));
+
+  // Now (on the next browser restart) the feature gets enabled, and the
+  // migration runs.
+  base::test::ScopedFeatureList feature_list(
+      kReplaceSyncPromosWithSignInPromos);
+
+  // Sanity check: Without the migration, Bookmarks and ReadingList would now be
+  // considered enabled.
+  ASSERT_TRUE(
+      SyncPrefs(&pref_service_)
+          .GetSelectedTypes(SyncPrefs::SyncAccountState::kSignedInNotSyncing)
+          .HasAll({UserSelectableType::kBookmarks,
+                   UserSelectableType::kReadingList}));
+
+  // Run the migration!
+  SyncPrefs(&pref_service_)
+      .MaybeMigratePrefsForReplacingSyncWithSignin(
+          SyncPrefs::SyncAccountState::kSignedInNotSyncing);
+
+  // After the migration, bookmarks should be disabled.
+  EXPECT_TRUE(BooleanUserPrefMatches(kBookmarksPref, PREF_FALSE));
+  EXPECT_TRUE(BooleanUserPrefMatches(kReadingListPref, PREF_FALSE));
+  EXPECT_FALSE(
+      SyncPrefs(&pref_service_)
+          .GetSelectedTypes(SyncPrefs::SyncAccountState::kSignedInNotSyncing)
+          .HasAny({UserSelectableType::kBookmarks,
+                   UserSelectableType::kReadingList}));
+}
+#endif  // BUILDFLAG(IS_IOS)
+
 }  // namespace
 
 }  // namespace syncer
diff --git a/components/sync/protocol/password_sharing_invitation_specifics.proto b/components/sync/protocol/password_sharing_invitation_specifics.proto
index 0f5f8a8..ec3b660 100644
--- a/components/sync/protocol/password_sharing_invitation_specifics.proto
+++ b/components/sync/protocol/password_sharing_invitation_specifics.proto
@@ -11,14 +11,104 @@
 
 package sync_pb;
 
+import "components/sync/protocol/nigori_specifics.proto";
+
+message PasswordSharingInvitationData {
+  // Contains password fields required for sending. See PasswordSpecificsData
+  // for field descriptions.
+  message PasswordData {
+    optional string password_value = 1;
+
+    // See PasswordSpecificsData::Scheme for values.
+    optional int32 scheme = 2;
+    optional string signon_realm = 3;
+    optional string origin = 4;
+    optional string username_element = 5;
+    optional string username_value = 6;
+    optional string password_element = 7;
+    optional string display_name = 8;
+    optional string avatar_url = 9;
+  }
+
+  optional PasswordData password_data = 1;
+}
+
+// Contains user profile information.
+message UserDisplayInfo {
+  // Primary email address of the user.
+  optional string email = 1;
+
+  // The user's full name.
+  optional string display_name = 2;
+
+  // Portrait photo of the user.
+  optional string profile_image_url = 3;
+}
+
+message UserInfo {
+  // Obfuscated Gaia ID.
+  optional string user_id = 1;
+
+  optional UserDisplayInfo user_display_info = 2;
+
+  // Latest user's public key registered on the server.
+  optional PublicKey public_key = 3;
+}
+
+// Encryption key used to encrypt PasswordSharingInvitationData.
+message SharingSymmetricKey {
+  optional bytes key_value = 1;
+}
+
 // Incoming invitations for password sending.
 message IncomingPasswordSharingInvitationSpecifics {
-  // Unique client tag for the invitation.
+  // Unique client tag for the invitation. This does *not* have to be the same
+  // GUID as for the outgoing invitation.
   optional string guid = 1;
+
+  // Profile information about the sender of the password. Sender's public key
+  // is used to authenticate the sender for `encrypted_key_for_recipient`.
+  optional UserInfo sender_info = 2;
+
+  // PasswordSharingInvitationData, encrypted using the encryption key from
+  // `encrypted_key_for_recipient`.
+  optional bytes encrypted_password_sharing_invitation_data = 3;
+
+  // An unsynced field for use internally on the client. This field should
+  // never be set in any network-based communications because it contains
+  // unencrypted material.
+  optional PasswordSharingInvitationData client_only_unencrypted_data = 4;
+
+  // Encrypted SharingSymmetricKey using recipient's public key corresponding to
+  // `recipient_key_version` and sender's private key to authenticate the
+  // sender, see https://www.rfc-editor.org/rfc/rfc9180.html.
+  optional bytes encrypted_key_for_recipient = 5;
+  optional uint32 recipient_key_version = 6;
 }
 
 // Outgoing invitations for password sending.
 message OutgoingPasswordSharingInvitationSpecifics {
-  // Unique client tag for the invitation.
+  // Unique client tag for the invitation, generated by the client.
   optional string guid = 1;
+
+  // Recipient's user identifier (obfuscated Gaia ID).
+  optional string recipient_user_id = 2;
+
+  // The actual data, contains an encrypted PasswordSharingInvitationData using
+  // an encryption key from `encrypted_key_for_recipient`.
+  optional bytes encrypted_password_sharing_invitation_data = 3;
+
+  // An unsynced field for use internally on the client. This field should
+  // never be set in any network-based communications because it contains
+  // unencrypted material.
+  optional PasswordSharingInvitationData client_only_unencrypted_data = 4;
+
+  // Encrypted SharingSymmetricKey using recipient's public key corresponding to
+  // `recipient_key_version`.
+  optional bytes encrypted_key_for_recipient = 5;
+  optional uint32 recipient_key_version = 6;
+
+  // Version of Public key of the sender which is used to authenticate the
+  // sender of the password. Must be equal to the latest committed version.
+  optional uint32 sender_key_version = 7;
 }
diff --git a/components/sync/protocol/proto_visitors.h b/components/sync/protocol/proto_visitors.h
index 6baef99f..3bd2953e 100644
--- a/components/sync/protocol/proto_visitors.h
+++ b/components/sync/protocol/proto_visitors.h
@@ -677,6 +677,11 @@
 VISIT_PROTO_FIELDS(
     const sync_pb::IncomingPasswordSharingInvitationSpecifics& proto) {
   VISIT(guid);
+  VISIT(sender_info);
+  VISIT(encrypted_password_sharing_invitation_data);
+  VISIT(client_only_unencrypted_data);
+  VISIT(encrypted_key_for_recipient);
+  VISIT(recipient_key_version);
 }
 
 VISIT_PROTO_FIELDS(const sync_pb::InvalidationSpecificFields& proto) {
@@ -874,6 +879,29 @@
 VISIT_PROTO_FIELDS(
     const sync_pb::OutgoingPasswordSharingInvitationSpecifics& proto) {
   VISIT(guid);
+  VISIT(recipient_user_id);
+  VISIT(encrypted_password_sharing_invitation_data);
+  VISIT(client_only_unencrypted_data);
+  VISIT(encrypted_key_for_recipient);
+  VISIT(recipient_key_version);
+  VISIT(sender_key_version);
+}
+
+VISIT_PROTO_FIELDS(const sync_pb::PasswordSharingInvitationData& proto) {
+  VISIT(password_data);
+}
+
+VISIT_PROTO_FIELDS(
+    const sync_pb::PasswordSharingInvitationData::PasswordData& proto) {
+  VISIT(password_value);
+  VISIT(scheme);
+  VISIT(signon_realm);
+  VISIT(origin);
+  VISIT(username_element);
+  VISIT(username_value);
+  VISIT(password_element);
+  VISIT(display_name);
+  VISIT(avatar_url);
 }
 
 VISIT_PROTO_FIELDS(const sync_pb::PasswordSpecifics& proto) {
@@ -1153,6 +1181,10 @@
   VISIT_BYTES(server);
 }
 
+VISIT_PROTO_FIELDS(const sync_pb::SharingSymmetricKey& proto) {
+  VISIT_BYTES(key_value);
+}
+
 VISIT_PROTO_FIELDS(const sync_pb::SyncCycleCompletedEventInfo& proto) {
   VISIT(num_encryption_conflicts);
   VISIT(num_hierarchy_conflicts);
@@ -1234,6 +1266,18 @@
   VISIT_ENUM(event_trigger);
 }
 
+VISIT_PROTO_FIELDS(const sync_pb::UserDisplayInfo& proto) {
+  VISIT(email);
+  VISIT(display_name);
+  VISIT(profile_image_url);
+}
+
+VISIT_PROTO_FIELDS(const sync_pb::UserInfo& proto) {
+  VISIT(user_id);
+  VISIT(user_display_info);
+  VISIT(public_key);
+}
+
 VISIT_PROTO_FIELDS(
     const sync_pb::UserEventSpecifics::GaiaPasswordCaptured& proto) {
   VISIT_ENUM(event_trigger);
diff --git a/components/sync/service/sync_service_impl_unittest.cc b/components/sync/service/sync_service_impl_unittest.cc
index 0c7e73f..3e8baec 100644
--- a/components/sync/service/sync_service_impl_unittest.cc
+++ b/components/sync/service/sync_service_impl_unittest.cc
@@ -581,7 +581,8 @@
   EXPECT_EQ(1, component_factory()->clear_transport_data_call_count());
 #if BUILDFLAG(IS_IOS)
   SyncPrefs sync_prefs(prefs());
-  EXPECT_FALSE(sync_prefs.IsOptedInForBookmarksAndReadingListAccountStorage());
+  EXPECT_FALSE(
+      sync_prefs.IsOptedInForBookmarksAndReadingListAccountStorageForTesting());
 #endif  // BUILDFLAG(IS_IOS)
 }
 
@@ -618,7 +619,8 @@
 
   EXPECT_EQ(1, component_factory()->clear_transport_data_call_count());
 #if BUILDFLAG(IS_IOS)
-  EXPECT_FALSE(sync_prefs.IsOptedInForBookmarksAndReadingListAccountStorage());
+  EXPECT_FALSE(
+      sync_prefs.IsOptedInForBookmarksAndReadingListAccountStorageForTesting());
 #endif  // BUILDFLAG(IS_IOS)
 }
 #endif  // !BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/components/sync/service/sync_user_settings_impl.cc b/components/sync/service/sync_user_settings_impl.cc
index aae5bf1..b86bc03 100644
--- a/components/sync/service/sync_user_settings_impl.cc
+++ b/components/sync/service/sync_user_settings_impl.cc
@@ -66,6 +66,9 @@
           std::move(sync_account_state_for_prefs_callback)) {
   DCHECK(crypto_);
   DCHECK(prefs_);
+
+  prefs_->MaybeMigratePrefsForReplacingSyncWithSignin(
+      sync_account_state_for_prefs_callback_.Run());
 }
 
 SyncUserSettingsImpl::~SyncUserSettingsImpl() = default;
diff --git a/components/sync_preferences/README.md b/components/sync_preferences/README.md
index 6297517..ed9a3ac 100644
--- a/components/sync_preferences/README.md
+++ b/components/sync_preferences/README.md
@@ -25,6 +25,10 @@
 * If the pref contains URLs (example: site permissions), it **must** be marked
   as `is_history_opt_in_required = true`, and it will only be synced if the
   user has opted in to history sync.
+* If the pref is marked as "priority" (`syncer::PRIORITY_PREFERENCES` or
+  `syncer::OS_PRIORITY_PREFERENCES`), then it will not be encrypted. Carefully
+  consider if it actually needs to be "priority". (The most common reason for
+  this is when the pref needs to be consumed on the server side.)
 * In any other cases that are unclear or questionable, reach out to
   chrome-privacy-core@google.com, or to rainhard@ directly.
 
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
index 603a683e..9209700e 100644
--- a/components/viz/common/features.cc
+++ b/components/viz/common/features.cc
@@ -284,6 +284,12 @@
 const base::FeatureParam<double> kADPFMidFrameBoostDurationMultiplier{
     &kEnableADPFMidFrameBoost, "adpf_mid_frame_boost_multiplier", 1.0};
 
+// If enabled, Chrome includes the Renderer Main thread(s) into the
+// ADPF(Android Dynamic Performance Framework) hint session.
+BASE_FEATURE(kEnableADPFRendererMain,
+             "EnableADPFRendererMain",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+
 bool IsDelegatedCompositingEnabled() {
   return base::FeatureList::IsEnabled(kDelegatedCompositing);
 }
diff --git a/components/viz/common/features.h b/components/viz/common/features.h
index 3db0227..8c4d4bc 100644
--- a/components/viz/common/features.h
+++ b/components/viz/common/features.h
@@ -74,6 +74,7 @@
 VIZ_COMMON_EXPORT BASE_DECLARE_FEATURE(kEnableADPFMidFrameBoost);
 VIZ_COMMON_EXPORT extern const base::FeatureParam<double>
     kADPFMidFrameBoostDurationMultiplier;
+VIZ_COMMON_EXPORT BASE_DECLARE_FEATURE(kEnableADPFRendererMain);
 
 VIZ_COMMON_EXPORT extern const char kDraw1Point12Ms[];
 VIZ_COMMON_EXPORT extern const char kDraw2Points6Ms[];
diff --git a/components/viz/common/gpu/dawn_context_provider.cc b/components/viz/common/gpu/dawn_context_provider.cc
index 3db27c8d..063986e2 100644
--- a/components/viz/common/gpu/dawn_context_provider.cc
+++ b/components/viz/common/gpu/dawn_context_provider.cc
@@ -18,6 +18,10 @@
 #include "third_party/skia/include/gpu/graphite/dawn/DawnBackendContext.h"
 #include "third_party/skia/include/gpu/graphite/dawn/DawnUtils.h"
 
+#if BUILDFLAG(IS_WIN)
+#include "third_party/dawn/include/dawn/native/D3D11Backend.h"
+#endif
+
 namespace viz {
 
 namespace {
@@ -71,6 +75,13 @@
 
 DawnContextProvider::~DawnContextProvider() = default;
 
+#if BUILDFLAG(IS_WIN)
+Microsoft::WRL::ComPtr<ID3D11Device> DawnContextProvider::GetD3D11Device()
+    const {
+  return dawn::native::d3d11::GetD3D11Device(device_.Get());
+}
+#endif
+
 wgpu::Device DawnContextProvider::CreateDevice(wgpu::BackendType type) {
 #if DCHECK_IS_ON()
   instance_.EnableBackendValidation(true);
diff --git a/components/viz/common/gpu/dawn_context_provider.h b/components/viz/common/gpu/dawn_context_provider.h
index a183987..5a60b1f 100644
--- a/components/viz/common/gpu/dawn_context_provider.h
+++ b/components/viz/common/gpu/dawn_context_provider.h
@@ -7,11 +7,17 @@
 
 #include <memory>
 
+#include "build/build_config.h"
 #include "components/viz/common/viz_dawn_context_provider_export.h"
 #include "third_party/dawn/include/dawn/native/DawnNative.h"
 #include "third_party/skia/include/gpu/graphite/ContextOptions.h"
 #include "third_party/skia/include/gpu/graphite/dawn/DawnTypes.h"
 
+#if BUILDFLAG(IS_WIN)
+#include <d3d11.h>
+#include <wrl/client.h>
+#endif
+
 namespace skgpu::graphite {
 class Context;
 }  // namespace skgpu::graphite
@@ -30,6 +36,10 @@
   wgpu::Device GetDevice() const { return device_; }
   wgpu::Instance GetInstance() const { return instance_.Get(); }
 
+#if BUILDFLAG(IS_WIN)
+  Microsoft::WRL::ComPtr<ID3D11Device> GetD3D11Device() const;
+#endif
+
   bool InitializeGraphiteContext(
       const skgpu::graphite::ContextOptions& options);
 
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl.cc b/components/viz/service/display_embedder/skia_output_surface_impl.cc
index f5af098f..0416f82 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl.cc
+++ b/components/viz/service/display_embedder/skia_output_surface_impl.cc
@@ -54,6 +54,7 @@
 #include "third_party/skia/include/gpu/ganesh/SkImageGanesh.h"
 #include "third_party/skia/include/gpu/graphite/Image.h"
 #include "third_party/skia/include/gpu/graphite/Recorder.h"
+#include "third_party/skia/include/gpu/graphite/YUVABackendTextures.h"
 #include "ui/base/ui_base_features.h"
 #include "ui/gfx/color_space.h"
 #include "ui/gfx/geometry/skia_conversions.h"
@@ -544,32 +545,32 @@
                        subsampling, kIdentity_SkYUVColorSpace);
   sk_sp<SkImage> image;
   if (graphite_recorder_) {
-    for (auto* context : contexts) {
+    std::array<skgpu::graphite::TextureInfo, SkYUVAInfo::kMaxPlanes>
+        texture_infos;
+    void* fulfills[SkYUVAInfo::kMaxPlanes] = {};
+    for (size_t i = 0; i < contexts.size(); ++i) {
+      auto* context = static_cast<ImageContextImpl*>(contexts[i]);
+      auto format = context->format();
       // NOTE: We don't have promises for individual planes, but still need
       // texture info for fallback. Fallback textures are not considered YUV
       // planes since they are allocated separately and need write usage.
-      context->SetImage(
-          nullptr, {gpu::GetGraphiteTextureInfo(dependency_->gr_context_type(),
-                                                context->format())});
+      context->SetImage(nullptr, {gpu::GetGraphiteTextureInfo(
+                                     dependency_->gr_context_type(), format)});
+
+      texture_infos[i] =
+          gpu::GetGraphiteTextureInfo(dependency_->gr_context_type(), format,
+                                      /*plane_index=*/0, /*is_yuv_plane=*/true);
+      fulfills[i] = new FulfillForPlane(context);
     }
-    // TODO(crbug.com/1434131): Make Graphite YUVA promise image once that's
-    // supported by Skia.
-    auto y_format = y_context->format();
-    skgpu::graphite::TextureInfo texture_info =
-        gpu::GetGraphiteTextureInfo(dependency_->gr_context_type(), y_format,
-                                    /*plane_index=*/0, /*is_yuv_plane=*/true);
-    SkColorType color_type = ToClosestSkColorType(/*gpu_compositing=*/true,
-                                                  y_format, /*plane_index=*/0);
-    SkColorInfo color_info(color_type, y_context->alpha_type(),
-                           y_context->color_space());
-    void* fulfill = new FulfillForPlane(y_context);
-    image = SkImages::PromiseTextureFrom(
-        graphite_recorder_, gfx::SizeToSkISize(y_context->size()), texture_info,
-        color_info, skgpu::graphite::Volatile::kYes, FulfillGraphite, CleanUp,
-        ReleaseGraphite, fulfill);
+    skgpu::graphite::YUVABackendTextureInfo yuva_backend_info(
+        graphite_recorder_, yuva_info, texture_infos, skgpu::Mipmapped::kNo);
+    image = SkImages::PromiseTextureFromYUVA(
+        graphite_recorder_, yuva_backend_info, std::move(image_color_space),
+        skgpu::graphite::Volatile::kYes, FulfillGraphite, CleanUp,
+        ReleaseGraphite, {}, fulfills);
   } else {
-    GrBackendFormat formats[4] = {};
-    void* fulfills[4] = {};
+    GrBackendFormat formats[SkYUVAInfo::kMaxPlanes] = {};
+    void* fulfills[SkYUVAInfo::kMaxPlanes] = {};
     for (size_t i = 0; i < contexts.size(); ++i) {
       auto* context = static_cast<ImageContextImpl*>(contexts[i]);
       formats[i] =
@@ -651,25 +652,28 @@
   SkYUVAInfo yuva_info(gfx::SizeToSkISize(image_context->size()), plane_config,
                        subsampling, sk_yuv_color_space);
   if (graphite_recorder_) {
-    // TODO(crbug.com/1434131): Make Graphite YUVA promise image once that's
-    // supported by Skia.
-    skgpu::graphite::TextureInfo texture_info =
-        gpu::GetGraphiteTextureInfo(dependency_->gr_context_type(), format,
-                                    /*plane_index=*/0, /*is_yuv_plane=*/true);
-    SkColorType color_type = ToClosestSkColorType(/*gpu_compositing=*/true,
-                                                  format, /*plane_index=*/0);
-    SkColorInfo color_info(color_type, image_context->alpha_type(),
-                           image_context->color_space());
-    void* fulfill = new FulfillForPlane(image_context, /*plane_index=*/0);
-    auto image = SkImages::PromiseTextureFrom(
-        graphite_recorder_, gfx::SizeToSkISize(image_context->size()),
-        texture_info, color_info, skgpu::graphite::Volatile::kYes,
-        FulfillGraphite, CleanUp, ReleaseGraphite, fulfill);
-    image_context->SetImage(std::move(image), {texture_info});
+    std::vector<skgpu::graphite::TextureInfo> texture_infos;
+    void* fulfills[SkYUVAInfo::kMaxPlanes] = {};
+    for (int plane_index = 0; plane_index < format.NumberOfPlanes();
+         plane_index++) {
+      CHECK_EQ(image_context->origin(), kTopLeft_GrSurfaceOrigin);
+      fulfills[plane_index] = new FulfillForPlane(image_context, plane_index);
+      texture_infos.emplace_back(gpu::GetGraphiteTextureInfo(
+          dependency_->gr_context_type(), format, plane_index));
+    }
+
+    skgpu::graphite::YUVABackendTextureInfo yuva_backend_info(
+        graphite_recorder_, yuva_info, texture_infos, skgpu::Mipmapped::kNo);
+    auto image = SkImages::PromiseTextureFromYUVA(
+        graphite_recorder_, yuva_backend_info, image_context->color_space(),
+        skgpu::graphite::Volatile::kYes, FulfillGraphite, CleanUp,
+        ReleaseGraphite, {}, fulfills);
+    DCHECK(image);
+    image_context->SetImage(std::move(image), std::move(texture_infos));
   } else {
     CHECK(gr_context_thread_safe_);
     std::vector<GrBackendFormat> formats;
-    void* fulfills[4] = {};
+    void* fulfills[SkYUVAInfo::kMaxPlanes] = {};
     for (int plane_index = 0; plane_index < format.NumberOfPlanes();
          ++plane_index) {
       CHECK_EQ(image_context->origin(), kTopLeft_GrSurfaceOrigin);
@@ -685,7 +689,7 @@
         gr_context_thread_safe_, yuva_backend_info,
         image_context->color_space(), FulfillGanesh, CleanUp, fulfills);
     DCHECK(image);
-    image_context->SetImage(std::move(image), formats);
+    image_context->SetImage(std::move(image), std::move(formats));
   }
 }
 
diff --git a/components/webapps/browser/android/BUILD.gn b/components/webapps/browser/android/BUILD.gn
index 74f3d13..3931847 100644
--- a/components/webapps/browser/android/BUILD.gn
+++ b/components/webapps/browser/android/BUILD.gn
@@ -100,7 +100,6 @@
     "java/res/layout/add_to_homescreen_dialog.xml",
     "java/res/layout/image_zoom_view.xml",
     "java/res/layout/pwa_install_bottom_sheet_content.xml",
-    "java/res/layout/pwa_install_bottom_sheet_toolbar.xml",
     "java/res/mipmap-hdpi/shortcut_icon_shadow.png",
     "java/res/mipmap-mdpi/shortcut_icon_shadow.png",
     "java/res/mipmap-xhdpi/shortcut_icon_shadow.png",
diff --git a/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_content.xml b/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_content.xml
index d73d33d..f6f52669 100644
--- a/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_content.xml
+++ b/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_content.xml
@@ -6,15 +6,89 @@
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical">
+    <FrameLayout
+        android:id="@+id/toolbar"
+        android:clickable="true"
+        android:focusable="true"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <ImageView
+            android:id="@+id/drag_handlebar"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp"
+            android:importantForAccessibility="no"
+            app:srcCompat="@drawable/drag_handlebar" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:weightSum="10"
+            android:layout_marginTop="16dp"
+            android:layout_marginBottom="6dp"
+            android:paddingStart="16dp"
+            android:paddingEnd="16dp">
+
+            <ImageView
+                android:id="@+id/app_icon"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center"
+                android:importantForAccessibility="no" />
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_weight="10"
+                android:layout_marginStart="16dp"
+                android:layout_marginEnd="4dp"
+                android:orientation="vertical">
+
+                <TextView
+                    android:id="@+id/app_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:focusable="true"
+                    android:ellipsize="end"
+                    android:singleLine="true"
+                    android:textAppearance="@style/TextAppearance.TextMedium.Primary" />
+                <TextView
+                    android:id="@+id/app_origin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:focusable="true"
+                    android:ellipsize="start"
+                    android:singleLine="true"
+                    android:textAppearance="@style/TextAppearance.TextMedium.Secondary" />
+
+            </LinearLayout>
+
+            <org.chromium.ui.widget.ButtonCompat
+                android:id="@+id/button_install"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="end|center"
+                android:enabled="false"
+                android:singleLine="true"
+                android:gravity="center"
+                android:text="@string/app_banner_install"
+                style="@style/FilledButton.Flat"/>
+
+        </LinearLayout>
+    </FrameLayout>
     <View
+        android:id="@+id/horizontal_divider"
         style="@style/HorizontalDivider"
         android:layout_width="match_parent"
         android:background="@macro/divider_line_bg_color"
-        android:layout_marginTop="70dp"
         android:importantForAccessibility="no" />
 
     <androidx.core.widget.NestedScrollView
@@ -23,32 +97,32 @@
         android:orientation="vertical">
 
         <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
-
-        <TextView
-            android:id="@+id/description"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:focusable="true"
-            android:layout_marginStart="16dp"
-            android:layout_marginEnd="16dp"
-            android:layout_marginTop="16dp"
-            android:ellipsize="end"
-            android:lineHeight="20dp"
-            android:maxLines="7"
-            android:textAppearance="@style/TextAppearance.TextMedium.Primary" />
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/screenshots_container"
             android:layout_width="match_parent"
-            android:layout_height="320dp"
-            android:layout_marginTop="24dp"
-            android:layout_marginBottom="16dp"
-            android:orientation="horizontal"
-            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
+            android:layout_height="match_parent"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/description"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:focusable="true"
+                android:layout_marginStart="16dp"
+                android:layout_marginEnd="16dp"
+                android:layout_marginTop="16dp"
+                android:ellipsize="end"
+                android:lineHeight="20sp"
+                android:maxLines="7"
+                android:textAppearance="@style/TextAppearance.TextMedium.Primary" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/screenshots_container"
+                android:layout_width="match_parent"
+                android:layout_height="320dp"
+                android:layout_marginTop="24dp"
+                android:layout_marginBottom="16dp"
+                android:orientation="horizontal"
+                app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
 
         </LinearLayout>
     </androidx.core.widget.NestedScrollView>
-</LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_toolbar.xml b/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_toolbar.xml
deleted file mode 100644
index 0263caa4..0000000
--- a/components/webapps/browser/android/java/res/layout/pwa_install_bottom_sheet_toolbar.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright 2020 The Chromium Authors
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
--->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:clickable="true"
-    android:focusable="true"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <ImageView
-        android:id="@+id/drag_handlebar"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:paddingTop="8dp"
-        android:paddingBottom="8dp"
-        android:importantForAccessibility="no"
-        app:srcCompat="@drawable/drag_handlebar" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:weightSum="10"
-        android:layout_marginTop="16dp"
-        android:layout_marginBottom="6dp"
-        android:paddingStart="16dp"
-        android:paddingEnd="16dp">
-
-        <ImageView
-            android:id="@+id/app_icon"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            android:layout_gravity="center"
-            android:importantForAccessibility="no" />
-
-        <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:layout_weight="10"
-            android:layout_marginStart="16dp"
-            android:layout_marginEnd="4dp"
-            android:orientation="vertical">
-
-            <TextView
-                android:id="@+id/app_name"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:focusable="true"
-                android:ellipsize="end"
-                android:singleLine="true"
-                android:textAppearance="@style/TextAppearance.TextMedium.Primary" />
-            <TextView
-                android:id="@+id/app_origin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:focusable="true"
-                android:ellipsize="start"
-                android:singleLine="true"
-                android:textAppearance="@style/TextAppearance.TextMedium.Secondary" />
-
-        </LinearLayout>
-
-        <org.chromium.ui.widget.ButtonCompat
-            android:id="@+id/button_install"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="end|center"
-            android:enabled="false"
-            android:singleLine="true"
-            android:gravity="center"
-            android:text="@string/app_banner_install"
-            style="@style/FilledButton.Flat"/>
-
-    </LinearLayout>
-</FrameLayout>
diff --git a/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetContent.java b/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetContent.java
index a7d7174c..13aa011 100644
--- a/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetContent.java
+++ b/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetContent.java
@@ -48,7 +48,12 @@
     @Nullable
     @Override
     public View getToolbarView() {
-        return mView.getToolbarView();
+        return null;
+    }
+
+    @Override
+    public int getPeekHeight() {
+        return mView.getPeekHeight();
     }
 
     @Override
diff --git a/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetView.java b/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetView.java
index 12652a1..25278969 100644
--- a/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetView.java
+++ b/components/webapps/browser/android/java/src/org/chromium/components/webapps/bottomsheet/PwaInstallBottomSheetView.java
@@ -23,8 +23,6 @@
 public class PwaInstallBottomSheetView {
     /** The context to use. */
     private final Context mContext;
-    /** The upper part of the bottom sheet. */
-    private final View mToolbarView;
     /** The lower part of the bottom sheet. */
     private final View mContentView;
 
@@ -34,8 +32,6 @@
 
         mContentView = LayoutInflater.from(context).inflate(
                 R.layout.pwa_install_bottom_sheet_content, /* root= */ null);
-        mToolbarView = LayoutInflater.from(context).inflate(
-                R.layout.pwa_install_bottom_sheet_toolbar, /* root= */ null);
 
         RecyclerView recyclerView = mContentView.findViewById(R.id.screenshots_container);
         recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
@@ -60,20 +56,16 @@
         return mContentView;
     }
 
-    public View getToolbarView() {
-        return mToolbarView;
-    }
-
     // Called through the {@link AddToHomescreenBottomSheetViewBinder} bindings
     // when the property model updates:
 
     void setTitle(String title) {
-        TextView nameView = mToolbarView.findViewById(R.id.app_name);
+        TextView nameView = mContentView.findViewById(R.id.app_name);
         nameView.setText(title);
     }
 
     void setUrl(String url) {
-        TextView originView = mToolbarView.findViewById(R.id.app_origin);
+        TextView originView = mContentView.findViewById(R.id.app_origin);
         originView.setText(url);
     }
 
@@ -84,7 +76,7 @@
     }
 
     void setIcon(Bitmap icon, boolean isAdaptive) {
-        ImageView imageView = mToolbarView.findViewById(R.id.app_icon);
+        ImageView imageView = mContentView.findViewById(R.id.app_icon);
         if (isAdaptive && WebappsIconUtils.doesAndroidSupportMaskableIcons()) {
             imageView.setImageBitmap(WebappsIconUtils.generateAdaptiveIconBitmap(icon));
         } else {
@@ -94,12 +86,17 @@
     }
 
     void setCanSubmit(boolean canSubmit) {
-        mToolbarView.findViewById(R.id.button_install).setEnabled(canSubmit);
+        mContentView.findViewById(R.id.button_install).setEnabled(canSubmit);
+    }
+
+    // Since toolbar is merged into content this is required for peeking state.
+    int getPeekHeight() {
+        return mContentView.findViewById(R.id.toolbar).getHeight();
     }
 
     void setOnClickListener(View.OnClickListener listener) {
-        mToolbarView.findViewById(R.id.button_install).setOnClickListener(listener);
-        mToolbarView.findViewById(R.id.drag_handlebar).setOnClickListener(listener);
+        mContentView.findViewById(R.id.button_install).setOnClickListener(listener);
+        mContentView.findViewById(R.id.drag_handlebar).setOnClickListener(listener);
     }
 
     // Testing functions:
diff --git a/components/webauthn/android/fido2credentialrequest_native_android.cc b/components/webauthn/android/fido2credentialrequest_native_android.cc
index 2690b85..01a341a 100644
--- a/components/webauthn/android/fido2credentialrequest_native_android.cc
+++ b/components/webauthn/android/fido2credentialrequest_native_android.cc
@@ -14,6 +14,7 @@
 #include "components/webauthn/json/value_conversions.h"
 #include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h"
 
+namespace webauthn {
 namespace {
 
 // MojoClassToJSON takes a serialized Mojo object and returns a Java String
@@ -90,3 +91,5 @@
   return MojoClassFromJSON<blink::mojom::GetAssertionAuthenticatorResponse>(
       env, webauthn::GetAssertionResponseFromValue, jjson);
 }
+
+}  // namespace webauthn
diff --git a/components/webauthn/android/internal_authenticator_android.cc b/components/webauthn/android/internal_authenticator_android.cc
index 4b62784..62651af43 100644
--- a/components/webauthn/android/internal_authenticator_android.cc
+++ b/components/webauthn/android/internal_authenticator_android.cc
@@ -27,6 +27,8 @@
 using base::android::ScopedJavaLocalRef;
 using base::android::ToJavaArrayOfByteArray;
 
+namespace webauthn {
+
 InternalAuthenticatorAndroid::InternalAuthenticatorAndroid(
     content::RenderFrameHost* render_frame_host)
     : render_frame_host_id_(render_frame_host->GetGlobalId()) {
@@ -227,3 +229,5 @@
   }
   return java_internal_authenticator_ref_;
 }
+
+}  // namespace webauthn
diff --git a/components/webauthn/android/internal_authenticator_android.h b/components/webauthn/android/internal_authenticator_android.h
index beac862..eeff776 100644
--- a/components/webauthn/android/internal_authenticator_android.h
+++ b/components/webauthn/android/internal_authenticator_android.h
@@ -18,6 +18,8 @@
 class RenderFrameHost;
 }  // namespace content
 
+namespace webauthn {
+
 // Implementation of the public InternalAuthenticator interface.
 // This class is meant only for trusted and internal components of Chrome to
 // use. The Android implementation is in
@@ -88,4 +90,6 @@
       get_matching_credential_ids_callback_;
 };
 
+}  // namespace webauthn
+
 #endif  // COMPONENTS_WEBAUTHN_ANDROID_INTERNAL_AUTHENTICATOR_ANDROID_H_
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java
index e4a7962..f337c65 100644
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java
@@ -29,6 +29,7 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
 import org.chromium.base.PackageUtils;
+import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
 import org.chromium.blink.mojom.AuthenticatorStatus;
 import org.chromium.blink.mojom.AuthenticatorTransport;
@@ -71,6 +72,7 @@
  * Uses the Google Play Services Fido2 APIs.
  * Holds the logic of each request.
  */
+@JNINamespace("webauthn")
 public class Fido2CredentialRequest implements Callback<Pair<Integer, Intent>> {
     private static final String TAG = "Fido2Request";
     private static final String CRED_MAN_PREFIX = "androidx.credentials.";
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/InternalAuthenticator.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/InternalAuthenticator.java
index bd1c036..05e0173 100644
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/InternalAuthenticator.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/InternalAuthenticator.java
@@ -7,6 +7,7 @@
 import androidx.annotation.VisibleForTesting;
 
 import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
 import org.chromium.blink.mojom.AuthenticatorStatus;
 import org.chromium.blink.mojom.PaymentOptions;
@@ -25,6 +26,7 @@
  * The origin associated with requests on InternalAuthenticator should be set by calling
  * setEffectiveOrigin() first.
  */
+@JNINamespace("webauthn")
 public class InternalAuthenticator {
     private long mNativeInternalAuthenticatorAndroid;
     private final AuthenticatorImpl mAuthenticator;
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebAuthnBrowserBridge.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebAuthnBrowserBridge.java
index 63bca6d8..1db90c5 100644
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebAuthnBrowserBridge.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebAuthnBrowserBridge.java
@@ -6,6 +6,7 @@
 
 import org.chromium.base.Callback;
 import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
 import org.chromium.content_public.browser.RenderFrameHost;
 
@@ -15,6 +16,7 @@
  * Provides a bridge from the the Android Web Authentication request handlers
  * to the embedding browser.
  */
+@JNINamespace("webauthn")
 public class WebAuthnBrowserBridge {
     private long mNativeWebAuthnBrowserBridge;
 
diff --git a/components/webauthn/android/webauthn_browser_bridge.cc b/components/webauthn/android/webauthn_browser_bridge.cc
index ba4abf3..d0755106 100644
--- a/components/webauthn/android/webauthn_browser_bridge.cc
+++ b/components/webauthn/android/webauthn_browser_bridge.cc
@@ -19,6 +19,8 @@
 
 using base::android::ScopedJavaLocalRef;
 
+namespace webauthn {
+
 device::DiscoverableCredentialMetadata ConvertJavaCredentialDetailsToMetadata(
     JNIEnv* env,
     ScopedJavaLocalRef<jobject> j_credential) {
@@ -94,7 +96,7 @@
     jboolean is_conditional_request,
     const base::android::JavaParamRef<jobject>& jget_assertion_callback,
     const base::android::JavaParamRef<jobject>& jhybrid_callback) const {
-  auto* client = components::WebAuthnClientAndroid::GetClient();
+  auto* client = WebAuthnClientAndroid::GetClient();
   auto* render_frame_host =
       content::RenderFrameHost::FromJavaRenderFrameHost(jframe_host);
   // A null client indicates the embedder does not support Conditional UI.
@@ -143,7 +145,7 @@
     const base::android::JavaParamRef<jobject>& jframe_host,
     jboolean jhas_results,
     const base::android::JavaParamRef<jobject>& jfull_request_runnable) {
-  auto* client = components::WebAuthnClientAndroid::GetClient();
+  auto* client = WebAuthnClientAndroid::GetClient();
   auto* render_frame_host =
       content::RenderFrameHost::FromJavaRenderFrameHost(jframe_host);
   if (!client || !render_frame_host ||
@@ -161,7 +163,7 @@
     JNIEnv* env,
     const base::android::JavaParamRef<jobject>& jframe_host,
     jboolean jsuccess) {
-  auto* client = components::WebAuthnClientAndroid::GetClient();
+  auto* client = WebAuthnClientAndroid::GetClient();
   auto* render_frame_host =
       content::RenderFrameHost::FromJavaRenderFrameHost(jframe_host);
   if (!client || !render_frame_host ||
@@ -174,7 +176,7 @@
 void WebAuthnBrowserBridge::CleanupRequest(
     JNIEnv* env,
     const base::android::JavaParamRef<jobject>& jframe_host) const {
-  auto* client = components::WebAuthnClientAndroid::GetClient();
+  auto* client = WebAuthnClientAndroid::GetClient();
   auto* render_frame_host =
       content::RenderFrameHost::FromJavaRenderFrameHost(jframe_host);
 
@@ -189,3 +191,5 @@
 
   client->CleanupWebAuthnRequest(render_frame_host);
 }
+
+}  // namespace webauthn
diff --git a/components/webauthn/android/webauthn_browser_bridge.h b/components/webauthn/android/webauthn_browser_bridge.h
index f3aded88..0339abbe 100644
--- a/components/webauthn/android/webauthn_browser_bridge.h
+++ b/components/webauthn/android/webauthn_browser_bridge.h
@@ -7,6 +7,8 @@
 
 #include "base/android/scoped_java_ref.h"
 
+namespace webauthn {
+
 class WebAuthnBrowserBridge {
  public:
   WebAuthnBrowserBridge(JNIEnv* env,
@@ -46,4 +48,6 @@
   base::android::ScopedJavaGlobalRef<jobject> owner_;
 };
 
+}  // namespace webauthn
+
 #endif  // COMPONENTS_WEBAUTHN_ANDROID_WEBAUTHN_BROWSER_BRIDGE_H_
diff --git a/components/webauthn/android/webauthn_client_android.cc b/components/webauthn/android/webauthn_client_android.cc
index 95bd1f13..b933db0 100644
--- a/components/webauthn/android/webauthn_client_android.cc
+++ b/components/webauthn/android/webauthn_client_android.cc
@@ -11,7 +11,7 @@
 #include "components/webauthn/android/webauthn_cred_man_delegate_factory.h"
 #include "content/public/browser/web_contents.h"
 
-namespace components {
+namespace webauthn {
 
 // The WebAuthnClientAndroid instance, which is set by the embedder.
 WebAuthnClientAndroid* g_webauthn_client = nullptr;
@@ -56,4 +56,4 @@
   }
 }
 
-}  // namespace components
+}  // namespace webauthn
diff --git a/components/webauthn/android/webauthn_client_android.h b/components/webauthn/android/webauthn_client_android.h
index e5d4b33..78f9d97 100644
--- a/components/webauthn/android/webauthn_client_android.h
+++ b/components/webauthn/android/webauthn_client_android.h
@@ -17,7 +17,7 @@
 class DiscoverableCredentialMetadata;
 }
 
-namespace components {
+namespace webauthn {
 
 class WebAuthnClientAndroid {
  public:
@@ -58,6 +58,6 @@
                          bool success);
 };
 
-}  // namespace components
+}  // namespace webauthn
 
 #endif  // COMPONENTS_WEBAUTHN_ANDROID_WEBAUTHN_CLIENT_ANDROID_H_
diff --git a/components/webauthn/core/browser/passkey_model.h b/components/webauthn/core/browser/passkey_model.h
index 10714bbd..93c4682 100644
--- a/components/webauthn/core/browser/passkey_model.h
+++ b/components/webauthn/core/browser/passkey_model.h
@@ -22,6 +22,8 @@
 class ModelTypeControllerDelegate;
 }
 
+namespace webauthn {
+
 // PasskeyModel provides access to passkeys, which are represented as
 // WebauthnCredentialSpecifics in Sync.
 //
@@ -77,4 +79,6 @@
       sync_pb::WebauthnCredentialSpecifics passkey) = 0;
 };
 
+}  // namespace webauthn
+
 #endif  // COMPONENTS_WEBAUTHN_CORE_BROWSER_PASSKEY_MODEL_H_
diff --git a/components/webauthn/core/browser/passkey_sync_bridge.cc b/components/webauthn/core/browser/passkey_sync_bridge.cc
index e09b981..c6b63d9 100644
--- a/components/webauthn/core/browser/passkey_sync_bridge.cc
+++ b/components/webauthn/core/browser/passkey_sync_bridge.cc
@@ -32,6 +32,7 @@
 #include "components/webauthn/core/browser/passkey_model.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
+namespace webauthn {
 namespace {
 
 // The byte length of the WebauthnCredentialSpecifics `sync_id` field.
@@ -423,3 +424,5 @@
     observer.OnPasskeysChanged();
   }
 }
+
+}  // namespace webauthn
diff --git a/components/webauthn/core/browser/passkey_sync_bridge.h b/components/webauthn/core/browser/passkey_sync_bridge.h
index ba3a5de..f677fb9 100644
--- a/components/webauthn/core/browser/passkey_sync_bridge.h
+++ b/components/webauthn/core/browser/passkey_sync_bridge.h
@@ -22,6 +22,8 @@
 class ModelError;
 }  // namespace syncer
 
+namespace webauthn {
+
 // Sync bridge implementation for WEBAUTHN_CREDENTIAL model type.
 class PasskeySyncBridge : public syncer::ModelTypeSyncBridge,
                           public PasskeyModel {
@@ -86,4 +88,6 @@
   base::WeakPtrFactory<PasskeySyncBridge> weak_ptr_factory_{this};
 };
 
+}  // namespace webauthn
+
 #endif  // COMPONENTS_WEBAUTHN_CORE_BROWSER_PASSKEY_SYNC_BRIDGE_H_
diff --git a/components/webauthn/core/browser/test_passkey_model.cc b/components/webauthn/core/browser/test_passkey_model.cc
index 1c4385b..e27496d 100644
--- a/components/webauthn/core/browser/test_passkey_model.cc
+++ b/components/webauthn/core/browser/test_passkey_model.cc
@@ -9,6 +9,8 @@
 #include "base/rand_util.h"
 #include "components/sync/protocol/webauthn_credential_specifics.pb.h"
 
+namespace webauthn {
+
 TestPasskeyModel::TestPasskeyModel() = default;
 TestPasskeyModel::~TestPasskeyModel() = default;
 
@@ -77,3 +79,5 @@
     observer.OnPasskeysChanged();
   }
 }
+
+}  // namespace webauthn
diff --git a/components/webauthn/core/browser/test_passkey_model.h b/components/webauthn/core/browser/test_passkey_model.h
index 66c5fad..3960d2e 100644
--- a/components/webauthn/core/browser/test_passkey_model.h
+++ b/components/webauthn/core/browser/test_passkey_model.h
@@ -11,6 +11,8 @@
 #include "components/sync/protocol/webauthn_credential_specifics.pb.h"
 #include "components/webauthn/core/browser/passkey_model.h"
 
+namespace webauthn {
+
 class TestPasskeyModel : public PasskeyModel {
  public:
   TestPasskeyModel();
@@ -37,4 +39,6 @@
   base::ObserverList<Observer> observers_;
 };
 
+}  // namespace webauthn
+
 #endif  // COMPONENTS_WEBAUTHN_CORE_BROWSER__TEST_PASSKEY_MODEL_H_
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
index 1ff2c98..c0dd421 100644
--- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
+++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -3430,7 +3430,9 @@
       FILE_PATH_LITERAL("frozen-ancestor-cannot-change-descendants.html"));
 }
 
-IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, HiddenTable) {
+// TODO(crbug.com/1454778) Flaky on ChromeOS, Linux, Mac, Windows for parameter
+// "blink".
+IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, DISABLED_HiddenTable) {
   RunRegressionTest(FILE_PATH_LITERAL("hidden-table.html"));
 }
 
diff --git a/content/browser/browsing_topics/browsing_topics_site_data_storage_unittest.cc b/content/browser/browsing_topics/browsing_topics_site_data_storage_unittest.cc
index 6121ba1..220939e 100644
--- a/content/browser/browsing_topics/browsing_topics_site_data_storage_unittest.cc
+++ b/content/browser/browsing_topics/browsing_topics_site_data_storage_unittest.cc
@@ -489,7 +489,7 @@
  public:
   BrowsingTopicsSiteDataStorageMaxEntriesToLoadTest() {
     feature_list_.InitAndEnableFeatureWithParameters(
-        blink::features::kBrowsingTopics,
+        blink::features::kBrowsingTopicsParameters,
         {{"max_number_of_api_usage_context_entries_to_load_per_epoch", "1"}});
   }
 
diff --git a/content/browser/cross_origin_opener_policy_browsertest.cc b/content/browser/cross_origin_opener_policy_browsertest.cc
index 3398baf..e9c085e 100644
--- a/content/browser/cross_origin_opener_policy_browsertest.cc
+++ b/content/browser/cross_origin_opener_policy_browsertest.cc
@@ -45,63 +45,77 @@
 
 namespace {
 
-network::CrossOriginOpenerPolicy CoopSameOrigin() {
+network::CrossOriginOpenerPolicy CoopSameOrigin(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   coop.value = network::mojom::CrossOriginOpenerPolicyValue::kSameOrigin;
   coop.soap_by_default_value =
       network::mojom::CrossOriginOpenerPolicyValue::kSameOrigin;
+  coop.origin = origin;
   return coop;
 }
 
-network::CrossOriginOpenerPolicy CoopSameOriginPlusCoep() {
+network::CrossOriginOpenerPolicy CoopSameOriginPlusCoep(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   coop.value =
       network::mojom::CrossOriginOpenerPolicyValue::kSameOriginPlusCoep;
   coop.soap_by_default_value =
       network::mojom::CrossOriginOpenerPolicyValue::kSameOriginPlusCoep;
+  coop.origin = origin;
   return coop;
 }
 
-network::CrossOriginOpenerPolicy CoopSameOriginAllowPopups() {
+network::CrossOriginOpenerPolicy CoopSameOriginAllowPopups(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   coop.value =
       network::mojom::CrossOriginOpenerPolicyValue::kSameOriginAllowPopups;
   coop.soap_by_default_value =
       network::mojom::CrossOriginOpenerPolicyValue::kSameOriginAllowPopups;
+  coop.origin = origin;
   return coop;
 }
 
-network::CrossOriginOpenerPolicy CoopRestrictProperties() {
+network::CrossOriginOpenerPolicy CoopRestrictProperties(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   coop.value =
       network::mojom::CrossOriginOpenerPolicyValue::kRestrictProperties;
   coop.soap_by_default_value =
       network::mojom::CrossOriginOpenerPolicyValue::kRestrictProperties;
+  coop.origin = origin;
   return coop;
 }
 
-network::CrossOriginOpenerPolicy CoopRestrictPropertiesPlusCoep() {
+network::CrossOriginOpenerPolicy CoopRestrictPropertiesPlusCoep(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   coop.value =
       network::mojom::CrossOriginOpenerPolicyValue::kRestrictPropertiesPlusCoep;
   coop.soap_by_default_value =
       network::mojom::CrossOriginOpenerPolicyValue::kRestrictPropertiesPlusCoep;
+  coop.origin = origin;
   return coop;
 }
 
 // This is the value of COOP when navigating to a page without COOP set:
 //  - value is kUnsafeNone
 //  - soap_by_default_value is kSameOriginAllowPopups
-network::CrossOriginOpenerPolicy CoopUnsafeNoneWithSoapByDefault() {
+network::CrossOriginOpenerPolicy CoopUnsafeNoneWithSoapByDefault(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   coop.soap_by_default_value =
       network::mojom::CrossOriginOpenerPolicyValue::kSameOriginAllowPopups;
+  coop.origin = origin;
   return coop;
 }
 
-network::CrossOriginOpenerPolicy CoopUnsafeNone() {
+network::CrossOriginOpenerPolicy CoopUnsafeNone(
+    const absl::optional<url::Origin>& origin = absl::nullopt) {
   network::CrossOriginOpenerPolicy coop;
   // Using the default value.
+  coop.origin = origin;
   return coop;
 }
 
@@ -501,12 +515,10 @@
       static_cast<WebContentsImpl*>(shell_observer.GetShell()->web_contents())
           ->GetPrimaryMainFrame();
 
-  EXPECT_EQ(main_rfh->cross_origin_opener_policy(), CoopSameOrigin());
-  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(), CoopSameOrigin());
-  EXPECT_TRUE(main_rfh->cross_origin_opener_policy().origin->IsSameOriginWith(
-      starting_page));
-  EXPECT_TRUE(popup_rfh->cross_origin_opener_policy().origin->IsSameOriginWith(
-      starting_page));
+  EXPECT_EQ(main_rfh->cross_origin_opener_policy(),
+            CoopSameOrigin(url::Origin::Create(starting_page)));
+  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
+            CoopSameOrigin(url::Origin::Create(starting_page)));
 }
 
 IN_PROC_BROWSER_TEST_P(CrossOriginOpenerPolicyBrowserTest,
@@ -535,13 +547,9 @@
           ->GetPrimaryMainFrame();
 
   EXPECT_EQ(main_rfh->cross_origin_opener_policy(),
-            CoopSameOriginAllowPopups());
+            CoopSameOriginAllowPopups(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
-            CoopSameOriginAllowPopups());
-  EXPECT_TRUE(main_rfh->cross_origin_opener_policy().origin->IsSameOriginWith(
-      starting_page));
-  EXPECT_TRUE(popup_rfh->cross_origin_opener_policy().origin->IsSameOriginWith(
-      starting_page));
+            CoopSameOriginAllowPopups(url::Origin::Create(starting_page)));
 }
 
 IN_PROC_BROWSER_TEST_P(CrossOriginOpenerPolicyBrowserTest,
@@ -571,11 +579,9 @@
       static_cast<WebContentsImpl*>(shell_observer.GetShell()->web_contents())
           ->GetPrimaryMainFrame();
 
-  EXPECT_EQ(main_rfh->cross_origin_opener_policy(), CoopSameOrigin());
+  EXPECT_EQ(main_rfh->cross_origin_opener_policy(),
+            CoopSameOrigin(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_opener_policy(), CoopUnsafeNone());
-  EXPECT_TRUE(main_rfh->cross_origin_opener_policy().origin->IsSameOriginWith(
-      starting_page));
-  EXPECT_TRUE(!popup_rfh->cross_origin_opener_policy().origin.has_value());
 }
 
 IN_PROC_BROWSER_TEST_P(
@@ -652,7 +658,8 @@
           ->GetPrimaryMainFrame();
 
   // COOP and COEP inherited from Blob creator
-  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(), CoopSameOrigin());
+  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
+            CoopSameOrigin(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_embedder_policy().value,
             network::mojom::CrossOriginEmbedderPolicyValue::kNone);
   EXPECT_FALSE(popup_rfh->GetSiteInstance()->IsCrossOriginIsolated());
@@ -680,7 +687,8 @@
           ->GetPrimaryMainFrame();
 
   // COOP and COEP inherited from Blob creator
-  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(), CoopSameOriginPlusCoep());
+  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
+            CoopSameOriginPlusCoep(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_embedder_policy().value,
             network::mojom::CrossOriginEmbedderPolicyValue::kCredentialless);
   EXPECT_TRUE(popup_rfh->GetSiteInstance()->IsCrossOriginIsolated());
@@ -708,7 +716,8 @@
           ->GetPrimaryMainFrame();
 
   // COOP and COEP inherited from Blob creator
-  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(), CoopSameOriginPlusCoep());
+  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
+            CoopSameOriginPlusCoep(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_embedder_policy().value,
             network::mojom::CrossOriginEmbedderPolicyValue::kRequireCorp);
   EXPECT_TRUE(popup_rfh->GetSiteInstance()->IsCrossOriginIsolated());
@@ -737,7 +746,7 @@
 
   // COOP and COEP inherited from Blob creator
   EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
-            CoopSameOriginAllowPopups());
+            CoopSameOriginAllowPopups(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_embedder_policy().value,
             network::mojom::CrossOriginEmbedderPolicyValue::kRequireCorp);
   EXPECT_FALSE(popup_rfh->GetSiteInstance()->IsCrossOriginIsolated());
@@ -778,7 +787,8 @@
 
   // COOP is inherited from creator's top level document, COEP is inherited from
   // creator.
-  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(), CoopSameOrigin());
+  EXPECT_EQ(popup_rfh->cross_origin_opener_policy(),
+            CoopSameOrigin(url::Origin::Create(starting_page)));
   EXPECT_EQ(popup_rfh->cross_origin_embedder_policy().value,
             network::mojom::CrossOriginEmbedderPolicyValue::kRequireCorp);
   EXPECT_FALSE(popup_rfh->GetSiteInstance()->IsCrossOriginIsolated());
@@ -822,8 +832,9 @@
   // initiator (first popup)
   // TODO(https://crbug.com/1059300) COOP should be inherited from creator and
   // be same-origin-allow-popups, instead of inheriting from initiator.
-  EXPECT_EQ(second_popup_rfh->cross_origin_opener_policy(),
-            CoopUnsafeNoneWithSoapByDefault());
+  EXPECT_EQ(
+      second_popup_rfh->cross_origin_opener_policy(),
+      CoopUnsafeNoneWithSoapByDefault(url::Origin::Create(starting_page)));
   EXPECT_EQ(second_popup_rfh->cross_origin_embedder_policy().value,
             network::mojom::CrossOriginEmbedderPolicyValue::kNone);
   EXPECT_FALSE(second_popup_rfh->GetSiteInstance()->IsCrossOriginIsolated());
@@ -897,8 +908,14 @@
       PAGE_TYPE_NORMAL);
   ASSERT_EQ(current_frame_host()->active_sandbox_flags(),
             network::mojom::WebSandboxFlags::kAll);
-  EXPECT_EQ(web_contents()->GetPrimaryMainFrame()->cross_origin_opener_policy(),
-            CoopSameOrigin());
+  EXPECT_TRUE(web_contents()
+                  ->GetPrimaryMainFrame()
+                  ->cross_origin_opener_policy()
+                  .IsEqualExcludingOrigin(CoopSameOrigin()));
+  EXPECT_TRUE(web_contents()
+                  ->GetPrimaryMainFrame()
+                  ->cross_origin_opener_policy()
+                  .origin->opaque());
 }
 
 // Verify that navigating from a document sandboxed via CSP to a COOP document,
@@ -1086,8 +1103,12 @@
     CHECK(navigation_request->response()
               ->parsed_headers->cross_origin_embedder_policy.value ==
           expected_coep_);
-    CHECK(navigation_request->response()
-              ->parsed_headers->cross_origin_opener_policy == expected_coop_);
+    CHECK(
+        navigation_request->response()
+            ->parsed_headers->cross_origin_opener_policy.IsEqualExcludingOrigin(
+                expected_coop_));
+    CHECK(!navigation_request->response()
+               ->parsed_headers->cross_origin_opener_policy.origin.has_value());
   }
 
  private:
@@ -1105,7 +1126,7 @@
   CrossOriginPolicyHeadersObserver obs(
       web_contents(),
       network::mojom::CrossOriginEmbedderPolicyValue::kRequireCorp,
-      CoopSameOriginPlusCoep());
+      CoopSameOriginPlusCoep(url::Origin::Create(redirect_final_page)));
 
   EXPECT_TRUE(
       NavigateToURL(shell(), redirect_initial_page, redirect_final_page));
@@ -1134,7 +1155,7 @@
     EXPECT_EQ(current_frame_host()->GetSiteInstance(), initial_site_instance);
   }
   EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-            CoopUnsafeNone());
+            CoopUnsafeNone(url::Origin::Create(non_coop_page)));
 
   ASSERT_TRUE(console_observer.Wait());
 }
@@ -1350,7 +1371,7 @@
     EXPECT_FALSE(current_frame_host()->GetSiteInstance()->IsRelatedSiteInstance(
         initial_site_instance.get()));
     EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopSameOrigin());
+              CoopSameOrigin(url::Origin::Create(coop_page)));
 
     // The COOP page should no longer have any RenderFrameHostProxies.
     EXPECT_EQ(web_contents()
@@ -1412,7 +1433,7 @@
     EXPECT_FALSE(current_frame_host()->GetSiteInstance()->IsRelatedSiteInstance(
         initial_site_instance.get()));
     EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopSameOrigin());
+              CoopSameOrigin(url::Origin::Create(non_coop_page)));
 
     // The COOP page should no longer have any RenderFrameHostProxies.
     EXPECT_EQ(web_contents()
@@ -1463,7 +1484,7 @@
     EXPECT_FALSE(current_frame_host()->GetSiteInstance()->IsRelatedSiteInstance(
         initial_site_instance.get()));
     EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopUnsafeNone());
+              CoopUnsafeNone(url::Origin::Create(non_coop_page)));
 
     // The non COOP page should no longer have any RenderFrameHostProxies.
     EXPECT_EQ(web_contents()
@@ -1523,7 +1544,7 @@
     EXPECT_FALSE(current_frame_host()->GetSiteInstance()->IsRelatedSiteInstance(
         initial_site_instance.get()));
     EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopUnsafeNone());
+              CoopUnsafeNone(url::Origin::Create(non_coop_page)));
 
     // The non COOP page should no longer have any RenderFrameHostProxies.
     EXPECT_EQ(web_contents()
@@ -1549,8 +1570,9 @@
     EXPECT_TRUE(NavigateToURL(shell(), coop_allow_popups_page));
     scoped_refptr<SiteInstance> initial_site_instance(
         current_frame_host()->GetSiteInstance());
-    EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopSameOriginAllowPopups());
+    EXPECT_EQ(
+        current_frame_host()->cross_origin_opener_policy(),
+        CoopSameOriginAllowPopups(url::Origin::Create(coop_allow_popups_page)));
 
     // Ensure it has a RenderFrameProxyHost for another cross-site page.
     OpenPopup(current_frame_host(), cross_origin_non_coop_page, "");
@@ -1575,8 +1597,9 @@
     EXPECT_TRUE(NavigateToURL(shell(), coop_allow_popups_page));
     EXPECT_TRUE(current_frame_host()->GetSiteInstance()->IsRelatedSiteInstance(
         initial_site_instance.get()));
-    EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopSameOriginAllowPopups());
+    EXPECT_EQ(
+        current_frame_host()->cross_origin_opener_policy(),
+        CoopSameOriginAllowPopups(url::Origin::Create(coop_allow_popups_page)));
 
     EXPECT_EQ(web_contents()
                   ->GetPrimaryMainFrame()
@@ -1635,8 +1658,9 @@
 
     EXPECT_TRUE(current_frame_host()->GetSiteInstance()->IsRelatedSiteInstance(
         initial_site_instance.get()));
-    EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-              CoopSameOriginAllowPopups());
+    EXPECT_EQ(
+        current_frame_host()->cross_origin_opener_policy(),
+        CoopSameOriginAllowPopups(url::Origin::Create(coop_allow_popups_page)));
 
     EXPECT_EQ(web_contents()
                   ->GetPrimaryMainFrame()
@@ -3396,9 +3420,12 @@
   EXPECT_FALSE(popup_web_contents->GetPrimaryMainFrame()
                    ->GetSiteInstance()
                    ->IsCrossOriginIsolated());
-  EXPECT_EQ(
-      CoopUnsafeNone(),
-      popup_web_contents->GetPrimaryMainFrame()->cross_origin_opener_policy());
+  EXPECT_TRUE(CoopUnsafeNone().IsEqualExcludingOrigin(
+      popup_web_contents->GetPrimaryMainFrame()->cross_origin_opener_policy()));
+
+  EXPECT_TRUE(popup_web_contents->GetPrimaryMainFrame()
+                  ->cross_origin_opener_policy()
+                  .origin->opaque());
 
   url::Origin error_origin =
       popup_web_contents->GetPrimaryMainFrame()->GetLastCommittedOrigin();
@@ -3429,9 +3456,12 @@
   EXPECT_FALSE(popup_web_contents->GetPrimaryMainFrame()
                    ->GetSiteInstance()
                    ->IsCrossOriginIsolated());
-  EXPECT_EQ(
-      CoopUnsafeNone(),
-      popup_web_contents->GetPrimaryMainFrame()->cross_origin_opener_policy());
+  EXPECT_TRUE(CoopUnsafeNone().IsEqualExcludingOrigin(
+      popup_web_contents->GetPrimaryMainFrame()->cross_origin_opener_policy()));
+
+  EXPECT_TRUE(popup_web_contents->GetPrimaryMainFrame()
+                  ->cross_origin_opener_policy()
+                  .origin->opaque());
 }
 
 // Regression test for https://crbug.com/1239540.
@@ -3474,7 +3504,8 @@
   // Initial coop isolated page.
   EXPECT_TRUE(NavigateToURL(shell(), isolated_page));
   RenderFrameHostImpl* main_rfh = current_frame_host();
-  EXPECT_EQ(main_rfh->cross_origin_opener_policy(), CoopSameOrigin());
+  EXPECT_EQ(main_rfh->cross_origin_opener_policy(),
+            CoopSameOrigin(url::Origin::Create(isolated_page)));
 
   // Simulate being offline by failing all network requests.
   auto url_loader_interceptor =
@@ -5157,7 +5188,7 @@
 
   // Verify that COOP: restrict-properties was parsed.
   EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-            CoopRestrictProperties());
+            CoopRestrictProperties(url::Origin::Create(starting_page)));
   EXPECT_FALSE(
       current_frame_host()->GetSiteInstance()->IsCrossOriginIsolated());
 }
@@ -5174,7 +5205,7 @@
   // Verify that COOP: restrict-properties was parsed along COEP, and that it
   // correctly enabled cross origin isolation.
   EXPECT_EQ(current_frame_host()->cross_origin_opener_policy(),
-            CoopRestrictPropertiesPlusCoep());
+            CoopRestrictPropertiesPlusCoep(url::Origin::Create(starting_page)));
   EXPECT_TRUE(current_frame_host()->GetSiteInstance()->IsCrossOriginIsolated());
 }
 
@@ -5855,7 +5886,7 @@
 
   ASSERT_TRUE(NavigateToURL(shell(), coop_rp_page));
   ASSERT_EQ(current_frame_host()->cross_origin_opener_policy(),
-            CoopRestrictProperties());
+            CoopRestrictProperties(url::Origin::Create(coop_rp_page)));
 
   // Create a cross origin child frame.
   ASSERT_TRUE(ExecJs(current_frame_host(), JsReplace(R"(
@@ -5888,7 +5919,7 @@
 
   ASSERT_TRUE(NavigateToURL(shell(), coop_rp_page));
   ASSERT_EQ(current_frame_host()->cross_origin_opener_policy(),
-            CoopRestrictProperties());
+            CoopRestrictProperties(url::Origin::Create(coop_rp_page)));
 
   // Create cross origin child frame.
   ASSERT_TRUE(ExecJs(current_frame_host(), JsReplace(R"(
diff --git a/content/browser/media/media_devices_util.cc b/content/browser/media/media_devices_util.cc
index 8cb7cc5..9635247 100644
--- a/content/browser/media/media_devices_util.cc
+++ b/content/browser/media/media_devices_util.cc
@@ -139,14 +139,13 @@
       std::move(callback));
 }
 
-MediaDeviceSaltAndOrigin GetMediaDeviceSaltAndOrigin(int render_process_id,
-                                                     int render_frame_id) {
+void GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId render_frame_host_id,
+                                 MediaDeviceSaltAndOriginCallback callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderFrameHostImpl* frame_host =
-      RenderFrameHostImpl::FromID(render_process_id, render_frame_id);
+      RenderFrameHostImpl::FromID(render_frame_host_id);
   RenderProcessHost* process_host =
-      RenderProcessHost::FromID(render_process_id);
-
+      RenderProcessHost::FromID(render_frame_host_id.child_id);
   url::Origin origin;
   GURL url;
   net::SiteForCookies site_for_cookies;
@@ -200,7 +199,7 @@
       std::move(device_id_salt), std::move(group_id_salt), std::move(origin),
       has_focus, is_background);
   salt_and_origin.ukm_source_id = source_id;
-  return salt_and_origin;
+  std::move(callback).Run(salt_and_origin);
 }
 
 blink::WebMediaDeviceInfo TranslateMediaDeviceInfo(
diff --git a/content/browser/media/media_devices_util.h b/content/browser/media/media_devices_util.h
index 06196ca..b57263b 100644
--- a/content/browser/media/media_devices_util.h
+++ b/content/browser/media/media_devices_util.h
@@ -10,6 +10,7 @@
 
 #include "base/functional/callback.h"
 #include "content/common/content_export.h"
+#include "content/public/browser/global_routing_id.h"
 #include "services/metrics/public/cpp/ukm_source_id.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/blink/public/common/mediastream/media_devices.h"
@@ -52,8 +53,17 @@
 // unique media-device IDs for each origin and renderer process. These values
 // should not be cached since the user can explicitly change them at any time.
 // This function must run on the UI thread.
-CONTENT_EXPORT MediaDeviceSaltAndOrigin
-GetMediaDeviceSaltAndOrigin(int render_process_id, int render_frame_id);
+using MediaDeviceSaltAndOriginCallback =
+    base::OnceCallback<void(const MediaDeviceSaltAndOrigin&)>;
+CONTENT_EXPORT void GetMediaDeviceSaltAndOrigin(
+    GlobalRenderFrameHostId render_frame_host_id,
+    MediaDeviceSaltAndOriginCallback callback);
+
+// Type definition to make it easier to use mock alternatives to
+// GetMediaDeviceSaltAndOrigin.
+using GetMediaDeviceSaltAndOriginCallback =
+    base::RepeatingCallback<void(GlobalRenderFrameHostId,
+                                 MediaDeviceSaltAndOriginCallback)>;
 
 // Returns a translated version of |device_info| suitable for use in a renderer
 // process.
@@ -72,11 +82,6 @@
     const MediaDeviceSaltAndOrigin& salt_and_origin,
     const blink::WebMediaDeviceInfoArray& device_infos);
 
-// Type definition to make it easier to use mock alternatives to
-// GetMediaDeviceSaltAndOrigin.
-using MediaDeviceSaltAndOriginCallback =
-    base::RepeatingCallback<MediaDeviceSaltAndOrigin(int, int)>;
-
 }  // namespace content
 
 #endif  // CONTENT_BROWSER_MEDIA_MEDIA_DEVICES_UTIL_H_
diff --git a/content/browser/media/media_web_contents_observer.cc b/content/browser/media/media_web_contents_observer.cc
index 1402164..00b4888 100644
--- a/content/browser/media/media_web_contents_observer.cc
+++ b/content/browser/media/media_web_contents_observer.cc
@@ -404,10 +404,16 @@
       RenderFrameHost::FromID(media_player_id_.frame_routing_id);
   DCHECK(render_frame_host);
 
-  auto salt_and_origin = content::GetMediaDeviceSaltAndOrigin(
-      render_frame_host->GetProcess()->GetID(),
-      render_frame_host->GetRoutingID());
+  content::GetMediaDeviceSaltAndOrigin(
+      render_frame_host->GetGlobalId(),
+      base::BindOnce(&MediaPlayerObserverHostImpl::OnReceivedMediaDeviceSalt,
+                     weak_factory_.GetWeakPtr(), hashed_device_id));
+}
 
+void MediaWebContentsObserver::MediaPlayerObserverHostImpl::
+    OnReceivedMediaDeviceSalt(
+        const std::string& hashed_device_id,
+        const content::MediaDeviceSaltAndOrigin& salt_and_origin) {
   content::GetIOThreadTaskRunner({})->PostTask(
       FROM_HERE,
       base::BindOnce(
diff --git a/content/browser/media/media_web_contents_observer.h b/content/browser/media/media_web_contents_observer.h
index d3e1a85d..0b4556e 100644
--- a/content/browser/media/media_web_contents_observer.h
+++ b/content/browser/media/media_web_contents_observer.h
@@ -15,6 +15,7 @@
 #include "base/memory/weak_ptr.h"
 #include "build/build_config.h"
 #include "content/browser/media/audio_stream_monitor.h"
+#include "content/browser/media/media_devices_util.h"
 #include "content/browser/media/media_power_experiment_manager.h"
 #include "content/browser/media/session/media_session_controllers_manager.h"
 #include "content/common/content_export.h"
@@ -219,6 +220,9 @@
     PlayerInfo* GetPlayerInfo();
     void NotifyAudioStreamMonitorIfNeeded();
 
+    void OnReceivedMediaDeviceSalt(
+        const std::string& hashed_device_id,
+        const content::MediaDeviceSaltAndOrigin& salt_and_origin);
     void OnReceivedTranslatedDeviceId(
         const absl::optional<std::string>& translated_id);
 
diff --git a/content/browser/media/session/media_session_controller.cc b/content/browser/media/session/media_session_controller.cc
index d34aed10..3bea8a6 100644
--- a/content/browser/media/session/media_session_controller.cc
+++ b/content/browser/media/session/media_session_controller.cc
@@ -123,18 +123,28 @@
   if (!render_frame_host)
     return;
 
+  content::GetMediaDeviceSaltAndOrigin(
+      render_frame_host->GetGlobalId(),
+      base::BindOnce(&MediaSessionController::OnMediaDeviceSaltReceived,
+                     weak_factory_.GetWeakPtr(), raw_device_id));
+}
+
+void MediaSessionController::OnMediaDeviceSaltReceived(
+    const std::string& raw_device_id,
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   // The sink id needs to be hashed before it is suitable for use in the
   // renderer process.
-  auto salt_and_origin = content::GetMediaDeviceSaltAndOrigin(
-      render_frame_host->GetProcess()->GetID(),
-      render_frame_host->GetRoutingID());
-
   std::string hashed_sink_id = GetHMACForMediaDeviceID(
       salt_and_origin.device_id_salt, salt_and_origin.origin, raw_device_id);
 
   // Grant the renderer the permission to use this audio output device.
-  static_cast<RenderFrameHostImpl*>(render_frame_host)
-      ->SetAudioOutputDeviceIdForGlobalMediaControls(hashed_sink_id);
+  auto* render_frame_host_impl =
+      RenderFrameHostImpl::FromID(id_.frame_routing_id);
+  if (!render_frame_host_impl) {
+    return;
+  }
+  render_frame_host_impl->SetAudioOutputDeviceIdForGlobalMediaControls(
+      hashed_sink_id);
 
   web_contents_->media_web_contents_observer()
       ->GetMediaPlayerRemote(id_)
diff --git a/content/browser/media/session/media_session_controller.h b/content/browser/media/session/media_session_controller.h
index 34a8e7c..1af38de2 100644
--- a/content/browser/media/session/media_session_controller.h
+++ b/content/browser/media/session/media_session_controller.h
@@ -6,7 +6,9 @@
 #define CONTENT_BROWSER_MEDIA_SESSION_MEDIA_SESSION_CONTROLLER_H_
 
 #include "base/memory/raw_ptr.h"
+#include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
+#include "content/browser/media/media_devices_util.h"
 #include "content/browser/media/session/media_session_player_observer.h"
 #include "content/common/content_export.h"
 #include "content/public/browser/media_player_id.h"
@@ -112,6 +114,10 @@
   // accordingly.
   bool AddOrRemovePlayer();
 
+  void OnMediaDeviceSaltReceived(
+      const std::string& raw_device_id,
+      const MediaDeviceSaltAndOrigin& salt_and_origin);
+
   const MediaPlayerId id_;
 
   // Outlives |this|.
@@ -137,6 +143,8 @@
   bool supports_audio_output_device_switching_ = true;
   media::MediaContentType media_content_type_ =
       media::MediaContentType::Persistent;
+
+  base::WeakPtrFactory<MediaSessionController> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/media/session/media_session_controller_unittest.cc b/content/browser/media/session/media_session_controller_unittest.cc
index f334ce9..85754f96 100644
--- a/content/browser/media/session/media_session_controller_unittest.cc
+++ b/content/browser/media/session/media_session_controller_unittest.cc
@@ -11,6 +11,7 @@
 #include "content/browser/media/session/audio_focus_delegate.h"
 #include "content/browser/media/session/media_session_controller.h"
 #include "content/browser/media/session/media_session_impl.h"
+#include "content/public/browser/media_device_id.h"
 #include "content/test/mock_agent_scheduling_group_host.h"
 #include "content/test/test_render_view_host.h"
 #include "content/test/test_web_contents.h"
@@ -152,7 +153,10 @@
 
   void SetPowerExperimentState(bool enabled) override {}
 
-  void SetAudioSinkId(const std::string& sink_id) override {}
+  void SetAudioSinkId(const std::string& sink_id) override {
+    received_set_audio_sink_id_ = sink_id;
+    run_loop_->Quit();
+  }
 
   void SuspendForFrameClosed() override {}
 
@@ -179,6 +183,10 @@
     return received_volume_multiplier_;
   }
 
+  const std::string& received_set_audio_sink_id() const {
+    return received_set_audio_sink_id_;
+  }
+
  private:
   std::unique_ptr<base::RunLoop> run_loop_;
   std::unique_ptr<base::RunLoop> run_loop_for_volume_;
@@ -190,6 +198,7 @@
   base::TimeDelta received_seek_forward_time_;
   base::TimeDelta received_seek_backward_time_;
   base::TimeDelta received_seek_to_time_;
+  std::string received_set_audio_sink_id_;
 };
 
 class MediaSessionControllerTest : public RenderViewHostImplTestHarness {
@@ -670,4 +679,31 @@
   media_session()->RebuildAndNotifyMediaPositionChanged();
 }
 
+TEST_F(MediaSessionControllerTest, SetAudioSinkId) {
+  // No sink ID has been set.
+  EXPECT_TRUE(media_player_->received_set_audio_sink_id().empty());
+
+  // Set a non-default device ID.
+  const std::string new_sink_id = "new sink id";
+  controller_->OnSetAudioSinkId(controller_->get_player_id_for_testing(),
+                                new_sink_id);
+  media_player_->WaitUntilReceivedMessage();
+
+  // The media player receives a hashed version of `new_sink_id`, which must
+  // follow a specific format.
+  EXPECT_FALSE(media_player_->received_set_audio_sink_id().empty());
+  EXPECT_TRUE(IsValidDeviceId(media_player_->received_set_audio_sink_id()));
+  EXPECT_NE(media_player_->received_set_audio_sink_id(),
+            media::AudioDeviceDescription::kDefaultDeviceId);
+
+  // Set the default device ID.
+  controller_->OnSetAudioSinkId(
+      controller_->get_player_id_for_testing(),
+      media::AudioDeviceDescription::kDefaultDeviceId);
+  media_player_->WaitUntilReceivedMessage();
+  // The hashed version of the default device ID equals the unhashed version.
+  EXPECT_EQ(media_player_->received_set_audio_sink_id(),
+            media::AudioDeviceDescription::kDefaultDeviceId);
+}
+
 }  // namespace content
diff --git a/content/browser/network/shared_dictionary_browsertest.cc b/content/browser/network/shared_dictionary_browsertest.cc
index d8be449..418d51d 100644
--- a/content/browser/network/shared_dictionary_browsertest.cc
+++ b/content/browser/network/shared_dictionary_browsertest.cc
@@ -241,7 +241,7 @@
       shell(), FetchType::kLinkRelDictionary,
       GURL("https://shared-dictionary.test/blank.html"),
       https_server()->GetURL("/shared_dictionary/test.dict"),
-      "Net.SharedDictionaryManagerOnDisk.DictionarySize",
+      "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB",
       /*expect_success=*/GetFeatureState() == FeatureState::kFullyEnabled);
 }
 
@@ -251,7 +251,7 @@
       shell(), FetchType::kLinkRelDictionary,
       GURL("https://shared-dictionary.test/blank.html?ot=enabled"),
       https_server()->GetURL("/shared_dictionary/test.dict"),
-      "Net.SharedDictionaryManagerOnDisk.DictionarySize",
+      "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB",
       /*expect_success=*/GetFeatureState() != FeatureState::kDisabled);
 }
 
@@ -260,7 +260,7 @@
       shell(), FetchType::kFetchApi,
       GURL("https://shared-dictionary.test/blank.html"),
       https_server()->GetURL("/shared_dictionary/test.dict"),
-      "Net.SharedDictionaryManagerOnDisk.DictionarySize",
+      "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB",
       /*expect_success=*/GetFeatureState() == FeatureState::kFullyEnabled);
 }
 
@@ -270,7 +270,7 @@
       shell(), FetchType::kFetchApi,
       GURL("https://shared-dictionary.test/blank.html?ot=enabled"),
       https_server()->GetURL("/shared_dictionary/test.dict"),
-      "Net.SharedDictionaryManagerOnDisk.DictionarySize",
+      "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB",
       /*expect_success=*/GetFeatureState() != FeatureState::kDisabled);
 }
 
@@ -328,7 +328,7 @@
       embedded_test_server()->GetURL("/shared_dictionary/blank.html"),
       embedded_test_server()->GetURL("/shared_dictionary/test.dict"),
       GetBrowserType() == BrowserType::kNormal
-          ? "Net.SharedDictionaryManagerOnDisk.DictionarySize"
+          ? "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB"
           : "Net.SharedDictionaryWriterInMemory.DictionarySize",
       /*expect_success=*/true);
 }
@@ -344,7 +344,7 @@
       embedded_test_server()->GetURL("/shared_dictionary/blank.html"),
       embedded_test_server()->GetURL("/shared_dictionary/test.dict"),
       GetBrowserType() == BrowserType::kNormal
-          ? "Net.SharedDictionaryManagerOnDisk.DictionarySize"
+          ? "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB"
           : "Net.SharedDictionaryWriterInMemory.DictionarySize",
       /*expect_success=*/true);
 }
@@ -362,7 +362,7 @@
       embedded_test_server()->GetURL("www.test",
                                      "/shared_dictionary/test.dict"),
       GetBrowserType() == BrowserType::kNormal
-          ? "Net.SharedDictionaryManagerOnDisk.DictionarySize"
+          ? "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB"
           : "Net.SharedDictionaryWriterInMemory.DictionarySize",
       /*expect_success=*/false);
 }
@@ -380,7 +380,7 @@
       embedded_test_server()->GetURL("www.test",
                                      "/shared_dictionary/test.dict"),
       GetBrowserType() == BrowserType::kNormal
-          ? "Net.SharedDictionaryManagerOnDisk.DictionarySize"
+          ? "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB"
           : "Net.SharedDictionaryWriterInMemory.DictionarySize",
       /*expect_success=*/false);
 }
@@ -394,7 +394,7 @@
       embedded_test_server()->GetURL("/shared_dictionary/blank.html"),
       embedded_test_server()->GetURL("/shared_dictionary/test.dict"),
       GetBrowserType() == BrowserType::kNormal
-          ? "Net.SharedDictionaryManagerOnDisk.DictionarySize"
+          ? "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB"
           : "Net.SharedDictionaryWriterInMemory.DictionarySize",
       /*expect_success=*/true);
 
diff --git a/content/browser/network/shared_dictionary_util.cc b/content/browser/network/shared_dictionary_util.cc
index 1dc3dce8..626bfac 100644
--- a/content/browser/network/shared_dictionary_util.cc
+++ b/content/browser/network/shared_dictionary_util.cc
@@ -16,10 +16,10 @@
 
 namespace {
 
-const uint64_t kDefaultCacheMaxSizeForInMemory = 10 * 1024 * 1024;  // 10 MiB;
-const uint64_t kMaxCacheMaxSizeForInMemory = 200 * 1024 * 1024;     // 200 MiB;
-const uint64_t kDefaultCacheMaxSizeForOnDisk = 150 * 1024 * 1024;   // 150 MiB;
-const uint64_t kMaxCacheMaxSizeForOnDisk = 200 * 1024 * 1024;       // 200 MiB;
+const uint64_t kDefaultCacheMaxSizeForInMemory = 20 * 1024 * 1024;  // 20 MiB;
+const uint64_t kMaxCacheMaxSizeForInMemory = 400 * 1024 * 1024;     // 400 MiB;
+const uint64_t kDefaultCacheMaxSizeForOnDisk = 300 * 1024 * 1024;   // 300 MiB;
+const uint64_t kMaxCacheMaxSizeForOnDisk = 400 * 1024 * 1024;       // 400 MiB;
 
 uint64_t CaliculateCacheMaxSizeForInMemory() {
   uint64_t cache_max_size = kDefaultCacheMaxSizeForInMemory;
@@ -28,8 +28,8 @@
     return cache_max_size;
   }
 
-  // We want to use up to 1% of the computer's memory, with a limit of 200 MB,
-  // reached on system with more than 20 GB of RAM.
+  // We want to use up to 1% of the computer's memory, with a limit of 400 MB,
+  // reached on system with more than 40 GB of RAM.
   cache_max_size = total_memory / 100;
   if (cache_max_size > kMaxCacheMaxSizeForInMemory) {
     cache_max_size = kMaxCacheMaxSizeForInMemory;
@@ -45,8 +45,8 @@
     return cache_max_size;
   }
 
-  // We want to use up to 1% of the available disk space, with a limit of 200
-  // MB, reached on system with more than 20 GB of available disk space.
+  // We want to use up to 1% of the available disk space, with a limit of 400
+  // MB, reached on system with more than 40 GB of available disk space.
   cache_max_size = available_disk_space / 100;
   if (cache_max_size > kMaxCacheMaxSizeForOnDisk) {
     cache_max_size = kMaxCacheMaxSizeForOnDisk;
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler.cc b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
index e1ff7e3..258eba9 100644
--- a/content/browser/renderer_host/media/audio_output_authorization_handler.cc
+++ b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
@@ -24,19 +24,14 @@
 
 namespace {
 
-// Returns (by callback) the Media Device salt and the Origin for the frame and
-// whether it may request nondefault audio devices.
-void CheckAccessOnUIThread(
+void GotSaltAndOrigin(
     int render_process_id,
     int render_frame_id,
     bool override_permissions,
     bool permissions_override_value,
-    base::OnceCallback<void(std::string, url::Origin, bool)> cb) {
+    base::OnceCallback<void(std::string, url::Origin, bool)> cb,
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-
-  MediaDeviceSaltAndOrigin salt_and_origin =
-      GetMediaDeviceSaltAndOrigin(render_process_id, render_frame_id);
-
   if (!MediaStreamManager::IsOriginAllowed(render_process_id,
                                            salt_and_origin.origin)) {
     // In this case, it's likely a navigation has occurred while processing this
@@ -48,19 +43,33 @@
   // Check that MediaStream device permissions have been granted for
   // nondefault devices.
   if (override_permissions) {
-    std::move(cb).Run(std::move(salt_and_origin.device_id_salt),
-                      std::move(salt_and_origin.origin),
+    std::move(cb).Run(salt_and_origin.device_id_salt, salt_and_origin.origin,
                       permissions_override_value);
     return;
   }
 
-  std::move(cb).Run(std::move(salt_and_origin.device_id_salt),
-                    std::move(salt_and_origin.origin),
+  std::move(cb).Run(salt_and_origin.device_id_salt, salt_and_origin.origin,
                     MediaDevicesPermissionChecker().CheckPermissionOnUIThread(
                         MediaDeviceType::MEDIA_AUDIO_OUTPUT, render_process_id,
                         render_frame_id));
 }
 
+// Returns (by callback) the Media Device salt and the Origin for the frame and
+// whether it may request nondefault audio devices.
+void CheckAccessOnUIThread(
+    int render_process_id,
+    int render_frame_id,
+    bool override_permissions,
+    bool permissions_override_value,
+    base::OnceCallback<void(std::string, url::Origin, bool)> cb) {
+  DCHECK_CURRENTLY_ON(BrowserThread::UI);
+  GetMediaDeviceSaltAndOrigin(
+      GlobalRenderFrameHostId(render_process_id, render_frame_id),
+      base::BindOnce(&GotSaltAndOrigin, render_process_id, render_frame_id,
+                     override_permissions, permissions_override_value,
+                     std::move(cb)));
+}
+
 }  // namespace
 
 class AudioOutputAuthorizationHandler::TraceScope {
@@ -171,13 +180,15 @@
       trace_scope->UsingSessionId(session_id, device->id);
       // We don't need the origin for authorization in this case, but it's used
       // for hashing the device id before sending it back to the renderer.
-      GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+      GetUIThreadTaskRunner({})->PostTask(
           FROM_HERE,
-          base::BindOnce(&GetMediaDeviceSaltAndOrigin, render_process_id_,
-                         render_frame_id),
-          base::BindOnce(&AudioOutputAuthorizationHandler::HashDeviceId,
-                         weak_factory_.GetWeakPtr(), std::move(trace_scope),
-                         std::move(cb), *device->matched_output_device_id));
+          base::BindOnce(
+              &GetMediaDeviceSaltAndOrigin,
+              GlobalRenderFrameHostId(render_process_id_, render_frame_id),
+              base::BindPostTaskToCurrentDefault(base::BindOnce(
+                  &AudioOutputAuthorizationHandler::HashDeviceId,
+                  weak_factory_.GetWeakPtr(), std::move(trace_scope),
+                  std::move(cb), *device->matched_output_device_id))));
       return;
     }
     // Otherwise, the default device is used.
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc b/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
index 58f085a..9e5f417 100644
--- a/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
+++ b/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
@@ -11,6 +11,7 @@
 #include "base/run_loop.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/test/mock_callback.h"
+#include "base/test/test_future.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/test/mock_render_process_host.h"
@@ -229,8 +230,9 @@
 TEST_F(AudioOutputAuthorizationHandlerTest,
        AuthorizeNondefaultDeviceIdWithoutPermission_NotAuthorized) {
   std::string raw_nondefault_id = GetRawNondefaultId();
-  MediaDeviceSaltAndOrigin salt_and_origin = GetMediaDeviceSaltAndOrigin(
-      process()->GetID(), main_rfh()->GetRoutingID());
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(main_rfh()->GetGlobalId(), future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   std::string hashed_id = MediaStreamManager::GetHMACForMediaDeviceID(
       salt_and_origin.device_id_salt, salt_and_origin.origin,
       raw_nondefault_id);
@@ -265,8 +267,9 @@
 TEST_F(AudioOutputAuthorizationHandlerTest,
        AuthorizeNondefaultDeviceIdWithPermission_Ok) {
   std::string raw_nondefault_id = GetRawNondefaultId();
-  MediaDeviceSaltAndOrigin salt_and_origin = GetMediaDeviceSaltAndOrigin(
-      process()->GetID(), main_rfh()->GetRoutingID());
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(main_rfh()->GetGlobalId(), future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   std::string hashed_id = MediaStreamManager::GetHMACForMediaDeviceID(
       salt_and_origin.device_id_salt, salt_and_origin.origin,
       raw_nondefault_id);
@@ -380,8 +383,9 @@
 TEST_F(AudioOutputAuthorizationHandlerTest,
        AuthorizeNondefaultDeviceIdAfterSaltChange_NotFound) {
   std::string raw_nondefault_id = GetRawNondefaultId();
-  MediaDeviceSaltAndOrigin salt_and_origin = GetMediaDeviceSaltAndOrigin(
-      process()->GetID(), main_rfh()->GetRoutingID());
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(main_rfh()->GetGlobalId(), future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   std::string hashed_id = MediaStreamManager::GetHMACForMediaDeviceID(
       salt_and_origin.device_id_salt, salt_and_origin.origin,
       raw_nondefault_id);
diff --git a/content/browser/renderer_host/media/fake_video_capture_device_launcher.cc b/content/browser/renderer_host/media/fake_video_capture_device_launcher.cc
index d178066..0514551 100644
--- a/content/browser/renderer_host/media/fake_video_capture_device_launcher.cc
+++ b/content/browser/renderer_host/media/fake_video_capture_device_launcher.cc
@@ -18,6 +18,8 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "media/capture/video/chromeos/video_capture_jpeg_decoder.h"
+#elif BUILDFLAG(IS_WIN)
+#include "media/capture/video/win/video_capture_buffer_tracker_factory_win.h"
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
 namespace {
@@ -84,9 +86,17 @@
     Callbacks* callbacks,
     base::OnceClosure done_cb) {
   auto device = system_->CreateDevice(device_id).ReleaseDevice();
+#if BUILDFLAG(IS_WIN)
+  scoped_refptr<media::VideoCaptureBufferPool> buffer_pool(
+      new media::VideoCaptureBufferPoolImpl(
+          params.buffer_type, 10,
+          std::make_unique<media::VideoCaptureBufferTrackerFactoryWin>(
+              system_->GetFactory()->GetDxgiDeviceManager())));
+#else
   scoped_refptr<media::VideoCaptureBufferPool> buffer_pool(
       new media::VideoCaptureBufferPoolImpl(
           media::VideoCaptureBufferType::kSharedMemory));
+#endif  // BUILDFLAG(IS_WIN)
 #if BUILDFLAG(IS_CHROMEOS_ASH)
   auto device_client = std::make_unique<media::VideoCaptureDeviceClient>(
       media::VideoCaptureBufferType::kSharedMemory,
@@ -97,7 +107,7 @@
       }));
 #else
   auto device_client = std::make_unique<media::VideoCaptureDeviceClient>(
-      media::VideoCaptureBufferType::kSharedMemory,
+      params.buffer_type,
       std::make_unique<media::VideoFrameReceiverOnTaskRunner>(
           receiver, base::SingleThreadTaskRunner::GetCurrentDefault()),
       std::move(buffer_pool));
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
index fc341f0..7f090c8 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
@@ -163,13 +163,15 @@
 void MediaDevicesDispatcherHost::GetVideoInputCapabilities(
     GetVideoInputCapabilitiesCallback client_callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(media_stream_manager_->media_devices_manager()
-                         ->salt_and_origin_callback(),
-                     render_process_id_, render_frame_id_),
-      base::BindOnce(&MediaDevicesDispatcherHost::GetDefaultVideoInputDeviceID,
-                     weak_factory_.GetWeakPtr(), std::move(client_callback)));
+      base::BindOnce(
+          media_stream_manager_->media_devices_manager()
+              ->get_salt_and_origin_cb(),
+          GlobalRenderFrameHostId(render_process_id_, render_frame_id_),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaDevicesDispatcherHost::GetDefaultVideoInputDeviceID,
+              weak_factory_.GetWeakPtr(), std::move(client_callback)))));
 }
 
 void MediaDevicesDispatcherHost::GetAllVideoInputDeviceFormats(
@@ -178,15 +180,17 @@
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   auto scoped_trace = ScopedMediaStreamTrace::CreateIfEnabled(__func__);
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(media_stream_manager_->media_devices_manager()
-                         ->salt_and_origin_callback(),
-                     render_process_id_, render_frame_id_),
-      base::BindOnce(&MediaDevicesDispatcherHost::GetVideoInputDeviceFormats,
-                     weak_factory_.GetWeakPtr(), hashed_device_id,
-                     false /* try_in_use_first */, std::move(client_callback),
-                     std::move(scoped_trace)));
+      base::BindOnce(
+          media_stream_manager_->media_devices_manager()
+              ->get_salt_and_origin_cb(),
+          GlobalRenderFrameHostId(render_process_id_, render_frame_id_),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaDevicesDispatcherHost::GetVideoInputDeviceFormats,
+              weak_factory_.GetWeakPtr(), hashed_device_id,
+              false /* try_in_use_first */, std::move(client_callback),
+              std::move(scoped_trace)))));
 }
 
 void MediaDevicesDispatcherHost::GetAvailableVideoInputDeviceFormats(
@@ -195,26 +199,30 @@
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   auto scoped_trace = ScopedMediaStreamTrace::CreateIfEnabled(__func__);
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(media_stream_manager_->media_devices_manager()
-                         ->salt_and_origin_callback(),
-                     render_process_id_, render_frame_id_),
-      base::BindOnce(&MediaDevicesDispatcherHost::GetVideoInputDeviceFormats,
-                     weak_factory_.GetWeakPtr(), hashed_device_id,
-                     true /* try_in_use_first */, std::move(client_callback),
-                     std::move(scoped_trace)));
+      base::BindOnce(
+          media_stream_manager_->media_devices_manager()
+              ->get_salt_and_origin_cb(),
+          GlobalRenderFrameHostId(render_process_id_, render_frame_id_),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaDevicesDispatcherHost::GetVideoInputDeviceFormats,
+              weak_factory_.GetWeakPtr(), hashed_device_id,
+              true /* try_in_use_first */, std::move(client_callback),
+              std::move(scoped_trace)))));
 }
 
 void MediaDevicesDispatcherHost::GetAudioInputCapabilities(
     GetAudioInputCapabilitiesCallback client_callback) {
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(media_stream_manager_->media_devices_manager()
-                         ->salt_and_origin_callback(),
-                     render_process_id_, render_frame_id_),
-      base::BindOnce(&MediaDevicesDispatcherHost::GetDefaultAudioInputDeviceID,
-                     weak_factory_.GetWeakPtr(), std::move(client_callback)));
+      base::BindOnce(
+          media_stream_manager_->media_devices_manager()
+              ->get_salt_and_origin_cb(),
+          GlobalRenderFrameHostId(render_process_id_, render_frame_id_),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaDevicesDispatcherHost::GetDefaultAudioInputDeviceID,
+              weak_factory_.GetWeakPtr(), std::move(client_callback)))));
 }
 
 void MediaDevicesDispatcherHost::AddMediaDevicesListener(
@@ -344,18 +352,18 @@
 
 void MediaDevicesDispatcherHost::GetDefaultVideoInputDeviceID(
     GetVideoInputCapabilitiesCallback client_callback,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   GetDefaultMediaDeviceID(
       MediaDeviceType::MEDIA_VIDEO_INPUT, render_process_id_, render_frame_id_,
       base::BindOnce(&MediaDevicesDispatcherHost::GotDefaultVideoInputDeviceID,
                      weak_factory_.GetWeakPtr(), std::move(client_callback),
-                     std::move(salt_and_origin)));
+                     salt_and_origin));
 }
 
 void MediaDevicesDispatcherHost::GotDefaultVideoInputDeviceID(
     GetVideoInputCapabilitiesCallback client_callback,
-    MediaDeviceSaltAndOrigin salt_and_origin,
+    const MediaDeviceSaltAndOrigin& salt_and_origin,
     const std::string& default_device_id) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   MediaDevicesManager::BoolDeviceTypes requested_types;
@@ -368,7 +376,7 @@
       base::BindOnce(
           &MediaDevicesDispatcherHost::FinalizeGetVideoInputCapabilities,
           weak_factory_.GetWeakPtr(), std::move(client_callback),
-          std::move(salt_and_origin), std::move(default_device_id)));
+          salt_and_origin, default_device_id));
 }
 
 void MediaDevicesDispatcherHost::FinalizeGetVideoInputCapabilities(
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.h b/content/browser/renderer_host/media/media_devices_dispatcher_host.h
index 8d72445..a2d3d497 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.h
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.h
@@ -84,11 +84,11 @@
 
   void GetDefaultVideoInputDeviceID(
       GetVideoInputCapabilitiesCallback client_callback,
-      MediaDeviceSaltAndOrigin salt_and_origin);
+      const MediaDeviceSaltAndOrigin& salt_and_origin);
 
   void GotDefaultVideoInputDeviceID(
       GetVideoInputCapabilitiesCallback client_callback,
-      MediaDeviceSaltAndOrigin salt_and_origin,
+      const MediaDeviceSaltAndOrigin& salt_and_origin,
       const std::string& default_device_id);
 
   void FinalizeGetVideoInputCapabilities(
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
index 6a3f7f8..fb31b98 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
@@ -18,6 +18,7 @@
 #include "base/run_loop.h"
 #include "base/strings/stringprintf.h"
 #include "base/task/single_thread_task_runner.h"
+#include "base/test/test_future.h"
 #include "build/build_config.h"
 #include "content/browser/media/media_devices_permission_checker.h"
 #include "content/browser/renderer_host/media/in_process_video_capture_provider.h"
@@ -132,7 +133,7 @@
     host_ = std::make_unique<MediaDevicesDispatcherHost>(
         kProcessId, kRenderId, media_stream_manager_.get());
     media_stream_manager_->media_devices_manager()
-        ->set_salt_and_origin_callback_for_testing(base::BindRepeating(
+        ->set_get_salt_and_origin_cb_for_testing(base::BindRepeating(
             &MediaDevicesDispatcherHostTest::GetSaltAndOrigin,
             base::Unretained(this)));
     host_->SetBadMessageCallbackForTesting(
@@ -251,8 +252,10 @@
   void VideoInputCapabilitiesCallback(
       std::vector<blink::mojom::VideoInputDeviceCapabilitiesPtr> capabilities) {
     MockVideoInputCapabilitiesCallback();
-    MediaDeviceSaltAndOrigin salt_and_origin =
-        GetMediaDeviceSaltAndOrigin(-1, -1);
+    base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+    GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                                future.GetCallback());
+    MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
     std::string expected_first_device_id =
         GetHMACForMediaDeviceID(salt_and_origin.device_id_salt,
                                 salt_and_origin.origin, kDefaultVideoDeviceID);
@@ -281,8 +284,10 @@
     // MediaDevicesManager always returns 3 fake audio input devices.
     const size_t kNumExpectedEntries = 3;
     EXPECT_EQ(kNumExpectedEntries, capabilities.size());
-    MediaDeviceSaltAndOrigin salt_and_origin =
-        GetMediaDeviceSaltAndOrigin(-1, -1);
+    base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+    GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                                future.GetCallback());
+    MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
     std::string expected_first_device_id =
         GetHMACForMediaDeviceID(salt_and_origin.device_id_salt,
                                 salt_and_origin.origin, kDefaultAudioDeviceID);
@@ -383,8 +388,10 @@
   bool DoesEveryDeviceMapToRawId(
       const std::vector<std::vector<blink::WebMediaDeviceInfo>>& enumeration,
       const url::Origin& origin) {
-    MediaDeviceSaltAndOrigin salt_and_origin =
-        GetMediaDeviceSaltAndOrigin(-1, -1);
+    base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+    GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                                future.GetCallback());
+    MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
     for (size_t i = 0;
          i < static_cast<size_t>(MediaDeviceType::NUM_MEDIA_DEVICE_TYPES);
          ++i) {
@@ -475,9 +482,10 @@
     }
   }
 
-  MediaDeviceSaltAndOrigin GetSaltAndOrigin(int /* process_id */,
-                                            int /* frame_id */) {
-    return GetMediaDeviceSaltAndOrigin(-1, -1);
+  void GetSaltAndOrigin(GlobalRenderFrameHostId /* render_frame_host_id */,
+                        MediaDeviceSaltAndOriginCallback callback) {
+    GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                                std::move(callback));
   }
 
   // The order of these members is important on teardown:
@@ -578,8 +586,10 @@
   base::RunLoop run_loop;
   EXPECT_CALL(*this, MockAllVideoInputDeviceFormatsCallback())
       .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
-  MediaDeviceSaltAndOrigin salt_and_origin =
-      GetMediaDeviceSaltAndOrigin(-1, -1);
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                              future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   host_->GetAllVideoInputDeviceFormats(
       GetHMACForMediaDeviceID(salt_and_origin.device_id_salt,
                               salt_and_origin.origin, kDefaultVideoDeviceID),
@@ -593,8 +603,10 @@
   base::RunLoop run_loop;
   EXPECT_CALL(*this, MockAvailableVideoInputDeviceFormatsCallback())
       .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
-  MediaDeviceSaltAndOrigin salt_and_origin =
-      GetMediaDeviceSaltAndOrigin(-1, -1);
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                              future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   host_->GetAvailableVideoInputDeviceFormats(
       GetHMACForMediaDeviceID(salt_and_origin.device_id_salt,
                               salt_and_origin.origin, kNormalVideoDeviceID),
@@ -686,8 +698,10 @@
   ExpectVideoCaptureFormats({});
   EXPECT_CALL(*this, MockAvailableVideoInputDeviceFormatsCallback())
       .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
-  MediaDeviceSaltAndOrigin salt_and_origin =
-      GetMediaDeviceSaltAndOrigin(-1, -1);
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                              future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   host_->GetAvailableVideoInputDeviceFormats(
       "UnknownHashedDeviceId",
       base::BindOnce(&MediaDevicesDispatcherHostTest::
@@ -703,8 +717,10 @@
   ExpectVideoCaptureFormats({});
   EXPECT_CALL(*this, MockAvailableVideoInputDeviceFormatsCallback())
       .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
-  MediaDeviceSaltAndOrigin salt_and_origin =
-      GetMediaDeviceSaltAndOrigin(-1, -1);
+  base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+  GetMediaDeviceSaltAndOrigin(GlobalRenderFrameHostId(-1, -1),
+                              future.GetCallback());
+  MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
   host_->GetAllVideoInputDeviceFormats(
       "UnknownHashedDeviceId",
       base::BindOnce(&MediaDevicesDispatcherHostTest::
diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc
index 1a370ea2..9541a710 100644
--- a/content/browser/renderer_host/media/media_devices_manager.cc
+++ b/content/browser/renderer_host/media/media_devices_manager.cc
@@ -20,6 +20,7 @@
 #include "base/ranges/algorithm.h"
 #include "base/sequence_checker.h"
 #include "base/strings/stringprintf.h"
+#include "base/task/bind_post_task.h"
 #include "base/task/sequenced_task_runner.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/threading/thread_checker.h"
@@ -399,7 +400,7 @@
       cache_infos_(
           static_cast<size_t>(MediaDeviceType::NUM_MEDIA_DEVICE_TYPES)),
       monitoring_started_(false),
-      salt_and_origin_callback_(
+      get_salt_and_origin_cb_(
           base::BindRepeating(&GetMediaDeviceSaltAndOrigin)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(audio_system_);
@@ -458,15 +459,16 @@
       request_audio_input_capabilities ? "true" : "false",
       request_video_input_capabilities ? "true" : "false"));
 
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(salt_and_origin_callback_, render_process_id,
-                     render_frame_id),
-      base::BindOnce(&MediaDevicesManager::CheckPermissionsForEnumerateDevices,
-                     weak_factory_.GetWeakPtr(), render_process_id,
-                     render_frame_id, requested_types,
-                     request_video_input_capabilities,
-                     request_audio_input_capabilities, std::move(callback)));
+      base::BindOnce(
+          get_salt_and_origin_cb_,
+          GlobalRenderFrameHostId(render_process_id, render_frame_id),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaDevicesManager::CheckPermissionsForEnumerateDevices,
+              weak_factory_.GetWeakPtr(), render_process_id, render_frame_id,
+              requested_types, request_video_input_capabilities,
+              request_audio_input_capabilities, std::move(callback)))));
 }
 
 uint32_t MediaDevicesManager::SubscribeDeviceChangeNotifications(
@@ -489,19 +491,21 @@
 
   // Fetch the first device_id_salt for this subscriber's frame, to be able to
   // later detect changes.
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(salt_and_origin_callback_, render_process_id,
-                     render_frame_id),
-      base::BindOnce(&MediaDevicesManager::SetSubscriptionLastSeenDeviceIdSalt,
-                     weak_factory_.GetWeakPtr(), subscription_id));
+      base::BindOnce(
+          get_salt_and_origin_cb_,
+          GlobalRenderFrameHostId(render_process_id, render_frame_id),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaDevicesManager::SetSubscriptionLastSeenDeviceIdSalt,
+              weak_factory_.GetWeakPtr(), subscription_id))));
 
   return subscription_id;
 }
 
 void MediaDevicesManager::SetSubscriptionLastSeenDeviceIdSalt(
     uint32_t subscription_id,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   auto it = subscriptions_.find(subscription_id);
 
   if (it == subscriptions_.end())
@@ -679,7 +683,7 @@
     bool request_video_input_capabilities,
     bool request_audio_input_capabilities,
     EnumerateDevicesCallback callback,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   permission_checker_->CheckPermissions(
       requested_types, render_process_id, render_frame_id,
@@ -695,7 +699,7 @@
     bool request_video_input_capabilities,
     bool request_audio_input_capabilities,
     EnumerateDevicesCallback callback,
-    MediaDeviceSaltAndOrigin salt_and_origin,
+    const MediaDeviceSaltAndOrigin& salt_and_origin,
     const MediaDevicesManager::BoolDeviceTypes& has_permissions) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   // The video-capture subsystem currently does not support group IDs.
@@ -1060,15 +1064,17 @@
   for (const auto& subscription : subscriptions_) {
     const SubscriptionRequest& request = subscription.second;
     if (request.subscribe_types[static_cast<size_t>(type)]) {
-      GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+      GetUIThreadTaskRunner({})->PostTask(
           FROM_HERE,
-          base::BindOnce(salt_and_origin_callback_, request.render_process_id,
-                         request.render_frame_id),
-          base::BindOnce(&MediaDevicesManager::OnSaltAndOriginForSubscription,
-                         weak_factory_.GetWeakPtr(), subscription.first,
-                         request.render_process_id, request.render_frame_id,
-                         type, new_snapshot,
-                         need_update_device_change_subscribers));
+          base::BindOnce(
+              get_salt_and_origin_cb_,
+              GlobalRenderFrameHostId(request.render_process_id,
+                                      request.render_frame_id),
+              base::BindPostTaskToCurrentDefault(base::BindOnce(
+                  &MediaDevicesManager::OnSaltAndOriginForSubscription,
+                  weak_factory_.GetWeakPtr(), subscription.first,
+                  request.render_process_id, request.render_frame_id, type,
+                  new_snapshot, need_update_device_change_subscribers))));
     }
   }
 }
@@ -1191,7 +1197,7 @@
     MediaDeviceType type,
     const blink::WebMediaDeviceInfoArray& device_infos,
     bool devices_changed,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   auto it = subscriptions_.find(subscription_id);
@@ -1219,13 +1225,13 @@
     int render_frame_id,
     MediaDeviceType type,
     const blink::WebMediaDeviceInfoArray& device_infos,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   permission_checker_->CheckPermission(
       type, render_process_id, render_frame_id,
       base::BindOnce(&MediaDevicesManager::NotifyDeviceChange,
                      weak_factory_.GetWeakPtr(), subscription_id, type,
-                     device_infos, std::move(salt_and_origin)));
+                     device_infos, salt_and_origin));
 }
 
 void MediaDevicesManager::NotifyDeviceChange(
diff --git a/content/browser/renderer_host/media/media_devices_manager.h b/content/browser/renderer_host/media/media_devices_manager.h
index 5625908..b6e256f 100644
--- a/content/browser/renderer_host/media/media_devices_manager.h
+++ b/content/browser/renderer_host/media/media_devices_manager.h
@@ -146,8 +146,8 @@
   blink::WebMediaDeviceInfoArray GetCachedDeviceInfo(
       MediaDeviceType type) const;
 
-  const MediaDeviceSaltAndOriginCallback& salt_and_origin_callback() const {
-    return salt_and_origin_callback_;
+  const GetMediaDeviceSaltAndOriginCallback& get_salt_and_origin_cb() const {
+    return get_salt_and_origin_cb_;
   }
 
   void RegisterDispatcherHost(
@@ -160,9 +160,9 @@
   // Used for testing only.
   void SetPermissionChecker(
       std::unique_ptr<MediaDevicesPermissionChecker> permission_checker);
-  void set_salt_and_origin_callback_for_testing(
-      MediaDeviceSaltAndOriginCallback callback) {
-    salt_and_origin_callback_ = std::move(callback);
+  void set_get_salt_and_origin_cb_for_testing(
+      GetMediaDeviceSaltAndOriginCallback callback) {
+    get_salt_and_origin_cb_ = std::move(callback);
   }
 
  private:
@@ -234,13 +234,13 @@
       bool request_video_input_capabilities,
       bool request_audio_input_capabilities,
       EnumerateDevicesCallback callback,
-      MediaDeviceSaltAndOrigin salt_and_origin);
+      const MediaDeviceSaltAndOrigin& salt_and_origin);
   void OnPermissionsCheckDone(
       const MediaDevicesManager::BoolDeviceTypes& requested_types,
       bool request_video_input_capabilities,
       bool request_audio_input_capabilities,
       EnumerateDevicesCallback callback,
-      MediaDeviceSaltAndOrigin salt_and_origin,
+      const MediaDeviceSaltAndOrigin& salt_and_origin,
       const MediaDevicesManager::BoolDeviceTypes& has_permissions);
   void OnDevicesEnumerated(
       const MediaDevicesManager::BoolDeviceTypes& requested_types,
@@ -296,7 +296,7 @@
       const blink::WebMediaDeviceInfoArray& new_snapshot);
   void SetSubscriptionLastSeenDeviceIdSalt(
       uint32_t subscription_id,
-      MediaDeviceSaltAndOrigin salt_and_origin);
+      const MediaDeviceSaltAndOrigin& salt_and_origin);
   void OnSaltAndOriginForSubscription(
       uint32_t subscription_id,
       int render_process_id,
@@ -304,14 +304,14 @@
       MediaDeviceType type,
       const blink::WebMediaDeviceInfoArray& device_infos,
       bool devices_changed,
-      MediaDeviceSaltAndOrigin salt_and_origin);
+      const MediaDeviceSaltAndOrigin& salt_and_origin);
   void CheckPermissionForDeviceChange(
       uint32_t subscription_id,
       int render_process_id,
       int render_frame_id,
       MediaDeviceType type,
       const blink::WebMediaDeviceInfoArray& device_infos,
-      MediaDeviceSaltAndOrigin salt_and_origin);
+      const MediaDeviceSaltAndOrigin& salt_and_origin);
   void NotifyDeviceChange(uint32_t subscription_id,
                           MediaDeviceType type,
                           const blink::WebMediaDeviceInfoArray& device_infos,
@@ -349,7 +349,7 @@
   base::flat_map<uint32_t, SubscriptionRequest> subscriptions_;
 
   // Callback used to obtain the current device ID salt and security origin.
-  MediaDeviceSaltAndOriginCallback salt_and_origin_callback_;
+  GetMediaDeviceSaltAndOriginCallback get_salt_and_origin_cb_;
 
   class AudioServiceDeviceListener;
   std::unique_ptr<AudioServiceDeviceListener> audio_service_device_listener_;
diff --git a/content/browser/renderer_host/media/media_devices_manager_unittest.cc b/content/browser/renderer_host/media/media_devices_manager_unittest.cc
index efea739..9b238fb 100644
--- a/content/browser/renderer_host/media/media_devices_manager_unittest.cc
+++ b/content/browser/renderer_host/media/media_devices_manager_unittest.cc
@@ -62,11 +62,11 @@
 const auto kIgnoreLogMessageCB = base::DoNothing();
 
 std::string salt = "fake_media_device_salt";
-MediaDeviceSaltAndOrigin GetSaltAndOrigin(int /* process_id */,
-                                          int /* frame_id */) {
-  return MediaDeviceSaltAndOrigin(salt, "fake_group_id_salt",
-                                  url::Origin::Create(GURL("https://test.com")),
-                                  /*has_focus=*/true, /*is_background=*/false);
+void GetSaltAndOrigin(GlobalRenderFrameHostId,
+                      MediaDeviceSaltAndOriginCallback callback) {
+  std::move(callback).Run(MediaDeviceSaltAndOrigin(
+      salt, "fake_group_id_salt", url::Origin::Create(GURL("https://test.com")),
+      /*has_focus=*/true, /*is_background=*/false));
 }
 
 // This class mocks the audio manager and overrides some methods to ensure that
@@ -389,7 +389,7 @@
         base::BindRepeating(
             &MockMediaDevicesManagerClient::InputDevicesChangedUI,
             base::Unretained(&media_devices_manager_client_)));
-    media_devices_manager_->set_salt_and_origin_callback_for_testing(
+    media_devices_manager_->set_get_salt_and_origin_cb_for_testing(
         base::BindRepeating(&GetSaltAndOrigin));
     media_devices_manager_->SetPermissionChecker(
         std::make_unique<MediaDevicesPermissionChecker>(true));
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
index 08d5276..d0190c6 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
@@ -220,7 +220,7 @@
       render_frame_id_(render_frame_id),
       requester_id_(next_requester_id_++),
       media_stream_manager_(media_stream_manager),
-      salt_and_origin_callback_(
+      get_salt_and_origin_cb_(
           base::BindRepeating(&GetMediaDeviceSaltAndOrigin)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
@@ -355,24 +355,33 @@
       render_frame_host->GetMainFrame()->GetLastCommittedOrigin());
 }
 
-MediaStreamDispatcherHost::GenerateStreamsUIThreadCheckResult
-MediaStreamDispatcherHost::GenerateStreamsChecksOnUIThread(
+void MediaStreamDispatcherHost::GenerateStreamsChecksOnUIThread(
     int render_process_id,
     int render_frame_id,
     bool request_all_screens,
-    base::OnceCallback<MediaDeviceSaltAndOrigin()>
-        generate_salt_and_origin_callback) {
+    base::OnceCallback<void(MediaDeviceSaltAndOriginCallback)>
+        get_salt_and_origin_cb,
+    base::OnceCallback<void(GenerateStreamsUIThreadCheckResult)>
+        result_callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   if (request_all_screens &&
       !CheckRequestAllScreensAllowed(render_process_id, render_frame_id)) {
-    return {.request_allowed = false,
-            .salt_and_origin = MediaDeviceSaltAndOrigin()};
+    std::move(result_callback)
+        .Run({.request_allowed = false,
+              .salt_and_origin = MediaDeviceSaltAndOrigin()});
+    return;
   }
 
-  return {
-      .request_allowed = true,
-      .salt_and_origin = std::move(generate_salt_and_origin_callback).Run()};
+  auto got_salt_and_origin = base::BindOnce(
+      [](base::OnceCallback<void(GenerateStreamsUIThreadCheckResult)>
+             result_callback,
+         const MediaDeviceSaltAndOrigin& salt_and_origin) {
+        std::move(result_callback)
+            .Run({.request_allowed = true, .salt_and_origin = salt_and_origin});
+      },
+      std::move(result_callback));
+  std::move(get_salt_and_origin_cb).Run(std::move(got_salt_and_origin));
 }
 
 const mojo::Remote<blink::mojom::MediaStreamDeviceObserver>&
@@ -448,18 +457,20 @@
     return;
   }
 
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
       base::BindOnce(
           &MediaStreamDispatcherHost::GenerateStreamsChecksOnUIThread,
           /*render_process_id=*/render_process_id_,
           /*render_frame_id=*/render_frame_id_, controls.request_all_screens,
-          base::BindOnce(salt_and_origin_callback_, render_process_id_,
-                         render_frame_id_)),
-      base::BindOnce(&MediaStreamDispatcherHost::DoGenerateStreams,
-                     weak_factory_.GetWeakPtr(), page_request_id, controls,
-                     user_gesture, std::move(audio_stream_selection_info_ptr),
-                     std::move(callback)));
+          base::BindOnce(
+              get_salt_and_origin_cb_,
+              GlobalRenderFrameHostId(render_process_id_, render_frame_id_)),
+          base::BindPostTaskToCurrentDefault(base::BindOnce(
+              &MediaStreamDispatcherHost::DoGenerateStreams,
+              weak_factory_.GetWeakPtr(), page_request_id, controls,
+              user_gesture, std::move(audio_stream_selection_info_ptr),
+              std::move(callback)))));
 }
 
 void MediaStreamDispatcherHost::DoGenerateStreams(
@@ -561,13 +572,15 @@
     return;
   }
 
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(salt_and_origin_callback_, render_process_id_,
-                     render_frame_id_),
-      base::BindOnce(&MediaStreamDispatcherHost::DoOpenDevice,
-                     weak_factory_.GetWeakPtr(), page_request_id, device_id,
-                     type, std::move(callback)));
+      base::BindOnce(
+          get_salt_and_origin_cb_,
+          GlobalRenderFrameHostId(render_process_id_, render_frame_id_),
+          base::BindPostTaskToCurrentDefault(
+              base::BindOnce(&MediaStreamDispatcherHost::DoOpenDevice,
+                             weak_factory_.GetWeakPtr(), page_request_id,
+                             device_id, type, std::move(callback)))));
 }
 
 void MediaStreamDispatcherHost::DoOpenDevice(
@@ -575,7 +588,7 @@
     const std::string& device_id,
     blink::mojom::MediaStreamType type,
     OpenDeviceCallback callback,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   if (!MediaStreamManager::IsOriginAllowed(render_process_id_,
@@ -717,13 +730,15 @@
   // on it", and whether we can/need to specific the destination renderer/frame
   // in this case.
 
-  GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+  GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,
-      base::BindOnce(salt_and_origin_callback_, render_process_id_,
-                     render_frame_id_),
-      base::BindOnce(&MediaStreamDispatcherHost::DoGetOpenDevice,
-                     weak_factory_.GetWeakPtr(), page_request_id, session_id,
-                     transfer_id, std::move(callback)));
+      base::BindOnce(
+          get_salt_and_origin_cb_,
+          GlobalRenderFrameHostId(render_process_id_, render_frame_id_),
+          base::BindPostTaskToCurrentDefault(
+              base::BindOnce(&MediaStreamDispatcherHost::DoGetOpenDevice,
+                             weak_factory_.GetWeakPtr(), page_request_id,
+                             session_id, transfer_id, std::move(callback)))));
 }
 
 void MediaStreamDispatcherHost::DoGetOpenDevice(
@@ -731,7 +746,7 @@
     const base::UnguessableToken& session_id,
     const base::UnguessableToken& transfer_id,
     GetOpenDeviceCallback callback,
-    MediaDeviceSaltAndOrigin salt_and_origin) {
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   if (!MediaStreamManager::IsOriginAllowed(render_process_id_,
                                            salt_and_origin.origin)) {
@@ -743,8 +758,7 @@
 
   media_stream_manager_->GetOpenDevice(
       session_id, transfer_id, render_process_id_, render_frame_id_,
-      requester_id_, page_request_id, std::move(salt_and_origin),
-      std::move(callback),
+      requester_id_, page_request_id, salt_and_origin, std::move(callback),
       base::BindRepeating(&MediaStreamDispatcherHost::OnDeviceStopped,
                           weak_factory_.GetWeakPtr()),
       base::BindRepeating(&MediaStreamDispatcherHost::OnDeviceChanged,
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.h b/content/browser/renderer_host/media/media_stream_dispatcher_host.h
index bc6a044..ea0219d 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host.h
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.h
@@ -51,9 +51,9 @@
       mojo::PendingReceiver<blink::mojom::MediaStreamDispatcherHost> receiver);
 
   void OnWebContentsFocused();
-  void set_salt_and_origin_callback_for_testing(
-      MediaDeviceSaltAndOriginCallback callback) {
-    salt_and_origin_callback_ = std::move(callback);
+  void set_get_salt_and_origin_cb_for_testing(
+      GetMediaDeviceSaltAndOriginCallback callback) {
+    get_salt_and_origin_cb_ = std::move(callback);
   }
   void SetMediaStreamDeviceObserverForTesting(
       mojo::PendingRemote<blink::mojom::MediaStreamDeviceObserver> observer) {
@@ -87,11 +87,14 @@
   // Performs checks / computations that need to be done on the UI
   // thread (i.e. if a select all screens request is permitted and
   // the computation of the device salt and origin).
-  static GenerateStreamsUIThreadCheckResult GenerateStreamsChecksOnUIThread(
+  static void GenerateStreamsChecksOnUIThread(
       int render_process_id,
       int render_frame_id,
       bool request_all_screens,
-      base::OnceCallback<MediaDeviceSaltAndOrigin()> salt_and_origin_callback);
+      base::OnceCallback<void(MediaDeviceSaltAndOriginCallback)>
+          get_salt_and_origin_cb,
+      base::OnceCallback<void(GenerateStreamsUIThreadCheckResult)>
+          result_callback);
 
   const mojo::Remote<blink::mojom::MediaStreamDeviceObserver>&
   GetMediaStreamDeviceObserver();
@@ -146,7 +149,7 @@
                        const base::UnguessableToken& session_id,
                        const base::UnguessableToken& transfer_id,
                        GetOpenDeviceCallback callback,
-                       MediaDeviceSaltAndOrigin salt_and_origin);
+                       const MediaDeviceSaltAndOrigin& salt_and_origin);
   void DoGenerateStreams(
       int32_t request_id,
       const blink::StreamControls& controls,
@@ -158,7 +161,7 @@
                     const std::string& device_id,
                     blink::mojom::MediaStreamType type,
                     OpenDeviceCallback callback,
-                    MediaDeviceSaltAndOrigin salt_and_origin);
+                    const MediaDeviceSaltAndOrigin& salt_and_origin);
 
   void OnDeviceStopped(const std::string& label,
                        const blink::MediaStreamDevice& device);
@@ -199,7 +202,7 @@
   raw_ptr<MediaStreamManager> media_stream_manager_;
   mojo::Remote<blink::mojom::MediaStreamDeviceObserver>
       media_stream_device_observer_;
-  MediaDeviceSaltAndOriginCallback salt_and_origin_callback_;
+  GetMediaDeviceSaltAndOriginCallback get_salt_and_origin_cb_;
 
   std::unique_ptr<MediaStreamWebContentsObserver,
                   BrowserThread::DeleteOnUIThread>
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
index 10bd7a37..212bbde 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
@@ -335,7 +335,7 @@
     background_ = false;
     host_ = std::make_unique<MockMediaStreamDispatcherHost>(
         kProcessId, kRenderId, media_stream_manager_.get());
-    host_->set_salt_and_origin_callback_for_testing(
+    host_->set_get_salt_and_origin_cb_for_testing(
         base::BindRepeating(&MediaStreamDispatcherHostTest::GetSaltAndOrigin,
                             base::Unretained(this)));
     host_->SetMediaStreamDeviceObserverForTesting(
@@ -394,11 +394,11 @@
     host_.reset();
   }
 
-  MediaDeviceSaltAndOrigin GetSaltAndOrigin(int /* process_id */,
-                                            int /* frame_id */) {
-    return MediaDeviceSaltAndOrigin(browser_context_->GetMediaDeviceIDSalt(),
-                                    "fake_group_id_salt", origin_, focus_,
-                                    background_);
+  void GetSaltAndOrigin(GlobalRenderFrameHostId /*render_frame_host_id*/,
+                        MediaDeviceSaltAndOriginCallback callback) {
+    std::move(callback).Run(MediaDeviceSaltAndOrigin(
+        browser_context_->GetMediaDeviceIDSalt(), "fake_group_id_salt", origin_,
+        focus_, background_));
   }
 
   MOCK_METHOD2(MockOnBadMessage, void(int, bad_message::BadMessageReason));
@@ -809,7 +809,7 @@
   // Generate second stream from another render frame.
   host_ = std::make_unique<MockMediaStreamDispatcherHost>(
       kProcessId, kRenderId + 1, media_stream_manager_.get());
-  host_->set_salt_and_origin_callback_for_testing(
+  host_->set_get_salt_and_origin_cb_for_testing(
       base::BindRepeating(&MediaStreamDispatcherHostTest::GetSaltAndOrigin,
                           base::Unretained(this)));
   host_->SetMediaStreamDeviceObserverForTesting(
@@ -835,7 +835,7 @@
   blink::StreamControls controls(true, false);
 
   focus_ = false;
-  host_->set_salt_and_origin_callback_for_testing(
+  host_->set_get_salt_and_origin_cb_for_testing(
       base::BindRepeating(&MediaStreamDispatcherHostTest::GetSaltAndOrigin,
                           base::Unretained(this)));
 
@@ -856,7 +856,7 @@
 
   focus_ = false;
   background_ = true;
-  host_->set_salt_and_origin_callback_for_testing(
+  host_->set_get_salt_and_origin_cb_for_testing(
       base::BindRepeating(&MediaStreamDispatcherHostTest::GetSaltAndOrigin,
                           base::Unretained(this)));
 
@@ -891,7 +891,7 @@
   SetupFakeUI(true);
 
   focus_ = false;
-  host_->set_salt_and_origin_callback_for_testing(
+  host_->set_get_salt_and_origin_cb_for_testing(
       base::BindRepeating(&MediaStreamDispatcherHostTest::GetSaltAndOrigin,
                           base::Unretained(this)));
 
@@ -917,7 +917,7 @@
       .Times(1);
 
   focus_ = true;
-  host_->set_salt_and_origin_callback_for_testing(
+  host_->set_get_salt_and_origin_cb_for_testing(
       base::BindRepeating(&MediaStreamDispatcherHostTest::GetSaltAndOrigin,
                           base::Unretained(this)));
   host_->OnWebContentsFocused();
diff --git a/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc b/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc
index f9b23072..b804b9d3 100644
--- a/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc
+++ b/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc
@@ -27,6 +27,7 @@
 #include "content/public/browser/audio_stream_broker.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/global_routing_id.h"
 #include "content/public/browser/media_device_id.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/render_process_host.h"
@@ -86,17 +87,26 @@
   // If we're unable to translate the device id, |cb| will not be run.
 }
 
-void GetSaltOriginAndPermissionsOnUIThread(
+void GotSaltAndOrigin(
     int process_id,
     int frame_id,
-    base::OnceCallback<void(MediaDeviceSaltAndOrigin salt_and_origin,
-                            bool has_access)> cb) {
-  auto salt_and_origin = GetMediaDeviceSaltAndOrigin(process_id, frame_id);
+    base::OnceCallback<void(const MediaDeviceSaltAndOrigin& salt_and_origin,
+                            bool has_access)> cb,
+    const MediaDeviceSaltAndOrigin& salt_and_origin) {
   bool access = MediaDevicesPermissionChecker().CheckPermissionOnUIThread(
       MediaDeviceType::MEDIA_AUDIO_OUTPUT, process_id, frame_id);
   GetIOThreadTaskRunner({})->PostTask(
-      FROM_HERE,
-      base::BindOnce(std::move(cb), std::move(salt_and_origin), access));
+      FROM_HERE, base::BindOnce(std::move(cb), salt_and_origin, access));
+}
+
+void GetSaltOriginAndPermissionsOnUIThread(
+    int process_id,
+    int frame_id,
+    base::OnceCallback<void(const MediaDeviceSaltAndOrigin& salt_and_origin,
+                            bool has_access)> cb) {
+  GetMediaDeviceSaltAndOrigin(
+      GlobalRenderFrameHostId(process_id, frame_id),
+      base::BindOnce(&GotSaltAndOrigin, process_id, frame_id, std::move(cb)));
 }
 
 }  // namespace
@@ -142,7 +152,7 @@
   void AssociateInputAndOutputForAecAfterCheckingAccess(
       const base::UnguessableToken& input_stream_id,
       const std::string& output_device_id,
-      MediaDeviceSaltAndOrigin salt_and_origin,
+      const MediaDeviceSaltAndOrigin& salt_and_origin,
       bool access_granted);
 
   void AssociateTranslatedOutputDeviceForAec(
@@ -322,7 +332,7 @@
     AssociateInputAndOutputForAecAfterCheckingAccess(
         const base::UnguessableToken& input_stream_id,
         const std::string& output_device_id,
-        MediaDeviceSaltAndOrigin salt_and_origin,
+        const MediaDeviceSaltAndOrigin& salt_and_origin,
         bool access_granted) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
diff --git a/content/browser/renderer_host/media/video_capture_unittest.cc b/content/browser/renderer_host/media/video_capture_unittest.cc
index c82a2a4..fcfad08e 100644
--- a/content/browser/renderer_host/media/video_capture_unittest.cc
+++ b/content/browser/renderer_host/media/video_capture_unittest.cc
@@ -14,6 +14,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
 #include "base/task/single_thread_task_runner.h"
+#include "base/test/test_future.h"
 #include "build/build_config.h"
 #include "content/browser/renderer_host/media/fake_video_capture_provider.h"
 #include "content/browser/renderer_host/media/media_stream_manager.h"
@@ -147,8 +148,11 @@
       MediaDevicesManager::BoolDeviceTypes devices_to_enumerate;
       devices_to_enumerate[static_cast<size_t>(
           blink::mojom::MediaDeviceType::MEDIA_VIDEO_INPUT)] = true;
-      MediaDeviceSaltAndOrigin salt_and_origin =
-          GetMediaDeviceSaltAndOrigin(render_process_id, render_frame_id);
+      base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+      GetMediaDeviceSaltAndOrigin(
+          GlobalRenderFrameHostId(render_process_id, render_frame_id),
+          future.GetCallback());
+      MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
       media_stream_manager_->media_devices_manager()->EnumerateDevices(
           devices_to_enumerate,
           base::BindOnce(&VideoInputDevicesEnumerated, run_loop.QuitClosure(),
@@ -160,12 +164,17 @@
 
     // Open the first device.
     {
+      base::test::TestFuture<const MediaDeviceSaltAndOrigin&> future;
+      GetMediaDeviceSaltAndOrigin(
+          GlobalRenderFrameHostId(render_process_id, render_frame_id),
+          future.GetCallback());
+      MediaDeviceSaltAndOrigin salt_and_origin = future.Get();
+
       base::RunLoop run_loop;
       media_stream_manager_->OpenDevice(
           render_process_id, render_frame_id, requester_id, page_request_id,
           video_devices[0].device_id,
-          blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE,
-          GetMediaDeviceSaltAndOrigin(render_process_id, render_frame_id),
+          blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE, salt_and_origin,
           base::BindOnce(&VideoCaptureTest::OnDeviceOpened,
                          base::Unretained(this), run_loop.QuitClosure()),
           MediaStreamManager::DeviceStoppedCallback());
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index be377b43..d763627 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -2512,6 +2512,9 @@
       // MHTML iframe, before selecting the RenderFrameHost.
       const url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this);
       const net::SchemefulSite site = net::SchemefulSite(origin);
+
+      // Set the COOP origin in the policy container builder via the mutable
+      // reference before FinalPolicies() is called.
       absl::optional<url::Origin>& coop_origin =
           policy_container_builder_->GetPolicyContainerHost()
               ->cross_origin_opener_policy()
@@ -3085,6 +3088,8 @@
     return;
   }
   const url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this);
+  // Set the COOP origin in the policy container builder via the mutable
+  // reference before coop is sent to EnforceCOOP.
   network::CrossOriginOpenerPolicy& coop =
       response()->parsed_headers->cross_origin_opener_policy;
   coop.origin = origin;
@@ -3915,6 +3920,8 @@
   // can be determined. This is needed for enforcing COOP below.
 
   {
+    // Set the COOP origin in the policy container builder before
+    // FinalPolicies() is called.
     const url::Origin origin = GetOriginForURLLoaderFactoryBeforeResponse(
         policy_container_builder_->FinalPolicies().sandbox_flags);
     policy_container_builder_->GetPolicyContainerHost()
@@ -4489,6 +4496,8 @@
   ComputePoliciesToCommitForError();
 
   const auto origin = url::Origin();
+  // Set the COOP origin in the policy container builder before FinalPolicies()
+  // is called.
   policy_container_builder_->GetPolicyContainerHost()
       ->cross_origin_opener_policy()
       .origin = origin;
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 334c126..04d9b108 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -11894,9 +11894,11 @@
 
 void RenderFrameHostImpl::SetAudioOutputDeviceIdForGlobalMediaControls(
     std::string hashed_device_id) {
-  audio_service_audio_output_stream_factory_
-      ->SetAuthorizedDeviceIdForGlobalMediaControls(
-          std::move(hashed_device_id));
+  if (audio_service_audio_output_stream_factory_.has_value()) {
+    audio_service_audio_output_stream_factory_
+        ->SetAuthorizedDeviceIdForGlobalMediaControls(
+            std::move(hashed_device_id));
+  }
 }
 
 std::unique_ptr<mojo::MessageFilter>
diff --git a/content/gpu/gpu_service_factory.cc b/content/gpu/gpu_service_factory.cc
index f8c8f7e..cc837f2 100644
--- a/content/gpu/gpu_service_factory.cc
+++ b/content/gpu/gpu_service_factory.cc
@@ -10,8 +10,11 @@
 #include "base/task/single_thread_task_runner.h"
 #include "base/task/thread_pool.h"
 #include "build/build_config.h"
+#include "gpu/command_buffer/service/shared_context_state.h"
+#include "gpu/ipc/service/gpu_channel_manager.h"
 #include "gpu/ipc/service/gpu_memory_buffer_factory.h"
 #include "media/base/media_switches.h"
+#include "media/gpu/ipc/service/media_gpu_channel_manager.h"
 #include "media/media_buildflags.h"
 
 #if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
@@ -22,8 +25,6 @@
 
 #if BUILDFLAG(IS_WIN)
 #include <d3d11_4.h>
-
-#include "ui/gl/gl_angle_util_win.h"
 #endif
 
 namespace content {
@@ -70,17 +71,26 @@
           {base::TaskPriority::USER_BLOCKING});
     }
 #if BUILDFLAG(IS_WIN)
-    // Since the D3D11Device used for decoding is shared with ANGLE, we need
-    // multithread protection turned on to use it from another thread.
+    // Since the D3D11Device used for decoding is shared with SkiaRenderer(ANGLE
+    // or Dawn), we need multithread protection turned on to use it from another
+    // thread.
     task_runner_->PostTask(
-        FROM_HERE, base::BindOnce([] {
-          auto device = gl::QueryD3D11DeviceObjectFromANGLE();
-          CHECK(device);
-          Microsoft::WRL::ComPtr<ID3D11Multithread> multi_threaded;
-          auto hr = device->QueryInterface(IID_PPV_ARGS(&multi_threaded));
-          CHECK(SUCCEEDED(hr));
-          multi_threaded->SetMultithreadProtected(TRUE);
-        }));
+        FROM_HERE,
+        base::BindOnce(
+            [](base::WeakPtr<media::MediaGpuChannelManager> manager) {
+              CHECK(manager);
+              gpu::ContextResult result;
+              auto shared_context_state =
+                  manager.get()->channel_manager()->GetSharedContextState(
+                      &result);
+              auto device = shared_context_state->GetD3D11Device();
+              CHECK(device);
+              Microsoft::WRL::ComPtr<ID3D11Multithread> multi_threaded;
+              auto hr = device->QueryInterface(IID_PPV_ARGS(&multi_threaded));
+              CHECK(SUCCEEDED(hr));
+              multi_threaded->SetMultithreadProtected(TRUE);
+            },
+            media_gpu_channel_manager_));
 #endif
   }
 
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index d27590a..dea6e42 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -3399,14 +3399,16 @@
   testonly = true
 
   data = [
+    "//content/test/gpu/get_machine_times.py",
     "//content/test/gpu/run_pytype.py",
     "//content/test/gpu/unexpected_pass_finder.py",
     "//content/test/gpu/validate_tag_consistency.py",
 
     "//content/test/gpu/gold_inexact_matching/",
     "//content/test/gpu/flake_suppressor/",
-    "//testing/flake_suppressor_common/",
+    "//content/test/gpu/machine_times/",
     "//content/test/gpu/unexpected_passes/",
+    "//testing/flake_suppressor_common/",
     "//testing/unexpected_passes_common/",
   ]
 
diff --git a/content/test/fuzzer/video_capture_host_mojolpm_fuzzer.cc b/content/test/fuzzer/video_capture_host_mojolpm_fuzzer.cc
index 40544eb..e7968e9 100644
--- a/content/test/fuzzer/video_capture_host_mojolpm_fuzzer.cc
+++ b/content/test/fuzzer/video_capture_host_mojolpm_fuzzer.cc
@@ -14,6 +14,7 @@
 #include "base/run_loop.h"
 #include "base/task/sequenced_task_runner.h"
 #include "base/task/task_traits.h"
+#include "base/test/test_future.h"
 #include "base/threading/thread.h"
 #include "content/browser/renderer_host/media/fake_video_capture_provider.h"
 #include "content/browser/renderer_host/media/in_process_video_capture_provider.h"  // nogncheck
@@ -23,6 +24,7 @@
 #include "content/browser/renderer_host/media/video_capture_manager.h"  // nogncheck
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/global_routing_id.h"
 #include "content/public/test/browser_task_environment.h"
 #include "content/public/test/test_browser_context.h"
 #include "content/test/fuzzer/mojolpm_fuzzer_support.h"
@@ -404,8 +406,11 @@
     int render_process_id,
     int render_frame_id,
     content::MediaDeviceSaltAndOrigin* out_salt_and_origin) {
-  *out_salt_and_origin =
-      content::GetMediaDeviceSaltAndOrigin(render_process_id, render_frame_id);
+  base::test::TestFuture<const content::MediaDeviceSaltAndOrigin&> future;
+  content::GetMediaDeviceSaltAndOrigin(
+      content::GlobalRenderFrameHostId(render_process_id, render_frame_id),
+      future.GetCallback());
+  *out_salt_and_origin = future.Get();
 }
 
 void VideoCaptureHostTestcase::OpenSessionOnIOThread(
diff --git a/content/test/gpu/PRESUBMIT.py b/content/test/gpu/PRESUBMIT.py
index bc858a1..261a1b9e 100644
--- a/content/test/gpu/PRESUBMIT.py
+++ b/content/test/gpu/PRESUBMIT.py
@@ -57,6 +57,19 @@
   return input_api.RunTests([command])
 
 
+def CheckMachineTimesUnittests(input_api, output_api):
+  """Runs the unittests for the machine_times directory."""
+  return input_api.canned_checks.RunUnitTestsInDirectory(
+      input_api,
+      output_api,
+      input_api.os_path.join(input_api.PresubmitLocalPath(),
+                             'machine_times'), [r'^.+_unittest\.py$'],
+      env=_GetGpuEnv(input_api),
+      run_on_python2=False,
+      run_on_python3=True,
+      skip_shebang_check=True)
+
+
 def CheckUnexpectedPassesUnittests(input_api, output_api):
   """Runs the unittests for the unexpected_passes directory."""
   return input_api.canned_checks.RunUnitTestsInDirectory(
diff --git a/content/test/gpu/get_machine_times.py b/content/test/gpu/get_machine_times.py
new file mode 100755
index 0000000..5b9eeb9
--- /dev/null
+++ b/content/test/gpu/get_machine_times.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env vpython3
+# 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.
+"""Script for determining GPU test shard times.
+
+Reported data should be taken as estimates rather than concrete numbers since
+data will not be precise when failed, timed out, or infra-failed tasks are
+present.
+"""
+
+from machine_times import get_machine_times
+
+if __name__ == '__main__':
+  get_machine_times.main()
diff --git a/content/test/gpu/gpu_tests/gpu_integration_test.py b/content/test/gpu/gpu_tests/gpu_integration_test.py
index 3f71eda..5545e0e 100644
--- a/content/test/gpu/gpu_tests/gpu_integration_test.py
+++ b/content/test/gpu/gpu_tests/gpu_integration_test.py
@@ -6,7 +6,11 @@
 
 import collections
 import fnmatch
+import importlib
+import inspect
+import pkgutil
 import logging
+import os
 import re
 import sys
 import types
@@ -1017,6 +1021,35 @@
   return consolidated_args
 
 
+def GenerateTestNameMapping() -> Dict[str, Type[GpuIntegrationTest]]:
+  """Generates a mapping from suite name to class of all GPU integration tests.
+
+  Returns:
+    A dict mapping a suite's human-readable name to the class that implements
+    it.
+  """
+  mapping = {}
+  for p in pkgutil.iter_modules(
+      [os.path.join(gpu_path_util.GPU_DIR, 'gpu_tests')]):
+    if p.ispkg:
+      continue
+    module_name = 'gpu_tests.' + p.name
+    try:
+      module = importlib.import_module(module_name)
+    except ImportError:
+      logging.warning(
+          'Unable to import module %s. This is likely due to stale .pyc files '
+          'existing on disk.', module_name)
+      continue
+    for name, obj in inspect.getmembers(module):
+      # Look for cases of GpuIntegrationTest that have Name() overridden. The
+      # name check filters out base classes.
+      if (inspect.isclass(obj) and issubclass(obj, GpuIntegrationTest)
+          and obj.Name() != name):
+        mapping[obj.Name()] = obj
+  return mapping
+
+
 def LoadAllTestsInModule(module: types.ModuleType) -> unittest.TestSuite:
   # Just delegates to serially_executed_browser_test_case to reduce the
   # number of imports in other files.
diff --git a/content/test/gpu/machine_times/get_machine_times.py b/content/test/gpu/machine_times/get_machine_times.py
new file mode 100644
index 0000000..26f87f85
--- /dev/null
+++ b/content/test/gpu/machine_times/get_machine_times.py
@@ -0,0 +1,346 @@
+# 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.
+"""Script for determining GPU test shard times.
+
+Reported data should be taken as estimates rather than concrete numbers since
+data will not be precise when failed, timed out, or infra-failed tasks are
+present.
+"""
+
+import argparse
+import collections
+import json
+import logging
+import math
+import multiprocessing
+import os
+import re
+import subprocess
+from typing import Dict, List, Tuple
+
+from gpu_tests import gpu_integration_test
+
+from unexpected_passes import gpu_builders
+from unexpected_passes_common import data_types
+
+# Grabs the runtime and overhead values from strings like:
+#   [shard #0 (runtime (5m 8s) + overhead (13s): 5m 20s)]
+SHARD_TIME_REGEX = re.compile(r'\[shard #\d+ \(runtime \((\d+m \d+s|\d+s)\) '
+                              r'\+ overhead \((\d+m \d+s|\d+s)\)')
+# Grabs the values from strings like:
+#  [shard #0 (failed) (44s)]
+# The reported value is runtime + overhead, so we'll end up dropping the data,
+# but we can at least avoid raising a warning if we detect this case.
+FAILURE_SHARD_TIME_REGEX = re.compile(
+    r'\[shard #\d+ \(failed\) \((\d+m \d+s|\d+s)\)')
+TIMED_OUT_SHARD_TIME_REGEX = re.compile(
+    r'\[shard #\d+ timed out after (\d+m \d+s|\d+s)')
+
+
+def ParseArgs() -> argparse.Namespace:
+  name_mapping = gpu_integration_test.GenerateTestNameMapping()
+  test_suites = list(name_mapping.keys())
+  test_suites.sort()
+
+  parser = argparse.ArgumentParser(
+      description=('Script for determining GPU test shard times. Reported data '
+                   'should be taken as estimates rather than concrete numbers '
+                   'since data will not be precise when failed, timed out, or '
+                   'infra-failed tasks are present.'))
+  parser.add_argument(
+      '--suite',
+      action='append',
+      dest='suites',
+      default=[],
+      help=('Test suite that must run on a builder for it to be used. If not '
+            'specified, will look for all instances of GPU integration tests.'))
+  parser.add_argument(
+      '--builder',
+      action='append',
+      dest='builders',
+      default=[],
+      help=('CI builder to check. Can be specified multiple times. If not '
+            'specified, will check all GPU builders.'))
+  parser.add_argument('--num-samples',
+                      default=10,
+                      type=int,
+                      help='The number of samplers per builder to use.')
+
+  args = parser.parse_args()
+  args.suites = args.suites or test_suites
+
+  if args.num_samples <= 0:
+    parser.error('--num-samples must be a positive integer.')
+
+  return args
+
+
+def _EnsureBuildbucketAuth() -> None:
+  """Ensures that the bb tool is authenticated.
+
+  Raises an exception if auth is not detected.
+  """
+  # This is taken from //testing/unexpected_passes_common/builders.py, so this
+  # may be able to be deduplicated with some refactoring.
+  try:
+    with open(os.devnull, 'w') as devnull:
+      subprocess.check_call(['bb', 'auth-info'], stdout=devnull, stderr=devnull)
+  except subprocess.CalledProcessError as e:
+    raise RuntimeError(
+        'You are not logged into bb - run `bb auth-login`') from e
+
+
+def _GetTimesForBuilder(inputs: Tuple[data_types.BuilderEntry, int]):
+  """Get all shard times for a builder.
+
+  Args:
+    inputs: A tuple (builder, num_samples). |builder| is a
+        data_types.BuilderEntry describing the builder to work on. |num_samples|
+        is the number of builds to sample.
+
+  Returns:
+    A dict in the format:
+      {
+        builder (str): {
+          step_name (str): [
+            (shard_runtime_in_seconds (int), shard_overhead_in_seconds (int)),
+            ...
+          ],
+          ...
+        },
+      }
+  """
+  builder, num_samples = inputs
+  full_builder_string = '%s/%s/%s' % (builder.project, builder.builder_type,
+                                      builder.name)
+  buildbucket_ids = _GetBuildbucketIdsForBuilder(builder, num_samples)
+  builder_to_step = {full_builder_string: collections.defaultdict(list)}
+  if not buildbucket_ids:
+    logging.warning('Did not find Buildbucket IDs for %s', full_builder_string)
+    return builder_to_step
+
+  for build_id in buildbucket_ids:
+    step_output = _GetStepOutputForBuild(build_id)
+    steps_to_shard_times = _GetShardTimesFromStepOutput(step_output)
+    for step, shard_times in steps_to_shard_times.items():
+      builder_to_step[full_builder_string][step].extend(shard_times)
+  return builder_to_step
+
+
+def _GetBuildbucketIdsForBuilder(builder: data_types.BuilderEntry,
+                                 num_samples: int) -> List[str]:
+  """Get the Buildbucket IDs for the most recent N completed builds.
+
+  Args:
+    builder: A data_types.BuilderEntry describing the builder to get IDs from.
+    num_samples: The number of build IDs to get.
+
+  Returns:
+    A list of Buildbucket IDs as strings.
+  """
+  # Get the N most recent build IDs.
+  cmd = [
+      'bb',
+      'ls',
+      '-id',
+      '-%d' % num_samples,
+      '-status',
+      'ended',
+      '%s/%s/%s' % (builder.project, builder.builder_type, builder.name),
+  ]
+  completed_process = subprocess.run(cmd,
+                                     text=True,
+                                     check=True,
+                                     stdout=subprocess.PIPE)
+  return completed_process.stdout.splitlines()
+
+
+def _GetStepOutputForBuild(build_id: str) -> str:
+  """Gets Buildbucket step output for the given build.
+
+  Args:
+    build_id: A string containing the Buildbucket ID to query.
+
+  Returns:
+    The JSON string result of querying the build with ID |build_id|.
+  """
+  cmd = ['bb', 'get', '-json', '-steps', build_id]
+  completed_process = subprocess.run(cmd,
+                                     text=True,
+                                     check=True,
+                                     stdout=subprocess.PIPE)
+  return completed_process.stdout
+
+
+def _GetShardTimesFromStepOutput(
+    step_output: str) -> Dict[str, List[Tuple[int, int]]]:
+  """Extract shard time information from Buildbucket step output.
+
+  Args:
+    step_output: A JSON string containing the Buildbucket step output for a
+        single build.
+
+  Returns:
+    A dict in the form:
+      {
+        step_name (str): [
+          (runtime (int), overhead (int)),
+          ...
+        ],
+        ...
+      }
+    |step_name| is a string containing a test step name from the build. It maps
+    to a list of tuples, where each tuple represents the runtime/overhead
+    information for a single shard of |step_name|. |runtime| is an int
+    containing how much time in seconds was spent actually running the test on
+    that shard. |overhead| is an int containing how much time in seconds was
+    spent on swarming overhead before/after the test started. The total amount
+    of machine time used on a shard should be approximately equal to |runtime|
+    + |overhead|.
+  """
+  step_output = json.loads(step_output)
+  steps = step_output['steps']
+  shard_times = {}
+  for s in steps:
+    if 'summaryMarkdown' not in s:
+      continue
+    summary = s['summaryMarkdown']
+    if not any(
+        substr in summary
+        for substr in ('Max pending time', 'Pending time', 'Shard runtime')):
+      continue
+    matches = SHARD_TIME_REGEX.findall(summary)
+    # Failed and timed out shards report combined runtime + overhead. Since
+    # runtime will typically be much greater than overhead anyways, treat the
+    # combined value as runtime with 0 overhead.
+    failure_matches = FAILURE_SHARD_TIME_REGEX.findall(summary)
+    if failure_matches:
+      matches.extend([(runtime, '0s') for runtime in failure_matches])
+    timeout_matches = TIMED_OUT_SHARD_TIME_REGEX.findall(summary)
+    if timeout_matches:
+      matches.extend([(runtime, '0s') for runtime in timeout_matches])
+    if not matches:
+      if 'had an internal swarming failure' in summary:
+        # Assume all shards had these infra failures, so ignore this data
+        # point.
+        continue
+      logging.warning('Unable to find shard runtimes from summary "%s"',
+                      summary)
+      continue
+
+    suite_name = s['name']
+    assert suite_name not in shard_times, (
+        'Found duplicate suite %s in build %s' %
+        (suite_name, step_output['id']))
+    shard_times[suite_name] = []
+    for runtime_str, overhead_str in matches:
+      runtime = _ConvertSummaryRuntimeToSeconds(runtime_str)
+      overhead = _ConvertSummaryRuntimeToSeconds(overhead_str)
+      shard_times[suite_name].append((runtime, overhead))
+  return shard_times
+
+
+def _ConvertSummaryRuntimeToSeconds(summary_runtime: str) -> int:
+  """Converts string representations of runtimes to ints.
+
+  Args:
+    summary_runtime: A string representing a single shard's runtime or overhead
+        time in either "Xm Ys" or "Ys" format.
+
+  Returns:
+    An int representing the same amount of time as |summary_runtime| in seconds.
+  """
+  if 'm' in summary_runtime:
+    minutes, seconds = summary_runtime.split()
+  else:
+    seconds = summary_runtime
+    minutes = '0m'
+  minutes = int(minutes[:-1])
+  seconds = int(seconds[:-1])
+  return 60 * minutes + seconds
+
+
+def _OutputBuilderInformation(builders_to_steps: Dict[str,
+                                                      Dict[str,
+                                                           List[Tuple[int,
+                                                                      int]]]],
+                              num_samples: int) -> None:
+  """Print out collected runtime information.
+
+  Args:
+    builders_to_step: A dict in the form:
+        {
+          builder_name (str): {
+            step_name(str): [
+              (runtime (int), overhead (int)),
+              ...
+            ],
+            ...
+          },
+          ...
+        }
+        This dict contains all the collected shard runtime information for
+        every relevant test step on every queried builder.
+    num_samples: An int containing the number of builds used from each builder.
+  """
+  def _OutputListStats(l):
+    # Here and lower down when we do the shard calculations, we can potentially
+    # understate the values since we aren't guaranteed to get |num_samples|
+    # datapoints if a test is new or recently renamed. However, this should be
+    # quite rare, and the script can simply be run again in the near future to
+    # work around this.
+    print('      Average per build %f' % (float(sum(l)) / num_samples))
+    print('      Average per shard %f' % (float(sum(l)) / len(l)))
+    print('      Median per shard %d' % l[len(l) // 2])
+    print('      Min shard %d' % l[0])
+    print('      Max shard %d' % l[-1])
+
+  # Re-create the mapping now with sorted keys so that builder output is
+  # consistent.
+  builders_to_steps = {
+      k: builders_to_steps[k]
+      for k in sorted(list(builders_to_steps.keys()))
+  }
+  for builder, steps_to_times in builders_to_steps.items():
+    print(builder)
+    for step, times in steps_to_times.items():
+      runtimes = [t[0] for t in times]
+      overheads = [t[1] for t in times]
+      runtimes.sort()
+      overheads.sort()
+      print('  %s (~%d shards)' %
+            (step, math.ceil(float(len(runtimes)) / num_samples)))
+      print('    Runtime')
+      _OutputListStats(runtimes)
+      print('    Overhead')
+      _OutputListStats(overheads)
+
+
+def main() -> None:
+  args = ParseArgs()
+
+  _EnsureBuildbucketAuth()
+
+  ci_builders = set()
+  for suite in args.suites:
+    builders_instance = gpu_builders.GpuBuilders(suite, False)
+    ci_builders |= builders_instance.GetCiBuilders()
+  ci_builders -= builders_instance.GetNonChromiumBuilders()
+
+  if args.builders:
+    valid_builders = set()
+    for b in args.builders:
+      valid_builders.add(data_types.BuilderEntry(b, 'ci', False))
+    ci_builders &= valid_builders
+
+  with multiprocessing.Pool() as p:
+    builder_times = p.map(_GetTimesForBuilder,
+                          [(b, args.num_samples) for b in ci_builders])
+  p.join()
+
+  builders_to_steps = {}
+  for bt in builder_times:
+    builders_to_steps.update(bt)
+
+  _OutputBuilderInformation(builders_to_steps, args.num_samples)
diff --git a/content/test/gpu/machine_times/get_machine_times_unittest.py b/content/test/gpu/machine_times/get_machine_times_unittest.py
new file mode 100755
index 0000000..3217f37
--- /dev/null
+++ b/content/test/gpu/machine_times/get_machine_times_unittest.py
@@ -0,0 +1,344 @@
+#!/usr/bin/env vpython3
+# 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 json
+import subprocess
+import unittest
+import unittest.mock as mock
+
+from machine_times import get_machine_times
+
+from unexpected_passes_common import data_types
+
+# pylint: disable=protected-access
+
+
+class EnsureBuildbucketAuthUnittest(unittest.TestCase):
+  def testValidAuth(self):  # pylint: disable=no-self-use
+    """Tests behavior when bb auth is valid."""
+    with mock.patch.object(get_machine_times.subprocess, 'check_call'):
+      get_machine_times._EnsureBuildbucketAuth()
+
+  def testInvalidAuth(self):
+    """Tests behavior when bb auth is invalid."""
+    def SideEffect(*args, **kwargs):
+      raise subprocess.CalledProcessError(1, [])
+
+    with mock.patch.object(get_machine_times.subprocess,
+                           'check_call',
+                           side_effect=SideEffect):
+      with self.assertRaisesRegex(
+          RuntimeError, 'You are not logged into bb - run `bb auth-login`'):
+        get_machine_times._EnsureBuildbucketAuth()
+
+
+class GetTimesForBuilderUnittest(unittest.TestCase):
+  def testNoBuildbucketIds(self):
+    """Tests behavior when no Buildbucket IDs are found."""
+    builder = data_types.BuilderEntry('builder', 'ci', False)
+    with mock.patch.object(get_machine_times,
+                           '_GetBuildbucketIdsForBuilder',
+                           return_value=[]):
+      with self.assertLogs(level='WARNING'):
+        retval = get_machine_times._GetTimesForBuilder((builder, 1))
+        self.assertEqual(retval, {'chromium/ci/builder': {}})
+
+  def testBasic(self):
+    """Basic happy path test."""
+    builder = data_types.BuilderEntry('builder', 'ci', False)
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'first step',
+                'summaryMarkdown':
+                ('Max pending time: 2s (shard #1) '
+                 '* [shard #0 (runtime (1s) + overhead (1s): 2s)]'
+                 '* [shard #1 (runtime (2s) + overhead (2s): 4s)]'),
+            },
+            {
+                'name':
+                'second step',
+                'summaryMarkdown':
+                ('Max pending time: 4s (shard #1) '
+                 '* [shard #0 (runtime (3s) + overhead (3s): 6s)]'
+                 '* [shard #1 (runtime (4s) + overhead (4s): 8s)]'),
+            },
+        ],
+    }
+    expected_output = {
+        'chromium/ci/builder': {
+            'first step': [
+                (1, 1),
+                (2, 2),
+            ],
+            'second step': [
+                (3, 3),
+                (4, 4),
+            ],
+        },
+    }
+    with mock.patch.object(get_machine_times,
+                           '_GetBuildbucketIdsForBuilder',
+                           return_value=['1234']):
+      with mock.patch.object(get_machine_times,
+                             '_GetStepOutputForBuild',
+                             return_value=json.dumps(step_output)):
+        self.assertEqual(get_machine_times._GetTimesForBuilder((builder, 1)),
+                         expected_output)
+
+
+class GetBuildbucketIdsForBuilderUnittest(unittest.TestCase):
+  def testBasic(self):
+    """Basic happy path test."""
+    builder = data_types.BuilderEntry('builder', 'ci', False)
+    mock_process = mock.Mock()
+    mock_process.stdout = '1\n2\n3'
+    with mock.patch.object(get_machine_times.subprocess,
+                           'run',
+                           return_value=mock_process) as mock_run:
+      self.assertEqual(
+          get_machine_times._GetBuildbucketIdsForBuilder(builder, 3),
+          ['1', '2', '3'])
+      mock_run.assert_called_once_with(
+          ['bb', 'ls', '-id', '-3', '-status', 'ended', 'chromium/ci/builder'],
+          text=True,
+          check=True,
+          stdout=subprocess.PIPE)
+
+
+class GetStepOutputForBuildUnittest(unittest.TestCase):
+  def testBasic(self):
+    """Basic happy path test."""
+    mock_process = mock.Mock()
+    mock_process.stdout = 'stdout'
+    with mock.patch.object(get_machine_times.subprocess,
+                           'run',
+                           return_value=mock_process) as mock_run:
+      self.assertEqual(get_machine_times._GetStepOutputForBuild('1234'),
+                       'stdout')
+      mock_run.assert_called_once_with(['bb', 'get', '-json', '-steps', '1234'],
+                                       text=True,
+                                       check=True,
+                                       stdout=subprocess.PIPE)
+
+
+class GetShardTimesFromStepOutputUnittest(unittest.TestCase):
+  def testNonSummaryIgnored(self):
+    """Tests that steps without a summary are ignored."""
+    step_output = {
+        'steps': [
+            {
+                'name': 'builder cache|check if empty',
+            },
+        ],
+    }
+    self.assertEqual(
+        get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output)),
+        {})
+
+  def testSummaryFiltering(self):
+    """Tests that only steps with certain summaries are used."""
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'bad step',
+                'summaryMarkdown':
+                '* [shard #0 (runtime (1s) + overhead (1s): 2s)]',
+            },
+            {
+                'name':
+                'Multi shard with pending time',
+                'summaryMarkdown':
+                ('Max pending time: 38s (shard #5) '
+                 '* [shard #0 (runtime (2s) + overhead (2s): 4s)]'),
+            },
+            {
+                'name':
+                'Single shard with pending time',
+                'summaryMarkdown':
+                ('Pending time: 40s '
+                 '* [shard #0 (runtime (3s) + overhead (3s): 6s)]'),
+            },
+            {
+                'name':
+                'Single shard with no pending time',
+                'summaryMarkdown':
+                ('Shard runtime 4s '
+                 '* [shard #0 (runtime (4s) + overhead (4s): 8s)]'),
+            },
+        ],
+    }
+    expected_output = {
+        'Multi shard with pending time': [(2, 2)],
+        'Single shard with pending time': [(3, 3)],
+        'Single shard with no pending time': [(4, 4)],
+    }
+    self.assertEqual(
+        get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output)),
+        expected_output)
+
+  def testPassingMatch(self):
+    """Tests that shard times can be extracted from passing shards."""
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'All passing',
+                'summaryMarkdown':
+                ('Max pending time: 2s (shard #1) '
+                 '* [shard #0 (runtime (1s) + overhead (1s): 2s)]'
+                 '* [shard #1 (runtime (2s) + overhead (2s): 4s)]'),
+            },
+        ],
+    }
+    expected_output = {
+        'All passing': [(1, 1), (2, 2)],
+    }
+    self.assertEqual(
+        get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output)),
+        expected_output)
+
+  def testFailingMatch(self):
+    """Tests that shard times can be extracted from failing shards."""
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'All failing',
+                'summaryMarkdown': ('Max pending time: 2s (shard #1)'
+                                    '* [shard #0 (failed) (1s)]'
+                                    '* [shard #1 (failed) (2s)]'),
+            },
+        ],
+    }
+    expected_output = {
+        'All failing': [(1, 0), (2, 0)],
+    }
+    self.assertEqual(
+        get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output)),
+        expected_output)
+
+  def testTimeoutMatch(self):
+    """Tests that shard times can be extracted from timed out shards."""
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'All timeout',
+                'summaryMarkdown': ('Max pending time: 2s (shard #1)'
+                                    '* [shard #0 timed out after 1s]'
+                                    '* [shard #1 timed out after 2s]'),
+            },
+        ],
+    }
+    expected_output = {
+        'All timeout': [(1, 0), (2, 0)],
+    }
+    self.assertEqual(
+        get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output)),
+        expected_output)
+
+  def testSwarmingFailuresIgnored(self):
+    """Tests that internal swarming failures are silently ignored."""
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'All infra failure',
+                'summaryMarkdown':
+                ('Max pending time: 2s (shard #1)'
+                 '* [shard #0 had an internal swarming failure]'
+                 '* [shard #1 had an internal swarming failure]'),
+            },
+        ],
+    }
+    # assertNoLogs would be useful here, but is only available in Python 3.10
+    # and above.
+    with mock.patch.object(get_machine_times.logging,
+                           'warning',
+                           side_effect=RuntimeError):
+      self.assertEqual(
+          get_machine_times._GetShardTimesFromStepOutput(
+              json.dumps(step_output)), {})
+
+  def testNoDataReported(self):
+    """Tests that a failure to get shard runtimes is reported to the user."""
+    step_output = {
+        'steps': [
+            {
+                'name': 'Missing',
+                'summaryMarkdown': 'Max pending time: 1s (shard #0)',
+            },
+        ],
+    }
+    with self.assertLogs(level='WARNING'):
+      self.assertEqual(
+          get_machine_times._GetShardTimesFromStepOutput(
+              json.dumps(step_output)), {})
+
+  def testMixedShards(self):
+    """Tests shard time extraction with a mix of different shards."""
+    step_output = {
+        'steps': [
+            {
+                'name':
+                'Mixed',
+                'summaryMarkdown':
+                ('Max pending time: 3s (shard #2)'
+                 '* [shard #0 (runtime (1s) + overhead (1s): 2s)]'
+                 '* [shard #1 (failed) (2s)]'
+                 '* [shard #2 timed out after 3s]'),
+            },
+        ],
+    }
+    expected_output = {
+        'Mixed': [(1, 1), (2, 0), (3, 0)],
+    }
+    self.assertEqual(
+        get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output)),
+        expected_output)
+
+  def testDuplicateSteps(self):
+    """Tests that duplicate shards are not supported."""
+    step_output = {
+        'id':
+        'build-id',
+        'steps': [
+            {
+                'name':
+                'I am the real one',
+                'summaryMarkdown':
+                ('Max pending time: 2s (shard #1) '
+                 '* [shard #0 (runtime (1s) + overhead (1s): 2s)]'
+                 '* [shard #1 (runtime (2s) + overhead (2s): 4s)]'),
+            },
+            {
+                'name':
+                'I am the real one',
+                'summaryMarkdown':
+                ('Max pending time: 2s (shard #1) '
+                 '* [shard #0 (runtime (1s) + overhead (1s): 2s)]'
+                 '* [shard #1 (runtime (2s) + overhead (2s): 4s)]'),
+            },
+        ],
+    }
+    with self.assertRaises(AssertionError):
+      get_machine_times._GetShardTimesFromStepOutput(json.dumps(step_output))
+
+
+class ConvertSummaryRuntimeToSecondsUnittest(unittest.TestCase):
+  def testMinutesAndSeconds(self):
+    """Tests conversion with minutes and seconds present."""
+    self.assertEqual(get_machine_times._ConvertSummaryRuntimeToSeconds('1m 1s'),
+                     61)
+
+  def testSecondsOnly(self):
+    """Tests conversion with only seconds present."""
+    self.assertEqual(get_machine_times._ConvertSummaryRuntimeToSeconds('1s'), 1)
+
+
+if __name__ == '__main__':
+  unittest.main(verbosity=2)
diff --git a/content/test/gpu/run_pytype.py b/content/test/gpu/run_pytype.py
index c7902bf..d3a04f4 100755
--- a/content/test/gpu/run_pytype.py
+++ b/content/test/gpu/run_pytype.py
@@ -38,8 +38,10 @@
     'flake_suppressor',
     'gold_inexact_matching',
     'gpu_tests',
+    'machine_times',
     'unexpected_passes',
     # Files.
+    'get_machine_times.py',
     'unexpected_pass_finder.py',
 ]
 FILES_AND_DIRECTORIES_TO_CHECK = [
diff --git a/content/test/gpu/unexpected_pass_finder.py b/content/test/gpu/unexpected_pass_finder.py
index e2434fca..5f923df 100755
--- a/content/test/gpu/unexpected_pass_finder.py
+++ b/content/test/gpu/unexpected_pass_finder.py
@@ -35,14 +35,8 @@
 """
 
 import argparse
-import importlib
-import inspect
-import logging
 import os
-import pkgutil
-from typing import Dict, Type
 
-import gpu_path_util
 from gpu_path_util import setup_telemetry_paths  # pylint: disable=unused-import
 from gpu_path_util import setup_testing_paths  # pylint: disable=unused-import
 
@@ -57,39 +51,8 @@
 from unexpected_passes_common import result_output
 
 
-def _GenerateTestNameMapping(
-) -> Dict[str, Type[gpu_integration_test.GpuIntegrationTest]]:
-  """Generates a mapping from suite name to class.
-
-  Returns:
-    A dict mapping a suite's human-readable name to the class that implements
-    it.
-  """
-  mapping = {}
-  for p in pkgutil.iter_modules(
-      [os.path.join(gpu_path_util.GPU_DIR, 'gpu_tests')]):
-    if p.ispkg:
-      continue
-    module_name = 'gpu_tests.' + p.name
-    try:
-      module = importlib.import_module(module_name)
-    except ImportError:
-      logging.warning(
-          'Unable to import module %s. This is likely due to stale .pyc files '
-          'existing on disk.', module_name)
-      continue
-    for name, obj in inspect.getmembers(module):
-      # Look for cases of GpuIntegrationTest that have Name() overridden. The
-      # name check filters out base classes.
-      if (inspect.isclass(obj)
-          and issubclass(obj, gpu_integration_test.GpuIntegrationTest)
-          and obj.Name() != name):
-        mapping[obj.Name()] = obj
-  return mapping
-
-
 def ParseArgs() -> argparse.Namespace:
-  name_mapping = _GenerateTestNameMapping()
+  name_mapping = gpu_integration_test.GenerateTestNameMapping()
   test_suites = list(name_mapping.keys())
   test_suites.sort()
 
diff --git a/gin/gin_features.cc b/gin/gin_features.cc
index f1b5084..aaa51d6f 100644
--- a/gin/gin_features.cc
+++ b/gin/gin_features.cc
@@ -91,6 +91,9 @@
 // Enables the Turbofan compiler.
 BASE_FEATURE(kV8Turbofan, "V8Turbofan", base::FEATURE_ENABLED_BY_DEFAULT);
 
+// Enables Turbofan's new compiler IR Turboshaft.
+BASE_FEATURE(kV8Turboshaft, "V8Turboshaft", base::FEATURE_DISABLED_BY_DEFAULT);
+
 // Enables experimental Maglev compiler.
 BASE_FEATURE(kV8Maglev, "V8Maglev", base::FEATURE_DISABLED_BY_DEFAULT);
 
diff --git a/gin/gin_features.h b/gin/gin_features.h
index dd9bae0a..90f8657 100644
--- a/gin/gin_features.h
+++ b/gin/gin_features.h
@@ -49,6 +49,7 @@
 GIN_EXPORT BASE_DECLARE_FEATURE(kV8Sparkplug);
 GIN_EXPORT BASE_DECLARE_FEATURE(kV8SparkplugNeedsShortBuiltinCalls);
 GIN_EXPORT BASE_DECLARE_FEATURE(kV8Turbofan);
+GIN_EXPORT BASE_DECLARE_FEATURE(kV8Turboshaft);
 GIN_EXPORT BASE_DECLARE_FEATURE(kV8TurboFastApiCalls);
 GIN_EXPORT BASE_DECLARE_FEATURE(kV8UseLibmTrigFunctions);
 GIN_EXPORT extern const base::FeatureParam<base::TimeDelta>
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index 39185f75..c71893c 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -295,6 +295,8 @@
   SetV8FlagsIfOverridden(features::kV8Sparkplug, "--sparkplug",
                          "--no-sparkplug");
   SetV8FlagsIfOverridden(features::kV8Turbofan, "--turbofan", "--no-turbofan");
+  SetV8FlagsIfOverridden(features::kV8Turboshaft, "--turboshaft",
+                         "--no-turboshaft");
   SetV8FlagsIfOverridden(features::kV8ConcurrentSparkplug,
                          "--concurrent-sparkplug", "--no-concurrent-sparkplug");
   SetV8FlagsIfOverridden(features::kV8SparkplugNeedsShortBuiltinCalls,
diff --git a/google_apis/gaia/fake_gaia.cc b/google_apis/gaia/fake_gaia.cc
index 0345863f..b2a726e 100644
--- a/google_apis/gaia/fake_gaia.cc
+++ b/google_apis/gaia/fake_gaia.cc
@@ -603,15 +603,10 @@
     return;
   }
 
-  if (!GetQueryParameter(request_url.query(), "is_supervised",
-                         &is_supervised_)) {
-    LOG(ERROR) << "Missing param 'is_supervised' in "
-                  "/embedded/reauth/chromeos call";
-    return;
-  }
-
+  GetQueryParameter(request_url.query(), "is_supervised", &is_supervised_);
   GetQueryParameter(request_url.query(), "is_device_owner", &is_device_owner_);
   GetQueryParameter(request_url.query(), "Email", &prefilled_email_);
+  GetQueryParameter(request_url.query(), "rart", &reauth_request_token_);
 
   http_response->set_code(net::HTTP_OK);
   http_response->set_content(GetEmbeddedSetupChromeosResponseContent());
diff --git a/gpu/command_buffer/service/copy_shared_image_helper.cc b/gpu/command_buffer/service/copy_shared_image_helper.cc
index c8d33cb..8f3d5081 100644
--- a/gpu/command_buffer/service/copy_shared_image_helper.cc
+++ b/gpu/command_buffer/service/copy_shared_image_helper.cc
@@ -522,7 +522,7 @@
         yuva_textures[i] = source_scoped_access[i]->graphite_texture();
       }
       skgpu::graphite::YUVABackendTextures yuva_backend_textures(
-          recorder, yuva_info, yuva_textures.data());
+          recorder, yuva_info, yuva_textures);
       result_image = SkImages::TextureFromYUVATextures(
           recorder, yuva_backend_textures, src_rgb_color_space);
     }
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
index 5d9605f..2b8b4b1 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
@@ -88,22 +88,6 @@
   GLint read_framebuffer_;
 };
 
-class ScopedRenderbufferBindingReset {
- public:
-  explicit ScopedRenderbufferBindingReset(gl::GLApi* api)
-      : api_(api), renderbuffer_(0) {
-    api_->glGetIntegervFn(GL_RENDERBUFFER_BINDING, &renderbuffer_);
-  }
-
-  ~ScopedRenderbufferBindingReset() {
-    api_->glBindRenderbufferEXTFn(GL_RENDERBUFFER, renderbuffer_);
-  }
-
- private:
-  raw_ptr<gl::GLApi> api_;
-  GLint renderbuffer_;
-};
-
 class ScopedTextureBindingReset {
  public:
   // |texture_target| only supports GL_TEXTURE_2D, GL_TEXTURE_EXTERNAL_OES, and
@@ -210,20 +194,6 @@
   return true;
 }
 
-void ResizeRenderbuffer(const GLES2DecoderPassthroughImpl* impl,
-                        GLuint renderbuffer,
-                        const gfx::Size& size,
-                        GLenum internal_format) {
-  gl::GLApi* api = impl->api();
-  GLES2DecoderPassthroughImpl::ScopedPixelLocalStorageInterrupt
-      scoped_pls_interrupt(impl);
-  ScopedRenderbufferBindingReset scoped_renderbuffer_reset(api);
-
-  api->glBindRenderbufferEXTFn(GL_RENDERBUFFER, renderbuffer);
-  api->glRenderbufferStorageEXTFn(GL_RENDERBUFFER, internal_format,
-                                  size.width(), size.height());
-}
-
 void RequestExtensions(gl::GLApi* api,
                        const gfx::ExtensionSet& requestable_extensions,
                        const char* const* extensions_to_request,
@@ -651,55 +621,14 @@
   ScopedPixelLocalStorageInterrupt scoped_pls_interrupt(impl_);
   ScopedFramebufferBindingReset scoped_fbo_reset(
       api(), impl_->supports_separate_fbo_bindings_);
-  ScopedRenderbufferBindingReset scoped_renderbuffer_reset(api());
 
   api()->glGenFramebuffersEXTFn(1, &framebuffer_service_id);
   api()->glBindFramebufferEXTFn(GL_FRAMEBUFFER, framebuffer_service_id);
 
-  const EmulatedDefaultFramebufferFormat& format =
-      impl_->emulated_default_framebuffer_format_;
   color_texture = std::make_unique<EmulatedColorBuffer>(impl_);
   api()->glFramebufferTexture2DEXTFn(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
                                      GL_TEXTURE_2D,
                                      color_texture->texture->service_id(), 0);
-
-  if (format.depth_stencil_internal_format != GL_NONE) {
-    DCHECK(format.depth_internal_format == GL_NONE &&
-           format.stencil_internal_format == GL_NONE);
-    api()->glGenRenderbuffersEXTFn(1, &depth_stencil_buffer_service_id);
-    api()->glBindRenderbufferEXTFn(GL_RENDERBUFFER,
-                                   depth_stencil_buffer_service_id);
-    if (impl_->feature_info_->gl_version_info().IsAtLeastGLES(3, 0) ||
-        impl_->features().angle_webgl_compatibility) {
-      api()->glFramebufferRenderbufferEXTFn(
-          GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER,
-          depth_stencil_buffer_service_id);
-    } else {
-      api()->glFramebufferRenderbufferEXTFn(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
-                                            GL_RENDERBUFFER,
-                                            depth_stencil_buffer_service_id);
-      api()->glFramebufferRenderbufferEXTFn(
-          GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER,
-          depth_stencil_buffer_service_id);
-    }
-  } else {
-    if (format.depth_internal_format != GL_NONE) {
-      api()->glGenRenderbuffersEXTFn(1, &depth_buffer_service_id);
-      api()->glBindRenderbufferEXTFn(GL_RENDERBUFFER, depth_buffer_service_id);
-      api()->glFramebufferRenderbufferEXTFn(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
-                                            GL_RENDERBUFFER,
-                                            depth_buffer_service_id);
-    }
-
-    if (format.stencil_internal_format != GL_NONE) {
-      api()->glGenRenderbuffersEXTFn(1, &stencil_buffer_service_id);
-      api()->glBindRenderbufferEXTFn(GL_RENDERBUFFER,
-                                     stencil_buffer_service_id);
-      api()->glFramebufferRenderbufferEXTFn(
-          GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER,
-          stencil_buffer_service_id);
-    }
-  }
 }
 
 GLES2DecoderPassthroughImpl::EmulatedDefaultFramebuffer::
@@ -759,23 +688,9 @@
   }
   size = new_size;
 
-  const EmulatedDefaultFramebufferFormat& format =
-      impl_->emulated_default_framebuffer_format_;
   if (color_texture) {
     color_texture->Resize(size);
   }
-  if (depth_stencil_buffer_service_id != 0) {
-    ResizeRenderbuffer(impl_, depth_stencil_buffer_service_id, size,
-                       format.depth_stencil_internal_format);
-  }
-  if (depth_buffer_service_id != 0) {
-    ResizeRenderbuffer(impl_, depth_buffer_service_id, size,
-                       format.depth_internal_format);
-  }
-  if (stencil_buffer_service_id != 0) {
-    ResizeRenderbuffer(impl_, stencil_buffer_service_id, size,
-                       format.stencil_internal_format);
-  }
 
   // Check that the framebuffer is complete
   {
@@ -802,15 +717,6 @@
   if (have_context) {
     api()->glDeleteFramebuffersEXTFn(1, &framebuffer_service_id);
     framebuffer_service_id = 0;
-
-    api()->glDeleteRenderbuffersEXTFn(1, &depth_stencil_buffer_service_id);
-    depth_stencil_buffer_service_id = 0;
-
-    api()->glDeleteRenderbuffersEXTFn(1, &depth_buffer_service_id);
-    depth_buffer_service_id = 0;
-
-    api()->glDeleteRenderbuffersEXTFn(1, &stencil_buffer_service_id);
-    stencil_buffer_service_id = 0;
   }
   if (color_texture) {
     color_texture->Destroy(have_context);
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
index 2388bec..16b06cb 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
@@ -774,9 +774,6 @@
     GLenum color_texture_internal_format = GL_NONE;
     GLenum color_texture_format = GL_NONE;
     GLenum color_texture_type = GL_NONE;
-    GLenum depth_stencil_internal_format = GL_NONE;
-    GLenum depth_internal_format = GL_NONE;
-    GLenum stencil_internal_format = GL_NONE;
   };
 
   struct EmulatedColorBuffer {
@@ -828,15 +825,6 @@
     // Color buffer texture (if not multisampled)
     std::unique_ptr<EmulatedColorBuffer> color_texture;
 
-    // Service ID of the depth stencil renderbuffer
-    GLuint depth_stencil_buffer_service_id = 0;
-
-    // Service ID of the depth renderbuffer
-    GLuint depth_buffer_service_id = 0;
-
-    // Service ID of the stencil renderbuffer (
-    GLuint stencil_buffer_service_id = 0;
-
     gfx::Size size;
   };
   EmulatedDefaultFramebufferFormat emulated_default_framebuffer_format_;
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
index c123f5e..0b18b06 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
@@ -30,7 +30,7 @@
 #include "ui/gl/scoped_make_current.h"
 
 #if BUILDFLAG(IS_OZONE)
-#include "ui/gl/gl_image.h"
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
 #endif
 
 #if !BUILDFLAG(IS_ANDROID)
@@ -60,19 +60,6 @@
 namespace gpu {
 namespace gles2 {
 
-namespace {
-
-#if BUILDFLAG(IS_OZONE)
-class GLImageStub : public gl::GLImage {
- public:
-  GLImageStub() = default;
-
- private:
-  ~GLImageStub() override = default;
-};
-#endif
-
-}  // namespace
 void GLES2DecoderRGBBackbufferTest::SetUp() {
   InitState init;
   init.bind_generates_resource = true;
@@ -287,7 +274,8 @@
                                           1,                    /* depth */
                                           0,                    /* border */
                                           GL_RGBA, GL_UNSIGNED_BYTE);
-  scoped_refptr<gl::GLImage> image(new GLImageStub);
+  scoped_refptr<gl::GLImage> image(
+      GLImageNativePixmap::CreateForTesting(gfx::Size(256, 256)));
 
   abstract_texture->SetBoundImage(image.get());
 
@@ -328,7 +316,8 @@
   EXPECT_EQ(texture->min_filter(), static_cast<GLenum>(GL_LINEAR));
 
   // Attach an image and see if it works.
-  scoped_refptr<gl::GLImage> image(new GLImageStub);
+  scoped_refptr<gl::GLImage> image(
+      GLImageNativePixmap::CreateForTesting(gfx::Size()));
 
   abstract_texture->SetBoundImage(image.get());
 
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
index 6099770..f352ac9 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
@@ -30,7 +30,7 @@
 #include "ui/gl/gl_surface_stub.h"
 
 #if BUILDFLAG(IS_OZONE)
-#include "ui/gl/gl_image.h"
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
 #endif
 
 #if !defined(GL_DEPTH24_STENCIL8)
@@ -3344,29 +3344,6 @@
   EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
 }
 
-#if BUILDFLAG(IS_OZONE)
-class MockGLImage : public gl::GLImage {
- public:
-  MockGLImage() = default;
-
-  // Overridden from gl::GLImage:
-  MOCK_METHOD0(GetSize, gfx::Size());
-  MOCK_METHOD0(GetInternalFormat, unsigned());
-  MOCK_METHOD1(BindTexImage, bool(unsigned));
-  MOCK_METHOD1(ReleaseTexImage, void(unsigned));
-  MOCK_METHOD1(CopyTexImage, bool(unsigned));
-  MOCK_METHOD3(CopyTexSubImage,
-               bool(unsigned, const gfx::Point&, const gfx::Rect&));
-  MOCK_METHOD3(OnMemoryDump,
-               void(base::trace_event::ProcessMemoryDump*,
-                    uint64_t,
-                    const std::string&));
-
- protected:
-  ~MockGLImage() override = default;
-};
-#endif
-
 TEST_P(GLES2DecoderManualInitTest, DrawWithGLImageExternal) {
   InitState init;
   init.extensions = "GL_OES_EGL_image_external";
@@ -3380,7 +3357,8 @@
 
   TextureRef* texture_ref = GetTexture(client_texture_id_);
 #if BUILDFLAG(IS_OZONE)
-  scoped_refptr<MockGLImage> image(new MockGLImage);
+  scoped_refptr<GLImageNativePixmap> image(
+      GLImageNativePixmap::CreateForTesting(gfx::Size()));
 #endif
   group().texture_manager()->SetTarget(texture_ref, GL_TEXTURE_EXTERNAL_OES);
   group().texture_manager()->SetLevelInfo(texture_ref, GL_TEXTURE_EXTERNAL_OES,
diff --git a/gpu/command_buffer/service/raster_decoder.cc b/gpu/command_buffer/service/raster_decoder.cc
index b9f4bac..89aa2721 100644
--- a/gpu/command_buffer/service/raster_decoder.cc
+++ b/gpu/command_buffer/service/raster_decoder.cc
@@ -2058,10 +2058,7 @@
   }
 
   // Try a direct texture upload without using SkSurface.
-  // TODO(crbug.com/1423576): Enable this path for Graphite after fixing
-  // RGBA/BGRA mismatch.
-  if (!graphite_context() &&
-      gfx::Size(src_width, src_height) == dest_shared_image->size() &&
+  if (gfx::Size(src_width, src_height) == dest_shared_image->size() &&
       x_offset == 0 && y_offset == 0 &&
       (src_info.alphaType() == dest_shared_image->alpha_type() ||
        src_info.alphaType() == kUnknown_SkAlphaType) &&
diff --git a/gpu/command_buffer/service/shared_context_state.cc b/gpu/command_buffer/service/shared_context_state.cc
index 3e2f4bc..402d0fe 100644
--- a/gpu/command_buffer/service/shared_context_state.cc
+++ b/gpu/command_buffer/service/shared_context_state.cc
@@ -54,6 +54,10 @@
 #include "components/viz/common/gpu/dawn_context_provider.h"
 #endif
 
+#if BUILDFLAG(IS_WIN)
+#include "ui/gl/gl_angle_util_win.h"
+#endif
+
 namespace {
 static constexpr size_t kInitialScratchDeserializationBufferSize = 1024;
 
@@ -960,4 +964,19 @@
   return max_texture_size;
 }
 
+#if BUILDFLAG(IS_WIN)
+Microsoft::WRL::ComPtr<ID3D11Device> SharedContextState::GetD3D11Device()
+    const {
+  switch (gr_context_type_) {
+    case GrContextType::kGL:
+      return gl::QueryD3D11DeviceObjectFromANGLE();
+    case GrContextType::kGraphiteDawn:
+      return dawn_context_provider_->GetD3D11Device();
+    default:
+      NOTREACHED();
+      return nullptr;
+  }
+}
+#endif
+
 }  // namespace gpu
diff --git a/gpu/command_buffer/service/shared_context_state.h b/gpu/command_buffer/service/shared_context_state.h
index 30ef100f..64f4579 100644
--- a/gpu/command_buffer/service/shared_context_state.h
+++ b/gpu/command_buffer/service/shared_context_state.h
@@ -36,6 +36,11 @@
 #include "third_party/skia/include/gpu/GrDirectContext.h"
 #include "ui/gl/progress_reporter.h"
 
+#if BUILDFLAG(IS_WIN)
+#include <d3d11.h>
+#include <wrl/client.h>
+#endif
+
 namespace gl {
 class GLContext;
 class GLDisplay;
@@ -251,6 +256,11 @@
 
   int32_t GetMaxTextureSize() const;
 
+#if BUILDFLAG(IS_WIN)
+  // Get the D3D11 device used for the compositing.
+  Microsoft::WRL::ComPtr<ID3D11Device> GetD3D11Device() const;
+#endif
+
  private:
   friend class base::RefCounted<SharedContextState>;
   friend class raster::RasterDecoderTestBase;
diff --git a/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h
index f9cd7bdb..cb1659a 100644
--- a/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h
+++ b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h
@@ -51,6 +51,14 @@
     return Create(size, format, pixmap, target, texture_id);
   }
 
+  // Allows for creation of an uninitialized instance in testing contexts that
+  // simply need a GLImageNativePixmap pointer but don't need to do anything on
+  // it.
+  static scoped_refptr<GLImageNativePixmap> CreateForTesting(
+      const gfx::Size& size) {
+    return base::WrapRefCounted(new GLImageNativePixmap(size));
+  }
+
  private:
   friend class gles2::GLES2DecoderImpl;
   friend class media::V4L2SliceVideoDecodeAccelerator;
diff --git a/gpu/command_buffer/service/shared_image/shared_image_representation.cc b/gpu/command_buffer/service/shared_image/shared_image_representation.cc
index 2520def..cf4b102f 100644
--- a/gpu/command_buffer/service/shared_image/shared_image_representation.cc
+++ b/gpu/command_buffer/service/shared_image/shared_image_representation.cc
@@ -627,7 +627,7 @@
     SkYUVAInfo yuva_info(sk_size, ToSkYUVAPlaneConfig(format),
                          ToSkYUVASubsampling(format), yuv_color_space);
     skgpu::graphite::YUVABackendTextures yuva_backend_textures(
-        recorder, yuva_info, graphite_textures_.data());
+        recorder, yuva_info, graphite_textures_);
     return SkImages::TextureFromYUVATextures(
         recorder, yuva_backend_textures, sk_color_space, texture_release_proc,
         release_context);
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc
index b374b96..a20f11d 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -30,7 +30,7 @@
 #include "ui/gl/gl_switches.h"
 
 #if BUILDFLAG(IS_OZONE)
-#include "ui/gl/gl_image.h"
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
 #endif
 
 using ::testing::AtLeast;
@@ -43,20 +43,6 @@
 namespace gpu {
 namespace gles2 {
 
-namespace {
-
-#if BUILDFLAG(IS_OZONE)
-class GLImageStub : public gl::GLImage {
- public:
-  GLImageStub() = default;
-
- private:
-  ~GLImageStub() override = default;
-};
-#endif
-
-}  // namespace
-
 class TextureTestHelper {
  public:
   static bool IsNPOT(const Texture* texture) {
@@ -2061,7 +2047,8 @@
   Texture* texture = texture_ref_->texture();
   EXPECT_EQ(static_cast<GLenum>(target), texture->target());
 #if BUILDFLAG(IS_OZONE)
-  scoped_refptr<gl::GLImage> image(new GLImageStub);
+  scoped_refptr<gl::GLImage> image(
+      GLImageNativePixmap::CreateForTesting(gfx::Size()));
 #endif
   manager_->SetLevelInfo(texture_ref_.get(), target, 0, GL_RGBA, 0, 0, 1, 0,
                          GL_RGBA, GL_UNSIGNED_BYTE, gfx::Rect());
@@ -2371,14 +2358,16 @@
   EXPECT_FALSE(ref2->texture()->HasImages());
   EXPECT_FALSE(texture_manager1_->HaveImages());
   EXPECT_FALSE(texture_manager2_->HaveImages());
-  scoped_refptr<gl::GLImage> image1(new GLImageStub);
+  scoped_refptr<gl::GLImage> image1(
+      GLImageNativePixmap::CreateForTesting(gfx::Size()));
   texture_manager1_->SetBoundLevelImage(ref1.get(), GL_TEXTURE_2D, 1,
                                         image1.get());
   EXPECT_TRUE(ref1->texture()->HasImages());
   EXPECT_TRUE(ref2->texture()->HasImages());
   EXPECT_TRUE(texture_manager1_->HaveImages());
   EXPECT_TRUE(texture_manager2_->HaveImages());
-  scoped_refptr<gl::GLImage> image2(new GLImageStub);
+  scoped_refptr<gl::GLImage> image2(
+      GLImageNativePixmap::CreateForTesting(gfx::Size()));
   texture_manager1_->SetBoundLevelImage(ref1.get(), GL_TEXTURE_2D, 1,
                                         image2.get());
   EXPECT_TRUE(ref1->texture()->HasImages());
diff --git a/gpu/ipc/common/dxgi_helpers.cc b/gpu/ipc/common/dxgi_helpers.cc
index c59a4232..847489c 100644
--- a/gpu/ipc/common/dxgi_helpers.cc
+++ b/gpu/ipc/common/dxgi_helpers.cc
@@ -93,7 +93,7 @@
   }
 
   return CopyD3D11TexToMem(texture.Get(), dest_buffer, dst_buffer_size,
-                           d3d11_device, staging_texture) > 0;
+                           d3d11_device, staging_texture);
 }
 
 bool CopyD3D11TexToMem(
@@ -191,4 +191,89 @@
                           texture_desc.Height) == 0;
 }
 
+GPU_EXPORT bool CopyShMemToDXGIBuffer(base::span<uint8_t> shared_memory,
+                                      HANDLE dxgi_handle,
+                                      ID3D11Device* d3d11_device) {
+  CHECK(d3d11_device);
+
+  uint8_t* src_buffer = shared_memory.data();
+  size_t src_buffer_size = shared_memory.size_bytes();
+
+  Microsoft::WRL::ComPtr<ID3D11Device1> device1;
+  HRESULT hr = d3d11_device->QueryInterface(IID_PPV_ARGS(&device1));
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "Failed to open D3D11_1 device. hr=" << std::hex << hr;
+    return false;
+  }
+
+  Microsoft::WRL::ComPtr<ID3D11Texture2D> texture;
+
+  // Open texture on device using shared handle
+  hr = device1->OpenSharedResource1(dxgi_handle, IID_PPV_ARGS(&texture));
+  if (FAILED(hr)) {
+    DLOG(ERROR) << "Failed to open shared texture. hr=" << std::hex << hr;
+    return false;
+  }
+
+  return CopyMemToD3D11Tex(src_buffer, src_buffer_size, texture.Get(),
+                           d3d11_device);
+}
+
+GPU_EXPORT bool CopyMemToD3D11Tex(uint8_t* src_buffer,
+                                  size_t buffer_size,
+                                  ID3D11Texture2D* output_texture,
+                                  ID3D11Device* d3d11_device) {
+  CHECK(d3d11_device);
+  CHECK(src_buffer);
+  CHECK(output_texture);
+
+  D3D11_TEXTURE2D_DESC texture_desc = {};
+  output_texture->GetDesc(&texture_desc);
+
+  if (texture_desc.Format != DXGI_FORMAT_NV12) {
+    DLOG(ERROR) << "Can't copy non-NV12 texture. format="
+                << static_cast<int>(texture_desc.Format);
+    return false;
+  }
+  size_t copy_size = texture_desc.Height * texture_desc.Width * 3 / 2;
+  if (buffer_size < copy_size) {
+    DLOG(ERROR) << "Invalid buffer size for copy.";
+    return false;
+  }
+
+  Microsoft::WRL::ComPtr<ID3D11DeviceContext> device_context;
+  d3d11_device->GetImmediateContext(&device_context);
+  HRESULT hr = S_OK;
+
+  if (texture_desc.MiscFlags & D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX) {
+    Microsoft::WRL::ComPtr<IDXGIKeyedMutex> keyed_mutex;
+
+    hr = output_texture->QueryInterface(IID_PPV_ARGS(&keyed_mutex));
+
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "Failed to get keyed mutex. Error msg: "
+                  << logging::SystemErrorCodeToString(hr);
+      return false;
+    }
+
+    // Key equal to 0 is also used by the producer. Therefore, this keyed
+    // mutex acts purely as a regular mutex.
+    hr = keyed_mutex->AcquireSync(0, INFINITE);
+    if (FAILED(hr)) {
+      DLOG(ERROR) << "Failed to acquire keyed mutex. Error msg: "
+                  << logging::SystemErrorCodeToString(hr);
+      return false;
+    }
+    DXGIScopedReleaseKeyedMutex release_keyed_mutex(keyed_mutex, 0);
+
+    device_context->UpdateSubresource(output_texture, 0, nullptr, src_buffer,
+                                      texture_desc.Width, copy_size);
+  } else {
+    device_context->UpdateSubresource(output_texture, 0, nullptr, src_buffer,
+                                      texture_desc.Width, copy_size);
+  }
+
+  return true;
+}
+
 }  // namespace gpu
\ No newline at end of file
diff --git a/gpu/ipc/common/dxgi_helpers.h b/gpu/ipc/common/dxgi_helpers.h
index a4ea2ae1..1d580019 100644
--- a/gpu/ipc/common/dxgi_helpers.h
+++ b/gpu/ipc/common/dxgi_helpers.h
@@ -75,6 +75,14 @@
     ID3D11Device* d3d11_device,
     Microsoft::WRL::ComPtr<ID3D11Texture2D>* staging_texture);
 
+GPU_EXPORT bool CopyShMemToDXGIBuffer(base::span<uint8_t> shared_memory,
+                                      HANDLE dxgi_handle,
+                                      ID3D11Device* d3d11_device);
+
+GPU_EXPORT bool CopyMemToD3D11Tex(uint8_t* src_buffer,
+                                  size_t buffer_size,
+                                  ID3D11Texture2D* output_texture,
+                                  ID3D11Device* d3d11_device);
 }  // namespace gpu
 
 #endif  // GPU_IPC_COMMON_DXGI_HELPERS_H_
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index 6ce722c..70c7988 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -2819,6 +2819,9 @@
       <message name="IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION" desc="Description for the Set Up List item that encourages the user to sign in and set up syncing.">
         Sign in with your Google Account to sync your passwords, history, and more.
       </message>
+      <message name="IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION_NO_PASSWORDS" desc="Same as IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION but without mentioning passwords.">
+        Sign in with your Google Account to sync your bookmarks, history, and more.
+      </message>
       <message name="IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_MAGIC_STACK_DESCRIPTION" desc="Description for the Set Up List item in the Magic Stack that encourages the user to sign in and set up syncing.">
         Sign in with your Google Account to sync your passwords and more.
       </message>
@@ -2828,6 +2831,9 @@
       <message name="IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION" desc="Shortened description for the Set Up List item that encourages the user to sign in and set up syncing.">
         Sync your passwords, history, and more.
       </message>
+      <message name="IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION_NO_PASSWORDS" desc="Same as IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION but without mentioning passwords.">
+        Sync your bookmarks, history, and more.
+      </message>
       <message name="IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_TITLE" desc="Title for the Set Up List item that encourages the user to sign in and set up syncing.">
         Sign in and Sync
       </message>
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION_NO_PASSWORDS.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION_NO_PASSWORDS.png.sha1
new file mode 100644
index 0000000..93249be
--- /dev/null
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION_NO_PASSWORDS.png.sha1
@@ -0,0 +1 @@
+5ceb4326f160af99f4fe75b3cc37e2c2709bca93
\ No newline at end of file
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION_NO_PASSWORDS.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION_NO_PASSWORDS.png.sha1
new file mode 100644
index 0000000..f6b35723
--- /dev/null
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION_NO_PASSWORDS.png.sha1
@@ -0,0 +1 @@
+bc3ecbaefd348a3f19004cea2b30a96abe82eda0
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_strings_af.xtb b/ios/chrome/app/strings/resources/ios_strings_af.xtb
index 75da834..0c49843 100644
--- a/ios/chrome/app/strings/resources/ios_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_af.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Raak en hou vir meer oortjieopsies</translation>
 <translation id="8328777765163860529">Maak almal toe</translation>
 <translation id="8343993175958086504">Rugsteun jou goed en gebruik dit op enige toestel.</translation>
+<translation id="834783239627985533">Mees besoekte werwe</translation>
 <translation id="8378714024927312812">Bestuur deur jou organisasie</translation>
 <translation id="8386068868580335421">Stel terug</translation>
 <translation id="838867811594159347">Tik wagfrase in …</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index a6cb428..9cc5939 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -1146,6 +1146,7 @@
 <translation id="8323906514956095947">النقر مع الاستمرار لعرض المزيد من خيارات علامات التبويب</translation>
 <translation id="8328777765163860529">إغلاق الكل</translation>
 <translation id="8343993175958086504">يمكنك الاحتفاظ بنسخة احتياطية من بياناتك واستخدامها على أي جهاز.</translation>
+<translation id="834783239627985533">المواقع الإلكترونية الأكثر زيارة</translation>
 <translation id="8378714024927312812">بإدارة مؤسستك</translation>
 <translation id="8386068868580335421">إعادة ضبط</translation>
 <translation id="838867811594159347">إدخال عبارة المرور…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_as.xtb b/ios/chrome/app/strings/resources/ios_strings_as.xtb
index 6e63110..15b6629 100644
--- a/ios/chrome/app/strings/resources/ios_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_as.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">টেবৰ অধিক বিকল্পৰ বাবে স্পৰ্শ কৰি ধৰি ৰাখক</translation>
 <translation id="8328777765163860529">সকলো বন্ধ কৰক</translation>
 <translation id="8343993175958086504">আপোনাৰ বস্তুবোৰৰ বেক আপ লওক আৰু সেইবোৰ যিকোনো ডিভাইচত ব্যৱহাৰ কৰক।</translation>
+<translation id="834783239627985533">আটাইতকৈ বেছিকৈ চোৱা ছাইটসমূহ</translation>
 <translation id="8378714024927312812">আপোনাৰ প্ৰতিষ্ঠানৰ দ্বাৰা পৰিচালিত</translation>
 <translation id="8386068868580335421">ৰিছেট কৰক</translation>
 <translation id="838867811594159347">পাছফ্ৰে’জ দিয়ক…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb
index a5068a4..55027fa 100644
--- a/ios/chrome/app/strings/resources/ios_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Əlavə tab seçimləri üçün basıb saxlayın</translation>
 <translation id="8328777765163860529">Hamısını Bağlayın</translation>
 <translation id="8343993175958086504">Elementləri yedəkləyin və istənilən cihazda istifadə edin.</translation>
+<translation id="834783239627985533">Çox daxil olunan saytlar</translation>
 <translation id="8378714024927312812">Təşkilatınız tərəfindən idarə olunur</translation>
 <translation id="8386068868580335421">Sıfırlayın</translation>
 <translation id="838867811594159347">Parol ifadəsi daxil edin…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index 344cacd..c23fdd26c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -1145,6 +1145,7 @@
 <translation id="8323906514956095947">Αγγίξτε παρατεταμένα για περισσότερες επιλογές καρτελών</translation>
 <translation id="8328777765163860529">Κλείσιμο όλων</translation>
 <translation id="8343993175958086504">Δημιουργήστε αντίγραφα ασφαλείας των δεδομένων σας και χρησιμοποιήστε τα σε οποιαδήποτε συσκευή.</translation>
+<translation id="834783239627985533">Ιστότοποι με τις περισσότερες επισκέψεις</translation>
 <translation id="8378714024927312812">Διαχειριζόμενο από τον οργανισμό σας</translation>
 <translation id="8386068868580335421">Επαναφορά</translation>
 <translation id="838867811594159347">Εισαγωγή φράσης πρόσβασης…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index 6ef38e9..73709928 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">برای دیدن گزینه‌های بیشتر برگه، لمس کنید و نگه دارید</translation>
 <translation id="8328777765163860529">بستن همه</translation>
 <translation id="8343993175958086504">از داده‌هایتان پشتیبان بگیرید و در هر دستگاهی از آن‌ها استفاده کنید.</translation>
+<translation id="834783239627985533">پربازدیدترین سایت‌ها</translation>
 <translation id="8378714024927312812">توسط سازمانتان مدیریت می‌شود</translation>
 <translation id="8386068868580335421">بازنشانی</translation>
 <translation id="838867811594159347">گذرعبارت را وارد کنید…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index 9eef7dc..bb6480bc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">ટૅબના વધુ વિકલ્પો માટે, ટચ કરીને થોડીવાર દબાવી રાખો</translation>
 <translation id="8328777765163860529">બધું બંધ કરો</translation>
 <translation id="8343993175958086504">તમારી સામગ્રીનું બૅકઅપ લો અને કોઈપણ ડિવાઇસ પર તેનો ઉપયોગ કરો.</translation>
+<translation id="834783239627985533">સૌથી વધુ મુલાકાત લીધેલી સાઇટ</translation>
 <translation id="8378714024927312812">તમારી સંસ્થા દ્વારા મેનેજ કરેલ</translation>
 <translation id="8386068868580335421">રીસેટ કરો</translation>
 <translation id="838867811594159347">પાસફ્રેઝ દાખલ કરો…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index a6b5d0b..041222e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Nyomva tartva további lapbeállításokat láthat</translation>
 <translation id="8328777765163860529">Összes bezárása</translation>
 <translation id="8343993175958086504">Biztonsági másolatot készíthet adatairól, és bármely eszközön használatja őket.</translation>
+<translation id="834783239627985533">Leggyakrabban felkeresett webhelyek</translation>
 <translation id="8378714024927312812">Az Ön szervezete kezeli</translation>
 <translation id="8386068868580335421">Visszaállítás</translation>
 <translation id="838867811594159347">Összetett jelszó megadása…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index 24f8372c..d2e0002 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">ಹೆಚ್ಚಿನ ಟ್ಯಾಬ್ ಆಯ್ಕೆಗಳಿಗಾಗಿ ಬಟನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ</translation>
 <translation id="8328777765163860529">ಎಲ್ಲವನ್ನು ಮುಚ್ಚಿರಿ</translation>
 <translation id="8343993175958086504">ನಿಮ್ಮ ವಿಷಯವನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಿ ಹಾಗೂ ಅದನ್ನು ಯಾವುದೇ ಸಾಧನದಲ್ಲಿ ಬಳಸಿ.</translation>
+<translation id="834783239627985533">ಹೆಚ್ಚು ಭೇಟಿ ನೀಡಿರುವ ಸೈಟ್‌ಗಳು</translation>
 <translation id="8378714024927312812">ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗಿದೆ</translation>
 <translation id="8386068868580335421">ಮರುಹೊಂದಿಸಿ</translation>
 <translation id="838867811594159347">ಪಾಸ್‌ಫ್ರೇಸ್ ನಮೂದಿಸಿ…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
index 678275e1..0dfda1e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Өтмөктөгү башка параметрлерди көрүү үчүн коё бербей басып туруңуз</translation>
 <translation id="8328777765163860529">Баарын жабуу</translation>
 <translation id="8343993175958086504">Маалыматтын камдык көчүрмөсүн сактап, башка түзмөктө колдоно аласыз.</translation>
+<translation id="834783239627985533">Эң көп кирилген сайттар</translation>
 <translation id="8378714024927312812">Уюмуңуз тарабынан башкарылат</translation>
 <translation id="8386068868580335421">Кайра коюу</translation>
 <translation id="838867811594159347">Сыр сүйлөмдү киргизиңиз…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
index bedf118..5c48b28 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">ແຕະຄ້າງໄວ້ສຳລັບຕົວເລືອກເພີ່ມເຕີມຂອງແຖບ</translation>
 <translation id="8328777765163860529">ປິດທັງໝົດ</translation>
 <translation id="8343993175958086504">ສຳຮອງຂໍ້ມູນຂອງທ່ານ ແລະ ໃຊ້ມັນຢູ່ອຸປະກອນໃດກໍໄດ້.</translation>
+<translation id="834783239627985533">ເວັບໄຊທີ່ເຂົ້າເບິ່ງຫຼາຍທີ່ສຸດ</translation>
 <translation id="8378714024927312812">ຈັດການໂດຍອົງການຂອງທ່ານ</translation>
 <translation id="8386068868580335421">ຣີເຊັດ</translation>
 <translation id="838867811594159347">ປ້ອນລະຫັດຜ່ານ…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index 04f7830..65c47587 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">കൂടുതൽ ടാബ് ഓപ്‌ഷനുകൾക്കായി സ്‌പർശിച്ച് പിടിക്കുക</translation>
 <translation id="8328777765163860529">എല്ലാം അടയ്‌ക്കുക</translation>
 <translation id="8343993175958086504">നിങ്ങളുടെ ഡാറ്റ ബാക്കപ്പ് ചെയ്‌ത് ഏത് ഉപകരണത്തിലും ഉപയോഗിക്കുക.</translation>
+<translation id="834783239627985533">ഏറ്റവും കൂടുതൽ സന്ദർശിച്ച സൈറ്റുകൾ</translation>
 <translation id="8378714024927312812">നിങ്ങളുടെ സ്ഥാപനം മാനേജ് ചെയ്യുന്നത്</translation>
 <translation id="8386068868580335421">റീസെറ്റ് ചെയ്യുക</translation>
 <translation id="838867811594159347">പാസ്‌ഫ്രെയ്‌സ് നൽകുക…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb
index 8c3de259..a7ce2a8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -1143,6 +1143,7 @@
 <translation id="8323906514956095947">နောက်ထပ် တဘ်ရွေးချယ်စရာများအတွက် တို့၍ဖိထားပါ</translation>
 <translation id="8328777765163860529">အားလုံး ပိတ်ရန်</translation>
 <translation id="8343993175958086504">သင့်အချက်အလက်များကို အရန်သိမ်းပြီး စက်တိုင်းတွင် သုံးနိုင်သည်။</translation>
+<translation id="834783239627985533">အများဆုံးဝင်ကြည့်သော ဝဘ်ဆိုက်များ</translation>
 <translation id="8378714024927312812">သင်၏ 'အဖွဲ့အစည်း' က စီမံခန့်ခွဲထားသည်</translation>
 <translation id="8386068868580335421">ပြင်ဆင်သတ်မှတ်ရန်</translation>
 <translation id="838867811594159347">စကားဝှက်စာ ထည့်ရန်…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index 6151ef0f..e9b93de 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Tik en houd vast voor meer tabbladopties</translation>
 <translation id="8328777765163860529">Alles sluiten</translation>
 <translation id="8343993175958086504">Maak een back-up van je gegevens en gebruik deze op elk apparaat.</translation>
+<translation id="834783239627985533">Meest bezochte sites</translation>
 <translation id="8378714024927312812">Beheerd door je organisatie</translation>
 <translation id="8386068868580335421">Resetten</translation>
 <translation id="838867811594159347">Wachtwoordzin opgeven…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_or.xtb b/ios/chrome/app/strings/resources/ios_strings_or.xtb
index e6ed162..2fb0ebe 100644
--- a/ios/chrome/app/strings/resources/ios_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_or.xtb
@@ -1135,7 +1135,7 @@
 <translation id="8271720166617117963">ଗ୍ରହଣ କରି ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
 <translation id="8278938988428169257">ଏକ ଶବ୍ଦ କିମ୍ବା ଫ୍ରେଜ ଲେଖନ୍ତୁ</translation>
 <translation id="8281781826761538115">ଡିଫଲ୍ଟ - <ph name="DEFAULT_LOCALE" /></translation>
-<translation id="8281886186245836920">ଛାଡ଼ିଦିଅନ୍ତୁ</translation>
+<translation id="8281886186245836920">ବାଦ ଦିଅନ୍ତୁ</translation>
 <translation id="8283172974887967105">ସେଟ୍ କରନ୍ତୁ…</translation>
 <translation id="8299417921174340354">ପାସୱାର୍ଡଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ ଡିଭାଇସରେ ଆପଣ ନିଶ୍ଚିତ ରୂପେ ପ୍ରଥମେ ଏକ ପାସକୋଡ୍ ସେଟ୍ କରିବା ଆବଶ୍ୟକ।</translation>
 <translation id="8299613349954694191">ବ୍ୟକ୍ତିଗତ ଭାବେ ୱେବ୍ ବ୍ରାଉଜ୍ କରିବା ପାଇଁ ଏକ ଇନକଗ୍ନିଟୋ ଟାବ୍ ଖୋଲନ୍ତୁ।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index 366a19e..9a06646 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Atinge lung pentru mai multe opțiuni de file</translation>
 <translation id="8328777765163860529">Închideți toate</translation>
 <translation id="8343993175958086504">Fă backup datelor și folosește-le pe orice dispozitiv.</translation>
+<translation id="834783239627985533">Cele mai accesate site-uri</translation>
 <translation id="8378714024927312812">Gestionat de organizația ta</translation>
 <translation id="8386068868580335421">Resetează</translation>
 <translation id="838867811594159347">Introdu expresia de acces…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
index 3d998635..afa4c867 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">ٹیب کے مزید اختیارات کیلئے ٹچ کریں اور دبائے رکھیں</translation>
 <translation id="8328777765163860529">تمام بند کریں</translation>
 <translation id="8343993175958086504">اپنے ڈیٹا کا بیک اپ لیں اور اسے کسی بھی آلے پر استعمال کریں۔</translation>
+<translation id="834783239627985533">سب سے زیادہ ملاحظہ کردہ سائٹس</translation>
 <translation id="8378714024927312812">آپ کی تنظیم کے زیر نظم</translation>
 <translation id="8386068868580335421">ری سیٹ کریں</translation>
 <translation id="838867811594159347">پاس فریز درج کریں…</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index 4db0c13..5c6fad1a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -1144,6 +1144,7 @@
 <translation id="8323906514956095947">Chạm và giữ để hiển thị thêm tùy chọn về thẻ</translation>
 <translation id="8328777765163860529">Đóng tất cả</translation>
 <translation id="8343993175958086504">Sao lưu và sử dụng dữ liệu của bạn trên mọi thiết bị.</translation>
+<translation id="834783239627985533">Các trang web được truy cập nhiều nhất</translation>
 <translation id="8378714024927312812">Do tổ chức của bạn quản lý</translation>
 <translation id="8386068868580335421">Đặt lại</translation>
 <translation id="838867811594159347">Nhập cụm mật khẩu...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
index 13a9eee..ba06898d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -1138,6 +1138,7 @@
 <translation id="8323906514956095947">轻触并按住可查看更多的标签页选项</translation>
 <translation id="8328777765163860529">全部关闭</translation>
 <translation id="8343993175958086504">备份您的资料,以便在任意设备上使用。</translation>
+<translation id="834783239627985533">最常访问的网站</translation>
 <translation id="8378714024927312812">由贵组织管理</translation>
 <translation id="8386068868580335421">重置</translation>
 <translation id="838867811594159347">输入口令…</translation>
diff --git a/ios/chrome/browser/default_browser/utils.h b/ios/chrome/browser/default_browser/utils.h
index 748b659..87fd7399 100644
--- a/ios/chrome/browser/default_browser/utils.h
+++ b/ios/chrome/browser/default_browser/utils.h
@@ -47,6 +47,15 @@
   kMaxValue = kAllTabs,
 };
 
+// Enum actions for the IOS.DefaultBrowserVideoPromo.(Fullscreen || Halfscreen)*
+// UMA metrics.
+enum class IOSDefaultBrowserVideoPromoAction {
+  kPrimaryActionTapped = 0,
+  kSecondaryActionTapped = 1,
+  kSwipeDown = 2,
+  kMaxValue = kSwipeDown,
+};
+
 // The feature parameter to activate the remind me later button.
 extern const char kDefaultBrowserFullscreenPromoExperimentRemindMeGroupParam[];
 
@@ -105,8 +114,8 @@
 // Returns true if the default browser video promo is enabled.
 bool IsDefaultBrowserVideoPromoEnabled();
 
-// Returns true if the default browser video promo full screen enabled.
-bool IsDefaultBrowserVideoPromoFullscreenEnabled();
+// Returns true if the default browser video promo half screen enabled.
+bool IsDefaultBrowserVideoPromoHalfscreenEnabled();
 
 // Returns true if the default browser promo triggering criteria should be
 // skipped.
@@ -195,7 +204,8 @@
 
 // Return true if the default browser promo should be registered with the promo
 // manager to display a default browser promo.
-bool ShouldRegisterPromoWithPromoManager(bool is_signed_in);
+bool ShouldRegisterPromoWithPromoManager(bool is_signed_in,
+                                         feature_engagement::Tracker* tracker);
 
 // Returns true if it was determined that the user is eligible for a
 // tailored promo.
diff --git a/ios/chrome/browser/default_browser/utils.mm b/ios/chrome/browser/default_browser/utils.mm
index 42ee7fe2..d0374f5 100644
--- a/ios/chrome/browser/default_browser/utils.mm
+++ b/ios/chrome/browser/default_browser/utils.mm
@@ -451,7 +451,6 @@
           kDefaultBrowserPromoForceShowPromo);
   int default_promo_type = 0;
   if (base::StringToInt(type, &default_promo_type)) {
-    // return static_cast<DefaultPromoType>(default_promo_type);
     switch (default_promo_type) {
       case DefaultPromoTypeGeneral:
       case DefaultPromoTypeStaySafe:
@@ -465,7 +464,7 @@
   return DefaultPromoType::DefaultPromoTypeGeneral;
 }
 
-bool IsDefaultBrowserVideoPromoFullscreenEnabled() {
+bool IsDefaultBrowserVideoPromoHalfscreenEnabled() {
   return base::GetFieldTrialParamByFeatureAsBool(
       kDefaultBrowserVideoPromo, "default_browser_video_promo_halfscreen",
       false);
@@ -664,10 +663,12 @@
   return NO;
 }
 
-bool ShouldRegisterPromoWithPromoManager(bool is_signed_in) {
+bool ShouldRegisterPromoWithPromoManager(bool is_signed_in,
+                                         feature_engagement::Tracker* tracker) {
   if (ShouldForceDefaultPromoType()) {
     return YES;
   }
+
   // Consider showing the default browser promo if (1) launch is not after a
   // crash, (2) chrome is not likely set as default browser, (3) the user has
   // not seen a default browser promo too recently, (4) the user is eligible
@@ -675,7 +676,8 @@
   return GetApplicationContext()->WasLastShutdownClean() &&
          !IsChromeLikelyDefaultBrowser() && !UserInPromoCooldown() &&
          (IsTailoredPromoEligibleUser(is_signed_in) ||
-          IsGeneralPromoEligibleUser(is_signed_in));
+          IsGeneralPromoEligibleUser(is_signed_in) ||
+          IsVideoPromoEligibleUser(tracker));
 }
 
 bool IsTailoredPromoEligibleUser(bool is_signed_in) {
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index eeed588..4c15b3b 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -222,9 +222,13 @@
 
 const FeatureEntry::FeatureParam kDefaultBrowserVideoPromoHalfscreen[] = {
     {"default_browser_video_promo_halfscreen", "true"}};
+const FeatureEntry::FeatureParam kDefaultBrowserVideoPromoFullscreen[] = {
+    {"default_browser_video_promo_halfscreen", "false"}};
 const FeatureEntry::FeatureVariation kDefaultBrowserVideoPromoVariations[] = {
     {"Show half screen ui", kDefaultBrowserVideoPromoHalfscreen,
      std::size(kDefaultBrowserVideoPromoHalfscreen), nullptr},
+    {"Show full screen ui", kDefaultBrowserVideoPromoFullscreen,
+     std::size(kDefaultBrowserVideoPromoFullscreen), nullptr},
 };
 
 const FeatureEntry::FeatureParam
@@ -492,10 +496,10 @@
     kAutofillBrandingIOSDismissWhenInteractedNoAnimation[] = {
         {autofill::features::kAutofillBrandingIOSParamFrequencyTypePhone,
          autofill::features::
-             kAutofillBrandingIOSParamFrequencyTypeDismissWhenInteracted},
+             kAutofillBrandingIOSParamFrequencyTypeUntilInteracted},
         {autofill::features::kAutofillBrandingIOSParamFrequencyTypeTablet,
          autofill::features::
-             kAutofillBrandingIOSParamFrequencyTypeDismissWhenInteracted}};
+             kAutofillBrandingIOSParamFrequencyTypeUntilInteracted}};
 const FeatureEntry::FeatureParam kAutofillBrandingIOSAlwaysShowAndDismiss[] = {
     {autofill::features::kAutofillBrandingIOSParamFrequencyTypePhone,
      autofill::features::
diff --git a/ios/chrome/browser/ntp/set_up_list_prefs.h b/ios/chrome/browser/ntp/set_up_list_prefs.h
index a8288e6..98c16b6 100644
--- a/ios/chrome/browser/ntp/set_up_list_prefs.h
+++ b/ios/chrome/browser/ntp/set_up_list_prefs.h
@@ -19,6 +19,7 @@
 extern const char kDefaultBrowserItemState[];
 extern const char kAutofillItemState[];
 extern const char kFollowItemState[];
+extern const char kDisabled[];
 
 // Possible values stored in prefs for each Set Up List item state.
 enum class SetUpListItemState {
diff --git a/ios/chrome/browser/policy/reporting/report_scheduler_ios.h b/ios/chrome/browser/policy/reporting/report_scheduler_ios.h
index 88d1dbd..3b697b6 100644
--- a/ios/chrome/browser/policy/reporting/report_scheduler_ios.h
+++ b/ios/chrome/browser/policy/reporting/report_scheduler_ios.h
@@ -24,9 +24,6 @@
                                     base::TimeDelta upload_interval) override;
   void StopWatchingUpdates() override;
   void OnBrowserVersionUploaded() override;
-  void StartWatchingExtensionRequestIfNeeded() override;
-  void StopWatchingExtensionRequest() override;
-  void OnExtensionRequestUploaded() override;
   policy::DMToken GetProfileDMToken() override;
   std::string GetProfileClientId() override;
 };
diff --git a/ios/chrome/browser/policy/reporting/report_scheduler_ios.mm b/ios/chrome/browser/policy/reporting/report_scheduler_ios.mm
index c104854..0afdadc9 100644
--- a/ios/chrome/browser/policy/reporting/report_scheduler_ios.mm
+++ b/ios/chrome/browser/policy/reporting/report_scheduler_ios.mm
@@ -34,18 +34,6 @@
   // Not used on iOS because there is no in-app auto-update.
 }
 
-void ReportSchedulerIOS::StartWatchingExtensionRequestIfNeeded() {
-  // Not used on iOS because there is no extension.
-}
-
-void ReportSchedulerIOS::StopWatchingExtensionRequest() {
-  // Not used on iOS because there is no extension.
-}
-
-void ReportSchedulerIOS::OnExtensionRequestUploaded() {
-  // Not used on iOS because there is no extension.
-}
-
 policy::DMToken ReportSchedulerIOS::GetProfileDMToken() {
   // Profile reporting is not supported.
   return policy::DMToken::CreateEmptyToken();
diff --git a/ios/chrome/browser/policy/reporting/report_scheduler_ios_unittest.mm b/ios/chrome/browser/policy/reporting/report_scheduler_ios_unittest.mm
index 42454923..b5161f9 100644
--- a/ios/chrome/browser/policy/reporting/report_scheduler_ios_unittest.mm
+++ b/ios/chrome/browser/policy/reporting/report_scheduler_ios_unittest.mm
@@ -12,7 +12,6 @@
 #import "base/time/time.h"
 #import "components/enterprise/browser/controller/fake_browser_dm_token_storage.h"
 #import "components/enterprise/browser/reporting/common_pref_names.h"
-#import "components/enterprise/browser/reporting/real_time_report_generator.h"
 #import "components/enterprise/browser/reporting/report_request.h"
 #import "components/policy/core/common/cloud/mock_cloud_policy_client.h"
 #import "ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.h"
@@ -111,8 +110,6 @@
     params.client = client_;
     params.delegate = report_delegate_factory_.GetReportSchedulerDelegate();
     params.report_generator = std::move(generator_ptr_);
-    params.real_time_report_generator =
-        std::make_unique<RealTimeReportGenerator>(&report_delegate_factory_),
     scheduler_ = std::make_unique<ReportScheduler>(std::move(params));
     scheduler_->SetReportUploaderForTesting(std::move(uploader_ptr_));
   }
diff --git a/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.h b/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.h
index 6ad1b67..f2c1a41e 100644
--- a/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.h
+++ b/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.h
@@ -11,6 +11,7 @@
 
 #include "components/enterprise/browser/reporting/browser_report_generator.h"
 #include "components/enterprise/browser/reporting/profile_report_generator.h"
+#include "components/enterprise/browser/reporting/real_time_report_controller.h"
 #include "components/enterprise/browser/reporting/real_time_report_generator.h"
 #include "components/enterprise/browser/reporting/report_generator.h"
 #include "components/enterprise/browser/reporting/report_scheduler.h"
@@ -41,6 +42,9 @@
 
   std::unique_ptr<RealTimeReportGenerator::Delegate>
   GetRealTimeReportGeneratorDelegate() override;
+
+  std::unique_ptr<RealTimeReportController::Delegate>
+  GetRealTimeReportControllerDelegate() override;
 };
 
 }  // namespace enterprise_reporting
diff --git a/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.mm b/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.mm
index baf423c..beb210c0 100644
--- a/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.mm
+++ b/ios/chrome/browser/policy/reporting/reporting_delegate_factory_ios.mm
@@ -40,4 +40,10 @@
   return nullptr;
 }
 
+std::unique_ptr<RealTimeReportController::Delegate>
+ReportingDelegateFactoryIOS::GetRealTimeReportControllerDelegate() {
+  // Using nullptr as the new pipeline is not supported on iOS.
+  return nullptr;
+}
+
 }  // namespace enterprise_reporting
diff --git a/ios/chrome/browser/shared/coordinator/scene/scene_controller.mm b/ios/chrome/browser/shared/coordinator/scene/scene_controller.mm
index 0e26b8d..6851ab0 100644
--- a/ios/chrome/browser/shared/coordinator/scene/scene_controller.mm
+++ b/ios/chrome/browser/shared/coordinator/scene/scene_controller.mm
@@ -1433,10 +1433,6 @@
   [self dismissModalDialogsWithCompletion:completion dismissOmnibox:YES];
 }
 
-- (void)dismissModalDialogs {
-  [self dismissModalDialogsWithCompletion:nil dismissOmnibox:YES];
-}
-
 - (void)showHistory {
   self.historyCoordinator = [[HistoryCoordinator alloc]
       initWithBaseViewController:self.currentInterface.viewController
@@ -1990,7 +1986,7 @@
   DCHECK(!self.signinCoordinator)
       << "self.signinCoordinator: "
       << base::SysNSStringToUTF8([self.signinCoordinator description]);
-  [self dismissModalDialogs];
+  [self dismissModalDialogsWithCompletion:nil];
   if (self.settingsNavigationController) {
     [self.settingsNavigationController
         showSavedPasswordsSettingsFromViewController:baseViewController
diff --git a/ios/chrome/browser/shared/coordinator/scene/scene_state.h b/ios/chrome/browser/shared/coordinator/scene/scene_state.h
index 73db65a2..d504eaeb 100644
--- a/ios/chrome/browser/shared/coordinator/scene/scene_state.h
+++ b/ios/chrome/browser/shared/coordinator/scene/scene_state.h
@@ -109,13 +109,6 @@
 // YES if the QR scanner is visible.
 @property(nonatomic, assign) BOOL QRScannerVisible;
 
-// YES if the visible NTP should be modified for the Start Surface.
-//
-// This flag is set by SceneController to YES when the Start Surface should be
-// shown. It is checked by the NewTabPageCoordinator to modify the NTP
-// accordingly, and then reset it to NO.
-@property(nonatomic, assign) BOOL modifytVisibleNTPForStartSurface;
-
 // YES if sign-in is in progress which covers the authentication flow and the
 // sign-in prompt UI.
 @property(nonatomic, assign) BOOL signinInProgress;
diff --git a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm
index da27c58a..a55b151 100644
--- a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm
+++ b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm
@@ -223,7 +223,11 @@
   // animation should perform. Defaults to 2, which is the maximum number of
   // times a user should see autofill branding animation after installation.
   registry->RegisterIntegerPref(
-      prefs::kAutofillBrandingIconAnimationRemainingCountPrefName, 2);
+      prefs::kAutofillBrandingIconAnimationRemainingCount, 2);
+  // Register other autofill branding prefs.
+  registry->RegisterIntegerPref(prefs::kAutofillBrandingIconDisplayCount, 0);
+  registry->RegisterBooleanPref(
+      prefs::kAutofillBrandingKeyboardAccessoriesTapped, false);
 
   registry->RegisterDictionaryPref(kLocalConsentsDictionary);
 
diff --git a/ios/chrome/browser/shared/model/prefs/pref_names.cc b/ios/chrome/browser/shared/model/prefs/pref_names.cc
index 1c5821a..ba6da5e 100644
--- a/ios/chrome/browser/shared/model/prefs/pref_names.cc
+++ b/ios/chrome/browser/shared/model/prefs/pref_names.cc
@@ -335,9 +335,19 @@
 
 // An int counting the remaining number of times the autofill branding icon
 // should show inside form input accessories.
-const char kAutofillBrandingIconAnimationRemainingCountPrefName[] =
+const char kAutofillBrandingIconAnimationRemainingCount[] =
     "ios.autofill.branding.animation.remaining_count";
 
+// An integer representing the number of times the autofill branding icon has
+// displayed.
+const char kAutofillBrandingIconDisplayCount[] =
+    "ios.autofill.branding.display_count";
+
+// A boolean used to track whether the user has tapped on any of the keyboard
+// accessories when the autofill branding is visible.
+const char kAutofillBrandingKeyboardAccessoriesTapped[] =
+    "ios.autofill.branding.keyboard_accessory_tapped";
+
 // A boolean used to determine if the Price Tracking UI has been shown.
 const char kPriceNotificationsHasBeenShown[] =
     "ios.price_notifications.has_been_shown";
diff --git a/ios/chrome/browser/shared/model/prefs/pref_names.h b/ios/chrome/browser/shared/model/prefs/pref_names.h
index 32f30cb..98019b8b 100644
--- a/ios/chrome/browser/shared/model/prefs/pref_names.h
+++ b/ios/chrome/browser/shared/model/prefs/pref_names.h
@@ -92,7 +92,10 @@
 extern const char kHttpsOnlyModeEnabled[];
 extern const char kMixedContentAutoupgradeEnabled[];
 
-extern const char kAutofillBrandingIconAnimationRemainingCountPrefName[];
+extern const char kAutofillBrandingIconAnimationRemainingCount[];
+extern const char kAutofillBrandingIconDisplayCount[];
+extern const char kAutofillBrandingKeyboardAccessoriesTapped[];
+
 extern const char kPriceNotificationsHasBeenShown[];
 
 }  // namespace prefs
diff --git a/ios/chrome/browser/shared/public/commands/application_commands.h b/ios/chrome/browser/shared/public/commands/application_commands.h
index fd948315..113029a 100644
--- a/ios/chrome/browser/shared/public/commands/application_commands.h
+++ b/ios/chrome/browser/shared/public/commands/application_commands.h
@@ -109,9 +109,6 @@
 
 @protocol ApplicationCommands <NSObject, ApplicationSettingsCommands>
 
-// Dismisses all modal dialogs.
-- (void)dismissModalDialogs;
-
 // Dismisses all modal dialogs with a completion block that is called when
 // modals are dismissed (animations done).
 - (void)dismissModalDialogsWithCompletion:(ProceduralBlock)completion;
diff --git a/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_account_chooser/consistency_account_chooser_coordinator.mm b/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_account_chooser/consistency_account_chooser_coordinator.mm
index 038d54d..8e491da 100644
--- a/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_account_chooser/consistency_account_chooser_coordinator.mm
+++ b/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_account_chooser/consistency_account_chooser_coordinator.mm
@@ -56,10 +56,16 @@
 - (void)stop {
   [super stop];
   [self.mediator disconnect];
+  self.mediator = nil;
+  self.accountChooserViewController = nil;
   base::RecordAction(
       base::UserMetricsAction("Signin_BottomSheet_IdentityChooser_Closed"));
 }
 
+- (void)dealloc {
+  CHECK(!self.mediator);
+}
+
 #pragma mark - Properties
 
 - (UIViewController*)viewController {
diff --git a/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_default_account/consistency_default_account_coordinator.mm b/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_default_account/consistency_default_account_coordinator.mm
index 9c2d82e1..247475e 100644
--- a/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_default_account/consistency_default_account_coordinator.mm
+++ b/ios/chrome/browser/ui/authentication/signin/consistency_promo_signin/consistency_default_account/consistency_default_account_coordinator.mm
@@ -46,6 +46,7 @@
 }
 
 - (void)start {
+  [super start];
   ChromeBrowserState* browserState = self.browser->GetBrowserState();
   self.mediator = [[ConsistencyDefaultAccountMediator alloc]
       initWithAccountManagerService:ChromeAccountManagerServiceFactory::
@@ -71,6 +72,12 @@
 - (void)stop {
   [self.mediator disconnect];
   self.mediator = nil;
+  self.defaultAccountViewController = nil;
+  [super stop];
+}
+
+- (void)dealloc {
+  CHECK(!self.mediator);
 }
 
 #pragma mark - Properties
diff --git a/ios/chrome/browser/ui/authentication/unified_consent/unified_consent_coordinator.mm b/ios/chrome/browser/ui/authentication/unified_consent/unified_consent_coordinator.mm
index 826871a8..dd7de60b 100644
--- a/ios/chrome/browser/ui/authentication/unified_consent/unified_consent_coordinator.mm
+++ b/ios/chrome/browser/ui/authentication/unified_consent/unified_consent_coordinator.mm
@@ -66,13 +66,21 @@
 }
 
 - (void)start {
+  [super start];
   [self.unifiedConsentMediator start];
 }
 
 - (void)stop {
   [self.identityChooserCoordinator stop];
+  self.identityChooserCoordinator = nil;
   [self.unifiedConsentMediator disconnect];
   self.unifiedConsentMediator = nil;
+  self.unifiedConsentViewController = nil;
+  [super stop];
+}
+
+- (void)dealloc {
+  CHECK(!self.unifiedConsentMediator);
 }
 
 - (void)scrollToBottom {
diff --git a/ios/chrome/browser/ui/autofill/branding/BUILD.gn b/ios/chrome/browser/ui/autofill/branding/BUILD.gn
index cfc91902..1a46cda5 100644
--- a/ios/chrome/browser/ui/autofill/branding/BUILD.gn
+++ b/ios/chrome/browser/ui/autofill/branding/BUILD.gn
@@ -53,6 +53,7 @@
   sources = [ "branding_view_controller_egtest.mm" ]
   deps = [
     "//base/test:test_support",
+    "//ios/chrome/browser/shared/model/prefs:pref_names",
     "//ios/chrome/browser/ui/autofill:eg_test_support+eg2",
     "//ios/chrome/browser/ui/autofill:features",
     "//ios/chrome/test/earl_grey:eg_test_support+eg2",
diff --git a/ios/chrome/browser/ui/autofill/branding/branding_consumer.h b/ios/chrome/browser/ui/autofill/branding/branding_consumer.h
index 25ab5ec..247a0ac 100644
--- a/ios/chrome/browser/ui/autofill/branding/branding_consumer.h
+++ b/ios/chrome/browser/ui/autofill/branding/branding_consumer.h
@@ -17,6 +17,9 @@
 // icon shows up.
 @property(nonatomic, assign) BOOL shouldPerformPopAnimation;
 
+// Make branding icon fade away to the leading edge on dismissal.
+- (void)slideAwayFromLeadingEdge;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_AUTOFILL_BRANDING_BRANDING_CONSUMER_H_
diff --git a/ios/chrome/browser/ui/autofill/branding/branding_mediator.mm b/ios/chrome/browser/ui/autofill/branding/branding_mediator.mm
index cd8b465..2c3fb6d 100644
--- a/ios/chrome/browser/ui/autofill/branding/branding_mediator.mm
+++ b/ios/chrome/browser/ui/autofill/branding/branding_mediator.mm
@@ -15,20 +15,19 @@
 #error "This file requires ARC support."
 #endif
 
+using autofill::features::AutofillBrandingFrequencyType;
+using autofill::features::GetAutofillBrandingFrequencyType;
+
 @implementation BrandingMediator {
   // Weak pointer to the local state that stores the number of times the
   // branding has shown and animated.
   raw_ptr<PrefService> _localState;
-  // Remaining count that the branding should animate on appearance.
-  int _popAnimationRemainingCount;
 }
 
 - (instancetype)initWithLocalState:(PrefService*)localState {
   self = [super init];
   if (self) {
     _localState = localState;
-    _popAnimationRemainingCount = _localState->GetInteger(
-        prefs::kAutofillBrandingIconAnimationRemainingCountPrefName);
   }
   return self;
 }
@@ -36,11 +35,27 @@
 - (void)setConsumer:(id<BrandingConsumer>)consumer {
   _consumer = consumer;
   // Initial set up of the consumer.
-  // TODO(crbug.com/1447909): Currently all frequency types other than ::kNever
-  // are treated as ::kAlways. Implement logic for other frequency types.
-  consumer.visible = autofill::features::GetAutofillBrandingFrequencyType() !=
-                     autofill::features::AutofillBrandingFrequencyType::kNever;
-  consumer.shouldPerformPopAnimation = _popAnimationRemainingCount > 0;
+  switch (GetAutofillBrandingFrequencyType()) {
+    case AutofillBrandingFrequencyType::kNever:
+      _consumer.visible = NO;
+      break;
+    case AutofillBrandingFrequencyType::kTwice:
+      _consumer.visible =
+          _localState->GetInteger(prefs::kAutofillBrandingIconDisplayCount) < 2;
+      break;
+    case AutofillBrandingFrequencyType::kUntilInteracted:
+    case AutofillBrandingFrequencyType::kDismissWhenInteracted:
+      _consumer.visible = !_localState->GetBoolean(
+          prefs::kAutofillBrandingKeyboardAccessoriesTapped);
+      break;
+    case AutofillBrandingFrequencyType::kAlwaysShowAndDismiss:
+    case AutofillBrandingFrequencyType::kAlways:
+      _consumer.visible = YES;
+      break;
+  }
+  consumer.shouldPerformPopAnimation =
+      _localState->GetInteger(
+          prefs::kAutofillBrandingIconAnimationRemainingCount) > 0;
 }
 
 - (void)disconnect {
@@ -49,16 +64,66 @@
 
 #pragma mark - BrandingViewControllerDelegate
 
-- (void)brandingIconPressed {
+- (void)brandingIconDidPress {
   base::RecordAction(base::UserMetricsAction("Autofill_BrandingTapped"));
 }
 
+- (void)brandingIconDidShow {
+  int displayCount;
+  switch (GetAutofillBrandingFrequencyType()) {
+    case AutofillBrandingFrequencyType::kNever:
+    case AutofillBrandingFrequencyType::kAlways:
+    case AutofillBrandingFrequencyType::kDismissWhenInteracted:
+    case AutofillBrandingFrequencyType::kUntilInteracted:
+      break;
+    case AutofillBrandingFrequencyType::kTwice:
+      displayCount =
+          _localState->GetInteger(prefs::kAutofillBrandingIconDisplayCount) + 1;
+      _localState->SetInteger(prefs::kAutofillBrandingIconDisplayCount,
+                              displayCount);
+      self.consumer.visible = displayCount < 2;
+      break;
+    case AutofillBrandingFrequencyType::kAlwaysShowAndDismiss:
+      if (!self.consumer.shouldPerformPopAnimation) {
+        [self.consumer slideAwayFromLeadingEdge];
+      }
+      break;
+  }
+}
+
 - (void)brandingIconDidPerformPopAnimation {
-  _popAnimationRemainingCount -= 1;
-  self.consumer.shouldPerformPopAnimation = _popAnimationRemainingCount > 0;
-  _localState->SetInteger(
-      prefs::kAutofillBrandingIconAnimationRemainingCountPrefName,
-      _popAnimationRemainingCount);
+  int popAnimationRemainingCount = _localState->GetInteger(
+      prefs::kAutofillBrandingIconAnimationRemainingCount);
+  popAnimationRemainingCount -= 1;
+  self.consumer.shouldPerformPopAnimation = popAnimationRemainingCount > 0;
+  _localState->SetInteger(prefs::kAutofillBrandingIconAnimationRemainingCount,
+                          popAnimationRemainingCount);
+  if (autofill::features::GetAutofillBrandingFrequencyType() ==
+      autofill::features::AutofillBrandingFrequencyType::
+          kAlwaysShowAndDismiss) {
+    [self.consumer slideAwayFromLeadingEdge];
+  }
+}
+
+- (void)keyboardAccessoryDidTap {
+  if (!self.consumer.visible) {
+    return;
+  }
+  switch (GetAutofillBrandingFrequencyType()) {
+    case AutofillBrandingFrequencyType::kNever:
+    case AutofillBrandingFrequencyType::kTwice:
+    case AutofillBrandingFrequencyType::kAlwaysShowAndDismiss:
+    case AutofillBrandingFrequencyType::kAlways:
+      break;
+    case AutofillBrandingFrequencyType::kDismissWhenInteracted:
+      [self.consumer slideAwayFromLeadingEdge];
+      [[fallthrough]];
+    case AutofillBrandingFrequencyType::kUntilInteracted:
+      self.consumer.visible = NO;
+      _localState->SetBoolean(prefs::kAutofillBrandingKeyboardAccessoriesTapped,
+                              YES);
+      break;
+  }
 }
 
 @end
diff --git a/ios/chrome/browser/ui/autofill/branding/branding_view_controller.h b/ios/chrome/browser/ui/autofill/branding/branding_view_controller.h
index c8da483..3f8010e 100644
--- a/ios/chrome/browser/ui/autofill/branding/branding_view_controller.h
+++ b/ios/chrome/browser/ui/autofill/branding/branding_view_controller.h
@@ -24,6 +24,9 @@
 // keyboard.
 @property(nonatomic, assign) BOOL keyboardAccessoryVisible;
 
+// Notifies the branding that the user has tapped a keyboard accessory element.
+- (void)notifyFormInputAccessoryTapped;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_AUTOFILL_BRANDING_BRANDING_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/autofill/branding/branding_view_controller.mm b/ios/chrome/browser/ui/autofill/branding/branding_view_controller.mm
index 13dc35f0..b7e3d68 100644
--- a/ios/chrome/browser/ui/autofill/branding/branding_view_controller.mm
+++ b/ios/chrome/browser/ui/autofill/branding/branding_view_controller.mm
@@ -40,13 +40,13 @@
   // A constraint of the view that should be activated when the branding is
   // invisible.
   NSLayoutConstraint* _constraintToHideView;
+  // A boolean representing visibility of the keyboard.
+  BOOL _keyboardVisible;
 }
 
 @synthesize visible = _visible;
 @synthesize shouldPerformPopAnimation = _shouldPerformPopAnimation;
 
-#pragma mark - Life Cycle
-
 - (void)viewDidLoad {
   [super viewDidLoad];
   self.view.translatesAutoresizingMaskIntoConstraints = NO;
@@ -70,14 +70,29 @@
   // settled.
   [[NSNotificationCenter defaultCenter]
       addObserver:self
-         selector:@selector(onKeyboardAnimationStart)
+         selector:@selector(keyboardWillShow)
              name:UIKeyboardWillShowNotification
            object:nil];
   [[NSNotificationCenter defaultCenter]
       addObserver:self
-         selector:@selector(onKeyboardAnimationComplete)
+         selector:@selector(keyboardDidShow)
              name:UIKeyboardDidShowNotification
            object:nil];
+  [[NSNotificationCenter defaultCenter]
+      addObserver:self
+         selector:@selector(keyboardDidHide)
+             name:UIKeyboardDidHideNotification
+           object:nil];
+}
+
+- (void)notifyFormInputAccessoryTapped {
+  [self.delegate keyboardAccessoryDidTap];
+}
+
+#pragma mark - BrandingConsumer
+
+- (void)slideAwayFromLeadingEdge {
+  // TODO(crbug.com/1447909): Implement "exit to the leading edge" animation.
 }
 
 #pragma mark - Keyboard Event Handlers
@@ -85,7 +100,15 @@
 // Called right before the keyboard is visible. This method adds the autofill
 // branding to the view if it should be visible, and otherwise remove it from
 // the view hierarchy.
-- (void)onKeyboardAnimationStart {
+- (void)keyboardWillShow {
+  // Early return if the keyboard was not hidden prior to the animation. Note
+  // that this method may still be called if the user consecutively taps on two
+  // input fields.
+  if (_keyboardVisible) {
+    return;
+  }
+
+  // Add or remove the branding icon to keyboard accessories accordingly.
   if (!_constraintToHideView) {
     _constraintToHideView = [self.view.widthAnchor constraintEqualToConstant:0];
   }
@@ -102,13 +125,22 @@
   }
 }
 
-// Check if the branding icon is visible and should perform an animation, and do
-// so if it should.
-- (void)onKeyboardAnimationComplete {
-  // Early return if branding is invisible.
-  if (self.view.window == nil || _brandingIcon.hidden) {
+// Update keybaord visibility, check if the branding icon is visible and should
+// perform an animation, and do so if it should.
+- (void)keyboardDidShow {
+  // Early return if the keyboard was not hidden prior to the animation. Note
+  // that this method may still be called if the user consecutively taps on two
+  // input fields.
+  if (_keyboardVisible) {
     return;
   }
+  _keyboardVisible = YES;
+
+  // Early return if branding is invisible.
+  if (self.view.window == nil || _brandingIcon.superview == nil) {
+    return;
+  }
+  [self.delegate brandingIconDidShow];
   const base::TimeTicks lastAnimationStartTime = _lastAnimationStartTime;
   BOOL shouldPerformPopAnimation =
       self.shouldPerformPopAnimation &&
@@ -127,11 +159,16 @@
   }
 }
 
+// Updates keyboard visibility when the keyboard is hidden.
+- (void)keyboardDidHide {
+  _keyboardVisible = NO;
+}
+
 #pragma mark - Private
 
 // Method that is invoked when the user taps the branding icon.
 - (void)onBrandingTapped {
-  [_delegate brandingIconPressed];
+  [_delegate brandingIconDidPress];
 }
 
 // Performs the "pop" animation. This includes a quick enlarging of the icon
@@ -164,6 +201,4 @@
       }];
 }
 
-// TODO(crbug.com/1447909): Implement method for "exit to the left" animation.
-
 @end
diff --git a/ios/chrome/browser/ui/autofill/branding/branding_view_controller_delegate.h b/ios/chrome/browser/ui/autofill/branding/branding_view_controller_delegate.h
index 2b682b6..ea5dee48 100644
--- a/ios/chrome/browser/ui/autofill/branding/branding_view_controller_delegate.h
+++ b/ios/chrome/browser/ui/autofill/branding/branding_view_controller_delegate.h
@@ -9,11 +9,17 @@
 @protocol BrandingViewControllerDelegate
 
 // Invoked when the user has tapped on the branding icon.
-- (void)brandingIconPressed;
+- (void)brandingIconDidPress;
+
+// Invoked if the branding icon is visible when the keyboard pops up.
+- (void)brandingIconDidShow;
 
 // Invoked when the branding icon has performed the "pop" animation.
 - (void)brandingIconDidPerformPopAnimation;
 
+// Invoked when the user has tapped on any action in the keyboard accessory.
+- (void)keyboardAccessoryDidTap;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_AUTOFILL_BRANDING_BRANDING_VIEW_CONTROLLER_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/autofill/branding/branding_view_controller_egtest.mm b/ios/chrome/browser/ui/autofill/branding/branding_view_controller_egtest.mm
index 6d588e5..0179322 100644
--- a/ios/chrome/browser/ui/autofill/branding/branding_view_controller_egtest.mm
+++ b/ios/chrome/browser/ui/autofill/branding/branding_view_controller_egtest.mm
@@ -3,10 +3,13 @@
 // found in the LICENSE file.
 
 #import "base/test/ios/wait_util.h"
+#import "ios/chrome/browser/shared/model/prefs/pref_names.h"
 #import "ios/chrome/browser/ui/autofill/autofill_app_interface.h"
 #import "ios/chrome/browser/ui/autofill/features.h"
 #import "ios/chrome/test/earl_grey/chrome_actions.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
+#import "ios/chrome/test/earl_grey/chrome_earl_grey_app_interface.h"
+#import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
 #import "ios/chrome/test/earl_grey/chrome_test_case.h"
 #import "ios/testing/earl_grey/app_launch_manager.h"
@@ -29,6 +32,26 @@
 // The "username" field in the test page.
 const char kFormElementUsername[] = "username";
 
+// Returns the config that has enabled the autofill branding feature with
+// provided frequency type for phone and tablet.
+AppLaunchConfiguration ConfigWithBrandingEnabledWithFrequencyType(
+    std::string phone,
+    std::string tablet) {
+  AppLaunchConfiguration config;
+  config.additional_args.push_back(
+      "--enable-features=" +
+      std::string(autofill::features::kAutofillBrandingIOS.name) + ":" +
+      std::string(
+          autofill::features::kAutofillBrandingIOSParamFrequencyTypePhone) +
+      "/" + phone + "/" +
+      std::string(
+          autofill::features::kAutofillBrandingIOSParamFrequencyTypeTablet) +
+      "/" + tablet);
+  // Relaunch app at each test to rewind the startup state.
+  config.relaunch_policy = ForceRelaunchByCleanShutdown;
+  return config;
+}
+
 // Save a set of credentials so that the manual fill password button is visible
 // in keyboard accessories.
 void EnableManualFillButtonForPassword() {
@@ -59,12 +82,25 @@
 void BringUpKeyboard() {
   [[EarlGrey selectElementWithMatcher:WebViewMatcher()]
       performAction:TapWebElementWithId(kFormElementUsername)];
+  ConditionBlock keyboardShown = ^{
+    return [EarlGrey isKeyboardShownWithError:nil];
+  };
+  GREYAssertTrue(base::test::ios::WaitUntilConditionOrTimeout(
+                     base::test::ios::kWaitForUIElementTimeout, keyboardShown),
+                 @"Keyboard not brought up.");
 }
 
 // Dismisses the keyboard, if it exist.
 void DismissKeyboard() {
   [[EarlGrey selectElementWithMatcher:WebViewMatcher()]
       performAction:grey_tap()];
+  ConditionBlock keyboardDismissed = ^{
+    return ![EarlGrey isKeyboardShownWithError:nil];
+  };
+  GREYAssertTrue(
+      base::test::ios::WaitUntilConditionOrTimeout(
+          base::test::ios::kWaitForUIElementTimeout, keyboardDismissed),
+      @"Keyboard not dismissed.");
 }
 
 // Check that the branding visibility matches the parameter `visibility`.
@@ -87,6 +123,14 @@
 
 - (void)setUp {
   [super setUp];
+  // Clear feature related local state prefs.
+  [ChromeEarlGrey
+      resetDataForLocalStatePref:prefs::kAutofillBrandingIconDisplayCount];
+  [ChromeEarlGrey resetDataForLocalStatePref:
+                      prefs::kAutofillBrandingKeyboardAccessoriesTapped];
+  [ChromeEarlGrey resetDataForLocalStatePref:
+                      prefs::kAutofillBrandingIconAnimationRemainingCount];
+  // Turn on test server and load test page.
   GREYAssertTrue(self.testServer->Start(), @"Test server failed to start.");
   GURL url = self.testServer->GetURL(kFormHTMLFile);
   [ChromeEarlGrey loadURL:url];
@@ -101,17 +145,20 @@
 
 @end
 
-// BrandingViewControllerTestCases with flag enabled.
-@interface BrandingViewControllerEnabledTestCase
+// BrandingViewControllerTestCases that tests keyboard accessory behaviors with
+// the branding shown.
+@interface BrandingViewControllerAlwaysVisibleTestCase
     : BrandingViewControllerTestCase
 @end
 
-@implementation BrandingViewControllerEnabledTestCase
+@implementation BrandingViewControllerAlwaysVisibleTestCase
 
 - (AppLaunchConfiguration)appConfigurationForTestCase {
-  AppLaunchConfiguration config;
-  config.features_enabled.push_back(autofill::features::kAutofillBrandingIOS);
-  return config;
+  return ConfigWithBrandingEnabledWithFrequencyType(
+      /*phone=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeAlways,
+      /*tablet=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeAlways);
 }
 
 // Tests that the branding is visible when some manual fill button is visible.
@@ -194,25 +241,133 @@
 
 @end
 
-// BrandingViewControllerTestCases with flag disabled.
-@interface BrandingViewControllerDisabledTestCase
+// BrandingViewControllerTestCases with existing experiment variations in
+// about_flags.mm.
+@interface BrandingViewControllerTestCaseForVariations
     : BrandingViewControllerTestCase
 @end
 
-@implementation BrandingViewControllerDisabledTestCase
-
-- (AppLaunchConfiguration)appConfigurationForTestCase {
-  AppLaunchConfiguration config;
-  config.features_disabled.push_back(autofill::features::kAutofillBrandingIOS);
-  return config;
-}
+@implementation BrandingViewControllerTestCaseForVariations
 
 // Tests that the branding is invisible when the autofill branding flag is
 // disabled, regardless of the visibility of manual fill buttons.
 - (void)testBrandingDisabled {
+  AppLaunchConfiguration config;
+  config.features_disabled.push_back(autofill::features::kAutofillBrandingIOS);
+  config.relaunch_policy = ForceRelaunchByCleanShutdown;
+  [[AppLaunchManager sharedManager] ensureAppLaunchedWithConfiguration:config];
   EnableManualFillButtonForPassword();
   BringUpKeyboard();
   CheckBrandingHasVisiblity(NO);
 }
 
+// Tests that when the "two impressions" variation is turned on, the autofill
+// branding icon only shows twice.
+- (void)testBrandingTwoImpressions {
+  AppLaunchConfiguration config = ConfigWithBrandingEnabledWithFrequencyType(
+      /*phone=*/autofill::features::kAutofillBrandingIOSParamFrequencyTypeTwice,
+      /*tablet=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeTwice);
+  [[AppLaunchManager sharedManager] ensureAppLaunchedWithConfiguration:config];
+  EnableManualFillButtonForPassword();
+  // First time.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  [[EarlGrey selectElementWithMatcher:ManualFallbackPasswordIconMatcher()]
+      performAction:grey_tap()];
+  DismissKeyboard();
+  // Second time: branding is still visible after user interacts with a keyboard
+  // accessory element.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  DismissKeyboard();
+  // Third time.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(NO);
+}
+
+// Tests that when the "until interacted" variation is turned on, the autofill
+// branding icon shows until the user interacts with it.
+- (void)testBrandingDismissWhenInteracted {
+  AppLaunchConfiguration config = ConfigWithBrandingEnabledWithFrequencyType(
+      /*phone=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeUntilInteracted,
+      /*tablet=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeUntilInteracted);
+  [[AppLaunchManager sharedManager] ensureAppLaunchedWithConfiguration:config];
+  EnableManualFillButtonForPassword();
+  // First time: no interaction.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  DismissKeyboard();
+  // Second time: no interaction
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  DismissKeyboard();
+  // Third time: interact.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  [[EarlGrey selectElementWithMatcher:ManualFallbackPasswordIconMatcher()]
+      performAction:grey_tap()];
+  DismissKeyboard();
+  // Fourth time: branding should not be visible.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(NO);
+}
+
+// Tests that when the "always show and dismiss" variation is turned on, the
+// autofill branding icon shows until the user interacts with it.
+- (void)testBrandingAlwaysSlideToLeadingEdgeOnPhone {
+  AppLaunchConfiguration config = ConfigWithBrandingEnabledWithFrequencyType(
+      /*phone=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeAlwaysShowAndDismiss,
+      /*tablet=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeAlways);
+  [[AppLaunchManager sharedManager] ensureAppLaunchedWithConfiguration:config];
+  EnableManualFillButtonForPassword();
+  // First time.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  // TODO(crbug.com/1447909): Icon should have slid away from the leading edge.
+  // CheckBrandingHasVisiblity([ChromeEarlGrey isIPadIdiom]);
+  [[EarlGrey selectElementWithMatcher:ManualFallbackPasswordIconMatcher()]
+      performAction:grey_tap()];
+  DismissKeyboard();
+  // Second time: branding is still visible after user interacts with a keyboard
+  // accessory element.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  base::test::ios::SpinRunLoopWithMinDelay(base::Seconds(0.5));
+  // TODO(crbug.com/1447909): Icon should have slid away from the leading edge.
+  // CheckBrandingHasVisiblity([ChromeEarlGrey isIPadIdiom]);
+}
+
+// Tests that when the "dismiss when interacted" variation is turned on, the
+// autofill branding icon shows until the user interacts with it.
+- (void)testBrandingSlideToLeadingEdgeWhenInteractedOnPhone {
+  AppLaunchConfiguration config = ConfigWithBrandingEnabledWithFrequencyType(
+      /*phone=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeDismissWhenInteracted,
+      /*tablet=*/autofill::features::
+          kAutofillBrandingIOSParamFrequencyTypeAlways);
+  [[AppLaunchManager sharedManager] ensureAppLaunchedWithConfiguration:config];
+  EnableManualFillButtonForPassword();
+  // First time: no interaction.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  DismissKeyboard();
+  // Second time: interact.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity(YES);
+  [[EarlGrey selectElementWithMatcher:ManualFallbackPasswordIconMatcher()]
+      performAction:grey_tap()];
+  base::test::ios::SpinRunLoopWithMinDelay(base::Seconds(0.5));
+  // TODO(crbug.com/1447909): Icon should have slid away from the leading edge.
+  // CheckBrandingHasVisiblity([ChromeEarlGrey isIPadIdiom]);
+  DismissKeyboard();
+  // Third time: branding should not be visible on iPhone, but visible on iPad.
+  BringUpKeyboard();
+  CheckBrandingHasVisiblity([ChromeEarlGrey isIPadIdiom]);
+}
+
 @end
diff --git a/ios/chrome/browser/ui/autofill/form_input_accessory/form_input_accessory_view_controller.mm b/ios/chrome/browser/ui/autofill/form_input_accessory/form_input_accessory_view_controller.mm
index 1d998df..ee311780 100644
--- a/ios/chrome/browser/ui/autofill/form_input_accessory/form_input_accessory_view_controller.mm
+++ b/ios/chrome/browser/ui/autofill/form_input_accessory/form_input_accessory_view_controller.mm
@@ -271,18 +271,21 @@
   UMA_HISTOGRAM_COUNTS_100("ManualFallback.VisibleSuggestions.OpenProfiles",
                            self.formSuggestionView.suggestions.count);
   [self.manualFillAccessoryViewControllerDelegate accountButtonPressed:sender];
+  [self.brandingViewController notifyFormInputAccessoryTapped];
 }
 
 - (void)cardButtonPressed:(UIButton*)sender {
   UMA_HISTOGRAM_COUNTS_100("ManualFallback.VisibleSuggestions.OpenCreditCards",
                            self.formSuggestionView.suggestions.count);
   [self.manualFillAccessoryViewControllerDelegate cardButtonPressed:sender];
+  [self.brandingViewController notifyFormInputAccessoryTapped];
 }
 
 - (void)passwordButtonPressed:(UIButton*)sender {
   UMA_HISTOGRAM_COUNTS_100("ManualFallback.VisibleSuggestions.OpenPasswords",
                            self.formSuggestionView.suggestions.count);
   [self.manualFillAccessoryViewControllerDelegate passwordButtonPressed:sender];
+  [self.brandingViewController notifyFormInputAccessoryTapped];
 }
 
 #pragma mark - FormSuggestionViewDelegate
@@ -290,6 +293,7 @@
 - (void)formSuggestionView:(FormSuggestionView*)formSuggestionView
        didAcceptSuggestion:(FormSuggestion*)suggestion {
   [self.formSuggestionClient didSelectSuggestion:suggestion];
+  [self.brandingViewController notifyFormInputAccessoryTapped];
 }
 
 - (void)formSuggestionViewShouldResetFromPull:
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm
index 21be33e..9750efa 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm
@@ -363,7 +363,7 @@
   NSString* text =
       l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_BOOKMARK_CREATED);
   return CreateUndoToastWithWrapper(wrapper, text,
-                                    "MobileBookmarkManagerBookmarkAddedUndone");
+                                    "MobileBookmarkManagerAddedBookmarkUndone");
 }
 
 MDCSnackbarMessage* UpdateBookmarkPositionWithUndoToast(
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
index b2d8d18..5378c19f 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -1741,9 +1741,6 @@
       self.fullscreenController->ResizeHorizontalViewport();
     }
   }
-  // TODO(crbug.com/1329087): Remove this and let `ToolbarCoordinator` call the
-  // update, somehow.
-  [self.toolbarCoordinator updateToolbar];
 
   [self updateWebStateVisibility:YES];
 }
@@ -2829,7 +2826,7 @@
     [firstResponder resignFirstResponder];
     // Close presented view controllers, e.g. share sheets.
     if (self.presentedViewController) {
-      [self.applicationCommandsHandler dismissModalDialogs];
+      [self.applicationCommandsHandler dismissModalDialogsWithCompletion:nil];
     }
 
   } else {
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller_unittest.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller_unittest.mm
index d6af9f4..2ebc4cc 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller_unittest.mm
@@ -458,7 +458,8 @@
                      animated:NO
                    completion:nil];
 
-  OCMExpect([mockApplicationCommandHandler_ dismissModalDialogs]);
+  OCMExpect(
+      [mockApplicationCommandHandler_ dismissModalDialogsWithCompletion:nil]);
 
   // Present incognito authentication must dismiss presented state.
   [bvc_ setItemsRequireAuthentication:YES];
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_egtest.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_egtest.mm
index c9445bd..5ab28633 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_egtest.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_egtest.mm
@@ -118,8 +118,11 @@
 // Tap the SetUpList button to expand the list.
 void TapSetUpListExpand() {
   id<GREYMatcher> expandButton =
-      grey_accessibilityID(set_up_list::kExpandButtonID);
-  [[EarlGrey selectElementWithMatcher:expandButton]
+      grey_allOf(grey_accessibilityID(set_up_list::kExpandButtonID),
+                 grey_sufficientlyVisible(), nil);
+  [[[EarlGrey selectElementWithMatcher:expandButton]
+         usingSearchAction:grey_scrollInDirection(kGREYDirectionDown, 200)
+      onElementWithMatcher:chrome_test_util::NTPCollectionView()]
       assertWithMatcher:grey_notNil()];
   [[EarlGrey selectElementWithMatcher:expandButton] performAction:grey_tap()];
 }
@@ -317,13 +320,6 @@
 // Tests that the SetUpList can be expanded and unexpanded by touching the
 // "expand" button at the bottom of the list.
 - (void)testSetUpListExpands {
-// TODO(crbug.com/1453585): Test is flaky on iPhone simulator.
-#if TARGET_IPHONE_SIMULATOR
-  if (![ChromeEarlGrey isIPadIdiom]) {
-    EARL_GREY_TEST_DISABLED(@"Test disabled on iPhone simulator.");
-  }
-#endif  // TARGET_IPHONE_SIMULATOR
-
   [self prepareToTestSetUpList];
 
   id<GREYMatcher> signinItem = grey_accessibilityID(set_up_list::kSignInItemID);
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm
index 010fa1d..a713f61 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm
@@ -241,6 +241,8 @@
       _prefObserverBridge->ObserveChangesForPreference(
           prefs::kIosCredentialProviderPromoLastActionTaken,
           &_prefChangeRegistrar);
+      _prefObserverBridge->ObserveChangesForPreference(
+          set_up_list_prefs::kDisabled, &_prefChangeRegistrar);
       if (CredentialProviderPromoDismissed(_localState)) {
         set_up_list_prefs::MarkItemComplete(_localState,
                                             SetUpListItemType::kAutofill);
@@ -386,9 +388,6 @@
 
 - (void)disableSetUpList {
   set_up_list_prefs::DisableSetUpList(_localState);
-  [self.consumer hideSetUpListWithAnimations:^{
-    [self.feedDelegate contentSuggestionsWasUpdated];
-  }];
 }
 
 #pragma mark - IdentityManagerObserverBridgeDelegate
@@ -895,6 +894,12 @@
       }];
 }
 
+// Hides the Set Up List with an animation.
+- (void)hideSetUpList {
+  [self.consumer hideSetUpListWithAnimations:^{
+    [self.feedDelegate contentSuggestionsWasUpdated];
+  }];
+}
 #pragma mark - Properties
 
 - (NSArray<ContentSuggestionsMostVisitedActionItem*>*)actionButtonItems {
@@ -942,11 +947,15 @@
 #pragma mark - PrefObserverDelegate
 
 - (void)onPreferenceChanged:(const std::string&)preferenceName {
-  if (IsIOSSetUpListEnabled() &&
-      preferenceName == prefs::kIosCredentialProviderPromoLastActionTaken &&
-      CredentialProviderPromoDismissed(_localState)) {
-    set_up_list_prefs::MarkItemComplete(_localState,
-                                        SetUpListItemType::kAutofill);
+  if (IsIOSSetUpListEnabled()) {
+    if (preferenceName == prefs::kIosCredentialProviderPromoLastActionTaken &&
+        CredentialProviderPromoDismissed(_localState)) {
+      set_up_list_prefs::MarkItemComplete(_localState,
+                                          SetUpListItemType::kAutofill);
+    } else if (preferenceName == set_up_list_prefs::kDisabled &&
+               set_up_list_prefs::IsSetUpListDisabled(_localState)) {
+      [self hideSetUpList];
+    }
   }
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/set_up_list/BUILD.gn b/ios/chrome/browser/ui/content_suggestions/set_up_list/BUILD.gn
index 65db0a76..9905664 100644
--- a/ios/chrome/browser/ui/content_suggestions/set_up_list/BUILD.gn
+++ b/ios/chrome/browser/ui/content_suggestions/set_up_list/BUILD.gn
@@ -18,6 +18,7 @@
   deps = [
     ":constants",
     "//base",
+    "//components/password_manager/core/common:features",
     "//ios/chrome/app/strings",
     "//ios/chrome/browser/ntp:set_up_list_item_type",
     "//ios/chrome/browser/shared/ui/elements",
diff --git a/ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_item_view.mm b/ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_item_view.mm
index ae3dc9c1..3a4c187f 100644
--- a/ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_item_view.mm
+++ b/ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_item_view.mm
@@ -4,9 +4,11 @@
 
 #import "ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_item_view.h"
 
+#import "base/feature_list.h"
 #import "base/notreached.h"
 #import "base/task/sequenced_task_runner.h"
 #import "base/time/time.h"
+#import "components/password_manager/core/common/password_manager_features.h"
 #import "ios/chrome/browser/ntp/set_up_list_item_type.h"
 #import "ios/chrome/browser/shared/ui/elements/crossfade_label.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
@@ -78,9 +80,14 @@
     _complete = data.complete;
     if (!data.compactLayout) {
       // Normal ViewConfig.
+      const int syncString =
+          base::FeatureList::IsEnabled(
+              password_manager::features::kEnablePasswordsAccountStorage)
+              ? IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION_NO_PASSWORDS
+              : IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION;
       _config = {
           NO,
-          IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_DESCRIPTION,
+          syncString,
           IDS_IOS_SET_UP_LIST_DEFAULT_BROWSER_DESCRIPTION,
           IDS_IOS_SET_UP_LIST_AUTOFILL_DESCRIPTION,
           UIFontTextStyleSubheadline,
@@ -89,9 +96,14 @@
       };
     } else {
       // ViewConfig for a compact layout.
+      const int syncString =
+          base::FeatureList::IsEnabled(
+              password_manager::features::kEnablePasswordsAccountStorage)
+              ? IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION_NO_PASSWORDS
+              : IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION;
       _config = {
           YES,
-          IDS_IOS_SET_UP_LIST_SIGN_IN_SYNC_SHORT_DESCRIPTION,
+          syncString,
           IDS_IOS_SET_UP_LIST_DEFAULT_BROWSER_SHORT_DESCRIPTION,
           IDS_IOS_SET_UP_LIST_AUTOFILL_SHORT_DESCRIPTION,
           UIFontTextStyleFootnote,
diff --git a/ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator.mm b/ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator.mm
index 7c10d04..41af761 100644
--- a/ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator.mm
+++ b/ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator.mm
@@ -4,6 +4,9 @@
 
 #import "ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator.h"
 
+#import "base/metrics/histogram_functions.h"
+#import "base/metrics/user_metrics.h"
+#import "ios/chrome/browser/default_browser/utils.h"
 #import "ios/chrome/browser/shared/model/browser/browser.h"
 #import "ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator_delegate.h"
 #import "ios/chrome/browser/ui/default_promo/half_screen_promo_view_controller.h"
@@ -13,6 +16,9 @@
 #error "This file requires ARC support."
 #endif
 
+using base::RecordAction;
+using base::UserMetricsAction;
+
 @interface HalfScreenPromoCoordinator () <
     UIAdaptivePresentationControllerDelegate,
     UINavigationControllerDelegate,
@@ -41,6 +47,8 @@
 #pragma mark - ChromeCoordinator
 
 - (void)start {
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Halfscreen.Impression"));
   self.viewController = [[HalfScreenPromoViewController alloc] init];
   self.viewController.actionHandler = self;
   [self.baseNavigationController pushViewController:self.viewController
@@ -60,10 +68,20 @@
 #pragma mark - ConfirmationAlertActionHandler
 
 - (void)confirmationAlertPrimaryAction {
+  base::UmaHistogramEnumeration(
+      "IOS.DefaultBrowserVideoPromo.Halfscreen",
+      IOSDefaultBrowserVideoPromoAction::kPrimaryActionTapped);
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Halfscreen.ShowMeHow"));
   [self.delegate handlePrimaryActionForHalfScreenPromoCoordinator:self];
 }
 
 - (void)confirmationAlertSecondaryAction {
+  base::UmaHistogramEnumeration(
+      "IOS.DefaultBrowserVideoPromo.Halfscreen",
+      IOSDefaultBrowserVideoPromoAction::kSecondaryActionTapped);
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Halfscreen.Dismiss"));
   [self.delegate handleSecondaryActionForHalfScreenPromoCoordinator:self];
 }
 
@@ -71,6 +89,10 @@
 
 - (void)presentationControllerDidDismiss:
     (UIPresentationController*)presentationController {
+  base::UmaHistogramEnumeration("IOS.DefaultBrowserVideoPromo.Halfscreen",
+                                IOSDefaultBrowserVideoPromoAction::kSwipeDown);
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Halfscreen.Dismiss"));
   [self.delegate handleDismissActionForHalfScreenPromoCoordinator:self];
 }
 
diff --git a/ios/chrome/browser/ui/default_promo/promo_handler/BUILD.gn b/ios/chrome/browser/ui/default_promo/promo_handler/BUILD.gn
index 47a55887..0ed555e 100644
--- a/ios/chrome/browser/ui/default_promo/promo_handler/BUILD.gn
+++ b/ios/chrome/browser/ui/default_promo/promo_handler/BUILD.gn
@@ -15,6 +15,7 @@
     "//components/feature_engagement/public",
     "//components/prefs",
     "//ios/chrome/browser/default_browser:utils",
+    "//ios/chrome/browser/feature_engagement:feature_engagement",
     "//ios/chrome/browser/promos_manager",
     "//ios/chrome/browser/promos_manager:constants",
     "//ios/chrome/browser/promos_manager:features",
diff --git a/ios/chrome/browser/ui/default_promo/promo_handler/default_browser_promo_manager.mm b/ios/chrome/browser/ui/default_promo/promo_handler/default_browser_promo_manager.mm
index e42979a..4fc3042 100644
--- a/ios/chrome/browser/ui/default_promo/promo_handler/default_browser_promo_manager.mm
+++ b/ios/chrome/browser/ui/default_promo/promo_handler/default_browser_promo_manager.mm
@@ -5,8 +5,11 @@
 #import "ios/chrome/browser/ui/default_promo/promo_handler/default_browser_promo_manager.h"
 
 #import "base/notreached.h"
+#import "components/feature_engagement/public/feature_constants.h"
+#import "components/feature_engagement/public/tracker.h"
 #import "components/prefs/pref_service.h"
 #import "ios/chrome/browser/default_browser/utils.h"
+#import "ios/chrome/browser/feature_engagement/tracker_factory.h"
 #import "ios/chrome/browser/shared/model/browser/browser.h"
 #import "ios/chrome/browser/shared/model/browser_state/chrome_browser_state.h"
 #import "ios/chrome/browser/shared/public/commands/browser_coordinator_commands.h"
@@ -14,6 +17,7 @@
 #import "ios/chrome/browser/shared/public/commands/whats_new_commands.h"
 #import "ios/chrome/browser/signin/authentication_service.h"
 #import "ios/chrome/browser/signin/authentication_service_factory.h"
+#import "ios/chrome/browser/ui/default_promo/video_default_browser_promo_coordinator.h"
 #import "ios/chrome/browser/ui/policy/user_policy_util.h"
 #import "ios/chrome/browser/ui/promos_manager/promos_manager_ui_handler.h"
 
@@ -21,6 +25,14 @@
 #error "This file requires ARC support."
 #endif
 
+@interface DefaultBrowserPromoManager ()
+
+// Coordinator for the video default browser promo.
+@property(nonatomic, strong)
+    VideoDefaultBrowserPromoCoordinator* videoDefaultPromoCoordinator;
+
+@end
+
 @implementation DefaultBrowserPromoManager
 
 #pragma mark - ChromeCoordinator
@@ -53,6 +65,20 @@
     return;
   }
 
+  feature_engagement::Tracker* tracker =
+      feature_engagement::TrackerFactory::GetForBrowserState(browserState);
+
+  // Video promo takes priority over other default browser promos.
+  if (IsDefaultBrowserVideoPromoEnabled() && tracker &&
+      IsVideoPromoEligibleUser(tracker)) {
+    if (tracker->ShouldTriggerHelpUI(
+            feature_engagement::
+                kIPHiOSDefaultBrowserVideoPromoTriggerFeature)) {
+      [self showVideoPromo];
+      return;
+    }
+  }
+
   BOOL isSignedIn = [self isSignedIn];
 
   // Tailored promos take priority over general promo.
@@ -66,6 +92,10 @@
 }
 
 - (void)stop {
+  if (self.videoDefaultPromoCoordinator) {
+    [self.videoDefaultPromoCoordinator stop];
+    self.videoDefaultPromoCoordinator = nil;
+  }
   [self.promosUIHandler promoWasDismissed];
   [super stop];
 }
@@ -100,8 +130,17 @@
       [defaultPromoHandler showDefaultBrowserFullscreenPromo];
       break;
     case DefaultPromoTypeVideo:
+      [self showVideoPromo];
       break;
   }
 }
 
+- (void)showVideoPromo {
+  self.videoDefaultPromoCoordinator =
+      [[VideoDefaultBrowserPromoCoordinator alloc]
+          initWithBaseViewController:self.baseViewController
+                             browser:self.browser];
+  [self.videoDefaultPromoCoordinator start];
+}
+
 @end
diff --git a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_coordinator.mm b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_coordinator.mm
index 6058da8..d7ff777 100644
--- a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_coordinator.mm
+++ b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_coordinator.mm
@@ -4,9 +4,17 @@
 
 #import "ios/chrome/browser/ui/default_promo/video_default_browser_promo_coordinator.h"
 
+#import "base/metrics/histogram_functions.h"
+#import "base/metrics/user_metrics.h"
+#import "components/feature_engagement/public/feature_constants.h"
+#import "components/feature_engagement/public/tracker.h"
+#import "ios/chrome/browser/default_browser/utils.h"
+#import "ios/chrome/browser/feature_engagement/tracker_factory.h"
 #import "ios/chrome/browser/shared/model/browser/browser.h"
 #import "ios/chrome/browser/shared/public/commands/command_dispatcher.h"
 #import "ios/chrome/browser/ui/default_promo/default_browser_promo_commands.h"
+#import "ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator.h"
+#import "ios/chrome/browser/ui/default_promo/half_screen_promo_coordinator_delegate.h"
 #import "ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.h"
 #import "ios/chrome/browser/ui/default_promo/video_default_browser_promo_view_controller.h"
 #import "ios/chrome/common/ui/confirmation_alert/confirmation_alert_action_handler.h"
@@ -15,10 +23,14 @@
 #error "This file requires ARC support."
 #endif
 
+using base::RecordAction;
+using base::UserMetricsAction;
+
 @interface VideoDefaultBrowserPromoCoordinator () <
     UIAdaptivePresentationControllerDelegate,
     UINavigationControllerDelegate,
-    ConfirmationAlertActionHandler>
+    ConfirmationAlertActionHandler,
+    HalfScreenPromoCoordinatorDelegate>
 
 // The mediator for the video default browser promo.
 @property(nonatomic, strong) VideoDefaultBrowserPromoMediator* mediator;
@@ -30,6 +42,9 @@
 // Default browser promo command handler.
 @property(nonatomic, readonly) id<DefaultBrowserPromoCommands>
     defaultBrowserPromoHandler;
+// Half screen promo coordinator.
+@property(nonatomic, strong)
+    HalfScreenPromoCoordinator* halfScreenPromoCoordinator;
 
 @end
 
@@ -38,16 +53,25 @@
 #pragma mark - ChromeCoordinator
 
 - (void)start {
+  RecordAction(UserMetricsAction("IOS.DefaultBrowserVideoPromo.Appear"));
   self.mediator = [[VideoDefaultBrowserPromoMediator alloc] init];
-  self.viewController = [[VideoDefaultBrowserPromoViewController alloc] init];
-  self.viewController.actionHandler = self;
-  self.navigationController = [[UINavigationController alloc]
-      initWithRootViewController:self.viewController];
+  self.navigationController = [[UINavigationController alloc] init];
   self.navigationController.presentationController.delegate = self;
   [self.navigationController setNavigationBarHidden:YES animated:NO];
   [self.baseViewController presentViewController:self.navigationController
                                         animated:YES
                                       completion:nil];
+
+  if (IsDefaultBrowserVideoPromoHalfscreenEnabled()) {
+    self.halfScreenPromoCoordinator = [[HalfScreenPromoCoordinator alloc]
+        initWithBaseNavigationController:self.navigationController
+                                 browser:self.browser];
+    self.halfScreenPromoCoordinator.delegate = self;
+    [self.halfScreenPromoCoordinator start];
+  } else {
+    [self showFullscreenVideoPromo];
+  }
+
   [super start];
 }
 
@@ -55,9 +79,23 @@
   [self.navigationController.presentingViewController
       dismissViewControllerAnimated:YES
                          completion:nil];
+  if (self.halfScreenPromoCoordinator) {
+    [self.halfScreenPromoCoordinator stop];
+    self.halfScreenPromoCoordinator.delegate = nil;
+    self.halfScreenPromoCoordinator = nil;
+  }
   self.viewController = nil;
   self.mediator = nil;
   self.navigationController = nil;
+
+  feature_engagement::Tracker* tracker =
+      feature_engagement::TrackerFactory::GetForBrowserState(
+          self.browser->GetBrowserState());
+  if (!ShouldForceDefaultPromoType() && tracker) {
+    tracker->Dismissed(
+        feature_engagement::kIPHiOSDefaultBrowserVideoPromoTriggerFeature);
+  }
+
   [super stop];
 }
 
@@ -65,11 +103,20 @@
 
 - (void)confirmationAlertPrimaryAction {
   [self.mediator didTapPrimaryActionButton];
+  base::UmaHistogramEnumeration(
+      "IOS.DefaultBrowserVideoPromo.Fullscreen",
+      IOSDefaultBrowserVideoPromoAction::kPrimaryActionTapped);
+  RecordAction(UserMetricsAction(
+      "IOS.DefaultBrowserVideoPromo.Fullscreen.OpenSettingsTapped"));
   [self.defaultBrowserPromoHandler hidePromo];
 }
 
 - (void)confirmationAlertSecondaryAction {
-  [self.mediator didTapSecondaryActionButton];
+  base::UmaHistogramEnumeration(
+      "IOS.DefaultBrowserVideoPromo.Fullscreen",
+      IOSDefaultBrowserVideoPromoAction::kSecondaryActionTapped);
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Fullscreen.Dismiss"));
   [self.defaultBrowserPromoHandler hidePromo];
 }
 
@@ -77,6 +124,36 @@
 
 - (void)presentationControllerDidDismiss:
     (UIPresentationController*)presentationController {
+  base::UmaHistogramEnumeration("IOS.DefaultBrowserVideoPromo.Fullscreen",
+                                IOSDefaultBrowserVideoPromoAction::kSwipeDown);
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Fullscreen.Dismiss"));
+  [self.defaultBrowserPromoHandler hidePromo];
+}
+
+#pragma mark - HalfScreenPromoCoordinatorDelegate
+
+- (void)handlePrimaryActionForHalfScreenPromoCoordinator:
+    (HalfScreenPromoCoordinator*)coordinator {
+  DCHECK(coordinator == self.halfScreenPromoCoordinator);
+  [self.halfScreenPromoCoordinator stop];
+  self.halfScreenPromoCoordinator.delegate = nil;
+  self.halfScreenPromoCoordinator = nil;
+
+  // Present sheet at full height.
+  self.navigationController.sheetPresentationController.detents =
+      @[ UISheetPresentationControllerDetent.largeDetent ];
+
+  [self showFullscreenVideoPromo];
+}
+
+- (void)handleSecondaryActionForHalfScreenPromoCoordinator:
+    (HalfScreenPromoCoordinator*)coordinator {
+  [self.defaultBrowserPromoHandler hidePromo];
+}
+
+- (void)handleDismissActionForHalfScreenPromoCoordinator:
+    (HalfScreenPromoCoordinator*)coordinator {
   [self.defaultBrowserPromoHandler hidePromo];
 }
 
@@ -89,4 +166,14 @@
   return handler;
 }
 
+- (void)showFullscreenVideoPromo {
+  DCHECK(!self.viewController);
+  RecordAction(
+      UserMetricsAction("IOS.DefaultBrowserVideoPromo.Fullscreen.Impression"));
+  self.viewController = [[VideoDefaultBrowserPromoViewController alloc] init];
+  self.viewController.actionHandler = self;
+  [self.navigationController pushViewController:self.viewController
+                                       animated:YES];
+}
+
 @end
diff --git a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.h b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.h
index 58e7481..169b0d6 100644
--- a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.h
+++ b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.h
@@ -15,9 +15,6 @@
 // Handles user tap on primary action.
 - (void)didTapPrimaryActionButton;
 
-// Handles user tap on secondary action.
-- (void)didTapSecondaryActionButton;
-
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_DEFAULT_PROMO_VIDEO_DEFAULT_BROWSER_PROMO_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.mm b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.mm
index 11927f6..1bda5ff 100644
--- a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.mm
+++ b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.mm
@@ -4,6 +4,7 @@
 
 #import "ios/chrome/browser/ui/default_promo/video_default_browser_promo_mediator.h"
 
+#import "base/metrics/histogram_functions.h"
 #import "base/metrics/user_metrics.h"
 #import "ios/chrome/grit/ios_chromium_strings.h"
 #import "ios/chrome/grit/ios_google_chrome_strings.h"
@@ -19,14 +20,9 @@
 #pragma mark - Public
 
 - (void)didTapPrimaryActionButton {
-  // TODO(crbug.com/1446316): Record user action
   [self openSettingsURLString];
 }
 
-- (void)didTapSecondaryActionButton {
-  // TODO(crbug.com/1446316): Record user action
-}
-
 #pragma mark Private
 
 // Called to allow the user to open the iOS settings.
diff --git a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_view_controller.mm b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_view_controller.mm
index 8179b10..e403272 100644
--- a/ios/chrome/browser/ui/default_promo/video_default_browser_promo_view_controller.mm
+++ b/ios/chrome/browser/ui/default_promo/video_default_browser_promo_view_controller.mm
@@ -107,6 +107,7 @@
   alertScreen.primaryActionString = primaryActionString;
   alertScreen.secondaryActionString = secondaryActionString;
   alertScreen.actionHandler = self.actionHandler;
+  alertScreen.modalPresentationStyle = UIModalPresentationFullScreen;
   self.alertScreen = alertScreen;
 }
 
diff --git a/ios/chrome/browser/ui/first_run/default_browser/default_browser_screen_coordinator.mm b/ios/chrome/browser/ui/first_run/default_browser/default_browser_screen_coordinator.mm
index b66700a..ec967c2d 100644
--- a/ios/chrome/browser/ui/first_run/default_browser/default_browser_screen_coordinator.mm
+++ b/ios/chrome/browser/ui/first_run/default_browser/default_browser_screen_coordinator.mm
@@ -64,6 +64,11 @@
 - (void)stop {
   self.delegate = nil;
   self.viewController = nil;
+  [super stop];
+}
+
+- (void)dealloc {
+  CHECK(!self.viewController);
 }
 
 #pragma mark - PromoStyleViewControllerDelegate
diff --git a/ios/chrome/browser/ui/first_run/history_sync/history_sync_screen_coordinator.mm b/ios/chrome/browser/ui/first_run/history_sync/history_sync_screen_coordinator.mm
index a399dcd6..774fab7 100644
--- a/ios/chrome/browser/ui/first_run/history_sync/history_sync_screen_coordinator.mm
+++ b/ios/chrome/browser/ui/first_run/history_sync/history_sync_screen_coordinator.mm
@@ -19,7 +19,6 @@
 }
 
 @synthesize baseNavigationController = _baseNavigationController;
-
 - (instancetype)initWithBaseNavigationController:
                     (UINavigationController*)navigationController
                                          browser:(Browser*)browser
@@ -56,6 +55,10 @@
   _baseNavigationController = nil;
 }
 
+- (void)dealloc {
+  CHECK(!_historySyncCoordinator);
+}
+
 #pragma mark - Private
 
 // Dismisses the current screen, and stops the FRE if `success` is `false`.
diff --git a/ios/chrome/browser/ui/main/default_browser_promo_scene_agent.mm b/ios/chrome/browser/ui/main/default_browser_promo_scene_agent.mm
index 7c0cf8c7..c4eaf19 100644
--- a/ios/chrome/browser/ui/main/default_browser_promo_scene_agent.mm
+++ b/ios/chrome/browser/ui/main/default_browser_promo_scene_agent.mm
@@ -9,6 +9,7 @@
 #import "base/version.h"
 #import "ios/chrome/app/application_delegate/app_state.h"
 #import "ios/chrome/browser/default_browser/utils.h"
+#import "ios/chrome/browser/feature_engagement/tracker_factory.h"
 #import "ios/chrome/browser/promos_manager/constants.h"
 #import "ios/chrome/browser/shared/coordinator/default_browser_promo/non_modal_default_browser_promo_scheduler_scene_agent.h"
 #import "ios/chrome/browser/shared/public/commands/command_dispatcher.h"
@@ -46,9 +47,11 @@
       DCHECK(authenticationService->initialized());
       BOOL isSignedIn = authenticationService->HasPrimaryIdentity(
           signin::ConsentLevel::kSignin);
-
       DCHECK(self.promosManager);
-      if (ShouldRegisterPromoWithPromoManager(isSignedIn)) {
+      if (ShouldRegisterPromoWithPromoManager(
+              isSignedIn,
+              feature_engagement::TrackerFactory::GetForBrowserState(
+                  sceneState.appState.mainBrowserState))) {
         self.promosManager->RegisterPromoForSingleDisplay(
             promos_manager::Promo::DefaultBrowser);
       } else {
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_egtest.mm b/ios/chrome/browser/ui/omnibox/omnibox_egtest.mm
index 9a2a391..bab2b2f 100644
--- a/ios/chrome/browser/ui/omnibox/omnibox_egtest.mm
+++ b/ios/chrome/browser/ui/omnibox/omnibox_egtest.mm
@@ -615,12 +615,8 @@
                  @"Context menu is still visible.");
 }
 
-- (void)testOmniboxDefocusesOnTabSwitch {
-  // TODO(crbug.com/1453240): Test is failing on iPad devices and simulator.
-  if ([ChromeEarlGrey isIPadIdiom]) {
-    EARL_GREY_TEST_DISABLED(@"Test disabled on iPad.");
-  }
-
+// TODO(crbug.com/1453240): Re-enable when fixed.
+- (void)DISABLED_testOmniboxDefocusesOnTabSwitch {
   [self openPage1];
   [ChromeEarlGrey openNewTab];
   [ChromeEarlGrey waitForMainTabCount:2];
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_mediator.mm b/ios/chrome/browser/ui/reading_list/reading_list_mediator.mm
index ed6df2cf..572ee6b7 100644
--- a/ios/chrome/browser/ui/reading_list/reading_list_mediator.mm
+++ b/ios/chrome/browser/ui/reading_list/reading_list_mediator.mm
@@ -96,6 +96,10 @@
   _modelBridge.reset();
 }
 
+- (void)dealloc {
+  DCHECK(!_model);
+}
+
 #pragma mark - ReadingListDataSource
 
 - (BOOL)isItemRead:(id<ReadingListListItem>)item {
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_mediator_unittest.mm b/ios/chrome/browser/ui/reading_list/reading_list_mediator_unittest.mm
index 8f4388a..1e606deb 100644
--- a/ios/chrome/browser/ui/reading_list/reading_list_mediator_unittest.mm
+++ b/ios/chrome/browser/ui/reading_list/reading_list_mediator_unittest.mm
@@ -105,6 +105,8 @@
         listItemFactory:[[ReadingListListItemFactory alloc] init]];
   }
 
+  ~ReadingListMediatorTest() { [mediator_ disconnect]; }
+
   ReadingListMediatorTest(const ReadingListMediatorTest&) = delete;
   ReadingListMediatorTest& operator=(const ReadingListMediatorTest&) = delete;
 
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn
index e8756043..e4f6d9f2 100644
--- a/ios/chrome/browser/ui/settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -109,6 +109,7 @@
     "//components/signin/public/identity_manager",
     "//components/signin/public/identity_manager/objc",
     "//components/strings",
+    "//components/sync/base",
     "//components/translate/core/browser",
     "//components/translate/core/common",
     "//components/url_formatter",
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_coordinator.mm b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_coordinator.mm
index 8af069ae..f72ec71e 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_coordinator.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_coordinator.mm
@@ -63,6 +63,11 @@
   self.viewController.delegate = nil;
   self.viewController.dispatcher = nil;
   self.viewController = nil;
+  [super stop];
+}
+
+- (void)dealloc {
+  CHECK(!self.viewController);
 }
 
 #pragma mark - ClearBrowsingDataUIDelegate
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 2e258d57..be2e762 100644
--- a/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
@@ -693,7 +693,10 @@
                                           prefService:_browserState
                                                           ->GetPrefs()] &&
       !syncService->GetUserSettings()->IsInitialSyncFeatureSetupComplete();
-  return shouldDisplay && !base::FeatureList::IsEnabled(kHideSettingsSyncPromo);
+  return shouldDisplay &&
+         !base::FeatureList::IsEnabled(kHideSettingsSyncPromo) &&
+         !base::FeatureList::IsEnabled(
+             syncer::kReplaceSyncPromosWithSignInPromos);
 }
 
 #pragma mark - Model Items
diff --git a/ios/chrome/browser/ui/start_surface/start_surface_scene_agent.mm b/ios/chrome/browser/ui/start_surface/start_surface_scene_agent.mm
index e2345be..dd3fc02 100644
--- a/ios/chrome/browser/ui/start_surface/start_surface_scene_agent.mm
+++ b/ios/chrome/browser/ui/start_surface/start_surface_scene_agent.mm
@@ -138,7 +138,7 @@
   }
 
   // If there is no active tab, a NTP will be added, and since there is no
-  // recent tab, there is no need to mark `modifytVisibleNTPForStartSurface`.
+  // recent tab.
   // Keep showing the last active NTP tab no matter whether the Start Surface is
   // enabled or not by design.
   // Note that activeWebState could only be nullptr when the Tab grid is active
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_grid/pinned_tabs/pinned_tabs_mediator.mm b/ios/chrome/browser/ui/tab_switcher/tab_grid/pinned_tabs/pinned_tabs_mediator.mm
index ff0787a..27c61c6 100644
--- a/ios/chrome/browser/ui/tab_switcher/tab_grid/pinned_tabs/pinned_tabs_mediator.mm
+++ b/ios/chrome/browser/ui/tab_switcher/tab_grid/pinned_tabs/pinned_tabs_mediator.mm
@@ -316,6 +316,13 @@
   [self populateConsumerItems];
 }
 
+- (void)webStateListDestroyed:(WebStateList*)webStateList {
+  DCHECK_EQ(_webStateList, webStateList);
+
+  _scopedWebStateListObservation.reset();
+  _webStateList = nullptr;
+}
+
 #pragma mark - CRWWebStateObserver
 
 - (void)webStateDidStartLoading:(web::WebState*)webState {
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm b/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm
index a30821e..c17efa1 100644
--- a/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm
+++ b/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm
@@ -2067,7 +2067,7 @@
 
 // Creates and shows a new regular tab.
 - (void)openNewRegularTabForKeyboardCommand {
-  [self.handler dismissModalDialogs];
+  [self.handler dismissModalDialogsWithCompletion:nil];
   [self openNewTabInPage:TabGridPageRegularTabs focusOmnibox:YES];
   base::RecordAction(
       base::UserMetricsAction("MobileTabGridCreateRegularTabKeyboard"));
@@ -2075,7 +2075,7 @@
 
 // Creates and shows a new incognito tab.
 - (void)openNewIncognitoTabForKeyboardCommand {
-  [self.handler dismissModalDialogs];
+  [self.handler dismissModalDialogsWithCompletion:nil];
   [self openNewTabInPage:TabGridPageIncognitoTabs focusOmnibox:YES];
   base::RecordAction(
       base::UserMetricsAction("MobileTabGridCreateIncognitoTabKeyboard"));
diff --git a/ios/chrome/browser/ui/toolbar/adaptive_toolbar_coordinator.mm b/ios/chrome/browser/ui/toolbar/adaptive_toolbar_coordinator.mm
index c809338..05a226d 100644
--- a/ios/chrome/browser/ui/toolbar/adaptive_toolbar_coordinator.mm
+++ b/ios/chrome/browser/ui/toolbar/adaptive_toolbar_coordinator.mm
@@ -101,7 +101,6 @@
 
 - (void)setLocationBarViewController:
     (UIViewController*)locationBarViewController {
-  CHECK(_started);
   self.viewController.locationBarViewController = locationBarViewController;
 }
 
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm b/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm
index bdf97b2..15a6d8ba 100644
--- a/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm
+++ b/ios/chrome/browser/ui/toolbar/toolbar_coordinator.mm
@@ -19,6 +19,7 @@
 #import "ios/chrome/browser/shared/public/commands/popup_menu_commands.h"
 #import "ios/chrome/browser/shared/public/commands/text_zoom_commands.h"
 #import "ios/chrome/browser/shared/public/commands/toolbar_commands.h"
+#import "ios/chrome/browser/shared/public/features/features.h"
 #import "ios/chrome/browser/shared/ui/util/uikit_ui_util.h"
 #import "ios/chrome/browser/ui/location_bar/location_bar_coordinator.h"
 #import "ios/chrome/browser/ui/orchestrator/omnibox_focus_orchestrator.h"
@@ -65,7 +66,10 @@
 
 @end
 
-@implementation ToolbarCoordinator
+@implementation ToolbarCoordinator {
+  /// Type of toolbar containing the omnibox.
+  ToolbarType _omniboxPosition;
+}
 
 - (instancetype)initWithBrowser:(Browser*)browser {
   CHECK(browser);
@@ -86,6 +90,8 @@
     return;
   }
   self.enableAnimationsForOmniboxFocus = YES;
+  // Set a default position, overriden by `setInitialOmniboxPosition` below.
+  _omniboxPosition = ToolbarType::kPrimary;
 
   Browser* browser = self.browser;
   [browser->GetCommandDispatcher()
@@ -98,8 +104,9 @@
   PrefService* prefs =
       ChromeBrowserState::FromBrowserState(browser->GetBrowserState())
           ->GetPrefs();
-  self.toolbarMediator =
-      [[ToolbarMediator alloc] initWithWebStateList:browser->GetWebStateList()];
+  self.toolbarMediator = [[ToolbarMediator alloc]
+      initWithWebStateList:browser->GetWebStateList()
+               isIncognito:browser->GetBrowserState()->IsOffTheRecord()];
   self.toolbarMediator.delegate = self;
   self.toolbarMediator.prefService = prefs;
 
@@ -123,9 +130,13 @@
   self.orchestrator.editViewAnimatee =
       [self.locationBarCoordinator editViewAnimatee];
 
-  [self.primaryToolbarCoordinator
-      setLocationBarViewController:self.locationBarCoordinator
-                                       .locationBarViewController];
+  if (IsBottomOmniboxSteadyStateEnabled()) {
+    [self.toolbarMediator setInitialOmniboxPosition];
+  } else {
+    [self.primaryToolbarCoordinator
+        setLocationBarViewController:self.locationBarCoordinator
+                                         .locationBarViewController];
+  }
 
   [self updateToolbarsLayout];
   _prerenderService = PrerenderServiceFactory::GetForBrowserState(
@@ -224,6 +235,7 @@
       UIUserInterfaceSizeClassUnspecified) {
     return;
   }
+  [self.toolbarMediator locationBarFocusChangedTo:focused];
 
   [self.orchestrator
       transitionToStateOmniboxFocused:focused
@@ -375,6 +387,8 @@
 
 - (void)viewControllerTraitCollectionDidChange:
     (UITraitCollection*)previousTraitCollection {
+  [self.toolbarMediator
+      toolbarTraitCollectionChangedTo:self.traitEnvironment.traitCollection];
   [self updateToolbarsLayout];
 }
 
@@ -382,7 +396,7 @@
   if (self.locationBarFocused) {
     id<ApplicationCommands> applicationCommandsHandler = HandlerForProtocol(
         self.browser->GetCommandDispatcher(), ApplicationCommands);
-    [applicationCommandsHandler dismissModalDialogs];
+    [applicationCommandsHandler dismissModalDialogsWithCompletion:nil];
   }
 }
 
@@ -412,6 +426,26 @@
   }
 }
 
+#pragma mark - ToolbarMediatorDelegate
+
+- (void)transitionOmniboxToToolbarType:(ToolbarType)toolbarType {
+  _omniboxPosition = toolbarType;
+  switch (toolbarType) {
+    case ToolbarType::kPrimary:
+      [self.primaryToolbarCoordinator
+          setLocationBarViewController:self.locationBarCoordinator
+                                           .locationBarViewController];
+      [self.secondaryToolbarCoordinator setLocationBarViewController:nil];
+      break;
+    case ToolbarType::kSecondary:
+      [self.secondaryToolbarCoordinator
+          setLocationBarViewController:self.locationBarCoordinator
+                                           .locationBarViewController];
+      [self.primaryToolbarCoordinator setLocationBarViewController:nil];
+      break;
+  }
+}
+
 #pragma mark - Private
 
 /// Returns primary and secondary coordinator in a array. Helper to call method
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_mediator.h b/ios/chrome/browser/ui/toolbar/toolbar_mediator.h
index bbaaddb..f7cabf3b 100644
--- a/ios/chrome/browser/ui/toolbar/toolbar_mediator.h
+++ b/ios/chrome/browser/ui/toolbar/toolbar_mediator.h
@@ -6,8 +6,10 @@
 #define IOS_CHROME_BROWSER_UI_TOOLBAR_TOOLBAR_MEDIATOR_H_
 
 #import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
 
 #import "components/prefs/pref_service.h"
+#import "ios/chrome/browser/ui/toolbar/buttons/toolbar_type.h"
 
 class WebStateList;
 
@@ -17,6 +19,9 @@
 /// Updates toolbar appearance.
 - (void)updateToolbar;
 
+/// Transitions the omnibox position to the toolbar of type `toolbarType`.
+- (void)transitionOmniboxToToolbarType:(ToolbarType)toolbarType;
+
 @end
 
 @interface ToolbarMediator : NSObject
@@ -30,13 +35,23 @@
 /// existing web states in `webStateList`. While the mediator is alive,
 /// observers will be added and removed from web states when they are inserted
 /// into or removed from the web state list.
-- (instancetype)initWithWebStateList:(WebStateList*)webStateList;
+- (instancetype)initWithWebStateList:(WebStateList*)webStateList
+                         isIncognito:(BOOL)isIncognito;
 
 /// Disconnects all observers set by the mediator on any web states in its
 /// web state list. After `disconnect` is called, the mediator will not add
 /// observers to further webstates.
 - (void)disconnect;
 
+/// Location bar (omnibox) focus has changed to `focused`.
+- (void)locationBarFocusChangedTo:(BOOL)focused;
+
+/// Toolbar's trait collection changed to `traitCollection`.
+- (void)toolbarTraitCollectionChangedTo:(UITraitCollection*)traitCollection;
+
+/// Sets the omnibox initial position to the correct toolbar.
+- (void)setInitialOmniboxPosition;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_TOOLBAR_TOOLBAR_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_mediator.mm b/ios/chrome/browser/ui/toolbar/toolbar_mediator.mm
index d54523b..61240a27 100644
--- a/ios/chrome/browser/ui/toolbar/toolbar_mediator.mm
+++ b/ios/chrome/browser/ui/toolbar/toolbar_mediator.mm
@@ -4,6 +4,7 @@
 
 #import "ios/chrome/browser/ui/toolbar/toolbar_mediator.h"
 
+#import "ios/chrome/browser/ntp/new_tab_page_tab_helper.h"
 #import "ios/chrome/browser/shared/model/prefs/pref_names.h"
 #import "ios/chrome/browser/shared/model/web_state_list/active_web_state_observation_forwarder.h"
 #import "ios/chrome/browser/shared/model/web_state_list/web_state_list.h"
@@ -35,11 +36,25 @@
 
   /// Pref tracking if bottom omnibox is enabled.
   PrefBackedBoolean* _bottomOmniboxEnabled;
+  /// Whether the omnibox is currently focused.
+  BOOL _locationBarFocused;
+  /// Whether the browser is incognito.
+  BOOL _isIncognito;
+  /// Whether the last navigated web state is NTP.
+  BOOL _isNTP;
+  /// Last trait collection of the toolbars.
+  UITraitCollection* _toolbarTraitCollection;
+  /// Current toolbar containing the omnibox.
+  ToolbarType _omniboxPosition;
+  /// Preferred toolbar to contain the omnibox.
+  ToolbarType _preferredOmniboxPosition;
 }
 
-- (instancetype)initWithWebStateList:(WebStateList*)webStateList {
+- (instancetype)initWithWebStateList:(WebStateList*)webStateList
+                         isIncognito:(BOOL)isIncognito {
   if (self = [super init]) {
     _webStateList = webStateList;
+    _isIncognito = isIncognito;
 
     _webStateObserverBridge =
         std::make_unique<web::WebStateObserverBridge>(self);
@@ -64,22 +79,88 @@
         [[PrefBackedBoolean alloc] initWithPrefService:_prefService
                                               prefName:prefs::kBottomOmnibox];
     [_bottomOmniboxEnabled setObserver:self];
+    // Initialize to the correct value.
+    [self booleanDidChange:_bottomOmniboxEnabled];
   }
 }
 
+- (void)locationBarFocusChangedTo:(BOOL)focused {
+  _locationBarFocused = focused;
+  if (IsBottomOmniboxSteadyStateEnabled()) {
+    [self updateOmniboxPositionWithFirstUpdate:NO];
+  }
+}
+
+- (void)toolbarTraitCollectionChangedTo:(UITraitCollection*)traitCollection {
+  _toolbarTraitCollection = traitCollection;
+  if (IsBottomOmniboxSteadyStateEnabled()) {
+    [self updateOmniboxPositionWithFirstUpdate:NO];
+  }
+}
+
+- (void)setInitialOmniboxPosition {
+  [self updateOmniboxPositionWithFirstUpdate:YES];
+}
+
 #pragma mark - Boolean Observer
 
 - (void)booleanDidChange:(id<ObservableBoolean>)observableBoolean {
   if (observableBoolean == _bottomOmniboxEnabled) {
-    // TODO(crbug.com/1453279): Do something here.
+    _preferredOmniboxPosition = _bottomOmniboxEnabled.value
+                                    ? ToolbarType::kSecondary
+                                    : ToolbarType::kPrimary;
+    [self updateOmniboxPositionWithFirstUpdate:NO];
   }
 }
 
 #pragma mark - CRWWebStateObserver methods.
 
+- (void)webStateWasShown:(web::WebState*)webState {
+  [self updateForWebState:webState];
+}
+
 - (void)webState:(web::WebState*)webState
     didStartNavigation:(web::NavigationContext*)navigation {
+  [self updateForWebState:webState];
+}
+
+#pragma mark - Private
+
+/// Updates the state variables and toolbars with `webState`.
+- (void)updateForWebState:(web::WebState*)webState {
   [self.delegate updateToolbar];
+  NewTabPageTabHelper* NTPHelper = NewTabPageTabHelper::FromWebState(webState);
+  _isNTP = NTPHelper && NTPHelper->IsActive();
+  if (IsBottomOmniboxSteadyStateEnabled()) {
+    [self updateOmniboxPositionWithFirstUpdate:NO];
+  }
+}
+
+/// Computes the correct toolbar for the omnibox in the current state.
+- (ToolbarType)correctOmniboxPosition {
+  CHECK(IsBottomOmniboxSteadyStateEnabled());
+  if (_preferredOmniboxPosition == ToolbarType::kPrimary ||
+      !IsSplitToolbarMode(_toolbarTraitCollection) || _locationBarFocused) {
+    return ToolbarType::kPrimary;
+  }
+  if (_isNTP && !_isIncognito) {
+    return ToolbarType::kPrimary;
+  }
+  return _preferredOmniboxPosition;
+}
+
+/// Updates the omnibox position to the correct toolbar. Forces the update when
+/// `isFirstUpdate`.
+- (void)updateOmniboxPositionWithFirstUpdate:(BOOL)isFirstUpdate {
+  if (!IsBottomOmniboxSteadyStateEnabled()) {
+    [self.delegate transitionOmniboxToToolbarType:ToolbarType::kPrimary];
+    return;
+  }
+  ToolbarType correctPosition = [self correctOmniboxPosition];
+  if (isFirstUpdate || _omniboxPosition != correctPosition) {
+    _omniboxPosition = correctPosition;
+    [self.delegate transitionOmniboxToToolbarType:correctPosition];
+  }
 }
 
 @end
diff --git a/ios/testing/hardware_keyboard_util.mm b/ios/testing/hardware_keyboard_util.mm
index c4f36e0e..edc0112 100644
--- a/ios/testing/hardware_keyboard_util.mm
+++ b/ios/testing/hardware_keyboard_util.mm
@@ -276,6 +276,9 @@
 @interface PhysicalKeyboardEvent : UIEvent
 + (id)_eventWithInput:(id)arg1 inputFlags:(int)arg2;
 - (void)_setHIDEvent:(IOHIDEventRef)event keyboard:(void*)gsKeyboard;
+// >=iOS17 only.
+- (void)_setModifierFlags:(UIKeyModifierFlags)flags;
+// <=iOS16 only.
 @property(nonatomic) UIKeyModifierFlags _modifierFlags;
 @end
 
@@ -324,7 +327,11 @@
   PhysicalKeyboardEvent* keyboardEvent =
       [NSClassFromString(@"UIPhysicalKeyboardEvent") _eventWithInput:input
                                                           inputFlags:0];
-  keyboardEvent._modifierFlags = flags;
+  if (@available(iOS 17, *)) {
+    [keyboardEvent _setModifierFlags:flags];
+  } else {
+    keyboardEvent._modifierFlags = flags;
+  }
   IOHIDEventRef hidEvent =
       CreateHIDKeyEvent(input, keyboardEvent.timestamp, true);
   [keyboardEvent _setHIDEvent:hidEvent keyboard:0];
diff --git a/ios/web/navigation/crw_wk_navigation_handler.mm b/ios/web/navigation/crw_wk_navigation_handler.mm
index 22351569..05f4278 100644
--- a/ios/web/navigation/crw_wk_navigation_handler.mm
+++ b/ios/web/navigation/crw_wk_navigation_handler.mm
@@ -236,7 +236,15 @@
 
       if (!self.beingDestroyed) {
         web::BrowserState* browser_state = self.webStateImpl->GetBrowserState();
-        if (web::GetWebClient()->IsBrowserLockdownModeEnabled(browser_state)) {
+        bool browser_lockdown_mode_enabled =
+            web::GetWebClient()->IsBrowserLockdownModeEnabled(browser_state);
+        if ((policy == WKNavigationActionPolicyAllow) &&
+            isMainFrameNavigationAction) {
+          UMA_HISTOGRAM_BOOLEAN(
+              "IOS.MainFrameNavigationIsInBrowserLockdownMode",
+              browser_lockdown_mode_enabled);
+        }
+        if (browser_lockdown_mode_enabled) {
           preferences.lockdownModeEnabled = true;
         }
       }
diff --git a/ios/web/session/session_certificate_policy_cache_impl.h b/ios/web/session/session_certificate_policy_cache_impl.h
index 44b5be1..f127f562 100644
--- a/ios/web/session/session_certificate_policy_cache_impl.h
+++ b/ios/web/session/session_certificate_policy_cache_impl.h
@@ -17,6 +17,9 @@
 }
 
 namespace web {
+namespace proto {
+class CertificatesCacheStorage;
+}  // namespace proto
 
 // Concrete implementation of SessionCertificatePolicyCache.
 class SessionCertificatePolicyCacheImpl final
@@ -25,6 +28,14 @@
   explicit SessionCertificatePolicyCacheImpl(BrowserState* browser_state);
   ~SessionCertificatePolicyCacheImpl() final;
 
+  // Creates a SessionCertificatePolicyCacheImpl from serialized representation.
+  SessionCertificatePolicyCacheImpl(
+      BrowserState* browser_state,
+      const proto::CertificatesCacheStorage& storage);
+
+  // Serializes the SessionCertificatePolicyCacheImpl into `storage`.
+  void SerializeToProto(proto::CertificatesCacheStorage& storage) const;
+
   // SessionCertificatePolicyCache:
   void UpdateCertificatePolicyCache() const final;
   void RegisterAllowedCertificate(
diff --git a/ios/web/session/session_certificate_policy_cache_impl.mm b/ios/web/session/session_certificate_policy_cache_impl.mm
index 6c792d2..287c1af 100644
--- a/ios/web/session/session_certificate_policy_cache_impl.mm
+++ b/ios/web/session/session_certificate_policy_cache_impl.mm
@@ -7,6 +7,7 @@
 #import "base/functional/bind.h"
 #import "ios/web/public/security/certificate_policy_cache.h"
 #import "ios/web/public/session/crw_session_certificate_policy_cache_storage.h"
+#import "ios/web/public/session/proto/session.pb.h"
 #import "ios/web/public/thread/web_task_traits.h"
 #import "ios/web/public/thread/web_thread.h"
 #import "ios/web/session/session_certificate.h"
@@ -42,6 +43,25 @@
 
 SessionCertificatePolicyCacheImpl::~SessionCertificatePolicyCacheImpl() {}
 
+SessionCertificatePolicyCacheImpl::SessionCertificatePolicyCacheImpl(
+    BrowserState* browser_state,
+    const proto::CertificatesCacheStorage& storage)
+    : SessionCertificatePolicyCacheImpl(browser_state) {
+  for (const proto::CertificateStorage& cert_storage : storage.certs()) {
+    SessionCertificate certificate(cert_storage);
+    if (certificate.certificate() && !certificate.host().empty()) {
+      allowed_certs_.insert(SessionCertificate(cert_storage));
+    }
+  }
+}
+
+void SessionCertificatePolicyCacheImpl::SerializeToProto(
+    proto::CertificatesCacheStorage& storage) const {
+  for (const SessionCertificate& cert : allowed_certs_) {
+    cert.SerializeToProto(*storage.add_certs());
+  }
+}
+
 void SessionCertificatePolicyCacheImpl::UpdateCertificatePolicyCache() const {
   DCHECK_CURRENTLY_ON(WebThread::UI);
   GetIOThreadTaskRunner({})->PostTask(
diff --git a/ios/web/session/session_certificate_policy_cache_impl_unittest.mm b/ios/web/session/session_certificate_policy_cache_impl_unittest.mm
index 1586a14..09f22b4 100644
--- a/ios/web/session/session_certificate_policy_cache_impl_unittest.mm
+++ b/ios/web/session/session_certificate_policy_cache_impl_unittest.mm
@@ -8,11 +8,12 @@
 #import "base/test/ios/wait_util.h"
 #import "base/time/time.h"
 #import "ios/web/public/security/certificate_policy_cache.h"
-#import "ios/web/public/session/crw_session_certificate_policy_cache_storage.h"
+#import "ios/web/public/session/proto/session.pb.h"
 #import "ios/web/public/test/fakes/fake_browser_state.h"
 #import "ios/web/public/test/web_task_environment.h"
 #import "ios/web/public/thread/web_task_traits.h"
 #import "ios/web/public/thread/web_thread.h"
+#import "ios/web/session/session_certificate.h"
 #import "net/cert/x509_certificate.h"
 #import "net/test/cert_test_util.h"
 #import "net/test/test_data_directory.h"
@@ -24,7 +25,6 @@
 #endif
 
 using base::test::ios::WaitUntilConditionOrTimeout;
-using base::test::ios::kWaitForJSCompletionTimeout;
 
 namespace {
 // Synchronously checks `cache` for the specified cert and returns the judgment.
@@ -48,68 +48,95 @@
   return judgement;
 }
 
+// Returns a test session certificate.
+web::SessionCertificate CreateTestSessionCertificate(
+    const std::string& filename,
+    const std::string& host,
+    net::CertStatus status) {
+  auto cert = net::ImportCertFromFile(net::GetTestCertsDirectory(), filename);
+  return web::SessionCertificate(cert, host, status);
+}
+
 }  // namespace
 
 // Test fixture to test SessionCertificatePolicyCacheImpl class.
 class SessionCertificatePolicyCacheImplTest : public PlatformTest {
  protected:
   SessionCertificatePolicyCacheImplTest()
-      : task_environment_(web::WebTaskEnvironment::Options::REAL_IO_THREAD),
-        cache_(&browser_state_),
-        cert_(net::ImportCertFromFile(net::GetTestCertsDirectory(),
-                                      "ok_cert.pem")),
-        host_("test.com"),
-        status_(net::CERT_STATUS_REVOKED) {
-    // Check that the default value for the CertPolicyJudgment in
-    // web::CertificatePolicyCache is UNKNOWN before registering it.
-    EXPECT_EQ(web::CertPolicy::Judgment::UNKNOWN,
-              GetJudgmenet(
-                  web::BrowserState::GetCertificatePolicyCache(&browser_state_),
-                  cert_, host_, status_));
-    cache_.RegisterAllowedCertificate(cert_, host_, status_);
-  }
+      : task_environment_(web::WebTaskEnvironment::Options::REAL_IO_THREAD) {}
 
   web::WebTaskEnvironment task_environment_;
   web::FakeBrowserState browser_state_;
-  web::SessionCertificatePolicyCacheImpl cache_;
-  scoped_refptr<net::X509Certificate> cert_;
-  std::string host_;
-  net::CertStatus status_;
 };
 
 // Tests that registering an allowed certificate will successfully create an
-// accurate CRWSessionCertificateStorage in the allowed certs set.
-TEST_F(SessionCertificatePolicyCacheImplTest, RegisterAllowedCert) {
-  // Verify that the cert information is added to the cache.
-  EXPECT_EQ(1U, cache_.GetAllowedCerts().count);
-  CRWSessionCertificateStorage* cert_storage =
-      [cache_.GetAllowedCerts() anyObject];
-  EXPECT_EQ(cert_.get(), cert_storage.certificate);
-  EXPECT_EQ(host_, cert_storage.host);
-  EXPECT_EQ(status_, cert_storage.status);
-  // Verify that the CertificatePolicyCache gets updated.
-  scoped_refptr<web::CertificatePolicyCache> cache =
-      web::BrowserState::GetCertificatePolicyCache(&browser_state_);
+// accurate SessionCertificate in the allowed certs set.
+TEST_F(SessionCertificatePolicyCacheImplTest, RegisterAllowedCertificate) {
+  const web::SessionCertificate cert = CreateTestSessionCertificate(
+      "ok_cert.pem", "test.com", net::CERT_STATUS_REVOKED);
+
+  // Check that the default value for the CertPolicyJudgment in
+  // web::CertificatePolicyCache is UNKNOWN before registering it.
+  ASSERT_EQ(web::CertPolicy::Judgment::UNKNOWN,
+            GetJudgmenet(
+                web::BrowserState::GetCertificatePolicyCache(&browser_state_),
+                cert.certificate(), cert.host(), cert.status()));
+
+  // Check that creating the SessionCertificatePolicyCacheImpl does not
+  // register the certificate.
+  web::SessionCertificatePolicyCacheImpl cache(&browser_state_);
+  ASSERT_EQ(web::CertPolicy::Judgment::UNKNOWN,
+            GetJudgmenet(
+                web::BrowserState::GetCertificatePolicyCache(&browser_state_),
+                cert.certificate(), cert.host(), cert.status()));
+
+  // Verify that calling RegisterAllowedCertificate() register the certificate.
+  cache.RegisterAllowedCertificate(cert.certificate(), cert.host(),
+                                   cert.status());
   EXPECT_EQ(web::CertPolicy::Judgment::ALLOWED,
-            GetJudgmenet(cache, cert_, host_, status_));
+            GetJudgmenet(
+                web::BrowserState::GetCertificatePolicyCache(&browser_state_),
+                cert.certificate(), cert.host(), cert.status()));
+
+  // Verify that there is one certificate in the serialisation, and that it
+  // corresponds to the registered certificate.
+  web::proto::CertificatesCacheStorage storage;
+  cache.SerializeToProto(storage);
+
+  ASSERT_EQ(storage.certs_size(), 1);
+  const web::SessionCertificate decoded(storage.certs()[0]);
+  EXPECT_EQ(cert, decoded);
 }
 
 // Tests that UpdateCertificatePolicyCache() successfully transfers the allowed
 // certificate information to a CertificatePolicyCache.
-//
-// TODO(crbug.com/1040566): Delete this test when UpdateCertificatePolicyCache
-// is deleted. Currently disabled since RegisterAllowedCertificate already
-// updates the CertificatePolicyCache.
-TEST_F(SessionCertificatePolicyCacheImplTest,
-       DISABLED_UpdateCertificatePolicyCache) {
-  // Create a CertificatePolicyCache.
-  scoped_refptr<web::CertificatePolicyCache> cache =
-      web::BrowserState::GetCertificatePolicyCache(&browser_state_);
-  EXPECT_EQ(web::CertPolicy::Judgment::UNKNOWN,
-            GetJudgmenet(cache, cert_, host_, status_));
-  // Add allowed certificates to the CertificatePolicyCache and verify that it's
-  // now allowed by the CertificatePolicyCache.
-  cache_.UpdateCertificatePolicyCache();
+TEST_F(SessionCertificatePolicyCacheImplTest, UpdateCertificatePolicyCache) {
+  const web::SessionCertificate cert = CreateTestSessionCertificate(
+      "ok_cert.pem", "test.com", net::CERT_STATUS_REVOKED);
+
+  // Check that the default value for the CertPolicyJudgment in
+  // web::CertificatePolicyCache is UNKNOWN before registering it.
+  ASSERT_EQ(web::CertPolicy::Judgment::UNKNOWN,
+            GetJudgmenet(
+                web::BrowserState::GetCertificatePolicyCache(&browser_state_),
+                cert.certificate(), cert.host(), cert.status()));
+
+  // Create a fake serialised state.
+  web::proto::CertificatesCacheStorage storage;
+  cert.SerializeToProto(*storage.add_certs());
+
+  // Check that creating the SessionCertificatePolicyCacheImpl from
+  // serialized state does not register the certificate.
+  web::SessionCertificatePolicyCacheImpl cache(&browser_state_, storage);
+  ASSERT_EQ(web::CertPolicy::Judgment::UNKNOWN,
+            GetJudgmenet(
+                web::BrowserState::GetCertificatePolicyCache(&browser_state_),
+                cert.certificate(), cert.host(), cert.status()));
+
+  // Verify that calling RegisterAllowedCertificate() register the certificate.
+  cache.UpdateCertificatePolicyCache();
   EXPECT_EQ(web::CertPolicy::Judgment::ALLOWED,
-            GetJudgmenet(cache, cert_, host_, status_));
+            GetJudgmenet(
+                web::BrowserState::GetCertificatePolicyCache(&browser_state_),
+                cert.certificate(), cert.host(), cert.status()));
 }
diff --git a/media/audio/alsa/alsa_output.cc b/media/audio/alsa/alsa_output.cc
index 08e8e8b..3cc7ab9 100644
--- a/media/audio/alsa/alsa_output.cc
+++ b/media/audio/alsa/alsa_output.cc
@@ -43,6 +43,7 @@
 #include "base/functional/bind.h"
 #include "base/logging.h"
 #include "base/memory/free_deleter.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/time/default_tick_clock.h"
 #include "base/trace_event/trace_event.h"
@@ -790,8 +791,11 @@
                                          AudioBus* audio_bus) {
   TRACE_EVENT0("audio", "AlsaPcmOutputStream::RunDataCallback");
 
-  if (source_callback_)
+  if (source_callback_) {
+    UMA_HISTOGRAM_COUNTS_1000("Media.Audio.Render.SystemDelay",
+                              delay.InMilliseconds());
     return source_callback_->OnMoreData(delay, delay_timestamp, {}, audio_bus);
+  }
 
   return 0;
 }
diff --git a/media/audio/cras/cras_unified.cc b/media/audio/cras/cras_unified.cc
index d91f901..70d0ebbe 100644
--- a/media/audio/cras/cras_unified.cc
+++ b/media/audio/cras/cras_unified.cc
@@ -10,6 +10,7 @@
 
 #include "base/logging.h"
 #include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "media/audio/cras/audio_manager_cras_base.h"
@@ -336,6 +337,8 @@
   const base::TimeDelta delay =
       std::max(base::TimeDelta::FromTimeSpec(*latency_ts), base::TimeDelta());
 
+  UMA_HISTOGRAM_COUNTS_1000("Media.Audio.Render.SystemDelay",
+                            delay.InMilliseconds());
   int frames_filled = source_callback_->OnMoreData(
       delay, base::TimeTicks::Now(), glitch_info_accumulator_.GetAndReset(),
       output_bus_.get());
diff --git a/media/audio/mac/audio_auhal_mac.cc b/media/audio/mac/audio_auhal_mac.cc
index 39ad7d8..8c837b4 100644
--- a/media/audio/mac/audio_auhal_mac.cc
+++ b/media/audio/mac/audio_auhal_mac.cc
@@ -17,6 +17,7 @@
 #include "base/logging.h"
 #include "base/mac/mac_logging.h"
 #include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/strings/stringprintf.h"
 #include "base/time/time.h"
 #include "base/trace_event/trace_event.h"
@@ -375,6 +376,8 @@
   const base::TimeDelta delay = playout_time - now;
   CheckTimeDeltaRange(delay, base::Seconds(10));
 
+  UMA_HISTOGRAM_COUNTS_1000("Media.Audio.Render.SystemDelay",
+                            delay.InMilliseconds());
   // Supply the input data and render the output data.
   source_->OnMoreData(delay, now, glitch_info_accumulator_.GetAndReset(), dest);
   dest->Scale(volume_);
diff --git a/media/audio/pulse/pulse_output.cc b/media/audio/pulse/pulse_output.cc
index 1696cc0..7fba6516 100644
--- a/media/audio/pulse/pulse_output.cc
+++ b/media/audio/pulse/pulse_output.cc
@@ -8,6 +8,7 @@
 #include <stdint.h>
 
 #include "base/compiler_specific.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/strings/stringprintf.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/time/time.h"
@@ -171,9 +172,11 @@
     }
 
     size_t unwritten_frames_in_bus = audio_bus_->frames();
+    const base::TimeDelta delay = pulse::GetHardwareLatency(pa_stream_);
+    UMA_HISTOGRAM_COUNTS_1000("Media.Audio.Render.SystemDelay",
+                              delay.InMilliseconds());
     size_t frames_filled = source_callback_->OnMoreData(
-        pulse::GetHardwareLatency(pa_stream_), base::TimeTicks::Now(), {},
-        audio_bus_.get());
+        delay, base::TimeTicks::Now(), {}, audio_bus_.get());
 
     // Zero any unfilled data so it plays back as silence.
     if (frames_filled < unwritten_frames_in_bus) {
diff --git a/media/audio/win/audio_low_latency_output_win.cc b/media/audio/win/audio_low_latency_output_win.cc
index a717e10..6555e209 100644
--- a/media/audio/win/audio_low_latency_output_win.cc
+++ b/media/audio/win/audio_low_latency_output_win.cc
@@ -797,6 +797,9 @@
       delay_timestamp = base::TimeTicks::Now();
     }
 
+    UMA_HISTOGRAM_COUNTS_1000("Media.Audio.Render.SystemDelay",
+                              delay.InMilliseconds());
+
     // Read a data packet from the registered client source and
     // deliver a delay estimate in the same callback to the client.
 
diff --git a/media/capture/BUILD.gn b/media/capture/BUILD.gn
index 1e1337c..8515358 100644
--- a/media/capture/BUILD.gn
+++ b/media/capture/BUILD.gn
@@ -97,6 +97,7 @@
     "//gpu/command_buffer/client",
     "//gpu/ipc/common:common",
     "//media",
+    "//media/capture:capture_switches",
     "//media/capture/mojom:image_capture",
     "//media/capture/mojom:image_capture_types",
     "//media/capture/mojom:video_capture",
diff --git a/media/capture/video/fake_video_capture_device.cc b/media/capture/video/fake_video_capture_device.cc
index 9e07b0d..016db06b 100644
--- a/media/capture/video/fake_video_capture_device.cc
+++ b/media/capture/video/fake_video_capture_device.cc
@@ -866,6 +866,23 @@
         ConvertReservationFailureToFrameDropReason(reserve_result));
     return;
   }
+#if BUILDFLAG(IS_WIN)
+  // On windows the GMBs aren't mappable natively. Instead mapping only copies
+  // data to a shared memory region. So a different mechanism is used for
+  // writable access.
+  auto buffer_access =
+      capture_buffer.handle_provider->GetHandleForInProcessAccess();
+  uint8_t* data_ptr = buffer_access->data();
+  memset(data_ptr, 0, buffer_access->mapped_size());
+  frame_painter()->PaintFrame(timestamp_to_paint, data_ptr,
+                              buffer_size.width());
+  // Need to destroy `handle` so that the changes are committed to the GMB.
+  buffer_access.reset();
+  // Premap always just in case the client requests it.
+  if (capture_buffer.handle_provider->DuplicateAsUnsafeRegion().IsValid()) {
+    capture_buffer.is_premapped = true;
+  }
+#else
   ScopedNV12GpuMemoryBufferMapping scoped_mapping(std::move(gmb));
   memset(scoped_mapping.y_plane(), 0,
          scoped_mapping.y_stride() * buffer_size.height());
@@ -873,7 +890,7 @@
          scoped_mapping.uv_stride() * (buffer_size.height() / 2));
   frame_painter()->PaintFrame(timestamp_to_paint, scoped_mapping.y_plane(),
                               scoped_mapping.y_stride());
-
+#endif  // if BUILDFLAG(IS_WIN)
   base::TimeTicks now = base::TimeTicks::Now();
   VideoCaptureFormat modified_format = device_state()->format;
   // When GpuMemoryBuffer is used, the frame data is opaque to the CPU for most
diff --git a/media/capture/video/fake_video_capture_device_factory.cc b/media/capture/video/fake_video_capture_device_factory.cc
index edf1ac8..eaeace8 100644
--- a/media/capture/video/fake_video_capture_device_factory.cc
+++ b/media/capture/video/fake_video_capture_device_factory.cc
@@ -14,6 +14,7 @@
 #include "build/build_config.h"
 #include "gpu/ipc/common/gpu_memory_buffer_support.h"
 #include "media/base/media_switches.h"
+#include "media/capture/capture_switches.h"
 
 namespace {
 
@@ -42,7 +43,7 @@
 
 static const media::VideoPixelFormat kSupportedPixelFormats[] = {
     media::PIXEL_FORMAT_I420, media::PIXEL_FORMAT_Y16,
-    media::PIXEL_FORMAT_MJPEG};
+    media::PIXEL_FORMAT_MJPEG, media::PIXEL_FORMAT_NV12};
 
 template <typename TElement, size_t TSize>
 std::vector<TElement> ArrayToVector(const std::array<TElement, TSize>& arr) {
@@ -54,7 +55,16 @@
     return media::PIXEL_FORMAT_Y16;
   if (device_index == 2)
     return media::PIXEL_FORMAT_MJPEG;
+#if BUILDFLAG(IS_WIN)
+  if (media::IsMediaFoundationD3D11VideoCaptureEnabled() &&
+      switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) {
+    return media::PIXEL_FORMAT_NV12;
+  } else {
+    return media::PIXEL_FORMAT_I420;
+  }
+#else
   return media::PIXEL_FORMAT_I420;
+#endif
 }
 
 void AppendAllCombinationsToFormatsContainer(
@@ -108,6 +118,12 @@
   // The default |devices_config_| is the one obtained from an empty options
   // string.
   ParseFakeDevicesConfigFromOptionsString("", &devices_config_);
+#if BUILDFLAG(IS_WIN)
+  if (media::IsMediaFoundationD3D11VideoCaptureEnabled() &&
+      switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) {
+    dxgi_device_manager_ = DXGIDeviceManager::Create(luid_);
+  }
+#endif
 }
 
 FakeVideoCaptureDeviceFactory::~FakeVideoCaptureDeviceFactory() = default;
@@ -380,4 +396,18 @@
   }
 }
 
+#if BUILDFLAG(IS_WIN)
+void FakeVideoCaptureDeviceFactory::OnGpuInfoUpdate(const CHROME_LUID& luid) {
+  luid_ = luid;
+  if (dxgi_device_manager_) {
+    dxgi_device_manager_->OnGpuInfoUpdate(luid_);
+  }
+}
+
+scoped_refptr<DXGIDeviceManager>
+FakeVideoCaptureDeviceFactory::GetDxgiDeviceManager() {
+  return dxgi_device_manager_;
+}
+#endif
+
 }  // namespace media
diff --git a/media/capture/video/fake_video_capture_device_factory.h b/media/capture/video/fake_video_capture_device_factory.h
index 4785d62..143bdd1 100644
--- a/media/capture/video/fake_video_capture_device_factory.h
+++ b/media/capture/video/fake_video_capture_device_factory.h
@@ -11,9 +11,15 @@
 #include <utility>
 #include <vector>
 
+#include "build/build_config.h"
 #include "media/capture/video/fake_video_capture_device.h"
 #include "media/capture/video/video_capture_device_factory.h"
 
+#if BUILDFLAG(IS_WIN)
+#include "base/win/windows_types.h"
+#include "media/base/win/dxgi_device_manager.h"
+#endif
+
 namespace gpu {
 class GpuMemoryBufferSupport;
 }  // namespace gpu
@@ -89,11 +95,21 @@
     return static_cast<int>(devices_config_.size());
   }
 
+#if BUILDFLAG(IS_WIN)
+  void OnGpuInfoUpdate(const CHROME_LUID& luid) override;
+  scoped_refptr<DXGIDeviceManager> GetDxgiDeviceManager() override;
+#endif
+
  private:
   // Helper used in GetDevicesInfo().
   VideoCaptureFormats GetSupportedFormats(const std::string& device_id);
 
   std::vector<FakeVideoCaptureDeviceSettings> devices_config_;
+
+#if BUILDFLAG(IS_WIN)
+  scoped_refptr<DXGIDeviceManager> dxgi_device_manager_;
+  CHROME_LUID luid_ = {0, 0};
+#endif
 };
 
 }  // namespace media
diff --git a/media/capture/video/mock_video_capture_device_client.cc b/media/capture/video/mock_video_capture_device_client.cc
index 2699160..a66af33 100644
--- a/media/capture/video/mock_video_capture_device_client.cc
+++ b/media/capture/video/mock_video_capture_device_client.cc
@@ -39,7 +39,7 @@
   ~StubBufferHandleProvider() override = default;
 
   base::UnsafeSharedMemoryRegion DuplicateAsUnsafeRegion() override {
-    NOTREACHED_NORETURN();
+    return base::UnsafeSharedMemoryRegion();
   }
 
   std::unique_ptr<VideoCaptureBufferHandle> GetHandleForInProcessAccess()
diff --git a/media/capture/video/win/gpu_memory_buffer_tracker.cc b/media/capture/video/win/gpu_memory_buffer_tracker.cc
index daa88c6..d08987c7 100644
--- a/media/capture/video/win/gpu_memory_buffer_tracker.cc
+++ b/media/capture/video/win/gpu_memory_buffer_tracker.cc
@@ -22,6 +22,27 @@
 
 namespace {
 
+class DXGIGMBTrackerHandle : public media::VideoCaptureBufferHandle {
+ public:
+  explicit DXGIGMBTrackerHandle(base::span<uint8_t> data,
+                                HANDLE dxgi_handle,
+                                ID3D11Device* d3d11_device)
+      : data_(data), dxgi_handle_(dxgi_handle), d3d11_device_(d3d11_device) {}
+
+  size_t mapped_size() const final { return data_.size(); }
+  uint8_t* data() const final { return data_.data(); }
+  const uint8_t* const_data() const final { return data_.data(); }
+
+  ~DXGIGMBTrackerHandle() override {
+    gpu::CopyShMemToDXGIBuffer(data_, dxgi_handle_, d3d11_device_);
+  }
+
+ private:
+  base::span<uint8_t> data_;
+  HANDLE dxgi_handle_;
+  raw_ptr<ID3D11Device> d3d11_device_;
+};
+
 base::win::ScopedHandle CreateNV12Texture(ID3D11Device* d3d11_device,
                                           const gfx::Size& size) {
   const DXGI_FORMAT dxgi_format = DXGI_FORMAT_NV12;
@@ -166,8 +187,9 @@
 
 std::unique_ptr<VideoCaptureBufferHandle>
 GpuMemoryBufferTracker::GetMemoryMappedAccess() {
-  NOTREACHED() << "Unsupported operation";
-  return std::make_unique<NullHandle>();
+  return std::make_unique<DXGIGMBTrackerHandle>(
+      mapping_.GetMemoryAsSpan<uint8_t>(), buffer_->GetHandle(),
+      d3d_device_.Get());
 }
 
 base::UnsafeSharedMemoryRegion
diff --git a/media/gpu/ipc/service/media_gpu_channel_manager.h b/media/gpu/ipc/service/media_gpu_channel_manager.h
index fbc76409..2d70a5d9 100644
--- a/media/gpu/ipc/service/media_gpu_channel_manager.h
+++ b/media/gpu/ipc/service/media_gpu_channel_manager.h
@@ -47,6 +47,8 @@
   // TODO(sandersd): Should we expose the MediaGpuChannel instead?
   gpu::GpuChannel* LookupChannel(const base::UnguessableToken& channel_token);
 
+  gpu::GpuChannelManager* channel_manager() const { return channel_manager_; }
+
  private:
   const raw_ptr<gpu::GpuChannelManager> channel_manager_;
   std::unordered_map<int32_t, std::unique_ptr<MediaGpuChannel>>
diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
index 35ed9c8..c5be77b 100644
--- a/media/mojo/services/gpu_mojo_media_client.cc
+++ b/media/mojo/services/gpu_mojo_media_client.cc
@@ -152,7 +152,8 @@
 GpuMojoMediaClient::GetSupportedVideoDecoderConfigs() {
   if (!supported_config_cache_) {
     supported_config_cache_ = GetSupportedVideoDecoderConfigsStatic(
-        gpu_preferences_, gpu_workarounds_, gpu_info_);
+        media_gpu_channel_manager_, gpu_preferences_, gpu_workarounds_,
+        gpu_info_);
 
     // Once per GPU process record accelerator information. Profile support is
     // often just manufactured and not tested, so just record the base codec.
@@ -194,11 +195,12 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GpuMojoMediaClient::GetSupportedVideoDecoderConfigsStatic(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     const gpu::GpuPreferences& gpu_preferences,
     const gpu::GpuDriverBugWorkarounds& gpu_workarounds,
     const gpu::GPUInfo& gpu_info) {
   return GetPlatformSupportedVideoDecoderConfigs(
-      gpu_workarounds, gpu_preferences, gpu_info,
+      manager, gpu_workarounds, gpu_preferences, gpu_info,
       base::BindOnce(&GetVDAVideoDecoderConfigs, gpu_preferences,
                      gpu_workarounds));
 }
@@ -235,6 +237,9 @@
     return nullptr;
   std::unique_ptr<MediaLog> log =
       media_log ? media_log->Clone() : std::make_unique<media::NullMediaLog>();
+  auto get_stub_cb = base::BindRepeating(
+      &GetCommandBufferStub, gpu_task_runner_, media_gpu_channel_manager_,
+      command_buffer_id->channel_token, command_buffer_id->route_id);
   VideoDecoderTraits traits(
       task_runner, gpu_task_runner_, std::move(log),
       std::move(request_overlay_info_cb), &target_color_space, gpu_preferences_,
@@ -244,10 +249,7 @@
       // so this bound method will not outlive |this|
       base::BindRepeating(&GpuMojoMediaClient::GetSupportedVideoDecoderConfigs,
                           base::Unretained(this)),
-      base::BindRepeating(
-          &GetCommandBufferStub, gpu_task_runner_, media_gpu_channel_manager_,
-          command_buffer_id->channel_token, command_buffer_id->route_id),
-      android_overlay_factory_cb_, std::move(oop_video_decoder));
+      get_stub_cb, android_overlay_factory_cb_, std::move(oop_video_decoder));
 
   return CreatePlatformVideoDecoder(traits);
 }
diff --git a/media/mojo/services/gpu_mojo_media_client.h b/media/mojo/services/gpu_mojo_media_client.h
index 3cbcdb3f..cafcd86 100644
--- a/media/mojo/services/gpu_mojo_media_client.h
+++ b/media/mojo/services/gpu_mojo_media_client.h
@@ -110,6 +110,7 @@
 // queries using the |get_vda_configs| callback.
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
@@ -185,6 +186,7 @@
 
   static absl::optional<SupportedVideoDecoderConfigs>
   GetSupportedVideoDecoderConfigsStatic(
+      base::WeakPtr<MediaGpuChannelManager> manager,
       const gpu::GpuPreferences& gpu_preferences,
       const gpu::GpuDriverBugWorkarounds& gpu_workarounds,
       const gpu::GPUInfo& gpu_info);
diff --git a/media/mojo/services/gpu_mojo_media_client_android.cc b/media/mojo/services/gpu_mojo_media_client_android.cc
index 3adff33..822f04a5 100644
--- a/media/mojo/services/gpu_mojo_media_client_android.cc
+++ b/media/mojo/services/gpu_mojo_media_client_android.cc
@@ -84,6 +84,7 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
diff --git a/media/mojo/services/gpu_mojo_media_client_cros.cc b/media/mojo/services/gpu_mojo_media_client_cros.cc
index d02e8d9..915659d 100644
--- a/media/mojo/services/gpu_mojo_media_client_cros.cc
+++ b/media/mojo/services/gpu_mojo_media_client_cros.cc
@@ -119,6 +119,7 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
diff --git a/media/mojo/services/gpu_mojo_media_client_linux.cc b/media/mojo/services/gpu_mojo_media_client_linux.cc
index 4a054a6..84a17f5 100644
--- a/media/mojo/services/gpu_mojo_media_client_linux.cc
+++ b/media/mojo/services/gpu_mojo_media_client_linux.cc
@@ -190,6 +190,7 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
diff --git a/media/mojo/services/gpu_mojo_media_client_mac.cc b/media/mojo/services/gpu_mojo_media_client_mac.cc
index d5934cf..972a629a 100644
--- a/media/mojo/services/gpu_mojo_media_client_mac.cc
+++ b/media/mojo/services/gpu_mojo_media_client_mac.cc
@@ -36,6 +36,7 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
diff --git a/media/mojo/services/gpu_mojo_media_client_stubs.cc b/media/mojo/services/gpu_mojo_media_client_stubs.cc
index 29e65d88..d829b6b 100644
--- a/media/mojo/services/gpu_mojo_media_client_stubs.cc
+++ b/media/mojo/services/gpu_mojo_media_client_stubs.cc
@@ -19,6 +19,7 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
diff --git a/media/mojo/services/gpu_mojo_media_client_win.cc b/media/mojo/services/gpu_mojo_media_client_win.cc
index 146ad0aa..6c4e21e 100644
--- a/media/mojo/services/gpu_mojo_media_client_win.cc
+++ b/media/mojo/services/gpu_mojo_media_client_win.cc
@@ -7,22 +7,30 @@
 #include "base/task/sequenced_task_runner.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/task/thread_pool.h"
+#include "gpu/command_buffer/service/shared_context_state.h"
+#include "gpu/ipc/service/gpu_channel.h"
+#include "gpu/ipc/service/gpu_channel_manager.h"
 #include "media/base/audio_decoder.h"
 #include "media/base/media_switches.h"
 #include "media/base/offloading_audio_encoder.h"
 #include "media/filters/win/media_foundation_audio_decoder.h"
+#include "media/gpu/ipc/service/media_gpu_channel_manager.h"
 #include "media/gpu/windows/d3d11_video_decoder.h"
 #include "media/gpu/windows/mf_audio_encoder.h"
 #include "ui/gl/direct_composition_support.h"
-#include "ui/gl/gl_angle_util_win.h"
 
 namespace media {
 
 namespace {
 
-D3D11VideoDecoder::GetD3D11DeviceCB GetD3D11DeviceCallback() {
+D3D11VideoDecoder::GetD3D11DeviceCB GetD3D11DeviceCallback(
+    scoped_refptr<gpu::SharedContextState> shared_context_state) {
   return base::BindRepeating(
-      []() { return gl::QueryD3D11DeviceObjectFromANGLE(); });
+      [](scoped_refptr<gpu::SharedContextState> shared_context_state) {
+        return shared_context_state ? shared_context_state->GetD3D11Device()
+                                    : ComD3D11Device();
+      },
+      std::move(shared_context_state));
 }
 
 }  // namespace
@@ -37,11 +45,24 @@
   auto dxgi_info = gl::GetDirectCompositionHDRMonitorDXGIInfo();
   for (const auto& output_desc : dxgi_info->output_descs)
     hdr_enabled |= output_desc->hdr_enabled;
+
+  auto* stub = traits.get_command_buffer_stub_cb.Run();
+  if (!stub) {
+    return nullptr;
+  }
+
+  gpu::ContextResult result;
+  auto shared_context_state =
+      stub->channel()->gpu_channel_manager()->GetSharedContextState(&result);
+  if (!shared_context_state) {
+    return nullptr;
+  }
+
   return D3D11VideoDecoder::Create(
       traits.gpu_task_runner, traits.media_log->Clone(), traits.gpu_preferences,
       *traits.gpu_workarounds, traits.get_command_buffer_stub_cb,
-      GetD3D11DeviceCallback(), traits.get_cached_configs_cb.Run(),
-      hdr_enabled);
+      GetD3D11DeviceCallback(std::move(shared_context_state)),
+      traits.get_cached_configs_cb.Run(), hdr_enabled);
 }
 
 std::unique_ptr<AudioEncoder> CreatePlatformAudioEncoder(
@@ -55,16 +76,29 @@
 
 absl::optional<SupportedVideoDecoderConfigs>
 GetPlatformSupportedVideoDecoderConfigs(
+    base::WeakPtr<MediaGpuChannelManager> manager,
     gpu::GpuDriverBugWorkarounds gpu_workarounds,
     gpu::GpuPreferences gpu_preferences,
     const gpu::GPUInfo& gpu_info,
     base::OnceCallback<SupportedVideoDecoderConfigs()> get_vda_configs) {
+  // This method must be called on the GPU main thread.
   SupportedVideoDecoderConfigs supported_configs;
   if (gpu_preferences.disable_accelerated_video_decode)
     return supported_configs;
   if (!gpu_workarounds.disable_d3d11_video_decoder) {
+    if (!manager) {
+      return supported_configs;
+    }
+
+    gpu::ContextResult result;
+    auto shared_context_state =
+        manager.get()->channel_manager()->GetSharedContextState(&result);
+    if (!shared_context_state) {
+      return supported_configs;
+    }
     supported_configs = D3D11VideoDecoder::GetSupportedVideoDecoderConfigs(
-        gpu_preferences, gpu_workarounds, GetD3D11DeviceCallback());
+        gpu_preferences, gpu_workarounds,
+        GetD3D11DeviceCallback(std::move(shared_context_state)));
   }
   return supported_configs;
 }
diff --git a/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.cc b/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.cc
index b9a0208..0e121894 100644
--- a/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.cc
+++ b/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.cc
@@ -7,6 +7,7 @@
 #include "base/containers/span.h"
 #include "base/debug/dump_without_crashing.h"
 #include "base/files/file_path.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/pickle.h"
 #include "base/task/sequenced_task_runner.h"
 #include "net/base/network_isolation_key.h"
@@ -62,6 +63,13 @@
           "match)";
   // clang-format on
 
+  // This index is used for the size and count limitation per top_frame_site.
+  static constexpr char kCreateTopFrameSiteIndexQuery[] =
+      // clang-format off
+      "CREATE INDEX top_frame_site_index ON dictionaries("
+          "top_frame_site)";
+  // clang-format on
+
   // This index is used for GetDictionaries().
   static constexpr char kCreateIsolationIndexQuery[] =
       // clang-format off
@@ -96,6 +104,7 @@
 
   if (!db->Execute(kCreateTableQuery) ||
       !db->Execute(kCreateUniqueIndexQuery) ||
+      !db->Execute(kCreateTopFrameSiteIndexQuery) ||
       !db->Execute(kCreateIsolationIndexQuery) ||
       !db->Execute(kCreateTokenIndexQuery) ||
       !db->Execute(kCreateExpirationTimeIndexQuery) ||
@@ -141,6 +150,36 @@
 
 }  // namespace
 
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult::
+    RegisterDictionaryResult(
+        int64_t primary_key_in_database,
+        absl::optional<base::UnguessableToken> replaced_disk_cache_key_token,
+        std::set<base::UnguessableToken> evicted_disk_cache_key_tokens,
+        uint64_t total_dictionary_size,
+        uint64_t total_dictionary_count)
+    : primary_key_in_database_(primary_key_in_database),
+      replaced_disk_cache_key_token_(std::move(replaced_disk_cache_key_token)),
+      evicted_disk_cache_key_tokens_(std::move(evicted_disk_cache_key_tokens)),
+      total_dictionary_size_(total_dictionary_size),
+      total_dictionary_count_(total_dictionary_count) {}
+
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult::
+    ~RegisterDictionaryResult() = default;
+
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult::
+    RegisterDictionaryResult(const RegisterDictionaryResult& other) = default;
+
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult::
+    RegisterDictionaryResult(RegisterDictionaryResult&& other) = default;
+
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult&
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult::operator=(
+    const RegisterDictionaryResult& other) = default;
+
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult&
+SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult::operator=(
+    RegisterDictionaryResult&& other) = default;
+
 class SQLitePersistentSharedDictionaryStore::Backend
     : public SQLitePersistentStoreBackendBase {
  public:
@@ -204,7 +243,9 @@
 
   RegisterDictionaryResultOrError RegisterDictionaryImpl(
       const SharedDictionaryStorageIsolationKey& isolation_key,
-      const SharedDictionaryInfo& dictionary_info);
+      const SharedDictionaryInfo& dictionary_info,
+      uint64_t max_size_per_site,
+      uint64_t max_count_per_site);
   DictionaryListOrError GetDictionariesImpl(
       const SharedDictionaryStorageIsolationKey& isolation_key);
   DictionaryMapOrError GetAllDictionariesImpl();
@@ -289,6 +330,24 @@
   base::expected<uint64_t, Error> DeleteDictionaryByDiskCacheToken(
       const base::UnguessableToken& disk_cache_key_token);
 
+  Error MaybeEvictDictionariesForPerSiteLimit(
+      const net::SchemefulSite& top_frame_site,
+      uint64_t max_size_per_site,
+      uint64_t max_count_per_site,
+      std::vector<base::UnguessableToken>* evicted_disk_cache_key_tokens,
+      uint64_t* total_dictionary_size_out);
+  base::expected<uint64_t, Error> GetDictionaryCountPerSite(
+      const net::SchemefulSite& top_frame_site);
+  base::expected<uint64_t, Error> GetDictionarySizePerSite(
+      const net::SchemefulSite& top_frame_site);
+  Error SelectCandidatesForPerSiteEviction(
+      const net::SchemefulSite& top_frame_site,
+      uint64_t max_size_per_site,
+      uint64_t max_count_per_site,
+      std::vector<int64_t>* primary_keys_out,
+      std::vector<base::UnguessableToken>* tokens_out,
+      int64_t* total_candidate_dictionary_size_out);
+
   // Total number of pending last used time update operations (may not match the
   // size of `pending_last_used_time_updates_`, due to operation coalescing).
   size_t num_pending_ GUARDED_BY(lock_) = 0;
@@ -385,24 +444,34 @@
 SQLitePersistentSharedDictionaryStore::RegisterDictionaryResultOrError
 SQLitePersistentSharedDictionaryStore::Backend::RegisterDictionaryImpl(
     const SharedDictionaryStorageIsolationKey& isolation_key,
-    const SharedDictionaryInfo& dictionary_info) {
+    const SharedDictionaryInfo& dictionary_info,
+    uint64_t max_size_per_site,
+    uint64_t max_count_per_site) {
   CHECK(background_task_runner()->RunsTasksInCurrentSequence());
+  CHECK_NE(0u, max_count_per_site);
+  if (max_size_per_site != 0 && dictionary_info.size() > max_size_per_site) {
+    return base::unexpected(Error::kTooBigDictionary);
+  }
+
   if (!InitializeDatabase()) {
     return base::unexpected(Error::kFailedToInitializeDatabase);
   }
 
+  // Commit `pending_last_used_time_updates_`.
+  DoCommit();
+
   sql::Transaction transaction(db());
   if (!transaction.Begin()) {
     return base::unexpected(Error::kFailedToBeginTransaction);
   }
 
   int64_t size_of_removed_dict = 0;
-  absl::optional<base::UnguessableToken> disk_cache_key_token_of_removed_dict;
+  absl::optional<base::UnguessableToken> replaced_disk_cache_key_token;
   int64_t size_delta = dictionary_info.size();
   if (GetExistingDictionarySizeAndDiskCacheKeyToken(
           isolation_key, url::SchemeHostPort(dictionary_info.url()),
           dictionary_info.match(), &size_of_removed_dict,
-          &disk_cache_key_token_of_removed_dict)) {
+          &replaced_disk_cache_key_token)) {
     size_delta -= size_of_removed_dict;
   }
 
@@ -460,6 +529,14 @@
     return base::unexpected(error);
   }
 
+  std::vector<base::UnguessableToken> evicted_disk_cache_key_tokens;
+  error = MaybeEvictDictionariesForPerSiteLimit(
+      isolation_key.top_frame_site(), max_size_per_site, max_count_per_site,
+      &evicted_disk_cache_key_tokens, &total_dictionary_size);
+  if (error != Error::kOk) {
+    return base::unexpected(error);
+  }
+
   base::expected<uint64_t, Error> total_dictionary_count_result =
       GetTotalDictionaryCount();
   if (!total_dictionary_count_result.has_value()) {
@@ -470,11 +547,185 @@
     return base::unexpected(Error::kFailedToCommitTransaction);
   }
   return base::ok(RegisterDictionaryResult{
-      .primary_key_in_database = id,
-      .disk_cache_key_token_to_be_removed =
-          disk_cache_key_token_of_removed_dict,
-      .total_dictionary_size = total_dictionary_size,
-      .total_dictionary_count = total_dictionary_count_result.value()});
+      id, replaced_disk_cache_key_token,
+      std::set<base::UnguessableToken>(evicted_disk_cache_key_tokens.begin(),
+                                       evicted_disk_cache_key_tokens.end()),
+      total_dictionary_size, total_dictionary_count_result.value()});
+}
+
+SQLitePersistentSharedDictionaryStore::Error
+SQLitePersistentSharedDictionaryStore::Backend::
+    MaybeEvictDictionariesForPerSiteLimit(
+        const net::SchemefulSite& top_frame_site,
+        uint64_t max_size_per_site,
+        uint64_t max_count_per_site,
+        std::vector<base::UnguessableToken>* evicted_disk_cache_key_tokens,
+        uint64_t* total_dictionary_size_out) {
+  std::vector<int64_t> primary_keys;
+  int64_t total_candidate_dictionary_size = 0;
+  Error error = SelectCandidatesForPerSiteEviction(
+      top_frame_site, max_size_per_site, max_count_per_site, &primary_keys,
+      evicted_disk_cache_key_tokens, &total_candidate_dictionary_size);
+  if (error != Error::kOk) {
+    return error;
+  }
+  CHECK_EQ(primary_keys.size(), evicted_disk_cache_key_tokens->size());
+  if (primary_keys.empty()) {
+    return Error::kOk;
+  }
+  for (int64_t primary_key : primary_keys) {
+    error = DeleteDictionaryByPrimaryKey(primary_key);
+    if (error != Error::kOk) {
+      return error;
+    }
+  }
+  error = UpdateTotalDictionarySizeInMetaTable(-total_candidate_dictionary_size,
+                                               total_dictionary_size_out);
+  if (error != Error::kOk) {
+    return error;
+  }
+  return Error::kOk;
+}
+
+SQLitePersistentSharedDictionaryStore::Error
+SQLitePersistentSharedDictionaryStore::Backend::
+    SelectCandidatesForPerSiteEviction(
+        const net::SchemefulSite& top_frame_site,
+        uint64_t max_size_per_site,
+        uint64_t max_count_per_site,
+        std::vector<int64_t>* primary_keys_out,
+        std::vector<base::UnguessableToken>* tokens_out,
+        int64_t* total_size_of_candidates_out) {
+  CHECK(primary_keys_out->empty());
+  CHECK(tokens_out->empty());
+  CHECK_EQ(0, *total_size_of_candidates_out);
+  base::expected<uint64_t, Error> size_per_site =
+      GetDictionarySizePerSite(top_frame_site);
+  if (!size_per_site.has_value()) {
+    return size_per_site.error();
+  }
+  base::expected<uint64_t, Error> count_per_site =
+      GetDictionaryCountPerSite(top_frame_site);
+  if (!count_per_site.has_value()) {
+    return count_per_site.error();
+  }
+
+  base::UmaHistogramMemoryKB(
+      "Net.SharedDictionaryStore.DictionarySizeKBPerSiteWhenAdded",
+      size_per_site.value());
+  base::UmaHistogramCounts1000(
+      "Net.SharedDictionaryStore.DictionaryCountPerSiteWhenAdded",
+      count_per_site.value());
+
+  if ((max_size_per_site == 0 || size_per_site.value() <= max_size_per_site) &&
+      count_per_site.value() <= max_count_per_site) {
+    return Error::kOk;
+  }
+
+  uint64_t to_be_removed_count = 0;
+  if (count_per_site.value() > max_count_per_site) {
+    to_be_removed_count = count_per_site.value() - max_count_per_site;
+  }
+
+  int64_t to_be_removed_size = 0;
+  if (max_size_per_site != 0 && size_per_site.value() > max_size_per_site) {
+    to_be_removed_size = size_per_site.value() - max_size_per_site;
+  }
+  static constexpr char kQuery[] =
+      // clang-format off
+      "SELECT "
+          "id,"
+          "size,"
+          "token_high,"
+          "token_low FROM dictionaries "
+          "WHERE top_frame_site=? "
+          "ORDER BY last_used_time";
+  // clang-format on
+
+  if (!db()->IsSQLValid(kQuery)) {
+    return Error::kInvalidSql;
+  }
+  sql::Statement statement(db()->GetCachedStatement(SQL_FROM_HERE, kQuery));
+  statement.BindString(0, top_frame_site.Serialize());
+
+  base::CheckedNumeric<int64_t> checked_total_size_of_candidates;
+  while (statement.Step()) {
+    const int64_t primary_key_in_database = statement.ColumnInt64(0);
+    const size_t size = statement.ColumnInt64(1);
+    const int64_t token_high = statement.ColumnInt64(2);
+    const int64_t token_low = statement.ColumnInt64(3);
+
+    absl::optional<base::UnguessableToken> disk_cache_key_token =
+        ToUnguessableToken(token_high, token_low);
+    if (!disk_cache_key_token) {
+      LOG(WARNING) << "Invalid token";
+      continue;
+    }
+    checked_total_size_of_candidates += size;
+
+    if (!checked_total_size_of_candidates.IsValid()) {
+      base::debug::DumpWithoutCrashing();
+      return Error::kInvalidTotalDictSize;
+    }
+
+    *total_size_of_candidates_out =
+        checked_total_size_of_candidates.ValueOrDie();
+    primary_keys_out->emplace_back(primary_key_in_database);
+    tokens_out->emplace_back(*disk_cache_key_token);
+
+    if (*total_size_of_candidates_out >= to_be_removed_size &&
+        tokens_out->size() >= to_be_removed_count) {
+      break;
+    }
+  }
+
+  return Error::kOk;
+}
+
+base::expected<uint64_t, SQLitePersistentSharedDictionaryStore::Error>
+SQLitePersistentSharedDictionaryStore::Backend::GetDictionaryCountPerSite(
+    const net::SchemefulSite& top_frame_site) {
+  CHECK(background_task_runner()->RunsTasksInCurrentSequence());
+  static constexpr char kQuery[] =
+      // clang-format off
+      "SELECT "
+          "COUNT(id) FROM dictionaries "
+          "WHERE top_frame_site=?";
+  // clang-format on
+
+  if (!db()->IsSQLValid(kQuery)) {
+    return base::unexpected(Error::kInvalidSql);
+  }
+  sql::Statement statement(db()->GetCachedStatement(SQL_FROM_HERE, kQuery));
+  statement.BindString(0, top_frame_site.Serialize());
+  uint64_t count_per_site = 0;
+  if (statement.Step()) {
+    count_per_site = statement.ColumnInt64(0);
+  }
+  return base::ok(count_per_site);
+}
+
+base::expected<uint64_t, SQLitePersistentSharedDictionaryStore::Error>
+SQLitePersistentSharedDictionaryStore::Backend::GetDictionarySizePerSite(
+    const net::SchemefulSite& top_frame_site) {
+  CHECK(background_task_runner()->RunsTasksInCurrentSequence());
+  static constexpr char kQuery[] =
+      // clang-format off
+      "SELECT "
+          "SUM(size) FROM dictionaries "
+          "WHERE top_frame_site=?";
+  // clang-format on
+
+  if (!db()->IsSQLValid(kQuery)) {
+    return base::unexpected(Error::kInvalidSql);
+  }
+  sql::Statement statement(db()->GetCachedStatement(SQL_FROM_HERE, kQuery));
+  statement.BindString(0, top_frame_site.Serialize());
+  uint64_t size_per_site = 0;
+  if (statement.Step()) {
+    size_per_site = statement.ColumnInt64(0);
+  }
+  return base::ok(size_per_site);
 }
 
 SQLitePersistentSharedDictionaryStore::DictionaryListOrError
@@ -960,7 +1211,6 @@
   }
 
   sql::Statement statement(db()->GetCachedStatement(SQL_FROM_HERE, kQuery));
-  std::vector<base::UnguessableToken> tokens;
   while (statement.Step()) {
     const int64_t primary_key_in_database = statement.ColumnInt64(0);
     const size_t size = statement.ColumnInt64(1);
@@ -1251,11 +1501,14 @@
 void SQLitePersistentSharedDictionaryStore::RegisterDictionary(
     const SharedDictionaryStorageIsolationKey& isolation_key,
     SharedDictionaryInfo dictionary_info,
+    const uint64_t max_size_per_site,
+    const uint64_t max_count_per_site,
     base::OnceCallback<void(RegisterDictionaryResultOrError)> callback) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   backend_->RegisterDictionary(
       WrapCallbackWithWeakPtrCheck(GetWeakPtr(), std::move(callback)),
-      isolation_key, std::move(dictionary_info));
+      isolation_key, std::move(dictionary_info), max_size_per_site,
+      max_count_per_site);
 }
 
 void SQLitePersistentSharedDictionaryStore::GetDictionaries(
diff --git a/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.h b/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.h
index b168b2fa..03e666f 100644
--- a/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.h
+++ b/net/extras/sqlite/sqlite_persistent_shared_dictionary_store.h
@@ -43,12 +43,41 @@
     kInvalidTotalDictSize,
     kFailedToGetTotalDictSize,
     kFailedToSetTotalDictSize,
+    kTooBigDictionary,
   };
-  struct RegisterDictionaryResult {
-    int64_t primary_key_in_database;
-    absl::optional<base::UnguessableToken> disk_cache_key_token_to_be_removed;
-    uint64_t total_dictionary_size;
-    uint64_t total_dictionary_count;
+  class COMPONENT_EXPORT(NET_EXTRAS) RegisterDictionaryResult {
+   public:
+    RegisterDictionaryResult(
+        int64_t primary_key_in_database,
+        absl::optional<base::UnguessableToken> replaced_disk_cache_key_token,
+        std::set<base::UnguessableToken> evicted_disk_cache_key_tokens,
+        uint64_t total_dictionary_size,
+        uint64_t total_dictionary_count);
+    ~RegisterDictionaryResult();
+
+    RegisterDictionaryResult(const RegisterDictionaryResult& other);
+    RegisterDictionaryResult(RegisterDictionaryResult&& other);
+    RegisterDictionaryResult& operator=(const RegisterDictionaryResult& other);
+    RegisterDictionaryResult& operator=(RegisterDictionaryResult&& other);
+
+    int64_t primary_key_in_database() const { return primary_key_in_database_; }
+    const absl::optional<base::UnguessableToken>&
+    replaced_disk_cache_key_token() const {
+      return replaced_disk_cache_key_token_;
+    }
+    const std::set<base::UnguessableToken>& evicted_disk_cache_key_tokens()
+        const {
+      return evicted_disk_cache_key_tokens_;
+    }
+    uint64_t total_dictionary_size() const { return total_dictionary_size_; }
+    uint64_t total_dictionary_count() const { return total_dictionary_count_; }
+
+   private:
+    int64_t primary_key_in_database_;
+    absl::optional<base::UnguessableToken> replaced_disk_cache_key_token_;
+    std::set<base::UnguessableToken> evicted_disk_cache_key_tokens_;
+    uint64_t total_dictionary_size_;
+    uint64_t total_dictionary_count_;
   };
 
   using RegisterDictionaryResultOrError =
@@ -79,6 +108,8 @@
   void RegisterDictionary(
       const SharedDictionaryStorageIsolationKey& isolation_key,
       SharedDictionaryInfo dictionary_info,
+      const uint64_t max_size_per_site,
+      const uint64_t max_count_per_site,
       base::OnceCallback<void(RegisterDictionaryResultOrError)> callback);
   void GetDictionaries(
       const SharedDictionaryStorageIsolationKey& isolation_key,
diff --git a/net/extras/sqlite/sqlite_persistent_shared_dictionary_store_unittest.cc b/net/extras/sqlite/sqlite_persistent_shared_dictionary_store_unittest.cc
index 9256ba71..650aefd 100644
--- a/net/extras/sqlite/sqlite_persistent_shared_dictionary_store_unittest.cc
+++ b/net/extras/sqlite/sqlite_persistent_shared_dictionary_store_unittest.cc
@@ -25,6 +25,7 @@
 #include "sql/test/test_helpers.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 using ::testing::ElementsAre;
 using ::testing::ElementsAreArray;
@@ -43,11 +44,16 @@
 SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult
 RegisterDictionaryImpl(SQLitePersistentSharedDictionaryStore* store,
                        const SharedDictionaryStorageIsolationKey& isolation_key,
-                       SharedDictionaryInfo dictionary_info) {
-  SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult result_out;
+                       SharedDictionaryInfo dictionary_info,
+                       uint64_t max_size_per_site = 1000000,
+                       uint64_t max_count_per_site = 1000) {
+  absl::optional<
+      SQLitePersistentSharedDictionaryStore::RegisterDictionaryResult>
+      result_out;
   base::RunLoop run_loop;
   store->RegisterDictionary(
-      isolation_key, std::move(dictionary_info),
+      isolation_key, std::move(dictionary_info), max_size_per_site,
+      max_count_per_site,
       base::BindLambdaForTesting(
           [&](SQLitePersistentSharedDictionaryStore::
                   RegisterDictionaryResultOrError result) {
@@ -56,7 +62,8 @@
             run_loop.Quit();
           }));
   run_loop.Run();
-  return result_out;
+  CHECK(result_out);
+  return *result_out;
 }
 
 // Register following 4 dictionaries for ProcessEviction tests.
@@ -82,7 +89,7 @@
                            /*disk_cache_key_token=*/token1,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result1 = RegisterDictionaryImpl(store, isolation_key, dict1);
-  dict1.set_primary_key_in_database(result1.primary_key_in_database);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
 
   auto token2 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict2 =
@@ -94,7 +101,7 @@
                            /*disk_cache_key_token=*/token2,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result2 = RegisterDictionaryImpl(store, isolation_key, dict2);
-  dict2.set_primary_key_in_database(result2.primary_key_in_database);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
 
   auto token3 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict3 =
@@ -106,7 +113,7 @@
                            /*disk_cache_key_token=*/token3,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result3 = RegisterDictionaryImpl(store, isolation_key, dict3);
-  dict3.set_primary_key_in_database(result3.primary_key_in_database);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
 
   auto token4 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict4 =
@@ -118,7 +125,7 @@
                            /*disk_cache_key_token=*/token4,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result4 = RegisterDictionaryImpl(store, isolation_key, dict4);
-  dict4.set_primary_key_in_database(result4.primary_key_in_database);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
 
   // Call UpdateDictionaryLastUsedTime to update the last used time of dict2.
   store->UpdateDictionaryLastUsedTime(*dict2.primary_key_in_database(),
@@ -428,12 +435,12 @@
   auto register_dictionary_result =
       RegisterDictionary(isolation_key_, dictionary_info_);
   EXPECT_EQ(dictionary_info_.size(),
-            register_dictionary_result.total_dictionary_size);
-  EXPECT_EQ(1u, register_dictionary_result.total_dictionary_count);
+            register_dictionary_result.total_dictionary_size());
+  EXPECT_EQ(1u, register_dictionary_result.total_dictionary_count());
 
   SharedDictionaryInfo expected_info = dictionary_info_;
   expected_info.set_primary_key_in_database(
-      register_dictionary_result.primary_key_in_database);
+      register_dictionary_result.primary_key_in_database());
 
   EXPECT_EQ(dictionary_info_.size(), GetTotalDictionarySize());
   EXPECT_THAT(GetDictionaries(isolation_key_),
@@ -460,40 +467,38 @@
   auto register_dictionary_result1 =
       RegisterDictionary(isolation_key1, dictionary_info1);
   EXPECT_EQ(dictionary_info1.size(),
-            register_dictionary_result1.total_dictionary_size);
-  EXPECT_EQ(1u, register_dictionary_result1.total_dictionary_count);
+            register_dictionary_result1.total_dictionary_size());
+  EXPECT_EQ(1u, register_dictionary_result1.total_dictionary_count());
   auto register_dictionary_result2 =
       RegisterDictionary(isolation_key2, dictionary_info2);
   EXPECT_EQ(expect_merged ? 1u : 2u,
-            register_dictionary_result2.total_dictionary_count);
+            register_dictionary_result2.total_dictionary_count());
 
-  EXPECT_NE(register_dictionary_result1.primary_key_in_database,
-            register_dictionary_result2.primary_key_in_database);
+  EXPECT_NE(register_dictionary_result1.primary_key_in_database(),
+            register_dictionary_result2.primary_key_in_database());
 
   SharedDictionaryInfo expected_info1 = dictionary_info1;
   SharedDictionaryInfo expected_info2 = dictionary_info2;
   expected_info1.set_primary_key_in_database(
-      register_dictionary_result1.primary_key_in_database);
+      register_dictionary_result1.primary_key_in_database());
   expected_info2.set_primary_key_in_database(
-      register_dictionary_result2.primary_key_in_database);
+      register_dictionary_result2.primary_key_in_database());
 
   if (isolation_key1 == isolation_key2) {
     if (expect_merged) {
       EXPECT_EQ(dictionary_info2.size(),
-                register_dictionary_result2.total_dictionary_size);
+                register_dictionary_result2.total_dictionary_size());
       EXPECT_THAT(GetDictionaries(isolation_key1),
                   ElementsAreArray({expected_info2}));
       EXPECT_THAT(GetAllDictionaries(),
                   ElementsAre(Pair(isolation_key1,
                                    ElementsAreArray({expected_info2}))));
-      ASSERT_TRUE(
-          register_dictionary_result2.disk_cache_key_token_to_be_removed);
-      EXPECT_EQ(
-          dictionary_info1.disk_cache_key_token(),
-          *register_dictionary_result2.disk_cache_key_token_to_be_removed);
+      ASSERT_TRUE(register_dictionary_result2.replaced_disk_cache_key_token());
+      EXPECT_EQ(dictionary_info1.disk_cache_key_token(),
+                *register_dictionary_result2.replaced_disk_cache_key_token());
     } else {
       EXPECT_EQ(dictionary_info1.size() + dictionary_info2.size(),
-                register_dictionary_result2.total_dictionary_size);
+                register_dictionary_result2.total_dictionary_size());
       EXPECT_THAT(GetDictionaries(isolation_key1),
                   UnorderedElementsAreArray({expected_info1, expected_info2}));
       EXPECT_THAT(GetAllDictionaries(),
@@ -503,7 +508,7 @@
     }
   } else {
     EXPECT_EQ(dictionary_info1.size() + dictionary_info2.size(),
-              register_dictionary_result2.total_dictionary_size);
+              register_dictionary_result2.total_dictionary_size());
     EXPECT_THAT(GetDictionaries(isolation_key1),
                 ElementsAreArray({expected_info1}));
     EXPECT_THAT(GetDictionaries(isolation_key2),
@@ -659,7 +664,8 @@
   CreateStore();
   base::RunLoop run_loop;
   store_->RegisterDictionary(
-      isolation_key_, dictionary_info_,
+      isolation_key_, dictionary_info_, /*max_size_per_site=*/1000000,
+      /*max_count_per_site=*/1000,
       base::BindLambdaForTesting(
           [&](SQLitePersistentSharedDictionaryStore::
                   RegisterDictionaryResultOrError result) {
@@ -728,7 +734,8 @@
   // Register the dictionary which size is dictionary_info_.size() + 1.
   base::RunLoop run_loop;
   store_->RegisterDictionary(
-      isolation_key_, dictionary_info,
+      isolation_key_, dictionary_info, /*max_size_per_site=*/1000000,
+      /*max_count_per_site=*/1000,
       base::BindLambdaForTesting(
           [&](SQLitePersistentSharedDictionaryStore::
                   RegisterDictionaryResultOrError result) {
@@ -749,6 +756,406 @@
       SQLitePersistentSharedDictionaryStore::Error::kInvalidTotalDictSize);
 }
 
+TEST_F(SQLitePersistentSharedDictionaryStoreTest,
+       RegisterDictionaryErrorTooBigDictionary) {
+  CreateStore();
+  uint64_t max_size_per_site = 10000;
+  base::RunLoop run_loop;
+  store_->RegisterDictionary(
+      isolation_key_,
+      SharedDictionaryInfo(
+          GURL("https://a.example/dict"),
+          /*response_time=*/base::Time::Now(),
+          /*expiration*/ base::Seconds(100), "/pattern*",
+          /*last_used_time*/ base::Time::Now(),
+          /*size=*/max_size_per_site + 1, net::SHA256HashValue({{0x00, 0x01}}),
+          /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+          /*primary_key_in_database=*/absl::nullopt),
+      max_size_per_site,
+      /*max_count_per_site=*/1000,
+      base::BindLambdaForTesting(
+          [&](SQLitePersistentSharedDictionaryStore::
+                  RegisterDictionaryResultOrError result) {
+            ASSERT_FALSE(result.has_value());
+            EXPECT_EQ(
+                SQLitePersistentSharedDictionaryStore::Error::kTooBigDictionary,
+                result.error());
+            run_loop.Quit();
+          }));
+  run_loop.Run();
+  EXPECT_EQ(0u, GetTotalDictionarySize());
+}
+
+TEST_F(SQLitePersistentSharedDictionaryStoreTest,
+       RegisterDictionaryPerSiteEvictionWhenExceededSizeLimit) {
+  CreateStore();
+
+  uint64_t max_size_per_site = 10000;
+  uint64_t max_count_per_site = 100;
+
+  auto isolation_key1 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site1.test");
+  auto dict1 = SharedDictionaryInfo(
+      GURL("https://a.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/max_size_per_site, net::SHA256HashValue({{0x00, 0x01}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result1 = RegisterDictionaryImpl(store_.get(), isolation_key1, dict1,
+                                        max_size_per_site, max_count_per_site);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
+  EXPECT_TRUE(result1.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto isolation_key2 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site2.test");
+  auto dict2 = SharedDictionaryInfo(
+      GURL("https://b.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/max_size_per_site / 2, net::SHA256HashValue({{0x00, 0x02}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result2 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict2,
+                                        max_size_per_site, max_count_per_site);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
+  EXPECT_TRUE(result2.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict2}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto dict3 = SharedDictionaryInfo(
+      GURL("https://c.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/max_size_per_site / 2, net::SHA256HashValue({{0x00, 0x03}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result3 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict3,
+                                        max_size_per_site, max_count_per_site);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
+  EXPECT_TRUE(result3.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2,
+                               UnorderedElementsAreArray({dict2, dict3}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  // The top frame site of `isolation_key3` is same as the top frame site of
+  // `isolation_key2`.
+  auto isolation_key3 = CreateIsolationKey("https://origin2.test",
+                                           "https://top-frame-site2.test");
+  auto dict4 = SharedDictionaryInfo(
+      GURL("https://d.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/1, net::SHA256HashValue({{0x00, 0x04}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result4 = RegisterDictionaryImpl(store_.get(), isolation_key3, dict4,
+                                        max_size_per_site, max_count_per_site);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
+  // dict2.size() + dict3.size() + dict4.size() exceeds `max_size_per_site`. So
+  // the oldest dictionary `dict2` must be evicted.
+  EXPECT_THAT(result4.evicted_disk_cache_key_tokens(),
+              ElementsAreArray({dict2.disk_cache_key_token()}));
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict3})),
+                          Pair(isolation_key3, ElementsAreArray({dict4}))));
+  EXPECT_EQ(dict1.size() + dict3.size() + dict4.size(),
+            GetTotalDictionarySize());
+}
+
+TEST_F(SQLitePersistentSharedDictionaryStoreTest,
+       RegisterDictionaryPerSiteEvictionWhenExceededCountLimit) {
+  CreateStore();
+
+  uint64_t max_size_per_site = 10000;
+  uint64_t max_count_per_site = 2;
+
+  auto isolation_key1 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site1.test");
+  auto dict1 = SharedDictionaryInfo(
+      GURL("https://a.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/100, net::SHA256HashValue({{0x00, 0x01}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result1 = RegisterDictionaryImpl(store_.get(), isolation_key1, dict1,
+                                        max_size_per_site, max_count_per_site);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
+  EXPECT_TRUE(result1.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto isolation_key2 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site2.test");
+  auto dict2 = SharedDictionaryInfo(
+      GURL("https://b.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/200, net::SHA256HashValue({{0x00, 0x02}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result2 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict2,
+                                        max_size_per_site, max_count_per_site);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
+  EXPECT_TRUE(result2.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict2}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto dict3 = SharedDictionaryInfo(
+      GURL("https://c.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/400, net::SHA256HashValue({{0x00, 0x03}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result3 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict3,
+                                        max_size_per_site, max_count_per_site);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
+  EXPECT_TRUE(result3.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2,
+                               UnorderedElementsAreArray({dict2, dict3}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  // The top frame site of `isolation_key3` is same as the top frame site of
+  // `isolation_key2`.
+  auto isolation_key3 = CreateIsolationKey("https://origin2.test",
+                                           "https://top-frame-site2.test");
+  auto dict4 = SharedDictionaryInfo(
+      GURL("https://d.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/800, net::SHA256HashValue({{0x00, 0x04}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result4 = RegisterDictionaryImpl(store_.get(), isolation_key3, dict4,
+                                        max_size_per_site, max_count_per_site);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
+  // The dictionary count on "https://top-frame-site2.test" exceeds
+  // `max_count_per_site`. So the oldest dictionary `dict2` must be evicted.
+  EXPECT_THAT(result4.evicted_disk_cache_key_tokens(),
+              ElementsAreArray({dict2.disk_cache_key_token()}));
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict3})),
+                          Pair(isolation_key3, ElementsAreArray({dict4}))));
+  EXPECT_EQ(dict1.size() + dict3.size() + dict4.size(),
+            GetTotalDictionarySize());
+}
+
+TEST_F(
+    SQLitePersistentSharedDictionaryStoreTest,
+    RegisterDictionaryPerSiteEvictionWhenExceededCountLimitWithoutSizeLimit) {
+  CreateStore();
+
+  uint64_t max_size_per_site = 0;
+  uint64_t max_count_per_site = 2;
+
+  auto isolation_key1 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site1.test");
+  auto dict1 = SharedDictionaryInfo(
+      GURL("https://a.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/100, net::SHA256HashValue({{0x00, 0x01}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result1 = RegisterDictionaryImpl(store_.get(), isolation_key1, dict1,
+                                        max_size_per_site, max_count_per_site);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
+  EXPECT_TRUE(result1.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto isolation_key2 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site2.test");
+  auto dict2 = SharedDictionaryInfo(
+      GURL("https://b.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/200, net::SHA256HashValue({{0x00, 0x02}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result2 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict2,
+                                        max_size_per_site, max_count_per_site);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
+  EXPECT_TRUE(result2.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict2}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto dict3 = SharedDictionaryInfo(
+      GURL("https://c.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/400, net::SHA256HashValue({{0x00, 0x03}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result3 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict3,
+                                        max_size_per_site, max_count_per_site);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
+  EXPECT_TRUE(result3.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2,
+                               UnorderedElementsAreArray({dict2, dict3}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  // The top frame site of `isolation_key3` is same as the top frame site of
+  // `isolation_key2`.
+  auto isolation_key3 = CreateIsolationKey("https://origin2.test",
+                                           "https://top-frame-site2.test");
+  auto dict4 = SharedDictionaryInfo(
+      GURL("https://d.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/800, net::SHA256HashValue({{0x00, 0x04}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result4 = RegisterDictionaryImpl(store_.get(), isolation_key3, dict4,
+                                        max_size_per_site, max_count_per_site);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
+  // The dictionary count on "https://top-frame-site2.test" exceeds
+  // `max_count_per_site`. So the oldest dictionary `dict2` must be evicted.
+  EXPECT_THAT(result4.evicted_disk_cache_key_tokens(),
+              ElementsAreArray({dict2.disk_cache_key_token()}));
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict3})),
+                          Pair(isolation_key3, ElementsAreArray({dict4}))));
+  EXPECT_EQ(dict1.size() + dict3.size() + dict4.size(),
+            GetTotalDictionarySize());
+}
+
+TEST_F(SQLitePersistentSharedDictionaryStoreTest,
+       RegisterDictionaryPerSiteEvictionWhenExceededBothSizeAndCountLimit) {
+  CreateStore();
+
+  uint64_t max_size_per_site = 800;
+  uint64_t max_count_per_site = 2;
+
+  auto isolation_key1 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site1.test");
+  auto dict1 = SharedDictionaryInfo(
+      GURL("https://a.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/100, net::SHA256HashValue({{0x00, 0x01}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result1 = RegisterDictionaryImpl(store_.get(), isolation_key1, dict1,
+                                        max_size_per_site, max_count_per_site);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
+  EXPECT_TRUE(result1.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto isolation_key2 = CreateIsolationKey("https://origin1.test",
+                                           "https://top-frame-site2.test");
+  auto dict2 = SharedDictionaryInfo(
+      GURL("https://b.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/200, net::SHA256HashValue({{0x00, 0x02}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result2 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict2,
+                                        max_size_per_site, max_count_per_site);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
+  EXPECT_TRUE(result2.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2, ElementsAreArray({dict2}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  auto dict3 = SharedDictionaryInfo(
+      GURL("https://c.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/400, net::SHA256HashValue({{0x00, 0x03}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result3 = RegisterDictionaryImpl(store_.get(), isolation_key2, dict3,
+                                        max_size_per_site, max_count_per_site);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
+  EXPECT_TRUE(result3.evicted_disk_cache_key_tokens().empty());
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key2,
+                               UnorderedElementsAreArray({dict2, dict3}))));
+
+  FastForwardBy(base::Seconds(1));
+
+  // The top frame site of `isolation_key3` is same as the top frame site of
+  // `isolation_key2`.
+  auto isolation_key3 = CreateIsolationKey("https://origin2.test",
+                                           "https://top-frame-site2.test");
+  auto dict4 = SharedDictionaryInfo(
+      GURL("https://d.example/dict"),
+      /*response_time=*/base::Time::Now(),
+      /*expiration*/ base::Seconds(100), "/pattern*",
+      /*last_used_time*/ base::Time::Now(),
+      /*size=*/800, net::SHA256HashValue({{0x00, 0x04}}),
+      /*disk_cache_key_token=*/base::UnguessableToken::Create(),
+      /*primary_key_in_database=*/absl::nullopt);
+  auto result4 = RegisterDictionaryImpl(store_.get(), isolation_key3, dict4,
+                                        max_size_per_site, max_count_per_site);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
+  // The dictionary count on "https://top-frame-site2.test" exceeds
+  // `max_count_per_site`. Also dictionary size on
+  // "https://top-frame-site2.test" exceeds `max_size_per_site`.
+  // So both `dict2` and `dict3` must be evicted.
+  EXPECT_THAT(result4.evicted_disk_cache_key_tokens(),
+              UnorderedElementsAreArray({dict2.disk_cache_key_token(),
+                                         dict3.disk_cache_key_token()}));
+  EXPECT_THAT(GetAllDictionaries(),
+              ElementsAre(Pair(isolation_key1, ElementsAreArray({dict1})),
+                          Pair(isolation_key3, ElementsAreArray({dict4}))));
+  EXPECT_EQ(dict1.size() + dict4.size(), GetTotalDictionarySize());
+}
+
 void SQLitePersistentSharedDictionaryStoreTest::RunGetDictionariesFailureTest(
     SQLitePersistentSharedDictionaryStore::Error expected_error) {
   CreateStore();
@@ -1115,7 +1522,7 @@
       RegisterDictionary(isolation_key_, dictionary_info_);
   SharedDictionaryInfo expected_info = dictionary_info_;
   expected_info.set_primary_key_in_database(
-      register_dictionary_result.primary_key_in_database);
+      register_dictionary_result.primary_key_in_database());
   EXPECT_THAT(GetDictionaries(isolation_key_),
               ElementsAreArray({expected_info}));
   DestroyStore();
@@ -1133,7 +1540,7 @@
       RegisterDictionary(isolation_key_, dictionary_info_);
   SharedDictionaryInfo expected_info = dictionary_info_;
   expected_info.set_primary_key_in_database(
-      register_dictionary_result.primary_key_in_database);
+      register_dictionary_result.primary_key_in_database());
   EXPECT_THAT(GetDictionaries(isolation_key_),
               ElementsAreArray({expected_info}));
   DestroyStore();
@@ -1163,6 +1570,8 @@
   CreateStore();
   store_->RegisterDictionary(
       isolation_key_, dictionary_info_,
+      /*max_size_per_site=*/1000000,
+      /*max_count_per_site=*/1000,
       base::BindLambdaForTesting(
           [](SQLitePersistentSharedDictionaryStore::
                  RegisterDictionaryResultOrError result) {
@@ -1245,7 +1654,7 @@
       /*disk_cache_key_token=*/token1,
       /*primary_key_in_database=*/absl::nullopt);
   auto result1 = RegisterDictionary(isolation_key_, dict1);
-  dict1.set_primary_key_in_database(result1.primary_key_in_database);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
 
   auto token2 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict2 = SharedDictionaryInfo(
@@ -1257,7 +1666,7 @@
       /*disk_cache_key_token=*/token2,
       /*primary_key_in_database=*/absl::nullopt);
   auto result2 = RegisterDictionary(isolation_key_, dict2);
-  dict2.set_primary_key_in_database(result2.primary_key_in_database);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
 
   auto token3 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict3 = SharedDictionaryInfo(
@@ -1269,7 +1678,7 @@
       /*disk_cache_key_token=*/token3,
       /*primary_key_in_database=*/absl::nullopt);
   auto result3 = RegisterDictionary(isolation_key_, dict3);
-  dict3.set_primary_key_in_database(result3.primary_key_in_database);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
 
   auto token4 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict4 = SharedDictionaryInfo(
@@ -1281,7 +1690,7 @@
       /*disk_cache_key_token=*/token4,
       /*primary_key_in_database=*/absl::nullopt);
   auto result4 = RegisterDictionary(isolation_key_, dict4);
-  dict4.set_primary_key_in_database(result4.primary_key_in_database);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
 
   // No matching dictionaries to be deleted.
   EXPECT_TRUE(ClearDictionaries(base::Time::Now() - base::Seconds(200),
@@ -1321,7 +1730,7 @@
       /*disk_cache_key_token=*/token1,
       /*primary_key_in_database=*/absl::nullopt);
   auto result1 = RegisterDictionary(isolation_key1, dict1);
-  dict1.set_primary_key_in_database(result1.primary_key_in_database);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
 
   auto isolation_key2 =
       CreateIsolationKey("https://b1.example/", "https://b2.example/");
@@ -1335,7 +1744,7 @@
       /*disk_cache_key_token=*/token2,
       /*primary_key_in_database=*/absl::nullopt);
   auto result2 = RegisterDictionary(isolation_key2, dict2);
-  dict2.set_primary_key_in_database(result2.primary_key_in_database);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
 
   auto isolation_key3 =
       CreateIsolationKey("https://c1.example/", "https://c2.example/");
@@ -1349,7 +1758,7 @@
       /*disk_cache_key_token=*/token3,
       /*primary_key_in_database=*/absl::nullopt);
   auto result3 = RegisterDictionary(isolation_key3, dict3);
-  dict3.set_primary_key_in_database(result3.primary_key_in_database);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
 
   auto isolation_key4 =
       CreateIsolationKey("https://d1.example/", "https://d2.example/");
@@ -1363,7 +1772,7 @@
       /*disk_cache_key_token=*/token4,
       /*primary_key_in_database=*/absl::nullopt);
   auto result4 = RegisterDictionary(isolation_key4, dict4);
-  dict4.set_primary_key_in_database(result4.primary_key_in_database);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
 
   // No matching dictionaries to be deleted.
   EXPECT_TRUE(ClearDictionaries(base::Time::Now() - base::Seconds(200),
@@ -1425,7 +1834,7 @@
                            /*disk_cache_key_token=*/token1,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result1 = RegisterDictionary(isolation_key_, dict1);
-  dict1.set_primary_key_in_database(result1.primary_key_in_database);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
 
   auto token2 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict2 =
@@ -1437,7 +1846,7 @@
                            /*disk_cache_key_token=*/token2,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result2 = RegisterDictionary(isolation_key_, dict2);
-  dict2.set_primary_key_in_database(result2.primary_key_in_database);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
 
   auto token3 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict3 =
@@ -1449,7 +1858,7 @@
                            /*disk_cache_key_token=*/token3,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result3 = RegisterDictionary(isolation_key_, dict3);
-  dict3.set_primary_key_in_database(result3.primary_key_in_database);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
 
   auto token4 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict4 =
@@ -1461,7 +1870,7 @@
                            /*disk_cache_key_token=*/token4,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result4 = RegisterDictionary(isolation_key_, dict4);
-  dict4.set_primary_key_in_database(result4.primary_key_in_database);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
 
   // No matching dictionaries to be deleted.
   EXPECT_TRUE(DeleteExpiredDictionaries(now + base::Seconds(99)).empty());
@@ -1648,7 +2057,7 @@
                            /*disk_cache_key_token=*/token1,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result1 = RegisterDictionary(isolation_key_, dict1);
-  dict1.set_primary_key_in_database(result1.primary_key_in_database);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
 
   auto token2 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict2 =
@@ -1660,7 +2069,7 @@
                            /*disk_cache_key_token=*/token2,
                            /*primary_key_in_database=*/absl::nullopt);
   auto result2 = RegisterDictionary(isolation_key_, dict2);
-  dict2.set_primary_key_in_database(result2.primary_key_in_database);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
 
   // The current status:
   //   dict1: size=1000 last_used_time=now
@@ -1723,7 +2132,7 @@
       /*disk_cache_key_token=*/token1,
       /*primary_key_in_database=*/absl::nullopt);
   auto result1 = RegisterDictionary(isolation_key_, dict1);
-  dict1.set_primary_key_in_database(result1.primary_key_in_database);
+  dict1.set_primary_key_in_database(result1.primary_key_in_database());
 
   EXPECT_THAT(GetAllDiskCacheKeyTokens(), ElementsAreArray({token1}));
 
@@ -1738,7 +2147,7 @@
       /*primary_key_in_database=*/absl::nullopt);
   RegisterDictionary(isolation_key_, dict2);
   auto result2 = RegisterDictionary(isolation_key_, dict2);
-  dict2.set_primary_key_in_database(result2.primary_key_in_database);
+  dict2.set_primary_key_in_database(result2.primary_key_in_database());
 
   auto token3 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict3 = SharedDictionaryInfo(
@@ -1750,7 +2159,7 @@
       /*disk_cache_key_token=*/token3,
       /*primary_key_in_database=*/absl::nullopt);
   auto result3 = RegisterDictionary(isolation_key_, dict3);
-  dict3.set_primary_key_in_database(result3.primary_key_in_database);
+  dict3.set_primary_key_in_database(result3.primary_key_in_database());
 
   auto token4 = base::UnguessableToken::Create();
   SharedDictionaryInfo dict4 = SharedDictionaryInfo(
@@ -1762,7 +2171,7 @@
       /*disk_cache_key_token=*/token4,
       /*primary_key_in_database=*/absl::nullopt);
   auto result4 = RegisterDictionary(isolation_key_, dict4);
-  dict4.set_primary_key_in_database(result4.primary_key_in_database);
+  dict4.set_primary_key_in_database(result4.primary_key_in_database());
 
   EXPECT_EQ(SQLitePersistentSharedDictionaryStore::Error::kOk,
             DeleteDictionariesByDiskCacheKeyTokens({}));
@@ -1828,7 +2237,7 @@
   FastForwardBy(base::Seconds(1));
   base::Time updated_last_used_time = base::Time::Now();
   store_->UpdateDictionaryLastUsedTime(
-      register_dictionary_result.primary_key_in_database,
+      register_dictionary_result.primary_key_in_database(),
       updated_last_used_time);
 
   std::vector<SharedDictionaryInfo> dicts3 = GetDictionaries(isolation_key_);
@@ -1847,7 +2256,7 @@
     FastForwardBy(base::Milliseconds(10));
     updated_last_used_time = base::Time::Now();
     store_->UpdateDictionaryLastUsedTime(
-        register_dictionary_result.primary_key_in_database,
+        register_dictionary_result.primary_key_in_database(),
         updated_last_used_time);
   }
 
diff --git a/net/http/transport_security_state_static.pins b/net/http/transport_security_state_static.pins
index b786ca4..29152ce 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-06-13 12:54 UTC
+# Last updated: 2023-06-14 12:55 UTC
 PinsListTimestamp
-1686660864
+1686747319
 
 TestSPKI
 sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/net/http/transport_security_state_static_pins.json b/net/http/transport_security_state_static_pins.json
index 288e4d2..adb4c3a 100644
--- a/net/http/transport_security_state_static_pins.json
+++ b/net/http/transport_security_state_static_pins.json
@@ -31,7 +31,7 @@
 // the 'static_spki_hashes' and 'bad_static_spki_hashes' fields in 'pinsets'
 // refer to, and the timestamp at which the pins list was last updated.
 //
-// Last updated: 2023-06-13 12:54 UTC
+// Last updated: 2023-06-14 12:55 UTC
 //
 {
   "pinsets": [
diff --git a/remoting/resources/remoting_strings_ar.xtb b/remoting/resources/remoting_strings_ar.xtb
index e48357e..be4955e 100644
--- a/remoting/resources/remoting_strings_ar.xtb
+++ b/remoting/resources/remoting_strings_ar.xtb
@@ -159,7 +159,7 @@
 <translation id="7970576581263377361">‏تعذّرت المصادقة.يُرجى تسجيل الدخول إلى Chromium مرة أخرى.</translation>
 <translation id="7981525049612125370">انتهت صلاحية الجلسة البعيدة.</translation>
 <translation id="8038111231936746805">(تلقائي)</translation>
-<translation id="8041089156583427627">إرسال تعليقات</translation>
+<translation id="8041089156583427627">إرسال ملاحظات</translation>
 <translation id="8060029310790625334">مركز المساعدة</translation>
 <translation id="806699900641041263">جارٍ الاتصال بـ <ph name="HOSTNAME" /></translation>
 <translation id="8073845705237259513">‏لاستخدام سطح المكتب البعيد من Chrome، يجب إضافة حساب في Google إلى جهازك.</translation>
diff --git a/services/network/public/cpp/cross_origin_opener_policy.cc b/services/network/public/cpp/cross_origin_opener_policy.cc
index 82b3d38a..de56168 100644
--- a/services/network/public/cpp/cross_origin_opener_policy.cc
+++ b/services/network/public/cpp/cross_origin_opener_policy.cc
@@ -20,6 +20,11 @@
     CrossOriginOpenerPolicy&& src) = default;
 bool CrossOriginOpenerPolicy::operator==(
     const CrossOriginOpenerPolicy& other) const {
+  return IsEqualExcludingOrigin(other) && origin == other.origin;
+}
+
+bool CrossOriginOpenerPolicy::IsEqualExcludingOrigin(
+    const CrossOriginOpenerPolicy& other) const {
   return value == other.value &&
          reporting_endpoint == other.reporting_endpoint &&
          report_only_value == other.report_only_value &&
diff --git a/services/network/public/cpp/cross_origin_opener_policy.h b/services/network/public/cpp/cross_origin_opener_policy.h
index d655c02..9ed2a79 100644
--- a/services/network/public/cpp/cross_origin_opener_policy.h
+++ b/services/network/public/cpp/cross_origin_opener_policy.h
@@ -26,6 +26,8 @@
   CrossOriginOpenerPolicy& operator=(CrossOriginOpenerPolicy&&);
   bool operator==(const CrossOriginOpenerPolicy&) const;
 
+  bool IsEqualExcludingOrigin(const CrossOriginOpenerPolicy& other) const;
+
   mojom::CrossOriginOpenerPolicyValue value =
       mojom::CrossOriginOpenerPolicyValue::kUnsafeNone;
   absl::optional<std::string> reporting_endpoint;
diff --git a/services/network/shared_dictionary/shared_dictionary_manager_in_memory.cc b/services/network/shared_dictionary/shared_dictionary_manager_in_memory.cc
index 5b75080..f38375c 100644
--- a/services/network/shared_dictionary/shared_dictionary_manager_in_memory.cc
+++ b/services/network/shared_dictionary/shared_dictionary_manager_in_memory.cc
@@ -86,7 +86,7 @@
 SharedDictionaryManagerInMemory::CreateStorage(
     const net::SharedDictionaryStorageIsolationKey& isolation_key) {
   return base::MakeRefCounted<SharedDictionaryStorageInMemory>(
-      weak_factory_.GetWeakPtr(),
+      weak_factory_.GetWeakPtr(), isolation_key,
       base::ScopedClosureRunner(
           base::BindOnce(&SharedDictionaryManager::OnStorageDeleted,
                          GetWeakPtr(), isolation_key)));
@@ -115,10 +115,29 @@
   std::move(callback).Run();
 }
 
+void SharedDictionaryManagerInMemory::MaybeRunCacheEvictionPerSite(
+    const net::SchemefulSite& top_frame_site) {
+  RunCacheEvictionImpl(top_frame_site, cache_max_size_ / 2, cache_max_size_ / 2,
+                       cache_max_count_ / 2, cache_max_count_ / 2);
+}
+
 void SharedDictionaryManagerInMemory::MaybeRunCacheEviction() {
+  RunCacheEvictionImpl(absl::nullopt, cache_max_size_, cache_max_size_ * 0.9,
+                       cache_max_count_, cache_max_count_ * 0.9);
+}
+
+void SharedDictionaryManagerInMemory::RunCacheEvictionImpl(
+    absl::optional<net::SchemefulSite> top_frame_site,
+    uint64_t max_size,
+    uint64_t size_low_watermark,
+    uint64_t max_count,
+    uint64_t count_low_watermark) {
   uint64_t total_size = 0u;
   size_t dictionary_count = 0u;
   for (const auto& it1 : storages()) {
+    if (top_frame_site && it1.first.top_frame_site() != *top_frame_site) {
+      continue;
+    }
     SharedDictionaryStorageInMemory* storage =
         reinterpret_cast<SharedDictionaryStorageInMemory*>(it1.second.get());
     for (const auto& it2 : storage->GetDictionaryMap()) {
@@ -129,14 +148,17 @@
     }
   }
 
-  if ((cache_max_size_ == 0 || total_size <= cache_max_size_) &&
-      dictionary_count <= cache_max_count_) {
+  if ((max_size == 0 || total_size <= max_size) &&
+      dictionary_count <= max_count) {
     return;
   }
 
   std::vector<DictionaryReference> dictionaries;
   dictionaries.reserve(dictionary_count);
   for (auto& it1 : storages()) {
+    if (top_frame_site && it1.first.top_frame_site() != *top_frame_site) {
+      continue;
+    }
     SharedDictionaryStorageInMemory* storage =
         reinterpret_cast<SharedDictionaryStorageInMemory*>(it1.second.get());
     for (auto& it2 : storage->GetDictionaryMap()) {
@@ -148,8 +170,6 @@
 
   std::sort(dictionaries.begin(), dictionaries.end(), LastUsedTimeLess{});
 
-  uint64_t size_low_watermark = cache_max_size_ * 0.9;
-  uint64_t count_low_watermark = cache_max_count_ * 0.9;
   uint64_t to_be_removed_count = 0;
   if (dictionary_count > count_low_watermark) {
     to_be_removed_count = dictionary_count - count_low_watermark;
@@ -161,7 +181,7 @@
     eviction_candidates.emplace_back(
         dict_ref.storage(), url::SchemeHostPort(dict_ref.dict()->url()),
         dict_ref.dict()->match());
-    if ((cache_max_size_ == 0 || size_low_watermark >= total_size) &&
+    if ((max_size == 0 || size_low_watermark >= total_size) &&
         eviction_candidates.size() >= to_be_removed_count) {
       break;
     }
diff --git a/services/network/shared_dictionary/shared_dictionary_manager_in_memory.h b/services/network/shared_dictionary/shared_dictionary_manager_in_memory.h
index bdab9ad..4c33212 100644
--- a/services/network/shared_dictionary/shared_dictionary_manager_in_memory.h
+++ b/services/network/shared_dictionary/shared_dictionary_manager_in_memory.h
@@ -8,6 +8,10 @@
 #include "base/memory/weak_ptr.h"
 #include "services/network/shared_dictionary/shared_dictionary_manager.h"
 
+namespace net {
+class SchemefulSite;
+}  // namespace net
+
 namespace network {
 
 class SharedDictionaryStorage;
@@ -33,9 +37,19 @@
                  base::RepeatingCallback<bool(const GURL&)> url_matcher,
                  base::OnceClosure callback) override;
 
+  void MaybeRunCacheEvictionPerSite(const net::SchemefulSite& top_frame_site);
   void MaybeRunCacheEviction();
 
  private:
+  // Performs a cache eviction using the specified params. If `top_frame_site`
+  // is nullopt, performs the cache eviction for the all storages. Otherwise,
+  // performs the cache eviction for the specified `top_frame_site`'s storages.
+  void RunCacheEvictionImpl(absl::optional<net::SchemefulSite> top_frame_site,
+                            uint64_t max_size,
+                            uint64_t size_low_watermark,
+                            uint64_t max_count,
+                            uint64_t count_low_watermark);
+
   uint64_t cache_max_size_;
   const uint64_t cache_max_count_;
   base::WeakPtrFactory<SharedDictionaryManagerInMemory> weak_factory_{this};
diff --git a/services/network/shared_dictionary/shared_dictionary_manager_on_disk.cc b/services/network/shared_dictionary/shared_dictionary_manager_on_disk.cc
index 2e713101..bd10dad7e 100644
--- a/services/network/shared_dictionary/shared_dictionary_manager_on_disk.cc
+++ b/services/network/shared_dictionary/shared_dictionary_manager_on_disk.cc
@@ -465,6 +465,8 @@
                                  /*primary_key_in_database=*/absl::nullopt);
   metadata_store_.RegisterDictionary(
       isolation_key, info,
+      /*max_size_per_site*/ cache_max_size_ / 2,
+      /*max_count_per_site*/ cache_max_count_ / 2,
       base::BindOnce(
           &SharedDictionaryManagerOnDisk::OnDictionaryWrittenInDatabase,
           weak_factory_.GetWeakPtr(), info, std::move(callback)));
@@ -482,28 +484,32 @@
     return;
   }
 
-  base::UmaHistogramCustomCounts(
-      "Net.SharedDictionaryManagerOnDisk.DictionarySize", info.size(), 1,
-      100000000, 50);
-  base::UmaHistogramCustomCounts(
-      "Net.SharedDictionaryManagerOnDisk.TotalDictionarySizeWhenAdded",
-      result.value().total_dictionary_size, 1, 200000000, 50);
+  base::UmaHistogramMemoryKB(
+      "Net.SharedDictionaryManagerOnDisk.DictionarySizeKB", info.size());
+  base::UmaHistogramMemoryKB(
+      "Net.SharedDictionaryManagerOnDisk.TotalDictionarySizeKBWhenAdded",
+      result.value().total_dictionary_size());
   base::UmaHistogramCounts1000(
       "Net.SharedDictionaryManagerOnDisk.TotalDictionaryCountWhenAdded",
-      result.value().total_dictionary_count);
-  info.set_primary_key_in_database(result.value().primary_key_in_database);
-  if (result.value().disk_cache_key_token_to_be_removed) {
+      result.value().total_dictionary_count());
+  info.set_primary_key_in_database(result.value().primary_key_in_database());
+
+  if (result.value().replaced_disk_cache_key_token()) {
     disk_cache_.DoomEntry(
-        result.value().disk_cache_key_token_to_be_removed->ToString(),
+        result.value().replaced_disk_cache_key_token()->ToString(),
         base::DoNothing());
   }
+  if (!result.value().evicted_disk_cache_key_tokens().empty()) {
+    OnDictionaryDeleted(result.value().evicted_disk_cache_key_tokens(),
+                        /*need_to_doom_disk_cache_entries=*/true);
+  }
   std::move(callback).Run(std::move(info));
 
   MaybePostExpiredDictionaryDeletionTask();
 
   if ((cache_max_size_ == 0 ||
-       result.value().total_dictionary_size <= cache_max_size_) &&
-      result.value().total_dictionary_count <= cache_max_count_) {
+       result.value().total_dictionary_size() <= cache_max_size_) &&
+      result.value().total_dictionary_count() <= cache_max_count_) {
     return;
   }
   MaybePostCacheEvictionTask();
diff --git a/services/network/shared_dictionary/shared_dictionary_manager_on_disk_unittest.cc b/services/network/shared_dictionary/shared_dictionary_manager_on_disk_unittest.cc
index 713b17e0..c29c20d 100644
--- a/services/network/shared_dictionary/shared_dictionary_manager_on_disk_unittest.cc
+++ b/services/network/shared_dictionary/shared_dictionary_manager_on_disk_unittest.cc
@@ -1141,63 +1141,264 @@
 }
 
 TEST_F(SharedDictionaryManagerOnDiskTest, CacheEvictionOnNewDictionary) {
+  const net::SchemefulSite site1(GURL("https://site1.test"));
+  const net::SchemefulSite site2(GURL("https://site2.test"));
+  const net::SchemefulSite site3(GURL("https://site3.test"));
+
+  net::SharedDictionaryStorageIsolationKey isolation_key1(
+      url::Origin::Create(GURL("https://origin1.test")), site1);
+  net::SharedDictionaryStorageIsolationKey isolation_key2(
+      url::Origin::Create(GURL("https://origin2.test")), site2);
+  net::SharedDictionaryStorageIsolationKey isolation_key3(
+      url::Origin::Create(GURL("https://origin3.test")), site3);
+
   net::SharedDictionaryStorageIsolationKey isolation_key(
       url::Origin::Create(kUrl), kSite);
+
   std::unique_ptr<SharedDictionaryManager> manager =
       CreateSharedDictionaryManager();
   manager->SetCacheMaxSize(/*cache_max_size=*/kTestData1.size() * 2);
 
-  scoped_refptr<SharedDictionaryStorage> storage =
-      manager->GetStorage(isolation_key);
-  ASSERT_TRUE(storage);
+  scoped_refptr<SharedDictionaryStorage> storage1 =
+      manager->GetStorage(isolation_key1);
+  scoped_refptr<SharedDictionaryStorage> storage2 =
+      manager->GetStorage(isolation_key2);
+  scoped_refptr<SharedDictionaryStorage> storage3 =
+      manager->GetStorage(isolation_key3);
 
-  WriteDictionary(storage.get(), GURL("https://target1.test/d"), "p*",
+  WriteDictionary(storage1.get(), GURL("https://target1.test/d"), "p*",
                   kTestData1);
   FlushCacheTasks();
   base::UnguessableToken token1 = GetDiskCacheKeyTokenOfFirstDictionary(
-      GetOnDiskDictionaryMap(storage.get()), "https://target1.test/");
+      GetOnDiskDictionaryMap(storage1.get()), "https://target1.test/");
 
   task_environment_.FastForwardBy(base::Seconds(1));
 
-  WriteDictionary(storage.get(), GURL("https://target2.test/d"), "p*",
+  WriteDictionary(storage2.get(), GURL("https://target2.test/d"), "p*",
                   kTestData1);
   FlushCacheTasks();
   base::UnguessableToken token2 = GetDiskCacheKeyTokenOfFirstDictionary(
-      GetOnDiskDictionaryMap(storage.get()), "https://target2.test/");
+      GetOnDiskDictionaryMap(storage2.get()), "https://target2.test/");
 
   task_environment_.FastForwardBy(base::Seconds(1));
 
   // Both the dictinaries exist.
-  EXPECT_THAT(
-      GetOnDiskDictionaryMap(storage.get()),
-      ElementsAre(
-          Pair(url::SchemeHostPort(GURL("https://target1.test/")),
-               ElementsAre(
-                   Pair("/p*", DictionaryUrlIs("https://target1.test/d")))),
-          Pair(url::SchemeHostPort(GURL("https://target2.test/")),
-               ElementsAre(
-                   Pair("/p*", DictionaryUrlIs("https://target2.test/d"))))));
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage1.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target1.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target1.test/d"))))));
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage2.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target2.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target2.test/d"))))));
   EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token1));
   EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token2));
 
-  WriteDictionary(storage.get(), GURL("https://target3.test/d"), "p*",
+  WriteDictionary(storage3.get(), GURL("https://target3.test/d"), "p*",
                   kTestData1);
   FlushCacheTasks();
   base::UnguessableToken token3 = GetDiskCacheKeyTokenOfFirstDictionary(
-      GetOnDiskDictionaryMap(storage.get()), "https://target3.test/");
+      GetOnDiskDictionaryMap(storage3.get()), "https://target3.test/");
 
   // Only the third dictionary exists.
-  EXPECT_THAT(GetOnDiskDictionaryMap(storage.get()),
+  EXPECT_TRUE(GetOnDiskDictionaryMap(storage1.get()).empty());
+  EXPECT_TRUE(GetOnDiskDictionaryMap(storage2.get()).empty());
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage3.get()),
               ElementsAre(Pair(
                   url::SchemeHostPort(GURL("https://target3.test/")),
                   ElementsAre(Pair(
                       "/p*", DictionaryUrlIs("https://target3.test/d"))))));
+
   EXPECT_FALSE(DiskCacheEntryExists(manager.get(), token1));
   EXPECT_FALSE(DiskCacheEntryExists(manager.get(), token2));
   EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token3));
 }
 
 TEST_F(SharedDictionaryManagerOnDiskTest,
+       CacheEvictionPerSiteExceededSizeLimit) {
+  const net::SchemefulSite site1(GURL("https://site1.test"));
+  const net::SchemefulSite site2(GURL("https://site2.test"));
+
+  net::SharedDictionaryStorageIsolationKey isolation_key1(
+      url::Origin::Create(GURL("https://origin1.test")), site1);
+  net::SharedDictionaryStorageIsolationKey isolation_key2(
+      url::Origin::Create(GURL("https://origin1.test")), site2);
+  // The top frame site of `isolation_key3` is same as the top frame site of
+  // `isolation_key2`.
+  net::SharedDictionaryStorageIsolationKey isolation_key3(
+      url::Origin::Create(GURL("https://origin2.test")), site2);
+
+  std::unique_ptr<SharedDictionaryManager> manager =
+      CreateSharedDictionaryManager();
+  manager->SetCacheMaxSize(/*cache_max_size=*/kTestData1.size() * 2);
+
+  scoped_refptr<SharedDictionaryStorage> storage1 =
+      manager->GetStorage(isolation_key1);
+  scoped_refptr<SharedDictionaryStorage> storage2 =
+      manager->GetStorage(isolation_key2);
+  scoped_refptr<SharedDictionaryStorage> storage3 =
+      manager->GetStorage(isolation_key3);
+
+  // Register the first dictionary.
+  WriteDictionary(storage1.get(), GURL("https://target1.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token1 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage1.get()), "https://target1.test/");
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage1.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target1.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target1.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token1));
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  // Register the second dictionary.
+  WriteDictionary(storage2.get(), GURL("https://target2.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token2 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage2.get()), "https://target2.test/");
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage2.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target2.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target2.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token2));
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  // Register the third dictionary.
+  WriteDictionary(storage3.get(), GURL("https://target3.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token3 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage3.get()), "https://target3.test/");
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage3.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target3.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target3.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token3));
+
+  // The first dictionary must still exist.
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage1.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target1.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target1.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token1));
+
+  // The second dictionary must have been deleted because the size limit per
+  // site is kTestData1.size() * 2 / 2.
+  EXPECT_TRUE(GetOnDiskDictionaryMap(storage2.get()).empty());
+  EXPECT_FALSE(DiskCacheEntryExists(manager.get(), token2));
+}
+
+TEST_F(SharedDictionaryManagerOnDiskTest,
+       CacheEvictionPerSiteExceededCountLimit) {
+  const net::SchemefulSite site1(GURL("https://site1.test"));
+  const net::SchemefulSite site2(GURL("https://site2.test"));
+
+  net::SharedDictionaryStorageIsolationKey isolation_key1(
+      url::Origin::Create(GURL("https://origin1.test")), site1);
+  net::SharedDictionaryStorageIsolationKey isolation_key2(
+      url::Origin::Create(GURL("https://origin1.test")), site2);
+  // The top frame site of `isolation_key3` is same as the top frame site of
+  // `isolation_key2`.
+  net::SharedDictionaryStorageIsolationKey isolation_key3(
+      url::Origin::Create(GURL("https://origin2.test")), site2);
+
+  std::unique_ptr<SharedDictionaryManager> manager =
+      CreateSharedDictionaryManager(/*cache_max_size=*/0,
+                                    /*cache_max_count=*/4);
+
+  scoped_refptr<SharedDictionaryStorage> storage1 =
+      manager->GetStorage(isolation_key1);
+  scoped_refptr<SharedDictionaryStorage> storage2 =
+      manager->GetStorage(isolation_key2);
+  scoped_refptr<SharedDictionaryStorage> storage3 =
+      manager->GetStorage(isolation_key3);
+
+  // Register the first dictionary.
+  WriteDictionary(storage1.get(), GURL("https://target1.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token1 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage1.get()), "https://target1.test/");
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage1.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target1.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target1.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token1));
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  // Register the second dictionary.
+  WriteDictionary(storage2.get(), GURL("https://target2.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token2 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage2.get()), "https://target2.test/");
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage2.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target2.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target2.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token2));
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  // Register the third dictionary.
+  WriteDictionary(storage2.get(), GURL("https://target3.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token3 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage2.get()), "https://target3.test/");
+  EXPECT_THAT(
+      GetOnDiskDictionaryMap(storage2.get()),
+      ElementsAre(
+          Pair(url::SchemeHostPort(GURL("https://target2.test/")),
+               ElementsAre(
+                   Pair("/p*", DictionaryUrlIs("https://target2.test/d")))),
+          Pair(url::SchemeHostPort(GURL("https://target3.test/")),
+               ElementsAre(
+                   Pair("/p*", DictionaryUrlIs("https://target3.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token3));
+
+  // Register the fourth dictionary.
+  WriteDictionary(storage3.get(), GURL("https://target4.test/d"), "p*",
+                  kTestData1);
+  FlushCacheTasks();
+  base::UnguessableToken token4 = GetDiskCacheKeyTokenOfFirstDictionary(
+      GetOnDiskDictionaryMap(storage3.get()), "https://target4.test/");
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage3.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target4.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target4.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token4));
+
+  // The first dictionary must still exist.
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage1.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target1.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target1.test/d"))))));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token1));
+
+  // The third dictionary must still exist. But the second dictionary must have
+  // been deleted because the count limit per site is 2 (4 / 2).
+  EXPECT_THAT(GetOnDiskDictionaryMap(storage2.get()),
+              ElementsAre(Pair(
+                  url::SchemeHostPort(GURL("https://target3.test/")),
+                  ElementsAre(Pair(
+                      "/p*", DictionaryUrlIs("https://target3.test/d"))))));
+  EXPECT_FALSE(DiskCacheEntryExists(manager.get(), token2));
+  EXPECT_TRUE(DiskCacheEntryExists(manager.get(), token3));
+}
+
+TEST_F(SharedDictionaryManagerOnDiskTest,
        CacheEvictionAfterUpdatingLastUsedTime) {
   net::SharedDictionaryStorageIsolationKey isolation_key(
       url::Origin::Create(kUrl), kSite);
diff --git a/services/network/shared_dictionary/shared_dictionary_manager_unittest.cc b/services/network/shared_dictionary/shared_dictionary_manager_unittest.cc
index f9548cec0..cf6bd1b 100644
--- a/services/network/shared_dictionary/shared_dictionary_manager_unittest.cc
+++ b/services/network/shared_dictionary/shared_dictionary_manager_unittest.cc
@@ -48,8 +48,10 @@
 
 const GURL kUrl1("https://origin1.test/");
 const GURL kUrl2("https://origin2.test/");
+const GURL kUrl3("https://origin3.test/");
 const net::SchemefulSite kSite1(kUrl1);
 const net::SchemefulSite kSite2(kUrl2);
+const net::SchemefulSite kSite3(kUrl3);
 
 const std::string kTestData1 = "Hello world";
 const std::string kTestData2 = "Bonjour le monde";
@@ -498,48 +500,22 @@
   EXPECT_TRUE(storage->GetDictionary(GURL("https://origin3.test/p3?")));
 }
 
-TEST_P(SharedDictionaryManagerTest, CacheEvictionSizeExceededOnNewDictionary) {
-  net::SharedDictionaryStorageIsolationKey isolation_key(
-      url::Origin::Create(kUrl1), kSite1);
-
-  std::unique_ptr<SharedDictionaryManager> manager =
-      CreateSharedDictionaryManager();
-  manager->SetCacheMaxSize(/*cache_max_size=*/kTestData1.size() * 2);
-  scoped_refptr<SharedDictionaryStorage> storage =
-      manager->GetStorage(isolation_key);
-  ASSERT_TRUE(storage);
-
-  WriteDictionary(storage.get(), GURL("https://origin1.test/d1"), "p1*",
-                  {kTestData1});
-  WriteDictionary(storage.get(), GURL("https://origin2.test/d2"), "p2*",
-                  {kTestData1});
-  if (GetParam() == TestManagerType::kOnDisk) {
-    FlushCacheTasks();
-  }
-  EXPECT_TRUE(storage->GetDictionary(GURL("https://origin1.test/p1?")));
-  task_environment_.FastForwardBy(base::Seconds(1));
-  EXPECT_TRUE(storage->GetDictionary(GURL("https://origin2.test/p2?")));
-  task_environment_.FastForwardBy(base::Seconds(1));
-  WriteDictionary(storage.get(), GURL("https://origin3.test/d1"), "p3*",
-                  {kTestData1});
-  if (GetParam() == TestManagerType::kOnDisk) {
-    FlushCacheTasks();
-  }
-  EXPECT_FALSE(storage->GetDictionary(GURL("https://origin1.test/p1?")));
-  EXPECT_FALSE(storage->GetDictionary(GURL("https://origin2.test/p2?")));
-  EXPECT_TRUE(storage->GetDictionary(GURL("https://origin3.test/p3?")));
-}
-
 TEST_P(SharedDictionaryManagerTest, CacheEvictionZeroMaxSizeCountExceeded) {
-  net::SharedDictionaryStorageIsolationKey isolation_key(
-      url::Origin::Create(kUrl1), kSite1);
-
   std::unique_ptr<SharedDictionaryManager> manager =
       CreateSharedDictionaryManager();
-  scoped_refptr<SharedDictionaryStorage> storage =
-      manager->GetStorage(isolation_key);
-  ASSERT_TRUE(storage);
+
+  std::vector<scoped_refptr<SharedDictionaryStorage>> storages;
   for (size_t i = 0; i < kCacheMaxCount; ++i) {
+    net::SharedDictionaryStorageIsolationKey isolation_key(
+        url::Origin::Create(
+            GURL(base::StringPrintf("https://origind%03" PRIuS ".test", i))),
+        net::SchemefulSite(
+            GURL(base::StringPrintf("https://origind%03" PRIuS ".test", i))));
+
+    scoped_refptr<SharedDictionaryStorage> storage =
+        manager->GetStorage(isolation_key);
+    storages.push_back(storage);
+
     WriteDictionary(
         storage.get(),
         GURL(base::StringPrintf("https://origin.test/d%03" PRIuS, i)),
@@ -551,33 +527,43 @@
   }
 
   for (size_t i = 0; i < kCacheMaxCount; ++i) {
-    EXPECT_TRUE(storage->GetDictionary(
+    EXPECT_TRUE(storages[i]->GetDictionary(
         GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
     task_environment_.FastForwardBy(base::Seconds(1));
   }
 
   // Write one more dictionary. The total count exceeds the limit.
-  WriteDictionary(storage.get(),
-                  GURL(base::StringPrintf("https://origin.test/d%03" PRIuS,
-                                          kCacheMaxCount)),
-                  base::StringPrintf("p%03" PRIuS, kCacheMaxCount),
-                  {kTestData1});
-  if (GetParam() == TestManagerType::kOnDisk) {
-    FlushCacheTasks();
+  {
+    net::SharedDictionaryStorageIsolationKey isolation_key(
+        url::Origin::Create(GURL(base::StringPrintf(
+            "https://origind%03" PRIuS ".test", kCacheMaxCount))),
+        net::SchemefulSite(GURL(base::StringPrintf(
+            "https://origind%03" PRIuS ".test", kCacheMaxCount))));
+    scoped_refptr<SharedDictionaryStorage> storage =
+        manager->GetStorage(isolation_key);
+    storages.push_back(storage);
+    WriteDictionary(storage.get(),
+                    GURL(base::StringPrintf("https://origin.test/d%03" PRIuS,
+                                            kCacheMaxCount)),
+                    base::StringPrintf("p%03" PRIuS, kCacheMaxCount),
+                    {kTestData1});
+    if (GetParam() == TestManagerType::kOnDisk) {
+      FlushCacheTasks();
+    }
+    task_environment_.FastForwardBy(base::Seconds(1));
   }
-  task_environment_.FastForwardBy(base::Seconds(1));
 
   // Old dictionaries must be deleted until the total count reaches
   // kCacheMaxCount * 0.9.
   for (size_t i = 0; i < kCacheMaxCount - kCacheMaxCount * 0.9; ++i) {
-    EXPECT_FALSE(storage->GetDictionary(
+    EXPECT_FALSE(storages[i]->GetDictionary(
         GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
   }
 
   // Newer dictionaries must not be deleted.
   for (size_t i = kCacheMaxCount - kCacheMaxCount * 0.9 + 1;
        i <= kCacheMaxCount; ++i) {
-    EXPECT_TRUE(storage->GetDictionary(
+    EXPECT_TRUE(storages[i]->GetDictionary(
         GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
   }
 }
@@ -588,6 +574,8 @@
       url::Origin::Create(kUrl1), kSite1);
   net::SharedDictionaryStorageIsolationKey isolation_key2(
       url::Origin::Create(kUrl2), kSite2);
+  net::SharedDictionaryStorageIsolationKey isolation_key3(
+      url::Origin::Create(kUrl3), kSite3);
 
   std::unique_ptr<SharedDictionaryManager> manager =
       CreateSharedDictionaryManager();
@@ -598,6 +586,9 @@
   scoped_refptr<SharedDictionaryStorage> storage2 =
       manager->GetStorage(isolation_key2);
   ASSERT_TRUE(storage2);
+  scoped_refptr<SharedDictionaryStorage> storage3 =
+      manager->GetStorage(isolation_key3);
+  ASSERT_TRUE(storage3);
 
   WriteDictionary(storage1.get(), GURL("https://origin1.test/d1"), "p1*",
                   {kTestData1});
@@ -610,14 +601,14 @@
   task_environment_.FastForwardBy(base::Seconds(1));
   EXPECT_TRUE(storage2->GetDictionary(GURL("https://origin2.test/p2?")));
   task_environment_.FastForwardBy(base::Seconds(1));
-  WriteDictionary(storage2.get(), GURL("https://origin3.test/d1"), "p3*",
+  WriteDictionary(storage3.get(), GURL("https://origin3.test/d1"), "p3*",
                   {kTestData1});
   if (GetParam() == TestManagerType::kOnDisk) {
     FlushCacheTasks();
   }
   EXPECT_FALSE(storage1->GetDictionary(GURL("https://origin1.test/p1?")));
   EXPECT_FALSE(storage2->GetDictionary(GURL("https://origin2.test/p2?")));
-  EXPECT_TRUE(storage2->GetDictionary(GURL("https://origin3.test/p3?")));
+  EXPECT_TRUE(storage3->GetDictionary(GURL("https://origin3.test/p3?")));
 }
 
 TEST_P(SharedDictionaryManagerTest, CacheEvictionAfterUpdatingLastUsedTime) {
@@ -676,6 +667,204 @@
   EXPECT_TRUE(storage2->GetDictionary(GURL("https://origin2.test/p2?")));
 }
 
+TEST_P(SharedDictionaryManagerTest, CacheEvictionPerSiteSizeExceeded) {
+  net::SharedDictionaryStorageIsolationKey isolation_key1(
+      url::Origin::Create(kUrl1), kSite1);
+  net::SharedDictionaryStorageIsolationKey isolation_key2(
+      url::Origin::Create(kUrl1), kSite2);
+  net::SharedDictionaryStorageIsolationKey isolation_key3(
+      url::Origin::Create(kUrl2), kSite1);
+
+  std::unique_ptr<SharedDictionaryManager> manager =
+      CreateSharedDictionaryManager();
+  // The size limit per site is kTestData1.size() * 4 / 2.
+  manager->SetCacheMaxSize(/*cache_max_size=*/kTestData1.size() * 4);
+
+  scoped_refptr<SharedDictionaryStorage> storage1 =
+      manager->GetStorage(isolation_key1);
+  scoped_refptr<SharedDictionaryStorage> storage2 =
+      manager->GetStorage(isolation_key2);
+  scoped_refptr<SharedDictionaryStorage> storage3 =
+      manager->GetStorage(isolation_key3);
+
+  WriteDictionary(storage1.get(), GURL("https://origin1.test/d"), "p*",
+                  {kTestData1});
+  WriteDictionary(storage2.get(), GURL("https://origin2.test/d"), "p*",
+                  {kTestData1});
+  WriteDictionary(storage3.get(), GURL("https://origin3.test/d"), "p*",
+                  {kTestData1});
+  if (GetParam() == TestManagerType::kOnDisk) {
+    FlushCacheTasks();
+  }
+  EXPECT_TRUE(storage1->GetDictionary(GURL("https://origin1.test/p?")));
+  task_environment_.FastForwardBy(base::Seconds(1));
+  EXPECT_TRUE(storage2->GetDictionary(GURL("https://origin2.test/p?")));
+  task_environment_.FastForwardBy(base::Seconds(1));
+  EXPECT_TRUE(storage3->GetDictionary(GURL("https://origin3.test/p?")));
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  WriteDictionary(storage1.get(), GURL("https://origin4.test/d"), "p*",
+                  {kTestData1});
+  if (GetParam() == TestManagerType::kOnDisk) {
+    FlushCacheTasks();
+  }
+  EXPECT_FALSE(storage1->GetDictionary(GURL("https://origin1.test/p?")));
+  EXPECT_TRUE(storage2->GetDictionary(GURL("https://origin2.test/p?")));
+  EXPECT_TRUE(storage3->GetDictionary(GURL("https://origin3.test/p?")));
+  EXPECT_TRUE(storage1->GetDictionary(GURL("https://origin4.test/p?")));
+}
+
+TEST_P(SharedDictionaryManagerTest,
+       CacheEvictionPerSiteZeroMaxSizeCountExceeded) {
+  net::SharedDictionaryStorageIsolationKey isolation_key(
+      url::Origin::Create(kUrl1), kSite1);
+
+  std::unique_ptr<SharedDictionaryManager> manager =
+      CreateSharedDictionaryManager();
+  scoped_refptr<SharedDictionaryStorage> storage =
+      manager->GetStorage(isolation_key);
+  ASSERT_TRUE(storage);
+  size_t cache_max_count_per_site = kCacheMaxCount / 2;
+  for (size_t i = 0; i < cache_max_count_per_site; ++i) {
+    WriteDictionary(
+        storage.get(),
+        GURL(base::StringPrintf("https://origin.test/d%03" PRIuS, i)),
+        base::StringPrintf("p%03" PRIuS, i), {kTestData1});
+    if (GetParam() == TestManagerType::kOnDisk) {
+      FlushCacheTasks();
+    }
+    task_environment_.FastForwardBy(base::Seconds(1));
+  }
+
+  for (size_t i = 0; i < cache_max_count_per_site; ++i) {
+    EXPECT_TRUE(storage->GetDictionary(
+        GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
+    task_environment_.FastForwardBy(base::Seconds(1));
+  }
+
+  // Write one more dictionary. The total count exceeds the limit.
+  WriteDictionary(storage.get(),
+                  GURL(base::StringPrintf("https://origin.test/d%03" PRIuS,
+                                          cache_max_count_per_site)),
+                  base::StringPrintf("p%03" PRIuS, cache_max_count_per_site),
+                  {kTestData1});
+  if (GetParam() == TestManagerType::kOnDisk) {
+    FlushCacheTasks();
+  }
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  EXPECT_FALSE(storage->GetDictionary(GURL("https://origin.test/p000?")));
+
+  // Newer dictionaries must not be evicted.
+  for (size_t i = 1; i <= cache_max_count_per_site; ++i) {
+    EXPECT_TRUE(storage->GetDictionary(
+        GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
+  }
+}
+
+TEST_P(SharedDictionaryManagerTest,
+       CacheEvictionPerSiteNonZeroMaxSizeCountExceeded) {
+  net::SharedDictionaryStorageIsolationKey isolation_key(
+      url::Origin::Create(kUrl1), kSite1);
+
+  std::unique_ptr<SharedDictionaryManager> manager =
+      CreateSharedDictionaryManager();
+  manager->SetCacheMaxSize(/*cache_max_size=*/kTestData1.size() *
+                           kCacheMaxCount);
+  scoped_refptr<SharedDictionaryStorage> storage =
+      manager->GetStorage(isolation_key);
+  ASSERT_TRUE(storage);
+  size_t cache_max_count_per_site = kCacheMaxCount / 2;
+  for (size_t i = 0; i < cache_max_count_per_site; ++i) {
+    WriteDictionary(
+        storage.get(),
+        GURL(base::StringPrintf("https://origin.test/d%03" PRIuS, i)),
+        base::StringPrintf("p%03" PRIuS, i), {kTestData1});
+    if (GetParam() == TestManagerType::kOnDisk) {
+      FlushCacheTasks();
+    }
+    task_environment_.FastForwardBy(base::Seconds(1));
+  }
+
+  for (size_t i = 0; i < cache_max_count_per_site; ++i) {
+    EXPECT_TRUE(storage->GetDictionary(
+        GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
+    task_environment_.FastForwardBy(base::Seconds(1));
+  }
+
+  // Write one more dictionary. The total count exceeds the limit.
+  WriteDictionary(storage.get(),
+                  GURL(base::StringPrintf("https://origin.test/d%03" PRIuS,
+                                          cache_max_count_per_site)),
+                  base::StringPrintf("p%03" PRIuS, cache_max_count_per_site),
+                  {kTestData1});
+  if (GetParam() == TestManagerType::kOnDisk) {
+    FlushCacheTasks();
+  }
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  EXPECT_FALSE(storage->GetDictionary(GURL("https://origin.test/p000?")));
+
+  // Newer dictionaries must not be evicted.
+  for (size_t i = 1; i <= cache_max_count_per_site; ++i) {
+    EXPECT_TRUE(storage->GetDictionary(
+        GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
+  }
+}
+
+TEST_P(SharedDictionaryManagerTest,
+       CacheEvictionPerSiteBothSizeAndCountExceeded) {
+  net::SharedDictionaryStorageIsolationKey isolation_key(
+      url::Origin::Create(kUrl1), kSite1);
+
+  std::unique_ptr<SharedDictionaryManager> manager =
+      CreateSharedDictionaryManager();
+  manager->SetCacheMaxSize(/*cache_max_size=*/kTestData1.size() *
+                           kCacheMaxCount);
+  scoped_refptr<SharedDictionaryStorage> storage =
+      manager->GetStorage(isolation_key);
+  ASSERT_TRUE(storage);
+  size_t cache_max_count_per_site = kCacheMaxCount / 2;
+  for (size_t i = 0; i < cache_max_count_per_site; ++i) {
+    WriteDictionary(
+        storage.get(),
+        GURL(base::StringPrintf("https://origin.test/d%03" PRIuS, i)),
+        base::StringPrintf("p%03" PRIuS, i), {kTestData1});
+    if (GetParam() == TestManagerType::kOnDisk) {
+      FlushCacheTasks();
+    }
+    task_environment_.FastForwardBy(base::Seconds(1));
+  }
+
+  for (size_t i = 0; i < cache_max_count_per_site; ++i) {
+    EXPECT_TRUE(storage->GetDictionary(
+        GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
+    task_environment_.FastForwardBy(base::Seconds(1));
+  }
+
+  // Write one more dictionary. Both the total size and count exceeds the limit.
+  WriteDictionary(storage.get(),
+                  GURL(base::StringPrintf("https://origin.test/d%03" PRIuS,
+                                          cache_max_count_per_site)),
+                  base::StringPrintf("p%03" PRIuS, cache_max_count_per_site),
+                  {kTestData1, kTestData1});
+  if (GetParam() == TestManagerType::kOnDisk) {
+    FlushCacheTasks();
+  }
+  task_environment_.FastForwardBy(base::Seconds(1));
+
+  // The last dictionary size is kTestData1.size() * 2. So the oldest two
+  // dictionaries must be evicted.
+  EXPECT_FALSE(storage->GetDictionary(GURL("https://origin.test/p000?")));
+  EXPECT_FALSE(storage->GetDictionary(GURL("https://origin.test/p001?")));
+
+  // Newer dictionaries must not be deleted.
+  for (size_t i = 2; i <= cache_max_count_per_site; ++i) {
+    EXPECT_TRUE(storage->GetDictionary(
+        GURL(base::StringPrintf("https://origin.test/p%03" PRIuS "?", i))));
+  }
+}
+
 TEST_P(SharedDictionaryManagerTest, ClearDataMatchFrameOrigin) {
   net::SharedDictionaryStorageIsolationKey isolation_key(
       url::Origin::Create(GURL("https://target.test/")),
diff --git a/services/network/shared_dictionary/shared_dictionary_storage_in_memory.cc b/services/network/shared_dictionary/shared_dictionary_storage_in_memory.cc
index 9168f727..7347e7c 100644
--- a/services/network/shared_dictionary/shared_dictionary_storage_in_memory.cc
+++ b/services/network/shared_dictionary/shared_dictionary_storage_in_memory.cc
@@ -18,8 +18,10 @@
 
 SharedDictionaryStorageInMemory::SharedDictionaryStorageInMemory(
     base::WeakPtr<SharedDictionaryManagerInMemory> manager,
+    const net::SharedDictionaryStorageIsolationKey& isolation_key,
     base::ScopedClosureRunner on_deleted_closure_runner)
     : manager_(manager),
+      isolation_key_(isolation_key),
       on_deleted_closure_runner_(std::move(on_deleted_closure_runner)) {}
 
 SharedDictionaryStorageInMemory::~SharedDictionaryStorageInMemory() = default;
@@ -92,6 +94,7 @@
       DictionaryInfo(url, response_time, expiration, match,
                      /*last_used_time=*/base::Time::Now(), data, size, hash)));
   if (manager_) {
+    manager_->MaybeRunCacheEvictionPerSite(isolation_key_.top_frame_site());
     manager_->MaybeRunCacheEviction();
   }
 }
diff --git a/services/network/shared_dictionary/shared_dictionary_storage_in_memory.h b/services/network/shared_dictionary/shared_dictionary_storage_in_memory.h
index ceb3c90..6e435a4 100644
--- a/services/network/shared_dictionary/shared_dictionary_storage_in_memory.h
+++ b/services/network/shared_dictionary/shared_dictionary_storage_in_memory.h
@@ -14,6 +14,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "net/base/hash_value.h"
+#include "net/extras/shared_dictionary/shared_dictionary_storage_isolation_key.h"
 #include "services/network/shared_dictionary/shared_dictionary_storage.h"
 #include "services/network/shared_dictionary/shared_dictionary_writer_in_memory.h"
 #include "url/gurl.h"
@@ -80,6 +81,7 @@
 
   SharedDictionaryStorageInMemory(
       base::WeakPtr<SharedDictionaryManagerInMemory> manager,
+      const net::SharedDictionaryStorageIsolationKey& isolation_key,
       base::ScopedClosureRunner on_deleted_closure_runner);
 
   SharedDictionaryStorageInMemory(const SharedDictionaryStorageInMemory&) =
@@ -124,6 +126,7 @@
                            const net::SHA256HashValue& hash);
 
   base::WeakPtr<SharedDictionaryManagerInMemory> manager_;
+  const net::SharedDictionaryStorageIsolationKey isolation_key_;
   base::ScopedClosureRunner on_deleted_closure_runner_;
 
   std::map<url::SchemeHostPort, std::map<std::string, DictionaryInfo>>
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index 3b87b98f..8e2a06bf 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -33,10 +33,6 @@
 # External-facing config for dependent code.
 config("skia_config") {
   defines = [
-    "SK_CODEC_DECODES_PNG",
-    "SK_CODEC_DECODES_WEBP",
-    "SK_ENCODE_PNG",
-    "SK_ENCODE_WEBP",
     "SK_ENABLE_SKSL",
     "SK_UNTIL_CRBUG_1187654_IS_FIXED",
     "SK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\"",
@@ -55,10 +51,19 @@
   if (use_blink) {
     defines += [
       "SK_CODEC_DECODES_JPEG",
+      "SK_CODEC_DECODES_PNG",
+      "SK_CODEC_DECODES_WEBP",
       "SK_ENCODE_JPEG",
+      "SK_ENCODE_PNG",
+      "SK_ENCODE_WEBP",
       "SK_HAS_WUFFS_LIBRARY",
     ]
     include_dirs += [ "//third_party/wuffs/src/release/c" ]
+  } else {
+    # Decoder sources are only added when use_blink == true, but SkCodec.cpp is
+    # always present.  SK_DISABLE_LEGACY_INIT_DECODERS ensures that SkCodec.cpp
+    # is not attempting to reference inexistent codec code.
+    defines += [ "SK_DISABLE_LEGACY_INIT_DECODERS" ]
   }
 
   if (is_component_build) {
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 13bd6fa..e7986db 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -10177,7 +10177,7 @@
             ]
         }
     ],
-    "PdfOcr": [
+    "PdfOcrChromeOS": [
         {
             "platforms": [
                 "chromeos"
@@ -12709,29 +12709,6 @@
             ]
         }
     ],
-    "SpeculativeServiceWorkerWarmUp": [
-        {
-            "platforms": [
-                "android",
-                "chromeos",
-                "chromeos_lacros",
-                "linux",
-                "mac",
-                "windows"
-            ],
-            "experiments": [
-                {
-                    "name": "EnableWarmUp_20230613",
-                    "enable_features": [
-                        "SpeculativeServiceWorkerWarmUp"
-                    ],
-                    "disable_features": [
-                        "SpeculativeServiceWorkerStartup"
-                    ]
-                }
-            ]
-        }
-    ],
     "SplitCacheByNetworkIsolationKey": [
         {
             "platforms": [
@@ -14947,7 +14924,7 @@
             ],
             "experiments": [
                 {
-                    "name": "Enabled,switch_to_agc2:true,target_range_min_dbfs:-50,target_range_max_dbfs:-30,max_gain_db:50,initial_gain_db:20,enable_clipping_predictor:true,disallow_transient_suppressor_usage:true,_20230208"
+                    "name": "Enabled,switch_to_agc2:true,target_range_min_dbfs:-50,target_range_max_dbfs:-30,max_gain_db:50,initial_gain_db:15,max_gain_change_db_per_second:6,headroom_db:5,enable_clipping_predictor:true,disallow_transient_suppressor_usage:true,_20230614"
                 }
             ]
         }
diff --git a/third_party/abseil-cpp/BUILD.gn b/third_party/abseil-cpp/BUILD.gn
index 4f87f51..b1b867a 100644
--- a/third_party/abseil-cpp/BUILD.gn
+++ b/third_party/abseil-cpp/BUILD.gn
@@ -202,6 +202,7 @@
         "absl/crc:crc_memcpy_test",
         "absl/crc:non_temporal_memcpy_test",
         "absl/debugging:stacktrace_test",
+        "absl/flags:flag_test",
         "absl/functional:any_invocable_test",
         "absl/functional:function_ref_test",
         "absl/hash:hash_test",
diff --git a/third_party/abseil-cpp/CMake/AbseilDll.cmake b/third_party/abseil-cpp/CMake/AbseilDll.cmake
index 2b3d117..4daa671 100644
--- a/third_party/abseil-cpp/CMake/AbseilDll.cmake
+++ b/third_party/abseil-cpp/CMake/AbseilDll.cmake
@@ -813,4 +813,6 @@
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
   )
+
+  add_library(absl::${_dll} ALIAS ${_dll})
 endfunction()
diff --git a/third_party/abseil-cpp/README.chromium b/third_party/abseil-cpp/README.chromium
index eb1729d..3cc41ff 100644
--- a/third_party/abseil-cpp/README.chromium
+++ b/third_party/abseil-cpp/README.chromium
@@ -4,7 +4,7 @@
 License: Apache 2.0
 License File: LICENSE
 Version: 0
-Revision: 1285ca4b4f06e40ca0238bde7197e0cb3648a451
+Revision: dc37a887fdc3d91ec9a67b93af9fa4c1ccb02545
 Security Critical: yes
 
 Description:
diff --git a/third_party/abseil-cpp/absl/base/config.h b/third_party/abseil-cpp/absl/base/config.h
index 7d06e11..4a167a2e 100644
--- a/third_party/abseil-cpp/absl/base/config.h
+++ b/third_party/abseil-cpp/absl/base/config.h
@@ -412,7 +412,7 @@
     defined(__asmjs__) || defined(__wasm__) || defined(__Fuchsia__) ||    \
     defined(__sun) || defined(__ASYLO__) || defined(__myriad2__) ||       \
     defined(__HAIKU__) || defined(__OpenBSD__) || defined(__NetBSD__) ||  \
-    defined(__QNX__)
+    defined(__QNX__) || defined(__VXWORKS__)
 #define ABSL_HAVE_MMAP 1
 #endif
 
@@ -424,7 +424,7 @@
 #error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set
 #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
     defined(_AIX) || defined(__ros__) || defined(__OpenBSD__) ||          \
-    defined(__NetBSD__)
+    defined(__NetBSD__) || defined(__VXWORKS__)
 #define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1
 #endif
 
@@ -443,7 +443,8 @@
 // POSIX.1-2001.
 #ifdef ABSL_HAVE_SCHED_YIELD
 #error ABSL_HAVE_SCHED_YIELD cannot be directly set
-#elif defined(__linux__) || defined(__ros__) || defined(__native_client__)
+#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \
+    defined(__VXWORKS__)
 #define ABSL_HAVE_SCHED_YIELD 1
 #endif
 
@@ -458,7 +459,7 @@
 // platforms.
 #ifdef ABSL_HAVE_SEMAPHORE_H
 #error ABSL_HAVE_SEMAPHORE_H cannot be directly set
-#elif defined(__linux__) || defined(__ros__)
+#elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__)
 #define ABSL_HAVE_SEMAPHORE_H 1
 #endif
 
diff --git a/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc b/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc
index a87fd6a..bf5aa7c 100644
--- a/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc
+++ b/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc
@@ -148,7 +148,7 @@
   ThrowingValue<> bomb1, bomb2;
 
   TestOp([&bomb1]() { ~bomb1; });
-  TestOp([&]() { bomb1& bomb2; });
+  TestOp([&]() { bomb1 & bomb2; });
   TestOp([&]() { bomb1 | bomb2; });
   TestOp([&]() { bomb1 ^ bomb2; });
 }
@@ -332,13 +332,16 @@
   constexpr int kArrayLen = 2;
   // We intentionally create extra space to store the tag allocated by placement
   // new[].
-  constexpr int kStorageLen = 4;
+  constexpr size_t kExtraSpaceLen = sizeof(size_t) * 2;
 
   alignas(ThrowingValue<>) unsigned char buf[sizeof(ThrowingValue<>)];
   alignas(ThrowingValue<>) unsigned char
-      array_buf[sizeof(ThrowingValue<>[kStorageLen])];
+      array_buf[kExtraSpaceLen + sizeof(ThrowingValue<>[kArrayLen])];
   auto* placed = new (&buf) ThrowingValue<>(1);
   auto placed_array = new (&array_buf) ThrowingValue<>[kArrayLen];
+  auto* placed_array_end = reinterpret_cast<unsigned char*>(placed_array) +
+                           sizeof(ThrowingValue<>[kArrayLen]);
+  EXPECT_LE(placed_array_end, array_buf + sizeof(array_buf));
 
   SetCountdown();
   ExpectNoThrow([placed, &buf]() {
diff --git a/third_party/abseil-cpp/absl/base/internal/direct_mmap.h b/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
index 815b8d2..1beb2ee 100644
--- a/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
+++ b/third_party/abseil-cpp/absl/base/internal/direct_mmap.h
@@ -72,7 +72,7 @@
 // Platform specific logic extracted from
 // https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h
 inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
-                        off64_t offset) noexcept {
+                        off_t offset) noexcept {
 #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
     defined(__m68k__) || defined(__sh__) ||                                  \
     (defined(__hppa__) && !defined(__LP64__)) ||                             \
@@ -102,7 +102,7 @@
 #else
   return reinterpret_cast<void*>(
       syscall(SYS_mmap2, start, length, prot, flags, fd,
-              static_cast<off_t>(offset / pagesize)));
+              static_cast<unsigned long>(offset / pagesize)));  // NOLINT
 #endif
 #elif defined(__s390x__)
   // On s390x, mmap() arguments are passed in memory.
diff --git a/third_party/abseil-cpp/absl/base/internal/sysinfo.cc b/third_party/abseil-cpp/absl/base/internal/sysinfo.cc
index 7575973..605a11e 100644
--- a/third_party/abseil-cpp/absl/base/internal/sysinfo.cc
+++ b/third_party/abseil-cpp/absl/base/internal/sysinfo.cc
@@ -429,7 +429,10 @@
 #elif defined(__native_client__)
 
 pid_t GetTID() {
-  return reinterpret_cast<intptr_t>(pthread_self());
+  auto* thread = pthread_self();
+  static_assert(sizeof(pid_t) == sizeof(thread),
+                "In NaCL int expected to be the same size as a pointer");
+  return reinterpret_cast<pid_t>(thread);
 }
 
 #else
diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
index b1c396c..05e0e7b 100644
--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
+++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
@@ -71,13 +71,12 @@
 #else
   int32_t tbu, tbl, tmp;
   asm volatile(
-      "0:\n"
       "mftbu %[hi32]\n"
       "mftb %[lo32]\n"
       "mftbu %[tmp]\n"
       "cmpw %[tmp],%[hi32]\n"
-      "bne 0b\n"
-      : [ hi32 ] "=r"(tbu), [ lo32 ] "=r"(tbl), [ tmp ] "=r"(tmp));
+      "bne $-16\n"  // Retry on failure.
+      : [hi32] "=r"(tbu), [lo32] "=r"(tbl), [tmp] "=r"(tmp));
   return (static_cast<int64_t>(tbu) << 32) | tbl;
 #endif
 #endif
diff --git a/third_party/abseil-cpp/absl/crc/internal/crc.cc b/third_party/abseil-cpp/absl/crc/internal/crc.cc
index ba4c6d13..22e91c5 100644
--- a/third_party/abseil-cpp/absl/crc/internal/crc.cc
+++ b/third_party/abseil-cpp/absl/crc/internal/crc.cc
@@ -176,9 +176,6 @@
   return result;
 }
 
-// The CRC of the empty string is always the CRC polynomial itself.
-void CRCImpl::Empty(uint32_t* crc) const { *crc = kCrc32cPoly; }
-
 //  The 32-bit implementation
 
 void CRC32::InitTables() {
@@ -435,34 +432,6 @@
   return singleton;
 }
 
-// This Concat implementation works for arbitrary polynomials.
-void CRC::Concat(uint32_t* px, uint32_t y, size_t ylen) {
-  // https://en.wikipedia.org/wiki/Mathematics_of_cyclic_redundancy_checks
-  // The CRC of a message M is the remainder of polynomial division modulo G,
-  // where the coefficient arithmetic is performed modulo 2 (so +/- are XOR):
-  //   R(x) = M(x) x**n (mod G)
-  // (n is the degree of G)
-  // In practice, we use an initial value A and a bitmask B to get
-  //   R = (A ^ B)x**|M| ^ Mx**n ^ B (mod G)
-  // If M is the concatenation of two strings S and T, and Z is the string of
-  // len(T) 0s, then the remainder CRC(ST) can be expressed as:
-  //   R = (A ^ B)x**|ST| ^ STx**n ^ B
-  //     = (A ^ B)x**|SZ| ^ SZx**n ^ B ^ Tx**n
-  //     = CRC(SZ) ^ Tx**n
-  // CRC(Z) = (A ^ B)x**|T| ^ B
-  // CRC(T) = (A ^ B)x**|T| ^ Tx**n ^ B
-  // So R = CRC(SZ) ^ CRC(Z) ^ CRC(T)
-  //
-  // And further, since CRC(SZ) = Extend(CRC(S), Z),
-  //  CRC(SZ) ^ CRC(Z) = Extend(CRC(S) ^ CRC(''), Z).
-  uint32_t z;
-  uint32_t t;
-  Empty(&z);
-  t = *px ^ z;
-  ExtendByZeroes(&t, ylen);
-  *px = t ^ y;
-}
-
 }  // namespace crc_internal
 ABSL_NAMESPACE_END
 }  // namespace absl
diff --git a/third_party/abseil-cpp/absl/crc/internal/crc.h b/third_party/abseil-cpp/absl/crc/internal/crc.h
index e683c25..4efdd03 100644
--- a/third_party/abseil-cpp/absl/crc/internal/crc.h
+++ b/third_party/abseil-cpp/absl/crc/internal/crc.h
@@ -40,9 +40,6 @@
  public:
   virtual ~CRC();
 
-  // Place the CRC of the empty string in "*crc"
-  virtual void Empty(uint32_t* crc) const = 0;
-
   // If "*crc" is the CRC of bytestring A, place the CRC of
   // the bytestring formed from the concatenation of A and the "length"
   // bytes at "bytes" into "*crc".
@@ -58,11 +55,6 @@
   // with those zero bytes removed.
   virtual void UnextendByZeroes(uint32_t* crc, size_t length) const = 0;
 
-  // If *px is the CRC (as defined by *crc) of some string X,
-  // and y is the CRC of some string Y that is ylen bytes long, set
-  // *px to the CRC of the concatenation of X followed by Y.
-  virtual void Concat(uint32_t* px, uint32_t y, size_t ylen);
-
   // Apply a non-linear transformation to "*crc" so that
   // it is safe to CRC the result with the same polynomial without
   // any reduction of error-detection ability in the outer CRC.
diff --git a/third_party/abseil-cpp/absl/crc/internal/crc_internal.h b/third_party/abseil-cpp/absl/crc/internal/crc_internal.h
index 7d77bdf5..4d3582d 100644
--- a/third_party/abseil-cpp/absl/crc/internal/crc_internal.h
+++ b/third_party/abseil-cpp/absl/crc/internal/crc_internal.h
@@ -70,8 +70,6 @@
   // The internal version of CRC::New().
   static CRCImpl* NewInternal();
 
-  void Empty(uint32_t* crc) const override;
-
   // Fill in a table for updating a CRC by one word of 'word_size' bytes
   // [last_lo, last_hi] contains the answer if the last bit in the word
   // is set.
diff --git a/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h b/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
index 5f4537ba..8d95d0b 100644
--- a/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
+++ b/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
@@ -33,7 +33,8 @@
 
 #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \
     !defined(__native_client__) && !defined(__asmjs__) &&             \
-    !defined(__wasm__) && !defined(__HAIKU__) && !defined(__sun)
+    !defined(__wasm__) && !defined(__HAIKU__) && !defined(__sun) &&   \
+    !defined(__VXWORKS__)
 #define ABSL_HAVE_ELF_MEM_IMAGE 1
 #endif
 
diff --git a/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc b/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc
index b66beba..520e9a8 100644
--- a/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc
+++ b/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc
@@ -94,16 +94,21 @@
       void **const pre_signal_frame_pointer =
           reinterpret_cast<void **>(ucv->uc_mcontext.regs[29]);
 
+      // The most recent signal always needs special handling to find the frame
+      // pointer, but a nested signal does not.  If pre_signal_frame_pointer is
+      // earlier in the stack than the old_frame_pointer, then use it. If it is
+      // later, then we have already unwound through it and it needs no special
+      // handling.
+      if (pre_signal_frame_pointer >= old_frame_pointer) {
+        new_frame_pointer = pre_signal_frame_pointer;
+      }
       // Check that alleged frame pointer is actually readable. This is to
       // prevent "double fault" in case we hit the first fault due to e.g.
       // stack corruption.
       if (!absl::debugging_internal::AddressIsReadable(
-              pre_signal_frame_pointer))
+              new_frame_pointer))
         return nullptr;
 
-      // Alleged frame pointer is readable, use it for further unwinding.
-      new_frame_pointer = pre_signal_frame_pointer;
-
       // Skip frame size check if we return from a signal. We may be using a
       // an alternate stack for signals.
       check_frame_size = false;
diff --git a/third_party/abseil-cpp/absl/flags/BUILD.bazel b/third_party/abseil-cpp/absl/flags/BUILD.bazel
index 583e6d94..50bf387 100644
--- a/third_party/abseil-cpp/absl/flags/BUILD.bazel
+++ b/third_party/abseil-cpp/absl/flags/BUILD.bazel
@@ -388,6 +388,7 @@
         ":reflection",
         "//absl/base:core_headers",
         "//absl/base:malloc_internal",
+        "//absl/numeric:int128",
         "//absl/strings",
         "//absl/time",
         "@com_google_googletest//:gtest_main",
diff --git a/third_party/abseil-cpp/absl/flags/BUILD.gn b/third_party/abseil-cpp/absl/flags/BUILD.gn
index 1f4ac8e..b08d0bc 100644
--- a/third_party/abseil-cpp/absl/flags/BUILD.gn
+++ b/third_party/abseil-cpp/absl/flags/BUILD.gn
@@ -225,3 +225,22 @@
     "//third_party/abseil-cpp/absl/synchronization",
   ]
 }
+
+absl_test("flag_test") {
+  sources = [
+    "flag_test.cc",
+    "flag_test_defs.cc",
+  ]
+  deps = [
+    ":config",
+    ":flag",
+    ":flag_internal",
+    ":marshalling",
+    ":reflection",
+    "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/base:malloc_internal",
+    "//third_party/abseil-cpp/absl/numeric:int128",
+    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/time",
+  ]
+}
diff --git a/third_party/abseil-cpp/absl/flags/CMakeLists.txt b/third_party/abseil-cpp/absl/flags/CMakeLists.txt
index 6525eb2..b20463f5 100644
--- a/third_party/abseil-cpp/absl/flags/CMakeLists.txt
+++ b/third_party/abseil-cpp/absl/flags/CMakeLists.txt
@@ -346,6 +346,7 @@
     absl::flags_internal
     absl::flags_marshalling
     absl::flags_reflection
+    absl::int128
     absl::strings
     absl::time
     GTest::gtest_main
diff --git a/third_party/abseil-cpp/absl/flags/flag_test.cc b/third_party/abseil-cpp/absl/flags/flag_test.cc
index 845b4ebac..f9cda02 100644
--- a/third_party/abseil-cpp/absl/flags/flag_test.cc
+++ b/third_party/abseil-cpp/absl/flags/flag_test.cc
@@ -34,6 +34,7 @@
 #include "absl/flags/marshalling.h"
 #include "absl/flags/reflection.h"
 #include "absl/flags/usage_config.h"
+#include "absl/numeric/int128.h"
 #include "absl/strings/match.h"
 #include "absl/strings/numbers.h"
 #include "absl/strings/str_cat.h"
@@ -127,6 +128,11 @@
             flags::FlagValueStorageKind::kAlignedBuffer);
   EXPECT_EQ(flags::StorageKind<std::vector<std::string>>(),
             flags::FlagValueStorageKind::kAlignedBuffer);
+
+  EXPECT_EQ(flags::StorageKind<absl::int128>(),
+            flags::FlagValueStorageKind::kSequenceLocked);
+  EXPECT_EQ(flags::StorageKind<absl::uint128>(),
+            flags::FlagValueStorageKind::kSequenceLocked);
 }
 
 // --------------------------------------------------------------------
@@ -135,6 +141,8 @@
                                       flags::FlagHelpKind::kLiteral};
 
 using String = std::string;
+using int128 = absl::int128;
+using uint128 = absl::uint128;
 
 #if !defined(_MSC_VER) || defined(__clang__)
 #define DEFINE_CONSTRUCTED_FLAG(T, dflt, dflt_kind)                        \
@@ -171,6 +179,8 @@
 DEFINE_CONSTRUCTED_FLAG(double, 9.10, kOneWord);
 DEFINE_CONSTRUCTED_FLAG(String, &TestMakeDflt<String>, kGenFunc);
 DEFINE_CONSTRUCTED_FLAG(UDT, &TestMakeDflt<UDT>, kGenFunc);
+DEFINE_CONSTRUCTED_FLAG(int128, 13, kGenFunc);
+DEFINE_CONSTRUCTED_FLAG(uint128, 14, kGenFunc);
 
 template <typename T>
 bool TestConstructionFor(const absl::Flag<T>& f1, absl::Flag<T>& f2) {
@@ -202,6 +212,8 @@
   TEST_CONSTRUCTED_FLAG(double);
   TEST_CONSTRUCTED_FLAG(String);
   TEST_CONSTRUCTED_FLAG(UDT);
+  TEST_CONSTRUCTED_FLAG(int128);
+  TEST_CONSTRUCTED_FLAG(uint128);
 }
 
 // --------------------------------------------------------------------
@@ -220,6 +232,8 @@
 ABSL_DECLARE_FLAG(float, test_flag_10);
 ABSL_DECLARE_FLAG(std::string, test_flag_11);
 ABSL_DECLARE_FLAG(absl::Duration, test_flag_12);
+ABSL_DECLARE_FLAG(absl::int128, test_flag_13);
+ABSL_DECLARE_FLAG(absl::uint128, test_flag_14);
 
 namespace {
 
@@ -251,6 +265,10 @@
             "test_flag_11");
   EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_12).Name(),
             "test_flag_12");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_13).Name(),
+            "test_flag_13");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_14).Name(),
+            "test_flag_14");
 }
 #endif  // !ABSL_FLAGS_STRIP_NAMES
 
@@ -270,6 +288,9 @@
 ABSL_FLAG(float, test_flag_10, 1.234e12f, "test flag 10");
 ABSL_FLAG(std::string, test_flag_11, "", "test flag 11");
 ABSL_FLAG(absl::Duration, test_flag_12, absl::Minutes(10), "test flag 12");
+ABSL_FLAG(absl::int128, test_flag_13, absl::MakeInt128(-1, 0), "test flag 13");
+ABSL_FLAG(absl::uint128, test_flag_14, absl::MakeUint128(0, 0xFFFAAABBBCCCDDD),
+          "test flag 14");
 
 namespace {
 
@@ -384,6 +405,24 @@
       absl::GetFlagReflectionHandle(FLAGS_test_flag_12).Filename(),
       expected_file_name))
       << absl::GetFlagReflectionHandle(FLAGS_test_flag_12).Filename();
+
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_13).Name(),
+            "test_flag_13");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_13).Help(),
+            "test flag 13");
+  EXPECT_TRUE(absl::EndsWith(
+      absl::GetFlagReflectionHandle(FLAGS_test_flag_13).Filename(),
+      expected_file_name))
+      << absl::GetFlagReflectionHandle(FLAGS_test_flag_13).Filename();
+
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_14).Name(),
+            "test_flag_14");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_14).Help(),
+            "test flag 14");
+  EXPECT_TRUE(absl::EndsWith(
+      absl::GetFlagReflectionHandle(FLAGS_test_flag_14).Filename(),
+      expected_file_name))
+      << absl::GetFlagReflectionHandle(FLAGS_test_flag_14).Filename();
 }
 #endif  // !ABSL_FLAGS_STRIP_NAMES
 
@@ -414,6 +453,10 @@
             "");
   EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_12).DefaultValue(),
             "10m");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_13).DefaultValue(),
+            "-18446744073709551616");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_14).DefaultValue(),
+            "1152827684197027293");
 
   EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_01).CurrentValue(),
             "true");
@@ -439,6 +482,10 @@
             "");
   EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_12).CurrentValue(),
             "10m");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_13).CurrentValue(),
+            "-18446744073709551616");
+  EXPECT_EQ(absl::GetFlagReflectionHandle(FLAGS_test_flag_14).CurrentValue(),
+            "1152827684197027293");
 
   EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_01), true);
   EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_02), 1234);
@@ -452,6 +499,9 @@
   EXPECT_NEAR(absl::GetFlag(FLAGS_test_flag_10), 1.234e12f, 1e5f);
   EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_11), "");
   EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_12), absl::Minutes(10));
+  EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_13), absl::MakeInt128(-1, 0));
+  EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_14),
+            absl::MakeUint128(0, 0xFFFAAABBBCCCDDD));
 }
 
 // --------------------------------------------------------------------
@@ -553,6 +603,13 @@
 
   absl::SetFlag(&FLAGS_test_flag_12, absl::Seconds(110));
   EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_12), absl::Seconds(110));
+
+  absl::SetFlag(&FLAGS_test_flag_13, absl::MakeInt128(-1, 0));
+  EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_13), absl::MakeInt128(-1, 0));
+
+  absl::SetFlag(&FLAGS_test_flag_14, absl::MakeUint128(0, 0xFFFAAABBBCCCDDD));
+  EXPECT_EQ(absl::GetFlag(FLAGS_test_flag_14),
+            absl::MakeUint128(0, 0xFFFAAABBBCCCDDD));
 }
 
 // --------------------------------------------------------------------
@@ -582,6 +639,11 @@
   EXPECT_EQ(*handle->TryGet<std::string>(), "");
   handle = absl::FindCommandLineFlag("test_flag_12");
   EXPECT_EQ(*handle->TryGet<absl::Duration>(), absl::Minutes(10));
+  handle = absl::FindCommandLineFlag("test_flag_13");
+  EXPECT_EQ(*handle->TryGet<absl::int128>(), absl::MakeInt128(-1, 0));
+  handle = absl::FindCommandLineFlag("test_flag_14");
+  EXPECT_EQ(*handle->TryGet<absl::uint128>(),
+            absl::MakeUint128(0, 0xFFFAAABBBCCCDDD));
 }
 
 // --------------------------------------------------------------------
@@ -980,7 +1042,7 @@
 
 // This is a compile test to ensure macros are expanded within ABSL_FLAG and
 // ABSL_DECLARE_FLAG.
-#define FLAG_NAME_MACRO(name) prefix_ ## name
+#define FLAG_NAME_MACRO(name) prefix_##name
 ABSL_DECLARE_FLAG(int, FLAG_NAME_MACRO(test_macro_named_flag));
 ABSL_FLAG(int, FLAG_NAME_MACRO(test_macro_named_flag), 0,
           "Testing macro expansion within ABSL_FLAG");
diff --git a/third_party/abseil-cpp/absl/flags/internal/usage.cc b/third_party/abseil-cpp/absl/flags/internal/usage.cc
index 6a56fce9..13852e14 100644
--- a/third_party/abseil-cpp/absl/flags/internal/usage.cc
+++ b/third_party/abseil-cpp/absl/flags/internal/usage.cc
@@ -92,8 +92,16 @@
         case '>':
           out << "&gt;";
           break;
+        case '\n':
+        case '\v':
+        case '\f':
+        case '\t':
+          out << " ";
+          break;
         default:
-          out << c;
+          if (IsValidXmlCharacter(static_cast<unsigned char>(c))) {
+            out << c;
+          }
           break;
       }
     }
@@ -102,6 +110,7 @@
   }
 
  private:
+  static bool IsValidXmlCharacter(unsigned char c) { return c >= 0x20; }
   absl::string_view tag_;
   absl::string_view txt_;
 };
diff --git a/third_party/abseil-cpp/absl/flags/internal/usage_test.cc b/third_party/abseil-cpp/absl/flags/internal/usage_test.cc
index c3ab4a4..6847386 100644
--- a/third_party/abseil-cpp/absl/flags/internal/usage_test.cc
+++ b/third_party/abseil-cpp/absl/flags/internal/usage_test.cc
@@ -39,6 +39,8 @@
           "usage_reporting_test_flag_03 help message");
 ABSL_FLAG(int64_t, usage_reporting_test_flag_04, 1000000000000004L,
           "usage_reporting_test_flag_04 help message");
+ABSL_FLAG(std::string, usage_reporting_test_flag_07, "\r\n\f\v\a\b\t ",
+          "usage_reporting_test_flag_07 help \r\n\f\v\a\b\t ");
 
 static const char kTestUsageMessage[] = "Custom usage message";
 
@@ -203,8 +205,12 @@
 
       Some more help.
       Even more long long long long long long long long long long long long help
-      message.); default: "";
+      message.); default: "";)"
 
+      "\n    --usage_reporting_test_flag_07 (usage_reporting_test_flag_07 "
+      "help\n\n      \f\v\a\b ); default: \"\r\n\f\v\a\b\t \";\n"
+
+      R"(
 Try --helpfull to get a list of all flags or --help=substring shows help for
 flags which include specified substring in either in the name, or description or
 path.
@@ -267,8 +273,9 @@
   std::stringstream test_buf;
   EXPECT_EQ(flags::HandleUsageFlags(test_buf, kTestUsageMessage),
             flags::HelpMode::kShort);
-  EXPECT_EQ(test_buf.str(),
-            R"(usage_test: Custom usage message
+  EXPECT_EQ(
+      test_buf.str(),
+      R"(usage_test: Custom usage message
 
   Flags from absl/flags/internal/usage_test.cc:
     --usage_reporting_test_flag_01 (usage_reporting_test_flag_01 help message);
@@ -285,8 +292,12 @@
 
       Some more help.
       Even more long long long long long long long long long long long long help
-      message.); default: "";
+      message.); default: "";)"
 
+      "\n    --usage_reporting_test_flag_07 (usage_reporting_test_flag_07 "
+      "help\n\n      \f\v\a\b ); default: \"\r\n\f\v\a\b\t \";\n"
+
+      R"(
 Try --helpfull to get a list of all flags or --help=substring shows help for
 flags which include specified substring in either in the name, or description or
 path.
@@ -301,8 +312,9 @@
   std::stringstream test_buf;
   EXPECT_EQ(flags::HandleUsageFlags(test_buf, kTestUsageMessage),
             flags::HelpMode::kImportant);
-  EXPECT_EQ(test_buf.str(),
-            R"(usage_test: Custom usage message
+  EXPECT_EQ(
+      test_buf.str(),
+      R"(usage_test: Custom usage message
 
   Flags from absl/flags/internal/usage_test.cc:
     --usage_reporting_test_flag_01 (usage_reporting_test_flag_01 help message);
@@ -319,8 +331,12 @@
 
       Some more help.
       Even more long long long long long long long long long long long long help
-      message.); default: "";
+      message.); default: "";)"
 
+      "\n    --usage_reporting_test_flag_07 (usage_reporting_test_flag_07 "
+      "help\n\n      \f\v\a\b ); default: \"\r\n\f\v\a\b\t \";\n"
+
+      R"(
 Try --helpfull to get a list of all flags or --help=substring shows help for
 flags which include specified substring in either in the name, or description or
 path.
@@ -361,8 +377,9 @@
   std::stringstream test_buf;
   EXPECT_EQ(flags::HandleUsageFlags(test_buf, kTestUsageMessage),
             flags::HelpMode::kMatch);
-  EXPECT_EQ(test_buf.str(),
-            R"(usage_test: Custom usage message
+  EXPECT_EQ(
+      test_buf.str(),
+      R"(usage_test: Custom usage message
 
   Flags from absl/flags/internal/usage_test.cc:
     --usage_reporting_test_flag_01 (usage_reporting_test_flag_01 help message);
@@ -379,8 +396,12 @@
 
       Some more help.
       Even more long long long long long long long long long long long long help
-      message.); default: "";
+      message.); default: "";)"
 
+      "\n    --usage_reporting_test_flag_07 (usage_reporting_test_flag_07 "
+      "help\n\n      \f\v\a\b ); default: \"\r\n\f\v\a\b\t \";\n"
+
+      R"(
 Try --helpfull to get a list of all flags or --help=substring shows help for
 flags which include specified substring in either in the name, or description or
 path.
@@ -395,8 +416,9 @@
   std::stringstream test_buf;
   EXPECT_EQ(flags::HandleUsageFlags(test_buf, kTestUsageMessage),
             flags::HelpMode::kPackage);
-  EXPECT_EQ(test_buf.str(),
-            R"(usage_test: Custom usage message
+  EXPECT_EQ(
+      test_buf.str(),
+      R"(usage_test: Custom usage message
 
   Flags from absl/flags/internal/usage_test.cc:
     --usage_reporting_test_flag_01 (usage_reporting_test_flag_01 help message);
@@ -413,8 +435,12 @@
 
       Some more help.
       Even more long long long long long long long long long long long long help
-      message.); default: "";
+      message.); default: "";)"
 
+      "\n    --usage_reporting_test_flag_07 (usage_reporting_test_flag_07 "
+      "help\n\n      \f\v\a\b ); default: \"\r\n\f\v\a\b\t \";\n"
+
+      R"(
 Try --helpfull to get a list of all flags or --help=substring shows help for
 flags which include specified substring in either in the name, or description or
 path.
@@ -471,8 +497,9 @@
   std::stringstream test_buf_02;
   EXPECT_EQ(flags::HandleUsageFlags(test_buf_02, kTestUsageMessage),
             flags::HelpMode::kMatch);
-  EXPECT_EQ(test_buf_02.str(),
-            R"(usage_test: Custom usage message
+  EXPECT_EQ(
+      test_buf_02.str(),
+      R"(usage_test: Custom usage message
 
   Flags from absl/flags/internal/usage_test.cc:
     --usage_reporting_test_flag_01 (usage_reporting_test_flag_01 help message);
@@ -489,8 +516,12 @@
 
       Some more help.
       Even more long long long long long long long long long long long long help
-      message.); default: "";
+      message.); default: "";)"
 
+      "\n    --usage_reporting_test_flag_07 (usage_reporting_test_flag_07 "
+      "help\n\n      \f\v\a\b ); default: \"\r\n\f\v\a\b\t \";\n"
+
+      R"(
 Try --helpfull to get a list of all flags or --help=substring shows help for
 flags which include specified substring in either in the name, or description or
 path.
diff --git a/third_party/abseil-cpp/absl/flags/marshalling.cc b/third_party/abseil-cpp/absl/flags/marshalling.cc
index cf6312b..50b7b331 100644
--- a/third_party/abseil-cpp/absl/flags/marshalling.cc
+++ b/third_party/abseil-cpp/absl/flags/marshalling.cc
@@ -19,6 +19,7 @@
 
 #include <cmath>
 #include <limits>
+#include <sstream>
 #include <string>
 #include <type_traits>
 #include <vector>
@@ -198,6 +199,17 @@
 std::string Unparse(unsigned long v) { return absl::StrCat(v); }
 std::string Unparse(long long v) { return absl::StrCat(v); }
 std::string Unparse(unsigned long long v) { return absl::StrCat(v); }
+std::string Unparse(absl::int128 v) {
+  std::stringstream ss;
+  ss << v;
+  return ss.str();
+}
+std::string Unparse(absl::uint128 v) {
+  std::stringstream ss;
+  ss << v;
+  return ss.str();
+}
+
 template <typename T>
 std::string UnparseFloatingPointVal(T v) {
   // digits10 is guaranteed to roundtrip correctly in string -> value -> string
diff --git a/third_party/abseil-cpp/absl/flags/marshalling.h b/third_party/abseil-cpp/absl/flags/marshalling.h
index 21d955d5..301213a 100644
--- a/third_party/abseil-cpp/absl/flags/marshalling.h
+++ b/third_party/abseil-cpp/absl/flags/marshalling.h
@@ -313,6 +313,8 @@
 std::string Unparse(unsigned long v);       // NOLINT
 std::string Unparse(long long v);           // NOLINT
 std::string Unparse(unsigned long long v);  // NOLINT
+std::string Unparse(absl::int128 v);
+std::string Unparse(absl::uint128 v);
 std::string Unparse(float v);
 std::string Unparse(double v);
 
diff --git a/third_party/abseil-cpp/absl/flags/marshalling_test.cc b/third_party/abseil-cpp/absl/flags/marshalling_test.cc
index d996ca7..5735667 100644
--- a/third_party/abseil-cpp/absl/flags/marshalling_test.cc
+++ b/third_party/abseil-cpp/absl/flags/marshalling_test.cc
@@ -981,6 +981,40 @@
 
 // --------------------------------------------------------------------
 
+TEST(MarshallingTest, TestInt128Unparsing) {
+  absl::int128 value;
+
+  value = 1;
+  EXPECT_EQ(absl::UnparseFlag(value), "1");
+  value = 0;
+  EXPECT_EQ(absl::UnparseFlag(value), "0");
+  value = -1;
+  EXPECT_EQ(absl::UnparseFlag(value), "-1");
+  value = 123456789L;
+  EXPECT_EQ(absl::UnparseFlag(value), "123456789");
+  value = -987654321L;
+  EXPECT_EQ(absl::UnparseFlag(value), "-987654321");
+  value = 0x7FFFFFFFFFFFFFFF;
+  EXPECT_EQ(absl::UnparseFlag(value), "9223372036854775807");
+}
+
+// --------------------------------------------------------------------
+
+TEST(MarshallingTest, TestUint128Unparsing) {
+  absl::uint128 value;
+
+  value = 1;
+  EXPECT_EQ(absl::UnparseFlag(value), "1");
+  value = 0;
+  EXPECT_EQ(absl::UnparseFlag(value), "0");
+  value = 123456789L;
+  EXPECT_EQ(absl::UnparseFlag(value), "123456789");
+  value = absl::MakeUint128(0, 0xFFFFFFFFFFFFFFFF);
+  EXPECT_EQ(absl::UnparseFlag(value), "18446744073709551615");
+}
+
+// --------------------------------------------------------------------
+
 TEST(MarshallingTest, TestFloatUnparsing) {
   float value;
 
diff --git a/third_party/abseil-cpp/absl/log/internal/log_format.cc b/third_party/abseil-cpp/absl/log/internal/log_format.cc
index 0dcbc79..23cef88 100644
--- a/third_party/abseil-cpp/absl/log/internal/log_format.cc
+++ b/third_party/abseil-cpp/absl/log/internal/log_format.cc
@@ -113,27 +113,29 @@
   char* p = buf.data();
   *p++ = absl::LogSeverityName(severity)[0];
   const absl::TimeZone::CivilInfo ci = tz->At(timestamp);
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(ci.cs.month()), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(ci.cs.month()), p);
   p += 2;
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(ci.cs.day()), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(ci.cs.day()), p);
   p += 2;
   *p++ = ' ';
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(ci.cs.hour()), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(ci.cs.hour()), p);
   p += 2;
   *p++ = ':';
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(ci.cs.minute()), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(ci.cs.minute()),
+                                       p);
   p += 2;
   *p++ = ':';
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(ci.cs.second()), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(ci.cs.second()),
+                                       p);
   p += 2;
   *p++ = '.';
   const int64_t usecs = absl::ToInt64Microseconds(ci.subsecond);
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(usecs / 10000), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(usecs / 10000), p);
   p += 2;
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(usecs / 100 % 100),
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(usecs / 100 % 100),
                                        p);
   p += 2;
-  absl::numbers_internal::PutTwoDigits(static_cast<size_t>(usecs % 100), p);
+  absl::numbers_internal::PutTwoDigits(static_cast<uint32_t>(usecs % 100), p);
   p += 2;
   *p++ = ' ';
   PutLeadingWhitespace(tid, p);
diff --git a/third_party/abseil-cpp/absl/meta/BUILD.bazel b/third_party/abseil-cpp/absl/meta/BUILD.bazel
index 125446f..13051d83 100644
--- a/third_party/abseil-cpp/absl/meta/BUILD.bazel
+++ b/third_party/abseil-cpp/absl/meta/BUILD.bazel
@@ -32,6 +32,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         "//absl/base:config",
+        "//absl/base:core_headers",
     ],
 )
 
diff --git a/third_party/abseil-cpp/absl/meta/BUILD.gn b/third_party/abseil-cpp/absl/meta/BUILD.gn
index 5f0034a..5e960b7 100644
--- a/third_party/abseil-cpp/absl/meta/BUILD.gn
+++ b/third_party/abseil-cpp/absl/meta/BUILD.gn
@@ -6,7 +6,10 @@
 
 absl_source_set("type_traits") {
   public = [ "type_traits.h" ]
-  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/base:core_headers",
+  ]
 }
 
 absl_test("type_traits_test") {
diff --git a/third_party/abseil-cpp/absl/meta/CMakeLists.txt b/third_party/abseil-cpp/absl/meta/CMakeLists.txt
index bb767d1..d509114 100644
--- a/third_party/abseil-cpp/absl/meta/CMakeLists.txt
+++ b/third_party/abseil-cpp/absl/meta/CMakeLists.txt
@@ -23,6 +23,7 @@
     ${ABSL_DEFAULT_COPTS}
   DEPS
     absl::config
+    absl::core_headers
   PUBLIC
 )
 
diff --git a/third_party/abseil-cpp/absl/meta/type_traits.h b/third_party/abseil-cpp/absl/meta/type_traits.h
index abaf96af..4f9ea017 100644
--- a/third_party/abseil-cpp/absl/meta/type_traits.h
+++ b/third_party/abseil-cpp/absl/meta/type_traits.h
@@ -39,6 +39,7 @@
 #include <functional>
 #include <type_traits>
 
+#include "absl/base/attributes.h"
 #include "absl/base/config.h"
 
 // Defines the default alignment. `__STDCPP_DEFAULT_NEW_ALIGNMENT__` is a C++17
@@ -278,6 +279,7 @@
 template <typename T>
 using remove_all_extents_t = typename std::remove_all_extents<T>::type;
 
+ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING
 namespace type_traits_internal {
 // This trick to retrieve a default alignment is necessary for our
 // implementation of aligned_storage_t to be consistent with any
@@ -296,6 +298,7 @@
 template <size_t Len, size_t Align = type_traits_internal::
                           default_alignment_of_aligned_storage<Len>::value>
 using aligned_storage_t = typename std::aligned_storage<Len, Align>::type;
+ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING
 
 template <typename T>
 using decay_t = typename std::decay<T>::type;
diff --git a/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc b/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc
index 3945fa2..6f1ac64 100644
--- a/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc
+++ b/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc
@@ -162,9 +162,6 @@
 }
 
 #else  // Clang on PowerPC
-// Forward declaration for conversion operators to floating point types.
-constexpr int128 operator-(int128 v);
-constexpr bool operator!=(int128 lhs, int128 rhs);
 
 inline int128::operator float() const {
   // We must convert the absolute value and then negate as needed, because
diff --git a/third_party/abseil-cpp/absl/status/CMakeLists.txt b/third_party/abseil-cpp/absl/status/CMakeLists.txt
index 15db36a..4a3c5d6 100644
--- a/third_party/abseil-cpp/absl/status/CMakeLists.txt
+++ b/third_party/abseil-cpp/absl/status/CMakeLists.txt
@@ -25,6 +25,8 @@
     "status_payload_printer.cc"
   COPTS
     ${ABSL_DEFAULT_COPTS}
+  DEFINES
+    "$<$<PLATFORM_ID:AIX>:_LINUX_SOURCE_COMPAT>"
   DEPS
     absl::atomic_hook
     absl::config
diff --git a/third_party/abseil-cpp/absl/strings/BUILD.bazel b/third_party/abseil-cpp/absl/strings/BUILD.bazel
index 4a111b5..313ba1ab7c 100644
--- a/third_party/abseil-cpp/absl/strings/BUILD.bazel
+++ b/third_party/abseil-cpp/absl/strings/BUILD.bazel
@@ -1169,6 +1169,7 @@
         ":strings",
         "//absl/base:config",
         "//absl/base:core_headers",
+        "//absl/container:inlined_vector",
         "//absl/functional:function_ref",
         "//absl/meta:type_traits",
         "//absl/numeric:bits",
diff --git a/third_party/abseil-cpp/absl/strings/BUILD.gn b/third_party/abseil-cpp/absl/strings/BUILD.gn
index 8de61117..cd2f41d2 100644
--- a/third_party/abseil-cpp/absl/strings/BUILD.gn
+++ b/third_party/abseil-cpp/absl/strings/BUILD.gn
@@ -113,6 +113,7 @@
     ":strings",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/container:inlined_vector",
     "//third_party/abseil-cpp/absl/functional:function_ref",
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/numeric:bits",
diff --git a/third_party/abseil-cpp/absl/strings/CMakeLists.txt b/third_party/abseil-cpp/absl/strings/CMakeLists.txt
index 2ad052a..878ff4f 100644
--- a/third_party/abseil-cpp/absl/strings/CMakeLists.txt
+++ b/third_party/abseil-cpp/absl/strings/CMakeLists.txt
@@ -432,6 +432,7 @@
     absl::strings
     absl::config
     absl::core_headers
+    absl::inlined_vector
     absl::numeric_representation
     absl::type_traits
     absl::utility
diff --git a/third_party/abseil-cpp/absl/strings/char_formatting_test.cc b/third_party/abseil-cpp/absl/strings/char_formatting_test.cc
index 60416af..1692da70 100644
--- a/third_party/abseil-cpp/absl/strings/char_formatting_test.cc
+++ b/third_party/abseil-cpp/absl/strings/char_formatting_test.cc
@@ -37,17 +37,12 @@
   auto v = static_cast<CharEnum>('A');
 
   // Desired behavior: format as decimal
-  // (No APIs do this today.)
-
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
-
-  // Legacy behavior: does not compile:
-  // EXPECT_EQ(absl::StrCat(ch, "B"), "AB");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
+  EXPECT_EQ(absl::StrCat(v, "B"), "65B");
 
   // Legacy behavior: format as character:
 
-  // Some older versions of gcc behave differently in this one case.
+  // Some older versions of gcc behave differently in this one case
 #if !defined(__GNUC__) || defined(__clang__)
   EXPECT_EQ(absl::Substitute("$0B", v), "AB");
 #endif
@@ -57,14 +52,9 @@
 TEST(CharFormatting, CharEnumClass) {
   auto v = static_cast<CharEnumClass>('A');
 
-  // Desired behavior: format as decimal
-  // (No APIs do this today.)
-
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
-
-  // Legacy behavior: does not compile:
-  // EXPECT_EQ(absl::StrCat(ch, "B"), "AB");
+  // Desired behavior: format as decimal:
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
+  EXPECT_EQ(absl::StrCat(v, "B"), "65B");
 
   // Legacy behavior: format as character:
   EXPECT_EQ(absl::Substitute("$0B", v), "AB");
@@ -76,9 +66,7 @@
   // Desired behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
-
-  // Legacy behavior: does not compile:
-  // EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 
   // Signedness check
   const unsigned char w = 255;
@@ -93,9 +81,7 @@
   // Desired behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
-
-  // Legacy behavior: does not compile:
-  // EXPECT_EQ(absl::StrFormat("%vB", v), "AB");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 
   // Signedness check
   const signed char w = -128;
@@ -110,14 +96,13 @@
   // Desired behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
-
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 
   // Signedness check
   auto w = static_cast<UnsignedCharEnum>(255);
   EXPECT_EQ(absl::StrCat(w, "B"), "255B");
   EXPECT_EQ(absl::Substitute("$0B", w), "255B");
+  EXPECT_EQ(absl::StrFormat("%vB", w), "255B");
 }
 
 enum SignedCharEnum : signed char {};
@@ -127,14 +112,13 @@
   // Desired behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
-
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 
   // Signedness check
   auto w = static_cast<SignedCharEnum>(-128);
   EXPECT_EQ(absl::StrCat(w, "B"), "-128B");
   EXPECT_EQ(absl::Substitute("$0B", w), "-128B");
+  EXPECT_EQ(absl::StrFormat("%vB", w), "-128B");
 }
 
 enum class UnsignedCharEnumClass : unsigned char {};
@@ -144,14 +128,13 @@
   // Desired behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
-
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 
   // Signedness check
   auto w = static_cast<UnsignedCharEnumClass>(255);
   EXPECT_EQ(absl::StrCat(w, "B"), "255B");
   EXPECT_EQ(absl::Substitute("$0B", w), "255B");
+  EXPECT_EQ(absl::StrFormat("%vB", w), "255B");
 }
 
 enum SignedCharEnumClass : signed char {};
@@ -161,14 +144,13 @@
   // Desired behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
-
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 
   // Signedness check
   auto w = static_cast<SignedCharEnumClass>(-128);
   EXPECT_EQ(absl::StrCat(w, "B"), "-128B");
   EXPECT_EQ(absl::Substitute("$0B", w), "-128B");
+  EXPECT_EQ(absl::StrFormat("%vB", w), "-128B");
 }
 
 #ifdef __cpp_lib_byte
@@ -177,12 +159,10 @@
   // Desired behavior: format as 0xff
   // (No APIs do this today.)
 
-  // BUG: internally fails
-  EXPECT_EQ(absl::StrFormat("%vB", v), "");
-
   // Legacy behavior: format as decimal:
   EXPECT_EQ(absl::StrCat(v, "B"), "65B");
   EXPECT_EQ(absl::Substitute("$0B", v), "65B");
+  EXPECT_EQ(absl::StrFormat("%vB", v), "65B");
 }
 #endif  // _cpp_lib_byte
 
diff --git a/third_party/abseil-cpp/absl/strings/internal/cord_internal.h b/third_party/abseil-cpp/absl/strings/internal/cord_internal.h
index 8d9836ba..20dd008 100644
--- a/third_party/abseil-cpp/absl/strings/internal/cord_internal.h
+++ b/third_party/abseil-cpp/absl/strings/internal/cord_internal.h
@@ -157,20 +157,19 @@
   // false will be visible to a thread that just observed this method returning
   // false.  Always returns false when the immortal bit is set.
   inline bool Decrement() {
-    int32_t refcount = count_.load(std::memory_order_acquire) & kRefcountMask;
-    assert(refcount > 0 || refcount & kImmortalFlag);
+    int32_t refcount = count_.load(std::memory_order_acquire);
+    assert((refcount & kRefcountMask) > 0 || refcount & kImmortalFlag);
     return refcount != kRefIncrement &&
            (count_.fetch_sub(kRefIncrement, std::memory_order_acq_rel) &
-            kRefcountMask) != kRefIncrement;
+            kHighRefcountMask) != 0;
   }
 
   // Same as Decrement but expect that refcount is greater than 1.
   inline bool DecrementExpectHighRefcount() {
     int32_t refcount =
-        count_.fetch_sub(kRefIncrement, std::memory_order_acq_rel) &
-        kRefcountMask;
-    assert(refcount > 0 || refcount & kImmortalFlag);
-    return refcount != kRefIncrement;
+        count_.fetch_sub(kRefIncrement, std::memory_order_acq_rel);
+    assert((refcount & kRefcountMask) > 0 || refcount & kImmortalFlag);
+    return (refcount & kHighRefcountMask) != 0;
   }
 
   // Returns the current reference count using acquire semantics.
@@ -214,6 +213,15 @@
     // purposes of equality.  (A refcount of 0 or 1 does not count as 0 or 1
     // if the immortal bit is set.)
     kRefcountMask = ~kReservedFlag,
+
+    // Bitmask to use when checking if refcount is equal to 1 and not
+    // immortal when decrementing the refcount. This masks out kRefIncrement and
+    // all flags except kImmortalFlag. If the masked RefcountAndFlags is 0, we
+    // assume the refcount is equal to 1, since we know it's not immortal and
+    // not greater than 1. If the masked RefcountAndFlags is not 0, we can
+    // assume the refcount is not equal to 1 since either a higher bit in the
+    // refcount is set, or kImmortal is set.
+    kHighRefcountMask = kRefcountMask & ~kRefIncrement,
   };
 
   std::atomic<int32_t> count_;
diff --git a/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc b/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc
index 018dd05..c0a9a28 100644
--- a/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc
+++ b/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc
@@ -106,7 +106,7 @@
     char *p = storage_ + sizeof(storage_);
     do {
       p -= 2;
-      numbers_internal::PutTwoDigits(static_cast<size_t>(v % 100), p);
+      numbers_internal::PutTwoDigits(static_cast<uint32_t>(v % 100), p);
       v /= 100;
     } while (v);
     if (p[0] == '0') {
@@ -278,24 +278,6 @@
   return true;
 }
 
-template <typename T,
-          typename std::enable_if<(std::is_integral<T>::value &&
-                                   std::is_signed<T>::value) ||
-                                      std::is_same<T, int128>::value,
-                                  int>::type = 0>
-constexpr auto ConvertV(T) {
-  return FormatConversionCharInternal::d;
-}
-
-template <typename T,
-          typename std::enable_if<(std::is_integral<T>::value &&
-                                   std::is_unsigned<T>::value) ||
-                                      std::is_same<T, uint128>::value,
-                                  int>::type = 0>
-constexpr auto ConvertV(T) {
-  return FormatConversionCharInternal::u;
-}
-
 template <typename T>
 bool ConvertFloatArg(T v, FormatConversionSpecImpl conv, FormatSinkImpl *sink) {
   if (conv.conversion_char() == FormatConversionCharInternal::v) {
@@ -332,10 +314,6 @@
   using U = typename MakeUnsigned<T>::type;
   IntDigits as_digits;
 
-  if (conv.conversion_char() == FormatConversionCharInternal::v) {
-    conv.set_conversion_char(ConvertV(T{}));
-  }
-
   // This odd casting is due to a bug in -Wswitch behavior in gcc49 which causes
   // it to complain about a switch/case type mismatch, even though both are
   // FormatConverionChar.  Likely this is because at this point
@@ -361,6 +339,7 @@
 
     case static_cast<uint8_t>(FormatConversionCharInternal::d):
     case static_cast<uint8_t>(FormatConversionCharInternal::i):
+    case static_cast<uint8_t>(FormatConversionCharInternal::v):
       as_digits.PrintAsDec(v);
       break;
 
@@ -482,18 +461,18 @@
                                     FormatSinkImpl *sink) {
   return {ConvertIntArg(v, conv, sink)};
 }
-CharConvertResult FormatConvertImpl(signed char v,
-                                    const FormatConversionSpecImpl conv,
-                                    FormatSinkImpl *sink) {
-  return {ConvertIntArg(v, conv, sink)};
-}
-CharConvertResult FormatConvertImpl(unsigned char v,
-                                    const FormatConversionSpecImpl conv,
-                                    FormatSinkImpl *sink) {
-  return {ConvertIntArg(v, conv, sink)};
-}
 
 // ==================== Ints ====================
+IntegralConvertResult FormatConvertImpl(signed char v,
+                                        const FormatConversionSpecImpl conv,
+                                        FormatSinkImpl *sink) {
+  return {ConvertIntArg(v, conv, sink)};
+}
+IntegralConvertResult FormatConvertImpl(unsigned char v,
+                                        const FormatConversionSpecImpl conv,
+                                        FormatSinkImpl *sink) {
+  return {ConvertIntArg(v, conv, sink)};
+}
 IntegralConvertResult FormatConvertImpl(short v,  // NOLINT
                                         const FormatConversionSpecImpl conv,
                                         FormatSinkImpl *sink) {
diff --git a/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h b/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h
index e4b16628..3ce30feb 100644
--- a/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h
+++ b/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h
@@ -279,14 +279,14 @@
 // Chars.
 CharConvertResult FormatConvertImpl(char v, FormatConversionSpecImpl conv,
                                     FormatSinkImpl* sink);
-CharConvertResult FormatConvertImpl(signed char v,
-                                    FormatConversionSpecImpl conv,
-                                    FormatSinkImpl* sink);
-CharConvertResult FormatConvertImpl(unsigned char v,
-                                    FormatConversionSpecImpl conv,
-                                    FormatSinkImpl* sink);
 
 // Ints.
+IntegralConvertResult FormatConvertImpl(signed char v,
+                                        FormatConversionSpecImpl conv,
+                                        FormatSinkImpl* sink);
+IntegralConvertResult FormatConvertImpl(unsigned char v,
+                                        FormatConversionSpecImpl conv,
+                                        FormatSinkImpl* sink);
 IntegralConvertResult FormatConvertImpl(short v,  // NOLINT
                                         FormatConversionSpecImpl conv,
                                         FormatSinkImpl* sink);
@@ -441,7 +441,7 @@
   // For everything else:
   //   - Decay char* and char arrays into `const char*`
   //   - Decay any other pointer to `const void*`
-  //   - Decay all enums to their underlying type.
+  //   - Decay all enums to the integral promotion of their underlying type.
   //   - Decay function pointers to void*.
   template <typename T, typename = void>
   struct DecayType {
@@ -461,7 +461,7 @@
                        !str_format_internal::HasUserDefinedConvert<T>::value &&
                        !strings_internal::HasAbslStringify<T>::value &&
                        std::is_enum<T>::value>::type> {
-    using type = typename std::underlying_type<T>::type;
+    using type = decltype(+typename std::underlying_type<T>::type());
   };
 
  public:
diff --git a/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h b/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h
index b73c50287..5e2a43d5 100644
--- a/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h
+++ b/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h
@@ -21,6 +21,7 @@
 #include <string>
 
 #include "absl/base/port.h"
+#include "absl/container/inlined_vector.h"
 #include "absl/strings/internal/str_format/arg.h"
 #include "absl/strings/internal/str_format/checker.h"
 #include "absl/strings/internal/str_format/parser.h"
@@ -177,17 +178,7 @@
  public:
   Streamable(const UntypedFormatSpecImpl& format,
              absl::Span<const FormatArgImpl> args)
-      : format_(format) {
-    if (args.size() <= ABSL_ARRAYSIZE(few_args_)) {
-      for (size_t i = 0; i < args.size(); ++i) {
-        few_args_[i] = args[i];
-      }
-      args_ = absl::MakeSpan(few_args_, args.size());
-    } else {
-      many_args_.assign(args.begin(), args.end());
-      args_ = many_args_;
-    }
-  }
+      : format_(format), args_(args.begin(), args.end()) {}
 
   std::ostream& Print(std::ostream& os) const;
 
@@ -197,12 +188,7 @@
 
  private:
   const UntypedFormatSpecImpl& format_;
-  absl::Span<const FormatArgImpl> args_;
-  // if args_.size() is 4 or less:
-  FormatArgImpl few_args_[4] = {FormatArgImpl(0), FormatArgImpl(0),
-                                FormatArgImpl(0), FormatArgImpl(0)};
-  // if args_.size() is more than 4:
-  std::vector<FormatArgImpl> many_args_;
+  absl::InlinedVector<FormatArgImpl, 4> args_;
 };
 
 // for testing
@@ -211,8 +197,7 @@
 bool BindWithPack(const UnboundConversion* props,
                   absl::Span<const FormatArgImpl> pack, BoundConversion* bound);
 
-bool FormatUntyped(FormatRawSinkImpl raw_sink,
-                   UntypedFormatSpecImpl format,
+bool FormatUntyped(FormatRawSinkImpl raw_sink, UntypedFormatSpecImpl format,
                    absl::Span<const FormatArgImpl> args);
 
 std::string& AppendPack(std::string* out, UntypedFormatSpecImpl format,
@@ -231,7 +216,7 @@
 template <typename T>
 class StreamedWrapper {
  public:
-  explicit StreamedWrapper(const T& v) : v_(v) { }
+  explicit StreamedWrapper(const T& v) : v_(v) {}
 
  private:
   template <typename S>
diff --git a/third_party/abseil-cpp/absl/strings/match.cc b/third_party/abseil-cpp/absl/strings/match.cc
index b65cbc6..3b81b2c0 100644
--- a/third_party/abseil-cpp/absl/strings/match.cc
+++ b/third_party/abseil-cpp/absl/strings/match.cc
@@ -13,8 +13,13 @@
 // limitations under the License.
 
 #include "absl/strings/match.h"
-#include "absl/strings/ascii.h"
 
+#include <algorithm>
+#include <cstdint>
+
+#include "absl/base/internal/endian.h"
+#include "absl/numeric/bits.h"
+#include "absl/strings/ascii.h"
 #include "absl/strings/internal/memutil.h"
 
 namespace absl {
@@ -61,5 +66,65 @@
          EqualsIgnoreCase(text.substr(text.size() - suffix.size()), suffix);
 }
 
+absl::string_view FindLongestCommonPrefix(absl::string_view a,
+                                          absl::string_view b) {
+  const absl::string_view::size_type limit = std::min(a.size(), b.size());
+  const char* const pa = a.data();
+  const char* const pb = b.data();
+  absl::string_view::size_type count = (unsigned) 0;
+
+  if (ABSL_PREDICT_FALSE(limit < 8)) {
+    while (ABSL_PREDICT_TRUE(count + 2 <= limit)) {
+      uint16_t xor_bytes = absl::little_endian::Load16(pa + count) ^
+                           absl::little_endian::Load16(pb + count);
+      if (ABSL_PREDICT_FALSE(xor_bytes != 0)) {
+        if (ABSL_PREDICT_TRUE((xor_bytes & 0xff) == 0)) ++count;
+        return absl::string_view(pa, count);
+      }
+      count += 2;
+    }
+    if (ABSL_PREDICT_TRUE(count != limit)) {
+      if (ABSL_PREDICT_TRUE(pa[count] == pb[count])) ++count;
+    }
+    return absl::string_view(pa, count);
+  }
+
+  do {
+    uint64_t xor_bytes = absl::little_endian::Load64(pa + count) ^
+                         absl::little_endian::Load64(pb + count);
+    if (ABSL_PREDICT_FALSE(xor_bytes != 0)) {
+      count += static_cast<uint64_t>(absl::countr_zero(xor_bytes) >> 3);
+      return absl::string_view(pa, count);
+    }
+    count += 8;
+  } while (ABSL_PREDICT_TRUE(count + 8 < limit));
+
+  count = limit - 8;
+  uint64_t xor_bytes = absl::little_endian::Load64(pa + count) ^
+                       absl::little_endian::Load64(pb + count);
+  if (ABSL_PREDICT_TRUE(xor_bytes != 0)) {
+    count += static_cast<uint64_t>(absl::countr_zero(xor_bytes) >> 3);
+    return absl::string_view(pa, count);
+  }
+  return absl::string_view(pa, limit);
+}
+
+absl::string_view FindLongestCommonSuffix(absl::string_view a,
+                                          absl::string_view b) {
+  const absl::string_view::size_type limit = std::min(a.size(), b.size());
+  if (limit == 0) return absl::string_view();
+
+  const char* pa = a.data() + a.size() - 1;
+  const char* pb = b.data() + b.size() - 1;
+  absl::string_view::size_type count = (unsigned) 0;
+  while (count < limit && *pa == *pb) {
+    --pa;
+    --pb;
+    ++count;
+  }
+
+  return absl::string_view(++pa, count);
+}
+
 ABSL_NAMESPACE_END
 }  // namespace absl
diff --git a/third_party/abseil-cpp/absl/strings/match.h b/third_party/abseil-cpp/absl/strings/match.h
index 1dc0bea..1eeafbbf 100644
--- a/third_party/abseil-cpp/absl/strings/match.h
+++ b/third_party/abseil-cpp/absl/strings/match.h
@@ -103,6 +103,16 @@
 bool EndsWithIgnoreCase(absl::string_view text,
                         absl::string_view suffix) noexcept;
 
+// Yields the longest prefix in common between both input strings.
+// Pointer-wise, the returned result is a subset of input "a".
+absl::string_view FindLongestCommonPrefix(absl::string_view a,
+                                          absl::string_view b);
+
+// Yields the longest suffix in common between both input strings.
+// Pointer-wise, the returned result is a subset of input "a".
+absl::string_view FindLongestCommonSuffix(absl::string_view a,
+                                          absl::string_view b);
+
 ABSL_NAMESPACE_END
 }  // namespace absl
 
diff --git a/third_party/abseil-cpp/absl/strings/match_test.cc b/third_party/abseil-cpp/absl/strings/match_test.cc
index f063b4ea..71618f71 100644
--- a/third_party/abseil-cpp/absl/strings/match_test.cc
+++ b/third_party/abseil-cpp/absl/strings/match_test.cc
@@ -168,4 +168,121 @@
   EXPECT_FALSE(absl::StrContainsIgnoreCase("", '0'));
 }
 
+TEST(MatchTest, FindLongestCommonPrefix) {
+  EXPECT_EQ(absl::FindLongestCommonPrefix("", ""), "");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("", "abc"), "");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("abc", ""), "");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("ab", "abc"), "ab");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("abc", "ab"), "ab");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("abc", "abd"), "ab");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("abc", "abcd"), "abc");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("abcd", "abcd"), "abcd");
+  EXPECT_EQ(absl::FindLongestCommonPrefix("abcd", "efgh"), "");
+
+  // "abcde" v. "abc" but in the middle of other data
+  EXPECT_EQ(absl::FindLongestCommonPrefix(
+                absl::string_view("1234 abcdef").substr(5, 5),
+                absl::string_view("5678 abcdef").substr(5, 3)),
+            "abc");
+}
+
+// Since the little-endian implementation involves a bit of if-else and various
+// return paths, the following tests aims to provide full test coverage of the
+// implementation.
+TEST(MatchTest, FindLongestCommonPrefixLoad16Mismatch) {
+  const std::string x1 = "abcdefgh";
+  const std::string x2 = "abcde_";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "abcde");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "abcde");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixLoad16MatchesNoLast) {
+  const std::string x1 = "abcdef";
+  const std::string x2 = "abcdef";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "abcdef");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "abcdef");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixLoad16MatchesLastCharMismatches) {
+  const std::string x1 = "abcdefg";
+  const std::string x2 = "abcdef_h";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "abcdef");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "abcdef");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixLoad16MatchesLastMatches) {
+  const std::string x1 = "abcde";
+  const std::string x2 = "abcdefgh";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "abcde");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "abcde");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixSize8Load64Mismatches) {
+  const std::string x1 = "abcdefghijk";
+  const std::string x2 = "abcde_g_";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "abcde");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "abcde");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixSize8Load64Matches) {
+  const std::string x1 = "abcdefgh";
+  const std::string x2 = "abcdefgh";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "abcdefgh");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "abcdefgh");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixSize15Load64Mismatches) {
+  const std::string x1 = "012345670123456";
+  const std::string x2 = "0123456701_34_6";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "0123456701");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "0123456701");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixSize15Load64Matches) {
+  const std::string x1 = "012345670123456";
+  const std::string x2 = "0123456701234567";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "012345670123456");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "012345670123456");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixSizeFirstByteOfLast8BytesMismatch) {
+  const std::string x1 = "012345670123456701234567";
+  const std::string x2 = "0123456701234567_1234567";
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), "0123456701234567");
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), "0123456701234567");
+}
+
+TEST(MatchTest, FindLongestCommonPrefixLargeLastCharMismatches) {
+  const std::string x1(300, 'x');
+  std::string x2 = x1;
+  x2.back() = '#';
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), std::string(299, 'x'));
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), std::string(299, 'x'));
+}
+
+TEST(MatchTest, FindLongestCommonPrefixLargeFullMatch) {
+  const std::string x1(300, 'x');
+  const std::string x2 = x1;
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x1, x2), std::string(300, 'x'));
+  EXPECT_EQ(absl::FindLongestCommonPrefix(x2, x1), std::string(300, 'x'));
+}
+
+TEST(MatchTest, FindLongestCommonSuffix) {
+  EXPECT_EQ(absl::FindLongestCommonSuffix("", ""), "");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("", "abc"), "");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("abc", ""), "");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("bc", "abc"), "bc");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("abc", "bc"), "bc");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("abc", "dbc"), "bc");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("bcd", "abcd"), "bcd");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("abcd", "abcd"), "abcd");
+  EXPECT_EQ(absl::FindLongestCommonSuffix("abcd", "efgh"), "");
+
+  // "abcde" v. "cde" but in the middle of other data
+  EXPECT_EQ(absl::FindLongestCommonSuffix(
+                absl::string_view("1234 abcdef").substr(5, 5),
+                absl::string_view("5678 abcdef").substr(7, 3)),
+            "cde");
+}
+
 }  // namespace
diff --git a/third_party/abseil-cpp/absl/strings/numbers.cc b/third_party/abseil-cpp/absl/strings/numbers.cc
index 7dc8922..c43c6bcc1 100644
--- a/third_party/abseil-cpp/absl/strings/numbers.cc
+++ b/third_party/abseil-cpp/absl/strings/numbers.cc
@@ -242,6 +242,15 @@
 
 }  // namespace
 
+void numbers_internal::PutTwoDigits(uint32_t i, char* buf) {
+  assert(i < 100);
+  uint32_t base = kTwoZeroBytes;
+  uint32_t div10 = (i * kDivisionBy10Mul) / kDivisionBy10Div;
+  uint32_t mod10 = i - 10u * div10;
+  base += div10 + (mod10 << 8);
+  little_endian::Store16(buf, static_cast<uint16_t>(base));
+}
+
 char* numbers_internal::FastIntToBuffer(uint32_t n, char* out_str) {
   if (n < 100) {
     out_str = EncodeHundred(n, out_str);
@@ -1090,25 +1099,6 @@
     "e0e1e2e3e4e5e6e7e8e9eaebecedeeef"
     "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff";
 
-ABSL_CONST_INIT ABSL_DLL const char two_ASCII_digits[100][2] = {
-    {'0', '0'}, {'0', '1'}, {'0', '2'}, {'0', '3'}, {'0', '4'}, {'0', '5'},
-    {'0', '6'}, {'0', '7'}, {'0', '8'}, {'0', '9'}, {'1', '0'}, {'1', '1'},
-    {'1', '2'}, {'1', '3'}, {'1', '4'}, {'1', '5'}, {'1', '6'}, {'1', '7'},
-    {'1', '8'}, {'1', '9'}, {'2', '0'}, {'2', '1'}, {'2', '2'}, {'2', '3'},
-    {'2', '4'}, {'2', '5'}, {'2', '6'}, {'2', '7'}, {'2', '8'}, {'2', '9'},
-    {'3', '0'}, {'3', '1'}, {'3', '2'}, {'3', '3'}, {'3', '4'}, {'3', '5'},
-    {'3', '6'}, {'3', '7'}, {'3', '8'}, {'3', '9'}, {'4', '0'}, {'4', '1'},
-    {'4', '2'}, {'4', '3'}, {'4', '4'}, {'4', '5'}, {'4', '6'}, {'4', '7'},
-    {'4', '8'}, {'4', '9'}, {'5', '0'}, {'5', '1'}, {'5', '2'}, {'5', '3'},
-    {'5', '4'}, {'5', '5'}, {'5', '6'}, {'5', '7'}, {'5', '8'}, {'5', '9'},
-    {'6', '0'}, {'6', '1'}, {'6', '2'}, {'6', '3'}, {'6', '4'}, {'6', '5'},
-    {'6', '6'}, {'6', '7'}, {'6', '8'}, {'6', '9'}, {'7', '0'}, {'7', '1'},
-    {'7', '2'}, {'7', '3'}, {'7', '4'}, {'7', '5'}, {'7', '6'}, {'7', '7'},
-    {'7', '8'}, {'7', '9'}, {'8', '0'}, {'8', '1'}, {'8', '2'}, {'8', '3'},
-    {'8', '4'}, {'8', '5'}, {'8', '6'}, {'8', '7'}, {'8', '8'}, {'8', '9'},
-    {'9', '0'}, {'9', '1'}, {'9', '2'}, {'9', '3'}, {'9', '4'}, {'9', '5'},
-    {'9', '6'}, {'9', '7'}, {'9', '8'}, {'9', '9'}};
-
 bool safe_strto32_base(absl::string_view text, int32_t* value, int base) {
   return safe_int_internal<int32_t>(text, value, base);
 }
diff --git a/third_party/abseil-cpp/absl/strings/numbers.h b/third_party/abseil-cpp/absl/strings/numbers.h
index 86c84ed..d7630ce 100644
--- a/third_party/abseil-cpp/absl/strings/numbers.h
+++ b/third_party/abseil-cpp/absl/strings/numbers.h
@@ -125,8 +125,6 @@
 ABSL_DLL extern const char kHexChar[17];  // 0123456789abcdef
 ABSL_DLL extern const char
     kHexTable[513];  // 000102030405060708090a0b0c0d0e0f1011...
-ABSL_DLL extern const char
-    two_ASCII_digits[100][2];  // 00, 01, 02, 03...
 
 // Writes a two-character representation of 'i' to 'buf'. 'i' must be in the
 // range 0 <= i < 100, and buf must have space for two characters. Example:
@@ -134,10 +132,7 @@
 //   PutTwoDigits(42, buf);
 //   // buf[0] == '4'
 //   // buf[1] == '2'
-inline void PutTwoDigits(size_t i, char* buf) {
-  assert(i < 100);
-  memcpy(buf, two_ASCII_digits[i], 2);
-}
+void PutTwoDigits(uint32_t i, char* buf);
 
 // safe_strto?() functions for implementing SimpleAtoi()
 
diff --git a/third_party/abseil-cpp/absl/strings/str_cat.cc b/third_party/abseil-cpp/absl/strings/str_cat.cc
index 6c198f8..2e49c31 100644
--- a/third_party/abseil-cpp/absl/strings/str_cat.cc
+++ b/third_party/abseil-cpp/absl/strings/str_cat.cc
@@ -146,7 +146,13 @@
 
 void StrAppend(std::string* dest, const AlphaNum& a) {
   ASSERT_NO_OVERLAP(*dest, a);
-  dest->append(a.data(), a.size());
+  std::string::size_type old_size = dest->size();
+  strings_internal::STLStringResizeUninitializedAmortized(dest,
+                                                          old_size + a.size());
+  char* const begin = &(*dest)[0];
+  char* out = begin + old_size;
+  out = Append(out, a);
+  assert(out == begin + dest->size());
 }
 
 void StrAppend(std::string* dest, const AlphaNum& a, const AlphaNum& b) {
diff --git a/third_party/abseil-cpp/absl/strings/str_cat.h b/third_party/abseil-cpp/absl/strings/str_cat.h
index fcd48c4..d5f71ff 100644
--- a/third_party/abseil-cpp/absl/strings/str_cat.h
+++ b/third_party/abseil-cpp/absl/strings/str_cat.h
@@ -374,14 +374,24 @@
   const char* data() const { return piece_.data(); }
   absl::string_view Piece() const { return piece_; }
 
-  // Normal enums are already handled by the integer formatters.
-  // This overload matches only scoped enums.
+  // Match unscoped enums.  Use integral promotion so that a `char`-backed
+  // enum becomes a wider integral type AlphaNum will accept.
   template <typename T,
             typename = typename std::enable_if<
-                std::is_enum<T>{} && !std::is_convertible<T, int>{} &&
+                std::is_enum<T>{} && std::is_convertible<T, int>{} &&
                 !strings_internal::HasAbslStringify<T>::value>::type>
   AlphaNum(T e)  // NOLINT(runtime/explicit)
-      : AlphaNum(static_cast<typename std::underlying_type<T>::type>(e)) {}
+      : AlphaNum(+e) {}
+
+  // This overload matches scoped enums.  We must explicitly cast to the
+  // underlying type, but use integral promotion for the same reason as above.
+  template <typename T,
+            typename std::enable_if<
+                std::is_enum<T>{} && !std::is_convertible<T, int>{} &&
+                    !strings_internal::HasAbslStringify<T>::value,
+                char*>::type = nullptr>
+  AlphaNum(T e)  // NOLINT(runtime/explicit)
+      : AlphaNum(+static_cast<typename std::underlying_type<T>::type>(e)) {}
 
   // vector<bool>::reference and const_reference require special help to
   // convert to `AlphaNum` because it requires two user defined conversions.
diff --git a/third_party/abseil-cpp/absl/strings/str_format.h b/third_party/abseil-cpp/absl/strings/str_format.h
index fc4bf39..023e435 100644
--- a/third_party/abseil-cpp/absl/strings/str_format.h
+++ b/third_party/abseil-cpp/absl/strings/str_format.h
@@ -259,6 +259,7 @@
 // *   Characters: `char`, `signed char`, `unsigned char`
 // *   Integers: `int`, `short`, `unsigned short`, `unsigned`, `long`,
 //         `unsigned long`, `long long`, `unsigned long long`
+// *   Enums: printed as their underlying integral value
 // *   Floating-point: `float`, `double`, `long double`
 //
 // However, in the `str_format` library, a format conversion specifies a broader
diff --git a/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc b/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc
index 2e5f5329..0bea75a4 100644
--- a/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc
+++ b/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc
@@ -13,8 +13,10 @@
 //   limitations under the License.
 
 #if !defined(HAS_STRPTIME)
-#if !defined(_MSC_VER) && !defined(__MINGW32__)
-#define HAS_STRPTIME 1  // assume everyone has strptime() except windows
+#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__VXWORKS__)
+#define HAS_STRPTIME \
+  1  // assume everyone has strptime() except windows
+     // and VxWorks
 #endif
 #endif
 
diff --git a/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc b/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc
index 8553507f..e503a85 100644
--- a/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc
+++ b/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc
@@ -71,6 +71,16 @@
   const bool is_dst = tm.tm_isdst > 0;
   return tzname[is_dst];
 }
+#elif defined(__VXWORKS__)
+// Uses the globals: 'timezone' and 'tzname'.
+auto tm_gmtoff(const std::tm& tm) -> decltype(timezone + 0) {
+  const bool is_dst = tm.tm_isdst > 0;
+  return timezone + (is_dst ? 60 * 60 : 0);
+}
+auto tm_zone(const std::tm& tm) -> decltype(tzname[0]) {
+  const bool is_dst = tm.tm_isdst > 0;
+  return tzname[is_dst];
+}
 #else
 // Adapt to different spellings of the struct std::tm extension fields.
 #if defined(tm_gmtoff)
@@ -108,6 +118,7 @@
 }
 #endif  // tm_zone
 #endif
+using tm_gmtoff_t = decltype(tm_gmtoff(std::tm{}));
 
 inline std::tm* gm_time(const std::time_t* timep, std::tm* result) {
 #if defined(_WIN32) || defined(_WIN64)
@@ -154,7 +165,7 @@
 
 // Find the least time_t in [lo:hi] where local time matches offset, given:
 // (1) lo doesn't match, (2) hi does, and (3) there is only one transition.
-std::time_t find_trans(std::time_t lo, std::time_t hi, int offset) {
+std::time_t find_trans(std::time_t lo, std::time_t hi, tm_gmtoff_t offset) {
   std::tm tm;
   while (lo + 1 != hi) {
     const std::time_t mid = lo + (hi - lo) / 2;
@@ -265,10 +276,10 @@
       return {time_zone::civil_lookup::UNIQUE, tp, tp, tp};
     }
 
-    int offset = static_cast<int>(tm_gmtoff(tm0));
+    tm_gmtoff_t offset = tm_gmtoff(tm0);
     if (t0 < t1) {  // negative DST
       std::swap(t0, t1);
-      offset = static_cast<int>(tm_gmtoff(tm1));
+      offset = tm_gmtoff(tm1);
     }
 
     const std::time_t tt = find_trans(t1, t0, offset);
diff --git a/third_party/abseil-cpp/ci/linux_docker_containers.sh b/third_party/abseil-cpp/ci/linux_docker_containers.sh
index 4dfa317..a07c64c 100644
--- a/third_party/abseil-cpp/ci/linux_docker_containers.sh
+++ b/third_party/abseil-cpp/ci/linux_docker_containers.sh
@@ -15,7 +15,7 @@
 # The file contains Docker container identifiers currently used by test scripts.
 # Test scripts should source this file to get the identifiers.
 
-readonly LINUX_ALPINE_CONTAINER="gcr.io/google.com/absl-177019/alpine:20201026"
+readonly LINUX_ALPINE_CONTAINER="gcr.io/google.com/absl-177019/alpine:20230612"
 readonly LINUX_CLANG_LATEST_CONTAINER="gcr.io/google.com/absl-177019/linux_hybrid-latest:20230217"
 readonly LINUX_GCC_LATEST_CONTAINER="gcr.io/google.com/absl-177019/linux_hybrid-latest:20230517"
 readonly LINUX_GCC_FLOOR_CONTAINER="gcr.io/google.com/absl-177019/linux_gcc-floor:20230120"
diff --git a/third_party/abseil-cpp/symbols_arm64_dbg.def b/third_party/abseil-cpp/symbols_arm64_dbg.def
index 86fc0592..a9b5720 100644
--- a/third_party/abseil-cpp/symbols_arm64_dbg.def
+++ b/third_party/abseil-cpp/symbols_arm64_dbg.def
@@ -26,7 +26,6 @@
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAUTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAV?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
-    ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAPEAVCordzHandle@cord_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
@@ -37,7 +36,6 @@
     ??$?0$$TX@?$__compressed_pair_elem@PEAUTransitionType@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAV?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
-    ??$?0$$TX@?$__compressed_pair_elem@PEAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$V@?$__temp_value@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@@Z
     ??$?0$$V@?$__temp_value@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@@Z
     ??$?0$00X@?$__compressed_pair@U?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@23@@__Cr@std@@QEAA@XZ
@@ -86,7 +84,6 @@
     ??$?0AEAPEAVZoneInfoSource@cctz@time_internal@absl@@U__value_init_tag@__Cr@std@@@?$__compressed_pair@PEAVZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAPEAVZoneInfoSource@cctz@time_internal@absl@@$$QEAU__value_init_tag@12@@Z
     ??$?0AEAPEAVZoneInfoSource@cctz@time_internal@absl@@X@?$__compressed_pair_elem@PEAVZoneInfoSource@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@AEAPEAVZoneInfoSource@cctz@time_internal@absl@@@Z
     ??$?0AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU0123@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@QEAA@AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
-    ??$?0AEAPEBVFormatArgImpl@str_format_internal@absl@@PEAV012@$0A@@?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@QEAA@AEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
     ??$?0AEAPEBVImpl@time_zone@cctz@time_internal@absl@@U__value_init_tag@__Cr@std@@@?$__compressed_pair@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$default_delete@$$CBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAPEBVImpl@time_zone@cctz@time_internal@absl@@$$QEAU__value_init_tag@12@@Z
     ??$?0AEAPEBVImpl@time_zone@cctz@time_internal@absl@@X@?$__compressed_pair_elem@PEBVImpl@time_zone@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@AEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$?0AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@12@$0A@@?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@QEAA@AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@12@@Z
@@ -111,6 +108,9 @@
     ??$?0AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@Z
     ??$?0AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEAA@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$$QEAI@Z
     ??$?0AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@?$CompressedTupleImpl@V?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@U?$integer_sequence@_K$0A@$00@3@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$$QEAI@Z
+    ??$?0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@?$Storage@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
+    ??$?0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEAA@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$$QEAI@Z
+    ??$?0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@?$CompressedTupleImpl@V?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@U?$integer_sequence@_K$0A@$00@3@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$$QEAI@Z
     ??$?0AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@$$Z$$V$$Z$0A@$$Z$S@?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@AEAA@Upiecewise_construct_t@12@AEAV?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@AEAV?$tuple@$$V@12@U?$__tuple_indices@$0A@@12@U?$__tuple_indices@$S@12@@Z
     ??$?0AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@$$Z$$V@?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QEAA@Upiecewise_construct_t@12@V?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@V?$tuple@$$V@12@@Z
     ??$?0AEBVCord@absl@@$0A@@?$optional@VCord@absl@@@absl@@QEAA@AEBVCord@1@@Z
@@ -144,8 +144,7 @@
     ??$?0PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU0123@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@QEAA@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
     ??$?0PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU0123@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@QEAA@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
     ??$?0PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@QEAA@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@12@@Z
-    ??$?0PEBVFormatArgImpl@str_format_internal@absl@@PEAV012@$0A@@?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@QEAA@$$QEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
-    ??$?0PEBVFormatArgImpl@str_format_internal@absl@@PEBV012@$0A@@?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@QEAA@$$QEAPEBVFormatArgImpl@str_format_internal@absl@@0@Z
+    ??$?0PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEAA@PEBVFormatArgImpl@str_format_internal@1@0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
     ??$?0U?$array@D$0DKJI@@__Cr@std@@XU012@H@?$Span@D@absl@@QEAA@AEAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$?0U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@X@?$__compressed_pair_elem@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@$$QEAU?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@12@@Z
     ??$?0U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@X@?$__compressed_pair_elem@U?$default_delete@VCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@$$QEAU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@12@@Z
@@ -195,11 +194,11 @@
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Uminute_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QEAA@AEBV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PEAX@Z
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Umonth_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QEAA@AEBV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PEAX@Z
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QEAA@AEBV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PEAX@Z
+    ??$?0V?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@XV01@H@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@AEBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@@Z
     ??$?0V?$Span@D@absl@@XV01@$0A@@?$Span@$$CBD@absl@@QEAA@AEBV?$Span@D@1@@Z
     ??$?0V?$Span@D@absl@@XV01@$0A@@?$Span@D@absl@@QEAA@AEAV01@@Z
     ??$?0V?$Span@I@absl@@XV01@$0A@@?$Span@$$CBI@absl@@QEAA@AEBV?$Span@I@1@@Z
     ??$?0V?$Span@I@absl@@XV01@$0A@@?$Span@I@absl@@QEAA@AEAV01@@Z
-    ??$?0V?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@XV01@$0A@@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@AEBV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@@Z
     ??$?0V?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@X@?$__compressed_pair_elem@V?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@$00$0A@@__Cr@std@@QEAA@$$QEAV?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@12@@Z
     ??$?0V?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@X@?$__compressed_pair_elem@V?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@$00$0A@@__Cr@std@@QEAA@$$QEAV?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@12@@Z
     ??$?0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V012@$0A@@?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0@Z
@@ -231,7 +230,6 @@
     ??$?0V?$reverse_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$reverse_iterator@PEAUTransition@cctz@time_internal@absl@@@12@0@Z
     ??$?0V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@12@0@Z
     ??$?0V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@12@0@Z
-    ??$?0V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@XV012@H@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@AEBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@Z
     ??$?0VBufferRawSink@str_format_internal@absl@@$0A@@FormatRawSinkImpl@str_format_internal@absl@@QEAA@PEAVBufferRawSink@12@@Z
     ??$?0VFILERawSink@str_format_internal@absl@@$0A@@FormatRawSinkImpl@str_format_internal@absl@@QEAA@PEAVFILERawSink@12@@Z
     ??$?0VFallbackCrcMemcpyEngine@crc_internal@absl@@@?$default_delete@VCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@QEAA@AEBU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@12@PEAX@Z
@@ -293,7 +291,6 @@
     ??$?OUsecond_tag@detail@cctz@time_internal@absl@@U01234@@detail@cctz@time_internal@absl@@YA_NAEBV?$civil_time@Usecond_tag@detail@cctz@time_internal@absl@@@0123@0@Z
     ??$?PUsecond_tag@detail@cctz@time_internal@absl@@U01234@@detail@cctz@time_internal@absl@@YA_NAEBV?$civil_time@Usecond_tag@detail@cctz@time_internal@absl@@@0123@0@Z
     ??$?R$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@U0123@$0A@@__copy_trivial@__Cr@std@@QEBA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@12@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU4567@@Z
-    ??$?R$$CBVFormatArgImpl@str_format_internal@absl@@V012@$0A@@__copy_trivial@__Cr@std@@QEBA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@12@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV456@@Z
     ??$?RAEAPEBDAEAHAEAY0LLI@DAEBQEBDPEAD@?$AtomicHook@P6AXPEBDH000@Z@base_internal@absl@@QEBAXAEAPEBDAEAHAEAY0LLI@DAEBQEBD$$QEAPEAD@Z
     ??$?RAEAW4LogSeverity@absl@@AEAPEBDAEAHPEAPEADPEAH@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@QEBA_NAEAW4LogSeverity@2@AEAPEBDAEAH$$QEAPEAPEAD$$QEAPEAH@Z
     ??$?RAEAY04$$CBDPEAVCondVar@absl@@@?$AtomicHook@P6AXPEBDPEBX@Z@base_internal@absl@@QEBAXAEAY04$$CBD$$QEAPEAVCondVar@2@@Z
@@ -391,6 +388,7 @@
     ??$ConstructElements@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@1@AEAV?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@01@_K@Z
     ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@01@_K@Z
     ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z
+    ??$ConstructElements@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$ConsumeConversion@$00@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$ConsumeConversion@$0A@@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$Convert@VFormatArgImpl@str_format_internal@absl@@@FormatArgImplFriend@str_format_internal@absl@@SA_NVFormatArgImpl@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -482,21 +480,19 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHAEBVCord@0@0_K@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NAEBVCord@0@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@_K@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NAEBVCord@0@0_K@Z
+    ??$GetData@$$CBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@@Z
     ??$GetData@$$CBV?$Span@D@absl@@@span_internal@absl@@YAPEADAEBV?$Span@D@1@@Z
     ??$GetData@$$CBV?$Span@I@absl@@@span_internal@absl@@YAPEAIAEBV?$Span@I@1@@Z
-    ??$GetData@$$CBV?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@@span_internal@absl@@YAPEAVFormatArgImpl@str_format_internal@1@AEBV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@@Z
     ??$GetData@$$CBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBDAEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ??$GetData@$$CBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@Z
     ??$GetData@U?$array@D$0DKJI@@__Cr@std@@@span_internal@absl@@YAPEADAEAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$GetData@V?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEAPEAVLogSink@1@AEAV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@1@@Z
     ??$GetData@V?$Span@D@absl@@@span_internal@absl@@YAPEADAEAV?$Span@D@1@@Z
     ??$GetData@V?$Span@I@absl@@@span_internal@absl@@YAPEAIAEAV?$Span@I@1@@Z
     ??$GetData@V?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEAPEAVLogSink@1@AEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@Z
+    ??$GetDataImpl@$$CBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@D@Z
     ??$GetDataImpl@$$CBV?$Span@D@absl@@@span_internal@absl@@YAPEADAEBV?$Span@D@1@D@Z
     ??$GetDataImpl@$$CBV?$Span@I@absl@@@span_internal@absl@@YAPEAIAEBV?$Span@I@1@D@Z
-    ??$GetDataImpl@$$CBV?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@@span_internal@absl@@YAPEAVFormatArgImpl@str_format_internal@1@AEBV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@D@Z
     ??$GetDataImpl@$$CBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBDAEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@D@Z
-    ??$GetDataImpl@$$CBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@D@Z
     ??$GetDataImpl@U?$array@D$0DKJI@@__Cr@std@@@span_internal@absl@@YAPEADAEAU?$array@D$0DKJI@@__Cr@std@@D@Z
     ??$GetDataImpl@V?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEAPEAVLogSink@1@AEAV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@1@D@Z
     ??$GetDataImpl@V?$Span@D@absl@@@span_internal@absl@@YAPEADAEAV?$Span@D@1@D@Z
@@ -515,6 +511,7 @@
     ??$Init@PEBD@FormatArgImpl@str_format_internal@absl@@AEAAXAEBQEBD@Z
     ??$Init@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@FormatArgImpl@str_format_internal@absl@@AEAAXAEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??$Init@_J@FormatArgImpl@str_format_internal@absl@@AEAAXAEB_J@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@12@_K@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@H@UniquelyRepresentedProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@AEBH@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@HashValueProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@V?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@@HashValueProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@AEBV?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@@Z
@@ -561,7 +558,6 @@
     ??$MakeSpan@$SU?$array@D$0DKJI@@__Cr@std@@@absl@@YA?AV?$Span@D@0@AEAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$MakeSpan@$SV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@@absl@@YA?AV?$Span@PEAVLogSink@absl@@@0@AEAV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@0@@Z
     ??$MakeSpan@$SV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@absl@@YA?AV?$Span@PEAVLogSink@absl@@@0@AEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@Z
-    ??$MakeSpan@$SVFormatArgImpl@str_format_internal@absl@@@absl@@YA?AV?$Span@VFormatArgImpl@str_format_internal@absl@@@0@PEAVFormatArgImpl@str_format_internal@0@_K@Z
     ??$MaskOfLength@I@crc_internal@absl@@YAIH@Z
     ??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
     ??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
@@ -673,7 +669,6 @@
     ??$TrailingZeros@_K@container_internal@absl@@YAI_K@Z
     ??$UnhidePtr@X@base_internal@absl@@YAPEAX_K@Z
     ??$__advance@PEBUTransition@cctz@time_internal@absl@@@__Cr@std@@YAXAEAPEBUTransition@cctz@time_internal@absl@@_JUrandom_access_iterator_tag@01@@Z
-    ??$__advance@PEBVFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAXAEAPEBVFormatArgImpl@str_format_internal@absl@@_JUrandom_access_iterator_tag@01@@Z
     ??$__allocate_at_least@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@01@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAPEAVCordzHandle@cord_internal@absl@@@01@AEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@01@_K@Z
@@ -683,9 +678,7 @@
     ??$__allocate_at_least@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUTransition@cctz@time_internal@absl@@@01@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUTransitionType@cctz@time_internal@absl@@@01@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUViableSubstitution@strings_internal@absl@@@01@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@_K@Z
-    ??$__allocate_at_least@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAVFormatArgImpl@str_format_internal@absl@@@01@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$__append@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
-    ??$__construct_at_end@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEBVFormatArgImpl@str_format_internal@absl@@0_K@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@UTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAUTransition@cctz@time_internal@absl@@@12@0@Z
@@ -701,14 +694,12 @@
     ??$__construct_one_at_end@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@?$vector@UConversionItem@ParsedFormatBase@str_format_internal@absl@@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX$$QEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@PEAU4567@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@PEBV456@PEAV456@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__copy_backward_trivial_impl@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@UTransition@cctz@time_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@01@PEAUTransition@cctz@time_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@UTransitionType@cctz@time_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@PEAUTransitionType@cctz@time_internal@absl@@00@Z
     ??$__copy_trivial_impl@$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
-    ??$__copy_trivial_impl@$$CBVFormatArgImpl@str_format_internal@absl@@V123@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__copy_trivial_impl@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__copy_trivial_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
     ??$__copy_trivial_impl@PEAVLogSink@absl@@PEAV12@@__Cr@std@@YA?AU?$pair@PEAPEAVLogSink@absl@@PEAPEAV12@@01@PEAPEAVLogSink@absl@@00@Z
@@ -732,7 +723,6 @@
     ??$__debug_db_erase_c@V?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_erase_c@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_erase_c@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
-    ??$__debug_db_erase_c@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPEAV?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@01@@Z
     ??$__debug_db_insert_c@V?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@01@@Z
@@ -742,7 +732,6 @@
     ??$__debug_db_insert_c@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@01@@Z
-    ??$__debug_db_insert_c@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPEAV?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@01@@Z
@@ -751,7 +740,6 @@
     ??$__debug_db_invalidate_all@V?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
-    ??$__debug_db_invalidate_all@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__destroy_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$__destroy_at@PEAUCordRep@cord_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUCordRep@cord_internal@absl@@@Z
     ??$__destroy_at@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@Z
@@ -765,10 +753,8 @@
     ??$__destroy_at@UTransition@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransition@cctz@time_internal@absl@@@Z
     ??$__destroy_at@UTransitionType@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ??$__destroy_at@UViableSubstitution@strings_internal@absl@@$0A@@__Cr@std@@YAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ??$__destroy_at@VFormatArgImpl@str_format_internal@absl@@$0A@@__Cr@std@@YAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU6789@PEAU6789@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU6789@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PEBVFormatArgImpl@str_format_internal@absl@@PEBV678@PEAV678@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V623@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__move_backward_trivial@23@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV6789absl@@PEAPEAPEBV6789absl@@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__move_backward_trivial@23@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU6789@PEAPEAU6789@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
@@ -838,9 +824,7 @@
     ??$__rewrap_iter@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@U?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_iter@PEAUTransition@cctz@time_internal@absl@@PEAU1234@U?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_iter@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@U?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@0@Z
-    ??$__rewrap_iter@PEAVFormatArgImpl@str_format_internal@absl@@PEAV123@U?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@0@Z
     ??$__rewrap_iter@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@U?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@0@Z
-    ??$__rewrap_iter@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@U?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@0@Z
     ??$__rewrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@V201@0@Z
     ??$__rewrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@V201@0@Z
     ??$__rewrap_iter@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@V201@0@Z
@@ -856,7 +840,6 @@
     ??$__rewrap_range@PEAUTransition@cctz@time_internal@absl@@PEAU1234@PEAU1234@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_range@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@PEAU1234@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_range@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@PEBU1234@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@0@Z
-    ??$__rewrap_range@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@PEBV123@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@0@Z
     ??$__rewrap_range@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVLogSink@absl@@@01@V201@0@Z
@@ -866,7 +849,6 @@
     ??$__rewrap_range@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@01@V201@0@Z
     ??$__to_address@$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@@Z
-    ??$__to_address@$$CBVFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@@Z
     ??$__to_address@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@YAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV23456@@Z
     ??$__to_address@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@YAPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU2345@@Z
     ??$__to_address@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@YAPEAPEAVCordzHandle@cord_internal@absl@@PEAPEAV234@@Z
@@ -877,8 +859,6 @@
     ??$__to_address@UTransition@cctz@time_internal@absl@@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@@Z
     ??$__to_address@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@@Z
     ??$__to_address@UViableSubstitution@strings_internal@absl@@@__Cr@std@@YAPEAUViableSubstitution@strings_internal@absl@@PEAU234@@Z
-    ??$__to_address@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@@Z
-    ??$__uninitialized_allocator_copy@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@VFormatArgImpl@str_format_internal@absl@@V456@$0A@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@PEBV234@1PEAV234@@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@V423@PEAVCordzHandle@cord_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@AEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@01@V201@11@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@23@V423@PEAVLogSink@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVLogSink@absl@@@01@AEAV?$allocator@PEAVLogSink@absl@@@01@V201@11@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@V?$reverse_iterator@PEAPEBVCordzHandle@cord_internal@absl@@@23@V423@PEBVCordzHandle@cord_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAPEBVCordzHandle@cord_internal@absl@@@01@AEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@01@V201@11@Z
@@ -890,7 +870,6 @@
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@23@V423@UViableSubstitution@strings_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@01@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@V201@11@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@PEAU4567@$0A@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@PEBV456@PEAV456@$0A@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__move_backward_trivial@23@@__Cr@std@@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV45678@PEAPEAPEBV45678@$0A@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__move_backward_trivial@23@@__Cr@std@@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@PEAPEAU4567@$0A@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
@@ -914,9 +893,7 @@
     ??$__unwrap_iter@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@U?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU2345@@Z
     ??$__unwrap_iter@PEAUTransition@cctz@time_internal@absl@@U?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@@Z
     ??$__unwrap_iter@PEAUTransitionType@cctz@time_internal@absl@@U?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@@Z
-    ??$__unwrap_iter@PEAVFormatArgImpl@str_format_internal@absl@@U?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@@Z
     ??$__unwrap_iter@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@U?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@@Z
-    ??$__unwrap_iter@PEBVFormatArgImpl@str_format_internal@absl@@U?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@@Z
     ??$__unwrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@V201@@Z
     ??$__unwrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@V201@@Z
     ??$__unwrap_iter@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@U?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@V201@@Z
@@ -932,7 +909,6 @@
     ??$__unwrap_range@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?A?<auto>@@PEAUTransition@cctz@time_internal@absl@@0@Z
     ??$__unwrap_range@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?A?<auto>@@PEAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$__unwrap_range@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@YA?A?<auto>@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ??$__unwrap_range@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@YA?A?<auto>@@PEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$__unwrap_range@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0@Z
     ??$__unwrap_range@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@0@Z
     ??$__unwrap_range@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@01@0@Z
@@ -952,8 +928,6 @@
     ??$__validate_iter_reference@AEAV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAXXZ
     ??$advance@PEBUTransition@cctz@time_internal@absl@@_J@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAXAEAPEBUTransition@cctz@time_internal@absl@@_J@Z
     ??$advance@PEBUTransition@cctz@time_internal@absl@@_J_JX@__Cr@std@@YAXAEAPEBUTransition@cctz@time_internal@absl@@_J@Z
-    ??$advance@PEBVFormatArgImpl@str_format_internal@absl@@_K_KX@__Cr@std@@YAXAEAPEBVFormatArgImpl@str_format_internal@absl@@_K@Z
-    ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$call_once@A6AXXZ$$V@absl@@YAXAEAVonce_flag@0@A6AXXZ@Z
@@ -988,6 +962,7 @@
     ??$construct@UTransitionType@cctz@time_internal@absl@@U1234@XX@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PEAUTransitionType@cctz@time_internal@absl@@$$QEAU4567@@Z
     ??$construct@UViableSubstitution@strings_internal@absl@@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV456@AEA_KXX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@12@AEBV712@AEA_K@Z
     ??$construct@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
+    ??$construct@VFormatArgImpl@str_format_internal@absl@@AEBV123@XX@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PEAVFormatArgImpl@str_format_internal@absl@@AEBV456@@Z
     ??$construct_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV12345@PEAPEAPEBV12345@@__Cr@std@@YAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV23456@AEBQEAPEBV23456@@Z
     ??$construct_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@PEAPEAPEBV12345@@__Cr@std@@YAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV23456@$$QEAPEAPEBV23456@@Z
     ??$construct_at@PEAUCordRep@cord_internal@absl@@AEBQEAU123@PEAPEAU123@@__Cr@std@@YAPEAPEAUCordRep@cord_internal@absl@@PEAPEAU234@AEBQEAU234@@Z
@@ -1012,7 +987,7 @@
     ??$construct_at@UTransitionType@cctz@time_internal@absl@@$$VPEAU1234@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@@Z
     ??$construct_at@UTransitionType@cctz@time_internal@absl@@U1234@PEAU1234@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@$$QEAU2345@@Z
     ??$construct_at@UViableSubstitution@strings_internal@absl@@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV456@AEA_KPEAU123@@__Cr@std@@YAPEAUViableSubstitution@strings_internal@absl@@PEAU234@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@01@AEBV501@AEA_K@Z
-    ??$copy@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEBV234@0PEAV234@@Z
+    ??$construct_at@VFormatArgImpl@str_format_internal@absl@@AEBV123@PEAV123@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@AEBV234@@Z
     ??$copy@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V201@@Z
     ??$countl_zero@_K@absl@@YAH_K@Z
     ??$countr_zero@I@absl@@YAHI@Z
@@ -1030,7 +1005,6 @@
     ??$destroy@UTransition@cctz@time_internal@absl@@XX@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PEAUTransition@cctz@time_internal@absl@@@Z
     ??$destroy@UTransitionType@cctz@time_internal@absl@@XX@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PEAUTransitionType@cctz@time_internal@absl@@@Z
     ??$destroy@UViableSubstitution@strings_internal@absl@@XX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@@Z
-    ??$destroy@VFormatArgImpl@str_format_internal@absl@@XX@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PEAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$destroy_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$destroy_at@PEAUCordRep@cord_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUCordRep@cord_internal@absl@@@Z
     ??$destroy_at@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@Z
@@ -1044,7 +1018,6 @@
     ??$destroy_at@UTransition@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransition@cctz@time_internal@absl@@@Z
     ??$destroy_at@UTransitionType@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ??$destroy_at@UViableSubstitution@strings_internal@absl@@$0A@@__Cr@std@@YAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ??$destroy_at@VFormatArgImpl@str_format_internal@absl@@$0A@@__Cr@std@@YAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$distance@PEBUPayload@status_internal@absl@@@__Cr@std@@YA_JPEBUPayload@status_internal@absl@@0@Z
     ??$distance@PEBUTransition@cctz@time_internal@absl@@@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SA_JPEBUTransition@cctz@time_internal@absl@@0@Z
     ??$distance@PEBUTransition@cctz@time_internal@absl@@@__Cr@std@@YA_JPEBUTransition@cctz@time_internal@absl@@0@Z
@@ -1074,6 +1047,7 @@
     ??$forward@AEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@YAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@AEAV123@@Z
     ??$forward@AEA_K@absl@@YAAEA_KAEA_K@Z
     ??$forward@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@YAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@AEBV123@@Z
+    ??$forward@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@YAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@AEBV123@@Z
     ??$forward@AEBVCord@absl@@@absl@@YAAEBVCord@0@AEBV10@@Z
     ??$forward@H@absl@@YA$$QEAHAEAH@Z
     ??$forward@I@absl@@YA$$QEAIAEAI@Z
@@ -1093,6 +1067,8 @@
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@absl@@@container_internal@absl@@QEGAAAEAPEAUPayload@status_internal@2@XZ
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEA_KXZ
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGBAAEB_KXZ
+    ??$get@$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEA_KXZ
+    ??$get@$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGBAAEB_KXZ
     ??$get@$00@?$CompressedTuple@_KVHashtablezInfoHandle@container_internal@absl@@@container_internal@absl@@QEGAAAEAVHashtablezInfoHandle@12@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@H@__Cr@std@@_K@container_internal@absl@@QEGAAAEAV?$allocator@H@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@PEAPEAUCordRep@cord_internal@absl@@@container_internal@absl@@QEGAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@XZ
@@ -1102,6 +1078,7 @@
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@absl@@@container_internal@absl@@QEGAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGBAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ??$get@$0A@@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@_KVHashtablezInfoHandle@container_internal@absl@@@container_internal@absl@@QEGAAAEA_KXZ
     ??$hash@V?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@$0A@@MixingHashState@hash_internal@absl@@SA_KAEBV?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@@Z
     ??$hash@V?$tuple@AEB_K@__Cr@std@@$0A@@MixingHashState@hash_internal@absl@@SA_KAEBV?$tuple@AEB_K@__Cr@std@@@Z
@@ -1123,7 +1100,6 @@
     ??$make_pair@AEAPEAUTransitionType@cctz@time_internal@absl@@AEAPEAU1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@AEAPEAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$make_pair@AEAPEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@AEAPEAUTransitionType@cctz@time_internal@absl@@$$QEAPEAU3456@@Z
     ??$make_pair@AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
-    ??$make_pair@AEAPEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@AEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
     ??$make_pair@AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$make_pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@$$QEAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@0@Z
     ??$make_pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@$$QEAPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
@@ -1132,7 +1108,6 @@
     ??$make_pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@$$QEAPEAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$make_pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
     ??$make_pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$make_pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@$$QEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
     ??$make_pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$make_pair@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@YA?AU?$pair@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@01@$$QEAV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@0@Z
     ??$make_pair@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@YA?AU?$pair@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@01@$$QEAV?$reverse_iterator@PEAPEAVLogSink@absl@@@01@0@Z
@@ -1222,6 +1197,7 @@
     ??0?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@QEAA@AEBV?$move_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@@Z
     ??0?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAA@AEBQEBUPayload@status_internal@2@@Z
     ??0?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAA@AEBV?$move_iterator@PEAUPayload@status_internal@absl@@@__Cr@std@@@Z
+    ??0?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@QEAA@AEBQEBVFormatArgImpl@str_format_internal@2@@Z
     ??0?$Layout@_KPEAUCordRep@cord_internal@absl@@I@container_internal@absl@@QEAA@_K00@Z
     ??0?$LayoutImpl@V?$tuple@_KPEAUCordRep@cord_internal@absl@@I@__Cr@std@@U?$integer_sequence@_K$0A@$00$01@absl@@U45@@internal_layout@container_internal@absl@@QEAA@_K00@Z
     ??0?$LayoutImpl@V?$tuple@_KPEAUCordRep@cord_internal@absl@@I@__Cr@std@@U?$integer_sequence@_K$0A@$00@absl@@U?$integer_sequence@_K$0A@$00$01@5@@internal_layout@container_internal@absl@@QEAA@_K0@Z
@@ -1238,20 +1214,19 @@
     ??0?$Span@$$CBD@absl@@QEAA@XZ
     ??0?$Span@$$CBI@absl@@QEAA@PEBI_K@Z
     ??0?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@PEBVFormatArgImpl@str_format_internal@1@_K@Z
-    ??0?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@XZ
     ??0?$Span@D@absl@@QEAA@PEAD_K@Z
     ??0?$Span@D@absl@@QEAA@XZ
     ??0?$Span@I@absl@@QEAA@PEAI_K@Z
     ??0?$Span@PEAVLogSink@absl@@@absl@@QEAA@PEAPEAVLogSink@1@_K@Z
     ??0?$Span@QEAUCordRep@cord_internal@absl@@@absl@@QEAA@PEBQEAUCordRep@cord_internal@1@_K@Z
     ??0?$Span@QEAX@absl@@QEAA@PEBQEAX_K@Z
-    ??0?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@PEAVFormatArgImpl@str_format_internal@1@_K@Z
     ??0?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@Z
     ??0?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
+    ??0?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
     ??0?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@12@_K@Z
     ??0?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@12@_K@Z
     ??0?$__atomic_base@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z$0A@@__Cr@std@@QEAA@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z@Z
@@ -1287,7 +1262,6 @@
     ??0?$__compressed_pair_elem@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
     ??0?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
     ??0?$__compressed_pair_elem@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
-    ??0?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
     ??0?$__cxx_atomic_base_impl@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z@__Cr@std@@QEAA@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z@Z
     ??0?$__cxx_atomic_base_impl@PEAUHashtablezInfo@container_internal@absl@@@__Cr@std@@QEAA@PEAUHashtablezInfo@container_internal@absl@@@Z
     ??0?$__cxx_atomic_base_impl@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@QEAA@PEAVCordzHandle@cord_internal@absl@@@Z
@@ -1436,7 +1410,6 @@
     ??0?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??0?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??0?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@QEAA@XZ
-    ??0?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??0AlphaNum@absl@@QEAA@H@Z
     ??0AlphaNum@absl@@QEAA@PEBD@Z
     ??0AlphaNum@absl@@QEAA@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
@@ -1601,7 +1574,6 @@
     ??0_ConstructTransaction@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
     ??0_ConstructTransaction@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
     ??0_ConstructTransaction@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
-    ??0_ConstructTransaction@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
     ??0__deque_block_range@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
     ??0__deque_range@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@0@Z
     ??0__destroy_vector@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
@@ -1609,7 +1581,6 @@
     ??0__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
     ??0__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
     ??0__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
-    ??0__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
     ??0absolute_lookup@time_zone@cctz@time_internal@absl@@QEAA@XZ
     ??0civil_lookup@time_zone@cctz@time_internal@absl@@QEAA@XZ
     ??0civil_transition@time_zone@cctz@time_internal@absl@@QEAA@XZ
@@ -1640,12 +1611,14 @@
     ??1?$InlinedVector@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@absl@@QEAA@XZ
     ??1?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@QEAA@XZ
     ??1?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAA@XZ
+    ??1?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEAA@XZ
     ??1?$Sample@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@QEAA@XZ
     ??1?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
+    ??1?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$__policy_func@$$A6A?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@23@@Z@__function@__Cr@std@@QEAA@XZ
     ??1?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1?$__split_buffer@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
@@ -1682,7 +1655,6 @@
     ??1?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
-    ??1?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1BadStatusOrAccess@absl@@UEAA@XZ
     ??1CRC32@crc_internal@absl@@UEAA@XZ
     ??1CRC@crc_internal@absl@@UEAA@XZ
@@ -1748,7 +1720,6 @@
     ??1_ConstructTransaction@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1_ConstructTransaction@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1_ConstructTransaction@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
-    ??1_ConstructTransaction@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1bad_optional_access@absl@@UEAA@XZ
     ??1bad_variant_access@absl@@UEAA@XZ
     ??4?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAV012@AEBV012@@Z
@@ -1976,6 +1947,7 @@
     ??R<lambda_1>@?0???$AddRing@$0A@@CordRepRing@cord_internal@absl@@CAPEAV123@PEAV123@0_K1@Z@QEBA?A?<auto>@@I@Z
     ??R<lambda_1>@?0???$Fill@$00@CordRepRing@cord_internal@absl@@AEAAXPEBV123@II@Z@QEBA?A?<auto>@@I@Z
     ??R<lambda_1>@?0???$Fill@$0A@@CordRepRing@cord_internal@absl@@AEAAXPEBV123@II@Z@QEBA?A?<auto>@@I@Z
+    ??R<lambda_1>@?0???$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@23@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAAAEAUPayload@status_internal@2@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEBAAEBUPayload@status_internal@2@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$Span@$$CBD@absl@@QEBAAEBD_K@Z@QEBA?A?<auto>@@XZ
@@ -2011,6 +1983,7 @@
     ??R<lambda_1>@?0??set_inline_size@Rep@InlineData@cord_internal@absl@@QEAAX_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_2>@?0???$AddRing@$00@CordRepRing@cord_internal@absl@@CAPEAV123@PEAV123@0_K1@Z@QEBA?A?<auto>@@I@Z
     ??R<lambda_2>@?0???$AddRing@$0A@@CordRepRing@cord_internal@absl@@CAPEAV123@PEAV123@0_K1@Z@QEBA?A?<auto>@@I@Z
+    ??R<lambda_2>@?0???$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@23@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_2>@?0??erase@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAAPEAUPayload@status_internal@3@PEBU453@@Z@QEBA?A?<auto>@@XZ
     ??R?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@absl@@QEBAXPEAUCordRep@cord_internal@1@_K1@Z
     ??R?$FunctionRef@$$A6AXV?$Span@I@absl@@@Z@absl@@QEBAXV?$Span@I@1@@Z
@@ -2047,7 +2020,6 @@
     ??R__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??R__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??R__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
-    ??R__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??Sabsl@@YA?AVuint128@0@V10@@Z
     ??Tabsl@@YA?AVuint128@0@V10@0@Z
     ??Uabsl@@YA?AVuint128@0@V10@0@Z
@@ -2106,6 +2078,7 @@
     ?AddSize@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
     ?AddSize@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
     ?AddSize@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
+    ?AddSize@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
     ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHI@Z
     ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXH_K@Z
     ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHI@Z
@@ -2127,6 +2100,7 @@
     ?Allocate@?$MallocAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@_K@Z
     ?Allocate@?$MallocAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@23@AEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@_K@Z
     ?Allocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@Z
+    ?Allocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@Z
     ?AllocatedSize@CordRepFlat@cord_internal@absl@@QEBA_KXZ
     ?AllocatedSizeToTag@cord_internal@absl@@YAE_K@Z
     ?AllocatedSizeToTagUnchecked@cord_internal@absl@@YAE_K@Z
@@ -2235,13 +2209,14 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?ComputeCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K0@Z
+    ?ComputeCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K0@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UEAAXPEAII_K@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0_K@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@PEAPEAUCordRep@cord_internal@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@3@@Z
+    ?ConstructNext@?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@3@@Z
     ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPEAV123@PEAV123@_K1@Z
     ?ConsumePrefix@absl@@YA_NPEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@@Z
@@ -2293,11 +2268,13 @@
     ?Deallocate@?$MallocAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@PEAPEAUCordRep@cord_internal@3@_K@Z
     ?Deallocate@?$MallocAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@3@_K@Z
     ?Deallocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@3@_K@Z
+    ?Deallocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@3@_K@Z
     ?DeallocateIfAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
+    ?DeallocateIfAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DecodeFrom@ProtoField@log_internal@absl@@QEAA_NPEAV?$Span@$$CBD@3@@Z
     ?DecodeWaitCycles@SpinLock@base_internal@absl@@KA_JI@Z
     ?Decrement@RefcountAndFlags@cord_internal@absl@@QEAA_NXZ
@@ -2377,7 +2354,6 @@
     ?Edges@CordRepBtree@cord_internal@absl@@QEBA?AV?$Span@QEAUCordRep@cord_internal@absl@@@3@_K0@Z
     ?EmplaceTree@InlineRep@Cord@absl@@QEAAXPEAUCordRep@cord_internal@3@AEBVInlineData@53@W4MethodIdentifier@CordzUpdateTracker@53@@Z
     ?EmplaceTree@InlineRep@Cord@absl@@QEAAXPEAUCordRep@cord_internal@3@W4MethodIdentifier@CordzUpdateTracker@53@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UEBAXPEAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPEAEXZ
     ?EmptyGroup@container_internal@absl@@YAPEAW4ctrl_t@12@XZ
     ?EmptyString@Status@absl@@CAPEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
@@ -2450,6 +2426,8 @@
     ?Find@ByString@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?Find@CordRepRing@cord_internal@absl@@QEBA?AUPosition@123@_K@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QEBAHUGraphId@23@0HQEAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
     ?FindTail@CordRepRing@cord_internal@absl@@QEBA?AUPosition@123@I_K@Z
@@ -2489,9 +2467,7 @@
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KW4FormatConversionChar@2@@Z
     ?FormatConversionCharToConvValue@str_format_internal@absl@@YA?AW4FormatConversionCharSet@2@D@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PEBDVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -2499,6 +2475,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -2547,12 +2525,15 @@
     ?GetAllocatedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetAllocatedCapacity@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetAllocatedCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
+    ?GetAllocatedCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetAllocatedData@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAHXZ
     ?GetAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetAllocatedData@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAVLogSink@3@XZ
     ?GetAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAUPayload@status_internal@3@XZ
     ?GetAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBUPayload@status_internal@3@XZ
+    ?GetAllocatedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAVFormatArgImpl@str_format_internal@3@XZ
+    ?GetAllocatedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBVFormatArgImpl@str_format_internal@3@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
@@ -2562,6 +2543,7 @@
     ?GetAllocator@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ?GetAllocator@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ?GetAndroidNativeTag@log_internal@absl@@YAPEBDXZ
     ?GetAppendBuffer@CordRepBtree@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z
     ?GetAppendBuffer@CordRepRing@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z
@@ -2593,17 +2575,21 @@
     ?GetInlinedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetInlinedCapacity@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetInlinedCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
+    ?GetInlinedCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetInlinedData@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAHXZ
     ?GetInlinedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetInlinedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetInlinedData@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAVLogSink@3@XZ
     ?GetInlinedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAUPayload@status_internal@3@XZ
     ?GetInlinedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBUPayload@status_internal@3@XZ
+    ?GetInlinedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAVFormatArgImpl@str_format_internal@3@XZ
+    ?GetInlinedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBVFormatArgImpl@str_format_internal@3@XZ
     ?GetIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
+    ?GetIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetKeys@RandenHwAes@random_internal@absl@@SAPEBXXZ
     ?GetKeys@RandenSlow@random_internal@absl@@SAPEBXXZ
     ?GetLeafData@CordRepRing@cord_internal@absl@@SAPEBDPEBUCordRep@23@@Z
@@ -2626,6 +2612,7 @@
     ?GetSize@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetSize@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetSize@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
+    ?GetSize@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetSizeAndIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
     ?GetSizeAndIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
     ?GetSizeAndIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
@@ -2636,6 +2623,8 @@
     ?GetSizeAndIsAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
     ?GetSizeAndIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
     ?GetSizeAndIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
+    ?GetSizeAndIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
+    ?GetSizeAndIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
     ?GetSkipCount@ExponentialBiased@profiling_internal@absl@@QEAA_J_J@Z
     ?GetStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
     ?GetStackFrames@absl@@YAHPEAPEAXPEAHHH@Z
@@ -2780,8 +2769,10 @@
     ?LengthModToString@str_format_internal@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@W4LengthMod@12@@Z
     ?LengthToTag@CordTestAccess@strings_internal@absl@@SAE_K@Z
     ?Load16@big_endian@absl@@YAGPEBX@Z
+    ?Load16@little_endian@absl@@YAGPEBX@Z
     ?Load32@big_endian@absl@@YAIPEBX@Z
     ?Load32@little_endian@absl@@YAIPEBX@Z
+    ?Load64@little_endian@absl@@YA_KPEBX@Z
     ?Load@?$AtomicHook@P6A?AV?$optional@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@absl@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBVCord@2@@Z@base_internal@absl@@QEBAP6A?AV?$optional@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@3@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBVCord@3@@ZXZ
     ?Load@?$AtomicHook@P6AXXZ@base_internal@absl@@QEBAP6AXXZXZ
     ?Load@TimeZoneIf@cctz@time_internal@absl@@SA?AV?$unique_ptr@VTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@67@@Z
@@ -2884,6 +2875,7 @@
     ?NextCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
     ?NextCapacity@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
     ?NextCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
+    ?NextCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
     ?NextRandom@ExponentialBiased@profiling_internal@absl@@SA_K_K@Z
     ?NextTransition@Impl@time_zone@cctz@time_internal@absl@@QEBA_NAEBV?$time_point@Vsystem_clock@chrono@__Cr@std@@V?$duration@_JV?$ratio@$00$00@__Cr@std@@@234@@chrono@__Cr@std@@PEAUcivil_transition@2345@@Z
     ?NextTransition@TimeZone@absl@@QEBA_NVTime@2@PEAUCivilTransition@12@@Z
@@ -2966,7 +2958,7 @@
     ?PushDead@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PushNew@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PutPaddedString@FormatSinkImpl@str_format_internal@absl@@QEAA_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@HH_N@Z
-    ?PutTwoDigits@numbers_internal@absl@@YAX_KPEAD@Z
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPEAD@Z
     ?RawAbsNanos@KernelTimeout@synchronization_internal@absl@@AEBA_JXZ
     ?RawEnableLogPrefix@log_internal@absl@@YAX_N@Z
     ?RawLog@raw_log_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
@@ -3060,6 +3052,7 @@
     ?SetAllocation@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@23@@Z
     ?SetAllocation@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@23@@Z
     ?SetAllocation@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@@Z
+    ?SetAllocation@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@@Z
     ?SetAndroidNativeTag@absl@@YAXPEBD@Z
     ?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QEAAX_K@Z
     ?SetConversionChar@FormatConversionSpecImplFriend@str_format_internal@absl@@SAXW4FormatConversionChar@3@PEAVFormatConversionSpecImpl@23@@Z
@@ -3086,6 +3079,7 @@
     ?SetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?SetIsAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?SetIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
+    ?SetIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?SetLength@CordBuffer@absl@@QEAAX_K@Z
     ?SetLogBacktraceLocation@absl@@YAXV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@H@Z
     ?SetLoggingGlobalsListener@log_internal@absl@@YAXP6AXXZ@Z
@@ -3245,6 +3239,7 @@
     ?ToDoubleNanoseconds@absl@@YANVDuration@1@@Z
     ?ToDoubleSeconds@absl@@YANVDuration@1@@Z
     ?ToHost16@big_endian@absl@@YAGG@Z
+    ?ToHost16@little_endian@absl@@YAGG@Z
     ?ToHost32@big_endian@absl@@YAII@Z
     ?ToHost32@little_endian@absl@@YAII@Z
     ?ToHost64@little_endian@absl@@YA_K_K@Z
@@ -3420,8 +3415,6 @@
     ?__alloc@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@XZ
     ?__alloc@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?__alloc@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
-    ?__alloc@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?__alloc@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?__annotate_contiguous_container@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
@@ -3429,7 +3422,6 @@
     ?__annotate_contiguous_container@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
-    ?__annotate_contiguous_container@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_delete@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
@@ -3437,7 +3429,6 @@
     ?__annotate_delete@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__annotate_delete@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_new@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
@@ -3445,12 +3436,10 @@
     ?__annotate_new@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
-    ?__annotate_new@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
-    ?__annotate_shrink@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__append@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?__append@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?__back_spare@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
@@ -3464,7 +3453,6 @@
     ?__base_destruct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransition@cctz@time_internal@absl@@@Z
     ?__base_destruct_at_end@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ?__base_destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ?__base_destruct_at_end@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__begin@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@@Z
     ?__begin@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBQEBU4567@@Z
     ?__call_empty@?$__policy_invoker@$$A6A?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@23@@Z@__function@__Cr@std@@CA?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@34@PEBT__policy_storage@234@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@34@@Z
@@ -3475,7 +3463,6 @@
     ?__clear@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?__clear@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?__clear@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
-    ?__clear@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?__compose@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU5678@@Z
     ?__construct_at_end@?$__split_buffer@UTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAX_K@Z
     ?__construct_at_end@?$__split_buffer@UTransitionType@cctz@time_internal@absl@@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAX_K@Z
@@ -3512,7 +3499,6 @@
     ?__destruct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransition@cctz@time_internal@absl@@@Z
     ?__destruct_at_end@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ?__destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ?__destruct_at_end@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__end@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@@Z
     ?__end@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBQEBU4567@@Z
     ?__end_cap@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@XZ
@@ -3551,8 +3537,6 @@
     ?__end_cap@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBQEAUTransitionType@cctz@time_internal@absl@@XZ
     ?__end_cap@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
     ?__end_cap@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
-    ?__end_cap@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAPEAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?__end_cap@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBQEAVFormatArgImpl@str_format_internal@absl@@XZ
     ?__erase_to_end@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@@Z
     ?__front_spare@?$deque@PEBVImpl@time_zone@cctz@time_internal@absl@@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?__front_spare@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
@@ -3597,8 +3581,6 @@
     ?__get@?$__compressed_pair_elem@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@$0A@$0A@@__Cr@std@@QEBAAEBQEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVFallbackCrcMemcpyEngine@crc_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVFallbackCrcMemcpyEngine@crc_internal@absl@@XZ
-    ?__get@?$__compressed_pair_elem@PEAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?__get@?$__compressed_pair_elem@PEAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QEBAAEBQEAVFormatArgImpl@str_format_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVTimeZoneIf@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVTimeZoneIf@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEBAAEBQEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVTimeZoneInfo@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVTimeZoneInfo@cctz@time_internal@absl@@XZ
@@ -3642,8 +3624,6 @@
     ?__get@?$__compressed_pair_elem@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEBAAEBV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@XZ
     ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
-    ?__get@?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?__get@?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEBAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?__get_ptr@?$__hash_key_value_types@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@AEAU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@@Z
     ?__get_value@?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QEAAAEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@XZ
     ?__get_value@?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QEBAAEBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@XZ
@@ -3652,7 +3632,6 @@
     ?__invalidate_iterators_past@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransition@cctz@time_internal@absl@@@Z
     ?__invalidate_iterators_past@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ?__invalidate_iterators_past@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ?__invalidate_iterators_past@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__local@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@Z
     ?__local@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@@Z
     ?__make_iter@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEAA?AV?$__wrap_iter@PEAPEAVCordzHandle@cord_internal@absl@@@23@PEAPEAVCordzHandle@cord_internal@absl@@@Z
@@ -3673,7 +3652,6 @@
     ?__recommend@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
     ?__recommend@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
     ?__recommend@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
-    ?__recommend@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
     ?__recommend_blocks@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@SA_K_K@Z
     ?__rehash_unique@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAX_K@Z
     ?__rewrap@?$__unwrap_iter_impl@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV45678@0@Z
@@ -3682,9 +3660,7 @@
     ?__rewrap@?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU4567@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransition@cctz@time_internal@absl@@PEAU4567@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransitionType@cctz@time_internal@absl@@PEAU4567@0@Z
-    ?__rewrap@?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEAVFormatArgImpl@str_format_internal@absl@@PEAV456@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@0@Z
-    ?__rewrap@?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEBVFormatArgImpl@str_format_internal@absl@@PEBV456@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@V423@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@V423@0@Z
@@ -3700,7 +3676,6 @@
     ?__rewrap@?$__unwrap_range_impl@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransition@cctz@time_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransitionType@cctz@time_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@SA?A?<auto>@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ?__rewrap@?$__unwrap_range_impl@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@SA?A?<auto>@@PEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@23@0@Z
@@ -3731,16 +3706,13 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__unwrap@?$__unwrap_iter_impl@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV45678@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAPEAVLogSink@absl@@$00@__Cr@std@@SAPEAPEAVLogSink@absl@@PEAPEAV45@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransition@cctz@time_internal@absl@@PEAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransitionType@cctz@time_internal@absl@@PEAU4567@@Z
-    ?__unwrap@?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEAVFormatArgImpl@str_format_internal@absl@@PEAV456@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@@Z
-    ?__unwrap@?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEBVFormatArgImpl@str_format_internal@absl@@PEBV456@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@V423@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@V423@@Z
@@ -3756,7 +3728,6 @@
     ?__unwrap@?$__unwrap_range_impl@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransition@cctz@time_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransitionType@cctz@time_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@SA?A?<auto>@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ?__unwrap@?$__unwrap_range_impl@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@SA?A?<auto>@@PEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@23@0@Z
@@ -3766,8 +3737,6 @@
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@23@0@Z
     ?__upcast@?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@QEAAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@23@XZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
-    ?__vdeallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?advance@CordRepRing@cord_internal@absl@@QEBAII@Z
     ?advance@CordRepRing@cord_internal@absl@@QEBAIII@Z
     ?align@detail@cctz@time_internal@absl@@YA?AUfields@1234@Uday_tag@1234@U51234@@Z
@@ -3799,6 +3768,7 @@
     ?allocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@@__Cr@std@@SAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@23@AEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@23@_K@Z
     ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAUPayload@status_internal@absl@@AEAV?$allocator@UPayload@status_internal@absl@@@23@_K@Z
     ?allocate@?$allocator_traits@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@23@_K@Z
+    ?allocate@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAVFormatArgImpl@str_format_internal@absl@@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@_K@Z
     ?arg@BoundConversion@str_format_internal@absl@@QEBAPEBVFormatArgImpl@23@XZ
     ?as_chars@InlineData@cord_internal@absl@@QEAAPEADXZ
     ?as_chars@InlineData@cord_internal@absl@@QEBAPEBDXZ
@@ -3893,7 +3863,6 @@
     ?capacity@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?capacity@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?capacity@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
-    ?capacity@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?capacity@CordBuffer@absl@@QEBA_KXZ
     ?capacity@CordRepBtree@cord_internal@absl@@QEBA_KXZ
     ?capacity@CordRepRing@cord_internal@absl@@QEBAIXZ
@@ -3915,7 +3884,6 @@
     ?clear@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ?clear@?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAXXZ
     ?clear@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
-    ?clear@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ?clear@InlineRep@Cord@absl@@QEAAPEAUCordRep@cord_internal@3@XZ
     ?clear_cordz_info@InlineData@cord_internal@absl@@QEAAXXZ
     ?code@Status@absl@@QEBA?AW4StatusCode@2@XZ
@@ -3940,6 +3908,7 @@
     ?data@?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@QEAAPEAPEAVLogSink@2@XZ
     ?data@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAAPEAUPayload@status_internal@2@XZ
     ?data@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEBAPEBUPayload@status_internal@2@XZ
+    ?data@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEBAPEBVFormatArgImpl@str_format_internal@2@XZ
     ?data@?$Span@$$CBD@absl@@QEBAPEBDXZ
     ?data@?$Span@$$CBI@absl@@QEBAPEBIXZ
     ?data@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEBAPEBVFormatArgImpl@str_format_internal@2@XZ
@@ -3949,7 +3918,6 @@
     ?data@?$Span@I@absl@@QEBAPEAIXZ
     ?data@?$Span@PEAVLogSink@absl@@@absl@@QEBAPEAPEAVLogSink@2@XZ
     ?data@?$Span@QEAUCordRep@cord_internal@absl@@@absl@@QEBAPEBQEAUCordRep@cord_internal@2@XZ
-    ?data@?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QEBAPEAVFormatArgImpl@str_format_internal@2@XZ
     ?data@?$Span@_K@absl@@QEBAPEA_KXZ
     ?data@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBQEAVCordzHandle@cord_internal@absl@@XZ
     ?data@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@QEAAPEAPEAVLogSink@absl@@XZ
@@ -3959,7 +3927,6 @@
     ?data@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBUTransition@cctz@time_internal@absl@@XZ
     ?data@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBUTransitionType@cctz@time_internal@absl@@XZ
     ?data@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBUViableSubstitution@strings_internal@absl@@XZ
-    ?data@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBVFormatArgImpl@str_format_internal@absl@@XZ
     ?data@AlphaNum@absl@@QEBAPEBDXZ
     ?data@CordBuffer@absl@@QEAAPEADXZ
     ?data@InlineRep@Cord@absl@@QEBAPEBDXZ
@@ -4120,8 +4087,6 @@
     ?first@?$__compressed_pair@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?first@?$__compressed_pair@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBQEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?first@?$__compressed_pair@PEAVFallbackCrcMemcpyEngine@crc_internal@absl@@U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVFallbackCrcMemcpyEngine@crc_internal@absl@@XZ
-    ?first@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?first@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBQEAVFormatArgImpl@str_format_internal@absl@@XZ
     ?first@?$__compressed_pair@PEAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?first@?$__compressed_pair@PEAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBQEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?first@?$__compressed_pair@PEAVTimeZoneInfo@cctz@time_internal@absl@@U?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVTimeZoneInfo@cctz@time_internal@absl@@XZ
@@ -4158,6 +4123,7 @@
     ?get@?$Storage@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@XZ
     ?get@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ?get@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGBAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ?get@?$Storage@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ?get@?$Storage@VHashtablezInfoHandle@container_internal@absl@@$00$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAVHashtablezInfoHandle@34@XZ
     ?get@?$Storage@_K$00$0A@@internal_compressed_tuple@container_internal@absl@@QEGAAAEA_KXZ
     ?get@?$Storage@_K$00$0A@@internal_compressed_tuple@container_internal@absl@@QEGBAAEB_KXZ
@@ -4251,7 +4217,6 @@
     ?max_size@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?max_size@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?max_size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
-    ?max_size@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?memcasecmp@strings_internal@absl@@YAHPEBD0_K@Z
     ?memcspn@strings_internal@absl@@YA_KPEBD_K0@Z
     ?memdup@strings_internal@absl@@YAPEADPEBD_K@Z
@@ -4414,8 +4379,6 @@
     ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVFallbackCrcMemcpyEngine@crc_internal@absl@@U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@23@XZ
-    ?second@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?second@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVTimeZoneInfo@cctz@time_internal@absl@@U?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@23@XZ
@@ -4456,6 +4419,7 @@
     ?size@?$InlinedVector@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@absl@@QEBA_KXZ
     ?size@?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@QEBA_KXZ
     ?size@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEBA_KXZ
+    ?size@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEBA_KXZ
     ?size@?$Span@$$CBD@absl@@QEBA_KXZ
     ?size@?$Span@$$CBI@absl@@QEBA_KXZ
     ?size@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEBA_KXZ
@@ -4465,7 +4429,6 @@
     ?size@?$Span@I@absl@@QEBA_KXZ
     ?size@?$Span@PEAVLogSink@absl@@@absl@@QEBA_KXZ
     ?size@?$Span@QEAUCordRep@cord_internal@absl@@@absl@@QEBA_KXZ
-    ?size@?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QEBA_KXZ
     ?size@?$Span@_K@absl@@QEBA_KXZ
     ?size@?$__bucket_list_deallocator@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@@__Cr@std@@@__Cr@std@@QEAAAEA_KXZ
     ?size@?$__bucket_list_deallocator@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
@@ -4483,7 +4446,6 @@
     ?size@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?size@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
-    ?size@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?size@AlphaNum@absl@@QEBA_KXZ
     ?size@Cord@absl@@QEBA_KXZ
     ?size@CordRepBtree@cord_internal@absl@@QEBA_KXZ
diff --git a/third_party/abseil-cpp/symbols_arm64_rel.def b/third_party/abseil-cpp/symbols_arm64_rel.def
index fdef613..9154a07 100644
--- a/third_party/abseil-cpp/symbols_arm64_rel.def
+++ b/third_party/abseil-cpp/symbols_arm64_rel.def
@@ -109,6 +109,7 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHAEBVCord@0@0_K@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NAEBVCord@0@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@_K@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NAEBVCord@0@0_K@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@12@_K@Z
     ??$MakeCheckOpString@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV123@@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV234@0PEBD@Z
     ??$MakeCheckOpString@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV123@@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@34@0PEBD@Z
     ??$MakeCheckOpString@DD@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@DDPEBD@Z
@@ -150,7 +151,6 @@
     ??$__allocate_at_least@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUTransition@cctz@time_internal@absl@@@01@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUTransitionType@cctz@time_internal@absl@@@01@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUViableSubstitution@strings_internal@absl@@@01@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@_K@Z
-    ??$__allocate_at_least@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAVFormatArgImpl@str_format_internal@absl@@@01@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$__append@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@12@0@Z
@@ -162,7 +162,6 @@
     ??$__emplace_unique_key_args@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBUpiecewise_construct_t@23@V?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$tuple@$$V@23@@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAA?AU?$pair@V?$__hash_iterator@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@_N@12@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@12@AEBUpiecewise_construct_t@12@$$QEAV?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@$$QEAV?$tuple@$$V@12@@Z
     ??$__rehash@$00@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@AEAAX_K@Z
     ??$__upper_bound@U_ClassicAlgPolicy@__Cr@std@@UByCivilTime@Transition@cctz@time_internal@absl@@PEBU5678@PEBU5678@U5678@U__identity@23@@__Cr@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@$$QEAUByCivilTime@2345@$$QEAU__identity@01@@Z
-    ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$combine@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@H@?$HashStateBase@VMixingHashState@hash_internal@absl@@@hash_internal@absl@@SA?AVMixingHashState@12@V312@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@Z
@@ -238,7 +237,6 @@
     ??0SpinLock@base_internal@absl@@QEAA@W4SchedulingMode@12@@Z
     ??0Status@absl@@QEAA@W4StatusCode@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??0StdcppWaiter@synchronization_internal@absl@@QEAA@XZ
-    ??0Streamable@str_format_internal@absl@@QEAA@AEBVUntypedFormatSpecImpl@12@V?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@2@@Z
     ??0TimeZoneLibC@cctz@time_internal@absl@@QEAA@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??0Win32Waiter@synchronization_internal@absl@@QEAA@XZ
     ??0int128@absl@@QEAA@M@Z
@@ -361,6 +359,7 @@
     ?AllocWithArena@LowLevelAlloc@base_internal@absl@@SAPEAX_KPEAUArena@123@@Z
     ?Allocate@?$MallocAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@23@AEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@_K@Z
     ?Allocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@Z
+    ?Allocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@Z
     ?AlreadyExistsError@absl@@YA?AVStatus@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ?Append@?$AppendUninitializedTraits@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@_K@Z
     ?Append@Cord@absl@@QEAAX$$QEAV12@@Z
@@ -448,7 +447,6 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UEAAXPEAII_K@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0_K@Z
     ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPEAV123@PEAV123@_K1@Z
@@ -518,7 +516,6 @@
     ?DumpStackTrace@debugging_internal@absl@@YAXHH_NP6AXPEBDPEAX@Z2@Z
     ?DurationFromTimespec@absl@@YA?AVDuration@1@Utimespec@@@Z
     ?DurationFromTimeval@absl@@YA?AVDuration@1@Utimeval@@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UEBAXPEAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPEAEXZ
     ?EmptyString@Status@absl@@CAPEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
     ?EnableDebugLog@CondVar@absl@@QEAAXPEBD@Z
@@ -583,6 +580,8 @@
     ?Find@ByLength@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?Find@ByString@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QEBAHUGraphId@23@0HQEAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
     ?FindTailSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
@@ -611,9 +610,7 @@
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Uyear_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PEBDVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -621,6 +618,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -874,6 +873,7 @@
     ?Ptr@GraphCycles@synchronization_internal@absl@@QEAAPEAXUGraphId@23@@Z
     ?PushDead@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PutPaddedString@FormatSinkImpl@str_format_internal@absl@@QEAA_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@HH_N@Z
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPEAD@Z
     ?RawEnableLogPrefix@log_internal@absl@@YAX_N@Z
     ?RawLog@raw_log_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
     ?RawLoggingFullySupported@raw_log_internal@absl@@YA_NXZ
@@ -1156,8 +1156,6 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?clear@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAXXZ
     ?code@Status@absl@@QEBA?AW4StatusCode@2@XZ
     ?cord_ring_buffer_enabled@cord_internal@absl@@3U?$atomic@_N@__Cr@std@@A
diff --git a/third_party/abseil-cpp/symbols_x64_dbg.def b/third_party/abseil-cpp/symbols_x64_dbg.def
index e416166..c7a4d4c 100644
--- a/third_party/abseil-cpp/symbols_x64_dbg.def
+++ b/third_party/abseil-cpp/symbols_x64_dbg.def
@@ -26,7 +26,6 @@
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAUTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAV?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
-    ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@$$QEA$$T$$QEAU__default_init_tag@12@@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAPEAVCordzHandle@cord_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
@@ -37,7 +36,6 @@
     ??$?0$$TX@?$__compressed_pair_elem@PEAUTransitionType@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PEAV?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
-    ??$?0$$TX@?$__compressed_pair_elem@PEAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@$$QEA$$T@Z
     ??$?0$$V@?$__temp_value@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@@Z
     ??$?0$$V@?$__temp_value@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@@Z
     ??$?0$00X@?$__compressed_pair@U?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@23@@__Cr@std@@QEAA@XZ
@@ -86,7 +84,6 @@
     ??$?0AEAPEAVZoneInfoSource@cctz@time_internal@absl@@U__value_init_tag@__Cr@std@@@?$__compressed_pair@PEAVZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAPEAVZoneInfoSource@cctz@time_internal@absl@@$$QEAU__value_init_tag@12@@Z
     ??$?0AEAPEAVZoneInfoSource@cctz@time_internal@absl@@X@?$__compressed_pair_elem@PEAVZoneInfoSource@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@AEAPEAVZoneInfoSource@cctz@time_internal@absl@@@Z
     ??$?0AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU0123@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@QEAA@AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
-    ??$?0AEAPEBVFormatArgImpl@str_format_internal@absl@@PEAV012@$0A@@?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@QEAA@AEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
     ??$?0AEAPEBVImpl@time_zone@cctz@time_internal@absl@@U__value_init_tag@__Cr@std@@@?$__compressed_pair@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$default_delete@$$CBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAPEBVImpl@time_zone@cctz@time_internal@absl@@$$QEAU__value_init_tag@12@@Z
     ??$?0AEAPEBVImpl@time_zone@cctz@time_internal@absl@@X@?$__compressed_pair_elem@PEBVImpl@time_zone@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAA@AEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$?0AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@12@$0A@@?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@QEAA@AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@12@@Z
@@ -111,6 +108,9 @@
     ??$?0AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@Z
     ??$?0AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEAA@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$$QEAI@Z
     ??$?0AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@?$CompressedTupleImpl@V?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@U?$integer_sequence@_K$0A@$00@3@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$$QEAI@Z
+    ??$?0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@?$Storage@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
+    ??$?0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEAA@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$$QEAI@Z
+    ??$?0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@?$CompressedTupleImpl@V?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@U?$integer_sequence@_K$0A@$00@3@$00@internal_compressed_tuple@container_internal@absl@@QEAA@Uin_place_t@3@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$$QEAI@Z
     ??$?0AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@$$Z$$V$$Z$0A@$$Z$S@?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@AEAA@Upiecewise_construct_t@12@AEAV?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@AEAV?$tuple@$$V@12@U?$__tuple_indices@$0A@@12@U?$__tuple_indices@$S@12@@Z
     ??$?0AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@$$Z$$V@?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QEAA@Upiecewise_construct_t@12@V?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@V?$tuple@$$V@12@@Z
     ??$?0AEBVCord@absl@@$0A@@?$optional@VCord@absl@@@absl@@QEAA@AEBVCord@1@@Z
@@ -144,8 +144,7 @@
     ??$?0PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU0123@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@QEAA@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
     ??$?0PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU0123@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@QEAA@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
     ??$?0PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@QEAA@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@12@@Z
-    ??$?0PEBVFormatArgImpl@str_format_internal@absl@@PEAV012@$0A@@?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@QEAA@$$QEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
-    ??$?0PEBVFormatArgImpl@str_format_internal@absl@@PEBV012@$0A@@?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@QEAA@$$QEAPEBVFormatArgImpl@str_format_internal@absl@@0@Z
+    ??$?0PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEAA@PEBVFormatArgImpl@str_format_internal@1@0AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
     ??$?0U?$array@D$0DKJI@@__Cr@std@@XU012@H@?$Span@D@absl@@QEAA@AEAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$?0U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@X@?$__compressed_pair_elem@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@$$QEAU?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@12@@Z
     ??$?0U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@X@?$__compressed_pair_elem@U?$default_delete@VCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@$$QEAU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@12@@Z
@@ -195,11 +194,11 @@
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Uminute_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QEAA@AEBV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PEAX@Z
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Umonth_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QEAA@AEBV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PEAX@Z
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QEAA@AEBV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PEAX@Z
+    ??$?0V?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@XV01@H@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@AEBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@@Z
     ??$?0V?$Span@D@absl@@XV01@$0A@@?$Span@$$CBD@absl@@QEAA@AEBV?$Span@D@1@@Z
     ??$?0V?$Span@D@absl@@XV01@$0A@@?$Span@D@absl@@QEAA@AEAV01@@Z
     ??$?0V?$Span@I@absl@@XV01@$0A@@?$Span@$$CBI@absl@@QEAA@AEBV?$Span@I@1@@Z
     ??$?0V?$Span@I@absl@@XV01@$0A@@?$Span@I@absl@@QEAA@AEAV01@@Z
-    ??$?0V?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@XV01@$0A@@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@AEBV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@@Z
     ??$?0V?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@X@?$__compressed_pair_elem@V?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@$00$0A@@__Cr@std@@QEAA@$$QEAV?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@12@@Z
     ??$?0V?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@X@?$__compressed_pair_elem@V?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@$00$0A@@__Cr@std@@QEAA@$$QEAV?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@12@@Z
     ??$?0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V012@$0A@@?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0@Z
@@ -231,7 +230,6 @@
     ??$?0V?$reverse_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$reverse_iterator@PEAUTransition@cctz@time_internal@absl@@@12@0@Z
     ??$?0V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@12@0@Z
     ??$?0V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QEAA@$$QEAV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@12@0@Z
-    ??$?0V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@XV012@H@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@AEBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@Z
     ??$?0VBufferRawSink@str_format_internal@absl@@$0A@@FormatRawSinkImpl@str_format_internal@absl@@QEAA@PEAVBufferRawSink@12@@Z
     ??$?0VFILERawSink@str_format_internal@absl@@$0A@@FormatRawSinkImpl@str_format_internal@absl@@QEAA@PEAVFILERawSink@12@@Z
     ??$?0VFallbackCrcMemcpyEngine@crc_internal@absl@@@?$default_delete@VCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@QEAA@AEBU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@12@PEAX@Z
@@ -293,7 +291,6 @@
     ??$?OUsecond_tag@detail@cctz@time_internal@absl@@U01234@@detail@cctz@time_internal@absl@@YA_NAEBV?$civil_time@Usecond_tag@detail@cctz@time_internal@absl@@@0123@0@Z
     ??$?PUsecond_tag@detail@cctz@time_internal@absl@@U01234@@detail@cctz@time_internal@absl@@YA_NAEBV?$civil_time@Usecond_tag@detail@cctz@time_internal@absl@@@0123@0@Z
     ??$?R$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@U0123@$0A@@__copy_trivial@__Cr@std@@QEBA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@12@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU4567@@Z
-    ??$?R$$CBVFormatArgImpl@str_format_internal@absl@@V012@$0A@@__copy_trivial@__Cr@std@@QEBA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@12@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV456@@Z
     ??$?RAEAPEBDAEAHAEAY0LLI@DAEBQEBDPEAD@?$AtomicHook@P6AXPEBDH000@Z@base_internal@absl@@QEBAXAEAPEBDAEAHAEAY0LLI@DAEBQEBD$$QEAPEAD@Z
     ??$?RAEAW4LogSeverity@absl@@AEAPEBDAEAHPEAPEADPEAH@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@QEBA_NAEAW4LogSeverity@2@AEAPEBDAEAH$$QEAPEAPEAD$$QEAPEAH@Z
     ??$?RAEAY04$$CBDPEAVCondVar@absl@@@?$AtomicHook@P6AXPEBDPEBX@Z@base_internal@absl@@QEBAXAEAY04$$CBD$$QEAPEAVCondVar@2@@Z
@@ -391,6 +388,7 @@
     ??$ConstructElements@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@1@AEAV?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@01@_K@Z
     ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@01@_K@Z
     ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z
+    ??$ConstructElements@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$ConsumeConversion@$00@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$ConsumeConversion@$0A@@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$Convert@VFormatArgImpl@str_format_internal@absl@@@FormatArgImplFriend@str_format_internal@absl@@SA_NVFormatArgImpl@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -482,21 +480,19 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHAEBVCord@0@0_K@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NAEBVCord@0@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@_K@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NAEBVCord@0@0_K@Z
+    ??$GetData@$$CBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@@Z
     ??$GetData@$$CBV?$Span@D@absl@@@span_internal@absl@@YAPEADAEBV?$Span@D@1@@Z
     ??$GetData@$$CBV?$Span@I@absl@@@span_internal@absl@@YAPEAIAEBV?$Span@I@1@@Z
-    ??$GetData@$$CBV?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@@span_internal@absl@@YAPEAVFormatArgImpl@str_format_internal@1@AEBV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@@Z
     ??$GetData@$$CBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBDAEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ??$GetData@$$CBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@Z
     ??$GetData@U?$array@D$0DKJI@@__Cr@std@@@span_internal@absl@@YAPEADAEAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$GetData@V?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEAPEAVLogSink@1@AEAV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@1@@Z
     ??$GetData@V?$Span@D@absl@@@span_internal@absl@@YAPEADAEAV?$Span@D@1@@Z
     ??$GetData@V?$Span@I@absl@@@span_internal@absl@@YAPEAIAEAV?$Span@I@1@@Z
     ??$GetData@V?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEAPEAVLogSink@1@AEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@Z
+    ??$GetDataImpl@$$CBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@D@Z
     ??$GetDataImpl@$$CBV?$Span@D@absl@@@span_internal@absl@@YAPEADAEBV?$Span@D@1@D@Z
     ??$GetDataImpl@$$CBV?$Span@I@absl@@@span_internal@absl@@YAPEAIAEBV?$Span@I@1@D@Z
-    ??$GetDataImpl@$$CBV?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@@span_internal@absl@@YAPEAVFormatArgImpl@str_format_internal@1@AEBV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@D@Z
     ??$GetDataImpl@$$CBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBDAEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@D@Z
-    ??$GetDataImpl@$$CBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPEBVFormatArgImpl@str_format_internal@1@AEBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@D@Z
     ??$GetDataImpl@U?$array@D$0DKJI@@__Cr@std@@@span_internal@absl@@YAPEADAEAU?$array@D$0DKJI@@__Cr@std@@D@Z
     ??$GetDataImpl@V?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPEAPEAVLogSink@1@AEAV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@1@D@Z
     ??$GetDataImpl@V?$Span@D@absl@@@span_internal@absl@@YAPEADAEAV?$Span@D@1@D@Z
@@ -515,6 +511,7 @@
     ??$Init@PEBD@FormatArgImpl@str_format_internal@absl@@AEAAXAEBQEBD@Z
     ??$Init@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@FormatArgImpl@str_format_internal@absl@@AEAAXAEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??$Init@_J@FormatArgImpl@str_format_internal@absl@@AEAAXAEB_J@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@12@_K@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@H@UniquelyRepresentedProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@AEBH@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@HashValueProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@V?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@@HashValueProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@AEBV?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@@Z
@@ -561,7 +558,6 @@
     ??$MakeSpan@$SU?$array@D$0DKJI@@__Cr@std@@@absl@@YA?AV?$Span@D@0@AEAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$MakeSpan@$SV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@@absl@@YA?AV?$Span@PEAVLogSink@absl@@@0@AEAV?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@0@@Z
     ??$MakeSpan@$SV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@absl@@YA?AV?$Span@PEAVLogSink@absl@@@0@AEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@Z
-    ??$MakeSpan@$SVFormatArgImpl@str_format_internal@absl@@@absl@@YA?AV?$Span@VFormatArgImpl@str_format_internal@absl@@@0@PEAVFormatArgImpl@str_format_internal@0@_K@Z
     ??$MaskOfLength@I@crc_internal@absl@@YAIH@Z
     ??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
     ??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
@@ -672,7 +668,6 @@
     ??$TrailingZeros@I@container_internal@absl@@YAII@Z
     ??$UnhidePtr@X@base_internal@absl@@YAPEAX_K@Z
     ??$__advance@PEBUTransition@cctz@time_internal@absl@@@__Cr@std@@YAXAEAPEBUTransition@cctz@time_internal@absl@@_JUrandom_access_iterator_tag@01@@Z
-    ??$__advance@PEBVFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAXAEAPEBVFormatArgImpl@str_format_internal@absl@@_JUrandom_access_iterator_tag@01@@Z
     ??$__allocate_at_least@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@01@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAPEAVCordzHandle@cord_internal@absl@@@01@AEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@01@_K@Z
@@ -682,9 +677,7 @@
     ??$__allocate_at_least@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUTransition@cctz@time_internal@absl@@@01@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUTransitionType@cctz@time_internal@absl@@@01@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@01@_K@Z
     ??$__allocate_at_least@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAUViableSubstitution@strings_internal@absl@@@01@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@_K@Z
-    ??$__allocate_at_least@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PEAVFormatArgImpl@str_format_internal@absl@@@01@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$__append@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
-    ??$__construct_at_end@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEBVFormatArgImpl@str_format_internal@absl@@0_K@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@UTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAUTransition@cctz@time_internal@absl@@@12@0@Z
@@ -700,14 +693,12 @@
     ??$__construct_one_at_end@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@?$vector@UConversionItem@ParsedFormatBase@str_format_internal@absl@@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX$$QEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@PEAU4567@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@PEBV456@PEAV456@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__copy_backward_trivial_impl@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@UTransition@cctz@time_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@01@PEAUTransition@cctz@time_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@UTransitionType@cctz@time_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@PEAUTransitionType@cctz@time_internal@absl@@00@Z
     ??$__copy_trivial_impl@$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
-    ??$__copy_trivial_impl@$$CBVFormatArgImpl@str_format_internal@absl@@V123@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__copy_trivial_impl@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__copy_trivial_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
     ??$__copy_trivial_impl@PEAVLogSink@absl@@PEAV12@@__Cr@std@@YA?AU?$pair@PEAPEAVLogSink@absl@@PEAPEAV12@@01@PEAPEAVLogSink@absl@@00@Z
@@ -731,7 +722,6 @@
     ??$__debug_db_erase_c@V?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_erase_c@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_erase_c@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
-    ??$__debug_db_erase_c@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPEAV?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@01@@Z
     ??$__debug_db_insert_c@V?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@01@@Z
@@ -741,7 +731,6 @@
     ??$__debug_db_insert_c@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@01@@Z
-    ??$__debug_db_insert_c@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPEAV?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@01@@Z
@@ -750,7 +739,6 @@
     ??$__debug_db_invalidate_all@V?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
-    ??$__debug_db_invalidate_all@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPEAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__destroy_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$__destroy_at@PEAUCordRep@cord_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUCordRep@cord_internal@absl@@@Z
     ??$__destroy_at@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@Z
@@ -764,10 +752,8 @@
     ??$__destroy_at@UTransition@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransition@cctz@time_internal@absl@@@Z
     ??$__destroy_at@UTransitionType@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ??$__destroy_at@UViableSubstitution@strings_internal@absl@@$0A@@__Cr@std@@YAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ??$__destroy_at@VFormatArgImpl@str_format_internal@absl@@$0A@@__Cr@std@@YAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU6789@PEAU6789@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU6789@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PEBVFormatArgImpl@str_format_internal@absl@@PEBV678@PEAV678@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V623@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__move_backward_trivial@23@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV6789absl@@PEAPEAPEBV6789absl@@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__move_backward_trivial@23@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU6789@PEAPEAU6789@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
@@ -837,9 +823,7 @@
     ??$__rewrap_iter@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@U?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_iter@PEAUTransition@cctz@time_internal@absl@@PEAU1234@U?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_iter@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@U?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@0@Z
-    ??$__rewrap_iter@PEAVFormatArgImpl@str_format_internal@absl@@PEAV123@U?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@0@Z
     ??$__rewrap_iter@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@U?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@0@Z
-    ??$__rewrap_iter@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@U?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@0@Z
     ??$__rewrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@V201@0@Z
     ??$__rewrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@V201@0@Z
     ??$__rewrap_iter@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@V201@0@Z
@@ -855,7 +839,6 @@
     ??$__rewrap_range@PEAUTransition@cctz@time_internal@absl@@PEAU1234@PEAU1234@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_range@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@PEAU1234@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@0@Z
     ??$__rewrap_range@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@PEBU1234@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@0@Z
-    ??$__rewrap_range@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@PEBV123@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@0@Z
     ??$__rewrap_range@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVLogSink@absl@@@01@V201@0@Z
@@ -865,7 +848,6 @@
     ??$__rewrap_range@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@01@V201@0@Z
     ??$__to_address@$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@@Z
-    ??$__to_address@$$CBVFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@@Z
     ??$__to_address@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@YAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV23456@@Z
     ??$__to_address@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@YAPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU2345@@Z
     ??$__to_address@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@YAPEAPEAVCordzHandle@cord_internal@absl@@PEAPEAV234@@Z
@@ -876,8 +858,6 @@
     ??$__to_address@UTransition@cctz@time_internal@absl@@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@@Z
     ??$__to_address@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@@Z
     ??$__to_address@UViableSubstitution@strings_internal@absl@@@__Cr@std@@YAPEAUViableSubstitution@strings_internal@absl@@PEAU234@@Z
-    ??$__to_address@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@@Z
-    ??$__uninitialized_allocator_copy@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@VFormatArgImpl@str_format_internal@absl@@V456@$0A@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@PEBV234@1PEAV234@@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@V423@PEAVCordzHandle@cord_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@AEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@01@V201@11@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@23@V423@PEAVLogSink@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVLogSink@absl@@@01@AEAV?$allocator@PEAVLogSink@absl@@@01@V201@11@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@V?$reverse_iterator@PEAPEBVCordzHandle@cord_internal@absl@@@23@V423@PEBVCordzHandle@cord_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAPEBVCordzHandle@cord_internal@absl@@@01@AEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@01@V201@11@Z
@@ -889,7 +869,6 @@
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@23@V423@UViableSubstitution@strings_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@01@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@V201@11@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@PEAU4567@$0A@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0PEAU3456@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@PEBV456@PEAV456@$0A@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@PEBVFormatArgImpl@str_format_internal@absl@@0PEAV345@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__move_backward_trivial@23@@__Cr@std@@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV45678@PEAPEAPEBV45678@$0A@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__move_backward_trivial@23@@__Cr@std@@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@PEAPEAU4567@$0A@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
@@ -913,9 +892,7 @@
     ??$__unwrap_iter@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@U?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU2345@@Z
     ??$__unwrap_iter@PEAUTransition@cctz@time_internal@absl@@U?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAUTransition@cctz@time_internal@absl@@PEAU2345@@Z
     ??$__unwrap_iter@PEAUTransitionType@cctz@time_internal@absl@@U?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@@Z
-    ??$__unwrap_iter@PEAVFormatArgImpl@str_format_internal@absl@@U?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@@Z
     ??$__unwrap_iter@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@U?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU2345@@Z
-    ??$__unwrap_iter@PEBVFormatArgImpl@str_format_internal@absl@@U?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPEBVFormatArgImpl@str_format_internal@absl@@PEBV234@@Z
     ??$__unwrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@V201@@Z
     ??$__unwrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@V201@@Z
     ??$__unwrap_iter@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@U?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@V201@@Z
@@ -931,7 +908,6 @@
     ??$__unwrap_range@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?A?<auto>@@PEAUTransition@cctz@time_internal@absl@@0@Z
     ??$__unwrap_range@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?A?<auto>@@PEAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$__unwrap_range@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@YA?A?<auto>@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ??$__unwrap_range@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@YA?A?<auto>@@PEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$__unwrap_range@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0@Z
     ??$__unwrap_range@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@0@Z
     ??$__unwrap_range@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@01@0@Z
@@ -951,8 +927,6 @@
     ??$__validate_iter_reference@AEAV?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAXXZ
     ??$advance@PEBUTransition@cctz@time_internal@absl@@_J@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAXAEAPEBUTransition@cctz@time_internal@absl@@_J@Z
     ??$advance@PEBUTransition@cctz@time_internal@absl@@_J_JX@__Cr@std@@YAXAEAPEBUTransition@cctz@time_internal@absl@@_J@Z
-    ??$advance@PEBVFormatArgImpl@str_format_internal@absl@@_K_KX@__Cr@std@@YAXAEAPEBVFormatArgImpl@str_format_internal@absl@@_K@Z
-    ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$call_once@A6AXXZ$$V@absl@@YAXAEAVonce_flag@0@A6AXXZ@Z
@@ -987,6 +961,7 @@
     ??$construct@UTransitionType@cctz@time_internal@absl@@U1234@XX@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PEAUTransitionType@cctz@time_internal@absl@@$$QEAU4567@@Z
     ??$construct@UViableSubstitution@strings_internal@absl@@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV456@AEA_KXX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@12@AEBV712@AEA_K@Z
     ??$construct@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
+    ??$construct@VFormatArgImpl@str_format_internal@absl@@AEBV123@XX@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PEAVFormatArgImpl@str_format_internal@absl@@AEBV456@@Z
     ??$construct_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV12345@PEAPEAPEBV12345@@__Cr@std@@YAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV23456@AEBQEAPEBV23456@@Z
     ??$construct_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@PEAPEAPEBV12345@@__Cr@std@@YAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV23456@$$QEAPEAPEBV23456@@Z
     ??$construct_at@PEAUCordRep@cord_internal@absl@@AEBQEAU123@PEAPEAU123@@__Cr@std@@YAPEAPEAUCordRep@cord_internal@absl@@PEAPEAU234@AEBQEAU234@@Z
@@ -1011,7 +986,7 @@
     ??$construct_at@UTransitionType@cctz@time_internal@absl@@$$VPEAU1234@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@@Z
     ??$construct_at@UTransitionType@cctz@time_internal@absl@@U1234@PEAU1234@@__Cr@std@@YAPEAUTransitionType@cctz@time_internal@absl@@PEAU2345@$$QEAU2345@@Z
     ??$construct_at@UViableSubstitution@strings_internal@absl@@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV456@AEA_KPEAU123@@__Cr@std@@YAPEAUViableSubstitution@strings_internal@absl@@PEAU234@AEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@01@AEBV501@AEA_K@Z
-    ??$copy@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEBV234@0PEAV234@@Z
+    ??$construct_at@VFormatArgImpl@str_format_internal@absl@@AEBV123@PEAV123@@__Cr@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEAV234@AEBV234@@Z
     ??$copy@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@0V201@@Z
     ??$countl_zero@I@absl@@YAHI@Z
     ??$countl_zero@_K@absl@@YAH_K@Z
@@ -1030,7 +1005,6 @@
     ??$destroy@UTransition@cctz@time_internal@absl@@XX@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PEAUTransition@cctz@time_internal@absl@@@Z
     ??$destroy@UTransitionType@cctz@time_internal@absl@@XX@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PEAUTransitionType@cctz@time_internal@absl@@@Z
     ??$destroy@UViableSubstitution@strings_internal@absl@@XX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@@Z
-    ??$destroy@VFormatArgImpl@str_format_internal@absl@@XX@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PEAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$destroy_at@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$destroy_at@PEAUCordRep@cord_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUCordRep@cord_internal@absl@@@Z
     ??$destroy_at@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@@__Cr@std@@YAXPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@Z
@@ -1044,7 +1018,6 @@
     ??$destroy_at@UTransition@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransition@cctz@time_internal@absl@@@Z
     ??$destroy_at@UTransitionType@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ??$destroy_at@UViableSubstitution@strings_internal@absl@@$0A@@__Cr@std@@YAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ??$destroy_at@VFormatArgImpl@str_format_internal@absl@@$0A@@__Cr@std@@YAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$distance@PEBUPayload@status_internal@absl@@@__Cr@std@@YA_JPEBUPayload@status_internal@absl@@0@Z
     ??$distance@PEBUTransition@cctz@time_internal@absl@@@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SA_JPEBUTransition@cctz@time_internal@absl@@0@Z
     ??$distance@PEBUTransition@cctz@time_internal@absl@@@__Cr@std@@YA_JPEBUTransition@cctz@time_internal@absl@@0@Z
@@ -1074,6 +1047,7 @@
     ??$forward@AEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@YAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@AEAV123@@Z
     ??$forward@AEA_K@absl@@YAAEA_KAEA_K@Z
     ??$forward@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@YAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@AEBV123@@Z
+    ??$forward@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@YAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@AEBV123@@Z
     ??$forward@AEBVCord@absl@@@absl@@YAAEBVCord@0@AEBV10@@Z
     ??$forward@H@absl@@YA$$QEAHAEAH@Z
     ??$forward@I@absl@@YA$$QEAIAEAI@Z
@@ -1093,6 +1067,8 @@
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@absl@@@container_internal@absl@@QEGAAAEAPEAUPayload@status_internal@2@XZ
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEA_KXZ
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGBAAEB_KXZ
+    ??$get@$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEA_KXZ
+    ??$get@$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGBAAEB_KXZ
     ??$get@$00@?$CompressedTuple@_KVHashtablezInfoHandle@container_internal@absl@@@container_internal@absl@@QEGAAAEAVHashtablezInfoHandle@12@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@H@__Cr@std@@_K@container_internal@absl@@QEGAAAEAV?$allocator@H@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@PEAPEAUCordRep@cord_internal@absl@@@container_internal@absl@@QEGAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@XZ
@@ -1102,6 +1078,7 @@
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@absl@@@container_internal@absl@@QEGAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGBAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ??$get@$0A@@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@container_internal@absl@@QEGAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@_KVHashtablezInfoHandle@container_internal@absl@@@container_internal@absl@@QEGAAAEA_KXZ
     ??$hash@V?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@$0A@@MixingHashState@hash_internal@absl@@SA_KAEBV?$tuple@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBH@__Cr@std@@@Z
     ??$hash@V?$tuple@AEB_K@__Cr@std@@$0A@@MixingHashState@hash_internal@absl@@SA_KAEBV?$tuple@AEB_K@__Cr@std@@@Z
@@ -1123,7 +1100,6 @@
     ??$make_pair@AEAPEAUTransitionType@cctz@time_internal@absl@@AEAPEAU1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@AEAPEAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$make_pair@AEAPEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@AEAPEAUTransitionType@cctz@time_internal@absl@@$$QEAPEAU3456@@Z
     ??$make_pair@AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@AEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
-    ??$make_pair@AEAPEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@AEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
     ??$make_pair@AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@AEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$make_pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@__Cr@std@@YA?AU?$pair@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV12345@@01@$$QEAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@0@Z
     ??$make_pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@__Cr@std@@YA?AU?$pair@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU1234@@01@$$QEAPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
@@ -1132,7 +1108,6 @@
     ??$make_pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@01@$$QEAPEAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$make_pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@@01@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAPEAU3456@@Z
     ??$make_pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@$$QEAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
-    ??$make_pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__Cr@std@@YA?AU?$pair@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@01@$$QEAPEBVFormatArgImpl@str_format_internal@absl@@$$QEAPEAV345@@Z
     ??$make_pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@01@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@01@$$QEAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$make_pair@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@YA?AU?$pair@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@01@$$QEAV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@01@0@Z
     ??$make_pair@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@YA?AU?$pair@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@01@$$QEAV?$reverse_iterator@PEAPEAVLogSink@absl@@@01@0@Z
@@ -1222,6 +1197,7 @@
     ??0?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@QEAA@AEBV?$move_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@@Z
     ??0?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAA@AEBQEBUPayload@status_internal@2@@Z
     ??0?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAA@AEBV?$move_iterator@PEAUPayload@status_internal@absl@@@__Cr@std@@@Z
+    ??0?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@QEAA@AEBQEBVFormatArgImpl@str_format_internal@2@@Z
     ??0?$Layout@_KPEAUCordRep@cord_internal@absl@@I@container_internal@absl@@QEAA@_K00@Z
     ??0?$LayoutImpl@V?$tuple@_KPEAUCordRep@cord_internal@absl@@I@__Cr@std@@U?$integer_sequence@_K$0A@$00$01@absl@@U45@@internal_layout@container_internal@absl@@QEAA@_K00@Z
     ??0?$LayoutImpl@V?$tuple@_KPEAUCordRep@cord_internal@absl@@I@__Cr@std@@U?$integer_sequence@_K$0A@$00@absl@@U?$integer_sequence@_K$0A@$00$01@5@@internal_layout@container_internal@absl@@QEAA@_K0@Z
@@ -1238,20 +1214,19 @@
     ??0?$Span@$$CBD@absl@@QEAA@XZ
     ??0?$Span@$$CBI@absl@@QEAA@PEBI_K@Z
     ??0?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@PEBVFormatArgImpl@str_format_internal@1@_K@Z
-    ??0?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@XZ
     ??0?$Span@D@absl@@QEAA@PEAD_K@Z
     ??0?$Span@D@absl@@QEAA@XZ
     ??0?$Span@I@absl@@QEAA@PEAI_K@Z
     ??0?$Span@PEAVLogSink@absl@@@absl@@QEAA@PEAPEAVLogSink@1@_K@Z
     ??0?$Span@QEAUCordRep@cord_internal@absl@@@absl@@QEAA@PEBQEAUCordRep@cord_internal@1@_K@Z
     ??0?$Span@QEAX@absl@@QEAA@PEBQEAX_K@Z
-    ??0?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QEAA@PEAVFormatArgImpl@str_format_internal@1@_K@Z
     ??0?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??0?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@AEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@Z
     ??0?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
+    ??0?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@AEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
     ??0?$__allocator_destructor@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@12@_K@Z
     ??0?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@12@_K@Z
     ??0?$__atomic_base@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z$0A@@__Cr@std@@QEAA@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z@Z
@@ -1287,7 +1262,6 @@
     ??0?$__compressed_pair_elem@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
     ??0?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
     ??0?$__compressed_pair_elem@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
-    ??0?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAA@U__default_init_tag@12@@Z
     ??0?$__cxx_atomic_base_impl@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z@__Cr@std@@QEAA@P6AXAEBUHashtablezInfo@container_internal@absl@@@Z@Z
     ??0?$__cxx_atomic_base_impl@PEAUHashtablezInfo@container_internal@absl@@@__Cr@std@@QEAA@PEAUHashtablezInfo@container_internal@absl@@@Z
     ??0?$__cxx_atomic_base_impl@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@QEAA@PEAVCordzHandle@cord_internal@absl@@@Z
@@ -1436,7 +1410,6 @@
     ??0?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??0?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??0?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@QEAA@XZ
-    ??0?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??0AlphaNum@absl@@QEAA@H@Z
     ??0AlphaNum@absl@@QEAA@PEBD@Z
     ??0AlphaNum@absl@@QEAA@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
@@ -1601,7 +1574,6 @@
     ??0_ConstructTransaction@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
     ??0_ConstructTransaction@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
     ??0_ConstructTransaction@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
-    ??0_ConstructTransaction@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@_K@Z
     ??0__deque_block_range@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
     ??0__deque_range@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@0@Z
     ??0__destroy_vector@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
@@ -1609,7 +1581,6 @@
     ??0__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
     ??0__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
     ??0__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
-    ??0__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@AEAV123@@Z
     ??0absolute_lookup@time_zone@cctz@time_internal@absl@@QEAA@XZ
     ??0civil_lookup@time_zone@cctz@time_internal@absl@@QEAA@XZ
     ??0civil_transition@time_zone@cctz@time_internal@absl@@QEAA@XZ
@@ -1640,12 +1611,14 @@
     ??1?$InlinedVector@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@absl@@QEAA@XZ
     ??1?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@QEAA@XZ
     ??1?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAA@XZ
+    ??1?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEAA@XZ
     ??1?$Sample@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@QEAA@XZ
     ??1?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
+    ??1?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAA@XZ
     ??1?$__policy_func@$$A6A?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@23@@Z@__function@__Cr@std@@QEAA@XZ
     ??1?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1?$__split_buffer@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
@@ -1682,7 +1655,6 @@
     ??1?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
-    ??1?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1BadStatusOrAccess@absl@@UEAA@XZ
     ??1CRC32@crc_internal@absl@@UEAA@XZ
     ??1CRC@crc_internal@absl@@UEAA@XZ
@@ -1748,7 +1720,6 @@
     ??1_ConstructTransaction@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1_ConstructTransaction@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1_ConstructTransaction@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
-    ??1_ConstructTransaction@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAA@XZ
     ??1bad_optional_access@absl@@UEAA@XZ
     ??1bad_variant_access@absl@@UEAA@XZ
     ??4?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAV012@AEBV012@@Z
@@ -1976,6 +1947,7 @@
     ??R<lambda_1>@?0???$AddRing@$0A@@CordRepRing@cord_internal@absl@@CAPEAV123@PEAV123@0_K1@Z@QEBA?A?<auto>@@I@Z
     ??R<lambda_1>@?0???$Fill@$00@CordRepRing@cord_internal@absl@@AEAAXPEBV123@II@Z@QEBA?A?<auto>@@I@Z
     ??R<lambda_1>@?0???$Fill@$0A@@CordRepRing@cord_internal@absl@@AEAAXPEBV123@II@Z@QEBA?A?<auto>@@I@Z
+    ??R<lambda_1>@?0???$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@23@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAAAEAUPayload@status_internal@2@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEBAAEBUPayload@status_internal@2@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$Span@$$CBD@absl@@QEBAAEBD_K@Z@QEBA?A?<auto>@@XZ
@@ -2011,6 +1983,7 @@
     ??R<lambda_1>@?0??set_inline_size@Rep@InlineData@cord_internal@absl@@QEAAX_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_2>@?0???$AddRing@$00@CordRepRing@cord_internal@absl@@CAPEAV123@PEAV123@0_K1@Z@QEBA?A?<auto>@@I@Z
     ??R<lambda_2>@?0???$AddRing@$0A@@CordRepRing@cord_internal@absl@@CAPEAV123@PEAV123@0_K1@Z@QEBA?A?<auto>@@I@Z
+    ??R<lambda_2>@?0???$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@23@_K@Z@QEBA?A?<auto>@@XZ
     ??R<lambda_2>@?0??erase@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAAPEAUPayload@status_internal@3@PEBU453@@Z@QEBA?A?<auto>@@XZ
     ??R?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@absl@@QEBAXPEAUCordRep@cord_internal@1@_K1@Z
     ??R?$FunctionRef@$$A6AXV?$Span@I@absl@@@Z@absl@@QEBAXV?$Span@I@1@@Z
@@ -2047,7 +2020,6 @@
     ??R__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??R__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??R__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
-    ??R__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??Sabsl@@YA?AVuint128@0@V10@@Z
     ??Tabsl@@YA?AVuint128@0@V10@0@Z
     ??Uabsl@@YA?AVuint128@0@V10@0@Z
@@ -2106,6 +2078,7 @@
     ?AddSize@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
     ?AddSize@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
     ?AddSize@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
+    ?AddSize@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAX_K@Z
     ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHI@Z
     ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXH_K@Z
     ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHI@Z
@@ -2127,6 +2100,7 @@
     ?Allocate@?$MallocAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@_K@Z
     ?Allocate@?$MallocAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@23@AEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@_K@Z
     ?Allocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@_K@Z
+    ?Allocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@_K@Z
     ?AllocatedSize@CordRepFlat@cord_internal@absl@@QEBA_KXZ
     ?AllocatedSizeToTag@cord_internal@absl@@YAE_K@Z
     ?AllocatedSizeToTagUnchecked@cord_internal@absl@@YAE_K@Z
@@ -2235,13 +2209,14 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?ComputeCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K0@Z
+    ?ComputeCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K0@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UEAAXPEAII_K@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0_K@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@PEAPEAUCordRep@cord_internal@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@3@@Z
+    ?ConstructNext@?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@3@@Z
     ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPEAV123@PEAV123@_K1@Z
     ?ConsumePrefix@absl@@YA_NPEAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@@Z
@@ -2293,11 +2268,13 @@
     ?Deallocate@?$MallocAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@PEAPEAUCordRep@cord_internal@3@_K@Z
     ?Deallocate@?$MallocAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@3@_K@Z
     ?Deallocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PEAUPayload@status_internal@3@_K@Z
+    ?Deallocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@3@_K@Z
     ?DeallocateIfAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DeallocateIfAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
+    ?DeallocateIfAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?DecodeFrom@ProtoField@log_internal@absl@@QEAA_NPEAV?$Span@$$CBD@3@@Z
     ?DecodeWaitCycles@SpinLock@base_internal@absl@@KA_JI@Z
     ?Decrement@RefcountAndFlags@cord_internal@absl@@QEAA_NXZ
@@ -2377,7 +2354,6 @@
     ?Edges@CordRepBtree@cord_internal@absl@@QEBA?AV?$Span@QEAUCordRep@cord_internal@absl@@@3@_K0@Z
     ?EmplaceTree@InlineRep@Cord@absl@@QEAAXPEAUCordRep@cord_internal@3@AEBVInlineData@53@W4MethodIdentifier@CordzUpdateTracker@53@@Z
     ?EmplaceTree@InlineRep@Cord@absl@@QEAAXPEAUCordRep@cord_internal@3@W4MethodIdentifier@CordzUpdateTracker@53@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UEBAXPEAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPEAEXZ
     ?EmptyGroup@container_internal@absl@@YAPEAW4ctrl_t@12@XZ
     ?EmptyString@Status@absl@@CAPEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
@@ -2450,6 +2426,8 @@
     ?Find@ByString@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?Find@CordRepRing@cord_internal@absl@@QEBA?AUPosition@123@_K@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QEBAHUGraphId@23@0HQEAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
     ?FindTail@CordRepRing@cord_internal@absl@@QEBA?AUPosition@123@I_K@Z
@@ -2489,9 +2467,7 @@
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KW4FormatConversionChar@2@@Z
     ?FormatConversionCharToConvValue@str_format_internal@absl@@YA?AW4FormatConversionCharSet@2@D@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PEBDVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -2499,6 +2475,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -2547,12 +2525,15 @@
     ?GetAllocatedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetAllocatedCapacity@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetAllocatedCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
+    ?GetAllocatedCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetAllocatedData@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAHXZ
     ?GetAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetAllocatedData@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAVLogSink@3@XZ
     ?GetAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAUPayload@status_internal@3@XZ
     ?GetAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBUPayload@status_internal@3@XZ
+    ?GetAllocatedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAVFormatArgImpl@str_format_internal@3@XZ
+    ?GetAllocatedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBVFormatArgImpl@str_format_internal@3@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
@@ -2562,6 +2543,7 @@
     ?GetAllocator@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ?GetAllocator@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ?GetAndroidNativeTag@log_internal@absl@@YAPEBDXZ
     ?GetAppendBuffer@CordRepBtree@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z
     ?GetAppendBuffer@CordRepRing@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z
@@ -2593,17 +2575,21 @@
     ?GetInlinedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetInlinedCapacity@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetInlinedCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
+    ?GetInlinedCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetInlinedData@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAHXZ
     ?GetInlinedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetInlinedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAUCordRep@cord_internal@3@XZ
     ?GetInlinedData@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAPEAVLogSink@3@XZ
     ?GetInlinedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAUPayload@status_internal@3@XZ
     ?GetInlinedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBUPayload@status_internal@3@XZ
+    ?GetInlinedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAPEAVFormatArgImpl@str_format_internal@3@XZ
+    ?GetInlinedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAPEBVFormatArgImpl@str_format_internal@3@XZ
     ?GetIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
+    ?GetIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_NXZ
     ?GetKeys@RandenHwAes@random_internal@absl@@SAPEBXXZ
     ?GetKeys@RandenSlow@random_internal@absl@@SAPEBXXZ
     ?GetLeafData@CordRepRing@cord_internal@absl@@SAPEBDPEBUCordRep@23@@Z
@@ -2626,6 +2612,7 @@
     ?GetSize@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetSize@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetSize@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
+    ?GetSize@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBA_KXZ
     ?GetSizeAndIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
     ?GetSizeAndIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
     ?GetSizeAndIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
@@ -2636,6 +2623,8 @@
     ?GetSizeAndIsAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
     ?GetSizeAndIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
     ?GetSizeAndIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
+    ?GetSizeAndIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAAEA_KXZ
+    ?GetSizeAndIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEBAAEB_KXZ
     ?GetSkipCount@ExponentialBiased@profiling_internal@absl@@QEAA_J_J@Z
     ?GetStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
     ?GetStackFrames@absl@@YAHPEAPEAXPEAHHH@Z
@@ -2780,8 +2769,10 @@
     ?LengthModToString@str_format_internal@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@W4LengthMod@12@@Z
     ?LengthToTag@CordTestAccess@strings_internal@absl@@SAE_K@Z
     ?Load16@big_endian@absl@@YAGPEBX@Z
+    ?Load16@little_endian@absl@@YAGPEBX@Z
     ?Load32@big_endian@absl@@YAIPEBX@Z
     ?Load32@little_endian@absl@@YAIPEBX@Z
+    ?Load64@little_endian@absl@@YA_KPEBX@Z
     ?Load@?$AtomicHook@P6A?AV?$optional@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@absl@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBVCord@2@@Z@base_internal@absl@@QEBAP6A?AV?$optional@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@3@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBVCord@3@@ZXZ
     ?Load@?$AtomicHook@P6AXXZ@base_internal@absl@@QEBAP6AXXZXZ
     ?Load@TimeZoneIf@cctz@time_internal@absl@@SA?AV?$unique_ptr@VTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@67@@Z
@@ -2884,6 +2875,7 @@
     ?NextCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
     ?NextCapacity@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
     ?NextCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
+    ?NextCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SA_K_K@Z
     ?NextRandom@ExponentialBiased@profiling_internal@absl@@SA_K_K@Z
     ?NextTransition@Impl@time_zone@cctz@time_internal@absl@@QEBA_NAEBV?$time_point@Vsystem_clock@chrono@__Cr@std@@V?$duration@_JV?$ratio@$00$00@__Cr@std@@@234@@chrono@__Cr@std@@PEAUcivil_transition@2345@@Z
     ?NextTransition@TimeZone@absl@@QEBA_NVTime@2@PEAUCivilTransition@12@@Z
@@ -2966,7 +2958,7 @@
     ?PushDead@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PushNew@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PutPaddedString@FormatSinkImpl@str_format_internal@absl@@QEAA_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@HH_N@Z
-    ?PutTwoDigits@numbers_internal@absl@@YAX_KPEAD@Z
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPEAD@Z
     ?RawAbsNanos@KernelTimeout@synchronization_internal@absl@@AEBA_JXZ
     ?RawEnableLogPrefix@log_internal@absl@@YAX_N@Z
     ?RawLog@raw_log_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
@@ -3060,6 +3052,7 @@
     ?SetAllocation@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@23@@Z
     ?SetAllocation@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@23@@Z
     ?SetAllocation@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@@Z
+    ?SetAllocation@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@@Z
     ?SetAndroidNativeTag@absl@@YAXPEBD@Z
     ?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QEAAX_K@Z
     ?SetConversionChar@FormatConversionSpecImplFriend@str_format_internal@absl@@SAXW4FormatConversionChar@3@PEAVFormatConversionSpecImpl@23@@Z
@@ -3086,6 +3079,7 @@
     ?SetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?SetIsAllocated@?$Storage@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?SetIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
+    ?SetIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXXZ
     ?SetLength@CordBuffer@absl@@QEAAX_K@Z
     ?SetLogBacktraceLocation@absl@@YAXV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@H@Z
     ?SetLoggingGlobalsListener@log_internal@absl@@YAXP6AXXZ@Z
@@ -3245,6 +3239,7 @@
     ?ToDoubleNanoseconds@absl@@YANVDuration@1@@Z
     ?ToDoubleSeconds@absl@@YANVDuration@1@@Z
     ?ToHost16@big_endian@absl@@YAGG@Z
+    ?ToHost16@little_endian@absl@@YAGG@Z
     ?ToHost32@big_endian@absl@@YAII@Z
     ?ToHost32@little_endian@absl@@YAII@Z
     ?ToHost64@little_endian@absl@@YA_K_K@Z
@@ -3420,8 +3415,6 @@
     ?__alloc@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@XZ
     ?__alloc@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?__alloc@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
-    ?__alloc@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?__alloc@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?__annotate_contiguous_container@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
@@ -3429,7 +3422,6 @@
     ?__annotate_contiguous_container@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_contiguous_container@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
-    ?__annotate_contiguous_container@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXPEBX000@Z
     ?__annotate_delete@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
@@ -3437,7 +3429,6 @@
     ?__annotate_delete@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__annotate_delete@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_new@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
@@ -3445,12 +3436,10 @@
     ?__annotate_new@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
-    ?__annotate_new@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
-    ?__annotate_shrink@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__append@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?__append@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?__back_spare@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
@@ -3464,7 +3453,6 @@
     ?__base_destruct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransition@cctz@time_internal@absl@@@Z
     ?__base_destruct_at_end@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ?__base_destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ?__base_destruct_at_end@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__begin@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@@Z
     ?__begin@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBQEBU4567@@Z
     ?__call_empty@?$__policy_invoker@$$A6A?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@23@@Z@__function@__Cr@std@@CA?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@34@PEBT__policy_storage@234@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@34@@Z
@@ -3475,7 +3463,6 @@
     ?__clear@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?__clear@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?__clear@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
-    ?__clear@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?__compose@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU5678@@Z
     ?__construct_at_end@?$__split_buffer@UTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAX_K@Z
     ?__construct_at_end@?$__split_buffer@UTransitionType@cctz@time_internal@absl@@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAX_K@Z
@@ -3512,7 +3499,6 @@
     ?__destruct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransition@cctz@time_internal@absl@@@Z
     ?__destruct_at_end@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ?__destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ?__destruct_at_end@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__end@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@@Z
     ?__end@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBQEBU4567@@Z
     ?__end_cap@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@XZ
@@ -3551,8 +3537,6 @@
     ?__end_cap@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBQEAUTransitionType@cctz@time_internal@absl@@XZ
     ?__end_cap@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
     ?__end_cap@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
-    ?__end_cap@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAAEAPEAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?__end_cap@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAAEBQEAVFormatArgImpl@str_format_internal@absl@@XZ
     ?__erase_to_end@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@@Z
     ?__front_spare@?$deque@PEBVImpl@time_zone@cctz@time_internal@absl@@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?__front_spare@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
@@ -3597,8 +3581,6 @@
     ?__get@?$__compressed_pair_elem@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@$0A@$0A@@__Cr@std@@QEBAAEBQEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVFallbackCrcMemcpyEngine@crc_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVFallbackCrcMemcpyEngine@crc_internal@absl@@XZ
-    ?__get@?$__compressed_pair_elem@PEAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?__get@?$__compressed_pair_elem@PEAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QEBAAEBQEAVFormatArgImpl@str_format_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVTimeZoneIf@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVTimeZoneIf@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEBAAEBQEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PEAVTimeZoneInfo@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QEAAAEAPEAVTimeZoneInfo@cctz@time_internal@absl@@XZ
@@ -3642,8 +3624,6 @@
     ?__get@?$__compressed_pair_elem@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEBAAEBV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@XZ
     ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
-    ?__get@?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?__get@?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QEBAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?__get_ptr@?$__hash_key_value_types@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@AEAU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@@Z
     ?__get_value@?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QEAAAEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@XZ
     ?__get_value@?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QEBAAEBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@XZ
@@ -3652,7 +3632,6 @@
     ?__invalidate_iterators_past@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransition@cctz@time_internal@absl@@@Z
     ?__invalidate_iterators_past@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUTransitionType@cctz@time_internal@absl@@@Z
     ?__invalidate_iterators_past@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
-    ?__invalidate_iterators_past@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__local@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@@Z
     ?__local@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@@Z
     ?__make_iter@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEAA?AV?$__wrap_iter@PEAPEAVCordzHandle@cord_internal@absl@@@23@PEAPEAVCordzHandle@cord_internal@absl@@@Z
@@ -3673,7 +3652,6 @@
     ?__recommend@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
     ?__recommend@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
     ?__recommend@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
-    ?__recommend@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBA_K_K@Z
     ?__recommend_blocks@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@SA_K_K@Z
     ?__rehash_unique@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAX_K@Z
     ?__rewrap@?$__unwrap_iter_impl@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV45678@0@Z
@@ -3682,9 +3660,7 @@
     ?__rewrap@?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU4567@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransition@cctz@time_internal@absl@@PEAU4567@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransitionType@cctz@time_internal@absl@@PEAU4567@0@Z
-    ?__rewrap@?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEAVFormatArgImpl@str_format_internal@absl@@PEAV456@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@0@Z
-    ?__rewrap@?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEBVFormatArgImpl@str_format_internal@absl@@PEBV456@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@V423@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@V423@0@Z
@@ -3700,7 +3676,6 @@
     ?__rewrap@?$__unwrap_range_impl@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransition@cctz@time_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransitionType@cctz@time_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@SA?A?<auto>@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ?__rewrap@?$__unwrap_range_impl@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@SA?A?<auto>@@PEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@23@0@Z
@@ -3731,16 +3706,13 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__unwrap@?$__unwrap_iter_impl@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEAPEBV45678@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAPEAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAPEAVLogSink@absl@@$00@__Cr@std@@SAPEAPEAVLogSink@absl@@PEAPEAV45@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@PEAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransition@cctz@time_internal@absl@@PEAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@SAPEAUTransitionType@cctz@time_internal@absl@@PEAU4567@@Z
-    ?__unwrap@?$__unwrap_iter_impl@PEAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEAVFormatArgImpl@str_format_internal@absl@@PEAV456@@Z
     ?__unwrap@?$__unwrap_iter_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@@Z
-    ?__unwrap@?$__unwrap_iter_impl@PEBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPEBVFormatArgImpl@str_format_internal@absl@@PEBV456@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@V423@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@V423@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@V423@@Z
@@ -3756,7 +3728,6 @@
     ?__unwrap@?$__unwrap_range_impl@PEAUTransition@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransition@cctz@time_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@PEAUTransitionType@cctz@time_internal@absl@@PEAU1234@@__Cr@std@@SA?A?<auto>@@PEAUTransitionType@cctz@time_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@@__Cr@std@@SA?A?<auto>@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ?__unwrap@?$__unwrap_range_impl@PEBVFormatArgImpl@str_format_internal@absl@@PEBV123@@__Cr@std@@SA?A?<auto>@@PEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVCordzHandle@cord_internal@absl@@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAPEAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAPEAVLogSink@absl@@@23@0@Z
@@ -3766,8 +3737,6 @@
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAUTransitionType@cctz@time_internal@absl@@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PEAUViableSubstitution@strings_internal@absl@@@23@0@Z
     ?__upcast@?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@QEAAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@23@XZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
-    ?__vdeallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?_mm_cmpgt_epi8_fixed@container_internal@absl@@YA?AT__m128i@@T3@0@Z
     ?advance@CordRepRing@cord_internal@absl@@QEBAII@Z
     ?advance@CordRepRing@cord_internal@absl@@QEBAIII@Z
@@ -3800,6 +3769,7 @@
     ?allocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@@__Cr@std@@SAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@23@AEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@23@_K@Z
     ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAUPayload@status_internal@absl@@AEAV?$allocator@UPayload@status_internal@absl@@@23@_K@Z
     ?allocate@?$allocator_traits@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@23@_K@Z
+    ?allocate@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAPEAVFormatArgImpl@str_format_internal@absl@@AEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@_K@Z
     ?arg@BoundConversion@str_format_internal@absl@@QEBAPEBVFormatArgImpl@23@XZ
     ?as_chars@InlineData@cord_internal@absl@@QEAAPEADXZ
     ?as_chars@InlineData@cord_internal@absl@@QEBAPEBDXZ
@@ -3894,7 +3864,6 @@
     ?capacity@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?capacity@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?capacity@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
-    ?capacity@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?capacity@CordBuffer@absl@@QEBA_KXZ
     ?capacity@CordRepBtree@cord_internal@absl@@QEBA_KXZ
     ?capacity@CordRepRing@cord_internal@absl@@QEBAIXZ
@@ -3916,7 +3885,6 @@
     ?clear@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ?clear@?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAXXZ
     ?clear@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
-    ?clear@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ?clear@InlineRep@Cord@absl@@QEAAPEAUCordRep@cord_internal@3@XZ
     ?clear_cordz_info@InlineData@cord_internal@absl@@QEAAXXZ
     ?code@Status@absl@@QEBA?AW4StatusCode@2@XZ
@@ -3941,6 +3909,7 @@
     ?data@?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@QEAAPEAPEAVLogSink@2@XZ
     ?data@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEAAPEAUPayload@status_internal@2@XZ
     ?data@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEBAPEBUPayload@status_internal@2@XZ
+    ?data@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEBAPEBVFormatArgImpl@str_format_internal@2@XZ
     ?data@?$Span@$$CBD@absl@@QEBAPEBDXZ
     ?data@?$Span@$$CBI@absl@@QEBAPEBIXZ
     ?data@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEBAPEBVFormatArgImpl@str_format_internal@2@XZ
@@ -3950,7 +3919,6 @@
     ?data@?$Span@I@absl@@QEBAPEAIXZ
     ?data@?$Span@PEAVLogSink@absl@@@absl@@QEBAPEAPEAVLogSink@2@XZ
     ?data@?$Span@QEAUCordRep@cord_internal@absl@@@absl@@QEBAPEBQEAUCordRep@cord_internal@2@XZ
-    ?data@?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QEBAPEAVFormatArgImpl@str_format_internal@2@XZ
     ?data@?$Span@_K@absl@@QEBAPEA_KXZ
     ?data@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBQEAVCordzHandle@cord_internal@absl@@XZ
     ?data@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@QEAAPEAPEAVLogSink@absl@@XZ
@@ -3960,7 +3928,6 @@
     ?data@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBUTransition@cctz@time_internal@absl@@XZ
     ?data@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBUTransitionType@cctz@time_internal@absl@@XZ
     ?data@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBUViableSubstitution@strings_internal@absl@@XZ
-    ?data@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAPEBVFormatArgImpl@str_format_internal@absl@@XZ
     ?data@AlphaNum@absl@@QEBAPEBDXZ
     ?data@CordBuffer@absl@@QEAAPEADXZ
     ?data@InlineRep@Cord@absl@@QEBAPEBDXZ
@@ -4121,8 +4088,6 @@
     ?first@?$__compressed_pair@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?first@?$__compressed_pair@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBQEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?first@?$__compressed_pair@PEAVFallbackCrcMemcpyEngine@crc_internal@absl@@U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVFallbackCrcMemcpyEngine@crc_internal@absl@@XZ
-    ?first@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?first@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBQEAVFormatArgImpl@str_format_internal@absl@@XZ
     ?first@?$__compressed_pair@PEAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?first@?$__compressed_pair@PEAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBQEAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?first@?$__compressed_pair@PEAVTimeZoneInfo@cctz@time_internal@absl@@U?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAPEAVTimeZoneInfo@cctz@time_internal@absl@@XZ
@@ -4159,6 +4124,7 @@
     ?get@?$Storage@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@XZ
     ?get@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ?get@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGBAAEBV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ?get@?$Storage@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ?get@?$Storage@VHashtablezInfoHandle@container_internal@absl@@$00$00@internal_compressed_tuple@container_internal@absl@@QEGAAAEAVHashtablezInfoHandle@34@XZ
     ?get@?$Storage@_K$00$0A@@internal_compressed_tuple@container_internal@absl@@QEGAAAEA_KXZ
     ?get@?$Storage@_K$00$0A@@internal_compressed_tuple@container_internal@absl@@QEGBAAEB_KXZ
@@ -4252,7 +4218,6 @@
     ?max_size@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?max_size@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?max_size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
-    ?max_size@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?memcasecmp@strings_internal@absl@@YAHPEBD0_K@Z
     ?memcspn@strings_internal@absl@@YA_KPEBD_K0@Z
     ?memdup@strings_internal@absl@@YAPEADPEBD_K@Z
@@ -4415,8 +4380,6 @@
     ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVFallbackCrcMemcpyEngine@crc_internal@absl@@U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@23@XZ
-    ?second@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?second@?$__compressed_pair@PEAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBAAEBV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVTimeZoneInfo@cctz@time_internal@absl@@U?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PEAVZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAAEAU?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@23@XZ
@@ -4457,6 +4420,7 @@
     ?size@?$InlinedVector@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__Cr@std@@@absl@@QEBA_KXZ
     ?size@?$InlinedVector@PEAVLogSink@absl@@$0BA@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@absl@@QEBA_KXZ
     ?size@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QEBA_KXZ
+    ?size@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QEBA_KXZ
     ?size@?$Span@$$CBD@absl@@QEBA_KXZ
     ?size@?$Span@$$CBI@absl@@QEBA_KXZ
     ?size@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QEBA_KXZ
@@ -4466,7 +4430,6 @@
     ?size@?$Span@I@absl@@QEBA_KXZ
     ?size@?$Span@PEAVLogSink@absl@@@absl@@QEBA_KXZ
     ?size@?$Span@QEAUCordRep@cord_internal@absl@@@absl@@QEBA_KXZ
-    ?size@?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QEBA_KXZ
     ?size@?$Span@_K@absl@@QEBA_KXZ
     ?size@?$__bucket_list_deallocator@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@@__Cr@std@@@__Cr@std@@QEAAAEA_KXZ
     ?size@?$__bucket_list_deallocator@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PEAX@__Cr@std@@@__Cr@std@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
@@ -4484,7 +4447,6 @@
     ?size@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?size@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
-    ?size@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEBA_KXZ
     ?size@AlphaNum@absl@@QEBA_KXZ
     ?size@Cord@absl@@QEBA_KXZ
     ?size@CordRepBtree@cord_internal@absl@@QEBA_KXZ
diff --git a/third_party/abseil-cpp/symbols_x64_rel.def b/third_party/abseil-cpp/symbols_x64_rel.def
index e6f0436..13812fe 100644
--- a/third_party/abseil-cpp/symbols_x64_rel.def
+++ b/third_party/abseil-cpp/symbols_x64_rel.def
@@ -41,6 +41,7 @@
     ??$CastAndCallFunction@$$CBU?$atomic@_N@__Cr@std@@@Condition@absl@@CA_NPEBV01@@Z
     ??$Compare@$0FE@$0FE@@strings_internal@absl@@YAHAEBV?$BigUnsigned@$0FE@@01@0@Z
     ??$ConstructElements@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@1@AEAV?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@01@_K@Z
+    ??$ConstructElements@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$ConsumeConversion@$00@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$ConsumeConversion@$0A@@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$ConvertIntArg@C@str_format_internal@absl@@YA_NCVFormatConversionSpecImpl@01@PEAVFormatSinkImpl@01@@Z
@@ -106,6 +107,7 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHAEBVCord@0@0_K@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NAEBVCord@0@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@_K@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NAEBVCord@0@0_K@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@12@_K@Z
     ??$MakeCheckOpString@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV123@@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV234@0PEBD@Z
     ??$MakeCheckOpString@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV123@@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@34@0PEBD@Z
     ??$MakeCheckOpString@DD@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@DDPEBD@Z
@@ -157,7 +159,6 @@
     ??$__rehash@$00@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@AEAAX_K@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__upper_bound@U_ClassicAlgPolicy@__Cr@std@@UByCivilTime@Transition@cctz@time_internal@absl@@PEBU5678@PEBU5678@U5678@U__identity@23@@__Cr@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@$$QEAUByCivilTime@2345@$$QEAU__identity@01@@Z
-    ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$construct_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@AEBUpiecewise_construct_t@23@V?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$tuple@$$V@23@PEAU123@@__Cr@std@@YAPEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@PEAU201@AEBUpiecewise_construct_t@01@$$QEAV?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@01@$$QEAV?$tuple@$$V@01@@Z
@@ -236,7 +237,6 @@
     ??0SpinLock@base_internal@absl@@QEAA@W4SchedulingMode@12@@Z
     ??0Status@absl@@QEAA@W4StatusCode@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??0StdcppWaiter@synchronization_internal@absl@@QEAA@XZ
-    ??0Streamable@str_format_internal@absl@@QEAA@AEBVUntypedFormatSpecImpl@12@V?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@2@@Z
     ??0TimeZoneLibC@cctz@time_internal@absl@@QEAA@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??0Win32Waiter@synchronization_internal@absl@@QEAA@XZ
     ??0int128@absl@@QEAA@M@Z
@@ -447,7 +447,6 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UEAAXPEAII_K@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0_K@Z
     ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPEAV123@PEAV123@_K1@Z
@@ -518,7 +517,6 @@
     ?DumpStackTrace@debugging_internal@absl@@YAXHH_NP6AXPEBDPEAX@Z2@Z
     ?DurationFromTimespec@absl@@YA?AVDuration@1@Utimespec@@@Z
     ?DurationFromTimeval@absl@@YA?AVDuration@1@Utimeval@@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UEBAXPEAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPEAEXZ
     ?EmptyString@Status@absl@@CAPEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
     ?EnableDebugLog@CondVar@absl@@QEAAXPEBD@Z
@@ -583,6 +581,8 @@
     ?Find@ByLength@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?Find@ByString@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QEBAHUGraphId@23@0HQEAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
     ?FindTailSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
@@ -610,9 +610,7 @@
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Uyear_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PEBDVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -620,6 +618,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -871,6 +871,7 @@
     ?Ptr@GraphCycles@synchronization_internal@absl@@QEAAPEAXUGraphId@23@@Z
     ?PushDead@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PutPaddedString@FormatSinkImpl@str_format_internal@absl@@QEAA_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@HH_N@Z
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPEAD@Z
     ?RawEnableLogPrefix@log_internal@absl@@YAX_N@Z
     ?RawLog@raw_log_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
     ?RawLoggingFullySupported@raw_log_internal@absl@@YA_NXZ
@@ -1153,8 +1154,6 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?clear@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAXXZ
     ?code@Status@absl@@QEBA?AW4StatusCode@2@XZ
     ?combine_contiguous@MixingHashState@hash_internal@absl@@SA?AV123@V123@PEBE_K@Z
diff --git a/third_party/abseil-cpp/symbols_x64_rel_asan.def b/third_party/abseil-cpp/symbols_x64_rel_asan.def
index 9856f9a3..6c441f87 100644
--- a/third_party/abseil-cpp/symbols_x64_rel_asan.def
+++ b/third_party/abseil-cpp/symbols_x64_rel_asan.def
@@ -40,6 +40,7 @@
     ??$CallOnceImpl@A6AXXZ$$V@base_internal@absl@@YAXPEAU?$atomic@I@__Cr@std@@W4SchedulingMode@01@A6AXXZ@Z
     ??$CastAndCallFunction@$$CBU?$atomic@_N@__Cr@std@@@Condition@absl@@CA_NPEBV01@@Z
     ??$ConstructElements@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAVLogSink@absl@@@__Cr@std@@PEAPEAVLogSink@1@AEAV?$IteratorValueAdapter@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PEAPEAVLogSink@absl@@@23@@01@_K@Z
+    ??$ConstructElements@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEAVFormatArgImpl@str_format_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@01@_K@Z
     ??$ConsumeConversion@$00@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$ConsumeConversion@$0A@@str_format_internal@absl@@YAPEBDPEBDQEBDPEAUUnboundConversion@01@PEAH@Z
     ??$ConvertIntArg@C@str_format_internal@absl@@YA_NCVFormatConversionSpecImpl@01@PEAVFormatSinkImpl@01@@Z
@@ -105,6 +106,7 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHAEBVCord@0@0_K@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NAEBVCord@0@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@_K@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NAEBVCord@0@0_K@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QEAAXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PEBVFormatArgImpl@str_format_internal@absl@@@12@_K@Z
     ??$MakeCheckOpString@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV123@@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV234@0PEBD@Z
     ??$MakeCheckOpString@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@AEBV123@@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@AEBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@34@0PEBD@Z
     ??$MakeCheckOpString@DD@log_internal@absl@@YAPEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@DDPEBD@Z
@@ -138,7 +140,6 @@
     ??$StrReplaceAll@V?$initializer_list@U?$pair@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V123@@__Cr@std@@@std@@@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@23@AEBV?$initializer_list@U?$pair@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V123@@__Cr@std@@@3@@Z
     ??$StrReplaceAll@V?$initializer_list@U?$pair@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V123@@__Cr@std@@@std@@@absl@@YAHAEBV?$initializer_list@U?$pair@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V123@@__Cr@std@@@std@@PEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@2@@Z
     ??$__append@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
-    ??$__construct_at_end@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXPEBVFormatArgImpl@str_format_internal@absl@@0_K@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@?$__split_buffer@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@AEAV?$allocator@PEAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAPEAUPrefixCrc@CrcCordState@crc_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PEAUTransition@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@UTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$move_iterator@PEAUTransition@cctz@time_internal@absl@@@12@0@Z
@@ -162,7 +163,6 @@
     ??$__rehash@$00@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@AEAAX_K@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@PEBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@@01@PEBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@01@@Z
     ??$__upper_bound@U_ClassicAlgPolicy@__Cr@std@@UByCivilTime@Transition@cctz@time_internal@absl@@PEBU5678@PEBU5678@U5678@U__identity@23@@__Cr@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@$$QEAUByCivilTime@2345@$$QEAU__identity@01@@Z
-    ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEBU1234@AEBU1234@PEBQEBU1234@_J$0A@@12@0PEAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$construct_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@AEBUpiecewise_construct_t@23@V?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$tuple@$$V@23@PEAU123@@__Cr@std@@YAPEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@PEAU201@AEBUpiecewise_construct_t@01@$$QEAV?$tuple@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@01@$$QEAV?$tuple@$$V@01@@Z
@@ -243,7 +243,6 @@
     ??0SpinLock@base_internal@absl@@QEAA@W4SchedulingMode@12@@Z
     ??0Status@absl@@QEAA@W4StatusCode@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??0StdcppWaiter@synchronization_internal@absl@@QEAA@XZ
-    ??0Streamable@str_format_internal@absl@@QEAA@AEBVUntypedFormatSpecImpl@12@V?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@2@@Z
     ??0TimeZoneLibC@cctz@time_internal@absl@@QEAA@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??0Win32Waiter@synchronization_internal@absl@@QEAA@XZ
     ??0int128@absl@@QEAA@M@Z
@@ -336,7 +335,6 @@
     ??R__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??R__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??R__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
-    ??R__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QEAAXXZ
     ??XDuration@absl@@QEAAAEAV01@N@Z
     ??XDuration@absl@@QEAAAEAV01@_J@Z
     ??Y?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PEAU1234@AEAU1234@PEAPEAU1234@_J$0A@@__Cr@std@@QEAAAEAV012@_J@Z
@@ -462,7 +460,6 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UEBA?AVcrc32c_t@3@PEIAXPEIBX_KV43@@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UEAAXPEAII_K@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0_K@Z
     ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPEAV123@PEAV123@_K1@Z
@@ -533,7 +530,6 @@
     ?DumpStackTrace@debugging_internal@absl@@YAXHH_NP6AXPEBDPEAX@Z2@Z
     ?DurationFromTimespec@absl@@YA?AVDuration@1@Utimespec@@@Z
     ?DurationFromTimeval@absl@@YA?AVDuration@1@Utimeval@@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UEBAXPEAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPEAEXZ
     ?EmptyString@Status@absl@@CAPEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
     ?EnableDebugLog@CondVar@absl@@QEAAXPEBD@Z
@@ -598,6 +594,8 @@
     ?Find@ByLength@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?Find@ByString@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@_K@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QEBA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QEBAHUGraphId@23@0HQEAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
     ?FindTailSlow@CordRepRing@cord_internal@absl@@AEBA?AUPosition@123@I_K@Z
@@ -625,9 +623,7 @@
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Uyear_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PEBDVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@AEBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -635,6 +631,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z
@@ -886,6 +884,7 @@
     ?Ptr@GraphCycles@synchronization_internal@absl@@QEAAPEAXUGraphId@23@@Z
     ?PushDead@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AEAAXPEAUHashtablezInfo@container_internal@3@@Z
     ?PutPaddedString@FormatSinkImpl@str_format_internal@absl@@QEAA_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@HH_N@Z
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPEAD@Z
     ?RawEnableLogPrefix@log_internal@absl@@YAX_N@Z
     ?RawLog@raw_log_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
     ?RawLoggingFullySupported@raw_log_internal@absl@@YA_NXZ
@@ -1164,7 +1163,6 @@
     ?__annotate_delete@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__annotate_delete@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__annotate_increase@?$vector@PEAVCordzHandle@cord_internal@absl@@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_increase@?$vector@PEAVLogSink@absl@@V?$allocator@PEAVLogSink@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_increase@?$vector@PEBVCordzHandle@cord_internal@absl@@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
@@ -1172,7 +1170,6 @@
     ?__annotate_increase@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_increase@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_increase@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
-    ?__annotate_increase@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UConversionItem@ParsedFormatBase@str_format_internal@absl@@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_new@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
@@ -1181,7 +1178,6 @@
     ?__annotate_shrink@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
-    ?__annotate_shrink@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAX_K@Z
     ?__append@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?__append@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
     ?__construct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
@@ -1207,9 +1203,6 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEBAXXZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAX_K@Z
-    ?__vdeallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AEAAXXZ
     ?clear@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QEAAXXZ
     ?code@Status@absl@@QEBA?AW4StatusCode@2@XZ
     ?combine_contiguous@MixingHashState@hash_internal@absl@@SA?AV123@V123@PEBE_K@Z
diff --git a/third_party/abseil-cpp/symbols_x86_dbg.def b/third_party/abseil-cpp/symbols_x86_dbg.def
index 918099c..d4e45f6 100644
--- a/third_party/abseil-cpp/symbols_x86_dbg.def
+++ b/third_party/abseil-cpp/symbols_x86_dbg.def
@@ -26,7 +26,6 @@
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PAUTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@$$QA$$T$$QAU__default_init_tag@12@@Z
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@$$QA$$T$$QAU__default_init_tag@12@@Z
     ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PAV?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@QAE@$$QA$$T$$QAU__default_init_tag@12@@Z
-    ??$?0$$TU__default_init_tag@__Cr@std@@@?$__compressed_pair@PAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@$$QA$$T$$QAU__default_init_tag@12@@Z
     ??$?0$$TX@?$__compressed_pair_elem@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PAPAVCordzHandle@cord_internal@absl@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
@@ -37,7 +36,6 @@
     ??$?0$$TX@?$__compressed_pair_elem@PAUTransitionType@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
     ??$?0$$TX@?$__compressed_pair_elem@PAV?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
-    ??$?0$$TX@?$__compressed_pair_elem@PAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QAE@$$QA$$T@Z
     ??$?0$$V@?$__temp_value@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV?$allocator@UTransition@cctz@time_internal@absl@@@12@@Z
     ??$?0$$V@?$__temp_value@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@@Z
     ??$?0$00X@?$__compressed_pair@U?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@__Cr@std@@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@23@@__Cr@std@@QAE@XZ
@@ -86,7 +84,6 @@
     ??$?0AAPAVZoneInfoSource@cctz@time_internal@absl@@U__value_init_tag@__Cr@std@@@?$__compressed_pair@PAVZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAPAVZoneInfoSource@cctz@time_internal@absl@@$$QAU__value_init_tag@12@@Z
     ??$?0AAPAVZoneInfoSource@cctz@time_internal@absl@@X@?$__compressed_pair_elem@PAVZoneInfoSource@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QAE@AAPAVZoneInfoSource@cctz@time_internal@absl@@@Z
     ??$?0AAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU0123@$0A@@?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@__Cr@std@@QAE@AAPBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QAPAU3456@@Z
-    ??$?0AAPBVFormatArgImpl@str_format_internal@absl@@PAV012@$0A@@?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@__Cr@std@@QAE@AAPBVFormatArgImpl@str_format_internal@absl@@$$QAPAV345@@Z
     ??$?0AAPBVImpl@time_zone@cctz@time_internal@absl@@U__value_init_tag@__Cr@std@@@?$__compressed_pair@PBVImpl@time_zone@cctz@time_internal@absl@@U?$default_delete@$$CBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAPBVImpl@time_zone@cctz@time_internal@absl@@$$QAU__value_init_tag@12@@Z
     ??$?0AAPBVImpl@time_zone@cctz@time_internal@absl@@X@?$__compressed_pair_elem@PBVImpl@time_zone@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QAE@AAPBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$?0AAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@12@$0A@@?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@QAE@AAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@12@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@12@@Z
@@ -111,6 +108,9 @@
     ??$?0ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QAE@Uin_place_t@3@ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@Z
     ??$?0ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@container_internal@absl@@QAE@ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$$QAI@Z
     ??$?0ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@?$CompressedTupleImpl@V?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@container_internal@absl@@U?$integer_sequence@I$0A@$00@3@$00@internal_compressed_tuple@container_internal@absl@@QAE@Uin_place_t@3@ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$$QAI@Z
+    ??$?0ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@?$Storage@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QAE@Uin_place_t@3@ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
+    ??$?0ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@container_internal@absl@@QAE@ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$$QAI@Z
+    ??$?0ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@?$CompressedTupleImpl@V?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@container_internal@absl@@U?$integer_sequence@I$0A@$00@3@$00@internal_compressed_tuple@container_internal@absl@@QAE@Uin_place_t@3@ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$$QAI@Z
     ??$?0ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@$$Z$$V$$Z$0A@$$Z$S@?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@AAE@Upiecewise_construct_t@12@AAV?$tuple@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@AAV?$tuple@$$V@12@U?$__tuple_indices@$0A@@12@U?$__tuple_indices@$S@12@@Z
     ??$?0ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@$$Z$$V@?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QAE@Upiecewise_construct_t@12@V?$tuple@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@V?$tuple@$$V@12@@Z
     ??$?0ABVCord@absl@@$0A@@?$optional@VCord@absl@@@absl@@QAE@ABVCord@1@@Z
@@ -144,8 +144,7 @@
     ??$?0PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU0123@$0A@@?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@__Cr@std@@QAE@$$QAPBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QAPAU3456@@Z
     ??$?0PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU0123@$0A@@?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@@__Cr@std@@QAE@$$QAPBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
     ??$?0PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@$0A@@?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@__Cr@std@@QAE@$$QAPBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@12@@Z
-    ??$?0PBVFormatArgImpl@str_format_internal@absl@@PAV012@$0A@@?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@__Cr@std@@QAE@$$QAPBVFormatArgImpl@str_format_internal@absl@@$$QAPAV345@@Z
-    ??$?0PBVFormatArgImpl@str_format_internal@absl@@PBV012@$0A@@?$pair@PBVFormatArgImpl@str_format_internal@absl@@PBV123@@__Cr@std@@QAE@$$QAPBVFormatArgImpl@str_format_internal@absl@@0@Z
+    ??$?0PBVFormatArgImpl@str_format_internal@absl@@$0A@@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QAE@PBVFormatArgImpl@str_format_internal@1@0ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
     ??$?0U?$array@D$0DKJI@@__Cr@std@@XU012@H@?$Span@D@absl@@QAE@AAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$?0U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@X@?$__compressed_pair_elem@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@$00$00@__Cr@std@@QAE@$$QAU?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@12@@Z
     ??$?0U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@X@?$__compressed_pair_elem@U?$default_delete@VCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QAE@$$QAU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@12@@Z
@@ -195,11 +194,11 @@
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Uminute_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QAE@ABV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PAX@Z
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Umonth_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QAE@ABV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PAX@Z
     ??$?0Uyear_tag@time_internal@absl@@@?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@absl@@QAE@ABV?$civil_time@Uyear_tag@time_internal@absl@@@1234@PAX@Z
+    ??$?0V?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@XV01@H@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QAE@ABV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@@Z
     ??$?0V?$Span@D@absl@@XV01@$0A@@?$Span@$$CBD@absl@@QAE@ABV?$Span@D@1@@Z
     ??$?0V?$Span@D@absl@@XV01@$0A@@?$Span@D@absl@@QAE@AAV01@@Z
     ??$?0V?$Span@I@absl@@XV01@$0A@@?$Span@$$CBI@absl@@QAE@ABV?$Span@I@1@@Z
     ??$?0V?$Span@I@absl@@XV01@$0A@@?$Span@I@absl@@QAE@AAV01@@Z
-    ??$?0V?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@XV01@$0A@@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QAE@ABV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@@Z
     ??$?0V?$__allocator_destructor@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@X@?$__compressed_pair_elem@V?$__allocator_destructor@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@$00$0A@@__Cr@std@@QAE@$$QAV?$__allocator_destructor@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@12@@Z
     ??$?0V?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@X@?$__compressed_pair_elem@V?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@$00$0A@@__Cr@std@@QAE@$$QAV?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@12@@Z
     ??$?0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V012@$0A@@?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V123@@__Cr@std@@QAE@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@12@0@Z
@@ -231,7 +230,6 @@
     ??$?0V?$reverse_iterator@PAUTransition@cctz@time_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PAUTransition@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QAE@$$QAV?$reverse_iterator@PAUTransition@cctz@time_internal@absl@@@12@0@Z
     ??$?0V?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QAE@$$QAV?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@12@0@Z
     ??$?0V?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V012@$0A@@?$pair@V?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@@__Cr@std@@QAE@$$QAV?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@12@0@Z
-    ??$?0V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@XV012@H@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QAE@ABV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@Z
     ??$?0VBufferRawSink@str_format_internal@absl@@$0A@@FormatRawSinkImpl@str_format_internal@absl@@QAE@PAVBufferRawSink@12@@Z
     ??$?0VFILERawSink@str_format_internal@absl@@$0A@@FormatRawSinkImpl@str_format_internal@absl@@QAE@PAVFILERawSink@12@@Z
     ??$?0VFallbackCrcMemcpyEngine@crc_internal@absl@@@?$default_delete@VCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@QAE@ABU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@12@PAX@Z
@@ -291,7 +289,6 @@
     ??$?OUsecond_tag@detail@cctz@time_internal@absl@@U01234@@detail@cctz@time_internal@absl@@YA_NABV?$civil_time@Usecond_tag@detail@cctz@time_internal@absl@@@0123@0@Z
     ??$?PUsecond_tag@detail@cctz@time_internal@absl@@U01234@@detail@cctz@time_internal@absl@@YA_NABV?$civil_time@Usecond_tag@detail@cctz@time_internal@absl@@@0123@0@Z
     ??$?R$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@U0123@$0A@@__copy_trivial@__Cr@std@@QBE?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@12@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0PAU4567@@Z
-    ??$?R$$CBVFormatArgImpl@str_format_internal@absl@@V012@$0A@@__copy_trivial@__Cr@std@@QBE?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@12@PBVFormatArgImpl@str_format_internal@absl@@0PAV456@@Z
     ??$?RAAPBDAAHAAY0LLI@DABQBDPAD@?$AtomicHook@P6AXPBDH000@Z@base_internal@absl@@QBEXAAPBDAAHAAY0LLI@DABQBD$$QAPAD@Z
     ??$?RAAW4LogSeverity@absl@@AAPBDAAHPAPADPAH@?$AtomicHook@P6A_NW4LogSeverity@absl@@PBDHPAPADPAH@Z@base_internal@absl@@QBE_NAAW4LogSeverity@2@AAPBDAAH$$QAPAPAD$$QAPAH@Z
     ??$?RAAY04$$CBDPAVCondVar@absl@@@?$AtomicHook@P6AXPBDPBX@Z@base_internal@absl@@QBEXAAY04$$CBD$$QAPAVCondVar@2@@Z
@@ -389,6 +386,7 @@
     ??$ConstructElements@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PAPAVLogSink@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@PAPAVLogSink@1@AAV?$IteratorValueAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PAPAVLogSink@absl@@@23@@01@I@Z
     ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@1@AAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PBUPayload@status_internal@absl@@@01@I@Z
     ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@1@AAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@01@I@Z
+    ??$ConstructElements@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PAVFormatArgImpl@str_format_internal@1@AAV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@01@I@Z
     ??$ConsumeConversion@$00@str_format_internal@absl@@YAPBDPBDQBDPAUUnboundConversion@01@PAH@Z
     ??$ConsumeConversion@$0A@@str_format_internal@absl@@YAPBDPBDQBDPAUUnboundConversion@01@PAH@Z
     ??$Convert@VFormatArgImpl@str_format_internal@absl@@@FormatArgImplFriend@str_format_internal@absl@@SA_NVFormatArgImpl@12@VFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
@@ -480,21 +478,19 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHABVCord@0@0I@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NABVCord@0@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@I@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NABVCord@0@0I@Z
+    ??$GetData@$$CBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPBVFormatArgImpl@str_format_internal@1@ABV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@@Z
     ??$GetData@$$CBV?$Span@D@absl@@@span_internal@absl@@YAPADABV?$Span@D@1@@Z
     ??$GetData@$$CBV?$Span@I@absl@@@span_internal@absl@@YAPAIABV?$Span@I@1@@Z
-    ??$GetData@$$CBV?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@@span_internal@absl@@YAPAVFormatArgImpl@str_format_internal@1@ABV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@@Z
     ??$GetData@$$CBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPBDABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ??$GetData@$$CBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPBVFormatArgImpl@str_format_internal@1@ABV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@Z
     ??$GetData@U?$array@D$0DKJI@@__Cr@std@@@span_internal@absl@@YAPADAAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$GetData@V?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPAPAVLogSink@1@AAV?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@1@@Z
     ??$GetData@V?$Span@D@absl@@@span_internal@absl@@YAPADAAV?$Span@D@1@@Z
     ??$GetData@V?$Span@I@absl@@@span_internal@absl@@YAPAIAAV?$Span@I@1@@Z
     ??$GetData@V?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPAPAVLogSink@1@AAV?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@Z
+    ??$GetDataImpl@$$CBV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPBVFormatArgImpl@str_format_internal@1@ABV?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@1@D@Z
     ??$GetDataImpl@$$CBV?$Span@D@absl@@@span_internal@absl@@YAPADABV?$Span@D@1@D@Z
     ??$GetDataImpl@$$CBV?$Span@I@absl@@@span_internal@absl@@YAPAIABV?$Span@I@1@D@Z
-    ??$GetDataImpl@$$CBV?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@@span_internal@absl@@YAPAVFormatArgImpl@str_format_internal@1@ABV?$Span@VFormatArgImpl@str_format_internal@absl@@@1@D@Z
     ??$GetDataImpl@$$CBV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPBDABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@D@Z
-    ??$GetDataImpl@$$CBV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@span_internal@absl@@YAPBVFormatArgImpl@str_format_internal@1@ABV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@D@Z
     ??$GetDataImpl@U?$array@D$0DKJI@@__Cr@std@@@span_internal@absl@@YAPADAAU?$array@D$0DKJI@@__Cr@std@@D@Z
     ??$GetDataImpl@V?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@@span_internal@absl@@YAPAPAVLogSink@1@AAV?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@1@D@Z
     ??$GetDataImpl@V?$Span@D@absl@@@span_internal@absl@@YAPADAAV?$Span@D@1@D@Z
@@ -513,6 +509,7 @@
     ??$Init@PBD@FormatArgImpl@str_format_internal@absl@@AAEXABQBD@Z
     ??$Init@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@FormatArgImpl@str_format_internal@absl@@AAEXABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??$Init@_J@FormatArgImpl@str_format_internal@absl@@AAEXAB_J@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@12@I@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@H@UniquelyRepresentedProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@ABH@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@I@UniquelyRepresentedProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@ABI@Z
     ??$Invoke@VMixingHashState@hash_internal@absl@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@HashValueProbe@HashSelect@hash_internal@absl@@SA?AVMixingHashState@23@V423@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
@@ -559,7 +556,6 @@
     ??$MakeSpan@$SU?$array@D$0DKJI@@__Cr@std@@@absl@@YA?AV?$Span@D@0@AAU?$array@D$0DKJI@@__Cr@std@@@Z
     ??$MakeSpan@$SV?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@@absl@@YA?AV?$Span@PAVLogSink@absl@@@0@AAV?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@0@@Z
     ??$MakeSpan@$SV?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@absl@@YA?AV?$Span@PAVLogSink@absl@@@0@AAV?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@Z
-    ??$MakeSpan@$SVFormatArgImpl@str_format_internal@absl@@@absl@@YA?AV?$Span@VFormatArgImpl@str_format_internal@absl@@@0@PAVFormatArgImpl@str_format_internal@0@I@Z
     ??$MaskOfLength@I@crc_internal@absl@@YAIH@Z
     ??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPAV012@PAV012@0@Z
     ??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPAV012@PAV012@0@Z
@@ -668,7 +664,6 @@
     ??$TrailingZeros@I@container_internal@absl@@YAII@Z
     ??$UnhidePtr@X@base_internal@absl@@YAPAXI@Z
     ??$__advance@PBUTransition@cctz@time_internal@absl@@@__Cr@std@@YAXAAPBUTransition@cctz@time_internal@absl@@HUrandom_access_iterator_tag@01@@Z
-    ??$__advance@PBVFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAXAAPBVFormatArgImpl@str_format_internal@absl@@HUrandom_access_iterator_tag@01@@Z
     ??$__allocate_at_least@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@@01@AAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@01@I@Z
     ??$__allocate_at_least@V?$allocator@PAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@01@AAV?$allocator@PAUPrefixCrc@CrcCordState@crc_internal@absl@@@01@I@Z
     ??$__allocate_at_least@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAPAVCordzHandle@cord_internal@absl@@@01@AAV?$allocator@PAVCordzHandle@cord_internal@absl@@@01@I@Z
@@ -678,9 +673,7 @@
     ??$__allocate_at_least@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAUTransition@cctz@time_internal@absl@@@01@AAV?$allocator@UTransition@cctz@time_internal@absl@@@01@I@Z
     ??$__allocate_at_least@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAUTransitionType@cctz@time_internal@absl@@@01@AAV?$allocator@UTransitionType@cctz@time_internal@absl@@@01@I@Z
     ??$__allocate_at_least@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAUViableSubstitution@strings_internal@absl@@@01@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@I@Z
-    ??$__allocate_at_least@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAVFormatArgImpl@str_format_internal@absl@@@01@AAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@I@Z
     ??$__append@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@12@0PAX@Z
-    ??$__construct_at_end@PBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPBVFormatArgImpl@str_format_internal@absl@@0I@Z
     ??$__construct_at_end@V?$move_iterator@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@PAPBVImpl@time_zone@cctz@time_internal@absl@@AAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$move_iterator@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@?$__split_buffer@PAUPrefixCrc@CrcCordState@crc_internal@absl@@AAV?$allocator@PAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$move_iterator@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PAUTransition@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@UTransition@cctz@time_internal@absl@@AAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$move_iterator@PAUTransition@cctz@time_internal@absl@@@12@0@Z
@@ -696,14 +689,12 @@
     ??$__construct_one_at_end@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@?$vector@UConversionItem@ParsedFormatBase@str_format_internal@absl@@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEX$$QAUConversionItem@ParsedFormatBase@str_format_internal@absl@@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU4567@PAU4567@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0PAU3456@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
-    ??$__copy@U_ClassicAlgPolicy@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@PBV456@PAV456@@__Cr@std@@YA?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@01@PBVFormatArgImpl@str_format_internal@absl@@0PAV345@@Z
     ??$__copy@U_ClassicAlgPolicy@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@V423@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
     ??$__copy_backward_trivial_impl@PAPBVImpl@time_zone@cctz@time_internal@absl@@PAPBV12345@@__Cr@std@@YA?AU?$pair@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV12345@@01@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@PAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@__Cr@std@@YA?AU?$pair@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU1234@@01@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@UTransition@cctz@time_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PAUTransition@cctz@time_internal@absl@@PAU1234@@01@PAUTransition@cctz@time_internal@absl@@00@Z
     ??$__copy_backward_trivial_impl@UTransitionType@cctz@time_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@01@PAUTransitionType@cctz@time_internal@absl@@00@Z
     ??$__copy_trivial_impl@$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@U1234@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0PAU3456@@Z
-    ??$__copy_trivial_impl@$$CBVFormatArgImpl@str_format_internal@absl@@V123@@__Cr@std@@YA?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@01@PBVFormatArgImpl@str_format_internal@absl@@0PAV345@@Z
     ??$__copy_trivial_impl@PAPBVImpl@time_zone@cctz@time_internal@absl@@PAPBV12345@@__Cr@std@@YA?AU?$pair@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV12345@@01@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__copy_trivial_impl@PAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@__Cr@std@@YA?AU?$pair@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU1234@@01@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
     ??$__copy_trivial_impl@PAVLogSink@absl@@PAV12@@__Cr@std@@YA?AU?$pair@PAPAVLogSink@absl@@PAPAV12@@01@PAPAVLogSink@absl@@00@Z
@@ -727,7 +718,6 @@
     ??$__debug_db_erase_c@V?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_erase_c@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_erase_c@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
-    ??$__debug_db_erase_c@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPAV?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@01@@Z
     ??$__debug_db_insert_c@V?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@01@@Z
@@ -737,7 +727,6 @@
     ??$__debug_db_insert_c@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_insert_c@V?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@01@@Z
-    ??$__debug_db_insert_c@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@@__Cr@std@@YAXPAV?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@01@@Z
@@ -746,7 +735,6 @@
     ??$__debug_db_invalidate_all@V?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@01@@Z
     ??$__debug_db_invalidate_all@V?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@01@@Z
-    ??$__debug_db_invalidate_all@V?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@YAXPAV?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@01@@Z
     ??$__destroy_at@PAPBVImpl@time_zone@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPAPAPBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$__destroy_at@PAUCordRep@cord_internal@absl@@$0A@@__Cr@std@@YAXPAPAUCordRep@cord_internal@absl@@@Z
     ??$__destroy_at@PAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@@__Cr@std@@YAXPAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@Z
@@ -760,10 +748,8 @@
     ??$__destroy_at@UTransition@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPAUTransition@cctz@time_internal@absl@@@Z
     ??$__destroy_at@UTransitionType@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPAUTransitionType@cctz@time_internal@absl@@@Z
     ??$__destroy_at@UViableSubstitution@strings_internal@absl@@$0A@@__Cr@std@@YAXPAUViableSubstitution@strings_internal@absl@@@Z
-    ??$__destroy_at@VFormatArgImpl@str_format_internal@absl@@$0A@@__Cr@std@@YAXPAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU6789@PAU6789@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0PAU3456@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU6789@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
-    ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@PBVFormatArgImpl@str_format_internal@absl@@PBV678@PAV678@@__Cr@std@@YA?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@01@PBVFormatArgImpl@str_format_internal@absl@@0PAV345@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__copy_trivial@23@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@V623@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__move_backward_trivial@23@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV6789absl@@PAPAPBV6789absl@@@__Cr@std@@YA?AU?$pair@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV12345@@01@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__dispatch_copy_or_move@U_ClassicAlgPolicy@__Cr@std@@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@23@U__move_backward_trivial@23@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU6789@PAPAU6789@@__Cr@std@@YA?AU?$pair@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU1234@@01@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
@@ -833,9 +819,7 @@
     ??$__rewrap_iter@PAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@U?$__unwrap_iter_impl@PAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU2345@0@Z
     ??$__rewrap_iter@PAUTransition@cctz@time_internal@absl@@PAU1234@U?$__unwrap_iter_impl@PAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPAUTransition@cctz@time_internal@absl@@PAU2345@0@Z
     ??$__rewrap_iter@PAUTransitionType@cctz@time_internal@absl@@PAU1234@U?$__unwrap_iter_impl@PAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPAUTransitionType@cctz@time_internal@absl@@PAU2345@0@Z
-    ??$__rewrap_iter@PAVFormatArgImpl@str_format_internal@absl@@PAV123@U?$__unwrap_iter_impl@PAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPAVFormatArgImpl@str_format_internal@absl@@PAV234@0@Z
     ??$__rewrap_iter@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@U?$__unwrap_iter_impl@PBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU2345@0@Z
-    ??$__rewrap_iter@PBVFormatArgImpl@str_format_internal@absl@@PBV123@U?$__unwrap_iter_impl@PBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@@__Cr@std@@YAPBVFormatArgImpl@str_format_internal@absl@@PBV234@0@Z
     ??$__rewrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@V201@0@Z
     ??$__rewrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@V201@0@Z
     ??$__rewrap_iter@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@U?$__unwrap_iter_impl@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@23@@__Cr@std@@YA?AV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@01@V201@0@Z
@@ -851,7 +835,6 @@
     ??$__rewrap_range@PAUTransition@cctz@time_internal@absl@@PAU1234@PAU1234@@__Cr@std@@YAPAUTransition@cctz@time_internal@absl@@PAU2345@0@Z
     ??$__rewrap_range@PAUTransitionType@cctz@time_internal@absl@@PAU1234@PAU1234@@__Cr@std@@YAPAUTransitionType@cctz@time_internal@absl@@PAU2345@0@Z
     ??$__rewrap_range@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@PBU1234@@__Cr@std@@YAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU2345@0@Z
-    ??$__rewrap_range@PBVFormatArgImpl@str_format_internal@absl@@PBV123@PBV123@@__Cr@std@@YAPBVFormatArgImpl@str_format_internal@absl@@PBV234@0@Z
     ??$__rewrap_range@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PAPAVLogSink@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PAPAVLogSink@absl@@@01@V201@0@Z
@@ -861,7 +844,6 @@
     ??$__rewrap_range@V?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@01@V201@0@Z
     ??$__rewrap_range@V?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@V123@@__Cr@std@@YA?AV?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@01@V201@0@Z
     ??$__to_address@$$CBUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@YAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU2345@@Z
-    ??$__to_address@$$CBVFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAPBVFormatArgImpl@str_format_internal@absl@@PBV234@@Z
     ??$__to_address@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@YAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV23456@@Z
     ??$__to_address@PAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@YAPAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU2345@@Z
     ??$__to_address@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@YAPAPAVCordzHandle@cord_internal@absl@@PAPAV234@@Z
@@ -872,8 +854,6 @@
     ??$__to_address@UTransition@cctz@time_internal@absl@@@__Cr@std@@YAPAUTransition@cctz@time_internal@absl@@PAU2345@@Z
     ??$__to_address@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@YAPAUTransitionType@cctz@time_internal@absl@@PAU2345@@Z
     ??$__to_address@UViableSubstitution@strings_internal@absl@@@__Cr@std@@YAPAUViableSubstitution@strings_internal@absl@@PAU234@@Z
-    ??$__to_address@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@YAPAVFormatArgImpl@str_format_internal@absl@@PAV234@@Z
-    ??$__uninitialized_allocator_copy@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@VFormatArgImpl@str_format_internal@absl@@V456@$0A@@__Cr@std@@YAPAVFormatArgImpl@str_format_internal@absl@@AAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@PBV234@1PAV234@@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@23@V423@PAVCordzHandle@cord_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@01@AAV?$allocator@PAVCordzHandle@cord_internal@absl@@@01@V201@11@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$reverse_iterator@PAPAVLogSink@absl@@@23@V423@PAVLogSink@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PAPAVLogSink@absl@@@01@AAV?$allocator@PAVLogSink@absl@@@01@V201@11@Z
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__Cr@std@@V?$reverse_iterator@PAPBVCordzHandle@cord_internal@absl@@@23@V423@PBVCordzHandle@cord_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PAPBVCordzHandle@cord_internal@absl@@@01@AAV?$allocator@PBVCordzHandle@cord_internal@absl@@@01@V201@11@Z
@@ -885,7 +865,6 @@
     ??$__uninitialized_allocator_move_if_noexcept@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@V?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@23@V423@UViableSubstitution@strings_internal@absl@@X@__Cr@std@@YA?AV?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@01@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@V201@11@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU4567@PAU4567@$0A@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0PAU3456@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU4567@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@01@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
-    ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@PBV456@PAV456@$0A@@__Cr@std@@YA?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@01@PBVFormatArgImpl@str_format_internal@absl@@0PAV345@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__copy_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__copy_trivial@23@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@V423@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@$0A@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@0V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__move_backward_trivial@23@@__Cr@std@@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV45678@PAPAPBV45678@$0A@@__Cr@std@@YA?AU?$pair@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV12345@@01@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@00@Z
     ??$__unwrap_and_dispatch@U?$__overload@U?$__move_backward_loop@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@U__move_backward_trivial@23@@__Cr@std@@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU4567@PAPAU4567@$0A@@__Cr@std@@YA?AU?$pair@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU1234@@01@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@00@Z
@@ -909,9 +888,7 @@
     ??$__unwrap_iter@PAUPrefixCrc@CrcCordState@crc_internal@absl@@U?$__unwrap_iter_impl@PAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU2345@@Z
     ??$__unwrap_iter@PAUTransition@cctz@time_internal@absl@@U?$__unwrap_iter_impl@PAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPAUTransition@cctz@time_internal@absl@@PAU2345@@Z
     ??$__unwrap_iter@PAUTransitionType@cctz@time_internal@absl@@U?$__unwrap_iter_impl@PAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPAUTransitionType@cctz@time_internal@absl@@PAU2345@@Z
-    ??$__unwrap_iter@PAVFormatArgImpl@str_format_internal@absl@@U?$__unwrap_iter_impl@PAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPAVFormatArgImpl@str_format_internal@absl@@PAV234@@Z
     ??$__unwrap_iter@PBUPrefixCrc@CrcCordState@crc_internal@absl@@U?$__unwrap_iter_impl@PBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU2345@@Z
-    ??$__unwrap_iter@PBVFormatArgImpl@str_format_internal@absl@@U?$__unwrap_iter_impl@PBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@$0A@@__Cr@std@@YAPBVFormatArgImpl@str_format_internal@absl@@PBV234@@Z
     ??$__unwrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@V201@@Z
     ??$__unwrap_iter@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@U?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@V201@@Z
     ??$__unwrap_iter@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@U?$__unwrap_iter_impl@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@23@$0A@@__Cr@std@@YA?AV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@01@V201@@Z
@@ -927,7 +904,6 @@
     ??$__unwrap_range@PAUTransition@cctz@time_internal@absl@@PAU1234@@__Cr@std@@YA?A?<auto>@@PAUTransition@cctz@time_internal@absl@@0@Z
     ??$__unwrap_range@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@__Cr@std@@YA?A?<auto>@@PAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$__unwrap_range@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@@__Cr@std@@YA?A?<auto>@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ??$__unwrap_range@PBVFormatArgImpl@str_format_internal@absl@@PBV123@@__Cr@std@@YA?A?<auto>@@PBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$__unwrap_range@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@0@Z
     ??$__unwrap_range@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@01@0@Z
     ??$__unwrap_range@V?$reverse_iterator@PAPAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@YA?A?<auto>@@V?$reverse_iterator@PAPAVLogSink@absl@@@01@0@Z
@@ -947,8 +923,6 @@
     ??$__validate_iter_reference@AAV?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@__Cr@std@@@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAXXZ
     ??$advance@PBUTransition@cctz@time_internal@absl@@H@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAXAAPBUTransition@cctz@time_internal@absl@@H@Z
     ??$advance@PBUTransition@cctz@time_internal@absl@@HHX@__Cr@std@@YAXAAPBUTransition@cctz@time_internal@absl@@H@Z
-    ??$advance@PBVFormatArgImpl@str_format_internal@absl@@IIX@__Cr@std@@YAXAAPBVFormatArgImpl@str_format_internal@absl@@I@Z
-    ??$assign@PBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXPBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@12@0PAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IAEX$$QAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$call_once@A6AXXZ$$V@absl@@YAXAAVonce_flag@0@A6AXXZ@Z
@@ -983,6 +957,7 @@
     ??$construct@UTransitionType@cctz@time_internal@absl@@U1234@XX@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PAUTransitionType@cctz@time_internal@absl@@$$QAU4567@@Z
     ??$construct@UViableSubstitution@strings_internal@absl@@AAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABV456@AAIXX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PAUViableSubstitution@strings_internal@absl@@AAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@12@ABV712@AAI@Z
     ??$construct@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IAEX$$QAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
+    ??$construct@VFormatArgImpl@str_format_internal@absl@@ABV123@XX@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PAVFormatArgImpl@str_format_internal@absl@@ABV456@@Z
     ??$construct_at@PAPBVImpl@time_zone@cctz@time_internal@absl@@ABQAPBV12345@PAPAPBV12345@@__Cr@std@@YAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV23456@ABQAPBV23456@@Z
     ??$construct_at@PAPBVImpl@time_zone@cctz@time_internal@absl@@PAPBV12345@PAPAPBV12345@@__Cr@std@@YAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV23456@$$QAPAPBV23456@@Z
     ??$construct_at@PAUCordRep@cord_internal@absl@@ABQAU123@PAPAU123@@__Cr@std@@YAPAPAUCordRep@cord_internal@absl@@PAPAU234@ABQAU234@@Z
@@ -1007,7 +982,7 @@
     ??$construct_at@UTransitionType@cctz@time_internal@absl@@$$VPAU1234@@__Cr@std@@YAPAUTransitionType@cctz@time_internal@absl@@PAU2345@@Z
     ??$construct_at@UTransitionType@cctz@time_internal@absl@@U1234@PAU1234@@__Cr@std@@YAPAUTransitionType@cctz@time_internal@absl@@PAU2345@$$QAU2345@@Z
     ??$construct_at@UViableSubstitution@strings_internal@absl@@AAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABV456@AAIPAU123@@__Cr@std@@YAPAUViableSubstitution@strings_internal@absl@@PAU234@AAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@01@ABV501@AAI@Z
-    ??$copy@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@__Cr@std@@YAPAVFormatArgImpl@str_format_internal@absl@@PBV234@0PAV234@@Z
+    ??$construct_at@VFormatArgImpl@str_format_internal@absl@@ABV123@PAV123@@__Cr@std@@YAPAVFormatArgImpl@str_format_internal@absl@@PAV234@ABV234@@Z
     ??$copy@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@0V201@@Z
     ??$countl_zero@I@absl@@YAHI@Z
     ??$countl_zero@_K@absl@@YAH_K@Z
@@ -1026,7 +1001,6 @@
     ??$destroy@UTransition@cctz@time_internal@absl@@XX@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PAUTransition@cctz@time_internal@absl@@@Z
     ??$destroy@UTransitionType@cctz@time_internal@absl@@XX@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PAUTransitionType@cctz@time_internal@absl@@@Z
     ??$destroy@UViableSubstitution@strings_internal@absl@@XX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PAUViableSubstitution@strings_internal@absl@@@Z
-    ??$destroy@VFormatArgImpl@str_format_internal@absl@@XX@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$destroy_at@PAPBVImpl@time_zone@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPAPAPBVImpl@time_zone@cctz@time_internal@absl@@@Z
     ??$destroy_at@PAUCordRep@cord_internal@absl@@$0A@@__Cr@std@@YAXPAPAUCordRep@cord_internal@absl@@@Z
     ??$destroy_at@PAUPrefixCrc@CrcCordState@crc_internal@absl@@$0A@@__Cr@std@@YAXPAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@Z
@@ -1040,7 +1014,6 @@
     ??$destroy_at@UTransition@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPAUTransition@cctz@time_internal@absl@@@Z
     ??$destroy_at@UTransitionType@cctz@time_internal@absl@@$0A@@__Cr@std@@YAXPAUTransitionType@cctz@time_internal@absl@@@Z
     ??$destroy_at@UViableSubstitution@strings_internal@absl@@$0A@@__Cr@std@@YAXPAUViableSubstitution@strings_internal@absl@@@Z
-    ??$destroy_at@VFormatArgImpl@str_format_internal@absl@@$0A@@__Cr@std@@YAXPAVFormatArgImpl@str_format_internal@absl@@@Z
     ??$distance@PBUPayload@status_internal@absl@@@__Cr@std@@YAHPBUPayload@status_internal@absl@@0@Z
     ??$distance@PBUTransition@cctz@time_internal@absl@@@?$_IterOps@U_ClassicAlgPolicy@__Cr@std@@@__Cr@std@@SAHPBUTransition@cctz@time_internal@absl@@0@Z
     ??$distance@PBUTransition@cctz@time_internal@absl@@@__Cr@std@@YAHPBUTransition@cctz@time_internal@absl@@0@Z
@@ -1069,6 +1042,7 @@
     ??$forward@AAV?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@YAAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@AAV123@@Z
     ??$forward@AAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@YAAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@AAV123@@Z
     ??$forward@ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@YAABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@ABV123@@Z
+    ??$forward@ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@YAABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@ABV123@@Z
     ??$forward@ABVCord@absl@@@absl@@YAABVCord@0@ABV10@@Z
     ??$forward@H@absl@@YA$$QAHAAH@Z
     ??$forward@I@absl@@YA$$QAIAAI@Z
@@ -1088,6 +1062,8 @@
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGAEAAIXZ
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGBEABIXZ
     ??$get@$00@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@absl@@@container_internal@absl@@QGAEAAPAUPayload@status_internal@2@XZ
+    ??$get@$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGAEAAIXZ
+    ??$get@$00@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGBEABIXZ
     ??$get@$0A@@?$CompressedTuple@IVHashtablezInfoHandle@container_internal@absl@@@container_internal@absl@@QGAEAAIXZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@H@__Cr@std@@I@container_internal@absl@@QGAEAAV?$allocator@H@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGAEAAV?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@XZ
@@ -1097,6 +1073,7 @@
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGAEAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGBEABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ??$get@$0A@@?$CompressedTuple@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@absl@@@container_internal@absl@@QGAEAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ??$get@$0A@@?$CompressedTuple@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@container_internal@absl@@QGAEAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ??$hash@V?$tuple@ABI@__Cr@std@@$0A@@MixingHashState@hash_internal@absl@@SAIABV?$tuple@ABI@__Cr@std@@@Z
     ??$hash@V?$tuple@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABH@__Cr@std@@$0A@@MixingHashState@hash_internal@absl@@SAIABV?$tuple@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABH@__Cr@std@@@Z
     ??$hash_bytes@VMixingHashState@hash_internal@absl@@H@hash_internal@absl@@YA?AVMixingHashState@01@V201@ABH@Z
@@ -1117,7 +1094,6 @@
     ??$make_pair@AAPAUTransitionType@cctz@time_internal@absl@@AAPAU1234@@__Cr@std@@YA?AU?$pair@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@01@AAPAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$make_pair@AAPAUTransitionType@cctz@time_internal@absl@@PAU1234@@__Cr@std@@YA?AU?$pair@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@01@AAPAUTransitionType@cctz@time_internal@absl@@$$QAPAU3456@@Z
     ??$make_pair@AAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@01@AAPBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QAPAU3456@@Z
-    ??$make_pair@AAPBVFormatArgImpl@str_format_internal@absl@@PAV123@@__Cr@std@@YA?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@01@AAPBVFormatArgImpl@str_format_internal@absl@@$$QAPAV345@@Z
     ??$make_pair@AAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@01@AAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
     ??$make_pair@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV12345@@__Cr@std@@YA?AU?$pair@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV12345@@01@$$QAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@0@Z
     ??$make_pair@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU1234@@__Cr@std@@YA?AU?$pair@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU1234@@01@$$QAPAPAUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
@@ -1126,7 +1102,6 @@
     ??$make_pair@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@__Cr@std@@YA?AU?$pair@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@01@$$QAPAUTransitionType@cctz@time_internal@absl@@0@Z
     ??$make_pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@@01@$$QAPBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QAPAU3456@@Z
     ??$make_pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@__Cr@std@@YA?AU?$pair@PBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@01@$$QAPBUPrefixCrc@CrcCordState@crc_internal@absl@@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
-    ??$make_pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@__Cr@std@@YA?AU?$pair@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@01@$$QAPBVFormatArgImpl@str_format_internal@absl@@$$QAPAV345@@Z
     ??$make_pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@__Cr@std@@YA?AU?$pair@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@01@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@01@$$QAV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@01@@Z
     ??$make_pair@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@YA?AU?$pair@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@01@$$QAV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@01@0@Z
     ??$make_pair@V?$reverse_iterator@PAPAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@YA?AU?$pair@V?$reverse_iterator@PAPAVLogSink@absl@@@__Cr@std@@V123@@01@$$QAV?$reverse_iterator@PAPAVLogSink@absl@@@01@0@Z
@@ -1216,6 +1191,7 @@
     ??0?$IteratorValueAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PAPAVLogSink@absl@@@23@@inlined_vector_internal@absl@@QAE@ABV?$move_iterator@PAPAVLogSink@absl@@@__Cr@std@@@Z
     ??0?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QAE@ABQBUPayload@status_internal@2@@Z
     ??0?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QAE@ABV?$move_iterator@PAUPayload@status_internal@absl@@@__Cr@std@@@Z
+    ??0?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@QAE@ABQBVFormatArgImpl@str_format_internal@2@@Z
     ??0?$Layout@IPAUCordRep@cord_internal@absl@@I@container_internal@absl@@QAE@III@Z
     ??0?$LayoutImpl@V?$tuple@IPAUCordRep@cord_internal@absl@@I@__Cr@std@@U?$integer_sequence@I$0A@$00$01@absl@@U45@@internal_layout@container_internal@absl@@QAE@III@Z
     ??0?$LayoutImpl@V?$tuple@IPAUCordRep@cord_internal@absl@@I@__Cr@std@@U?$integer_sequence@I$0A@$00@absl@@U?$integer_sequence@I$0A@$00$01@5@@internal_layout@container_internal@absl@@QAE@II@Z
@@ -1232,20 +1208,19 @@
     ??0?$Span@$$CBD@absl@@QAE@XZ
     ??0?$Span@$$CBI@absl@@QAE@PBII@Z
     ??0?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QAE@PBVFormatArgImpl@str_format_internal@1@I@Z
-    ??0?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QAE@XZ
     ??0?$Span@D@absl@@QAE@PADI@Z
     ??0?$Span@D@absl@@QAE@XZ
     ??0?$Span@I@absl@@QAE@PAII@Z
     ??0?$Span@PAVLogSink@absl@@@absl@@QAE@PAPAVLogSink@1@I@Z
     ??0?$Span@QAUCordRep@cord_internal@absl@@@absl@@QAE@PBQAUCordRep@cord_internal@1@I@Z
     ??0?$Span@QAX@absl@@QAE@PBQAXI@Z
-    ??0?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QAE@PAVFormatArgImpl@str_format_internal@1@I@Z
     ??0?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??0?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??0?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??0?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??0?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@ABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@Z
     ??0?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
+    ??0?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@ABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@Z
     ??0?$__allocator_destructor@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@12@I@Z
     ??0?$__allocator_destructor@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@12@I@Z
     ??0?$__atomic_base@P6AXABUHashtablezInfo@container_internal@absl@@@Z$0A@@__Cr@std@@QAE@P6AXABUHashtablezInfo@container_internal@absl@@@Z@Z
@@ -1281,7 +1256,6 @@
     ??0?$__compressed_pair_elem@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QAE@U__default_init_tag@12@@Z
     ??0?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QAE@U__default_init_tag@12@@Z
     ??0?$__compressed_pair_elem@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@__Cr@std@@$00$00@__Cr@std@@QAE@U__default_init_tag@12@@Z
-    ??0?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QAE@U__default_init_tag@12@@Z
     ??0?$__cxx_atomic_base_impl@P6AXABUHashtablezInfo@container_internal@absl@@@Z@__Cr@std@@QAE@P6AXABUHashtablezInfo@container_internal@absl@@@Z@Z
     ??0?$__cxx_atomic_base_impl@PAUHashtablezInfo@container_internal@absl@@@__Cr@std@@QAE@PAUHashtablezInfo@container_internal@absl@@@Z
     ??0?$__cxx_atomic_base_impl@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@QAE@PAVCordzHandle@cord_internal@absl@@@Z
@@ -1426,7 +1400,6 @@
     ??0?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??0?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??0?$vector@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@V?$allocator@V?$unique_ptr@VCRCImpl@crc_internal@absl@@U?$default_delete@VCRCImpl@crc_internal@absl@@@__Cr@std@@@__Cr@std@@@23@@__Cr@std@@QAE@XZ
-    ??0?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??0AlphaNum@absl@@QAE@H@Z
     ??0AlphaNum@absl@@QAE@I@Z
     ??0AlphaNum@absl@@QAE@PBD@Z
@@ -1591,7 +1564,6 @@
     ??0_ConstructTransaction@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@I@Z
     ??0_ConstructTransaction@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@I@Z
     ??0_ConstructTransaction@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@I@Z
-    ??0_ConstructTransaction@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@I@Z
     ??0__deque_block_range@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@PAUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
     ??0__deque_range@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@0@Z
     ??0__destroy_vector@?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@@Z
@@ -1599,7 +1571,6 @@
     ??0__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@@Z
     ??0__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@@Z
     ??0__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@@Z
-    ??0__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@AAV123@@Z
     ??0absolute_lookup@time_zone@cctz@time_internal@absl@@QAE@XZ
     ??0civil_lookup@time_zone@cctz@time_internal@absl@@QAE@XZ
     ??0civil_transition@time_zone@cctz@time_internal@absl@@QAE@XZ
@@ -1630,12 +1601,14 @@
     ??1?$InlinedVector@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@absl@@QAE@XZ
     ??1?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@QAE@XZ
     ??1?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QAE@XZ
+    ??1?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QAE@XZ
     ??1?$Sample@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@QAE@XZ
     ??1?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??1?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??1?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??1?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??1?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
+    ??1?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAE@XZ
     ??1?$__policy_func@$$A6A?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@23@@Z@__function@__Cr@std@@QAE@XZ
     ??1?$__split_buffer@PAPBVImpl@time_zone@cctz@time_internal@absl@@AAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1?$__split_buffer@PAUPrefixCrc@CrcCordState@crc_internal@absl@@AAV?$allocator@PAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
@@ -1672,7 +1645,6 @@
     ??1?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
-    ??1?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1BadStatusOrAccess@absl@@UAE@XZ
     ??1CRC32@crc_internal@absl@@UAE@XZ
     ??1CRC@crc_internal@absl@@UAE@XZ
@@ -1738,7 +1710,6 @@
     ??1_ConstructTransaction@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1_ConstructTransaction@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1_ConstructTransaction@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
-    ??1_ConstructTransaction@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAE@XZ
     ??1bad_optional_access@absl@@UAE@XZ
     ??1bad_variant_access@absl@@UAE@XZ
     ??4?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAV012@ABV012@@Z
@@ -1966,6 +1937,7 @@
     ??R<lambda_1>@?0???$AddRing@$0A@@CordRepRing@cord_internal@absl@@CAPAV123@PAV123@0II@Z@QBE?A?<auto>@@I@Z
     ??R<lambda_1>@?0???$Fill@$00@CordRepRing@cord_internal@absl@@AAEXPBV123@II@Z@QBE?A?<auto>@@I@Z
     ??R<lambda_1>@?0???$Fill@$0A@@CordRepRing@cord_internal@absl@@AAEXPBV123@II@Z@QBE?A?<auto>@@I@Z
+    ??R<lambda_1>@?0???$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@23@I@Z@QBE?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QAEAAUPayload@status_internal@2@I@Z@QBE?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QBEABUPayload@status_internal@2@I@Z@QBE?A?<auto>@@XZ
     ??R<lambda_1>@?0???A?$Span@$$CBD@absl@@QBEABDI@Z@QBE?A?<auto>@@XZ
@@ -2001,6 +1973,7 @@
     ??R<lambda_1>@?0??set_inline_size@Rep@InlineData@cord_internal@absl@@QAEXI@Z@QBE?A?<auto>@@XZ
     ??R<lambda_2>@?0???$AddRing@$00@CordRepRing@cord_internal@absl@@CAPAV123@PAV123@0II@Z@QBE?A?<auto>@@I@Z
     ??R<lambda_2>@?0???$AddRing@$0A@@CordRepRing@cord_internal@absl@@CAPAV123@PAV123@0II@Z@QBE?A?<auto>@@I@Z
+    ??R<lambda_2>@?0???$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@23@I@Z@QBE?A?<auto>@@XZ
     ??R<lambda_2>@?0??erase@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QAEPAUPayload@status_internal@3@PBU453@@Z@QBE?A?<auto>@@XZ
     ??R?$FunctionRef@$$A6AXPAUCordRep@cord_internal@absl@@II@Z@absl@@QBEXPAUCordRep@cord_internal@1@II@Z
     ??R?$FunctionRef@$$A6AXV?$Span@I@absl@@@Z@absl@@QBEXV?$Span@I@1@@Z
@@ -2037,7 +2010,6 @@
     ??R__destroy_vector@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
     ??R__destroy_vector@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
     ??R__destroy_vector@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
-    ??R__destroy_vector@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
     ??Sabsl@@YA?AVuint128@0@V10@@Z
     ??Tabsl@@YA?AVuint128@0@V10@0@Z
     ??Uabsl@@YA?AVuint128@0@V10@0@Z
@@ -2096,6 +2068,7 @@
     ?AddSize@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXI@Z
     ?AddSize@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXI@Z
     ?AddSize@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXI@Z
+    ?AddSize@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXI@Z
     ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AAEXHI@Z
     ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AAEXH_K@Z
     ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AAEXHI@Z
@@ -2117,6 +2090,7 @@
     ?Allocate@?$MallocAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@23@AAV?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@I@Z
     ?Allocate@?$MallocAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@23@AAV?$allocator@PAVLogSink@absl@@@__Cr@std@@I@Z
     ?Allocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@AAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@Z
+    ?Allocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@AAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@Z
     ?AllocatedSize@CordRepFlat@cord_internal@absl@@QBEIXZ
     ?AllocatedSizeToTag@cord_internal@absl@@YAEI@Z
     ?AllocatedSizeToTagUnchecked@cord_internal@absl@@YAEI@Z
@@ -2225,13 +2199,14 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UBE?AVcrc32c_t@3@PIAXPIBXIV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UBE?AVcrc32c_t@3@PIAXPIBXIV43@@Z
     ?ComputeCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SAIII@Z
+    ?ComputeCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SAIII@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UAEXPAIII@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0I@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@PAPAUCordRep@cord_internal@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PAPAVLogSink@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@PAPAVLogSink@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QAEXAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@3@@Z
     ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@3@@Z
+    ?ConstructNext@?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@QAEXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PAVFormatArgImpl@str_format_internal@3@@Z
     ?Consume@cord_internal@absl@@YAXPAUCordRep@12@V?$FunctionRef@$$A6AXPAUCordRep@cord_internal@absl@@II@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPAV123@PAV123@II@Z
     ?ConsumePrefix@absl@@YA_NPAV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@@Z
@@ -2283,11 +2258,13 @@
     ?Deallocate@?$MallocAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@PAPAUCordRep@cord_internal@3@I@Z
     ?Deallocate@?$MallocAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@PAPAVLogSink@3@I@Z
     ?Deallocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@PAUPayload@status_internal@3@I@Z
+    ?Deallocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SAXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PAVFormatArgImpl@str_format_internal@3@I@Z
     ?DeallocateIfAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?DeallocateIfAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?DeallocateIfAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?DeallocateIfAllocated@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?DeallocateIfAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
+    ?DeallocateIfAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?DecodeFrom@ProtoField@log_internal@absl@@QAE_NPAV?$Span@$$CBD@3@@Z
     ?DecodeWaitCycles@SpinLock@base_internal@absl@@KA_JI@Z
     ?Decrement@RefcountAndFlags@cord_internal@absl@@QAE_NXZ
@@ -2367,7 +2344,6 @@
     ?Edges@CordRepBtree@cord_internal@absl@@QBE?AV?$Span@QAUCordRep@cord_internal@absl@@@3@XZ
     ?EmplaceTree@InlineRep@Cord@absl@@QAEXPAUCordRep@cord_internal@3@ABVInlineData@53@W4MethodIdentifier@CordzUpdateTracker@53@@Z
     ?EmplaceTree@InlineRep@Cord@absl@@QAEXPAUCordRep@cord_internal@3@W4MethodIdentifier@CordzUpdateTracker@53@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UBEXPAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPAEXZ
     ?EmptyGroup@container_internal@absl@@YAPAW4ctrl_t@12@XZ
     ?EmptyString@Status@absl@@CAPBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
@@ -2440,6 +2416,8 @@
     ?Find@ByString@absl@@QBE?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@I@Z
     ?Find@CordRepRing@cord_internal@absl@@QBE?AUPosition@123@I@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QBE?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QBEHUGraphId@23@0HQAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@ABE?AUPosition@123@II@Z
     ?FindTail@CordRepRing@cord_internal@absl@@QBE?AUPosition@123@I@Z
@@ -2479,9 +2457,7 @@
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KW4FormatConversionChar@2@@Z
     ?FormatConversionCharToConvValue@str_format_internal@absl@@YA?AW4FormatConversionCharSet@2@D@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PBDVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
@@ -2489,6 +2465,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
@@ -2537,12 +2515,15 @@
     ?GetAllocatedCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetAllocatedCapacity@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetAllocatedCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
+    ?GetAllocatedCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetAllocatedData@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QAEPAHXZ
     ?GetAllocatedData@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAPAUCordRep@cord_internal@3@XZ
     ?GetAllocatedData@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAPAUCordRep@cord_internal@3@XZ
     ?GetAllocatedData@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAPAVLogSink@3@XZ
     ?GetAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAUPayload@status_internal@3@XZ
     ?GetAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEPBUPayload@status_internal@3@XZ
+    ?GetAllocatedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAVFormatArgImpl@str_format_internal@3@XZ
+    ?GetAllocatedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEPBVFormatArgImpl@str_format_internal@3@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
@@ -2552,6 +2533,7 @@
     ?GetAllocator@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ?GetAllocator@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ?GetAndroidNativeTag@log_internal@absl@@YAPBDXZ
     ?GetAppendBuffer@CordRepBtree@cord_internal@absl@@QAE?AV?$Span@D@3@I@Z
     ?GetAppendBuffer@CordRepRing@cord_internal@absl@@QAE?AV?$Span@D@3@I@Z
@@ -2583,17 +2565,21 @@
     ?GetInlinedCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetInlinedCapacity@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetInlinedCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
+    ?GetInlinedCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetInlinedData@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QAEPAHXZ
     ?GetInlinedData@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAPAUCordRep@cord_internal@3@XZ
     ?GetInlinedData@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAPAUCordRep@cord_internal@3@XZ
     ?GetInlinedData@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAPAVLogSink@3@XZ
     ?GetInlinedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAUPayload@status_internal@3@XZ
     ?GetInlinedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEPBUPayload@status_internal@3@XZ
+    ?GetInlinedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEPAVFormatArgImpl@str_format_internal@3@XZ
+    ?GetInlinedData@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEPBVFormatArgImpl@str_format_internal@3@XZ
     ?GetIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QBE_NXZ
     ?GetIsAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBE_NXZ
     ?GetIsAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBE_NXZ
     ?GetIsAllocated@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBE_NXZ
     ?GetIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBE_NXZ
+    ?GetIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBE_NXZ
     ?GetKeys@RandenHwAes@random_internal@absl@@SAPBXXZ
     ?GetKeys@RandenSlow@random_internal@absl@@SAPBXXZ
     ?GetLeafData@CordRepRing@cord_internal@absl@@SAPBDPBUCordRep@23@@Z
@@ -2616,6 +2602,7 @@
     ?GetSize@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetSize@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetSize@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
+    ?GetSize@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEIXZ
     ?GetSizeAndIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QAEAAIXZ
     ?GetSizeAndIsAllocated@?$Storage@H$0CP@V?$allocator@H@__Cr@std@@@inlined_vector_internal@absl@@QBEABIXZ
     ?GetSizeAndIsAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAIXZ
@@ -2626,6 +2613,8 @@
     ?GetSizeAndIsAllocated@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEABIXZ
     ?GetSizeAndIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAIXZ
     ?GetSizeAndIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEABIXZ
+    ?GetSizeAndIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEAAIXZ
+    ?GetSizeAndIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QBEABIXZ
     ?GetSkipCount@ExponentialBiased@profiling_internal@absl@@QAE_J_J@Z
     ?GetStack@CordzInfo@cord_internal@absl@@QBE?AV?$Span@QAX@3@XZ
     ?GetStackFrames@absl@@YAHPAPAXPAHHH@Z
@@ -2770,8 +2759,10 @@
     ?LengthModToString@str_format_internal@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@W4LengthMod@12@@Z
     ?LengthToTag@CordTestAccess@strings_internal@absl@@SAEI@Z
     ?Load16@big_endian@absl@@YAGPBX@Z
+    ?Load16@little_endian@absl@@YAGPBX@Z
     ?Load32@big_endian@absl@@YAIPBX@Z
     ?Load32@little_endian@absl@@YAIPBX@Z
+    ?Load64@little_endian@absl@@YA_KPBX@Z
     ?Load@?$AtomicHook@P6A?AV?$optional@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@absl@@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABVCord@2@@Z@base_internal@absl@@QBEP6A?AV?$optional@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@3@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABVCord@3@@ZXZ
     ?Load@?$AtomicHook@P6AXXZ@base_internal@absl@@QBEP6AXXZXZ
     ?Load@TimeZoneIf@cctz@time_internal@absl@@SA?AV?$unique_ptr@VTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@67@@Z
@@ -2874,6 +2865,7 @@
     ?NextCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SAII@Z
     ?NextCapacity@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SAII@Z
     ?NextCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SAII@Z
+    ?NextCapacity@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@SAII@Z
     ?NextRandom@ExponentialBiased@profiling_internal@absl@@SA_K_K@Z
     ?NextTransition@Impl@time_zone@cctz@time_internal@absl@@QBE_NABV?$time_point@Vsystem_clock@chrono@__Cr@std@@V?$duration@_JV?$ratio@$00$00@__Cr@std@@@234@@chrono@__Cr@std@@PAUcivil_transition@2345@@Z
     ?NextTransition@TimeZone@absl@@QBE_NVTime@2@PAUCivilTransition@12@@Z
@@ -3050,6 +3042,7 @@
     ?SetAllocation@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXU?$Allocation@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@23@@Z
     ?SetAllocation@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXU?$Allocation@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@23@@Z
     ?SetAllocation@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@@Z
+    ?SetAllocation@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@@Z
     ?SetAndroidNativeTag@absl@@YAXPBD@Z
     ?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QAEXI@Z
     ?SetConversionChar@FormatConversionSpecImplFriend@str_format_internal@absl@@SAXW4FormatConversionChar@3@PAVFormatConversionSpecImpl@23@@Z
@@ -3076,6 +3069,7 @@
     ?SetIsAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?SetIsAllocated@?$Storage@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?SetIsAllocated@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
+    ?SetIsAllocated@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXXZ
     ?SetLength@CordBuffer@absl@@QAEXI@Z
     ?SetLogBacktraceLocation@absl@@YAXV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@H@Z
     ?SetLoggingGlobalsListener@log_internal@absl@@YAXP6AXXZ@Z
@@ -3235,6 +3229,7 @@
     ?ToDoubleNanoseconds@absl@@YANVDuration@1@@Z
     ?ToDoubleSeconds@absl@@YANVDuration@1@@Z
     ?ToHost16@big_endian@absl@@YAGG@Z
+    ?ToHost16@little_endian@absl@@YAGG@Z
     ?ToHost32@big_endian@absl@@YAII@Z
     ?ToHost32@little_endian@absl@@YAII@Z
     ?ToHost64@little_endian@absl@@YA_K_K@Z
@@ -3410,8 +3405,6 @@
     ?__alloc@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEABV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@XZ
     ?__alloc@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?__alloc@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
-    ?__alloc@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?__alloc@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?__annotate_contiguous_container@?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
     ?__annotate_contiguous_container@?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
     ?__annotate_contiguous_container@?$vector@PBVCordzHandle@cord_internal@absl@@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
@@ -3419,7 +3412,6 @@
     ?__annotate_contiguous_container@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
     ?__annotate_contiguous_container@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
     ?__annotate_contiguous_container@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
-    ?__annotate_contiguous_container@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXPBX000@Z
     ?__annotate_delete@?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__annotate_delete@?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__annotate_delete@?$vector@PBVCordzHandle@cord_internal@absl@@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
@@ -3427,7 +3419,6 @@
     ?__annotate_delete@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__annotate_delete@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
-    ?__annotate_delete@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__annotate_new@?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_new@?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_new@?$vector@PBVCordzHandle@cord_internal@absl@@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
@@ -3435,12 +3426,10 @@
     ?__annotate_new@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_new@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_new@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
-    ?__annotate_new@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_shrink@?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_shrink@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_shrink@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
-    ?__annotate_shrink@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXI@Z
     ?__append@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXI@Z
     ?__append@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXI@Z
     ?__back_spare@?$__split_buffer@PAPBVImpl@time_zone@cctz@time_internal@absl@@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
@@ -3454,7 +3443,6 @@
     ?__base_destruct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUTransition@cctz@time_internal@absl@@@Z
     ?__base_destruct_at_end@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUTransitionType@cctz@time_internal@absl@@@Z
     ?__base_destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUViableSubstitution@strings_internal@absl@@@Z
-    ?__base_destruct_at_end@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__begin@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@__Cr@std@@SAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU4567@@Z
     ?__begin@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@__Cr@std@@SAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBQBU4567@@Z
     ?__call_empty@?$__policy_invoker@$$A6A?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@23@@Z@__function@__Cr@std@@CA?AV?$unique_ptr@VZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@34@PBT__policy_storage@234@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@34@@Z
@@ -3465,7 +3453,6 @@
     ?__clear@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXXZ
     ?__clear@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXXZ
     ?__clear@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXXZ
-    ?__clear@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXXZ
     ?__compose@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU5678@@Z
     ?__construct_at_end@?$__split_buffer@UTransition@cctz@time_internal@absl@@AAV?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXI@Z
     ?__construct_at_end@?$__split_buffer@UTransitionType@cctz@time_internal@absl@@AAV?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXI@Z
@@ -3502,7 +3489,6 @@
     ?__destruct_at_end@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUTransition@cctz@time_internal@absl@@@Z
     ?__destruct_at_end@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUTransitionType@cctz@time_internal@absl@@@Z
     ?__destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUViableSubstitution@strings_internal@absl@@@Z
-    ?__destruct_at_end@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__end@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@__Cr@std@@SAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU4567@@Z
     ?__end@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@__Cr@std@@SAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBQBU4567@@Z
     ?__end_cap@?$__split_buffer@PAPBVImpl@time_zone@cctz@time_internal@absl@@AAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@XZ
@@ -3541,8 +3527,6 @@
     ?__end_cap@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEABQAUTransitionType@cctz@time_internal@absl@@XZ
     ?__end_cap@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AAEAAPAUViableSubstitution@strings_internal@absl@@XZ
     ?__end_cap@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEABQAUViableSubstitution@strings_internal@absl@@XZ
-    ?__end_cap@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEAAPAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?__end_cap@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEABQAVFormatArgImpl@str_format_internal@absl@@XZ
     ?__erase_to_end@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@@Z
     ?__front_spare@?$deque@PBVImpl@time_zone@cctz@time_internal@absl@@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?__front_spare@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
@@ -3587,8 +3571,6 @@
     ?__get@?$__compressed_pair_elem@PAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@$0A@$0A@@__Cr@std@@QAEAAPAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?__get@?$__compressed_pair_elem@PAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@$0A@$0A@@__Cr@std@@QBEABQAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?__get@?$__compressed_pair_elem@PAVFallbackCrcMemcpyEngine@crc_internal@absl@@$0A@$0A@@__Cr@std@@QAEAAPAVFallbackCrcMemcpyEngine@crc_internal@absl@@XZ
-    ?__get@?$__compressed_pair_elem@PAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QAEAAPAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?__get@?$__compressed_pair_elem@PAVFormatArgImpl@str_format_internal@absl@@$0A@$0A@@__Cr@std@@QBEABQAVFormatArgImpl@str_format_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PAVTimeZoneIf@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QAEAAPAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PAVTimeZoneIf@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QBEABQAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?__get@?$__compressed_pair_elem@PAVTimeZoneInfo@cctz@time_internal@absl@@$0A@$0A@@__Cr@std@@QAEAAPAVTimeZoneInfo@cctz@time_internal@absl@@XZ
@@ -3632,8 +3614,6 @@
     ?__get@?$__compressed_pair_elem@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QBEABV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@XZ
     ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QBEABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
-    ?__get@?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QAEAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?__get@?$__compressed_pair_elem@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$00$00@__Cr@std@@QBEABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?__get_ptr@?$__hash_key_value_types@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@SAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@AAU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@@Z
     ?__get_value@?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QAEAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@XZ
     ?__get_value@?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@QBEABU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@XZ
@@ -3642,7 +3622,6 @@
     ?__invalidate_iterators_past@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUTransition@cctz@time_internal@absl@@@Z
     ?__invalidate_iterators_past@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUTransitionType@cctz@time_internal@absl@@@Z
     ?__invalidate_iterators_past@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAUViableSubstitution@strings_internal@absl@@@Z
-    ?__invalidate_iterators_past@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXPAVFormatArgImpl@str_format_internal@absl@@@Z
     ?__local@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@@__Cr@std@@SAPAUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@@Z
     ?__local@?$__segmented_iterator_traits@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@__Cr@std@@SAPBUPrefixCrc@CrcCordState@crc_internal@absl@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@@Z
     ?__make_iter@?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@AAE?AV?$__wrap_iter@PAPAVCordzHandle@cord_internal@absl@@@23@PAPAVCordzHandle@cord_internal@absl@@@Z
@@ -3663,7 +3642,6 @@
     ?__recommend@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEII@Z
     ?__recommend@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEII@Z
     ?__recommend@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEII@Z
-    ?__recommend@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEII@Z
     ?__recommend_blocks@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@SAII@Z
     ?__rehash_unique@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QAEXI@Z
     ?__rewrap@?$__unwrap_iter_impl@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@$00@__Cr@std@@SAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV45678@0@Z
@@ -3672,9 +3650,7 @@
     ?__rewrap@?$__unwrap_iter_impl@PAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU4567@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@SAPAUTransition@cctz@time_internal@absl@@PAU4567@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@SAPAUTransitionType@cctz@time_internal@absl@@PAU4567@0@Z
-    ?__rewrap@?$__unwrap_iter_impl@PAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPAVFormatArgImpl@str_format_internal@absl@@PAV456@0@Z
     ?__rewrap@?$__unwrap_iter_impl@PBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU4567@0@Z
-    ?__rewrap@?$__unwrap_iter_impl@PBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPBVFormatArgImpl@str_format_internal@absl@@PBV456@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@V423@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@V423@0@Z
     ?__rewrap@?$__unwrap_iter_impl@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@23@V423@0@Z
@@ -3690,7 +3666,6 @@
     ?__rewrap@?$__unwrap_range_impl@PAUTransition@cctz@time_internal@absl@@PAU1234@@__Cr@std@@SA?A?<auto>@@PAUTransition@cctz@time_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@__Cr@std@@SA?A?<auto>@@PAUTransitionType@cctz@time_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@@__Cr@std@@SA?A?<auto>@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ?__rewrap@?$__unwrap_range_impl@PBVFormatArgImpl@str_format_internal@absl@@PBV123@@__Cr@std@@SA?A?<auto>@@PBVFormatArgImpl@str_format_internal@absl@@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@23@0@Z
     ?__rewrap@?$__unwrap_range_impl@V?$reverse_iterator@PAPAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PAPAVLogSink@absl@@@23@0@Z
@@ -3721,16 +3696,13 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__unwrap@?$__unwrap_iter_impl@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@$00@__Cr@std@@SAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@PAPAPBV45678@@Z
     ?__unwrap@?$__unwrap_iter_impl@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAPAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PAPAVLogSink@absl@@$00@__Cr@std@@SAPAPAVLogSink@absl@@PAPAV45@@Z
     ?__unwrap@?$__unwrap_iter_impl@PAUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPAUPrefixCrc@CrcCordState@crc_internal@absl@@PAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PAUTransition@cctz@time_internal@absl@@$00@__Cr@std@@SAPAUTransition@cctz@time_internal@absl@@PAU4567@@Z
     ?__unwrap@?$__unwrap_iter_impl@PAUTransitionType@cctz@time_internal@absl@@$00@__Cr@std@@SAPAUTransitionType@cctz@time_internal@absl@@PAU4567@@Z
-    ?__unwrap@?$__unwrap_iter_impl@PAVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPAVFormatArgImpl@str_format_internal@absl@@PAV456@@Z
     ?__unwrap@?$__unwrap_iter_impl@PBUPrefixCrc@CrcCordState@crc_internal@absl@@$00@__Cr@std@@SAPBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU4567@@Z
-    ?__unwrap@?$__unwrap_iter_impl@PBVFormatArgImpl@str_format_internal@absl@@$00@__Cr@std@@SAPBVFormatArgImpl@str_format_internal@absl@@PBV456@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PAU1234@AAU1234@PAPAU1234@H$0A@@23@V423@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@V423@@Z
     ?__unwrap@?$__unwrap_iter_impl@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@$0A@@__Cr@std@@SA?AV?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@23@V423@@Z
@@ -3746,7 +3718,6 @@
     ?__unwrap@?$__unwrap_range_impl@PAUTransition@cctz@time_internal@absl@@PAU1234@@__Cr@std@@SA?A?<auto>@@PAUTransition@cctz@time_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@PAUTransitionType@cctz@time_internal@absl@@PAU1234@@__Cr@std@@SA?A?<auto>@@PAUTransitionType@cctz@time_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@PBUPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@@__Cr@std@@SA?A?<auto>@@PBUPrefixCrc@CrcCordState@crc_internal@absl@@0@Z
-    ?__unwrap@?$__unwrap_range_impl@PBVFormatArgImpl@str_format_internal@absl@@PBV123@@__Cr@std@@SA?A?<auto>@@PBVFormatArgImpl@str_format_internal@absl@@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PAPAVCordzHandle@cord_internal@absl@@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PAPAVLogSink@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PAPAVLogSink@absl@@@23@0@Z
@@ -3756,8 +3727,6 @@
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PAUTransitionType@cctz@time_internal@absl@@@23@0@Z
     ?__unwrap@?$__unwrap_range_impl@V?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@__Cr@std@@V123@@__Cr@std@@SA?A?<auto>@@V?$reverse_iterator@PAUViableSubstitution@strings_internal@absl@@@23@0@Z
     ?__upcast@?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@__Cr@std@@QAEPAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@23@XZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXI@Z
-    ?__vdeallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXXZ
     ?_mm_cmpgt_epi8_fixed@container_internal@absl@@YA?AT__m128i@@T3@0@Z
     ?advance@CordRepRing@cord_internal@absl@@QBEII@Z
     ?advance@CordRepRing@cord_internal@absl@@QBEIII@Z
@@ -3790,6 +3759,7 @@
     ?allocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@__Cr@std@@@__Cr@std@@SAPAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@23@AAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@23@I@Z
     ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@__Cr@std@@SAPAUPayload@status_internal@absl@@AAV?$allocator@UPayload@status_internal@absl@@@23@I@Z
     ?allocate@?$allocator_traits@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@SAPAUPrefixCrc@CrcCordState@crc_internal@absl@@AAV?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@23@I@Z
+    ?allocate@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@SAPAVFormatArgImpl@str_format_internal@absl@@AAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@I@Z
     ?arg@BoundConversion@str_format_internal@absl@@QBEPBVFormatArgImpl@23@XZ
     ?as_chars@InlineData@cord_internal@absl@@QAEPADXZ
     ?as_chars@InlineData@cord_internal@absl@@QBEPBDXZ
@@ -3884,7 +3854,6 @@
     ?capacity@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?capacity@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?capacity@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
-    ?capacity@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?capacity@CordBuffer@absl@@QBEIXZ
     ?capacity@CordRepBtree@cord_internal@absl@@QBEIXZ
     ?capacity@CordRepRing@cord_internal@absl@@QBEIXZ
@@ -3906,7 +3875,6 @@
     ?clear@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
     ?clear@?$unordered_map@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QAEXXZ
     ?clear@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
-    ?clear@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXXZ
     ?clear@InlineRep@Cord@absl@@QAEPAUCordRep@cord_internal@3@XZ
     ?clear_cordz_info@InlineData@cord_internal@absl@@QAEXXZ
     ?code@Status@absl@@QBE?AW4StatusCode@2@XZ
@@ -3931,6 +3899,7 @@
     ?data@?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@QAEPAPAVLogSink@2@XZ
     ?data@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QAEPAUPayload@status_internal@2@XZ
     ?data@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QBEPBUPayload@status_internal@2@XZ
+    ?data@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QBEPBVFormatArgImpl@str_format_internal@2@XZ
     ?data@?$Span@$$CBD@absl@@QBEPBDXZ
     ?data@?$Span@$$CBI@absl@@QBEPBIXZ
     ?data@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QBEPBVFormatArgImpl@str_format_internal@2@XZ
@@ -3940,7 +3909,6 @@
     ?data@?$Span@I@absl@@QBEPAIXZ
     ?data@?$Span@PAVLogSink@absl@@@absl@@QBEPAPAVLogSink@2@XZ
     ?data@?$Span@QAUCordRep@cord_internal@absl@@@absl@@QBEPBQAUCordRep@cord_internal@2@XZ
-    ?data@?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QBEPAVFormatArgImpl@str_format_internal@2@XZ
     ?data@?$Span@_K@absl@@QBEPA_KXZ
     ?data@?$vector@PAVCordzHandle@cord_internal@absl@@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__Cr@std@@@__Cr@std@@QBEPBQAVCordzHandle@cord_internal@absl@@XZ
     ?data@?$vector@PAVLogSink@absl@@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@__Cr@std@@QAEPAPAVLogSink@absl@@XZ
@@ -3950,7 +3918,6 @@
     ?data@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEPBUTransition@cctz@time_internal@absl@@XZ
     ?data@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEPBUTransitionType@cctz@time_internal@absl@@XZ
     ?data@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QBEPBUViableSubstitution@strings_internal@absl@@XZ
-    ?data@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QBEPBVFormatArgImpl@str_format_internal@absl@@XZ
     ?data@AlphaNum@absl@@QBEPBDXZ
     ?data@CordBuffer@absl@@QAEPADXZ
     ?data@InlineRep@Cord@absl@@QBEPBDXZ
@@ -4118,8 +4085,6 @@
     ?first@?$__compressed_pair@PAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QAEAAPAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?first@?$__compressed_pair@PAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QBEABQAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@XZ
     ?first@?$__compressed_pair@PAVFallbackCrcMemcpyEngine@crc_internal@absl@@U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAPAVFallbackCrcMemcpyEngine@crc_internal@absl@@XZ
-    ?first@?$__compressed_pair@PAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAPAVFormatArgImpl@str_format_internal@absl@@XZ
-    ?first@?$__compressed_pair@PAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QBEABQAVFormatArgImpl@str_format_internal@absl@@XZ
     ?first@?$__compressed_pair@PAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAPAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?first@?$__compressed_pair@PAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEABQAVTimeZoneIf@cctz@time_internal@absl@@XZ
     ?first@?$__compressed_pair@PAVTimeZoneInfo@cctz@time_internal@absl@@U?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAPAVTimeZoneInfo@cctz@time_internal@absl@@XZ
@@ -4152,6 +4117,7 @@
     ?get@?$Storage@V?$allocator@PAVLogSink@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QGAEAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@XZ
     ?get@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QGAEAAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
     ?get@?$Storage@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QGBEABV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@XZ
+    ?get@?$Storage@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@$00@internal_compressed_tuple@container_internal@absl@@QGAEAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@XZ
     ?get@?$Storage@VHashtablezInfoHandle@container_internal@absl@@$00$00@internal_compressed_tuple@container_internal@absl@@QGAEAAVHashtablezInfoHandle@34@XZ
     ?get@?$__temp_value@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAUTransition@cctz@time_internal@absl@@XZ
     ?get@?$__temp_value@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAUTransitionType@cctz@time_internal@absl@@XZ
@@ -4242,7 +4208,6 @@
     ?max_size@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?max_size@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?max_size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
-    ?max_size@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?memcasecmp@strings_internal@absl@@YAHPBD0I@Z
     ?memcspn@strings_internal@absl@@YAIPBDI0@Z
     ?memdup@strings_internal@absl@@YAPADPBDI@Z
@@ -4409,8 +4374,6 @@
     ?second@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QBEABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@U?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@__Cr@std@@@__Cr@std@@QAEAAU?$default_delete@V?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@@23@XZ
     ?second@?$__compressed_pair@PAVFallbackCrcMemcpyEngine@crc_internal@absl@@U?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAU?$default_delete@VFallbackCrcMemcpyEngine@crc_internal@absl@@@23@XZ
-    ?second@?$__compressed_pair@PAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
-    ?second@?$__compressed_pair@PAVFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QBEABV?$allocator@VFormatArgImpl@str_format_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PAVTimeZoneIf@cctz@time_internal@absl@@U?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAU?$default_delete@VTimeZoneIf@cctz@time_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PAVTimeZoneInfo@cctz@time_internal@absl@@U?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAU?$default_delete@VTimeZoneInfo@cctz@time_internal@absl@@@23@XZ
     ?second@?$__compressed_pair@PAVZoneInfoSource@cctz@time_internal@absl@@U?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEAAU?$default_delete@VZoneInfoSource@cctz@time_internal@absl@@@23@XZ
@@ -4447,6 +4410,7 @@
     ?size@?$InlinedVector@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__Cr@std@@@absl@@QBEIXZ
     ?size@?$InlinedVector@PAVLogSink@absl@@$0BA@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@absl@@QBEIXZ
     ?size@?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@absl@@QBEIXZ
+    ?size@?$InlinedVector@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@absl@@QBEIXZ
     ?size@?$Span@$$CBD@absl@@QBEIXZ
     ?size@?$Span@$$CBI@absl@@QBEIXZ
     ?size@?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@absl@@QBEIXZ
@@ -4456,7 +4420,6 @@
     ?size@?$Span@I@absl@@QBEIXZ
     ?size@?$Span@PAVLogSink@absl@@@absl@@QBEIXZ
     ?size@?$Span@QAUCordRep@cord_internal@absl@@@absl@@QBEIXZ
-    ?size@?$Span@VFormatArgImpl@str_format_internal@absl@@@absl@@QBEIXZ
     ?size@?$Span@_K@absl@@QBEIXZ
     ?size@?$__bucket_list_deallocator@V?$allocator@PAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@__Cr@std@@@__Cr@std@@@__Cr@std@@QAEAAIXZ
     ?size@?$__bucket_list_deallocator@V?$allocator@PAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@__Cr@std@@@__Cr@std@@@__Cr@std@@QBEIXZ
@@ -4474,7 +4437,6 @@
     ?size@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?size@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
-    ?size@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QBEIXZ
     ?size@AlphaNum@absl@@QBEIXZ
     ?size@Cord@absl@@QBEIXZ
     ?size@CordRepBtree@cord_internal@absl@@QBEIXZ
diff --git a/third_party/abseil-cpp/symbols_x86_rel.def b/third_party/abseil-cpp/symbols_x86_rel.def
index 2f1f5b3..e17a2db 100644
--- a/third_party/abseil-cpp/symbols_x86_rel.def
+++ b/third_party/abseil-cpp/symbols_x86_rel.def
@@ -43,6 +43,7 @@
     ??$CastAndCallFunction@$$CBU?$atomic@_N@__Cr@std@@@Condition@absl@@CA_NPBV01@@Z
     ??$Compare@$0FE@$0FE@@strings_internal@absl@@YAHABV?$BigUnsigned@$0FE@@01@0@Z
     ??$ConstructElements@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PAPAVLogSink@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PAVLogSink@absl@@@__Cr@std@@PAPAVLogSink@1@AAV?$IteratorValueAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@V?$move_iterator@PAPAVLogSink@absl@@@23@@01@I@Z
+    ??$ConstructElements@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PAVFormatArgImpl@str_format_internal@1@AAV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@01@I@Z
     ??$ConsumeConversion@$00@str_format_internal@absl@@YAPBDPBDQBDPAUUnboundConversion@01@PAH@Z
     ??$ConsumeConversion@$0A@@str_format_internal@absl@@YAPBDPBDQBDPAUUnboundConversion@01@PAH@Z
     ??$ConvertIntArg@C@str_format_internal@absl@@YA_NCVFormatConversionSpecImpl@01@PAVFormatSinkImpl@01@@Z
@@ -106,6 +107,7 @@
     ??$GenericCompare@HVCord@absl@@@absl@@YAHABVCord@0@0I@Z
     ??$GenericCompare@_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@absl@@YA_NABVCord@0@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@I@Z
     ??$GenericCompare@_NVCord@absl@@@absl@@YA_NABVCord@0@0I@Z
+    ??$Initialize@V?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@inlined_vector_internal@absl@@@?$Storage@VFormatArgImpl@str_format_internal@absl@@$03V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@inlined_vector_internal@absl@@QAEXV?$IteratorValueAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@PBVFormatArgImpl@str_format_internal@absl@@@12@I@Z
     ??$MakeCheckOpString@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@ABV123@@log_internal@absl@@YAPAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@ABV234@0PBD@Z
     ??$MakeCheckOpString@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@ABV123@@log_internal@absl@@YAPAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@ABV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@34@0PBD@Z
     ??$MakeCheckOpString@DD@log_internal@absl@@YAPAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@DDPBD@Z
@@ -147,7 +149,6 @@
     ??$__allocate_at_least@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAUTransition@cctz@time_internal@absl@@@01@AAV?$allocator@UTransition@cctz@time_internal@absl@@@01@I@Z
     ??$__allocate_at_least@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAUTransitionType@cctz@time_internal@absl@@@01@AAV?$allocator@UTransitionType@cctz@time_internal@absl@@@01@I@Z
     ??$__allocate_at_least@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAUViableSubstitution@strings_internal@absl@@@01@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@01@I@Z
-    ??$__allocate_at_least@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@YA?AU?$__allocation_result@PAVFormatArgImpl@str_format_internal@absl@@@01@AAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@01@I@Z
     ??$__append@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@12@0PAX@Z
     ??$__construct_at_end@V?$move_iterator@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@?$__split_buffer@PAPBVImpl@time_zone@cctz@time_internal@absl@@AAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$move_iterator@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@@12@0@Z
     ??$__construct_at_end@V?$move_iterator@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@?$__split_buffer@PAUPrefixCrc@CrcCordState@crc_internal@absl@@AAV?$allocator@PAUPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$move_iterator@PAPAUPrefixCrc@CrcCordState@crc_internal@absl@@@12@0@Z
@@ -159,7 +160,6 @@
     ??$__emplace_unique_key_args@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@ABUpiecewise_construct_t@23@V?$tuple@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$tuple@$$V@23@@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QAE?AU?$pair@V?$__hash_iterator@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@PAX@__Cr@std@@@__Cr@std@@_N@12@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@12@ABUpiecewise_construct_t@12@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@12@$$QAV?$tuple@$$V@12@@Z
     ??$__rehash@$00@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@AAEXI@Z
     ??$__upper_bound@U_ClassicAlgPolicy@__Cr@std@@UByCivilTime@Transition@cctz@time_internal@absl@@PBU5678@PBU5678@U5678@U__identity@23@@__Cr@std@@YAPBUTransition@cctz@time_internal@absl@@PBU2345@0ABU2345@$$QAUByCivilTime@2345@$$QAU__identity@01@@Z
-    ??$assign@PBVFormatArgImpl@str_format_internal@absl@@$0A@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXPBVFormatArgImpl@str_format_internal@absl@@0@Z
     ??$assign@V?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@__Cr@std@@@?$deque@UPrefixCrc@CrcCordState@crc_internal@absl@@V?$allocator@UPrefixCrc@CrcCordState@crc_internal@absl@@@__Cr@std@@@__Cr@std@@QAEXV?$__deque_iterator@UPrefixCrc@CrcCordState@crc_internal@absl@@PBU1234@ABU1234@PBQBU1234@H$0A@@12@0PAX@Z
     ??$assign@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@optional_internal@absl@@IAEX$$QAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??$construct_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@ABUpiecewise_construct_t@23@V?$tuple@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@V?$tuple@$$V@23@PAU123@@__Cr@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@01@PAU201@ABUpiecewise_construct_t@01@$$QAV?$tuple@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@01@$$QAV?$tuple@$$V@01@@Z
@@ -236,7 +236,6 @@
     ??0SpinLock@base_internal@absl@@QAE@W4SchedulingMode@12@@Z
     ??0Status@absl@@QAE@W4StatusCode@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ??0StdcppWaiter@synchronization_internal@absl@@QAE@XZ
-    ??0Streamable@str_format_internal@absl@@QAE@ABVUntypedFormatSpecImpl@12@V?$Span@$$CBVFormatArgImpl@str_format_internal@absl@@@2@@Z
     ??0TimeZoneLibC@cctz@time_internal@absl@@QAE@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@Z
     ??0Win32Waiter@synchronization_internal@absl@@QAE@XZ
     ??0int128@absl@@QAE@M@Z
@@ -360,6 +359,7 @@
     ?AllocWithArena@LowLevelAlloc@base_internal@absl@@SAPAXIPAUArena@123@@Z
     ?Allocate@?$MallocAdapter@V?$allocator@PAVLogSink@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@PAVLogSink@absl@@@__Cr@std@@@23@AAV?$allocator@PAVLogSink@absl@@@__Cr@std@@I@Z
     ?Allocate@?$MallocAdapter@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@UPayload@status_internal@absl@@@__Cr@std@@@23@AAV?$allocator@UPayload@status_internal@absl@@@__Cr@std@@I@Z
+    ?Allocate@?$MallocAdapter@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@$0A@@inlined_vector_internal@absl@@SA?AU?$Allocation@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@23@AAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@I@Z
     ?AlreadyExistsError@absl@@YA?AVStatus@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
     ?Append@?$AppendUninitializedTraits@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@X@strings_internal@absl@@SAXPAV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@I@Z
     ?Append@Cord@absl@@QAEX$$QAV12@@Z
@@ -447,7 +447,6 @@
     ?Compute@CrcNonTemporalMemcpyEngine@crc_internal@absl@@UBE?AVcrc32c_t@3@PIAXPIBXIV43@@Z
     ?Compute@FallbackCrcMemcpyEngine@crc_internal@absl@@UBE?AVcrc32c_t@3@PIAXPIBXIV43@@Z
     ?ComputeCrc32c@absl@@YA?AVcrc32c_t@1@V?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@@Z
-    ?Concat@CRC@crc_internal@absl@@UAEXPAIII@Z
     ?ConcatCrc32c@absl@@YA?AVcrc32c_t@1@V21@0I@Z
     ?Consume@cord_internal@absl@@YAXPAUCordRep@12@V?$FunctionRef@$$A6AXPAUCordRep@cord_internal@absl@@II@Z@2@@Z
     ?ConsumeBeginTo@CordRepBtree@cord_internal@absl@@CAPAV123@PAV123@II@Z
@@ -517,7 +516,6 @@
     ?DumpStackTrace@debugging_internal@absl@@YAXHH_NP6AXPBDPAX@Z2@Z
     ?DurationFromTimespec@absl@@YA?AVDuration@1@Utimespec@@@Z
     ?DurationFromTimeval@absl@@YA?AVDuration@1@Utimeval@@@Z
-    ?Empty@CRCImpl@crc_internal@absl@@UBEXPAI@Z
     ?EmptyGeneration@container_internal@absl@@YAPAEXZ
     ?EmptyString@Status@absl@@CAPBV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@XZ
     ?EnableDebugLog@CondVar@absl@@QAEXPBD@Z
@@ -582,6 +580,8 @@
     ?Find@ByLength@absl@@QBE?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@I@Z
     ?Find@ByString@absl@@QBE?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V345@I@Z
     ?FindFlatStartPiece@InlineRep@Cord@absl@@QBE?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@XZ
+    ?FindLongestCommonPrefix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
+    ?FindLongestCommonSuffix@absl@@YA?AV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@V234@0@Z
     ?FindPath@GraphCycles@synchronization_internal@absl@@QBEHUGraphId@23@0HQAU423@@Z
     ?FindSlow@CordRepRing@cord_internal@absl@@ABE?AUPosition@123@II@Z
     ?FindTailSlow@CordRepRing@cord_internal@absl@@ABE?AUPosition@123@II@Z
@@ -609,9 +609,7 @@
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Usecond_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatCivilTime@absl@@YA?AV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@V?$civil_time@Uyear_tag@time_internal@absl@@@detail@cctz@time_internal@1@@Z
     ?FormatConversionCharToConvInt@str_format_internal@absl@@YA_KD@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@CVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@DVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
-    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0BPPPL@@12@EVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAA@@12@UVoidPtr@12@VFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0EAAAE@@12@PBDVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0IAAAE@@12@ABV?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@VFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
@@ -619,6 +617,8 @@
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@MVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@NVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPOAA@@12@OVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@CVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
+    ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@EVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@FVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@GVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
     ?FormatConvertImpl@str_format_internal@absl@@YA?AU?$ArgConvertResult@$0JPPPL@@12@HVFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z
@@ -871,6 +871,7 @@
     ?Ptr@GraphCycles@synchronization_internal@absl@@QAEPAXUGraphId@23@@Z
     ?PushDead@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@AAEXPAUHashtablezInfo@container_internal@3@@Z
     ?PutPaddedString@FormatSinkImpl@str_format_internal@absl@@QAE_NV?$basic_string_view@DU?$char_traits@D@__Cr@std@@@__Cr@std@@HH_N@Z
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPAD@Z
     ?RawEnableLogPrefix@log_internal@absl@@YAX_N@Z
     ?RawLog@raw_log_internal@absl@@YAXW4LogSeverity@2@PBDH1ZZ
     ?RawLoggingFullySupported@raw_log_internal@absl@@YA_NXZ
@@ -1153,8 +1154,6 @@
     ?__throw_length_error@?$vector@UTransition@cctz@time_internal@absl@@V?$allocator@UTransition@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__throw_length_error@?$vector@UTransitionType@cctz@time_internal@absl@@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
     ?__throw_length_error@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
-    ?__throw_length_error@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@ABEXXZ
-    ?__vallocate@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__Cr@std@@@__Cr@std@@AAEXI@Z
     ?clear@?$__hash_table@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@V?$__unordered_map_hasher@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$__unordered_map_equal@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@23@U?$equal_to@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@U?$hash@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@@23@$00@23@V?$allocator@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__Cr@std@@V?$allocator@D@23@@__Cr@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__Cr@std@@@23@@__Cr@std@@QAEXXZ
     ?code@Status@absl@@QBE?AW4StatusCode@2@XZ
     ?combine_contiguous@MixingHashState@hash_internal@absl@@SA?AV123@V123@PBEI@Z
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 4f7286e..7fecceed 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -1102,40 +1102,46 @@
   return base::FeatureList::IsEnabled(blink::features::kAllowURNsInIframes);
 }
 
-// https://github.com/jkarlin/topics
+// https://github.com/patcg-individual-drafts/topics
 // Kill switch for the Topics API.
 BASE_FEATURE(kBrowsingTopics,
              "BrowsingTopics",
              base::FEATURE_DISABLED_BY_DEFAULT);
+
+// Decoupled with the main `kBrowsingTopics` feature, so it allows us to
+// decouple the server side configs.
+BASE_FEATURE(kBrowsingTopicsParameters,
+             "BrowsingTopicsParameters",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 // The number of epochs from where to calculate the topics to give to a
 // requesting contexts.
 const base::FeatureParam<int> kBrowsingTopicsNumberOfEpochsToExpose{
-    &kBrowsingTopics, "number_of_epochs_to_expose", 3};
+    &kBrowsingTopicsParameters, "number_of_epochs_to_expose", 3};
 // The periodic topics calculation interval.
 const base::FeatureParam<base::TimeDelta> kBrowsingTopicsTimePeriodPerEpoch{
-    &kBrowsingTopics, "time_period_per_epoch", base::Days(7)};
+    &kBrowsingTopicsParameters, "time_period_per_epoch", base::Days(7)};
 // The number of top topics to derive and to keep for each epoch (week).
 const base::FeatureParam<int> kBrowsingTopicsNumberOfTopTopicsPerEpoch{
-    &kBrowsingTopics, "number_of_top_topics_per_epoch", 5};
+    &kBrowsingTopicsParameters, "number_of_top_topics_per_epoch", 5};
 // The probability (in percent number) to return the random topic to a site. The
 // "random topic" is per-site, and is selected from the full taxonomy uniformly
 // at random, and each site has a
 // `kBrowsingTopicsUseRandomTopicProbabilityPercent`% chance to see their random
 // topic instead of one of the top topics.
 const base::FeatureParam<int> kBrowsingTopicsUseRandomTopicProbabilityPercent{
-    &kBrowsingTopics, "use_random_topic_probability_percent", 5};
+    &kBrowsingTopicsParameters, "use_random_topic_probability_percent", 5};
 // Maximum duration between when a epoch is calculated and when a site starts
 // using that new epoch's topics. The time chosen is a per-site random point in
 // time between [calculation time, calculation time + max duration).
 const base::FeatureParam<base::TimeDelta>
     kBrowsingTopicsMaxEpochIntroductionDelay{
-        &kBrowsingTopics, "browsing_topics_max_epoch_introduction_delay",
-        base::Days(2)};
+        &kBrowsingTopicsParameters,
+        "browsing_topics_max_epoch_introduction_delay", base::Days(2)};
 // How many epochs (weeks) of API usage data (i.e. topics observations) will be
 // based off for the filtering of topics for a calling context.
 const base::FeatureParam<int>
     kBrowsingTopicsNumberOfEpochsOfObservationDataToUseForFiltering{
-        &kBrowsingTopics,
+        &kBrowsingTopicsParameters,
         "number_of_epochs_of_observation_data_to_use_for_filtering", 3};
 // The max number of observed-by context domains to keep for each top topic
 // during the epoch topics calculation. The final number of domains associated
@@ -1144,7 +1150,7 @@
 // topics. The intent is to cap the in-use memory.
 const base::FeatureParam<int>
     kBrowsingTopicsMaxNumberOfApiUsageContextDomainsToKeepPerTopic{
-        &kBrowsingTopics,
+        &kBrowsingTopicsParameters,
         "max_number_of_api_usage_context_domains_to_keep_per_topic", 1000};
 // The max number of entries allowed to be retrieved from the
 // `BrowsingTopicsSiteDataStorage` database for each query for the API usage
@@ -1152,28 +1158,30 @@
 // time. The intent is to cap the peak memory usage.
 const base::FeatureParam<int>
     kBrowsingTopicsMaxNumberOfApiUsageContextEntriesToLoadPerEpoch{
-        &kBrowsingTopics,
+        &kBrowsingTopicsParameters,
         "max_number_of_api_usage_context_entries_to_load_per_epoch", 100000};
 // The max number of API usage context domains allowed to be stored per page
 // load.
 const base::FeatureParam<int>
     kBrowsingTopicsMaxNumberOfApiUsageContextDomainsToStorePerPageLoad{
-        &kBrowsingTopics,
+        &kBrowsingTopicsParameters,
         "max_number_of_api_usage_context_domains_to_store_per_page_load", 30};
 // Encodes the configuration parameters above. A version number can be used for
 // multiple configurations as long as they are compatible (from both Chrome's
 // and users/websites' perspective). For a configuration that's incompatible
 // with previous ones, a new dedicated version number should be used.
 const base::FeatureParam<int> kBrowsingTopicsConfigVersion{
-    &kBrowsingTopics, "config_version", kBrowsingTopicsConfigVersionDefault};
+    &kBrowsingTopicsParameters, "config_version",
+    kBrowsingTopicsConfigVersionDefault};
 // The taxonomy version. This only affects the topics classification that occurs
 // during this browser session, and doesn't affect the pre-existing epochs.
 const base::FeatureParam<int> kBrowsingTopicsTaxonomyVersion{
-    &kBrowsingTopics, "taxonomy_version",
+    &kBrowsingTopicsParameters, "taxonomy_version",
     kBrowsingTopicsTaxonomyVersionDefault};
-
+// Comma separated Topic IDs to be blocked. Descendant topics of each blocked
+// topic will be blocked as well.
 const base::FeatureParam<std::string> kBrowsingTopicsDisabledTopicsList{
-    &kBrowsingTopics, "browsing_topics_disabled_topics_list", ""};
+    &kBrowsingTopicsParameters, "browsing_topics_disabled_topics_list", ""};
 
 // Enables the deprecatedBrowsingTopics XHR attribute. For this feature to take
 // effect, the main Topics feature has to be enabled first (i.e.
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
index 7d176b3..2ff2da5 100644
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -486,6 +486,8 @@
 BLINK_COMMON_EXPORT bool IsAllowURNsInIframeEnabled();
 
 BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBrowsingTopics);
+
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBrowsingTopicsParameters);
 BLINK_COMMON_EXPORT extern const base::FeatureParam<base::TimeDelta>
     kBrowsingTopicsTimePeriodPerEpoch;
 BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
@@ -510,13 +512,14 @@
     kBrowsingTopicsTaxonomyVersion;
 BLINK_COMMON_EXPORT extern const base::FeatureParam<std::string>
     kBrowsingTopicsDisabledTopicsList;
-BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
-    kBrowsingTopicsBypassIPIsPubliclyRoutableCheck);
 
 BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBrowsingTopicsXHR);
 
 BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBrowsingTopicsDocumentAPI);
 
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(
+    kBrowsingTopicsBypassIPIsPubliclyRoutableCheck);
+
 // Uses page viewport instead of frame viewport in the Largest Contentful Paint
 // heuristic where images occupying the full viewport are ignored.
 BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kUsePageViewportInLCP);
diff --git a/third_party/blink/renderer/core/animation/css/css_animation_data.h b/third_party/blink/renderer/core/animation/css/css_animation_data.h
index d74eccf..fb8c73f 100644
--- a/third_party/blink/renderer/core/animation/css/css_animation_data.h
+++ b/third_party/blink/renderer/core/animation/css/css_animation_data.h
@@ -85,6 +85,19 @@
     return composition_list_;
   }
 
+  bool HasSingleInitialTimeline() const {
+    return timeline_list_.size() == 1u &&
+           timeline_list_.front() == InitialTimeline();
+  }
+  bool HasSingleInitialRangeStart() const {
+    return range_start_list_.size() == 1u &&
+           range_start_list_.front() == InitialRangeStart();
+  }
+  bool HasSingleInitialRangeEnd() const {
+    return range_end_list_.size() == 1u &&
+           range_end_list_.front() == InitialRangeEnd();
+  }
+
   static absl::optional<double> InitialDuration();
   static const AtomicString& InitialName();
   static const StyleTimeline& InitialTimeline();
diff --git a/third_party/blink/renderer/core/animation/css/css_timing_data.h b/third_party/blink/renderer/core/animation/css/css_timing_data.h
index c9edbde..8e0ec72f 100644
--- a/third_party/blink/renderer/core/animation/css/css_timing_data.h
+++ b/third_party/blink/renderer/core/animation/css/css_timing_data.h
@@ -40,6 +40,16 @@
     return timing_function_list_;
   }
 
+  bool HasSingleInitialDelayStart() const {
+    return delay_start_list_.size() == 1u &&
+           delay_start_list_.front() == InitialDelayStart();
+  }
+
+  bool HasSingleInitialDelayEnd() const {
+    return delay_end_list_.size() == 1u &&
+           delay_end_list_.front() == InitialDelayEnd();
+  }
+
   static Timing::Delay InitialDelayStart() { return Timing::Delay(); }
   static Timing::Delay InitialDelayEnd() { return Timing::Delay(); }
   static scoped_refptr<TimingFunction> InitialTimingFunction() {
diff --git a/third_party/blink/renderer/core/animation/interpolable_font_palette.cc b/third_party/blink/renderer/core/animation/interpolable_font_palette.cc
index 94001c5..8f6e427 100644
--- a/third_party/blink/renderer/core/animation/interpolable_font_palette.cc
+++ b/third_party/blink/renderer/core/animation/interpolable_font_palette.cc
@@ -43,18 +43,6 @@
   return *font_palette_ == *other_palette.font_palette_;
 }
 
-void InterpolableFontPalette::Scale(double scale) {
-  font_palette_ = FontPalette::Scale(font_palette_, scale);
-}
-
-void InterpolableFontPalette::Add(const InterpolableValue& other) {
-  const InterpolableFontPalette& other_interpolable_palette =
-      To<InterpolableFontPalette>(other);
-  scoped_refptr<FontPalette> other_palette =
-      other_interpolable_palette.font_palette_;
-  font_palette_ = FontPalette::Add(font_palette_, other_palette);
-}
-
 void InterpolableFontPalette::AssertCanInterpolateWith(
     const InterpolableValue& other) const {
   DCHECK(other.IsFontPalette());
@@ -72,8 +60,12 @@
   } else if (progress == 1) {
     result_palette.font_palette_ = to_palette.font_palette_;
   } else {
+    // Since there is no way for user to specify which color space should be
+    // used for interpolation, it defaults to Oklab.
+    // https://www.w3.org/TR/css-color-4/#interpolation-space
     result_palette.font_palette_ =
-        FontPalette::Mix(font_palette_, to_palette.font_palette_, progress);
+        FontPalette::Mix(font_palette_, to_palette.font_palette_, progress,
+                         Color::ColorSpace::kOklab, absl::nullopt);
   }
 }
 
diff --git a/third_party/blink/renderer/core/animation/interpolable_font_palette.h b/third_party/blink/renderer/core/animation/interpolable_font_palette.h
index 4484af18..87b64e1 100644
--- a/third_party/blink/renderer/core/animation/interpolable_font_palette.h
+++ b/third_party/blink/renderer/core/animation/interpolable_font_palette.h
@@ -30,8 +30,12 @@
                    InterpolableValue& result) const final;
   bool IsFontPalette() const final { return true; }
   bool Equals(const InterpolableValue& other) const final;
-  void Scale(double scale) final;
-  void Add(const InterpolableValue& other) final;
+  // Scale() and Add() methods are only used for additive animations, but
+  // font-palette is not additive, since the <color> type is not additive,
+  // compare https://drafts.csswg.org/css-values-4/#combine-colors. Therefore
+  // these methods should not do anything.
+  void Scale(double scale) final {}
+  void Add(const InterpolableValue& other) final {}
   void AssertCanInterpolateWith(const InterpolableValue& other) const final;
 
  private:
diff --git a/third_party/blink/renderer/core/animation/interpolable_font_palette_test.cc b/third_party/blink/renderer/core/animation/interpolable_font_palette_test.cc
index c5526fde..a2fb9452a 100644
--- a/third_party/blink/renderer/core/animation/interpolable_font_palette_test.cc
+++ b/third_party/blink/renderer/core/animation/interpolable_font_palette_test.cc
@@ -30,16 +30,16 @@
   const auto& result_palette = To<InterpolableFontPalette>(*interpolable_value);
   scoped_refptr<FontPalette> font_palette = result_palette.GetFontPalette();
 
-  EXPECT_EQ("palette-mix(light, dark, 0.3)", font_palette->ToString());
+  EXPECT_EQ("palette-mix(in oklab, light, dark 30%)", font_palette->ToString());
 }
 
 TEST(InterpolableFontPaletteTest, NestedEndpointsInterpolation) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
   scoped_refptr<FontPalette> palette1 =
       FontPalette::Create(FontPalette::kLightPalette);
-  scoped_refptr<FontPalette> palette2 =
-      FontPalette::Mix(FontPalette::Create(),
-                       FontPalette::Create(FontPalette::kDarkPalette), 0.7);
+  scoped_refptr<FontPalette> palette2 = FontPalette::Mix(
+      FontPalette::Create(), FontPalette::Create(FontPalette::kDarkPalette),
+      0.7, Color::ColorSpace::kSRGB, absl::nullopt);
 
   std::unique_ptr<InterpolableFontPalette> interpolable_palette_from =
       InterpolableFontPalette::Create(palette1);
@@ -53,52 +53,20 @@
   const auto& result_palette = To<InterpolableFontPalette>(*interpolable_value);
   scoped_refptr<FontPalette> font_palette = result_palette.GetFontPalette();
 
-  EXPECT_EQ("palette-mix(light, palette-mix(normal, dark, 0.7), 0.3)",
-            font_palette->ToString());
+  EXPECT_EQ(
+      "palette-mix(in oklab, light, palette-mix(in srgb, normal, dark 70%) "
+      "30%)",
+      font_palette->ToString());
 }
 
-TEST(InterpolableFontPaletteTest, SimpleAdd) {
+// Scale/Add should have no effect.
+TEST(InterpolableFontPaletteTest, NoEffectScaleAdd) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette1 =
-      FontPalette::Create(FontPalette::kLightPalette);
+  scoped_refptr<FontPalette> palette1 = FontPalette::Mix(
+      FontPalette::Create(), FontPalette::Create(FontPalette::kDarkPalette),
+      0.7, Color::ColorSpace::kOklab, absl::nullopt);
   scoped_refptr<FontPalette> palette2 =
-      FontPalette::Create(FontPalette::kDarkPalette);
-
-  std::unique_ptr<InterpolableFontPalette> interpolable_palette_from =
-      InterpolableFontPalette::Create(palette1);
-  std::unique_ptr<InterpolableFontPalette> interpolable_palette_to =
-      InterpolableFontPalette::Create(palette2);
-
-  interpolable_palette_from->Add(*interpolable_palette_to);
-  scoped_refptr<FontPalette> font_palette =
-      interpolable_palette_from->GetFontPalette();
-
-  EXPECT_EQ("palette-add(light, dark)", font_palette->ToString());
-}
-
-TEST(InterpolableFontPaletteTest, SimpleScale) {
-  ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette =
-      FontPalette::Create(FontPalette::kNormalPalette);
-
-  std::unique_ptr<InterpolableFontPalette> interpolable_palette =
-      InterpolableFontPalette::Create(palette);
-
-  interpolable_palette->Scale(0.3);
-  scoped_refptr<FontPalette> font_palette =
-      interpolable_palette->GetFontPalette();
-
-  EXPECT_EQ("palette-scale(normal, 0.3)", font_palette->ToString());
-}
-
-TEST(InterpolableFontPaletteTest, ScaleAndAdd) {
-  ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette1 =
       FontPalette::Create(FontPalette::kLightPalette);
-  scoped_refptr<FontPalette> palette2 =
-      FontPalette::Mix(FontPalette::Create(),
-                       FontPalette::Create(FontPalette::kDarkPalette), 0.7);
-
   std::unique_ptr<InterpolableFontPalette> interpolable_palette1 =
       InterpolableFontPalette::Create(palette1);
   std::unique_ptr<InterpolableFontPalette> interpolable_palette2 =
@@ -110,25 +78,18 @@
   scoped_refptr<FontPalette> font_palette =
       interpolable_palette1->GetFontPalette();
 
-  EXPECT_EQ(
-      "palette-add(palette-scale(light, 0.5), palette-mix(normal, dark, 0.7))",
-      font_palette->ToString());
+  EXPECT_EQ("palette-mix(in oklab, normal, dark 70%)",
+            font_palette->ToString());
 }
 
-TEST(InterpolableFontPaletteTest, NestedPalettesEqual) {
+TEST(InterpolableFontPaletteTest, InterpolablePalettesEqual) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette1 = FontPalette::Add(
-      FontPalette::Mix(
-          FontPalette::Scale(FontPalette::Create(FontPalette::kLightPalette),
-                             0.1),
-          FontPalette::Create(), 0.3),
-      FontPalette::Create(FontPalette::kDarkPalette));
-  scoped_refptr<FontPalette> palette2 = FontPalette::Add(
-      FontPalette::Mix(
-          FontPalette::Scale(FontPalette::Create(FontPalette::kLightPalette),
-                             0.1),
-          FontPalette::Create(), 0.3),
-      FontPalette::Create(FontPalette::kDarkPalette));
+  scoped_refptr<FontPalette> palette1 = FontPalette::Mix(
+      FontPalette::Create(FontPalette::kLightPalette), FontPalette::Create(),
+      0.3, Color::ColorSpace::kOklab, absl::nullopt);
+  scoped_refptr<FontPalette> palette2 = FontPalette::Mix(
+      FontPalette::Create(FontPalette::kLightPalette), FontPalette::Create(),
+      0.3, Color::ColorSpace::kOklab, absl::nullopt);
 
   std::unique_ptr<InterpolableFontPalette> interpolable_palette1 =
       InterpolableFontPalette::Create(palette1);
@@ -139,16 +100,16 @@
   EXPECT_TRUE(interpolable_palette2->Equals(*interpolable_palette1));
 }
 
-TEST(InterpolableFontPaletteTest, NestedPalettesNotEqual) {
+TEST(InterpolableFontPaletteTest, InterpolablePalettesNotEqual) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette1 = FontPalette::Add(
+  scoped_refptr<FontPalette> palette1 =
       FontPalette::Mix(FontPalette::Create(FontPalette::kLightPalette),
-                       FontPalette::Create(FontPalette::kDarkPalette), 0.3),
-      FontPalette::Create(FontPalette::kDarkPalette));
-  scoped_refptr<FontPalette> palette2 = FontPalette::Add(
+                       FontPalette::Create(FontPalette::kDarkPalette), 0.3,
+                       Color::ColorSpace::kSRGB, absl::nullopt);
+  scoped_refptr<FontPalette> palette2 =
       FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
-                       FontPalette::Create(FontPalette::kLightPalette), 0.3),
-      FontPalette::Create(FontPalette::kDarkPalette));
+                       FontPalette::Create(FontPalette::kLightPalette), 0.3,
+                       Color::ColorSpace::kSRGB, absl::nullopt);
 
   std::unique_ptr<InterpolableFontPalette> interpolable_palette1 =
       InterpolableFontPalette::Create(palette1);
diff --git a/third_party/blink/renderer/core/css/css_font_selector.cc b/third_party/blink/renderer/core/css/css_font_selector.cc
index fadc548..e7bd04f 100644
--- a/third_party/blink/renderer/core/css/css_font_selector.cc
+++ b/third_party/blink/renderer/core/css/css_font_selector.cc
@@ -90,11 +90,8 @@
   }
   scoped_refptr<FontPalette> start_palette = ResolveInterpolableFontPalette(
       font_palette->GetStart(), style_engine, family_name);
-  scoped_refptr<FontPalette> end_palette =
-      (font_palette->GetOperation().type != FontPalette::kScalePalette)
-          ? ResolveInterpolableFontPalette(font_palette->GetEnd(), style_engine,
-                                           family_name)
-          : start_palette;
+  scoped_refptr<FontPalette> end_palette = ResolveInterpolableFontPalette(
+      font_palette->GetEnd(), style_engine, family_name);
 
   /* Since we use normal font-palette with the current family_name if we were
    * unable to retrieve font-palette-values for current family_name, then
@@ -102,30 +99,16 @@
   DCHECK_EQ(start_palette->GetMatchFamilyName(),
             end_palette->GetMatchFamilyName());
 
-  FontPalette::InterpolablePaletteOperation operation =
-      font_palette->GetOperation();
   // If two endpoints of the interpolation are equal, we can simplify the tree
-  if (operation.type == FontPalette::kMixPalettes &&
-      *start_palette.get() == *end_palette.get()) {
+  if (*start_palette.get() == *end_palette.get()) {
     return start_palette;
   }
 
   scoped_refptr<FontPalette> new_palette;
-  switch (operation.type) {
-    case FontPalette::kMixPalettes:
-      new_palette =
-          FontPalette::Mix(start_palette, end_palette, operation.param);
-      break;
-    case FontPalette::kAddPalettes:
-      new_palette = FontPalette::Add(start_palette, end_palette);
-      break;
-    case FontPalette::kScalePalette:
-      new_palette = FontPalette::Scale(start_palette, operation.param);
-      break;
-    default:
-      NOTREACHED();
-  }
-
+  new_palette = FontPalette::Mix(start_palette, end_palette,
+                                 font_palette->GetPercentage(),
+                                 font_palette->GetColorInterpolationSpace(),
+                                 font_palette->GetHueInterpolationMethod());
   new_palette->SetMatchFamilyName(start_palette->GetMatchFamilyName());
   return new_palette;
 }
diff --git a/third_party/blink/renderer/core/css/css_value_keywords.json5 b/third_party/blink/renderer/core/css/css_value_keywords.json5
index 679e7a3..1f52d41 100644
--- a/third_party/blink/renderer/core/css/css_value_keywords.json5
+++ b/third_party/blink/renderer/core/css/css_value_keywords.json5
@@ -194,8 +194,6 @@
     // font-palette animation
     //
     "palette-mix",
-    "palette-add",
-    "palette-scale",
 
     //
     // *-color
diff --git a/third_party/blink/renderer/core/css/properties/computed_style_utils.cc b/third_party/blink/renderer/core/css/properties/computed_style_utils.cc
index 1360b87..d0b89cd0 100644
--- a/third_party/blink/renderer/core/css/properties/computed_style_utils.cc
+++ b/third_party/blink/renderer/core/css/properties/computed_style_utils.cc
@@ -84,47 +84,27 @@
       return MakeGarbageCollected<CSSCustomIdentValue>(
           palette->GetPaletteValuesName());
     case blink::FontPalette::kInterpolablePalette: {
+      // TODO(crbug.com/1400620): Change the serialization of palette-mix()
+      // function to match color-mix(), i.e.: palette-mix() =
+      // palette-mix(<color-interpolation-method> , [ [normal | light | dark |
+      // <palette-identifier> | <palette-mix()> ] && <percentage [0,100]>?
+      // ]#{2})
       DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
-      CSSFunctionValue* result = nullptr;
-      blink::FontPalette::InterpolablePaletteOperationType type =
-          palette->GetOperation().type;
-      switch (type) {
-        case blink::FontPalette::kMixPalettes:
-          result =
-              MakeGarbageCollected<CSSFunctionValue>(CSSValueID::kPaletteMix);
-          break;
-        case blink::FontPalette::kAddPalettes:
-          result =
-              MakeGarbageCollected<CSSFunctionValue>(CSSValueID::kPaletteAdd);
-          break;
-        case blink::FontPalette::kScalePalette:
-          result =
-              MakeGarbageCollected<CSSFunctionValue>(CSSValueID::kPaletteScale);
-          break;
-        case blink::FontPalette::kNoInterpolation:
-          NOTREACHED();
-      }
+      CSSFunctionValue* result =
+          MakeGarbageCollected<CSSFunctionValue>(CSSValueID::kPaletteMix);
+
       CSSValue* start = ConvertFontPaletteToCSSValue(palette->GetStart().get());
       result->Append(*start);
 
-      if (type != blink::FontPalette::kScalePalette) {
-        CSSValue* end = ConvertFontPaletteToCSSValue(palette->GetEnd().get());
-        if (*start == *end && type == blink::FontPalette::kMixPalettes) {
-          return start;
-        }
-        result->Append(*end);
+      CSSValue* end = ConvertFontPaletteToCSSValue(palette->GetEnd().get());
+      if (*start == *end) {
+        return start;
       }
+      result->Append(*end);
 
-      if (type != blink::FontPalette::kAddPalettes) {
-        CSSValue* param = CSSNumericLiteralValue::Create(
-            palette->GetOperation().param,
-            CSSPrimitiveValue::UnitType::kNumber);
-        if (palette->GetOperation().param == 1 &&
-            type == blink::FontPalette::kScalePalette) {
-          return start;
-        }
-        result->Append(*param);
-      }
+      CSSValue* param = CSSNumericLiteralValue::Create(
+          palette->GetPercentage(), CSSPrimitiveValue::UnitType::kNumber);
+      result->Append(*param);
 
       return result;
     }
@@ -2290,21 +2270,28 @@
 }
 
 CSSValue* ComputedStyleUtils::ValueForAnimationDuration(
-    const absl::optional<double>& duration) {
-  if (!duration.has_value()) {
+    const absl::optional<double>& duration,
+    bool resolve_auto_to_zero) {
+  absl::optional<double> resolved_duration =
+      (!duration.has_value() && resolve_auto_to_zero) ? 0 : duration;
+  if (!resolved_duration.has_value()) {
     return CSSIdentifierValue::Create(CSSValueID::kAuto);
   }
-  return CSSNumericLiteralValue::Create(duration.value(),
+  return CSSNumericLiteralValue::Create(resolved_duration.value(),
                                         CSSPrimitiveValue::UnitType::kSeconds);
 }
 
 CSSValue* ComputedStyleUtils::ValueForAnimationDurationList(
-    const CSSAnimationData* animation_data) {
+    const CSSAnimationData* animation_data,
+    CSSValuePhase phase) {
+  bool resolve_auto_to_zero =
+      (phase == CSSValuePhase::kUsedValue) &&
+      (!animation_data || animation_data->HasSingleInitialTimeline());
   return CreateAnimationValueList(
       animation_data
           ? animation_data->DurationList()
           : Vector<absl::optional<double>>{CSSAnimationData::InitialDuration()},
-      &ValueForAnimationDuration);
+      ValueForAnimationDuration, resolve_auto_to_zero);
 }
 
 CSSValue* ComputedStyleUtils::ValueForAnimationDurationList(
@@ -2314,7 +2301,8 @@
           ? transition_data->DurationList()
           : Vector<
                 absl::optional<double>>{CSSTransitionData::InitialDuration()},
-      &ValueForAnimationDuration);
+      ValueForAnimationDuration,
+      /* resolve_auto_to_zero */ false);
 }
 
 CSSValue* ComputedStyleUtils::ValueForAnimationFillMode(
@@ -3885,6 +3873,9 @@
     const ComputedStyle& style,
     const LayoutObject* layout_object) {
   switch (property.PropertyID()) {
+    case CSSPropertyID::kAnimationDuration:
+      return ComputedStyleUtils::ValueForAnimationDurationList(
+          style.Animations(), CSSValuePhase::kComputedValue);
     // Computed value is usually relative so that multiple fonts in child
     // elements work properly, but resolved value is always a pixel length.
     case CSSPropertyID::kLineHeight:
diff --git a/third_party/blink/renderer/core/css/properties/computed_style_utils.h b/third_party/blink/renderer/core/css/properties/computed_style_utils.h
index 310600fe..23f1667 100644
--- a/third_party/blink/renderer/core/css/properties/computed_style_utils.h
+++ b/third_party/blink/renderer/core/css/properties/computed_style_utils.h
@@ -157,7 +157,8 @@
   static CSSValue* ValueForAnimationDelayStart(const Timing::Delay& delay);
   static CSSValue* ValueForAnimationDelayEnd(const Timing::Delay& delay);
   static CSSValue* ValueForAnimationDirection(Timing::PlaybackDirection);
-  static CSSValue* ValueForAnimationDuration(const absl::optional<double>&);
+  static CSSValue* ValueForAnimationDuration(const absl::optional<double>&,
+                                             bool resolve_auto_to_zero);
   static CSSValue* ValueForAnimationFillMode(Timing::FillMode);
   static CSSValue* ValueForAnimationIterationCount(double iteration_count);
   static CSSValue* ValueForAnimationPlayState(EAnimPlayState);
@@ -174,7 +175,8 @@
   static CSSValue* ValueForAnimationDelayStartList(const CSSTimingData*);
   static CSSValue* ValueForAnimationDelayEndList(const CSSTimingData*);
   static CSSValue* ValueForAnimationDirectionList(const CSSAnimationData*);
-  static CSSValue* ValueForAnimationDurationList(const CSSAnimationData*);
+  static CSSValue* ValueForAnimationDurationList(const CSSAnimationData*,
+                                                 CSSValuePhase phase);
   static CSSValue* ValueForAnimationDurationList(const CSSTransitionData*);
   static CSSValue* ValueForAnimationFillModeList(const CSSAnimationData*);
   static CSSValue* ValueForAnimationIterationCountList(const CSSAnimationData*);
diff --git a/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc b/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
index 6de3fd3..0ebb096 100644
--- a/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
+++ b/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
@@ -4403,6 +4403,7 @@
     const StylePropertyShorthand& shorthand,
     HeapVector<Member<CSSValueList>, kMaxNumAnimationLonghands>& longhands,
     ConsumeAnimationItemValue consumeLonghandItem,
+    IsResetOnlyFunction is_reset_only,
     CSSParserTokenRange& range,
     const CSSParserContext& context,
     bool use_legacy_parsing) {
@@ -4439,9 +4440,30 @@
     } while (!range.AtEnd() && range.Peek().GetType() != kCommaToken);
 
     for (unsigned i = 0; i < longhand_count; ++i) {
+      const Longhand& longhand = *To<Longhand>(shorthand.properties()[i]);
       if (!parsed_longhand[i]) {
-        longhands[i]->Append(
-            *To<Longhand>(shorthand.properties()[i])->InitialValue());
+        // For each longhand that doesn't parse, add the initial (list-item)
+        // value instead. However, we only do this *once* for reset-only
+        // properties to end up with the initial value for the property as
+        // a whole.
+        //
+        // Example:
+        //
+        //  animation: anim1, anim2;
+        //
+        // Should expand to (ignoring longhands other than name and timeline):
+        //
+        //   animation-name: anim1, anim2;
+        //   animation-timeline: auto;
+        //
+        // It should *not* expand to:
+        //
+        //   animation-name: anim1, anim2;
+        //   animation-timeline: auto, auto;
+        //
+        if (!is_reset_only(longhand.PropertyID()) || !longhands[i]->length()) {
+          longhands[i]->Append(*longhand.InitialValue());
+        }
       }
       parsed_longhand[i] = false;
     }
diff --git a/third_party/blink/renderer/core/css/properties/css_parsing_utils.h b/third_party/blink/renderer/core/css/properties/css_parsing_utils.h
index 4f132d1..b2f7596f 100644
--- a/third_party/blink/renderer/core/css/properties/css_parsing_utils.h
+++ b/third_party/blink/renderer/core/css/properties/css_parsing_utils.h
@@ -67,6 +67,7 @@
                                                 CSSParserTokenRange&,
                                                 const CSSParserContext&,
                                                 bool use_legacy_parsing);
+using IsResetOnlyFunction = bool (*)(CSSPropertyID);
 using IsPositionKeyword = bool (*)(CSSValueID);
 
 constexpr size_t kMaxNumAnimationLonghands = 12;
@@ -329,6 +330,7 @@
     const StylePropertyShorthand&,
     HeapVector<Member<CSSValueList>, kMaxNumAnimationLonghands>&,
     ConsumeAnimationItemValue,
+    IsResetOnlyFunction,
     CSSParserTokenRange&,
     const CSSParserContext&,
     bool use_legacy_parsing);
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
index 504e57f5..38d1c3e2 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
@@ -358,12 +358,13 @@
     const ComputedStyle& style,
     const LayoutObject*,
     bool allow_visited_style) const {
-  return ComputedStyleUtils::ValueForAnimationDurationList(style.Animations());
+  return ComputedStyleUtils::ValueForAnimationDurationList(
+      style.Animations(), CSSValuePhase::kUsedValue);
 }
 
 const CSSValue* AnimationDuration::InitialValue() const {
   return ComputedStyleUtils::ValueForAnimationDuration(
-      CSSAnimationData::InitialDuration());
+      CSSAnimationData::InitialDuration(), /* resolve_auto_to_zero */ false);
 }
 
 const CSSValue* AnimationFillMode::ParseSingleValue(
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/shorthands_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/shorthands_custom.cc
index 5e993a2..08bf35d6 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/shorthands_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/shorthands_custom.cc
@@ -40,6 +40,20 @@
 
 namespace {
 
+// New animation-* properties are  "reset only":
+// https://github.com/w3c/csswg-drafts/issues/6946#issuecomment-1233190360
+bool IsResetOnlyAnimationProperty(CSSPropertyID property) {
+  switch (property) {
+    case CSSPropertyID::kAnimationDelayEnd:
+    case CSSPropertyID::kAnimationTimeline:
+    case CSSPropertyID::kAnimationRangeStart:
+    case CSSPropertyID::kAnimationRangeEnd:
+      return true;
+    default:
+      return false;
+  }
+}
+
 // Legacy parsing allows <string>s for animation-name.
 CSSValue* ConsumeAnimationValue(CSSPropertyID property,
                                 CSSParserTokenRange& range,
@@ -54,8 +68,8 @@
       DCHECK(RuntimeEnabledFeatures::CSSAnimationDelayStartEndEnabled());
       return css_parsing_utils::ConsumeAnimationDelay(range, context);
     case CSSPropertyID::kAnimationDelayEnd:
-      // New animation-* properties are  "reset only":
-      // https://github.com/w3c/csswg-drafts/issues/6946#issuecomment-1233190360
+      // New animation-* properties are  "reset only", see
+      // IsResetOnlyAnimationProperty.
       //
       // Returning nullptr here means that AnimationDelayEnd::InitialValue will
       // be used.
@@ -104,7 +118,8 @@
   HeapVector<Member<CSSValueList>, css_parsing_utils::kMaxNumAnimationLonghands>
       longhands(longhand_count);
   if (!css_parsing_utils::ConsumeAnimationShorthand(
-          shorthand, longhands, ConsumeAnimationValue, range, context,
+          shorthand, longhands, ConsumeAnimationValue,
+          IsResetOnlyAnimationProperty, range, context,
           local_context.UseAliasParsing())) {
     return false;
   }
@@ -122,11 +137,22 @@
     const StylePropertyShorthand& shorthand,
     const CSSAnimationData* animation_data) {
   if (animation_data) {
+    // The shorthand can not represent the following properties if they have
+    // non-initial values. This is because they are always reset to their
+    // initial value by the shorthand.
+    if (!animation_data->HasSingleInitialTimeline() ||
+        !animation_data->HasSingleInitialDelayEnd() ||
+        !animation_data->HasSingleInitialRangeStart() ||
+        !animation_data->HasSingleInitialRangeEnd()) {
+      return nullptr;
+    }
+
     CSSValueList* animations_list = CSSValueList::CreateCommaSeparated();
     for (wtf_size_t i = 0; i < animation_data->NameList().size(); ++i) {
       CSSValueList* list = CSSValueList::CreateSpaceSeparated();
       list->Append(*ComputedStyleUtils::ValueForAnimationDuration(
-          CSSTimingData::GetRepeated(animation_data->DurationList(), i)));
+          CSSTimingData::GetRepeated(animation_data->DurationList(), i),
+          /* resolve_auto_to_zero */ true));
       list->Append(*ComputedStyleUtils::ValueForAnimationTimingFunction(
           CSSTimingData::GetRepeated(animation_data->TimingFunctionList(), i)));
       list->Append(*ComputedStyleUtils::ValueForAnimationDelayStart(
@@ -141,25 +167,6 @@
           CSSTimingData::GetRepeated(animation_data->PlayStateList(), i)));
       list->Append(*MakeGarbageCollected<CSSCustomIdentValue>(
           animation_data->NameList()[i]));
-      // The shorthand can not represent the following properties if they have
-      // non-initial values. This is because they are always reset to their
-      // initial value by the shorthand.
-      if (CSSAnimationData::InitialTimeline() !=
-          animation_data->GetTimeline(i)) {
-        return nullptr;
-      }
-      if (CSSAnimationData::InitialDelayEnd() !=
-          CSSTimingData::GetRepeated(animation_data->DelayEndList(), i)) {
-        return nullptr;
-      }
-      if (CSSAnimationData::InitialRangeStart() !=
-          CSSTimingData::GetRepeated(animation_data->RangeStartList(), i)) {
-        return nullptr;
-      }
-      if (CSSAnimationData::InitialRangeEnd() !=
-          CSSTimingData::GetRepeated(animation_data->RangeEndList(), i)) {
-        return nullptr;
-      }
       animations_list->Append(*list);
     }
     return animations_list;
@@ -169,7 +176,8 @@
   // animation-name default value.
   list->Append(*CSSIdentifierValue::Create(CSSValueID::kNone));
   list->Append(*ComputedStyleUtils::ValueForAnimationDuration(
-      CSSAnimationData::InitialDuration()));
+      CSSAnimationData::InitialDuration(),
+      /* resolve_auto_to_zero */ true));
   list->Append(*ComputedStyleUtils::ValueForAnimationTimingFunction(
       CSSAnimationData::InitialTimingFunction()));
   list->Append(*ComputedStyleUtils::ValueForAnimationDelayStart(
@@ -3502,11 +3510,14 @@
   const StylePropertyShorthand shorthand = transitionShorthandForParsing();
   const unsigned longhand_count = shorthand.length();
 
+  // Only relevant for 'animation'.
+  auto is_reset_only_function = [](CSSPropertyID) { return false; };
+
   HeapVector<Member<CSSValueList>, css_parsing_utils::kMaxNumAnimationLonghands>
       longhands(longhand_count);
   if (!css_parsing_utils::ConsumeAnimationShorthand(
-          shorthand, longhands, ConsumeTransitionValue, range, context,
-          local_context.UseAliasParsing())) {
+          shorthand, longhands, ConsumeTransitionValue, is_reset_only_function,
+          range, context, local_context.UseAliasParsing())) {
     return false;
   }
 
diff --git a/third_party/blink/renderer/core/css/resolver/style_cascade_test.cc b/third_party/blink/renderer/core/css/resolver/style_cascade_test.cc
index 1e9d003..4a7e5e08 100644
--- a/third_party/blink/renderer/core/css/resolver/style_cascade_test.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_cascade_test.cc
@@ -2047,7 +2047,7 @@
   cascade.Apply();
 
   EXPECT_EQ("20s", cascade.ComputedValue("--y"));
-  EXPECT_EQ("auto", cascade.ComputedValue("animation-duration"));
+  EXPECT_EQ("0s", cascade.ComputedValue("animation-duration"));
 }
 
 TEST_F(StyleCascadeTest, IndirectlyAnimationTainted) {
@@ -2059,7 +2059,7 @@
 
   EXPECT_EQ("20s", cascade.ComputedValue("--x"));
   EXPECT_EQ("20s", cascade.ComputedValue("--y"));
-  EXPECT_EQ("auto", cascade.ComputedValue("animation-duration"));
+  EXPECT_EQ("0s", cascade.ComputedValue("animation-duration"));
 }
 
 TEST_F(StyleCascadeTest, AnimationTaintedFallback) {
diff --git a/third_party/blink/renderer/core/css/style_engine_test.cc b/third_party/blink/renderer/core/css/style_engine_test.cc
index 0b4e0cd..ead7c2e 100644
--- a/third_party/blink/renderer/core/css/style_engine_test.cc
+++ b/third_party/blink/renderer/core/css/style_engine_test.cc
@@ -6036,65 +6036,6 @@
                RuntimeEnabledFeatures::CSSAnimationDelayStartEndEnabled());
 }
 
-TEST_F(StyleEngineTest, AnimationDurationInitialValueWithScrollTimeline) {
-  ScopedScrollTimelineForTest scroll_timeline_enabled(true);
-
-  GetDocument().body()->setInnerHTML(R"HTML(
-    <style>
-      #target1 { /* Implicitly initial */ }
-      #target2 { animation-duration: initial; }
-      #target3 { animation: foo; }
-    </style>
-    <div id=target1></div>
-    <div id=target2></div>
-    <div id=target3></div>
-  )HTML");
-
-  UpdateAllLifecyclePhasesForTest();
-
-  Element* target1 = GetDocument().getElementById("target1");
-  Element* target2 = GetDocument().getElementById("target2");
-  Element* target3 = GetDocument().getElementById("target3");
-
-  ASSERT_TRUE(target1);
-  ASSERT_TRUE(target2);
-  ASSERT_TRUE(target3);
-
-  EXPECT_EQ("auto", ComputedValue(target1, "animation-duration")->CssText());
-  EXPECT_EQ("auto", ComputedValue(target2, "animation-duration")->CssText());
-  EXPECT_EQ("auto", ComputedValue(target3, "animation-duration")->CssText());
-}
-
-TEST_F(StyleEngineTest, AnimationDurationInitialValueWithoutScrollTimeline) {
-  ScopedScrollTimelineForTest scroll_timeline_enabled(false);
-  ScopedScrollTimelineCurrentTimeForTest current_time_enabled(false);
-
-  GetDocument().body()->setInnerHTML(R"HTML(
-    <style>
-      #target1 { /* Implicitly initial */ }
-      #target2 { animation-duration: initial; }
-      #target3 { animation: foo; }
-    </style>
-    <div id=target1></div>
-    <div id=target2></div>
-    <div id=target3></div>
-  )HTML");
-
-  UpdateAllLifecyclePhasesForTest();
-
-  Element* target1 = GetDocument().getElementById("target1");
-  Element* target2 = GetDocument().getElementById("target2");
-  Element* target3 = GetDocument().getElementById("target3");
-
-  ASSERT_TRUE(target1);
-  ASSERT_TRUE(target2);
-  ASSERT_TRUE(target3);
-
-  EXPECT_EQ("0s", ComputedValue(target1, "animation-duration")->CssText());
-  EXPECT_EQ("0s", ComputedValue(target2, "animation-duration")->CssText());
-  EXPECT_EQ("0s", ComputedValue(target3, "animation-duration")->CssText());
-}
-
 TEST_F(StyleEngineTest, ScrollTimelineAttachmentFlags) {
   String css = "scroll-timeline-attachment: initial";
   {
diff --git a/third_party/blink/renderer/core/css/style_property_serializer.cc b/third_party/blink/renderer/core/css/style_property_serializer.cc
index 36f88f9..6bec38e 100644
--- a/third_party/blink/renderer/core/css/style_property_serializer.cc
+++ b/third_party/blink/renderer/core/css/style_property_serializer.cc
@@ -1643,10 +1643,15 @@
       // The shorthand can not represent the following properties if they have
       // non-initial values. This is because they are always reset to their
       // initial value by the shorthand.
+      //
+      // Note that initial values for animation-* properties only contain
+      // one list item, hence the check for 'layer > 0'.
       if (property->IDEquals(CSSPropertyID::kAnimationTimeline)) {
         auto* ident = DynamicTo<CSSIdentifierValue>(value);
-        if (!ident || (ident->GetValueID() !=
-                       CSSAnimationData::InitialTimeline().GetKeyword())) {
+        if (!ident ||
+            (ident->GetValueID() !=
+             CSSAnimationData::InitialTimeline().GetKeyword()) ||
+            layer > 0) {
           DCHECK(RuntimeEnabledFeatures::ScrollTimelineEnabled());
           return g_empty_string;
         }
@@ -1654,14 +1659,16 @@
       }
       if (property->IDEquals(CSSPropertyID::kAnimationDelayEnd)) {
         if (CSSToStyleMap::MapAnimationDelayEnd(*value) !=
-            CSSTimingData::InitialDelayEnd()) {
+                CSSTimingData::InitialDelayEnd() ||
+            layer > 0) {
           return g_empty_string;
         }
         is_initial_value = true;
       }
       if (property->IDEquals(CSSPropertyID::kAnimationRangeStart)) {
         auto* ident = DynamicTo<CSSIdentifierValue>(value);
-        if (!ident || (ident->GetValueID() != CSSValueID::kNormal)) {
+        if (!ident || (ident->GetValueID() != CSSValueID::kNormal) ||
+            layer > 0) {
           DCHECK(RuntimeEnabledFeatures::ScrollTimelineEnabled());
           return g_empty_string;
         }
@@ -1669,7 +1676,8 @@
       }
       if (property->IDEquals(CSSPropertyID::kAnimationRangeEnd)) {
         auto* ident = DynamicTo<CSSIdentifierValue>(value);
-        if (!ident || (ident->GetValueID() != CSSValueID::kNormal)) {
+        if (!ident || (ident->GetValueID() != CSSValueID::kNormal) ||
+            layer > 0) {
           DCHECK(RuntimeEnabledFeatures::ScrollTimelineEnabled());
           return g_empty_string;
         }
diff --git a/third_party/blink/renderer/core/css/style_rule_font_palette_values.cc b/third_party/blink/renderer/core/css/style_rule_font_palette_values.cc
index 7be4ec00..ed59a146 100644
--- a/third_party/blink/renderer/core/css/style_rule_font_palette_values.cc
+++ b/third_party/blink/renderer/core/css/style_rule_font_palette_values.cc
@@ -85,19 +85,18 @@
   // TODO(yosin): Should we use ` ThreadState::NoAllocationScope` for main
   // thread? Font threads hit `DCHECK` because they don't have `ThreadState'.
 
-  auto ConvertToSkColor4f = [](const CSSValuePair& override_pair) -> SkColor4f {
+  auto ConvertToColor = [](const CSSValuePair& override_pair) -> Color {
     if (override_pair.Second().IsIdentifierValue()) {
       const CSSIdentifierValue& color_identifier =
           To<CSSIdentifierValue>(override_pair.Second());
       // The value won't be a system color according to parsing, so we can pass
       // a fixed color scheme here.
       return StyleColor::ColorFromKeyword(color_identifier.GetValueID(),
-                                          mojom::blink::ColorScheme::kLight)
-          .toSkColor4f();
+                                          mojom::blink::ColorScheme::kLight);
     }
     const cssvalue::CSSColor& css_color =
         To<cssvalue::CSSColor>(override_pair.Second());
-    return css_color.Value().toSkColor4f();
+    return css_color.Value();
   };
 
   Vector<FontPalette::FontPaletteOverride> return_overrides;
@@ -109,10 +108,10 @@
         To<CSSPrimitiveValue>(override_pair.First());
     DCHECK(palette_index.IsInteger());
 
-    const SkColor4f override_color = ConvertToSkColor4f(override_pair);
+    const Color override_color = ConvertToColor(override_pair);
 
     FontPalette::FontPaletteOverride palette_override{
-        palette_index.GetIntValue(), override_color.toSkColor()};
+        palette_index.GetIntValue(), override_color};
     return_overrides.push_back(palette_override);
   }
 
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 9314bd2..aeb1803 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -6487,14 +6487,11 @@
   DCHECK(script_state);
   ScriptState::Scope scope(script_state);
 
-  if (previous_status != mojom::blink::PermissionStatus::ASK) {
-    // Permission state already exists, resolve with the existing value.
-    ProcessStorageAccessPermissionState(resolver, /*use_existing_status=*/true,
-                                        previous_status);
-    return;
-  }
-  // Proceed to request permission.
-  if (!has_user_gesture) {
+  // TODO(crbug.com/1433644): We can avoid querying the current permission state
+  // by handling the user gesture requirement in
+  // StorageAccessGrantPermissionContext::DecidePermission
+  if (previous_status == mojom::blink::PermissionStatus::ASK &&
+      !has_user_gesture) {
     AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>(
         mojom::blink::ConsoleMessageSource::kSecurity,
         mojom::blink::ConsoleMessageLevel::kError,
diff --git a/third_party/blink/renderer/core/layout/build.gni b/third_party/blink/renderer/core/layout/build.gni
index 8e84e8e..20ecd3d 100644
--- a/third_party/blink/renderer/core/layout/build.gni
+++ b/third_party/blink/renderer/core/layout/build.gni
@@ -301,6 +301,7 @@
   "ng/inline/ng_inline_node.h",
   "ng/inline/ng_inline_node_data.cc",
   "ng/inline/ng_inline_node_data.h",
+  "ng/inline/ng_leading_floats.h",
   "ng/inline/ng_line_box_fragment_builder.cc",
   "ng/inline/ng_line_box_fragment_builder.h",
   "ng/inline/ng_line_breaker.cc",
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
index d2b2dd7..98d852b 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
@@ -1334,9 +1334,8 @@
 
   // In order to get the correct list of layout opportunities, we need to
   // position any "leading" floats within the exclusion space first.
-  STACK_UNINITIALIZED NGPositionedFloatVector leading_floats;
-  unsigned handled_leading_floats_index =
-      PositionLeadingFloats(&initial_exclusion_space, &leading_floats);
+  NGLeadingFloats leading_floats;
+  PositionLeadingFloats(initial_exclusion_space, leading_floats);
 
   // Determine our BFC block-offset, but *don't* set it on the builder yet as
   // we might be an empty line.
@@ -1445,10 +1444,10 @@
       // `line_info` was cached.
       line_info.SetBfcBlockOffset(line_opportunity.bfc_block_offset);
     } else {
-      NGLineBreaker line_breaker(
-          Node(), NGLineBreakerMode::kContent, ConstraintSpace(),
-          line_opportunity, leading_floats, handled_leading_floats_index,
-          break_token, column_spanner_path_, &ExclusionSpace());
+      NGLineBreaker line_breaker(Node(), NGLineBreakerMode::kContent,
+                                 ConstraintSpace(), line_opportunity,
+                                 leading_floats, break_token,
+                                 column_spanner_path_, &ExclusionSpace());
       line_break_strategy.SetupLineBreaker(context_, line_breaker);
       line_breaker.NextLine(&line_info);
     }
@@ -1673,13 +1672,14 @@
 
 // This positions any "leading" floats within the given exclusion space.
 // If we are also an empty inline, it will add any out-of-flow descendants.
-unsigned NGInlineLayoutAlgorithm::PositionLeadingFloats(
-    NGExclusionSpace* exclusion_space,
-    NGPositionedFloatVector* positioned_floats) {
+void NGInlineLayoutAlgorithm::PositionLeadingFloats(
+    NGExclusionSpace& exclusion_space,
+    NGLeadingFloats& leading_floats) {
   const HeapVector<NGInlineItem>& items =
       Node().ItemsData(/* is_first_line */ false).items;
 
   unsigned index = BreakToken() ? BreakToken()->StartItemIndex() : 0;
+  NGPositionedFloatVector& positioned_floats = leading_floats.floats;
   for (; index < items.size(); ++index) {
     const NGInlineItem& item = items[index];
 
@@ -1701,7 +1701,7 @@
     const LayoutUnit origin_bfc_block_offset =
         ConstraintSpace().ExpectedBfcBlockOffset();
     NGPositionedFloat positioned_float = PositionFloat(
-        origin_bfc_block_offset, item.GetLayoutObject(), exclusion_space);
+        origin_bfc_block_offset, item.GetLayoutObject(), &exclusion_space);
 
     if (ConstraintSpace().HasBlockFragmentation()) {
       // Propagate any breaks before or inside floats to the block container.
@@ -1717,10 +1717,10 @@
       }
     }
 
-    positioned_floats->push_back(positioned_float);
+    positioned_floats.push_back(positioned_float);
   }
 
-  return index;
+  leading_floats.handled_index = index;
 }
 
 NGPositionedFloat NGInlineLayoutAlgorithm::PositionFloat(
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h
index a9619e6..4e00f16 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h
@@ -30,6 +30,7 @@
 class NGLineInfo;
 struct NGInlineBoxState;
 struct NGInlineItemResult;
+struct NGLeadingFloats;
 
 // A class for laying out an inline formatting context, i.e. a block with inline
 // children.
@@ -63,7 +64,7 @@
  private:
   friend class NGLineWidthsTest;
 
-  unsigned PositionLeadingFloats(NGExclusionSpace*, NGPositionedFloatVector*);
+  void PositionLeadingFloats(NGExclusionSpace&, NGLeadingFloats&);
   NGPositionedFloat PositionFloat(LayoutUnit origin_block_bfc_offset,
                                   LayoutObject* floating_object,
                                   NGExclusionSpace*) const;
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
index 472480a7..2099418 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc
@@ -1632,12 +1632,12 @@
       mode == NGLineBreakerMode::kMaxContent ? LayoutUnit::Max() : LayoutUnit();
 
   NGExclusionSpace empty_exclusion_space;
-  NGPositionedFloatVector empty_leading_floats;
+  NGLeadingFloats empty_leading_floats;
   NGLineLayoutOpportunity line_opportunity(available_inline_size);
   LayoutUnit result;
   NGLineBreaker line_breaker(
       node, mode, space, line_opportunity, empty_leading_floats,
-      /* handled_leading_floats_index */ 0u, /* break_token */ nullptr,
+      /* break_token */ nullptr,
       /* column_spanner_path */ nullptr, &empty_exclusion_space);
   line_breaker.SetIntrinsicSizeOutputs(max_size_cache,
                                        depends_on_block_constraints_out);
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_leading_floats.h b/third_party/blink/renderer/core/layout/ng/inline/ng_leading_floats.h
new file mode 100644
index 0000000..7d5a39f
--- /dev/null
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_leading_floats.h
@@ -0,0 +1,29 @@
+// 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 THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_INLINE_NG_LEADING_FLOATS_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_INLINE_NG_LEADING_FLOATS_H_
+
+#include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/layout/ng/ng_floats_utils.h"
+#include "third_party/blink/renderer/core/layout/ng/ng_positioned_float.h"
+#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
+
+namespace blink {
+
+//
+// Represents already handled leading floats within an inline formatting
+// context. See `PositionLeadingFloats`.
+//
+struct CORE_EXPORT NGLeadingFloats {
+  STACK_ALLOCATED();
+
+ public:
+  wtf_size_t handled_index = 0;
+  NGPositionedFloatVector floats;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_INLINE_NG_LEADING_FLOATS_H_
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_break_candidate_test.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_break_candidate_test.cc
index 6d6515e..cadf0bd 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_break_candidate_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_break_candidate_test.cc
@@ -20,7 +20,7 @@
                          NGLineBreakCandidates& candidates) {
     NGConstraintSpace space = ConstraintSpaceForAvailableSize(available_width);
     NGExclusionSpace exclusion_space;
-    NGPositionedFloatVector leading_floats;
+    NGLeadingFloats leading_floats;
     NGLineLayoutOpportunity line_opportunity(available_width);
     const NGInlineBreakToken* break_token = nullptr;
     NGLineInfo line_info;
@@ -28,8 +28,8 @@
     bool is_first = true;
     do {
       NGLineBreaker line_breaker(node, NGLineBreakerMode::kContent, space,
-                                 line_opportunity, leading_floats, 0u,
-                                 break_token, /* column_spanner_path */ nullptr,
+                                 line_opportunity, leading_floats, break_token,
+                                 /* column_spanner_path */ nullptr,
                                  &exclusion_space);
       line_breaker.NextLine(&line_info);
       if (is_first) {
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
index 019971e..40374120 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
@@ -349,8 +349,7 @@
                              NGLineBreakerMode mode,
                              const NGConstraintSpace& space,
                              const NGLineLayoutOpportunity& line_opportunity,
-                             const NGPositionedFloatVector& leading_floats,
-                             unsigned handled_leading_floats_index,
+                             const NGLeadingFloats& leading_floats,
                              const NGInlineBreakToken* break_token,
                              const NGColumnSpannerPath* column_spanner_path,
                              NGExclusionSpace* exclusion_space)
@@ -380,7 +379,6 @@
       shaper_(text_content_),
       spacing_(text_content_, is_svg_text_),
       leading_floats_(leading_floats),
-      handled_leading_floats_index_(handled_leading_floats_index),
       base_direction_(node_.BaseDirection()) {
   UpdateAvailableWidth();
   if (is_svg_text_) {
@@ -2727,10 +2725,11 @@
     return;
 
   // Make sure we populate the positioned_float inside the |item_result|.
-  if (current_.item_index <= handled_leading_floats_index_ &&
-      !leading_floats_.empty()) {
-    DCHECK_LT(leading_floats_index_, leading_floats_.size());
-    item_result->positioned_float = leading_floats_[leading_floats_index_++];
+  if (current_.item_index <= leading_floats_.handled_index &&
+      !leading_floats_.floats.empty()) {
+    DCHECK_LT(leading_floats_index_, leading_floats_.floats.size());
+    item_result->positioned_float =
+        leading_floats_.floats[leading_floats_index_++];
 
     // Don't break after leading floats if indented.
     if (position_ != 0)
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h
index 0f4283c..14fccc3 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h
@@ -12,6 +12,7 @@
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item_result.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item_text_index.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.h"
+#include "third_party/blink/renderer/core/layout/ng/inline/ng_leading_floats.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_line_break_point.h"
 #include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_shaper.h"
 #include "third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.h"
@@ -44,8 +45,7 @@
                 NGLineBreakerMode,
                 const NGConstraintSpace&,
                 const NGLineLayoutOpportunity&,
-                const NGPositionedFloatVector& leading_floats,
-                unsigned handled_leading_floats_index,
+                const NGLeadingFloats& leading_floats,
                 const NGInlineBreakToken*,
                 const NGColumnSpannerPath*,
                 NGExclusionSpace*);
@@ -372,9 +372,8 @@
   LayoutUnit override_available_width_;
 
   // Keep track of handled float items. See HandleFloat().
-  const NGPositionedFloatVector& leading_floats_;
+  const NGLeadingFloats& leading_floats_;
   unsigned leading_floats_index_ = 0u;
-  unsigned handled_leading_floats_index_;
 
   // Cache for computing |MinMaxSize|. See |MaxSizeCache|.
   MaxSizeCache* max_size_cache_ = nullptr;
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc
index 9f3aeba..0876761 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc
@@ -55,13 +55,13 @@
     Vector<std::pair<String, unsigned>> lines;
     trailing_whitespaces_.resize(0);
     NGExclusionSpace exclusion_space;
-    NGPositionedFloatVector leading_floats;
+    NGLeadingFloats leading_floats;
     NGLineLayoutOpportunity line_opportunity(available_width);
     NGLineInfo line_info;
     do {
       NGLineBreaker line_breaker(node, NGLineBreakerMode::kContent, space,
-                                 line_opportunity, leading_floats, 0u,
-                                 break_token, /* column_spanner_path */ nullptr,
+                                 line_opportunity, leading_floats, break_token,
+                                 /* column_spanner_path */ nullptr,
                                  &exclusion_space);
       line_breaker.NextLine(&line_info);
       if (callback)
@@ -94,13 +94,13 @@
     NGConstraintSpace space = ConstraintSpaceForAvailableSize(available_width);
     const NGInlineBreakToken* break_token = nullptr;
     NGExclusionSpace exclusion_space;
-    NGPositionedFloatVector leading_floats;
+    NGLeadingFloats leading_floats;
     NGLineLayoutOpportunity line_opportunity(available_width);
     wtf_size_t line_index = 0;
     do {
       NGLineBreaker line_breaker(node, NGLineBreakerMode::kContent, space,
-                                 line_opportunity, leading_floats, 0u,
-                                 break_token, /* column_spanner_path */ nullptr,
+                                 line_opportunity, leading_floats, break_token,
+                                 /* column_spanner_path */ nullptr,
                                  &exclusion_space);
       if (line_index < break_points.size()) {
         line_breaker.SetBreakAt(break_points[line_index]);
@@ -1243,10 +1243,10 @@
   NGConstraintSpace space = ConstraintSpaceForAvailableSize(available_width);
   const NGInlineBreakToken* break_token = nullptr;
   NGExclusionSpace exclusion_space;
-  NGPositionedFloatVector leading_floats;
+  NGLeadingFloats leading_floats;
   NGLineLayoutOpportunity line_opportunity(available_width);
   NGLineBreaker line_breaker(target, NGLineBreakerMode::kContent, space,
-                             line_opportunity, leading_floats, 0u, break_token,
+                             line_opportunity, leading_floats, break_token,
                              /* column_spanner_path */ nullptr,
                              &exclusion_space);
   EXPECT_EQ(line_breaker.CanBreakInside(line_info_list[0]),
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_widths_test.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_widths_test.cc
index 2f5177f..07ae1e4 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_widths_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_widths_test.cc
@@ -8,6 +8,7 @@
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_child_layout_context.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.h"
+#include "third_party/blink/renderer/core/layout/ng/inline/ng_leading_floats.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h"
 #include "third_party/blink/renderer/core/testing/core_unit_test_helper.h"
@@ -37,8 +38,8 @@
                                       /*column_spanner_path*/ nullptr,
                                       &context);
     NGExclusionSpace exclusion_space(space.ExclusionSpace());
-    NGPositionedFloatVector leading_floats;
-    algorithm.PositionLeadingFloats(&exclusion_space, &leading_floats);
+    NGLeadingFloats leading_floats;
+    algorithm.PositionLeadingFloats(exclusion_space, leading_floats);
     const LayoutOpportunityVector& opportunities =
         exclusion_space.AllLayoutOpportunities(
             {space.BfcOffset().line_offset, /*bfc_block_offset*/ LayoutUnit()},
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_paragraph_line_breaker.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_paragraph_line_breaker.cc
index 6cca4493..6731244 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_paragraph_line_breaker.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_paragraph_line_breaker.cc
@@ -56,15 +56,14 @@
                     const NGInlineBreakToken* stop_at = nullptr) {
     DCHECK(lines_.empty());
     const NGLineLayoutOpportunity line_opportunity(available_width);
-    NGPositionedFloatVector leading_floats;
+    NGLeadingFloats leading_floats;
     NGExclusionSpace exclusion_space;
     NGLineInfo line_info;
     for (;;) {
-      NGLineBreaker line_breaker(
-          node_, NGLineBreakerMode::kContent, space_, line_opportunity,
-          leading_floats,
-          /* handled_leading_floats_index */ 0, break_token_,
-          /* column_spanner_path_ */ nullptr, &exclusion_space);
+      NGLineBreaker line_breaker(node_, NGLineBreakerMode::kContent, space_,
+                                 line_opportunity, leading_floats, break_token_,
+                                 /* column_spanner_path_ */ nullptr,
+                                 &exclusion_space);
       line_breaker.NextLine(&line_info);
       // Bisecting can't find the desired value if the paragraph has forced line
       // breaks.
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_score_line_breaker.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_score_line_breaker.cc
index 14556c5..09bdbf4 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_score_line_breaker.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_score_line_breaker.cc
@@ -36,11 +36,10 @@
 
   // Compute line breaks and cache the results (`NGLineInfo`) up to
   // `NGLineInfoList::kCapacity` lines.
-  NGPositionedFloatVector empty_leading_floats;
+  NGLeadingFloats empty_leading_floats;
   NGLineBreaker line_breaker(
       node_, NGLineBreakerMode::kContent, ConstraintSpace(), line_opportunity_,
-      empty_leading_floats,
-      /* handled_leading_floats_index */ 0u, break_token_,
+      empty_leading_floats, break_token_,
       /* column_spanner_path */ nullptr, exclusion_space_);
   const int lines_until_clamp = space_.LinesUntilClamp().value_or(0);
   for (;;) {
diff --git a/third_party/blink/renderer/core/style/computed_style.cc b/third_party/blink/renderer/core/style/computed_style.cc
index a0d9af6a..89e7c46 100644
--- a/third_party/blink/renderer/core/style/computed_style.cc
+++ b/third_party/blink/renderer/core/style/computed_style.cc
@@ -1569,25 +1569,10 @@
     return;
   }
 
-  const LengthPoint& anchor = OffsetAnchor();
   const LengthPoint& position = OffsetPosition();
   const StyleOffsetRotation& rotate = OffsetRotate();
   CoordBox coord_box = offset_path->GetCoordBox();
 
-  float origin_shift_x = 0;
-  float origin_shift_y = 0;
-  // If the offset-position and offset-anchor properties are not yet enabled,
-  // they will have the default value, auto.
-  gfx::PointF anchor_point(origin_x, origin_y);
-  if (!anchor.X().IsAuto()) {
-    anchor_point = PointForLengthPoint(anchor, bounding_box.size());
-    anchor_point += bounding_box.OffsetFromOrigin();
-
-    // Shift the origin from transform-origin to offset-anchor.
-    origin_shift_x = anchor_point.x() - origin_x;
-    origin_shift_y = anchor_point.y() - origin_y;
-  }
-
   PointAndTangent path_position;
   if (const auto* shape_operation =
           DynamicTo<ShapeOffsetPathOperation>(offset_path)) {
@@ -1693,14 +1678,19 @@
     path_position.tangent_in_degrees = 0;
   }
 
-  transform.Translate(
-      path_position.point.x() - anchor_point.x() + origin_shift_x,
-      path_position.point.y() - anchor_point.y() + origin_shift_y);
+  transform.Translate(path_position.point.x() - origin_x,
+                      path_position.point.y() - origin_y);
   transform.Rotate(path_position.tangent_in_degrees + rotate.angle);
 
+  const LengthPoint& anchor = OffsetAnchor();
   if (!anchor.X().IsAuto()) {
-    // Shift the origin back to transform-origin.
-    transform.Translate(-origin_shift_x, -origin_shift_y);
+    gfx::PointF anchor_point = PointForLengthPoint(anchor, bounding_box.size());
+    anchor_point += bounding_box.OffsetFromOrigin();
+
+    // Shift the origin back to transform-origin and then move it based on the
+    // anchor.
+    transform.Translate(origin_x - anchor_point.x(),
+                        origin_y - anchor_point.y());
   }
 }
 
diff --git a/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc b/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc
index 98e0334e..3b32b20 100644
--- a/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc
+++ b/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc
@@ -184,7 +184,7 @@
   }
   ScriptState::Scope scope(script_state);
   LocalFrame* frame = ToLocalFrameIfNotDetached(script_state->GetContext());
-  if (!frame || !frame->IsMainFrame()) {
+  if (!frame || !frame->IsOutermostMainFrame()) {
     return;
   }
   LocalDOMWindow* window = frame->DomWindow();
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
index 26dcc1c..76a0f2d 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -1085,6 +1085,11 @@
     InflateStrokeRect(bounds);
 
   if (path.IsLine()) {
+    if (UNLIKELY(paint_type == CanvasRenderingContext2DState::kFillPaintType)) {
+      // Filling a line is a no-op.
+      // Also, SKCanvas::drawLine() ignores paint type and always strokes.
+      return;
+    }
     auto line = path.line();
     Draw<OverdrawOp::kNone>(
         [line](cc::PaintCanvas* c,
diff --git a/third_party/blink/renderer/modules/ml/webnn/ml_graph_test.cc b/third_party/blink/renderer/modules/ml/webnn/ml_graph_test.cc
index dfb486a..470f98a 100644
--- a/third_party/blink/renderer/modules/ml/webnn/ml_graph_test.cc
+++ b/third_party/blink/renderer/modules/ml/webnn/ml_graph_test.cc
@@ -200,6 +200,104 @@
 }
 
 template <typename T>
+struct ElementWiseUnaryTester {
+  ElementWiseUnaryKind kind;
+  OperandInfo<T> input;
+  Vector<T> expected;
+
+  void Test(MLGraphTest& helper, V8TestingScope& scope) {
+    // Build the graph.
+    auto* builder = CreateMLGraphBuilder(scope.GetExecutionContext());
+    auto* input_operand = BuildInput(builder, "input", input.dimensions,
+                                     input.type, scope.GetExceptionState());
+    MLOperand* output_operand = nullptr;
+    switch (kind) {
+      case ElementWiseUnaryKind::kAbs:
+        output_operand = builder->abs(input_operand, scope.GetExceptionState());
+        break;
+      case ElementWiseUnaryKind::kCeil:
+        output_operand =
+            builder->ceil(input_operand, scope.GetExceptionState());
+        break;
+      case ElementWiseUnaryKind::kFloor:
+        output_operand =
+            builder->floor(input_operand, scope.GetExceptionState());
+        break;
+      case ElementWiseUnaryKind::kNeg:
+        output_operand = builder->neg(input_operand, scope.GetExceptionState());
+        break;
+    }
+    auto [graph, build_exception] =
+        helper.BuildGraph(scope, builder, {{"output", output_operand}});
+    EXPECT_NE(graph, nullptr);
+
+    // Compute the graph.
+    MLNamedArrayBufferViews inputs(
+        {{"input",
+          CreateArrayBufferViewForOperand(input_operand, input.values)}});
+    MLNamedArrayBufferViews outputs(
+        {{"output", CreateArrayBufferViewForOperand(output_operand)}});
+    auto* compute_exception =
+        helper.ComputeGraph(scope, graph, inputs, outputs);
+    EXPECT_EQ(compute_exception, nullptr);
+    auto results = GetArrayBufferViewValues<T>(outputs[0].second);
+    EXPECT_EQ(results, expected);
+  }
+};
+
+TEST_P(MLGraphTest, ElementWiseUnaryTest) {
+  V8TestingScope scope;
+  {
+    // Test element-wise abs operator for a 1-D tensor.
+    // The expected results should be the absolute value of the input tensor,
+    // element-wise.
+    ElementWiseUnaryTester<float>{
+        .kind = ElementWiseUnaryKind::kAbs,
+        .input = {.type = V8MLOperandType::Enum::kFloat32,
+                  .dimensions = {2},
+                  .values = {-1.0, -2.0}},
+        .expected = {1.0, 2.0}}
+        .Test(*this, scope);
+  }
+  {
+    // Test element-wise ceil operator for a 2-D tensor.
+    // The expected results should be the ceiling of the input tensor,
+    // element-wise.
+    ElementWiseUnaryTester<float>{
+        .kind = ElementWiseUnaryKind::kCeil,
+        .input = {.type = V8MLOperandType::Enum::kFloat32,
+                  .dimensions = {1, 2},
+                  .values = {1.1, -2.2}},
+        .expected = {2.0, -2.0}}
+        .Test(*this, scope);
+  }
+  {
+    // Test element-wise floor operator for a 3-D tensor.
+    // The expected results should be the floor of the input tensor,
+    // element-wise.
+    ElementWiseUnaryTester<float>{
+        .kind = ElementWiseUnaryKind::kFloor,
+        .input = {.type = V8MLOperandType::Enum::kFloat32,
+                  .dimensions = {1, 2, 2},
+                  .values = {1.1, -2.2, 3.3, -4.4}},
+        .expected = {1.0, -3.0, 3.0, -5.0}}
+        .Test(*this, scope);
+  }
+  {
+    // Test element-wise neg operator for a 4-D tensor.
+    // The expected results should be the numerical negative value of the input
+    // tensor, element-wise.
+    ElementWiseUnaryTester<float>{
+        .kind = ElementWiseUnaryKind::kNeg,
+        .input = {.type = V8MLOperandType::Enum::kFloat32,
+                  .dimensions = {1, 2, 2, 1},
+                  .values = {1.0, -2.0, 3.0, -4.0}},
+        .expected = {-1.0, 2.0, -3.0, 4.0}}
+        .Test(*this, scope);
+  }
+}
+
+template <typename T>
 struct PReluTester {
   OperandInfo<T> input;
   OperandInfo<T> slope;
diff --git a/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc b/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc
index f3af8f29..4640108 100644
--- a/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc
+++ b/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc
@@ -960,6 +960,43 @@
   return xnn_status_success;
 }
 
+xnn_status DefineXnnNodeForElementWiseUnary(
+    xnn_subgraph_t subgraph,
+    const MLOperator* unary,
+    const OperandValueIdMap& operand_value_id_map,
+    String& error_message) {
+  const uint32_t input_id =
+      GetOperatorInputValueId(unary, operand_value_id_map);
+  const uint32_t output_id =
+      GetOperatorOutputValueId(unary, operand_value_id_map);
+  const uint32_t flags = 0;
+  switch (unary->Kind()) {
+    case MLOperator::OperatorKind::kAbs: {
+      XNN_CHECK_STATUS_AND_SET_ERROR_MESSAGE(
+          xnn_define_abs(subgraph, input_id, output_id, flags));
+      break;
+    }
+    case MLOperator::OperatorKind::kCeil: {
+      XNN_CHECK_STATUS_AND_SET_ERROR_MESSAGE(
+          xnn_define_ceiling(subgraph, input_id, output_id, flags));
+      break;
+    }
+    case MLOperator::OperatorKind::kFloor: {
+      XNN_CHECK_STATUS_AND_SET_ERROR_MESSAGE(
+          xnn_define_floor(subgraph, input_id, output_id, flags));
+      break;
+    }
+    case MLOperator::OperatorKind::kNeg: {
+      XNN_CHECK_STATUS_AND_SET_ERROR_MESSAGE(
+          xnn_define_negate(subgraph, input_id, output_id, flags));
+      break;
+    }
+    default:
+      NOTREACHED_NORETURN() << "Unsupported element-wise unary operator.";
+  }
+  return xnn_status_success;
+}
+
 xnn_status DefineXnnNodeForElu(xnn_subgraph_t subgraph,
                                const MLOperator* elu,
                                const OperandValueIdMap& operand_value_id_map,
@@ -1521,6 +1558,15 @@
           subgraph, ml_operator, operand_value_id_map, error_message));
       break;
     }
+    // Define XNNPACK Node for element-wise unary operators.
+    case MLOperator::OperatorKind::kAbs:
+    case MLOperator::OperatorKind::kCeil:
+    case MLOperator::OperatorKind::kFloor:
+    case MLOperator::OperatorKind::kNeg: {
+      XNN_CHECK_STATUS(DefineXnnNodeForElementWiseUnary(
+          subgraph, ml_operator, operand_value_id_map, error_message));
+      break;
+    }
     case MLOperator::OperatorKind::kElu:
       XNN_CHECK_STATUS(DefineXnnNodeForElu(
           subgraph, ml_operator, operand_value_id_map, error_message));
diff --git a/third_party/blink/renderer/platform/fonts/font_custom_platform_data.cc b/third_party/blink/renderer/platform/fonts/font_custom_platform_data.cc
index 2b240be..dd36201 100644
--- a/third_party/blink/renderer/platform/fonts/font_custom_platform_data.cc
+++ b/third_party/blink/renderer/platform/fonts/font_custom_platform_data.cc
@@ -44,6 +44,7 @@
 #include "third_party/blink/renderer/platform/fonts/web_font_typeface_factory.h"
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/blink/renderer/platform/wtf/shared_buffer.h"
+#include "third_party/blink/renderer/platform/wtf/wtf_size_t.h"
 #include "third_party/skia/include/core/SkTypeface.h"
 
 namespace {
@@ -73,6 +74,18 @@
   return absl::nullopt;
 }
 
+std::unique_ptr<SkFontArguments::Palette::Override[]>
+ConvertPaletteOverridesToSkiaOverrides(
+    Vector<blink::FontPalette::FontPaletteOverride> color_overrides) {
+  auto sk_overrides = std::make_unique<SkFontArguments::Palette::Override[]>(
+      color_overrides.size());
+  for (wtf_size_t i = 0; i < color_overrides.size(); i++) {
+    SkColor sk_color = color_overrides[i].color.toSkColor4f().toSkColor();
+    sk_overrides[i] = {color_overrides[i].index, sk_color};
+  }
+  return sk_overrides;
+}
+
 }  // namespace
 
 namespace blink {
@@ -241,13 +254,13 @@
       palette_index = palette_interpolation.RetrievePaletteIndex(palette);
     }
 
+    std::unique_ptr<SkFontArguments::Palette::Override[]> sk_overrides;
     if (palette_index.has_value()) {
       sk_palette.index = *palette_index;
 
       if (color_overrides.size()) {
-        sk_palette.overrides =
-            reinterpret_cast<const SkFontArguments::Palette::Override*>(
-                color_overrides.data());
+        sk_overrides = ConvertPaletteOverridesToSkiaOverrides(color_overrides);
+        sk_palette.overrides = sk_overrides.get();
         sk_palette.overrideCount = color_overrides.size();
       }
 
diff --git a/third_party/blink/renderer/platform/fonts/font_palette.cc b/third_party/blink/renderer/platform/fonts/font_palette.cc
index 401d4ace..72d5cd8 100644
--- a/third_party/blink/renderer/platform/fonts/font_palette.cc
+++ b/third_party/blink/renderer/platform/fonts/font_palette.cc
@@ -12,19 +12,6 @@
 
 namespace blink {
 
-static_assert(sizeof(FontPalette::FontPaletteOverride) ==
-                      sizeof(SkFontArguments::Palette::Override) &&
-                  sizeof(FontPalette::FontPaletteOverride::index) ==
-                      sizeof(SkFontArguments::Palette::Override::index) &&
-                  sizeof(FontPalette::FontPaletteOverride::color) ==
-                      sizeof(SkFontArguments::Palette::Override::color) &&
-                  offsetof(FontPalette::FontPaletteOverride, index) ==
-                      offsetof(SkFontArguments::Palette::Override, index) &&
-                  offsetof(FontPalette::FontPaletteOverride, color) ==
-                      offsetof(SkFontArguments::Palette::Override, color),
-              "Struct FontPalette::FontPaletteOverride must match "
-              "SkFontArguments::Palette::Override.");
-
 unsigned FontPalette::GetHash() const {
   unsigned computed_hash = 0;
   WTF::AddIntToHash(computed_hash, palette_keyword_);
@@ -57,18 +44,26 @@
       return palette_values_name_.GetString();
     case kInterpolablePalette:
       DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
-      DCHECK(operation_.hasValue());
       StringBuilder builder;
-      builder.Append(operation_.ToString());
-      builder.Append("(");
-      builder.Append(start_->ToString());
-      if (operation_.type != kScalePalette) {
-        builder.Append(", ");
-        builder.Append(end_->ToString());
+      builder.Append("palette-mix(in ");
+      if (hue_interpolation_method_.has_value()) {
+        builder.Append(Color::SerializeInterpolationSpace(
+            color_interpolation_space_, *hue_interpolation_method_));
+      } else {
+        builder.Append(
+            Color::SerializeInterpolationSpace(color_interpolation_space_));
       }
-      if (operation_.type != kAddPalettes) {
-        builder.Append(", ");
-        builder.Append(String::Number(operation_.param));
+      builder.Append(", ");
+      builder.Append(start_->ToString());
+      builder.Append(", ");
+      builder.Append(end_->ToString());
+      if (percentage_) {
+        builder.Append(" ");
+        double normalize_percentage = percentage_ * 100;
+        builder.AppendNumber(normalize_percentage);
+        builder.Append("%");
+      } else {
+        builder.Append(" 50%");
       }
       builder.Append(")");
       return builder.ToString();
@@ -83,7 +78,10 @@
   if (IsInterpolablePalette() && other.IsInterpolablePalette()) {
     DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
     return *start_.get() == *other.start_.get() &&
-           *end_.get() == *other.end_.get() && operation_ == other.operation_;
+           *end_.get() == *other.end_.get() &&
+           percentage_ == other.percentage_ &&
+           color_interpolation_space_ == other.color_interpolation_space_ &&
+           hue_interpolation_method_ == other.hue_interpolation_method_;
   }
   return palette_keyword_ == other.palette_keyword_ &&
          palette_values_name_ == other.palette_values_name_ &&
diff --git a/third_party/blink/renderer/platform/fonts/font_palette.h b/third_party/blink/renderer/platform/fonts/font_palette.h
index dca33fa5..82fedb72 100644
--- a/third_party/blink/renderer/platform/fonts/font_palette.h
+++ b/third_party/blink/renderer/platform/fonts/font_palette.h
@@ -7,11 +7,11 @@
 
 #include <memory>
 #include "base/memory/scoped_refptr.h"
+#include "third_party/blink/renderer/platform/graphics/color.h"
 #include "third_party/blink/renderer/platform/platform_export.h"
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
 #include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"
-#include "third_party/skia/include/core/SkColor.h"
 
 namespace blink {
 
@@ -32,7 +32,7 @@
   // Data layout should match SkFontarguments::PaletteOverride::ColorOverride.
   struct FontPaletteOverride {
     int index;
-    SkColor color;
+    Color color;
 
     bool operator==(const FontPaletteOverride& other) const {
       return index == other.index && color == other.color;
@@ -58,48 +58,6 @@
     DISALLOW_NEW();
   };
 
-  enum InterpolablePaletteOperationType {
-    kNoInterpolation,
-    kMixPalettes,
-    kScalePalette,
-    kAddPalettes
-  };
-
-  // We introduce a mix-palette function to present interpolated font-palette
-  // values at each frame, i.e. font-palette property’s value at time 0.5
-  // between the palettes “--p1” and “--p2” will be presented as
-  // mix-palettes(--p1, –p2, 0.5). We also introduce palette-scale() and
-  // palette-add() functions for additive animations’ implementation. Function
-  // palette-add(--p1, --p2) adds colors under the same index from "--p1" and
-  // "--p2" pelettes' color records lists as it is currently done for
-  // interpolable color properties. Function palette-scale(--p) is scaling each
-  // color from the "--p" palette's color records list by the given scaling
-  // parameter.
-  struct InterpolablePaletteOperation {
-    InterpolablePaletteOperationType type;
-    double param = 0;
-
-    bool hasValue() const { return type != kNoInterpolation; }
-    String ToString() const {
-      switch (type) {
-        case kMixPalettes:
-          return "palette-mix";
-        case kScalePalette:
-          return "palette-scale";
-        case kAddPalettes:
-          return "palette-add";
-        case kNoInterpolation:
-          NOTREACHED();
-      }
-      NOTREACHED();
-      return "";
-    }
-    bool operator==(const InterpolablePaletteOperation& other) const {
-      return type == other.type && param == other.param;
-    }
-    DISALLOW_NEW();
-  };
-
   static scoped_refptr<FontPalette> Create() {
     return base::AdoptRef(new FontPalette());
   }
@@ -114,22 +72,19 @@
     return base::AdoptRef(new FontPalette(std::move(palette_values_name)));
   }
 
-  static scoped_refptr<FontPalette> Mix(scoped_refptr<FontPalette> start,
-                                        scoped_refptr<FontPalette> end,
-                                        double progress) {
-    return base::AdoptRef(
-        new FontPalette(start, end, {kMixPalettes, progress}));
-  }
-
-  static scoped_refptr<FontPalette> Add(scoped_refptr<FontPalette> start,
-                                        scoped_refptr<FontPalette> end) {
-    return base::AdoptRef(new FontPalette(start, end, {kAddPalettes, 0}));
-  }
-
-  static scoped_refptr<FontPalette> Scale(scoped_refptr<FontPalette> palette,
-                                          double scale) {
-    return base::AdoptRef(
-        new FontPalette(palette, palette, {kScalePalette, scale}));
+  // We introduce a mix-palette function to present interpolated font-palette
+  // values at each frame, i.e. font-palette property’s value at time 0.5
+  // between the palettes “--p1” and “--p2” will be presented as
+  // mix-palettes(--p1, –p2, 0.5).
+  static scoped_refptr<FontPalette> Mix(
+      scoped_refptr<FontPalette> start,
+      scoped_refptr<FontPalette> end,
+      double percentage,
+      Color::ColorSpace color_interpolation_space,
+      absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+    return base::AdoptRef(new FontPalette(start, end, percentage,
+                                          color_interpolation_space,
+                                          hue_interpolation_method));
   }
 
   void SetBasePalette(BasePaletteValue base_palette) {
@@ -170,21 +125,32 @@
   scoped_refptr<FontPalette> GetStart() const {
     DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
     DCHECK(IsInterpolablePalette());
-    DCHECK(operation_.hasValue());
     return start_;
   }
 
   scoped_refptr<FontPalette> GetEnd() const {
     DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
     DCHECK(IsInterpolablePalette());
-    DCHECK(operation_.hasValue());
     return end_;
   }
 
-  InterpolablePaletteOperation GetOperation() const {
+  double GetPercentage() const {
     DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
     DCHECK(IsInterpolablePalette());
-    return operation_;
+    return percentage_;
+  }
+
+  Color::ColorSpace GetColorInterpolationSpace() const {
+    DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
+    DCHECK(IsInterpolablePalette());
+    return color_interpolation_space_;
+  }
+
+  absl::optional<Color::HueInterpolationMethod> GetHueInterpolationMethod()
+      const {
+    DCHECK(RuntimeEnabledFeatures::FontPaletteAnimationEnabled());
+    DCHECK(IsInterpolablePalette());
+    return hue_interpolation_method_;
   }
 
   String ToString() const;
@@ -196,25 +162,25 @@
 
  private:
   explicit FontPalette(KeywordPaletteName palette_name)
-      : palette_keyword_(palette_name),
-        base_palette_({kNoBasePalette, 0}),
-        operation_({kNoInterpolation, 0}) {}
+      : palette_keyword_(palette_name), base_palette_({kNoBasePalette, 0}) {}
   explicit FontPalette(AtomicString palette_values_name)
       : palette_keyword_(kCustomPalette),
         palette_values_name_(palette_values_name),
-        base_palette_({kNoBasePalette, 0}),
-        operation_({kNoInterpolation, 0}) {}
-  FontPalette(scoped_refptr<FontPalette> start,
-              scoped_refptr<FontPalette> end,
-              InterpolablePaletteOperation operation)
+        base_palette_({kNoBasePalette, 0}) {}
+  FontPalette(
+      scoped_refptr<FontPalette> start,
+      scoped_refptr<FontPalette> end,
+      double percentage,
+      Color::ColorSpace color_interpoaltion_space,
+      absl::optional<Color::HueInterpolationMethod> hue_interpolation_method)
       : palette_keyword_(kInterpolablePalette),
         start_(start),
         end_(end),
-        operation_(operation) {}
+        percentage_(percentage),
+        color_interpolation_space_(color_interpoaltion_space),
+        hue_interpolation_method_(hue_interpolation_method) {}
   FontPalette()
-      : palette_keyword_(kNormalPalette),
-        base_palette_({kNoBasePalette, 0}),
-        operation_({kNoInterpolation, 0}) {}
+      : palette_keyword_(kNormalPalette), base_palette_({kNoBasePalette, 0}) {}
 
   KeywordPaletteName palette_keyword_;
   AtomicString palette_values_name_;
@@ -223,7 +189,9 @@
   Vector<FontPaletteOverride> palette_overrides_;
   scoped_refptr<FontPalette> start_;
   scoped_refptr<FontPalette> end_;
-  InterpolablePaletteOperation operation_;
+  double percentage_;
+  Color::ColorSpace color_interpolation_space_;
+  absl::optional<Color::HueInterpolationMethod> hue_interpolation_method_;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/fonts/font_palette_test.cc b/third_party/blink/renderer/platform/fonts/font_palette_test.cc
index 78179d3..8373bd1 100644
--- a/third_party/blink/renderer/platform/fonts/font_palette_test.cc
+++ b/third_party/blink/renderer/platform/fonts/font_palette_test.cc
@@ -26,70 +26,40 @@
   EXPECT_NE(a, b);
 }
 
+TEST(FontPaletteTest, MixPaletteValue) {
+  ScopedFontPaletteAnimationForTest scoped_feature(true);
+  scoped_refptr<FontPalette> palette =
+      FontPalette::Mix(FontPalette::Create(FontPalette::kLightPalette),
+                       FontPalette::Create(FontPalette::kDarkPalette), 0.7,
+                       Color::ColorSpace::kSRGB, absl::nullopt);
+  EXPECT_EQ("palette-mix(in srgb, light, dark 70%)", palette->ToString());
+}
+
 TEST(FontPaletteTest, NestedMixPaletteValue) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
   scoped_refptr<FontPalette> palette_start = FontPalette::Create();
   scoped_refptr<FontPalette> palette_end =
       FontPalette::Mix(FontPalette::Create(FontPalette::kLightPalette),
-                       FontPalette::Create(FontPalette::kDarkPalette), 0.3);
+                       FontPalette::Create(FontPalette::kDarkPalette), 0.3,
+                       Color::ColorSpace::kSRGB, absl::nullopt);
   scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.7);
-  EXPECT_EQ("palette-mix(normal, palette-mix(light, dark, 0.3), 0.7)",
-            palette->ToString());
-}
-
-TEST(FontPaletteTest, NestedMixAndScaledValue) {
-  ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette_start =
-      FontPalette::Scale(FontPalette::Create(FontPalette::kDarkPalette), 0.3);
-  scoped_refptr<FontPalette> palette_end =
-      FontPalette::Mix(FontPalette::Scale(FontPalette::Create(), 0.6),
-                       FontPalette::Create(FontPalette::kLightPalette), 0.3);
-  scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.7);
+      FontPalette::Mix(palette_start, palette_end, 0.7,
+                       Color::ColorSpace::kOklab, absl::nullopt);
   EXPECT_EQ(
-      "palette-mix(palette-scale(dark, 0.3), palette-mix(palette-scale(normal, "
-      "0.6), light, 0.3), 0.7)",
+      "palette-mix(in oklab, normal, palette-mix(in srgb, light, dark 30%) "
+      "70%)",
       palette->ToString());
 }
 
-TEST(FontPaletteTest, NestedAddAndScaleValue) {
+TEST(FontPaletteTest, InterpolablePalettesNotEqual) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
   scoped_refptr<FontPalette> palette1 =
-      FontPalette::Scale(FontPalette::Create(FontPalette::kLightPalette), 0.3);
-  scoped_refptr<FontPalette> palette2 =
       FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
-                       FontPalette::Create(FontPalette::kLightPalette), 0.1);
-  scoped_refptr<FontPalette> palette = FontPalette::Add(palette1, palette2);
-  EXPECT_EQ(
-      "palette-add(palette-scale(light, 0.3), palette-mix(dark, light, 0.1))",
-      palette->ToString());
-}
-
-TEST(FontPaletteTest, InterpolablePalettesWithSameOperationsNotEqual) {
-  ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette1 = FontPalette::Scale(
-      FontPalette::Add(
-          FontPalette::Create(FontPalette::kLightPalette),
-          FontPalette::Mix(FontPalette::Create(FontPalette::kLightPalette),
-                           FontPalette::Create(), 0.3)),
-      0.1);
-  scoped_refptr<FontPalette> palette2 = FontPalette::Scale(
-      FontPalette::Add(
-          FontPalette::Create(FontPalette::kLightPalette),
-          FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
-                           FontPalette::Create(), 0.3)),
-      0.1);
-  EXPECT_FALSE(*palette1.get() == *palette2.get());
-}
-
-TEST(FontPaletteTest, InterpolablePalettesWithDifferentOperationsNotEqual) {
-  ScopedFontPaletteAnimationForTest scoped_feature(true);
-  scoped_refptr<FontPalette> palette1 =
-      FontPalette::Scale(FontPalette::Create(FontPalette::kLightPalette), 0.1);
-  scoped_refptr<FontPalette> palette2 =
-      FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
-                       FontPalette::Create(), 0.3);
+                       FontPalette::Create(FontPalette::kLightPalette), 0.1,
+                       Color::ColorSpace::kOklab, absl::nullopt);
+  scoped_refptr<FontPalette> palette2 = FontPalette::Mix(
+      FontPalette::Create(FontPalette::kDarkPalette), FontPalette::Create(),
+      0.1, Color::ColorSpace::kOklab, absl::nullopt);
   EXPECT_FALSE(*palette1.get() == *palette2.get());
 }
 
@@ -98,7 +68,9 @@
   scoped_refptr<FontPalette> palette1 =
       FontPalette::Create(FontPalette::kDarkPalette);
   scoped_refptr<FontPalette> palette2 =
-      FontPalette::Scale(FontPalette::Create(FontPalette::kDarkPalette), 0.1);
+      FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
+                       FontPalette::Create(FontPalette::kLightPalette), 0.1,
+                       Color::ColorSpace::kSRGB, absl::nullopt);
   EXPECT_FALSE(*palette1.get() == *palette2.get());
 }
 
@@ -117,11 +89,12 @@
   ScopedFontPaletteAnimationForTest scoped_feature(true);
   scoped_refptr<FontPalette> palette1 =
       FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
-                       FontPalette::Create(FontPalette::kLightPalette), 0.1);
+                       FontPalette::Create(FontPalette::kLightPalette), 0.1,
+                       Color::ColorSpace::kOklab, absl::nullopt);
   scoped_refptr<FontPalette> palette2 =
       FontPalette::Mix(FontPalette::Create(FontPalette::kDarkPalette),
-                       FontPalette::Create(FontPalette::kLightPalette), 0.1);
-  scoped_refptr<FontPalette> palette = FontPalette::Add(palette1, palette2);
+                       FontPalette::Create(FontPalette::kLightPalette), 0.1,
+                       Color::ColorSpace::kOklab, absl::nullopt);
   EXPECT_TRUE(*palette1.get() == *palette2.get());
 }
 
diff --git a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc
index 0d53954d..a212202 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc
@@ -46,32 +46,32 @@
   return absl::nullopt;
 }
 
-Vector<SkColor> OpenTypeCpalLookup::RetrieveColorRecords(
+Vector<Color> OpenTypeCpalLookup::RetrieveColorRecords(
     sk_sp<SkTypeface> typeface,
     unsigned palette_index) {
   hb::unique_ptr<hb_face_t> face(HbFaceFromSkTypeface(typeface));
 
   if (!face) {
-    return Vector<SkColor>();
+    return Vector<Color>();
   }
 
   unsigned num_colors = hb_ot_color_palette_get_colors(
       face.get(), palette_index, 0, nullptr, nullptr);
   if (!num_colors) {
-    return Vector<SkColor>();
+    return Vector<Color>();
   }
 
   std::unique_ptr<hb_color_t[]> colors =
       std::make_unique<hb_color_t[]>(num_colors);
   if (!hb_ot_color_palette_get_colors(face.get(), palette_index, 0, &num_colors,
                                       colors.get())) {
-    return Vector<SkColor>();
+    return Vector<Color>();
   }
-  Vector<SkColor> color_records(num_colors);
+  Vector<Color> color_records(num_colors);
   for (unsigned i = 0; i < num_colors; i++) {
-    color_records[i] = SkColorSetARGB(
-        hb_color_get_alpha(colors[i]), hb_color_get_red(colors[i]),
-        hb_color_get_green(colors[i]), hb_color_get_blue(colors[i]));
+    color_records[i] =
+        Color(hb_color_get_red(colors[i]), hb_color_get_green(colors[i]),
+              hb_color_get_blue(colors[i]), hb_color_get_alpha(colors[i]));
   }
   return color_records;
 }
diff --git a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.h b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.h
index 0f0f123..81330865 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.h
+++ b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.h
@@ -6,9 +6,10 @@
 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_OPENTYPE_OPEN_TYPE_CPAL_LOOKUP_H_
 
 #include "third_party/abseil-cpp/absl/types/optional.h"
+#include "third_party/blink/renderer/platform/graphics/color.h"
 #include "third_party/blink/renderer/platform/platform_export.h"
 #include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/skia/include/core/SkColor.h"
+
 #include "third_party/skia/include/core/SkTypeface.h"
 
 namespace blink {
@@ -32,8 +33,8 @@
   /* Returns a sorted Vector of color records from the specified font palette.
    * The position in the returned vector matches the palette index in the font.
    */
-  static Vector<SkColor> RetrieveColorRecords(sk_sp<SkTypeface> typeface,
-                                              unsigned int palette_index);
+  static Vector<Color> RetrieveColorRecords(sk_sp<SkTypeface> typeface,
+                                            unsigned int palette_index);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup_test.cc b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup_test.cc
index c0cad5a..33bf636 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup_test.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup_test.cc
@@ -82,14 +82,14 @@
 }
 
 TEST_F(OpenTypeCpalLookupTest, RetrieveColorRecordsFromExistingPalette) {
-  Vector<SkColor> expected_color_records = {
-      SkColorSetARGB(255, 255, 255, 0),   SkColorSetARGB(255, 0, 0, 255),
-      SkColorSetARGB(255, 255, 0, 255),   SkColorSetARGB(255, 0, 255, 255),
-      SkColorSetARGB(255, 255, 255, 255), SkColorSetARGB(255, 0, 0, 0),
-      SkColorSetARGB(255, 255, 0, 0),     SkColorSetARGB(255, 0, 255, 0),
+  Vector<Color> expected_color_records = {
+      Color::FromRGBA(255, 255, 0, 255),   Color::FromRGBA(0, 0, 255, 255),
+      Color::FromRGBA(255, 0, 255, 255),   Color::FromRGBA(0, 255, 255, 255),
+      Color::FromRGBA(255, 255, 255, 255), Color::FromRGBA(0, 0, 0, 255),
+      Color::FromRGBA(255, 0, 0, 255),     Color::FromRGBA(0, 255, 0, 255),
   };
 
-  Vector<SkColor> actual_color_records =
+  Vector<Color> actual_color_records =
       OpenTypeCpalLookup::RetrieveColorRecords(colr_palette_typeface_, 3);
 
   EXPECT_EQ(expected_color_records, actual_color_records);
@@ -97,7 +97,7 @@
 
 TEST_F(OpenTypeCpalLookupTest, RetrieveColorRecordsFromNonExistingPalette) {
   // Palette at index 16 does not exist in the font should return empty Vector
-  Vector<SkColor> actual_color_records =
+  Vector<Color> actual_color_records =
       OpenTypeCpalLookup::RetrieveColorRecords(colr_palette_typeface_, 16);
 
   EXPECT_EQ(actual_color_records.size(), 0u);
diff --git a/third_party/blink/renderer/platform/fonts/palette_interpolation.cc b/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
index 5472bef4a..64b9144b 100644
--- a/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+++ b/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
@@ -9,64 +9,12 @@
 
 namespace blink {
 
-SkColor PaletteInterpolation::InterpolateSkColor(Color start_color,
-                                                 Color end_color,
-                                                 double progress) {
-  float alpha = ClampTo<double>(
-      start_color.Alpha() * (1 - progress) + end_color.Alpha() * progress, 0,
-      1);
-
-  const auto interpolate_param = [&start_color, &end_color, &alpha, &progress](
-                                     double start_param, double end_param) {
-    return (start_param * start_color.Alpha() * (1 - progress) +
-            end_param * end_color.Alpha() * progress) /
-           alpha;
-  };
-
-  float param0 = interpolate_param(start_color.Param0(), end_color.Param0());
-  float param1 = interpolate_param(start_color.Param1(), end_color.Param1());
-  float param2 = interpolate_param(start_color.Param2(), end_color.Param2());
-
-  Color result_color = Color::FromColorSpace(Color::ColorSpace::kOklab, param0,
-                                             param1, param2, alpha);
-  return result_color.toSkColor4f().toSkColor();
-}
-
-SkColor PaletteInterpolation::AddSkColors(Color start_color, Color end_color) {
-  float alpha = ClampTo<double>(start_color.Alpha() + end_color.Alpha(), 0, 1);
-
-  const auto add_params = [&start_color, &end_color, &alpha](double start_param,
-                                                             double end_param) {
-    return (start_param * start_color.Alpha() + end_param * end_color.Alpha()) /
-           alpha;
-  };
-
-  float param0 = add_params(start_color.Param0(), end_color.Param0());
-  float param1 = add_params(start_color.Param1(), end_color.Param1());
-  float param2 = add_params(start_color.Param2(), end_color.Param2());
-
-  Color result_color = Color::FromColorSpace(Color::ColorSpace::kOklab, param0,
-                                             param1, param2, alpha);
-  return result_color.toSkColor4f().toSkColor();
-}
-
-SkColor PaletteInterpolation::ScaleSkColor(Color color, double scale) {
-  float alpha = ClampTo<double>(color.Alpha() * scale, 0, 1);
-
-  float param0 = color.Param0() * scale;
-  float param1 = color.Param1() * scale;
-  float param2 = color.Param2() * scale;
-
-  Color result_color = Color::FromColorSpace(Color::ColorSpace::kOklab, param0,
-                                             param1, param2, alpha);
-  return result_color.toSkColor4f().toSkColor();
-}
-
-Vector<FontPalette::FontPaletteOverride>
-PaletteInterpolation::ApplyOperationToColorRecords(
+Vector<FontPalette::FontPaletteOverride> PaletteInterpolation::MixColorRecords(
     Vector<FontPalette::FontPaletteOverride>&& start_color_records,
     Vector<FontPalette::FontPaletteOverride>&& end_color_records,
-    FontPalette::InterpolablePaletteOperation operation) {
+    double percentage,
+    Color::ColorSpace color_interpolation_space,
+    absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
   Vector<FontPalette::FontPaletteOverride> result_color_records;
 
   DCHECK_EQ(start_color_records.size(), end_color_records.size());
@@ -74,29 +22,15 @@
   wtf_size_t color_records_cnt = start_color_records.size();
   for (wtf_size_t i = 0; i < color_records_cnt; i++) {
     DCHECK_EQ(start_color_records[i].index, end_color_records[i].index);
-    SkColor result_color = 0;
 
-    // Since there is no way for user to specify which color space should be
-    // used for interpolation, it defaults to Oklab.
-    // https://www.w3.org/TR/css-color-4/#interpolation-space
-    Color start_color = Color::FromSkColor(start_color_records[i].color);
-    start_color.ConvertToColorSpace(Color::ColorSpace::kOklab);
-    Color end_color = Color::FromSkColor(end_color_records[i].color);
-    end_color.ConvertToColorSpace(Color::ColorSpace::kOklab);
-    switch (operation.type) {
-      case FontPalette::kMixPalettes:
-        result_color =
-            InterpolateSkColor(start_color, end_color, operation.param);
-        break;
-      case FontPalette::kAddPalettes:
-        result_color = AddSkColors(start_color, end_color);
-        break;
-      case FontPalette::kScalePalette:
-        result_color = ScaleSkColor(start_color, operation.param);
-        break;
-      case FontPalette::kNoInterpolation:
-        NOTREACHED();
-    }
+    Color start_color = start_color_records[i].color;
+    start_color.ConvertToColorSpace(color_interpolation_space);
+    Color end_color = end_color_records[i].color;
+    end_color.ConvertToColorSpace(color_interpolation_space);
+
+    Color result_color = Color::InterpolateColors(
+        color_interpolation_space, hue_interpolation_method, start_color,
+        end_color, percentage);
 
     FontPalette::FontPaletteOverride result_color_record(i, result_color);
     result_color_records.push_back(result_color_record);
@@ -143,7 +77,7 @@
 Vector<FontPalette::FontPaletteOverride>
 PaletteInterpolation::RetrieveColorRecords(const FontPalette* palette,
                                            unsigned int palette_index) const {
-  Vector<SkColor> colors =
+  Vector<Color> colors =
       OpenTypeCpalLookup::RetrieveColorRecords(typeface_, palette_index);
 
   wtf_size_t colors_size = colors.size();
@@ -178,13 +112,12 @@
   Vector<FontPalette::FontPaletteOverride> start_color_records =
       ComputeInterpolableFontPalette(palette->GetStart().get());
   Vector<FontPalette::FontPaletteOverride> end_color_records =
-      (palette->GetOperation().type != FontPalette::kScalePalette)
-          ? ComputeInterpolableFontPalette(palette->GetEnd().get())
-          : start_color_records;
+      ComputeInterpolableFontPalette(palette->GetEnd().get());
   Vector<FontPalette::FontPaletteOverride> result_color_records =
-      ApplyOperationToColorRecords(std::move(start_color_records),
-                                   std::move(end_color_records),
-                                   palette->GetOperation());
+      MixColorRecords(std::move(start_color_records),
+                      std::move(end_color_records), palette->GetPercentage(),
+                      palette->GetColorInterpolationSpace(),
+                      palette->GetHueInterpolationMethod());
   return result_color_records;
 }
 
diff --git a/third_party/blink/renderer/platform/fonts/palette_interpolation.h b/third_party/blink/renderer/platform/fonts/palette_interpolation.h
index 4963510..bb7a8d3 100644
--- a/third_party/blink/renderer/platform/fonts/palette_interpolation.h
+++ b/third_party/blink/renderer/platform/fonts/palette_interpolation.h
@@ -27,15 +27,12 @@
   Vector<FontPalette::FontPaletteOverride> RetrieveColorRecords(
       const FontPalette* palette,
       unsigned int palette_index) const;
-  static Vector<FontPalette::FontPaletteOverride> ApplyOperationToColorRecords(
+  static Vector<FontPalette::FontPaletteOverride> MixColorRecords(
       Vector<FontPalette::FontPaletteOverride>&& start_color_records,
       Vector<FontPalette::FontPaletteOverride>&& end_color_records,
-      FontPalette::InterpolablePaletteOperation operation);
-  static SkColor ScaleSkColor(Color color, double scale);
-  static SkColor AddSkColors(Color start_color, Color end_color);
-  static SkColor InterpolateSkColor(Color start_color,
-                                    Color end_color,
-                                    double progress);
+      double percentage,
+      Color::ColorSpace color_interpolation_space,
+      absl::optional<Color::HueInterpolationMethod> hue_interpolation_method);
   sk_sp<SkTypeface> typeface_;
 };
 
diff --git a/third_party/blink/renderer/platform/fonts/palette_interpolation_test.cc b/third_party/blink/renderer/platform/fonts/palette_interpolation_test.cc
index 0bc0741..a32cb68 100644
--- a/third_party/blink/renderer/platform/fonts/palette_interpolation_test.cc
+++ b/third_party/blink/renderer/platform/fonts/palette_interpolation_test.cc
@@ -9,10 +9,12 @@
 #include "base/test/task_environment.h"
 #include "third_party/blink/public/platform/file_path_conversion.h"
 #include "third_party/blink/renderer/platform/fonts/font.h"
+#include "third_party/blink/renderer/platform/graphics/color.h"
 #include "third_party/blink/renderer/platform/testing/font_test_base.h"
 #include "third_party/blink/renderer/platform/testing/font_test_helpers.h"
 #include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
 #include "third_party/blink/renderer/platform/testing/unit_test_helpers.h"
+#include "third_party/blink/renderer/platform/wtf/wtf_size_t.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
 #include "third_party/skia/include/core/SkTypeface.h"
 
@@ -20,16 +22,20 @@
 #include <vector>
 
 namespace {
-String pathToColrPalettesTestFont() {
+
+constexpr double kMaxAlphaDifference = 0.01;
+
+String pathToColorPalettesTestFont() {
   base::FilePath wpt_palette_font_path(
       blink::StringToFilePath(blink::test::BlinkWebTestsDir()));
   wpt_palette_font_path = wpt_palette_font_path.Append(FILE_PATH_LITERAL(
       "external/wpt/css/css-fonts/resources/COLR-palettes-test-font.ttf"));
   return blink::FilePathToString(wpt_palette_font_path);
 }
-String pathToNonColrTestFont() {
+String pathToNonColorTestFont() {
   return blink::test::BlinkWebTestsFontsTestDataPath("Ahem.ttf");
 }
+
 }  // namespace
 
 namespace blink {
@@ -39,23 +45,39 @@
   void SetUp() override {
     FontDescription::VariantLigatures ligatures;
 
-    Font colr_palette_font = blink::test::CreateTestFont(
-        "Ahem", pathToColrPalettesTestFont(), 16, &ligatures);
-    colr_palette_typeface_ =
-        sk_ref_sp(colr_palette_font.PrimaryFont()->PlatformData().Typeface());
+    Font color_palette_font = blink::test::CreateTestFont(
+        "Ahem", pathToColorPalettesTestFont(), 16, &ligatures);
+    color_palette_typeface_ =
+        sk_ref_sp(color_palette_font.PrimaryFont()->PlatformData().Typeface());
 
-    Font non_colr_font = blink::test::CreateTestFont(
-        "Ahem", pathToNonColrTestFont(), 16, &ligatures);
-    non_colr_ahem_typeface_ =
-        sk_ref_sp(non_colr_font.PrimaryFont()->PlatformData().Typeface());
+    Font non_color_font = blink::test::CreateTestFont(
+        "Ahem", pathToNonColorTestFont(), 16, &ligatures);
+    non_color_ahem_typeface_ =
+        sk_ref_sp(non_color_font.PrimaryFont()->PlatformData().Typeface());
   }
 
-  sk_sp<SkTypeface> colr_palette_typeface_;
-  sk_sp<SkTypeface> non_colr_ahem_typeface_;
+  void ExpectColorsEqualInSRGB(
+      Vector<FontPalette::FontPaletteOverride> overrides1,
+      Vector<FontPalette::FontPaletteOverride> overrides2) {
+    EXPECT_EQ(overrides1.size(), overrides2.size());
+    for (wtf_size_t i = 0; i < overrides1.size(); i++) {
+      EXPECT_EQ(overrides1[i].index, overrides2[i].index);
+      Color color1 = overrides1[i].color;
+      Color color2 = overrides2[i].color;
+      EXPECT_EQ(DifferenceSquared(color1, color2), 0);
+      // Due to the conversion from oklab to SRGB we should use epsilon
+      // comparison.
+      EXPECT_TRUE(std::fabs(color1.Alpha() - color2.Alpha()) <
+                  kMaxAlphaDifference);
+    }
+  }
+
+  sk_sp<SkTypeface> color_palette_typeface_;
+  sk_sp<SkTypeface> non_color_ahem_typeface_;
 };
 
 TEST_F(PaletteInterpolationTest, RetrievePaletteIndexFromColorFont) {
-  PaletteInterpolation palette_interpolation(colr_palette_typeface_);
+  PaletteInterpolation palette_interpolation(color_palette_typeface_);
   scoped_refptr<FontPalette> palette =
       FontPalette::Create(FontPalette::kDarkPalette);
   absl::optional<uint16_t> index =
@@ -65,7 +87,7 @@
 }
 
 TEST_F(PaletteInterpolationTest, RetrievePaletteIndexFromNonColorFont) {
-  PaletteInterpolation palette_interpolation(non_colr_ahem_typeface_);
+  PaletteInterpolation palette_interpolation(non_color_ahem_typeface_);
   scoped_refptr<FontPalette> palette =
       FontPalette::Create(FontPalette::kLightPalette);
   absl::optional<uint16_t> index =
@@ -75,7 +97,7 @@
 
 TEST_F(PaletteInterpolationTest, MixCustomPalettesAtHalfTime) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  PaletteInterpolation palette_interpolation(colr_palette_typeface_);
+  PaletteInterpolation palette_interpolation(color_palette_typeface_);
   scoped_refptr<FontPalette> palette_start = FontPalette::Create("palette1");
   palette_start->SetBasePalette({FontPalette::kIndexBasePalette, 3});
   // palette_start has the following list of color records:
@@ -101,28 +123,29 @@
   //   rgba(0, 255, 255, 255) = oklab(90.5%, -37.25%, -9.75%) }
 
   scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.5);
+      FontPalette::Mix(palette_start, palette_end, 0.5,
+                       Color::ColorSpace::kOklab, absl::nullopt);
   Vector<FontPalette::FontPaletteOverride> actual_color_records =
       palette_interpolation.ComputeInterpolableFontPalette(palette.get());
   // We expect each color to be half-way between palette_start and palette_end
   // after interpolation in the Oklab interpolation color space and conversion
   // back to sRGB.
   Vector<FontPalette::FontPaletteOverride> expected_color_records = {
-      {0, SkColorSetARGB(255, 254, 255, 172)},
-      {1, SkColorSetARGB(255, 0, 0, 99)},
-      {2, SkColorSetARGB(255, 253, 45, 155)},
-      {3, SkColorSetARGB(255, 0, 255, 169)},
-      {4, SkColorSetARGB(255, 254, 255, 172)},
-      {5, SkColorSetARGB(255, 0, 0, 99)},
-      {6, SkColorSetARGB(255, 253, 45, 155)},
-      {7, SkColorSetARGB(255, 0, 255, 169)},
+      {0, Color::FromRGBA(254, 255, 172, 255)},
+      {1, Color::FromRGBA(0, 0, 99, 255)},
+      {2, Color::FromRGBA(253, 45, 155, 255)},
+      {3, Color::FromRGBA(0, 255, 169, 255)},
+      {4, Color::FromRGBA(254, 255, 172, 255)},
+      {5, Color::FromRGBA(0, 0, 99, 255)},
+      {6, Color::FromRGBA(253, 45, 155, 255)},
+      {7, Color::FromRGBA(0, 255, 169, 255)},
   };
-  EXPECT_EQ(expected_color_records, actual_color_records);
+  ExpectColorsEqualInSRGB(actual_color_records, expected_color_records);
 }
 
 TEST_F(PaletteInterpolationTest, MixCustomAndNonExistingPalettes) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  PaletteInterpolation palette_interpolation(colr_palette_typeface_);
+  PaletteInterpolation palette_interpolation(color_palette_typeface_);
   scoped_refptr<FontPalette> palette_start = FontPalette::Create("palette1");
   palette_start->SetBasePalette({FontPalette::kIndexBasePalette, 3});
   // palette_start has the following list of color records:
@@ -136,6 +159,7 @@
   //   rgba(0, 255, 0, 255) = oklab(86.6%, -58.5%, 44.75%) }
 
   scoped_refptr<FontPalette> palette_end = FontPalette::Create("palette2");
+  palette_end->SetBasePalette({FontPalette::kIndexBasePalette, 16});
   // Palette under index 16 does not exist, so instead normal palette is used.
   // Normal palette has the following list of color records:
   // { rgba(0, 0, 0, 255) = oklab(0%, 0%, 0%),
@@ -146,31 +170,31 @@
   //   rgba(255, 0, 255, 255) = oklab(70.2%, 68.75%, -42.25%),
   //   rgba(0, 255, 255, 255) = oklab(90.5%, -37.25%, -9.75%),
   //   rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%) }
-  palette_end->SetBasePalette({FontPalette::kIndexBasePalette, 16});
 
   scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.5);
+      FontPalette::Mix(palette_start, palette_end, 0.5,
+                       Color::ColorSpace::kOklab, absl::nullopt);
   Vector<FontPalette::FontPaletteOverride> actual_color_records =
       palette_interpolation.ComputeInterpolableFontPalette(palette.get());
   // We expect each color to be half-way between palette_start and normal
   // palette after interpolation in the Oklab interpolation color space and
   // conversion back to sRGB.
   Vector<FontPalette::FontPaletteOverride> expected_color_records = {
-      {0, SkColorSetARGB(255, 99, 99, 0)},
-      {1, SkColorSetARGB(255, 140, 83, 162)},
-      {2, SkColorSetARGB(255, 198, 180, 180)},
-      {3, SkColorSetARGB(255, 176, 255, 176)},
-      {4, SkColorSetARGB(255, 116, 163, 255)},
-      {5, SkColorSetARGB(255, 99, 0, 99)},
-      {6, SkColorSetARGB(255, 210, 169, 148)},
-      {7, SkColorSetARGB(255, 173, 255, 166)},
+      {0, Color::FromRGBA(99, 99, 0, 255)},
+      {1, Color::FromRGBA(140, 83, 162, 255)},
+      {2, Color::FromRGBA(198, 180, 180, 255)},
+      {3, Color::FromRGBA(176, 255, 176, 255)},
+      {4, Color::FromRGBA(116, 163, 255, 255)},
+      {5, Color::FromRGBA(99, 0, 99, 255)},
+      {6, Color::FromRGBA(210, 169, 148, 255)},
+      {7, Color::FromRGBA(173, 255, 166, 255)},
   };
-  EXPECT_EQ(expected_color_records, actual_color_records);
+  ExpectColorsEqualInSRGB(actual_color_records, expected_color_records);
 }
 
 TEST_F(PaletteInterpolationTest, MixNonExistingPalettes) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  PaletteInterpolation palette_interpolation(colr_palette_typeface_);
+  PaletteInterpolation palette_interpolation(color_palette_typeface_);
   scoped_refptr<FontPalette> palette_start = FontPalette::Create("palette1");
   // Palette under index 16 does not exist, so instead normal palette is used.
   palette_start->SetBasePalette({FontPalette::kIndexBasePalette, 16});
@@ -180,75 +204,28 @@
   palette_end->SetBasePalette({FontPalette::kIndexBasePalette, 17});
 
   scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.5);
+      FontPalette::Mix(palette_start, palette_end, 0.5,
+                       Color::ColorSpace::kOklab, absl::nullopt);
   Vector<FontPalette::FontPaletteOverride> actual_color_records =
       palette_interpolation.ComputeInterpolableFontPalette(palette.get());
   // Since both of the endpoints are equal and have color records from normal
   // palette, we expect each colors from the normal palette in the result list.
   Vector<FontPalette::FontPaletteOverride> expected_color_records = {
-      {0, SkColorSetARGB(255, 0, 0, 0)},
-      {1, SkColorSetARGB(255, 255, 0, 0)},
-      {2, SkColorSetARGB(255, 0, 255, 0)},
-      {3, SkColorSetARGB(255, 255, 255, 0)},
-      {4, SkColorSetARGB(255, 0, 0, 255)},
-      {5, SkColorSetARGB(255, 255, 0, 255)},
-      {6, SkColorSetARGB(255, 0, 255, 255)},
-      {7, SkColorSetARGB(255, 255, 255, 255)},
+      {0, Color::FromRGBA(0, 0, 0, 255)},
+      {1, Color::FromRGBA(255, 0, 0, 255)},
+      {2, Color::FromRGBA(0, 255, 0, 255)},
+      {3, Color::FromRGBA(255, 255, 0, 255)},
+      {4, Color::FromRGBA(0, 0, 255, 255)},
+      {5, Color::FromRGBA(255, 0, 255, 255)},
+      {6, Color::FromRGBA(0, 255, 255, 255)},
+      {7, Color::FromRGBA(255, 255, 255, 255)},
   };
-  EXPECT_EQ(expected_color_records, actual_color_records);
+  ExpectColorsEqualInSRGB(actual_color_records, expected_color_records);
 }
 
-TEST_F(PaletteInterpolationTest, MixScaledAndAddedPalettes) {
+TEST_F(PaletteInterpolationTest, MixCustomPalettesInOklab) {
   ScopedFontPaletteAnimationForTest scoped_feature(true);
-  PaletteInterpolation palette_interpolation(colr_palette_typeface_);
-  scoped_refptr<FontPalette> palette_start =
-      FontPalette::Add(FontPalette::Create(FontPalette::kDarkPalette),
-                       FontPalette::Create(FontPalette::kLightPalette));
-  // palette_start has the following list of color records:
-  // { rgba(255, 255, 0, 255) = oklab(96.8%, -17.75%, 49.75%),
-  //   rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%),
-  //   rgba(255, 0, 255, 255) = oklab(70.2%, 68.75%, -42.25%),
-  //   rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%),
-  //   rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%),
-  //   rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%),
-  //   rgba(255, 0, 0, 255) = oklab(62.8%, 56.25%, 31.5%),
-  //   rgba(255, 0, 0, 255) = oklab(62.8%, 56.25%, 31.5%) }
-
-  scoped_refptr<FontPalette> palette_end =
-      FontPalette::Scale(FontPalette::Create(), 0.1);
-  // palette_end has the following list of color records:
-  // { rgba(0, 0, 0, 26) = oklab(0%, 0%, 0% / 0.1),
-  //   rgba(26, 0, 0, 26) = oklab(62.8%, 56.25%, 31.5% / 0.1),
-  //   rgba(0, 26, 0, 26) = oklab(86.6%, -58.5%, 44.75% / 0.1),
-  //   rgba(26, 26, 0, 26) = oklab(96.8%, -17.75%, 49.75% / 0.1),
-  //   rgba(0, 0, 26, 26) = oklab(45.2%, -8%, -78% / 0.1),
-  //   rgba(26, 0, 26, 26) = oklab(70.2%, 68.75%, -42.25% / 0.1),
-  //   rgba(0, 26, 26, 26) = oklab(90.5%, -37.25%, -9.75% / 0.1),
-  //   rgba(26, 26, 26, 26) = oklab(100%, 0%, 0% / 0.1) }
-
-  scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.5);
-  Vector<FontPalette::FontPaletteOverride> actual_color_records =
-      palette_interpolation.ComputeInterpolableFontPalette(palette.get());
-  // We expect each color to be half-way between palette_start and palette_end
-  // after interpolation in the Oklab interpolation color space and conversion
-  // back to sRGB.
-  Vector<FontPalette::FontPaletteOverride> expected_color_records = {
-      {0, SkColorSetARGB(141, 122, 224, 0)},
-      {1, SkColorSetARGB(141, 111, 226, 225)},
-      {2, SkColorSetARGB(141, 226, 36, 226)},
-      {3, SkColorSetARGB(141, 227, 187, 226)},
-      {4, SkColorSetARGB(141, 72, 226, 227)},
-      {5, SkColorSetARGB(141, 228, 226, 227)},
-      {6, SkColorSetARGB(141, 227, 15, 7)},
-      {7, SkColorSetARGB(141, 227, 214, 15)},
-  };
-  EXPECT_EQ(expected_color_records, actual_color_records);
-}
-
-TEST_F(PaletteInterpolationTest, MixCustomPalettes) {
-  ScopedFontPaletteAnimationForTest scoped_feature(true);
-  PaletteInterpolation palette_interpolation(colr_palette_typeface_);
+  PaletteInterpolation palette_interpolation(color_palette_typeface_);
   scoped_refptr<FontPalette> palette_start = FontPalette::Create("palette1");
   palette_start->SetBasePalette({FontPalette::kIndexBasePalette, 3});
   // palette_start has the following list of color records:
@@ -274,23 +251,70 @@
   //   rgba(0, 255, 255, 255) = oklab(90.5%, -37.25%, -9.75%) }
 
   scoped_refptr<FontPalette> palette =
-      FontPalette::Mix(palette_start, palette_end, 0.3);
+      FontPalette::Mix(palette_start, palette_end, 0.3,
+                       Color::ColorSpace::kOklab, absl::nullopt);
+  Vector<FontPalette::FontPaletteOverride> actual_color_records =
+      palette_interpolation.ComputeInterpolableFontPalette(palette.get());
+  // We expect each color to be equal palette_start * 0.7 + palette_end * 0.3
+  // after interpolation in the sRGB interpolation color space.
+  Vector<FontPalette::FontPaletteOverride> expected_color_records = {
+      {0, Color::FromRGBA(254, 255, 131, 255)},
+      {1, Color::FromRGBA(0, 0, 158, 255)},
+      {2, Color::FromRGBA(254, 42, 196, 255)},
+      {3, Color::FromRGBA(0, 255, 205, 255)},
+      {4, Color::FromRGBA(254, 255, 207, 255)},
+      {5, Color::FromRGBA(0, 0, 46, 255)},
+      {6, Color::FromRGBA(254, 39, 112, 255)},
+      {7, Color::FromRGBA(0, 255, 128, 255)},
+  };
+  ExpectColorsEqualInSRGB(actual_color_records, expected_color_records);
+}
+
+TEST_F(PaletteInterpolationTest, MixCustomPalettesInSRGB) {
+  ScopedFontPaletteAnimationForTest scoped_feature(true);
+  PaletteInterpolation palette_interpolation(color_palette_typeface_);
+  scoped_refptr<FontPalette> palette_start = FontPalette::Create("palette1");
+  palette_start->SetBasePalette({FontPalette::kIndexBasePalette, 3});
+  // palette_start has the following list of color records:
+  // { rgba(255, 255, 0, 255) = oklab(96.8%, -17.75%, 49.75%),
+  //   rgba(0, 0, 255, 255) = oklab(45.2%, -8%, -78%),
+  //   rgba(255, 0, 255, 255) = oklab(70.2%, 68.75%, -42.25%),
+  //   rgba(0, 255, 255, 255) = oklab(90.5%, -37.25%, -9.75%),
+  //   rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%),
+  //   rgba(0, 0, 0, 255) = oklab(0%, 0%, 0%),
+  //   rgba(255, 0, 0, 255) = oklab(62.8%, 56.25%, 31.5%),
+  //   rgba(0, 255, 0, 255) = oklab(86.6%, -58.5%, 44.75%) }
+
+  scoped_refptr<FontPalette> palette_end = FontPalette::Create("palette2");
+  palette_end->SetBasePalette({FontPalette::kIndexBasePalette, 7});
+  // palette_end has the following list of color records:
+  // { rgba(255, 255, 255, 255) = oklab(100%, 0%, 0%),
+  //   rgba(0, 0, 0, 255) = oklab(0%, 0%, 0%),
+  //   rgba(255, 0, 0, 255) = oklab(62.8%, 56.25%, 31.5%),
+  //   rgba(0, 255, 0, 255) = oklab(86.6%, -58.5%, 44.75%),
+  //   rgba(255, 255, 0, 255) = oklab(96.8%, -17.75%, 49.75%),
+  //   rgba(0, 0, 255, 255) = oklab(45.2%, -8%, -78%),
+  //   rgba(255, 0, 255, 255) = oklab(70.2%, 68.75%, -42.25%),
+  //   rgba(0, 255, 255, 255) = oklab(90.5%, -37.25%, -9.75%) }
+
+  scoped_refptr<FontPalette> palette = FontPalette::Mix(
+      palette_start, palette_end, 0.3, Color::ColorSpace::kSRGB, absl::nullopt);
   Vector<FontPalette::FontPaletteOverride> actual_color_records =
       palette_interpolation.ComputeInterpolableFontPalette(palette.get());
   // We expect each color to be equal palette_start * 0.7 + palette_end * 0.3
   // after interpolation in the Oklab interpolation color space and conversion
   // back to sRGB.
   Vector<FontPalette::FontPaletteOverride> expected_color_records = {
-      {0, SkColorSetARGB(255, 254, 255, 131)},
-      {1, SkColorSetARGB(255, 0, 0, 158)},
-      {2, SkColorSetARGB(255, 254, 42, 196)},
-      {3, SkColorSetARGB(255, 0, 255, 205)},
-      {4, SkColorSetARGB(255, 254, 255, 207)},
-      {5, SkColorSetARGB(255, 0, 0, 46)},
-      {6, SkColorSetARGB(255, 254, 39, 112)},
-      {7, SkColorSetARGB(255, 0, 255, 128)},
+      {0, Color::FromRGBA(255, 255, 77, 255)},
+      {1, Color::FromRGBA(0, 0, 179, 255)},
+      {2, Color::FromRGBA(255, 0, 179, 255)},
+      {3, Color::FromRGBA(0, 255, 179, 255)},
+      {4, Color::FromRGBA(255, 255, 179, 255)},
+      {5, Color::FromRGBA(0, 0, 77, 255)},
+      {6, Color::FromRGBA(255, 0, 77, 255)},
+      {7, Color::FromRGBA(0, 255, 77, 255)},
   };
-  EXPECT_EQ(expected_color_records, actual_color_records);
+  ExpectColorsEqualInSRGB(actual_color_records, expected_color_records);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_party/blink/renderer/platform/widget/widget_base.cc
index db51bf15..5a665fb 100644
--- a/third_party/blink/renderer/platform/widget/widget_base.cc
+++ b/third_party/blink/renderer/platform/widget/widget_base.cc
@@ -185,6 +185,8 @@
   main_thread_compositor_task_runner_ =
       page_scheduler.GetAgentGroupScheduler().CompositorTaskRunner();
 
+  main_thread_id_ = base::PlatformThread::CurrentId();
+
   auto* compositing_thread_scheduler =
       ThreadScheduler::CompositorThreadScheduler();
   layer_tree_view_ = std::make_unique<LayerTreeView>(this, widget_scheduler_);
@@ -603,6 +605,10 @@
   auto params = std::make_unique<
       cc::mojo_embedder::AsyncLayerTreeFrameSink::InitParams>();
   params->io_thread_id = Platform::Current()->GetIOThreadId();
+  if (base::FeatureList::IsEnabled(::features::kEnableADPFRendererMain)) {
+    params->main_thread_id = main_thread_id_;
+  }
+
   params->compositor_task_runner =
       Platform::Current()->CompositorThreadTaskRunner();
   if (for_web_tests && !params->compositor_task_runner) {
diff --git a/third_party/blink/renderer/platform/widget/widget_base.h b/third_party/blink/renderer/platform/widget/widget_base.h
index 2d3f954b..792afb25 100644
--- a/third_party/blink/renderer/platform/widget/widget_base.h
+++ b/third_party/blink/renderer/platform/widget/widget_base.h
@@ -556,6 +556,7 @@
   // The task runner on the main thread used for compositor tasks.
   scoped_refptr<base::SingleThreadTaskRunner>
       main_thread_compositor_task_runner_;
+  base::PlatformThreadId main_thread_id_ = base::kInvalidThreadId;
 
   // The maximum bounds for buffers allocated for rasterization and compositing.
   // Set when the compositor is initialized.
diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h
index 7a0fca1..2c5bba6 100644
--- a/third_party/blink/renderer/platform/wtf/vector.h
+++ b/third_party/blink/renderer/platform/wtf/vector.h
@@ -1448,7 +1448,7 @@
   template <typename U>
   U* ExpandCapacity(wtf_size_t new_min_capacity, U*);
   template <typename U>
-  void AppendSlowCase(U&&);
+  NOINLINE PRESERVE_MOST void AppendSlowCase(U&&);
 
   bool HasInlineBuffer() const {
     return INLINE_CAPACITY && !this->HasOutOfLineBuffer();
@@ -1967,7 +1967,8 @@
 
 template <typename T, wtf_size_t inlineCapacity, typename Allocator>
 template <typename U>
-NOINLINE void Vector<T, inlineCapacity, Allocator>::AppendSlowCase(U&& val) {
+NOINLINE PRESERVE_MOST void
+Vector<T, inlineCapacity, Allocator>::AppendSlowCase(U&& val) {
   DCHECK_EQ(size(), capacity());
 
   typename std::remove_reference<U>::type* ptr = &val;
diff --git a/third_party/blink/web_tests/SlowTests b/third_party/blink/web_tests/SlowTests
index b0fc946..d3ffcd9 100644
--- a/third_party/blink/web_tests/SlowTests
+++ b/third_party/blink/web_tests/SlowTests
@@ -412,7 +412,6 @@
 crbug.com/866850 [ Linux ] virtual/gpu/fast/canvas/canvas-blending-gradient-over-image.html [ Slow ]
 crbug.com/866850 [ Debug Mac13 ] virtual/gpu/fast/canvas/canvas-blending-gradient-over-image.html [ Slow ]
 crbug.com/866850 [ Linux ] virtual/gpu/fast/canvas/canvas-blending-image-over-gradient.html [ Slow ]
-crbug.com/866850 [ Mac12 Release ] virtual/gpu/fast/canvas/canvas-blending-image-over-gradient.html [ Slow ]
 crbug.com/866850 [ Linux ] virtual/gpu/fast/canvas/canvas-blending-image-over-image.html [ Slow ]
 crbug.com/866850 [ Linux ] virtual/gpu/fast/canvas/canvas-blending-image-over-pattern.html [ Slow ]
 crbug.com/866850 [ Linux ] virtual/gpu/fast/canvas/canvas-blending-pattern-over-color.html [ Slow ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index c865b42..8c0ab61d 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -223,8 +223,6 @@
 # <canvas> renders via IOSurface and OffscreenCanvas does not.
 crbug.com/1311760 [ Mac ] virtual/oopr-canvas2d/fast/canvas/OffscreenCanvas-paths-in-worker.html [ Failure ]
 
-# This test is originally added with external/wpt/speculation-rules/prerender/* skipped and broken.
-crbug.com/1356449 external/wpt/speculation-rules/prerender/credentialed-prerender-opt-in.html [ Crash Failure Pass Timeout ]
 # These tests are tentatively disabled.
 crbug.com/1302831 external/wpt/speculation-rules/prerender/service-workers.https.html [ Failure Skip Timeout ]
 crbug.com/1302831 http/tests/inspector-protocol/prerender/prerender-ua-override.js [ Crash Failure Pass Timeout ]
@@ -506,7 +504,6 @@
 crbug.com/664858 virtual/threaded-prefer-compositing/fast/scroll-behavior/smooth-scroll/main-thread-scrolling-reason-added.html [ Crash Failure Pass Timeout ]
 crbug.com/574283 virtual/threaded-prefer-compositing/fast/scroll-behavior/smooth-scroll/main-thread-scrolling-reason-correctness.html [ Crash Failure Pass Timeout ]
 crbug.com/574283 virtual/threaded-prefer-compositing/fast/scroll-behavior/smooth-scroll/mousewheel-scroll-interrupted.html [ Crash Failure Pass Timeout ]
-crbug.com/664858 virtual/threaded-prefer-compositing/fast/scroll-behavior/smooth-scroll/ongoing-smooth-scroll-anchors.html [ Crash Failure Pass Timeout ]
 crbug.com/664858 virtual/threaded-prefer-compositing/fast/scroll-behavior/smooth-scroll/ongoing-smooth-scroll-vertical-rl-anchors.html [ Crash Failure Pass Timeout ]
 crbug.com/1186753 virtual/threaded-prefer-compositing/fast/scroll-snap/animate-fling-to-snap-points-2.html [ Failure Pass Timeout ]
 crbug.com/1186753 virtual/threaded-prefer-compositing/fast/scroll-snap/snap-scrolls-visual-viewport.html [ Failure Pass ]
@@ -882,7 +879,6 @@
 crbug.com/1044742 external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-001.html [ Failure ]
 crbug.com/1044742 [ Mac10.13 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
 crbug.com/1044742 [ Mac10.14 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Crash Failure ]
-crbug.com/1044742 [ Mac10.15 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
 crbug.com/1044742 [ Mac11 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
 crbug.com/1044742 [ Mac11-arm64 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
 crbug.com/1044742 [ Mac12 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
@@ -2637,13 +2633,10 @@
 crbug.com/1012242 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/vertical_text-combine-upright.html [ Failure ]
 
 # Flaky tests (see also crbug.com/626703)
-crbug.com/1088475 [ Mac10.15 ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html [ Failure Pass Timeout ]
 crbug.com/1088475 [ Debug Mac13-arm64 ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html [ Failure Pass Timeout ]
 crbug.com/1088475 [ Win ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html [ Failure Pass Timeout ]
 crbug.com/1088475 [ Debug Linux ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries_resized.html [ Failure Pass Timeout ]
 crbug.com/1088475 [ Mac10.14 ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries_resized.html [ Crash Failure ]
-crbug.com/1088475 [ Mac10.15 ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries_resized.html [ Failure Pass Timeout ]
-crbug.com/1088475 [ Mac11 ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries_resized.html [ Failure Pass Timeout ]
 crbug.com/1088475 [ Mac12 Release ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries_resized.html [ Failure Pass Timeout ]
 crbug.com/1088475 [ Win ] external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries_resized.html [ Failure Pass Timeout ]
 
@@ -2898,7 +2891,7 @@
 crbug.com/626703 [ Mac13 Release ] virtual/threaded-prefer-compositing/external/wpt/scroll-animations/css/view-timeline-range-animation.html [ Timeout ]
 crbug.com/626703 [ Mac13-arm64 Release ] virtual/threaded-prefer-compositing/external/wpt/scroll-animations/css/view-timeline-range-animation.html [ Timeout ]
 crbug.com/626703 [ Mac12 ] virtual/threaded-prefer-compositing/external/wpt/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html [ Timeout ]
-crbug.com/626703 [ Mac13 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
+crbug.com/626703 [ Debug Mac13 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video.html [ Failure ]
 crbug.com/626703 [ Mac13 Release ] external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html [ Timeout ]
 crbug.com/626703 [ Mac13-arm64 Release ] external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html [ Timeout ]
 crbug.com/626703 [ Mac13 ] virtual/pending-beacon/external/wpt/pending-beacon/pending_post_beacon-cors.tentative.https.window.html [ Timeout ]
@@ -4760,9 +4753,7 @@
 
 # Sheriff 2021-04-07
 crbug.com/1196620 [ Mac10.13 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html [ Failure Pass ]
-crbug.com/1196620 [ Mac10.15 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html [ Failure Pass ]
 crbug.com/1196620 [ Mac11 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html [ Failure Pass ]
-crbug.com/1196620 [ Mac12 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html [ Failure Pass ]
 crbug.com/1196620 [ Mac12-arm64 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html [ Failure Pass ]
 crbug.com/1196620 [ Debug Mac13-arm64 ] external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html [ Failure Pass ]
 
@@ -6697,3 +6688,7 @@
 crbug.com/1422685 [ Mac11-arm64 ] fast/canvas-api/offscreencanvas.transferrable-webgl-exception.html [ Failure Pass ]
 crbug.com/1422685 [ Mac12-arm64 ] fast/canvas-api/offscreencanvas.transferrable-webgl-exception.html [ Failure Pass ]
 crbug.com/1422685 [ Mac13-arm64 ] fast/canvas-api/offscreencanvas.transferrable-webgl-exception.html [ Failure Pass ]
+
+# Flaky test
+crbug.com/1454689 http/tests/inspector-protocol/tracing/cpu-profiling.js [ Failure Pass ]
+
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
index ec62348..8f0c30e 100644
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -602,13 +602,14 @@
   },
 
   "The Wasm code cache test requires access to V8 internals, so only the",
-  "virtual test should be run.",
+  "virtual test should be run. Additionally the tiering budget is reduced to",
+  "speed up the test.",
   {
     "prefix": "wasm-code-caching",
     "platforms": ["Linux", "Mac", "Win"],
     "bases": ["http/tests/wasm/caching"],
     "exclusive_tests": "ALL",
-    "args": ["--js-flags=--allow-natives-syntax"],
+    "args": ["--js-flags=--wasm-tiering-budget=100 --allow-natives-syntax"],
     "expires": "Jul 1, 2024"
   },
 
diff --git a/third_party/blink/web_tests/animations/animation-shorthand-removed.html b/third_party/blink/web_tests/animations/animation-shorthand-removed.html
index e7a91695..ee9245d 100644
--- a/third_party/blink/web_tests/animations/animation-shorthand-removed.html
+++ b/third_party/blink/web_tests/animations/animation-shorthand-removed.html
@@ -49,7 +49,7 @@
         values: [ "anim1", "10s", "linear", "5s", "infinite", "alternate", "forwards" ]
       }
     ];
-    const kExpectedResults = [ "none", "auto", "ease", "0s", "1", "normal", "none" ];
+    const kExpectedResults = [ "none", "0s", "ease", "0s", "1", "normal", "none" ];
 
     function start() {
       kElements.forEach(function(curEl) {
diff --git a/third_party/blink/web_tests/animations/animations-parsing-001.html b/third_party/blink/web_tests/animations/animations-parsing-001.html
index 30da17a..c9eb94dc 100644
--- a/third_party/blink/web_tests/animations/animations-parsing-001.html
+++ b/third_party/blink/web_tests/animations/animations-parsing-001.html
@@ -98,8 +98,8 @@
 
 test(() => {
   // Test initial value.
-  assert_equals(computedStyle.animationDuration, 'auto');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "0s";
   assert_not_equals(Object.keys(style).indexOf('animationDuration'), -1);
@@ -134,45 +134,45 @@
   // Negative values are invalid.
   style.animationDuration = "-10ms";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "'5ms'";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "30px";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "solid";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "20";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "20%";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 
   style.animationDuration = "0s, 20px";
   assert_equals(style.animationDuration, '');
-  assert_equals(computedStyle.animationDuration, 'auto');
+  assert_equals(computedStyle.animationDuration, '0s');
   assert_equals(style.webkitAnimationDuration, '');
-  assert_equals(computedStyle.webkitAnimationDuration, 'auto');
+  assert_equals(computedStyle.webkitAnimationDuration, '0s');
 }, "Invalid animation-duration values.");
 </script>
 </body>
diff --git a/third_party/blink/web_tests/animations/animations-parsing-005.html b/third_party/blink/web_tests/animations/animations-parsing-005.html
index dbcc7fb..b29a87e 100644
--- a/third_party/blink/web_tests/animations/animations-parsing-005.html
+++ b/third_party/blink/web_tests/animations/animations-parsing-005.html
@@ -27,25 +27,25 @@
 test(() => {
   style.animation = "";
   // Test initial value.
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "myShorthandAnim";
   assert_not_equals(Object.keys(style).indexOf('animation'), -1);
   assert_not_equals(Object.keys(style).indexOf('webkitAnimation'), -1);
   assert_equals(style.animation, 'auto ease 0s 1 normal none running myShorthandAnim');
-  assert_equals(computedStyle.animation, 'auto ease 0s 1 normal none running myShorthandAnim');
+  assert_equals(computedStyle.animation, '0s ease 0s 1 normal none running myShorthandAnim');
   assert_equals(style.webkitAnimation, 'auto ease 0s 1 normal none running myShorthandAnim');
-  assert_equals(computedStyle.webkitAnimation, 'auto ease 0s 1 normal none running myShorthandAnim');
+  assert_equals(computedStyle.webkitAnimation, '0s ease 0s 1 normal none running myShorthandAnim');
   assert_true(checkAnimationShorthandValue());
 
   style.animation = "none";
   assert_not_equals(Object.keys(style).indexOf('animation'), -1);
   assert_not_equals(Object.keys(style).indexOf('webkitAnimation'), -1);
   assert_equals(style.animation, 'auto ease 0s 1 normal none running none');
-  assert_equals(computedStyle.animation, 'auto ease 0s 1 normal none running none');
+  assert_equals(computedStyle.animation, '0s ease 0s 1 normal none running none');
   assert_equals(style.webkitAnimation, 'auto ease 0s 1 normal none running none');
-  assert_equals(computedStyle.webkitAnimation, 'auto ease 0s 1 normal none running none');
+  assert_equals(computedStyle.webkitAnimation, '0s ease 0s 1 normal none running none');
   assert_true(checkAnimationShorthandValue());
 
   style.animation = "none 20s";
@@ -188,22 +188,22 @@
 
   style.animation = "none, none";
   assert_equals(style.animation, 'auto ease 0s 1 normal none running none, auto ease 0s 1 normal none running none');
-  assert_equals(computedStyle.animation, 'auto ease 0s 1 normal none running none, auto ease 0s 1 normal none running none');
+  assert_equals(computedStyle.animation, '0s ease 0s 1 normal none running none, 0s ease 0s 1 normal none running none');
   assert_equals(style.webkitAnimation, 'auto ease 0s 1 normal none running none, auto ease 0s 1 normal none running none');
-  assert_equals(computedStyle.webkitAnimation, 'auto ease 0s 1 normal none running none, auto ease 0s 1 normal none running none');
+  assert_equals(computedStyle.webkitAnimation, '0s ease 0s 1 normal none running none, 0s ease 0s 1 normal none running none');
 
   style.animation = "ease-in test 20s 10s, none";
   assert_equals(style.animation, '20s ease-in 10s 1 normal none running test, auto ease 0s 1 normal none running none');
-  assert_equals(computedStyle.animation, '20s ease-in 10s 1 normal none running test, auto ease 0s 1 normal none running none');
+  assert_equals(computedStyle.animation, '20s ease-in 10s 1 normal none running test, 0s ease 0s 1 normal none running none');
   assert_equals(style.webkitAnimation, '20s ease-in 10s 1 normal none running test, auto ease 0s 1 normal none running none');
-  assert_equals(computedStyle.webkitAnimation, '20s ease-in 10s 1 normal none running test, auto ease 0s 1 normal none running none');
+  assert_equals(computedStyle.webkitAnimation, '20s ease-in 10s 1 normal none running test, 0s ease 0s 1 normal none running none');
   assert_equals(computedStyle.animationName, 'test, none');
 
   style.animation = "none, ease-in test 20s 10s";
   assert_equals(style.animation, 'auto ease 0s 1 normal none running none, 20s ease-in 10s 1 normal none running test');
-  assert_equals(computedStyle.animation, 'auto ease 0s 1 normal none running none, 20s ease-in 10s 1 normal none running test');
+  assert_equals(computedStyle.animation, '0s ease 0s 1 normal none running none, 20s ease-in 10s 1 normal none running test');
   assert_equals(style.webkitAnimation, 'auto ease 0s 1 normal none running none, 20s ease-in 10s 1 normal none running test');
-  assert_equals(computedStyle.webkitAnimation, 'auto ease 0s 1 normal none running none, 20s ease-in 10s 1 normal none running test');
+  assert_equals(computedStyle.webkitAnimation, '0s ease 0s 1 normal none running none, 20s ease-in 10s 1 normal none running test');
   assert_equals(computedStyle.animationName, 'none, test');
 
   style.animation = "myShorthandAnim both 20s 10s ease-in paused, myShorthandAnim ease-out 20s";
@@ -232,93 +232,93 @@
 
   style.animation = "solid red green";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "all 30s width height ease-in";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "animName 30s ease-in 20s, 20px";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "test 30s ease-in 20s, step-start(2)";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "ease-in opacity top 20s 10s myAnim, none";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "none, ease-in opacity top 20s 10s myAnim";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = ",";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "running,";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = ", alternate";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = ", commas,";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "test,, 5s";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "2 initial";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "2 inherit";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "2 unset";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 
   style.animation = "2 default";
   assert_equals(style.animation, '');
-  assert_equals(computedStyle.animation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.animation, 'none 0s ease 0s 1 normal none running');
   assert_equals(style.webkitAnimation, '');
-  assert_equals(computedStyle.webkitAnimation, 'none auto ease 0s 1 normal none running');
+  assert_equals(computedStyle.webkitAnimation, 'none 0s ease 0s 1 normal none running');
 }, "Invalid animation shorthand values.");
 </script>
 </body>
diff --git a/third_party/blink/web_tests/animations/prefixed/animation-inherit-initial-unprefixed.html b/third_party/blink/web_tests/animations/prefixed/animation-inherit-initial-unprefixed.html
index f153da7..5b5e3541 100644
--- a/third_party/blink/web_tests/animations/prefixed/animation-inherit-initial-unprefixed.html
+++ b/third_party/blink/web_tests/animations/prefixed/animation-inherit-initial-unprefixed.html
@@ -72,8 +72,8 @@
   assert_equals(computedStyle.animationName, "none");
   assert_equals(computedStyle.webkitAnimationName, "none");
 
-  assert_equals(computedStyle.animationDuration, "auto");
-  assert_equals(computedStyle.webkitAnimationDuration, "auto");
+  assert_equals(computedStyle.animationDuration, "0s");
+  assert_equals(computedStyle.webkitAnimationDuration, "0s");
 
   assert_equals(computedStyle.animationTimingFunction, "ease");
   assert_equals(computedStyle.webkitAnimationTimingFunction, "ease");
diff --git a/third_party/blink/web_tests/animations/prefixed/animation-shorthand-prefixed.html b/third_party/blink/web_tests/animations/prefixed/animation-shorthand-prefixed.html
index 120ed24..9e00778c 100644
--- a/third_party/blink/web_tests/animations/prefixed/animation-shorthand-prefixed.html
+++ b/third_party/blink/web_tests/animations/prefixed/animation-shorthand-prefixed.html
@@ -52,8 +52,8 @@
   "webkitAnimationFillMode"
 ];
 const kExpectedResults = [
-  { id: 'a',  values: [ "none", "auto", "ease", "0s", "1", "normal", "none" ] },
-  { id: 'b',  values: [ "none", "auto", "ease", "0s", "1", "normal", "none" ] },
+  { id: 'a',  values: [ "none", "0s", "ease", "0s", "1", "normal", "none" ] },
+  { id: 'b',  values: [ "none", "0s", "ease", "0s", "1", "normal", "none" ] },
   { id: 'c',  values: [ "anim1", "10s", "ease", "0s", "1", "normal", "none" ] },
   { id: 'd',  values: [ "anim1", "10s", "linear", "0s", "1", "normal", "none" ] },
   { id: 'e',  values: [ "anim1", "10s", "linear", "5s", "1", "normal", "none" ] },
diff --git a/third_party/blink/web_tests/animations/prefixed/animation-shorthand-unprefixed.html b/third_party/blink/web_tests/animations/prefixed/animation-shorthand-unprefixed.html
index edb3941..62f9a3f 100644
--- a/third_party/blink/web_tests/animations/prefixed/animation-shorthand-unprefixed.html
+++ b/third_party/blink/web_tests/animations/prefixed/animation-shorthand-unprefixed.html
@@ -52,8 +52,8 @@
   "animationFillMode"
 ];
 const kExpectedResults = [
-  { id: 'a',  values: [ "none", "auto", "ease", "0s", "1", "normal", "none" ] },
-  { id: 'b',  values: [ "none", "auto", "ease", "0s", "1", "normal", "none" ] },
+  { id: 'a',  values: [ "none", "0s", "ease", "0s", "1", "normal", "none" ] },
+  { id: 'b',  values: [ "none", "0s", "ease", "0s", "1", "normal", "none" ] },
   { id: 'c',  values: [ "anim1", "10s", "ease", "0s", "1", "normal", "none" ] },
   { id: 'd',  values: [ "anim1", "10s", "linear", "0s", "1", "normal", "none" ] },
   { id: 'e',  values: [ "anim1", "10s", "linear", "5s", "1", "normal", "none" ] },
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 7004f84..fd615b2 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
@@ -551943,7 +551943,7 @@
        ]
       ],
       "event-propagate-disabled.tentative.html": [
-       "9c8642d10f99b16d41401f28489104d4b4a651cf",
+       "e3dcd43a17ab2a4bd2b3807f699236d080b95f52",
        [
         null,
         {
@@ -551953,7 +551953,7 @@
        ]
       ],
       "fieldset-event-propagation.tentative.html": [
-       "11822e4dd48db047212833a48a82b60c7e9cae72",
+       "6d1a39c1de90b9a1dee36a1880b5fcfb51106ae9",
        [
         null,
         {
@@ -615234,15 +615234,6 @@
        }
       ]
      ],
-     "document-rules.html": [
-      "2c1048d3a9cd20f481ec3de901069aeaa8d2da9a",
-      [
-       null,
-       {
-        "timeout": "long"
-       }
-      ]
-     ],
      "fetch-blob.html": [
       "098a5a5128926a039ffa1d433c13a55ad0c2670c",
       [
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/inheritance.html b/third_party/blink/web_tests/external/wpt/css/css-animations/inheritance.html
index dd9d646..6e7697b 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-animations/inheritance.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-animations/inheritance.html
@@ -17,7 +17,7 @@
 <script>
 assert_not_inherited('animation-delay', '0s', '2s');
 assert_not_inherited('animation-direction', 'normal', 'reverse');
-assert_not_inherited('animation-duration', 'auto', '3s');
+assert_not_inherited('animation-duration', '0s', '3s');
 assert_not_inherited('animation-fill-mode', 'none', 'forwards');
 assert_not_inherited('animation-iteration-count', '1', '4');
 assert_not_inherited('animation-name', 'none', 'spinner');
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed-expected.txt
index f71ecc9d..7cf62fe 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-FAIL Default animation value assert_equals: expected "auto ease 0s 1 normal none running none" but got "none auto ease 0s 1 normal none running"
+FAIL Default animation value assert_equals: expected "0s ease 0s 1 normal none running none" but got "none 0s ease 0s 1 normal none running"
 PASS Property animation value '1s'
 PASS Property animation value 'cubic-bezier(0, -2, 1, 3)'
 PASS Property animation value '1s -3s'
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed.html b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed.html
index 9152c49..f8d34b8 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-computed.html
@@ -18,24 +18,24 @@
 // [ none | <keyframes-name> ]
 
 test(() => {
-  assert_equals(getComputedStyle(document.getElementById('target')).animation, "auto ease 0s 1 normal none running none");
+  assert_equals(getComputedStyle(document.getElementById('target')).animation, "0s ease 0s 1 normal none running none");
 }, "Default animation value");
 
 test_computed_value("animation", "1s", "1s ease 0s 1 normal none running none");
-test_computed_value("animation", "cubic-bezier(0, -2, 1, 3)", "auto cubic-bezier(0, -2, 1, 3) 0s 1 normal none running none");
+test_computed_value("animation", "cubic-bezier(0, -2, 1, 3)", "0s cubic-bezier(0, -2, 1, 3) 0s 1 normal none running none");
 test_computed_value("animation", "1s -3s", "1s ease -3s 1 normal none running none");
-test_computed_value("animation", "4", "auto ease 0s 4 normal none running none");
-test_computed_value("animation", "reverse", "auto ease 0s 1 reverse none running none");
-test_computed_value("animation", "both", "auto ease 0s 1 normal both running none");
-test_computed_value("animation", "paused", "auto ease 0s 1 normal none paused none");
-test_computed_value("animation", "none", "auto ease 0s 1 normal none running none");
-test_computed_value("animation", "anim", "auto ease 0s 1 normal none running anim");
+test_computed_value("animation", "4", "0s ease 0s 4 normal none running none");
+test_computed_value("animation", "reverse", "0s ease 0s 1 reverse none running none");
+test_computed_value("animation", "both", "0s ease 0s 1 normal both running none");
+test_computed_value("animation", "paused", "0s ease 0s 1 normal none paused none");
+test_computed_value("animation", "none", "0s ease 0s 1 normal none running none");
+test_computed_value("animation", "anim", "0s ease 0s 1 normal none running anim");
 
 test_computed_value("animation", "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)",
   "1s cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim");
 
 test_computed_value("animation", "anim paused both reverse, 4 1s -3s cubic-bezier(0, -2, 1, 3)",
-  "auto ease 0s 1 reverse both paused anim, 1s cubic-bezier(0, -2, 1, 3) -3s 4 normal none running none");
+  "0s ease 0s 1 reverse both paused anim, 1s cubic-bezier(0, -2, 1, 3) -3s 4 normal none running none");
 
 // TODO: Add test with a single timing-function keyword.
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-duration-computed.html b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-duration-computed.html
index ef2ef690..a8bc1600f 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-duration-computed.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-duration-computed.html
@@ -15,6 +15,34 @@
 test_computed_value("animation-duration", "500ms", "0.5s");
 test_computed_value("animation-duration", "calc(2 * 3s)", "6s");
 test_computed_value("animation-duration", "20s, 10s");
+
+// https://github.com/w3c/csswg-drafts/issues/6530
+test_computed_value("animation-duration", "auto", "0s");
+test_computed_value("animation-duration", "auto, auto", "0s, 0s");
+
+// Test that the resolved value of the specified animation-duration
+// is as expected given some value for animation-timeline.
+function test_auto_duration(duration, timeline, expected) {
+  test((t) => {
+    t.add_cleanup(() => {
+      target.style = "";
+    });
+    target.style.animationDuration = duration;
+    target.style.animationTimeline = timeline;
+    assert_equals(expected, getComputedStyle(target).animationDuration);
+  }, `Resolved value of animation-duration:${duration} with animation-timeline:${timeline}`);
+}
+
+test_auto_duration("auto", "auto", "0s");
+test_auto_duration("auto", "auto, auto", "auto");
+test_auto_duration("auto", "--t", "auto");
+test_auto_duration("auto", "--t, --t2", "auto");
+test_auto_duration("auto", "none", "auto");
+test_auto_duration("auto", "scroll()", "auto");
+test_auto_duration("auto", "view()", "auto");
+test_auto_duration("0s", "auto", "0s");
+test_auto_duration("0s", "auto, auto", "0s");
+
 </script>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-shorthand.html
index 8b482ff..0856ab2 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-shorthand.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-animations/parsing/animation-shorthand.html
@@ -34,9 +34,9 @@
   'animation-fill-mode': 'both, none',
   'animation-play-state': 'paused, running',
   'animation-name': 'anim, none',
-  'animation-timeline': 'auto, auto',
-  'animation-range-start': 'normal, normal',
-  'animation-range-end': 'normal, normal',
+  'animation-timeline': 'auto',
+  'animation-range-start': 'normal',
+  'animation-range-end': 'normal',
 });
 
 test_shorthand_value('animation', '4 1s -3s cubic-bezier(0, -2, 1, 3), anim paused both reverse', {
@@ -48,9 +48,9 @@
   'animation-fill-mode': 'none, both',
   'animation-play-state': 'running, paused',
   'animation-name': 'none, anim',
-  'animation-timeline': 'auto, auto',
-  'animation-range-start': 'normal, normal',
-  'animation-range-end': 'normal, normal',
+  'animation-timeline': 'auto',
+  'animation-range-start': 'normal',
+  'animation-range-end': 'normal',
 });
 </script>
 </body>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration-expected.txt
index 50f1dad..dd11f808 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration-expected.txt
@@ -30,5 +30,6 @@
 PASS Setting 'animation-duration' to a transform: translate(50%, 50%) throws TypeError
 PASS Setting 'animation-duration' to a transform: perspective(10em) throws TypeError
 PASS Setting 'animation-duration' to a transform: translate3d(0px, 1px, 2px) translate(0px, 1px) rotate3d(1, 2, 3, 45deg) rotate(45deg) scale3d(1, 2, 3) scale(1, 2) skew(1deg, 1deg) skewX(1deg) skewY(45deg) perspective(1px) matrix3d(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) matrix(1, 2, 3, 4, 5, 6) throws TypeError
+PASS Computed value of animation-duration is auto
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration.html b/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration.html
index fa78ece..edff11c8 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-typed-om/the-stylepropertymap/properties/animation-duration.html
@@ -29,4 +29,14 @@
   },
 ]);
 
+test((t) => {
+  let div = document.createElement('div');
+  t.add_cleanup(() => {
+    div.remove();
+  });
+  document.body.append(div);
+  let actual = div.computedStyleMap().get('animation-duration').toString();
+  assert_equals(actual, 'auto');
+}, 'Computed value of animation-duration is auto');
+
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/document-picture-in-picture/beforeunload-is-disabled.https.html b/third_party/blink/web_tests/external/wpt/document-picture-in-picture/beforeunload-is-disabled.https.html
index 3dd2b8a6..35e3e2c5 100644
--- a/third_party/blink/web_tests/external/wpt/document-picture-in-picture/beforeunload-is-disabled.https.html
+++ b/third_party/blink/web_tests/external/wpt/document-picture-in-picture/beforeunload-is-disabled.https.html
@@ -11,7 +11,7 @@
       await test_driver.bless('request PiP window from top window');
       const pipWindow = await documentPictureInPicture.requestWindow();
       var onbeforeunloadDisabled = true;
-      pipWindow.window.onbeforeunload = () => {
+      pipWindow.onbeforeunload = () => {
         onbeforeunloadDisabled = false;
         return "This is a test";
       }
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/line-styles/2d.line.fill.noop.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/line-styles/2d.line.fill.noop.html
new file mode 100644
index 0000000..6dd8804
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/line-styles/2d.line.fill.noop.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.line.fill.noop</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/canvas/resources/canvas-tests.js"></script>
+<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
+<body class="show_output">
+
+<h1>2d.line.fill.noop</h1>
+<p class="desc">Filling a line draws nothing</p>
+
+
+<p class="output">Actual output:</p>
+<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
+
+<ul id="d"></ul>
+<script>
+var t = async_test("Filling a line draws nothing");
+_addTest(function(canvas, ctx) {
+
+  ctx.fillStyle = '#0f0';
+  ctx.fillRect(0, 0, 100, 50);
+  ctx.fillStyle = '#f00';
+  ctx.lineWidth = 20;
+  ctx.beginPath();
+  ctx.moveTo(10, 20);
+  ctx.lineTo(90, 30);
+  ctx.fill();
+  _assertPixel(canvas, 50,24, 0,255,0,255);
+  _assertPixel(canvas, 50,25, 0,255,0,255);
+  _assertPixel(canvas, 50,26, 0,255,0,255);
+
+});
+</script>
+
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/line-styles/2d.line.fill.noop.html b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/line-styles/2d.line.fill.noop.html
new file mode 100644
index 0000000..0d1aa4b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/line-styles/2d.line.fill.noop.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>OffscreenCanvas test: 2d.line.fill.noop</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/canvas/resources/canvas-tests.js"></script>
+
+<h1>2d.line.fill.noop</h1>
+<p class="desc">Filling a line draws nothing</p>
+
+
+<script>
+var t = async_test("Filling a line draws nothing");
+var t_pass = t.done.bind(t);
+var t_fail = t.step_func(function(reason) {
+    throw reason;
+});
+t.step(function() {
+
+  var canvas = new OffscreenCanvas(100, 50);
+  var ctx = canvas.getContext('2d');
+
+  ctx.fillStyle = '#0f0';
+  ctx.fillRect(0, 0, 100, 50);
+  ctx.fillStyle = '#f00';
+  ctx.lineWidth = 20;
+  ctx.beginPath();
+  ctx.moveTo(10, 20);
+  ctx.lineTo(90, 30);
+  ctx.fill();
+  _assertPixel(canvas, 50,24, 0,255,0,255);
+  _assertPixel(canvas, 50,25, 0,255,0,255);
+  _assertPixel(canvas, 50,26, 0,255,0,255);
+  t.done();
+
+});
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/line-styles/2d.line.fill.noop.worker.js b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/line-styles/2d.line.fill.noop.worker.js
new file mode 100644
index 0000000..e3e8c14
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/line-styles/2d.line.fill.noop.worker.js
@@ -0,0 +1,32 @@
+// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py.
+// OffscreenCanvas test in a worker:2d.line.fill.noop
+// Description:Filling a line draws nothing
+// Note:
+
+importScripts("/resources/testharness.js");
+importScripts("/html/canvas/resources/canvas-tests.js");
+
+var t = async_test("Filling a line draws nothing");
+var t_pass = t.done.bind(t);
+var t_fail = t.step_func(function(reason) {
+    throw reason;
+});
+t.step(function() {
+
+  var canvas = new OffscreenCanvas(100, 50);
+  var ctx = canvas.getContext('2d');
+
+  ctx.fillStyle = '#0f0';
+  ctx.fillRect(0, 0, 100, 50);
+  ctx.fillStyle = '#f00';
+  ctx.lineWidth = 20;
+  ctx.beginPath();
+  ctx.moveTo(10, 20);
+  ctx.lineTo(90, 30);
+  ctx.fill();
+  _assertPixel(canvas, 50,24, 0,255,0,255);
+  _assertPixel(canvas, 50,25, 0,255,0,255);
+  _assertPixel(canvas, 50,26, 0,255,0,255);
+  t.done();
+});
+done();
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/tools/yaml-new/line-styles.yaml b/third_party/blink/web_tests/external/wpt/html/canvas/tools/yaml-new/line-styles.yaml
index 604f4f36..47bf3af 100644
--- a/third_party/blink/web_tests/external/wpt/html/canvas/tools/yaml-new/line-styles.yaml
+++ b/third_party/blink/web_tests/external/wpt/html/canvas/tools/yaml-new/line-styles.yaml
@@ -395,6 +395,21 @@
     ctx.lineCap = 'bevel';
     @assert ctx.lineCap === 'butt';
 
+- name: 2d.line.fill.noop
+  desc: Filling a line draws nothing
+  code: |
+    ctx.fillStyle = '#0f0';
+    ctx.fillRect(0, 0, 100, 50);
+    ctx.fillStyle = '#f00';
+    ctx.lineWidth = 20;
+    ctx.beginPath();
+    ctx.moveTo(10, 20);
+    ctx.lineTo(90, 30);
+    ctx.fill();
+    @assert pixel 50,24 == 0,255,0,255;
+    @assert pixel 50,25 == 0,255,0,255;
+    @assert pixel 50,26 == 0,255,0,255;
+
 - name: 2d.line.join.bevel
   desc: lineJoin 'bevel' is rendered correctly
   code: |
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/event-propagate-disabled.tentative.html b/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/event-propagate-disabled.tentative.html
index 9c8642d1..e3dcd43 100644
--- a/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/event-propagate-disabled.tentative.html
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/event-propagate-disabled.tentative.html
@@ -93,12 +93,27 @@
   }
 
   /**
+   * @param {Element} element
+   * @returns {boolean}
+   */
+  function isFormControl(element) {
+    if (["button", "input", "select", "textarea"].includes(element.localName)) {
+      return true;
+    }
+    return element.constructor.formAssociated;
+  }
+
+  function isDisabledFormControl(element) {
+    return isFormControl(element) && element.disabled;
+  }
+
+  /**
    * @param {Element} target
    * @param {*} observedEvent
    */
   function shouldNotBubble(target, observedEvent) {
     return (
-      target.disabled &&
+      isDisabledFormControl(target) &&
       observedEvent.isTrusted &&
       ["mousedown", "mouseup", "click"].includes(observedEvent.type)
     );
@@ -136,7 +151,7 @@
       await t.step_func(clickerFn)(target);
       await new Promise(resolve => t.step_timeout(resolve, 0));
 
-      const expected = element.disabled ? expectedEvents : nonDisabledExpectedEvents;
+      const expected = isDisabledFormControl(element) ? expectedEvents : nonDisabledExpectedEvents;
       assert_array_equals(observedEvents.map(e => e.type), expected, "Observed events");
 
       for (const observed of observedEvents) {
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html b/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html
index 11822e4..6d1a39c 100644
--- a/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html
@@ -15,34 +15,41 @@
 </div>
 
 <div id=target2parent>
-  <fieldset disabled id=target2fieldset>hello world</div>
+  <fieldset disabled id=target2fieldset>hello world</fieldset>
 </div>
 
 <script>
-promise_test(async () => {
-  let target1parentClicked = false;
-  let target1childClicked = false;
-  let target1fieldsetClicked = false;
-  target1parent.onclick = () => target1parentClicked = true;
-  target1child.onclick = () => target1childClicked = true;
-  target1fieldset.onclick = () => target1fieldsetClicked = true;
+  const clickers = {
+    "native click": target => test_driver.click(target),
+    "click()": target => target.click(),
+  };
 
-  await test_driver.click(target1child);
+  for (const [clickerName, clicker] of Object.entries(clickers)) {
+    promise_test(async () => {
+      let target1parentClicked = false;
+      let target1childClicked = false;
+      let target1fieldsetClicked = false;
+      target1parent.onclick = () => target1parentClicked = true;
+      target1child.onclick = () => target1childClicked = true;
+      target1fieldset.onclick = () => target1fieldsetClicked = true;
 
-  assert_true(target1parentClicked, 'The parent of the fieldset should receive a click event.');
-  assert_true(target1childClicked, 'The child of the fieldset should receive a click event.');
-  assert_true(target1fieldsetClicked, 'The fieldset element should receive a click event.');
-}, 'Disabled fieldset elements should not prevent click event propagation.');
+      await clicker(target1child);
 
-promise_test(async () => {
-  let target2parentClicked = false;
-  let target2fieldsetClicked = false;
-  target2parent.onclick = () => target2parentClicked = true;
-  target2fieldset.onclick = () => target2fieldsetClicked = true;
+      assert_true(target1parentClicked, 'The parent of the fieldset should receive a click event.');
+      assert_true(target1childClicked, 'The child of the fieldset should receive a click event.');
+      assert_true(target1fieldsetClicked, 'The fieldset element should receive a click event.');
+    }, `Disabled fieldset elements should not prevent click event propagation from ${clickerName}`);
 
-  await test_driver.click(target2fieldset);
+    promise_test(async () => {
+      let target2parentClicked = false;
+      let target2fieldsetClicked = false;
+      target2parent.onclick = () => target2parentClicked = true;
+      target2fieldset.onclick = () => target2fieldsetClicked = true;
 
-  assert_true(target2parentClicked, 'The parent of the fieldset should receive a click event.');
-  assert_true(target2fieldsetClicked, 'The fieldset element should receive a click event.');
-}, 'Disabled fieldset elements should not block click events.');
+      await clicker(target2fieldset);
+
+      assert_true(target2parentClicked, 'The parent of the fieldset should receive a click event.');
+      assert_true(target2fieldsetClicked, 'The fieldset element should receive a click event.');
+    }, `Disabled fieldset elements should not block click events from ${clickerName}.`);
+  }
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-duration-auto.tentative.html b/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-duration-auto.tentative.html
index cfb7cf2c..0198285 100644
--- a/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-duration-auto.tentative.html
+++ b/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-duration-auto.tentative.html
@@ -50,7 +50,9 @@
 <div id="target"></div>
 <script>
   test_valid_value('animation-duration', 'auto');
-  test_computed_value('animation-duration', 'auto');
+  test_computed_value('animation-duration', 'auto', '0s');
   test_valid_value('animation', 'auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim');
-  test_computed_value('animation', 'auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim');
+  test_computed_value('animation',
+    'auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim',
+    '0s cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim');
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-shorthand.html b/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-shorthand.html
index a17dd43..b7d5947a 100644
--- a/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-shorthand.html
+++ b/third_party/blink/web_tests/external/wpt/scroll-animations/css/animation-shorthand.html
@@ -38,9 +38,9 @@
   'animation-fill-mode': 'forwards, forwards, forwards',
   'animation-play-state': 'paused, paused, paused',
   'animation-name': 'anim1, anim2, anim3',
-  'animation-timeline': 'auto, auto, auto',
-  'animation-range-start': 'normal, normal, normal',
-  'animation-range-end': 'normal, normal, normal',
+  'animation-timeline': 'auto',
+  'animation-range-start': 'normal',
+  'animation-range-end': 'normal',
 });
 
 test((t) => {
@@ -53,6 +53,9 @@
   assert_equals(target.style.animation, '');
   assert_equals(target.style.animationName, 'anim');
   assert_equals(target.style.animationDuration, '1s');
+
+  target.style.animationTimeline = 'auto, auto';
+  assert_equals(target.style.animation, '');
 }, 'Animation shorthand can not represent non-initial timelines (specified)');
 
 test((t) => {
@@ -65,6 +68,9 @@
   assert_equals(getComputedStyle(target).animation, '');
   assert_equals(getComputedStyle(target).animationName, 'anim');
   assert_equals(getComputedStyle(target).animationDuration, '1s');
+
+  target.style.animationTimeline = 'auto, auto';
+  assert_equals(getComputedStyle(target).animation, '');
 }, 'Animation shorthand can not represent non-initial timelines (computed)');
 
 test((t) => {
@@ -77,6 +83,9 @@
   assert_equals(target.style.animation, '');
   assert_equals(target.style.animationName, 'anim');
   assert_equals(target.style.animationDuration, '1s');
+
+  target.style.animationDelayEnd = '0s, 0s';
+  assert_equals(target.style.animation, '');
 }, 'Animation shorthand can not represent non-initial animation-delay-end (specified)');
 
 test((t) => {
@@ -89,6 +98,9 @@
   assert_equals(getComputedStyle(target).animation, '');
   assert_equals(getComputedStyle(target).animationName, 'anim');
   assert_equals(getComputedStyle(target).animationDuration, '1s');
+
+  target.style.animationDelayEnd = '0s, 0s';
+  assert_equals(getComputedStyle(target).animation, '');
 }, 'Animation shorthand can not represent non-initial animation-delay-end (computed)');
 
 test((t) => {
@@ -101,6 +113,9 @@
   assert_equals(target.style.animation, '');
   assert_equals(target.style.animationName, 'anim');
   assert_equals(target.style.animationDuration, '1s');
+
+  target.style.animationRangeStart = 'normal, normal';
+  assert_equals(target.style.animation, '');
 }, 'Animation shorthand can not represent non-initial animation-range-start (specified)');
 
 test((t) => {
@@ -113,6 +128,9 @@
   assert_equals(getComputedStyle(target).animation, '');
   assert_equals(getComputedStyle(target).animationName, 'anim');
   assert_equals(getComputedStyle(target).animationDuration, '1s');
+
+  target.style.animationRangeStart = 'normal, normal';
+  assert_equals(getComputedStyle(target).animation, '');
 }, 'Animation shorthand can not represent non-initial animation-range-start (computed)');
 
 test((t) => {
@@ -125,6 +143,9 @@
   assert_equals(target.style.animation, '');
   assert_equals(target.style.animationName, 'anim');
   assert_equals(target.style.animationDuration, '1s');
+
+  target.style.animationRangeEnd = 'normal, normal';
+  assert_equals(target.style.animation, '');
 }, 'Animation shorthand can not represent non-initial animation-range-end (specified)');
 
 test((t) => {
@@ -137,6 +158,9 @@
   assert_equals(getComputedStyle(target).animation, '');
   assert_equals(getComputedStyle(target).animationName, 'anim');
   assert_equals(getComputedStyle(target).animationDuration, '1s');
+
+  target.style.animationRangeEnd = 'normal, normal';
+  assert_equals(getComputedStyle(target).animation, '');
 }, 'Animation shorthand can not represent non-initial animation-range-end (computed)');
 
 </script>
diff --git a/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt b/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
index 9ad7e28..561ebce 100644
--- a/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
+++ b/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-listing-expected.txt
@@ -56,7 +56,7 @@
 animation-composition: replace
 animation-delay: 0s
 animation-direction: normal
-animation-duration: auto
+animation-duration: 0s
 animation-fill-mode: none
 animation-iteration-count: 1
 animation-name: none
diff --git a/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt b/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
index ca0b213..54f1e9228 100644
--- a/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
+++ b/third_party/blink/web_tests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
@@ -56,7 +56,7 @@
 animation-composition: replace
 animation-delay: 0s
 animation-direction: normal
-animation-duration: auto
+animation-duration: 0s
 animation-fill-mode: none
 animation-iteration-count: 1
 animation-name: none
diff --git a/third_party/blink/web_tests/http/tests/devtools/elements/styles-4/styles-keyframes-expected.txt b/third_party/blink/web_tests/http/tests/devtools/elements/styles-4/styles-keyframes-expected.txt
index 28320f1c..87849a96 100644
--- a/third_party/blink/web_tests/http/tests/devtools/elements/styles-4/styles-keyframes-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/elements/styles-4/styles-keyframes-expected.txt
@@ -15,9 +15,9 @@
         animation-fill-mode: none, none, none, none;
         animation-play-state: running, running, running, running;
         animation-name: animName, mediaAnim, doesNotExist, styleSheetAnim;
-        animation-timeline: auto, auto, auto, auto;
-        animation-range-start: normal, normal, normal, normal;
-        animation-range-end: normal, normal, normal, normal;
+        animation-timeline: auto;
+        animation-range-start: normal;
+        animation-range-end: normal;
 
 [expanded] 
 div { (user agent stylesheet)
@@ -70,9 +70,9 @@
         animation-fill-mode: none, none, none, none;
         animation-play-state: running, running, running, running;
         animation-name: animName, mediaAnim, doesNotExist, styleSheetAnim;
-        animation-timeline: auto, auto, auto, auto;
-        animation-range-start: normal, normal, normal, normal;
-        animation-range-end: normal, normal, normal, normal;
+        animation-timeline: auto;
+        animation-range-start: normal;
+        animation-range-end: normal;
 
 [expanded] 
 div { (user agent stylesheet)
@@ -125,9 +125,9 @@
         animation-fill-mode: none, none, none, none;
         animation-play-state: running, running, running, running;
         animation-name: animName, mediaAnim, doesNotExist, styleSheetAnim;
-        animation-timeline: auto, auto, auto, auto;
-        animation-range-start: normal, normal, normal, normal;
-        animation-range-end: normal, normal, normal, normal;
+        animation-timeline: auto;
+        animation-range-start: normal;
+        animation-range-end: normal;
 
 [expanded] 
 div { (user agent stylesheet)
@@ -180,9 +180,9 @@
         animation-fill-mode: none, none, none, none;
         animation-play-state: running, running, running, running;
         animation-name: animName, mediaAnim, doesNotExist, styleSheetAnim;
-        animation-timeline: auto, auto, auto, auto;
-        animation-range-start: normal, normal, normal, normal;
-        animation-range-end: normal, normal, normal, normal;
+        animation-timeline: auto;
+        animation-range-start: normal;
+        animation-range-end: normal;
 
 [expanded] 
 div { (user agent stylesheet)
@@ -235,9 +235,9 @@
         animation-fill-mode: none, none, none, none;
         animation-play-state: running, running, running, running;
         animation-name: animName, mediaAnim, doesNotExist, styleSheetAnim;
-        animation-timeline: auto, auto, auto, auto;
-        animation-range-start: normal, normal, normal, normal;
-        animation-range-end: normal, normal, normal, normal;
+        animation-timeline: auto;
+        animation-range-start: normal;
+        animation-range-end: normal;
 
 [expanded] 
 div { (user agent stylesheet)
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any-expected.txt
index cd74d02..b6de161 100644
--- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any-expected.txt
+++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any-expected.txt
@@ -1,14 +1,14 @@
 This is a testharness.js-based test.
-FAIL abs float32 1D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (abs) is not supported."
-FAIL abs float32 2D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (abs) is not supported."
-FAIL abs float32 3D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (abs) is not supported."
-FAIL abs float32 4D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (abs) is not supported."
-FAIL abs float32 5D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (abs) is not supported."
-FAIL ceil float32 1D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (ceil) is not supported."
-FAIL ceil float32 2D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (ceil) is not supported."
-FAIL ceil float32 3D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (ceil) is not supported."
-FAIL ceil float32 4D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (ceil) is not supported."
-FAIL ceil float32 5D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (ceil) is not supported."
+PASS abs float32 1D tensor / async
+PASS abs float32 2D tensor / async
+PASS abs float32 3D tensor / async
+PASS abs float32 4D tensor / async
+PASS abs float32 5D tensor / async
+PASS ceil float32 1D tensor / async
+PASS ceil float32 2D tensor / async
+PASS ceil float32 3D tensor / async
+PASS ceil float32 4D tensor / async
+PASS ceil float32 5D tensor / async
 FAIL cos float32 1D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL cos float32 2D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL cos float32 3D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
@@ -19,21 +19,21 @@
 FAIL exp float32 3D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL exp float32 4D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL exp float32 5D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
-FAIL floor float32 1D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (floor) is not supported."
-FAIL floor float32 2D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (floor) is not supported."
-FAIL floor float32 3D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (floor) is not supported."
-FAIL floor float32 4D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (floor) is not supported."
-FAIL floor float32 5D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (floor) is not supported."
+PASS floor float32 1D tensor / async
+PASS floor float32 2D tensor / async
+PASS floor float32 3D tensor / async
+PASS floor float32 4D tensor / async
+PASS floor float32 5D tensor / async
 FAIL log float32 positive 1D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL log float32 positive 2D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL log float32 positive 3D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL log float32 positive 4D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL log float32 positive 5D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
-FAIL neg float32 1D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (neg) is not supported."
-FAIL neg float32 2D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (neg) is not supported."
-FAIL neg float32 3D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (neg) is not supported."
-FAIL neg float32 4D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (neg) is not supported."
-FAIL neg float32 5D tensor / async promise_test: Unhandled rejection with value: object "NotSupportedError: The operator (neg) is not supported."
+PASS neg float32 1D tensor / async
+PASS neg float32 2D tensor / async
+PASS neg float32 3D tensor / async
+PASS neg float32 4D tensor / async
+PASS neg float32 5D tensor / async
 FAIL sin float32 1D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL sin float32 2D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
 FAIL sin float32 3D tensor / async promise_test: Unhandled rejection with value: object "TypeError: builder[operationName] is not a function"
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any.worker-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any.worker-expected.txt
index d4db751..5333e2d 100644
--- a/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any.worker-expected.txt
+++ b/third_party/blink/web_tests/platform/win/external/wpt/webnn/elementwise_unary.https.any.worker-expected.txt
@@ -1,15 +1,15 @@
 This is a testharness.js-based test.
-Found 90 tests; 0 PASS, 90 FAIL, 0 TIMEOUT, 0 NOTRUN.
-FAIL abs float32 1D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (abs) is not supported.
-FAIL abs float32 2D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (abs) is not supported.
-FAIL abs float32 3D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (abs) is not supported.
-FAIL abs float32 4D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (abs) is not supported.
-FAIL abs float32 5D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (abs) is not supported.
-FAIL ceil float32 1D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (ceil) is not supported.
-FAIL ceil float32 2D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (ceil) is not supported.
-FAIL ceil float32 3D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (ceil) is not supported.
-FAIL ceil float32 4D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (ceil) is not supported.
-FAIL ceil float32 5D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (ceil) is not supported.
+Found 90 tests; 20 PASS, 70 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS abs float32 1D tensor / sync
+PASS abs float32 2D tensor / sync
+PASS abs float32 3D tensor / sync
+PASS abs float32 4D tensor / sync
+PASS abs float32 5D tensor / sync
+PASS ceil float32 1D tensor / sync
+PASS ceil float32 2D tensor / sync
+PASS ceil float32 3D tensor / sync
+PASS ceil float32 4D tensor / sync
+PASS ceil float32 5D tensor / sync
 FAIL cos float32 1D tensor / sync builder[operationName] is not a function
 FAIL cos float32 2D tensor / sync builder[operationName] is not a function
 FAIL cos float32 3D tensor / sync builder[operationName] is not a function
@@ -20,21 +20,21 @@
 FAIL exp float32 3D tensor / sync builder[operationName] is not a function
 FAIL exp float32 4D tensor / sync builder[operationName] is not a function
 FAIL exp float32 5D tensor / sync builder[operationName] is not a function
-FAIL floor float32 1D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (floor) is not supported.
-FAIL floor float32 2D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (floor) is not supported.
-FAIL floor float32 3D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (floor) is not supported.
-FAIL floor float32 4D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (floor) is not supported.
-FAIL floor float32 5D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (floor) is not supported.
+PASS floor float32 1D tensor / sync
+PASS floor float32 2D tensor / sync
+PASS floor float32 3D tensor / sync
+PASS floor float32 4D tensor / sync
+PASS floor float32 5D tensor / sync
 FAIL log float32 positive 1D tensor / sync builder[operationName] is not a function
 FAIL log float32 positive 2D tensor / sync builder[operationName] is not a function
 FAIL log float32 positive 3D tensor / sync builder[operationName] is not a function
 FAIL log float32 positive 4D tensor / sync builder[operationName] is not a function
 FAIL log float32 positive 5D tensor / sync builder[operationName] is not a function
-FAIL neg float32 1D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (neg) is not supported.
-FAIL neg float32 2D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (neg) is not supported.
-FAIL neg float32 3D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (neg) is not supported.
-FAIL neg float32 4D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (neg) is not supported.
-FAIL neg float32 5D tensor / sync Failed to execute 'buildSync' on 'MLGraphBuilder': The operator (neg) is not supported.
+PASS neg float32 1D tensor / sync
+PASS neg float32 2D tensor / sync
+PASS neg float32 3D tensor / sync
+PASS neg float32 4D tensor / sync
+PASS neg float32 5D tensor / sync
 FAIL sin float32 1D tensor / sync builder[operationName] is not a function
 FAIL sin float32 2D tensor / sync builder[operationName] is not a function
 FAIL sin float32 3D tensor / sync builder[operationName] is not a function
diff --git a/third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt b/third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
index e109ddb..92951704 100644
--- a/third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
+++ b/third_party/blink/web_tests/svg/css/getComputedStyle-listing-expected.txt
@@ -56,7 +56,7 @@
 animation-composition: replace
 animation-delay: 0s
 animation-direction: normal
-animation-duration: auto
+animation-duration: 0s
 animation-fill-mode: none
 animation-iteration-count: 1
 animation-name: none
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-fonts/animations/font-palette-interpolation.html b/third_party/blink/web_tests/wpt_internal/css/css-fonts/animations/font-palette-interpolation.html
index 03f38c3..053533e1 100644
--- a/third_party/blink/web_tests/wpt_internal/css/css-fonts/animations/font-palette-interpolation.html
+++ b/third_party/blink/web_tests/wpt_internal/css/css-fonts/animations/font-palette-interpolation.html
@@ -127,6 +127,8 @@
     { fontPalette: ['normal', 'dark'] },
     {
       duration: 1000,
+      /* Should not affect anything, since <Color> type is not additive,
+         compare: https://drafts.csswg.org/css-values-4/#combine-colors. */
       composite: "add"
     }
   );
@@ -135,8 +137,7 @@
     animation.currentTime = 500;
   });
   assert_equals(getComputedStyle(target).fontPalette,
-                "palette-add(palette-mix(light, normal, 0.5)," +
-                " palette-mix(normal, dark, 0.5))");
+                "palette-mix(light, normal, 0.5)");
 }, "Test additive animations");
 
 </script>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/wpt_internal/css/css-transitions/starting-style-size-container.html b/third_party/blink/web_tests/wpt_internal/css/css-transitions/starting-style-size-container.html
new file mode 100644
index 0000000..9ca0b679
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/css/css-transitions/starting-style-size-container.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/8174">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/css-transitions/support/helper.js"></script>
+<div id="container" style="width: 200px">
+  <div id="target" style="display: none"></div>
+</div>
+<style>
+  #container {
+    container-type: inline-size;
+  }
+  #target {
+    transition-property: background-color;
+    transition-duration: 100s;
+    transition-timing-function: steps(2, start);
+    background-color: lime;
+  }
+  @container (width > 300px) {
+    @starting-style {
+      #target { background-color: white; }
+    }
+  }
+  @container (width < 300px) {
+    @starting-style {
+      #target { background-color: red; }
+    }
+  }
+</style>
+<script>
+  promise_test(async t => {
+    await waitForAnimationFrames(2);
+    assert_equals(getComputedStyle(target).backgroundColor, "rgb(0, 255, 0)",
+                  "No transition while display:none");
+    container.style.width = "400px";
+    target.style.display = "block";
+    await waitForAnimationFrames(2);
+    assert_equals(getComputedStyle(target).backgroundColor, "rgb(128, 255, 128)",
+                  "@starting-style based on the size query evaluation from the same frame");
+  }, "Triggered transition from first style update based on up-to-date container query");
+</script>
diff --git a/third_party/harfbuzz-ng/README.chromium b/third_party/harfbuzz-ng/README.chromium
index 548e859..48ebdc1a 100644
--- a/third_party/harfbuzz-ng/README.chromium
+++ b/third_party/harfbuzz-ng/README.chromium
@@ -1,10 +1,10 @@
 Name: harfbuzz-ng
 Short Name: harfbuzz-ng
 URL: http://harfbuzz.org
-Version: 7.2.0-125
-CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:7.2.0
-Date: 20230508
-Revision: 8df5cdbcda495a582e72a7e2ce35d6106401edce
+Version: 7.3.0-419
+CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:7.3.0
+Date: 20230613
+Revision: db700b5670d9475cc8ed4880cc9447b232c5e432
 Security Critical: yes
 License: MIT
 License File: src/COPYING
diff --git a/tools/metrics/actions/actions.xml b/tools/metrics/actions/actions.xml
index 1d8f4344..4bd778d7 100644
--- a/tools/metrics/actions/actions.xml
+++ b/tools/metrics/actions/actions.xml
@@ -11771,6 +11771,73 @@
   </description>
 </action>
 
+<action name="IOS.DefaultBrowserVideoPromo.Appear">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user is presented with the default browser video promo. iOS only.
+  </description>
+</action>
+
+<action name="IOS.DefaultBrowserVideoPromo.Fullscreen.Dismiss">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user dismissed the full screen default browser video promo. iOS only.
+  </description>
+</action>
+
+<action name="IOS.DefaultBrowserVideoPromo.Fullscreen.Impression">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user is presented with the fullscreen screen arm of the default browser
+    video promo. iOS only.
+  </description>
+</action>
+
+<action name="IOS.DefaultBrowserVideoPromo.Fullscreen.OpenSettingsTapped">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user accepted the full screen default browser video promo, and was taken
+    to the Settings app. iOS only.
+  </description>
+</action>
+
+<action name="IOS.DefaultBrowserVideoPromo.Halfscreen.Dismiss">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user dismissed the half screen default browser video promo. iOS only.
+  </description>
+</action>
+
+<action name="IOS.DefaultBrowserVideoPromo.Halfscreen.Impression">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user is presented with the half screen arm of the default browser video
+    promo. iOS only.
+  </description>
+</action>
+
+<action name="IOS.DefaultBrowserVideoPromo.Halfscreen.ShowMeHow">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <description>
+    The user accepted the half screen default browser video promo, and was taken
+    to the full screen default browser video promo. iOS only.
+  </description>
+</action>
+
 <action name="IOS.EmailExperience.LongPress.Copy">
   <owner>erahmaoui@google.com</owner>
   <owner>djean@chromium.org</owner>
@@ -37760,6 +37827,15 @@
   <affected-action name="Bookmarks.FolderAdded"/>
 </action-suffix>
 
+<action-suffix separator="." ordering="suffix">
+  <suffix name="AccountStorage" label="Bookmark opened from account storage."/>
+  <suffix name="LocalStorage"
+      label="Bookmark opened from local storage which is not being synced."/>
+  <suffix name="LocalStorageSyncing"
+      label="Bookmark opened from local storage which is being synced."/>
+  <affected-action name="Bookmarks.Opened"/>
+</action-suffix>
+
 <action-suffix separator="_" ordering="suffix">
   <suffix name="AdaptiveButtonInTopToolbarCustomization_AddToBookmarks"
       label="For AdaptiveButtonInTopToolbarCustomization add to bookmarks
diff --git a/tools/metrics/actions/extract_actions.py b/tools/metrics/actions/extract_actions.py
index 2902878..214d959e 100755
--- a/tools/metrics/actions/extract_actions.py
+++ b/tools/metrics/actions/extract_actions.py
@@ -207,7 +207,7 @@
 
 
 def AddBookmarkUsageActions(actions):
-  """Add actions that are sent by the PDF plugin.
+  """Add actions related to bookmarks usage.
 
   Arguments
     actions: set of actions to add to.
@@ -220,6 +220,10 @@
   actions.add('Bookmarks.FolderAdded.AccountStorage')
   actions.add('Bookmarks.FolderAdded.LocalStorage')
   actions.add('Bookmarks.FolderAdded.LocalStorageSyncing')
+  actions.add('Bookmarks.Opened')
+  actions.add('Bookmarks.Opened.AccountStorage')
+  actions.add('Bookmarks.Opened.LocalStorage')
+  actions.add('Bookmarks.Opened.LocalStorageSyncing')
 
 
 def AddChromeOSActions(actions):
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index edce33b..cd7e577 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -33069,6 +33069,7 @@
   <int value="1113" label="UrlKeyedMetricsAllowed"/>
   <int value="1114"
       label="AllowBackForwardCacheForCacheControlNoStorePageEnabled"/>
+  <int value="1115" label="DeviceLoginScreenWebHidAllowDevicesForUrls"/>
 </enum>
 
 <enum name="EnterprisePoliciesSources">
@@ -54342,6 +54343,12 @@
   <int value="3" label="All Tabs"/>
 </enum>
 
+<enum name="IOSDefaultBrowserVideoPromoAction">
+  <int value="0" label="Primary Action Button"/>
+  <int value="1" label="Secondary Action Button"/>
+  <int value="2" label="Swipe Down"/>
+</enum>
+
 <enum name="IOSDeviceRestoreSignedinState">
   <int value="0" label="User not signed in before iOS device restore"/>
   <int value="1"
@@ -61779,6 +61786,7 @@
   <int value="-648925189" label="ExploreSites:enabled"/>
   <int value="-648593261" label="Memories:enabled"/>
   <int value="-648383814" label="WebViewXRequestedWithHeaderControl:disabled"/>
+  <int value="-647550540" label="RenderDocument:enabled"/>
   <int value="-647223968" label="CrostiniQtImeSupport:enabled"/>
   <int value="-645772961" label="EnableFakeKeyboardHeuristic:enabled"/>
   <int value="-645455405" label="MacViewsNativeDialogs:enabled"/>
@@ -64378,6 +64386,7 @@
   <int value="720931007" label="WebAuthenticationBle:enabled"/>
   <int value="722334179" label="NoncedPartitionedCookies:disabled"/>
   <int value="723318188" label="EnableUniveralLinks:disabled"/>
+  <int value="723384042" label="RenderDocument:disabled"/>
   <int value="723385329" label="SystemEmojiPickerClipboard:enabled"/>
   <int value="723619383" label="TopSitesFromSiteEngagement:enabled"/>
   <int value="724052572" label="EnableFilesystemInIncognito"/>
@@ -91463,8 +91472,8 @@
   <int value="4" label="kTriggerExtensionRequest">
     A new extension request is added
   </int>
-  <int value="5" label="kExtensionRequestRealTime">
-    A new extension request is added and uploaded with ERP.
+  <int value="5" label="Obsolete_kExtensionRequestRealTime">
+    (Obsolete) A new extension request is added and uploaded with ERP.
   </int>
   <int value="6" label="kTriggerManual">User upload report manually</int>
 </enum>
diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml
index 706cf56..ec4dd874 100644
--- a/tools/metrics/histograms/metadata/android/histograms.xml
+++ b/tools/metrics/histograms/metadata/android/histograms.xml
@@ -1613,7 +1613,7 @@
 </histogram>
 
 <histogram name="Android.IncognitoNotification.FileNotDeleted" enum="Boolean"
-    expires_after="2023-06-25">
+    expires_after="M120">
   <owner>roagarwal@chromium.org</owner>
   <owner>chrome-incognito@google.com</owner>
   <summary>
@@ -4325,8 +4325,9 @@
 </histogram>
 
 <histogram name="Android.WebView.LoadUrl.UrlScheme" enum="WebViewUrlScheme"
-    expires_after="2023-04-19">
+    expires_after="2024-06-13">
   <owner>ntfschr@chromium.org</owner>
+  <owner>oksamyt@chromium.org</owner>
   <owner>torne@chromium.org</owner>
   <owner>src/android_webview/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/chromeos/histograms.xml b/tools/metrics/histograms/metadata/chromeos/histograms.xml
index 8f3fdf1..e28cc3a 100644
--- a/tools/metrics/histograms/metadata/chromeos/histograms.xml
+++ b/tools/metrics/histograms/metadata/chromeos/histograms.xml
@@ -2894,17 +2894,6 @@
   </token>
 </histogram>
 
-<histogram name="ChromeOS.Sync.PreferencesMigrated" enum="BooleanMigrated"
-    expires_after="2023-11-12">
-  <owner>rsorokin@chromium.org</owner>
-  <owner>jamescook@chromium.org</owner>
-  <owner>cros-oac@google.com</owner>
-  <summary>
-    Tracks whether browser sync preferences were migrated to the new OS sync
-    feature (project SplitSettingsSync). Recorded once per session during login.
-  </summary>
-</histogram>
-
 <histogram base="true" name="ChromeOS.SystemTray.AnimationSmoothness" units="%"
     expires_after="2023-10-22">
 <!-- Name completed by histogram suffixes
diff --git a/tools/metrics/histograms/metadata/content/histograms.xml b/tools/metrics/histograms/metadata/content/histograms.xml
index f4f93a0..01a2080 100644
--- a/tools/metrics/histograms/metadata/content/histograms.xml
+++ b/tools/metrics/histograms/metadata/content/histograms.xml
@@ -235,6 +235,16 @@
   </summary>
 </histogram>
 
+<histogram name="ContentSettings.RegularProfile.DefaultAutoVerifySetting"
+    enum="ContentSetting" expires_after="2024-04-16">
+  <owner>ryankalla@google.com</owner>
+  <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
+  <summary>
+    The default Auto-verify setting at profile open. This histogram is only
+    recorded for regular profiles.
+  </summary>
+</histogram>
+
 <histogram name="ContentSettings.RegularProfile.DefaultBackgroundSyncSetting"
     enum="ContentSetting" expires_after="2023-10-22">
   <owner>tungnh@chromium.org</owner>
@@ -245,6 +255,17 @@
   </summary>
 </histogram>
 
+<histogram name="ContentSettings.RegularProfile.DefaultStorageAccess"
+    enum="ContentSetting" expires_after="2023-10-23">
+  <owner>dullweber@chromium.org</owner>
+  <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
+  <summary>
+    The default storage access setting at profile open.
+
+    This histogram is only recorded for regular profiles.
+  </summary>
+</histogram>
+
 <histogram
     name="ContentSettings.{RegularProfileFiltered}DefaultAutoDarkWebContentSetting"
     enum="ContentSetting" expires_after="2023-02-19">
@@ -756,6 +777,7 @@
     <variant name="site-engagement" summary="Site engagement exceptions"/>
     <variant name="sound" summary="Sound exceptions"/>
     <variant name="ssl-cert-decisions" summary="SSL cert decisions exceptions"/>
+    <variant name="storage-access" summary="Storage Access exceptions"/>
     <variant name="subresource-filter" summary="Subresource filter exceptions"/>
     <variant name="subresource-filter-data" summary="Subresource filter data"/>
     <variant name="usb-chooser-data" summary="USB chooser data exceptions"/>
diff --git a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
index 9d6a6867..d6c762f 100644
--- a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
+++ b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
@@ -1044,6 +1044,10 @@
   <suffix name="Ask" label="Ask"/>
   <suffix name="Block" label="Block"/>
   <suffix name="DetectImportantContent" label="Detect important content"/>
+  <suffix name="MaxRequester"
+      label="Maximum number of exceptions per requester"/>
+  <suffix name="MaxTopLevel"
+      label="Maximum number of exceptions per top-level"/>
   <suffix name="SessionOnly" label="Session only"/>
   <affected-histogram name="ContentSettings.Exceptions.cookies">
     <obsolete>
@@ -1067,6 +1071,8 @@
   <affected-histogram name="ContentSettings.RegularProfile.Exceptions.cookies"/>
   <affected-histogram name="ContentSettings.RegularProfile.Exceptions.popups"/>
   <affected-histogram
+      name="ContentSettings.RegularProfile.Exceptions.storage-access"/>
+  <affected-histogram
       name="ContentSettings.RegularProfile.Exceptions.subresource-filter"/>
 </histogram_suffixes>
 
diff --git a/tools/metrics/histograms/metadata/ios/histograms.xml b/tools/metrics/histograms/metadata/ios/histograms.xml
index ee2bcdc3..e95781de 100644
--- a/tools/metrics/histograms/metadata/ios/histograms.xml
+++ b/tools/metrics/histograms/metadata/ios/histograms.xml
@@ -603,6 +603,28 @@
   </token>
 </histogram>
 
+<histogram name="IOS.DefaultBrowserVideoPromo.Fullscreen"
+    enum="IOSDefaultBrowserVideoPromoAction" expires_after="2023-12-01">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <summary>
+    The action taken by the user in response to the full screen default browser
+    video promo.
+  </summary>
+</histogram>
+
+<histogram name="IOS.DefaultBrowserVideoPromo.Halfscreen"
+    enum="IOSDefaultBrowserVideoPromoAction" expires_after="2023-12-01">
+  <owner>cheickcisse@google.com</owner>
+  <owner>sebsg@chromium.org</owner>
+  <owner>bling-get-set-up@google.com</owner>
+  <summary>
+    The action taken by the user in response to the half screen default browser
+    video promo.
+  </summary>
+</histogram>
+
 <histogram name="IOS.DistantTab.TimeSinceLastUse" units="ms"
     expires_after="2023-11-01">
   <owner>ewannpv@chromium.org</owner>
@@ -1141,6 +1163,18 @@
   </summary>
 </histogram>
 
+<histogram name="IOS.MainFrameNavigationIsInBrowserLockdownMode" enum="Boolean"
+    expires_after="2023-11-23">
+  <owner>joemerramos@chromium.org</owner>
+  <owner>ajuma@chromium.org</owner>
+  <owner>bling-fundamentals@google.com</owner>
+  <summary>
+    Records whether Browser Lockdown Mode is enabled for a main-frame navigation
+    action. This is recorded once for every allowed main-frame navigation
+    action.
+  </summary>
+</histogram>
+
 <histogram name="IOS.MainFrameNavigationIsInLockdownMode" enum="Boolean"
     expires_after="2023-11-23">
   <owner>ajuma@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml
index e8ffc23..210093a 100644
--- a/tools/metrics/histograms/metadata/media/histograms.xml
+++ b/tools/metrics/histograms/metadata/media/histograms.xml
@@ -1077,6 +1077,18 @@
   </summary>
 </histogram>
 
+<histogram name="Media.Audio.Render.SystemDelay" units="ms"
+    expires_after="2024-06-01">
+  <owner>fhernqvist@google.com</owner>
+  <owner>olka@chromium.org</owner>
+  <owner>webrtc-audio-uma@google.com</owner>
+  <summary>
+    The delay between audio being delivered to the OS-specific implementation of
+    AudioOutputStream and the audio being played out by the speakers. Reported
+    every time the AudioOutputStream calls AudioSourceCallback::OnMoreData.
+  </summary>
+</histogram>
+
 <histogram name="Media.Audio.TabAudioMuted" enum="Boolean"
     expires_after="2023-11-12">
   <owner>evliu@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/net/histograms.xml b/tools/metrics/histograms/metadata/net/histograms.xml
index 46ec700..fb5324c 100644
--- a/tools/metrics/histograms/metadata/net/histograms.xml
+++ b/tools/metrics/histograms/metadata/net/histograms.xml
@@ -1068,24 +1068,24 @@
 </histogram>
 
 <histogram base="true" name="Net.DNS.DnsTransaction.Insecure.FailureTime"
-    units="ms" expires_after="2023-06-14">
+    units="ms" expires_after="2024-06-13">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Duration of time taken by an insecure DnsTransaction to fail.
   </summary>
 </histogram>
 
 <histogram base="true" name="Net.DNS.DnsTransaction.Insecure.SuccessTime"
-    units="ms" expires_after="2023-06-14">
+    units="ms" expires_after="2024-06-13">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Duration of time taken by an insecure DnsTransaction to succeed.
   </summary>
@@ -1093,12 +1093,12 @@
 
 <histogram base="true"
     name="Net.DNS.DnsTransaction.SecureNotValidated.FailureError"
-    enum="NetErrorCodes" expires_after="2023-06-14">
+    enum="NetErrorCodes" expires_after="2023-11-30">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Counts of specific error codes returned by secure DnsTransactions to a DoH
     server that is unavailable or has unknown availability. These transactions
@@ -1108,12 +1108,12 @@
 
 <histogram base="true"
     name="Net.DNS.DnsTransaction.SecureNotValidated.FailureTime" units="ms"
-    expires_after="2023-06-14">
+    expires_after="2023-11-30">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Duration of time taken by a secure DnsTransaction to a DoH server that is
     unavailable or has unknown availability to fail. These transactions may be
@@ -1123,12 +1123,12 @@
 
 <histogram base="true"
     name="Net.DNS.DnsTransaction.SecureNotValidated.SuccessTime" units="ms"
-    expires_after="2023-06-14">
+    expires_after="2023-11-30">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Duration of time taken by a secure DnsTransaction to a DoH server that is
     unavailable or has unknown availability to succeed. These transactions may
@@ -1138,12 +1138,12 @@
 
 <histogram base="true"
     name="Net.DNS.DnsTransaction.SecureValidated.FailureError"
-    enum="NetErrorCodes" expires_after="2023-06-14">
+    enum="NetErrorCodes" expires_after="2024-06-13">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Counts of specific error codes returned by secure DnsTransactions to an
     available DoH server. A DoH server is available if a probe has been
@@ -1154,12 +1154,12 @@
 
 <histogram base="true"
     name="Net.DNS.DnsTransaction.SecureValidated.FailureTime" units="ms"
-    expires_after="2023-06-14">
+    expires_after="2024-06-13">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Duration of time taken by a secure DnsTransaction to an available DoH server
     to fail. A DoH server is available if a probe has been successfully
@@ -1169,12 +1169,12 @@
 
 <histogram base="true"
     name="Net.DNS.DnsTransaction.SecureValidated.SuccessTime" units="ms"
-    expires_after="2023-06-14">
+    expires_after="2024-06-13">
 <!-- Name completed by histogram_suffixes
    name="DohProviderId" -->
 
   <owner>awillia@chromium.org</owner>
-  <owner>doh-core@google.com</owner>
+  <owner>src/net/dns/OWNERS</owner>
   <summary>
     Duration of time taken by a secure DnsTransaction to an available DoH server
     to succeed. A DoH server is available if a probe has been successfully
@@ -4753,8 +4753,8 @@
   </summary>
 </histogram>
 
-<histogram name="Net.SharedDictionaryManagerOnDisk.DictionarySize"
-    units="bytes" expires_after="2023-12-01">
+<histogram name="Net.SharedDictionaryManagerOnDisk.DictionarySizeKB" units="KB"
+    expires_after="2023-12-01">
   <owner>horo@chromium.org</owner>
   <owner>src/net/extras/shared_dictionary/OWNERS</owner>
   <summary>
@@ -4798,7 +4798,7 @@
 
 <histogram
     name="Net.SharedDictionaryManagerOnDisk.TotalDictionaryCountWhenAdded"
-    units="bytes" expires_after="2023-12-01">
+    units="count" expires_after="2023-12-01">
   <owner>horo@chromium.org</owner>
   <owner>src/net/extras/shared_dictionary/OWNERS</owner>
   <summary>
@@ -4809,8 +4809,8 @@
 </histogram>
 
 <histogram
-    name="Net.SharedDictionaryManagerOnDisk.TotalDictionarySizeWhenAdded"
-    units="bytes" expires_after="2023-12-01">
+    name="Net.SharedDictionaryManagerOnDisk.TotalDictionarySizeKBWhenAdded"
+    units="KB" expires_after="2023-12-01">
   <owner>horo@chromium.org</owner>
   <owner>src/net/extras/shared_dictionary/OWNERS</owner>
   <summary>
@@ -4820,6 +4820,28 @@
   </summary>
 </histogram>
 
+<histogram name="Net.SharedDictionaryStore.DictionaryCountPerSiteWhenAdded"
+    units="count" expires_after="2023-12-01">
+  <owner>horo@chromium.org</owner>
+  <owner>src/net/extras/shared_dictionary/OWNERS</owner>
+  <summary>
+    The count of shared dictionary per top frame site on metadata. Emitted when
+    SQLitePersistentSharedDictionaryStore is writing a dictionary in the
+    database.
+  </summary>
+</histogram>
+
+<histogram name="Net.SharedDictionaryStore.DictionarySizeKBPerSiteWhenAdded"
+    units="KB" expires_after="2023-12-01">
+  <owner>horo@chromium.org</owner>
+  <owner>src/net/extras/shared_dictionary/OWNERS</owner>
+  <summary>
+    The size of shared dictionary per top frame site on metadata. Emitted when
+    SQLitePersistentSharedDictionaryStore is writing a dictionary in the
+    database.
+  </summary>
+</histogram>
+
 <histogram name="Net.SharedDictionaryWriterInMemory.DictionarySize"
     units="bytes" expires_after="2023-12-01">
   <owner>horo@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/uma/histograms.xml b/tools/metrics/histograms/metadata/uma/histograms.xml
index a4214281..24f7bfad 100644
--- a/tools/metrics/histograms/metadata/uma/histograms.xml
+++ b/tools/metrics/histograms/metadata/uma/histograms.xml
@@ -459,7 +459,7 @@
 </histogram>
 
 <histogram name="UMA.MetricsService.Initialize.Time" units="microseconds"
-    expires_after="2023-06-18">
+    expires_after="2024-01-31">
   <owner>asvitkine@chromium.org</owner>
   <owner>src/base/metrics/OWNERS</owner>
   <summary>
diff --git a/ui/android/java/strings/translations/android_ui_strings_el.xtb b/ui/android/java/strings/translations/android_ui_strings_el.xtb
index c9275d5..084083a 100644
--- a/ui/android/java/strings/translations/android_ui_strings_el.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_el.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">Αντιγράφ.</translation>
 <translation id="3240426699337459095">Ο σύνδεσμος αντιγράφηκε</translation>
 <translation id="4177314441326667883">Το URL περικόπηκε</translation>
+<translation id="4918844574251943176">Η εικόνα αντιγράφηκε</translation>
 <translation id="6142675540468977324">Το URL επεκτάθηκε</translation>
 <translation id="6315516427814392808">Δεν ήταν δυνατή η ολοκλήρωση της προηγούμενης λειτουργίας λόγω χαμηλού επιπέδου μνήμης</translation>
 <translation id="6555463879959038093">Αποτυχία αντιγραφής στο πρόχειρο</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_fa.xtb b/ui/android/java/strings/translations/android_ui_strings_fa.xtb
index 6ae4c4a..01ffa88f 100644
--- a/ui/android/java/strings/translations/android_ui_strings_fa.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_fa.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">کپی شد</translation>
 <translation id="3240426699337459095">پیوند کپی شد</translation>
 <translation id="4177314441326667883">نشانی وب کوتاه شد</translation>
+<translation id="4918844574251943176">تصویر کپی شد</translation>
 <translation id="6142675540468977324">نشانی وب ازهم باز شد</translation>
 <translation id="6315516427814392808">به دلیل کم بودن حافظه، تکمیل عملیات قبلی امکان‌پذیر نیست</translation>
 <translation id="6555463879959038093">کپی در بریده‌دان ناموفق بود</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_hu.xtb b/ui/android/java/strings/translations/android_ui_strings_hu.xtb
index 7e1e099..19bfa1e9 100644
--- a/ui/android/java/strings/translations/android_ui_strings_hu.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_hu.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">Másolt</translation>
 <translation id="3240426699337459095">Link másolva</translation>
 <translation id="4177314441326667883">URL csonkolva</translation>
+<translation id="4918844574251943176">Kép másolva</translation>
 <translation id="6142675540468977324">URL kibontva</translation>
 <translation id="6315516427814392808">Az előző műveletet memóriahiány miatt nem lehet elvégezni</translation>
 <translation id="6555463879959038093">Nem sikerült a vágólapra másolni</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_is.xtb b/ui/android/java/strings/translations/android_ui_strings_is.xtb
index 8070260..7938fd48 100644
--- a/ui/android/java/strings/translations/android_ui_strings_is.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_is.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">Afritað</translation>
 <translation id="3240426699337459095">Tengill afritaður</translation>
 <translation id="4177314441326667883">Stytt vefslóð</translation>
+<translation id="4918844574251943176">Mynd afrituð</translation>
 <translation id="6142675540468977324">Öll vefslóðin</translation>
 <translation id="6315516427814392808">Lítið minni veldur því að ekki er hægt að ljúka fyrri aðgerð</translation>
 <translation id="6555463879959038093">Mistókst að afrita á klippiborð</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_ml.xtb b/ui/android/java/strings/translations/android_ui_strings_ml.xtb
index 2fd9695..19465f6 100644
--- a/ui/android/java/strings/translations/android_ui_strings_ml.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_ml.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">പകർത്തി</translation>
 <translation id="3240426699337459095">ലിങ്ക് പകർത്തി</translation>
 <translation id="4177314441326667883">URL ചുരുക്കി</translation>
+<translation id="4918844574251943176">ചിത്രം പകർത്തി</translation>
 <translation id="6142675540468977324">URL വികസിപ്പിച്ചു</translation>
 <translation id="6315516427814392808">മെമ്മറി കുറവായതിനാൽ മുമ്പത്തെ പ്രവർത്തനം പൂർത്തിയാക്കാനായില്ല</translation>
 <translation id="6555463879959038093">ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്താനായില്ല</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_sl.xtb b/ui/android/java/strings/translations/android_ui_strings_sl.xtb
index dae0c67b..b04f4d4b 100644
--- a/ui/android/java/strings/translations/android_ui_strings_sl.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_sl.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">Kopirano</translation>
 <translation id="3240426699337459095">Povezava kopirana</translation>
 <translation id="4177314441326667883">URL je skrajšan</translation>
+<translation id="4918844574251943176">Slika je kopirana</translation>
 <translation id="6142675540468977324">URL je razširjen</translation>
 <translation id="6315516427814392808">Prejšnjega dejanja ni mogoče končati, ker primanjkuje pomnilnika</translation>
 <translation id="6555463879959038093">Kopiranje v odložišče ni uspelo</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_sv.xtb b/ui/android/java/strings/translations/android_ui_strings_sv.xtb
index a72a0404..a9e9ff9 100644
--- a/ui/android/java/strings/translations/android_ui_strings_sv.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_sv.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">Kopierat</translation>
 <translation id="3240426699337459095">Länken har kopierats</translation>
 <translation id="4177314441326667883">Webbadressen har trunkerats</translation>
+<translation id="4918844574251943176">Bilden har kopierats</translation>
 <translation id="6142675540468977324">Webbadressen har utökats</translation>
 <translation id="6315516427814392808">Föregående åtgärd kan inte slutföras. För lite minne.</translation>
 <translation id="6555463879959038093">Det gick inte att kopiera till Urklipp</translation>
diff --git a/ui/android/java/strings/translations/android_ui_strings_zu.xtb b/ui/android/java/strings/translations/android_ui_strings_zu.xtb
index 1b83092..4f16a01 100644
--- a/ui/android/java/strings/translations/android_ui_strings_zu.xtb
+++ b/ui/android/java/strings/translations/android_ui_strings_zu.xtb
@@ -5,6 +5,7 @@
 <translation id="2704606927547763573">Kukopishiwe</translation>
 <translation id="3240426699337459095">Isixhumanisi sikopishiwe</translation>
 <translation id="4177314441326667883">I-Url inciphisiwe</translation>
+<translation id="4918844574251943176">Umfanekiso ukopishiwe</translation>
 <translation id="6142675540468977324">I-Url inwetshiwe</translation>
 <translation id="6315516427814392808">Ayikwazi ukuqedelela ukusebenza okudlule ngenxa yememori ephansi</translation>
 <translation id="6555463879959038093">Yehlulekile ukukopisheka kubhodi lokunamathisela</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ar.xtb b/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
index e3942b9..76c9ee0 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
@@ -1050,7 +1050,7 @@
 <translation id="938470336146445890">يُرجى تثبيت شهادة مستخدم.</translation>
 <translation id="939736085109172342">مجلد جديد</translation>
 <translation id="943972244133411984">تم التعديل بواسطة</translation>
-<translation id="945522503751344254">إرسال تعليقات</translation>
+<translation id="945522503751344254">إرسال ملاحظات</translation>
 <translation id="947144732524271678">تم اختيار مجموعة من <ph name="ENTRY_COUNT" /> إدخال من <ph name="FROM_ENTRY_NAME" /> إلى <ph name="TO_ENTRY_NAME" />.</translation>
 <translation id="954194396377670556">تمنع سياسة المشرف ما يلي:</translation>
 <translation id="965477715979482472">الإنجليزية (جنوب أفريقيا)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
index 01edd34..31575d3 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
@@ -1046,7 +1046,7 @@
 <translation id="9213073329713032541">Installation successfully started.</translation>
 <translation id="9219103736887031265">Images</translation>
 <translation id="9219908252191632183">Lunar</translation>
-<translation id="937795003075802289">[=1]Syncing 1 file</translation>
+<translation id="937795003075802289">Syncing 1 file</translation>
 <translation id="938470336146445890">Please install a user certificate.</translation>
 <translation id="939736085109172342">New folder</translation>
 <translation id="943972244133411984">Modified by</translation>
diff --git a/ui/file_manager/integration_tests/file_manager/dlp.js b/ui/file_manager/integration_tests/file_manager/dlp.js
index 4a4c2e0..0add2379 100644
--- a/ui/file_manager/integration_tests/file_manager/dlp.js
+++ b/ui/file_manager/integration_tests/file_manager/dlp.js
@@ -670,3 +670,75 @@
   await remoteCall.waitForElement(
       appId, ['#tasks-menu:not([hidden]) cr-menu-item[disabled]:nth-child(3)']);
 };
+
+
+/**
+ * Tests that extraction works when the scoped file access delegate exists and
+ * correct output files are generated.
+ */
+testcase.zipExtractRestrictedArchiveCheckContent = async () => {
+  const entry = ENTRIES.zipArchive;
+
+  // Add entries to Downloads and setup the fake source URLs.
+  await addEntries(['local'], [entry]);
+  await sendTestMessage({
+    name: 'setGetFilesSourcesMock',
+    fileNames: [entry.nameText],
+    sourceUrls: ['https://blocked.com'],
+  });
+
+  // Setup the restrictions.
+  await sendTestMessage({name: 'setIsRestrictedByAnyRuleBlocked'});
+
+  // Setup the scoped file access delegate.
+  await sendTestMessage({name: 'setupScopedFileAccessDelegateAllowed'});
+
+  // Open Files app.
+  const appId = await setupAndWaitUntilReady(RootPath.DOWNLOADS, [entry], []);
+
+  // Wait for the DLP managed icon to be shown.
+  await remoteCall.waitForElementsCount(
+      appId, ['#file-list .dlp-managed-icon'], 1);
+
+  const targetDirectoryName = entry.nameText.split('.')[0];
+
+  // Make sure the test extension handles the new window creation properly.
+  await sendTestMessage({
+    name: 'expectFileTask',
+    fileNames: [targetDirectoryName],
+    openType: 'launch',
+  });
+
+  // Select the file.
+  await remoteCall.waitUntilSelected(appId, entry.nameText);
+
+  // Right-click the selected file.
+  await remoteCall.waitAndRightClick(appId, '.table-row[selected]');
+
+  // Check: the context menu should appear.
+  await remoteCall.waitForElement(appId, '#file-context-menu:not([hidden])');
+
+  // Click the 'Extract all' menu command.
+  await remoteCall.waitAndClickElement(
+      appId, '[command="#extract-all"]:not([hidden])');
+
+  const directoryQuery = '#file-list [file-name="' + targetDirectoryName + '"]';
+  // Check: the extract directory should appear.
+  await remoteCall.waitForElement(appId, directoryQuery);
+
+  // Double click the created directory to open it.
+  chrome.test.assertTrue(
+      !!await remoteCall.callRemoteTestUtil(
+          'fakeMouseDoubleClick', appId, [directoryQuery]),
+      'fakeMouseDoubleClick failed');
+
+  // Check: File content in the ZIP should appear.
+  await remoteCall.waitForFiles(
+      appId,
+      [
+        ['folder', '--', 'Folder'],
+        ['text.txt', '--', 'Plain text'],
+        ['image.png', '--', 'PNG image'],
+      ],
+      {ignoreFileSize: true, ignoreLastModifiedTime: true});
+};
diff --git a/ui/strings/translations/ui_strings_af.xtb b/ui/strings/translations/ui_strings_af.xtb
index 875e55c..100ebd19 100644
--- a/ui/strings/translations/ui_strings_af.xtb
+++ b/ui/strings/translations/ui_strings_af.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> is gekies.</translation>
 <translation id="6264365405983206840">Kies alles</translation>
+<translation id="6346952829206698721">Plak van knipbord af</translation>
 <translation id="6364916375976753737">Rollees na links</translation>
 <translation id="6394627529324717982">Komma</translation>
 <translation id="6397363302884558537">Hou op praat</translation>
diff --git a/ui/strings/translations/ui_strings_ar.xtb b/ui/strings/translations/ui_strings_ar.xtb
index e29ae0b4..c5611384 100644
--- a/ui/strings/translations/ui_strings_ar.xtb
+++ b/ui/strings/translations/ui_strings_ar.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> بايت/ثانية</translation>
 <translation id="6237461503717005873">تمّ اختيار <ph name="ROW_NAME" />.</translation>
 <translation id="6264365405983206840">تحديد &amp;الكل</translation>
+<translation id="6346952829206698721">لصق من الحافظة</translation>
 <translation id="6364916375976753737">التمرير إلى اليمين</translation>
 <translation id="6394627529324717982">فاصلة</translation>
 <translation id="6397363302884558537">إيقاف التحدث</translation>
diff --git a/ui/strings/translations/ui_strings_as.xtb b/ui/strings/translations/ui_strings_as.xtb
index 3f37a01..50e3dee 100644
--- a/ui/strings/translations/ui_strings_as.xtb
+++ b/ui/strings/translations/ui_strings_as.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> বাছনি কৰা হৈছে।</translation>
 <translation id="6264365405983206840">&amp;সকলো বাছনি কৰক</translation>
+<translation id="6346952829206698721">ক্লিপব’ৰ্ডৰ পৰা পে’ষ্ট কৰক</translation>
 <translation id="6364916375976753737">বাওঁফাললৈ স্ক্ৰ’ল কৰক</translation>
 <translation id="6394627529324717982">ক’মা</translation>
 <translation id="6397363302884558537">কথন বন্ধ কৰক</translation>
diff --git a/ui/strings/translations/ui_strings_az.xtb b/ui/strings/translations/ui_strings_az.xtb
index 1344c84d..4d261f51 100644
--- a/ui/strings/translations/ui_strings_az.xtb
+++ b/ui/strings/translations/ui_strings_az.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> seçilib.</translation>
 <translation id="6264365405983206840">Hamısını seçin</translation>
+<translation id="6346952829206698721">Mübadilə buferindən əlavə edin</translation>
 <translation id="6364916375976753737">Sola Sürüşdürün</translation>
 <translation id="6394627529324717982">Vergül</translation>
 <translation id="6397363302884558537">Danışmağı dayandırın</translation>
diff --git a/ui/strings/translations/ui_strings_el.xtb b/ui/strings/translations/ui_strings_el.xtb
index 437c9124..48e129a 100644
--- a/ui/strings/translations/ui_strings_el.xtb
+++ b/ui/strings/translations/ui_strings_el.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873">Η σειρά <ph name="ROW_NAME" /> είναι επιλεγμένη.</translation>
 <translation id="6264365405983206840">Επιλογή Όλ&amp;ων</translation>
+<translation id="6346952829206698721">Επικόλληση από το πρόχειρο</translation>
 <translation id="6364916375976753737">Κύλιση αριστερά</translation>
 <translation id="6394627529324717982">Κόμμα</translation>
 <translation id="6397363302884558537">Διακοπή ομιλίας</translation>
diff --git a/ui/strings/translations/ui_strings_fa.xtb b/ui/strings/translations/ui_strings_fa.xtb
index 47e5851..76a4f4ad 100644
--- a/ui/strings/translations/ui_strings_fa.xtb
+++ b/ui/strings/translations/ui_strings_fa.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> بایت/ثانیه</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> انتخاب می‌شود.</translation>
 <translation id="6264365405983206840">انتخاب &amp;همه</translation>
+<translation id="6346952829206698721">جای‌گذاری از بریده‌دان</translation>
 <translation id="6364916375976753737">پیمایش به چپ</translation>
 <translation id="6394627529324717982">کاما</translation>
 <translation id="6397363302884558537">توقف صحبت</translation>
diff --git a/ui/strings/translations/ui_strings_gu.xtb b/ui/strings/translations/ui_strings_gu.xtb
index be5f813..1a94fbf8 100644
--- a/ui/strings/translations/ui_strings_gu.xtb
+++ b/ui/strings/translations/ui_strings_gu.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" />ને પસંદ કરી.</translation>
 <translation id="6264365405983206840">&amp;બધા પસંદ કરો</translation>
+<translation id="6346952829206698721">ક્લિપબોર્ડ પરથી પેસ્ટ કરો</translation>
 <translation id="6364916375976753737">ડાબે સ્ક્રોલ કરો</translation>
 <translation id="6394627529324717982">અલ્પવિરામ</translation>
 <translation id="6397363302884558537">બોલવાનું રોકો</translation>
diff --git a/ui/strings/translations/ui_strings_hu.xtb b/ui/strings/translations/ui_strings_hu.xtb
index dee1060..5a6ae16 100644
--- a/ui/strings/translations/ui_strings_hu.xtb
+++ b/ui/strings/translations/ui_strings_hu.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> kiválasztva.</translation>
 <translation id="6264365405983206840">Össz&amp;es kiválasztása</translation>
+<translation id="6346952829206698721">Beillesztés a vágólapról</translation>
 <translation id="6364916375976753737">Görgetés balra</translation>
 <translation id="6394627529324717982">Vessző</translation>
 <translation id="6397363302884558537">Beszéd leállítása</translation>
diff --git a/ui/strings/translations/ui_strings_kn.xtb b/ui/strings/translations/ui_strings_kn.xtb
index 718a2d9f..68afc2e 100644
--- a/ui/strings/translations/ui_strings_kn.xtb
+++ b/ui/strings/translations/ui_strings_kn.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> ಅನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ.</translation>
 <translation id="6264365405983206840">&amp;ಎಲ್ಲ ಆಯ್ಕೆ ಮಾಡಿ</translation>
+<translation id="6346952829206698721">ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ನಿಂದ ಅಂಟಿಸಿ</translation>
 <translation id="6364916375976753737">ಎಡಕ್ಕೆ ಸ್ಕ್ರೋಲ್ ಮಾಡಿ</translation>
 <translation id="6394627529324717982">ಅರ್ಧವಿರಾಮ</translation>
 <translation id="6397363302884558537">ಮಾತನಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ</translation>
diff --git a/ui/strings/translations/ui_strings_ky.xtb b/ui/strings/translations/ui_strings_ky.xtb
index 014da31..3412bb2 100644
--- a/ui/strings/translations/ui_strings_ky.xtb
+++ b/ui/strings/translations/ui_strings_ky.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> Б/сек</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> тили тандалды.</translation>
 <translation id="6264365405983206840">&amp;Баарын тандоо</translation>
+<translation id="6346952829206698721">Алмашуу буферинен чаптоо</translation>
 <translation id="6364916375976753737">Солго сыдырып кароо</translation>
 <translation id="6394627529324717982">Үтүр</translation>
 <translation id="6397363302884558537">Сүйлөөнү токтот</translation>
diff --git a/ui/strings/translations/ui_strings_lo.xtb b/ui/strings/translations/ui_strings_lo.xtb
index 69feaaf..ac8015a 100644
--- a/ui/strings/translations/ui_strings_lo.xtb
+++ b/ui/strings/translations/ui_strings_lo.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> ໄບ້ທ໌/ວິນາທີ</translation>
 <translation id="6237461503717005873">ເລືອກ <ph name="ROW_NAME" /> ແລ້ວ.</translation>
 <translation id="6264365405983206840">ເລືອກ​ທັງ​ຫມົດ</translation>
+<translation id="6346952829206698721">ວາງຈາກຄລິບບອດ</translation>
 <translation id="6364916375976753737">ເລື່ອນທາງຊ້າຍ</translation>
 <translation id="6394627529324717982">ຈຸດ</translation>
 <translation id="6397363302884558537">ເຊົາ​ເວົ້າ</translation>
diff --git a/ui/strings/translations/ui_strings_ml.xtb b/ui/strings/translations/ui_strings_ml.xtb
index f72f7c3..9316c88 100644
--- a/ui/strings/translations/ui_strings_ml.xtb
+++ b/ui/strings/translations/ui_strings_ml.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> തിരഞ്ഞെടുത്തു.</translation>
 <translation id="6264365405983206840">എല്ലാം &amp;തിരഞ്ഞെടുക്കുക</translation>
+<translation id="6346952829206698721">ക്ലിപ്പ്‌ബോർഡിൽ നിന്ന് ഒട്ടിക്കുക</translation>
 <translation id="6364916375976753737">ഇടത്തേക്ക് സ്ക്രോള്‍ ചെയ്യുക</translation>
 <translation id="6394627529324717982">കോമ</translation>
 <translation id="6397363302884558537">സംഭാഷണം നിർത്തുക</translation>
diff --git a/ui/strings/translations/ui_strings_my.xtb b/ui/strings/translations/ui_strings_my.xtb
index 536c18c0..11354aa 100644
--- a/ui/strings/translations/ui_strings_my.xtb
+++ b/ui/strings/translations/ui_strings_my.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> ကို ရွေးထားသည်။</translation>
 <translation id="6264365405983206840">အားလုံး  &amp;ရွေးရန်</translation>
+<translation id="6346952829206698721">ကလစ်ဘုတ်မှ ကူးထည့်ရန်</translation>
 <translation id="6364916375976753737">ဘယ်သို့ လှိမ့်ရန်</translation>
 <translation id="6394627529324717982">ကော်မာ</translation>
 <translation id="6397363302884558537">စကားပြောဆိုမှု ရပ်ရန်</translation>
diff --git a/ui/strings/translations/ui_strings_nl.xtb b/ui/strings/translations/ui_strings_nl.xtb
index 0b867a2..c0fbf73 100644
--- a/ui/strings/translations/ui_strings_nl.xtb
+++ b/ui/strings/translations/ui_strings_nl.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> is geselecteerd.</translation>
 <translation id="6264365405983206840">&amp;Alles selecteren</translation>
+<translation id="6346952829206698721">Plakken vanaf klembord</translation>
 <translation id="6364916375976753737">Naar links bladeren</translation>
 <translation id="6394627529324717982">Komma</translation>
 <translation id="6397363302884558537">Inspreken stoppen</translation>
diff --git a/ui/strings/translations/ui_strings_ro.xtb b/ui/strings/translations/ui_strings_ro.xtb
index b4e095d..456b370 100644
--- a/ui/strings/translations/ui_strings_ro.xtb
+++ b/ui/strings/translations/ui_strings_ro.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873">S-a selectat <ph name="ROW_NAME" />.</translation>
 <translation id="6264365405983206840">Select&amp;ează tot</translation>
+<translation id="6346952829206698721">Inserează din clipboard</translation>
 <translation id="6364916375976753737">Derulează spre stânga</translation>
 <translation id="6394627529324717982">Virgulă</translation>
 <translation id="6397363302884558537">Opriți-vă din vorbit</translation>
diff --git a/ui/strings/translations/ui_strings_ur.xtb b/ui/strings/translations/ui_strings_ur.xtb
index 5dc733ba..6a562dcb 100644
--- a/ui/strings/translations/ui_strings_ur.xtb
+++ b/ui/strings/translations/ui_strings_ur.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> بائٹس/سیکنڈ</translation>
 <translation id="6237461503717005873"><ph name="ROW_NAME" /> کو منتخب کیا گیا۔</translation>
 <translation id="6264365405983206840">&amp;سبھی کو منتخب کریں</translation>
+<translation id="6346952829206698721">کلپ بورڈ سے پیسٹ کریں</translation>
 <translation id="6364916375976753737">بائیں سکرول کریں</translation>
 <translation id="6394627529324717982">کوما</translation>
 <translation id="6397363302884558537">بولنا بند کریں</translation>
diff --git a/ui/strings/translations/ui_strings_vi.xtb b/ui/strings/translations/ui_strings_vi.xtb
index 9e407f8e..a8188ff 100644
--- a/ui/strings/translations/ui_strings_vi.xtb
+++ b/ui/strings/translations/ui_strings_vi.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/giây</translation>
 <translation id="6237461503717005873">Đã chọn <ph name="ROW_NAME" />.</translation>
 <translation id="6264365405983206840">Chọn &amp;Tất cả</translation>
+<translation id="6346952829206698721">Dán từ bảng nhớ tạm</translation>
 <translation id="6364916375976753737">Cuộn qua Trái</translation>
 <translation id="6394627529324717982">Dấu phẩy</translation>
 <translation id="6397363302884558537">Dừng nói</translation>
diff --git a/ui/strings/translations/ui_strings_zh-CN.xtb b/ui/strings/translations/ui_strings_zh-CN.xtb
index b118f7d..aee52d7f 100644
--- a/ui/strings/translations/ui_strings_zh-CN.xtb
+++ b/ui/strings/translations/ui_strings_zh-CN.xtb
@@ -148,6 +148,7 @@
 <translation id="6142413573757616983"><ph name="QUANTITY" /> B/s</translation>
 <translation id="6237461503717005873">已选择“<ph name="ROW_NAME" />”。</translation>
 <translation id="6264365405983206840">全选(&amp;A)</translation>
+<translation id="6346952829206698721">从剪贴板中粘贴</translation>
 <translation id="6364916375976753737">向左滚动</translation>
 <translation id="6394627529324717982">逗号</translation>
 <translation id="6397363302884558537">停止讲话</translation>