diff --git a/.gn b/.gn
index 40ea9e6..b358758 100644
--- a/.gn
+++ b/.gn
@@ -79,6 +79,7 @@
   "//base/*",
   "//blink/*",
   "//build/*",
+  "//buildtools/*",
   "//cc/*",
 
   #"//chrome/android/*",  # 13 errors
@@ -393,7 +394,6 @@
   "//third_party/elfutils/*",
   "//third_party/errorprone/*",
   "//third_party/espresso/*",
-  "//third_party/eu-strip/*",
   "//third_party/expat/*",
   "//third_party/eyesfree/*",
   "//third_party/feed/*",
diff --git a/DEPS b/DEPS
index a6a1d07..ac825fd 100644
--- a/DEPS
+++ b/DEPS
@@ -121,11 +121,11 @@
   # 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': '9ceafdb1945b4f02b17d4d229714178f79589e13',
+  'skia_revision': '673a048b209cba89d4be8e6b8ad7e8a4195fb3cd',
   # 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': '6b7d661d8f603627b0e0f86ce4acc9c995302113',
+  'v8_revision': 'b8e7365f2467cd4aed7c27f5bdcdfe60c562d96b',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
@@ -133,19 +133,19 @@
   # 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': '915d4068a65c48daa361a5168e9a9bc7df396121',
+  'angle_revision': 'fa7ca18f44ed006897067c762b6bacb61d60716a',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling build tools
   # and whatever else without interference from each other.
-  'buildtools_revision': '2f02e1f363b1af2715536f38e239853f04ec1497',
+  'buildtools_revision': '6fbda1b24c1893a893b17aa219b765b9e7c801d8',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
-  'swiftshader_revision': '85bd613c938c94a8d760bf45b2d5e42978830ae8',
+  'swiftshader_revision': 'd9e364cff12d0477f5ea924ff7d24fa7e6902e31',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': '9301f89a5bd3299dbc1a0f192de35a68998f7baa',
+  'pdfium_revision': '31d9a3c0fa79f8561ff1e75116081ab9b051f278',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling openmax_dl
   # and whatever else without interference from each other.
@@ -181,7 +181,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '1a9772ff05f4c7504dc135a9ccbfd996a262589b',
+  'catapult_revision': '432254732785aeba19c43a04c3afe3b2d25bac6c',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -229,7 +229,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.
-  'spv_tools_revision': '464111eaef80c4951e63473bc1c9e072f8d33588',
+  'spv_tools_revision': '7f1a020abc82e73576147d344607034825bea18a',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -245,7 +245,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': 'fd4688e8d02570bc2f563de633b05d8158b90cb3',
+  'dawn_revision': 'd77fd5f8893a5182447d876fbeef48bac414242c',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -589,6 +589,17 @@
       'dep_type': 'cipd',
   },
 
+  'src/third_party/androidx': {
+      'packages': [
+          {
+              'package': 'chromium/third_party/androidx',
+              'version': 'Z2TKYlinmuC0HUW4ulv89ataKxbXJDsnPYgylLVzuBEC',
+          },
+      ],
+      'condition': 'checkout_android',
+      'dep_type': 'cipd',
+  },
+
   'src/third_party/angle':
     Var('chromium_git') + '/angle/angle.git' + '@' +  Var('angle_revision'),
 
@@ -679,7 +690,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'e53e2553568ce8788da8392d168f5f47fd056056',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '0b9145e4e1c34980fb3d852824b9c92bf0ca41b6',
       'condition': 'checkout_linux',
   },
 
@@ -1036,7 +1047,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' +  '9c2a184b62a05401e7ee4093ad6da5db58903e64',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' +  '6159b02fa9df4b353b8c5e2db6973d9960d8b9d3',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + 'ac0d98b5cee6c024b0cffeb4f8f45b6fc5ccdb78',
@@ -1199,7 +1210,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'db52df17f0d012983dc281e4864c71485a86bd0e',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '7ea5c1ff119f7568bc1f280bdd51b8bf1753d27f',
+    Var('webrtc_git') + '/src.git' + '@' + '9f3a44f5152816e3a0cb6902e0dadf365ff4e7d0',
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
@@ -1240,7 +1251,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@4df4611e897046745fed4bd6eca8648faea7dbfb',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@56eebbc3f6932d941a511156edae307ae21e7f3a',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
index e83457f..188ae379 100644
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
@@ -429,7 +429,7 @@
   }
 }
 
-if (current_abi_is_webview_only) {
+if (defined(android_secondary_abi_toolchain)) {
   template("webview_library") {
     chrome_common_shared_library(target_name) {
       forward_variables_from(invoker, "*")
@@ -440,13 +440,26 @@
     }
   }
 
-  # The webview-only library needs the same library name as the browser
-  # library, since the system webview factory will differentiate only by ABI.
-  webview_library("monochrome") {
-  }
-
-  # Bundle-specific webview library. Currently identical, but may diverge.
-  webview_library("monochrome_base") {
+  # Note here that on a given system, the webview-only library needs the same
+  # library name as the browser library, since the system webview factory will
+  # differentiate only by ABI. Each library has an app-bundle ("_base")
+  # variant.
+  if (current_toolchain == android_secondary_abi_toolchain) {
+    if (enable_64_bit_browser) {
+      # These targets are the 32-bit WebView libraries that pair with a 64-bit
+      # browser. They are suffixed with _64 because their names must mach the
+      # 64-bit browser library.
+      webview_library("monochrome_64") {
+      }
+      webview_library("monochrome_64_base") {
+      }
+    }
+  } else {
+    # Inverse of the others above, for the original 32-bit case.
+    webview_library("monochrome") {
+    }
+    webview_library("monochrome_base") {
+    }
   }
 }
 
diff --git a/ash/public/cpp/ash_features.cc b/ash/public/cpp/ash_features.cc
index 06eb2e66..809caaa 100644
--- a/ash/public/cpp/ash_features.cc
+++ b/ash/public/cpp/ash_features.cc
@@ -16,6 +16,9 @@
 const base::Feature kDragTabsInTabletMode{"DragTabsInTabletMode",
                                           base::FEATURE_ENABLED_BY_DEFAULT};
 
+const base::Feature kEnableOverviewRoundedCorners{
+    "EnableOverviewRoundedCorners", base::FEATURE_ENABLED_BY_DEFAULT};
+
 const base::Feature kLockScreenNotifications{"LockScreenNotifications",
                                              base::FEATURE_ENABLED_BY_DEFAULT};
 
diff --git a/ash/public/cpp/ash_features.h b/ash/public/cpp/ash_features.h
index 8cc65f9..fbedd751 100644
--- a/ash/public/cpp/ash_features.h
+++ b/ash/public/cpp/ash_features.h
@@ -21,6 +21,11 @@
 // https://crbug.com/823769.
 ASH_PUBLIC_EXPORT extern const base::Feature kDragTabsInTabletMode;
 
+// Enables rounded corners in overview mode for testing.
+// TODO(crbug.com/903486): Remove this when new rounded corners implementation
+// has landed.
+ASH_PUBLIC_EXPORT extern const base::Feature kEnableOverviewRoundedCorners;
+
 // Enables notifications on the lock screen.
 ASH_PUBLIC_EXPORT extern const base::Feature kLockScreenNotifications;
 
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb
index 2b99159..f4861015f 100644
--- a/ash/strings/ash_strings_am.xtb
+++ b/ash/strings/ash_strings_am.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">የቁልፍ ሰሌዳ ቅንብሮችን አሳይ። <ph name="KEYBOARD_NAME" /> ተመርጧል</translation>
 <translation id="875593634123171288">የቪፒኤን ቅንብሮችን አሳይ</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">ከሁለት ማሳያዎች በላይ ማንጸባረቅ አይደገፍም።</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">የማሽከርከሪያ ቁልፍን አብራ ወይም አጥፋ። <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index 889c79e..e35ed9e 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">عرض إعدادات لوحة المفاتيح. تم اختيار <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">‏عرض إعدادات الشبكة الظاهرية الخاصة (VPN)</translation>
 <translation id="8814190375133053267">‏لاسلكي، Wi-Fi</translation>
-<translation id="8825534185036233643">النسخ المطابق بأكثر من عرضين غير مدعوم.</translation>
 <translation id="8828714802988429505">90 درجة</translation>
 <translation id="8843682306134542540">تبديل قفل التدوير. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb
index e91b0fa..be2e9ae 100644
--- a/ash/strings/ash_strings_bg.xtb
+++ b/ash/strings/ash_strings_bg.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Показване на настройките на клавиатурата. Избран метод на въвеждане: <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Показване на настройките за VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Дублирането с повече от два екрана не се поддържа.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Превключване на функцията за заключване на завъртането. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">търсене + Esc</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb
index e6241e2..10f4aa6 100644
--- a/ash/strings/ash_strings_bn.xtb
+++ b/ash/strings/ash_strings_bn.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">কীবোর্ড সেটিংস দেখান। <ph name="KEYBOARD_NAME" /> বেছে নেওয়া হয়েছে</translation>
 <translation id="875593634123171288">VPN সেটিংস দেখান</translation>
 <translation id="8814190375133053267">ওয়াই-ফাই</translation>
-<translation id="8825534185036233643">দুটির বেশি প্রদর্শনের সাথে মিররিং সমর্থিত নয়।</translation>
 <translation id="8828714802988429505">৯০°</translation>
 <translation id="8843682306134542540">রোটেশন লক টগল করুন। <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index 97f9bf11..4b92c50 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Mostra la configuració del teclat. S'ha seleccionat <ph name="KEYBOARD_NAME" />.</translation>
 <translation id="875593634123171288">Mostra la configuració de la VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">No es pot projectar amb més de dues pantalles.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Activa o desactiva el bloqueig de rotació. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Cerca + Esc</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index 50d8a41..fed66206 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Zobrazit nastavení klávesnice. Je vybrána klávesnice <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Zobrazit nastavení VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Zrcadlení s více než dvěma obrazovkami není podporováno.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Přepnout zámek otáčení. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Hledat+Esc</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb
index 150cb73..ca0cc24 100644
--- a/ash/strings/ash_strings_da.xtb
+++ b/ash/strings/ash_strings_da.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Vis tastaturindstillinger. <ph name="KEYBOARD_NAME" /> er valgt</translation>
 <translation id="875593634123171288">Vis VPN-indstillinger</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Spejling med mere end to skærme understøttes ikke.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Slå Lås rotation til eller fra. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Søg+Esc</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb
index d7a8199..970dc08 100644
--- a/ash/strings/ash_strings_de.xtb
+++ b/ash/strings/ash_strings_de.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Tastatureinstellungen anzeigen. <ph name="KEYBOARD_NAME" /> ist ausgewählt.</translation>
 <translation id="875593634123171288">VPN-Einstellungen anzeigen</translation>
 <translation id="8814190375133053267">WLAN</translation>
-<translation id="8825534185036233643">Das Spiegeln mit mehr als zwei Displays wird nicht unterstützt.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Rotationssperre aktivieren/deaktivieren. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Suche + Esc</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb
index 1f2f0d9..59ec9fa 100644
--- a/ash/strings/ash_strings_el.xtb
+++ b/ash/strings/ash_strings_el.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Εμφάνιση ρυθμίσεων πληκτρολογίου. Έχει επιλεχθεί το πληκτρολόγιο <ph name="KEYBOARD_NAME" />.</translation>
 <translation id="875593634123171288">Εμφάνιση ρυθμίσεων VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Δεν υποστηρίζεται ο κατοπτρισμός με περισσότερες από δύο οθόνες.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Εναλλαγή κλειδώματος περιστροφής. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Πλήκτρο αναζήτησης+Esc</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb
index 2d755172..729f6bf 100644
--- a/ash/strings/ash_strings_en-GB.xtb
+++ b/ash/strings/ash_strings_en-GB.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Show keyboard settings. <ph name="KEYBOARD_NAME" /> is selected</translation>
 <translation id="875593634123171288">Show VPN settings</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Mirroring with more than two displays is not supported.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Toggle rotation lock. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb
index 95900dd..e845ca5 100644
--- a/ash/strings/ash_strings_es-419.xtb
+++ b/ash/strings/ash_strings_es-419.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Mostrar la configuración del teclado: Está seleccionado el teclado <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Mostrar la configuración de la VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">La duplicación con más de dos pantallas no es compatible.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Activar o desactivar el bloqueo de rotación: <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Tecla de búsqueda + Esc</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index a2de99e..733de0b 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Muestra la configuración de teclado. Actualmente está seleccionado <ph name="KEYBOARD_NAME" />.</translation>
 <translation id="875593634123171288">Mostrar configuración de VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">No se puede proyectar contenido en más de dos pantallas.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Activa o desactiva el bloqueo. <ph name="STATE_TEXT" />.</translation>
 <translation id="8850991929411075241">Buscar+Esc</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index a8b2fd213..ad48cfa0 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Kuvab klaviatuuriseaded. Valitud on <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Kuvab VPN-i seaded</translation>
 <translation id="8814190375133053267">WiFi</translation>
-<translation id="8825534185036233643">Rohkem kui kahe ekraaniga peegeldamist ei toetata.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Lülitab pööramisluku sisse või välja. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Otsing + ESC</translation>
diff --git a/ash/strings/ash_strings_fa.xtb b/ash/strings/ash_strings_fa.xtb
index c34d25d..16c7d6ff 100644
--- a/ash/strings/ash_strings_fa.xtb
+++ b/ash/strings/ash_strings_fa.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">نمایش تنظیمات صفحه‌کلید. <ph name="KEYBOARD_NAME" /> انتخاب شده است</translation>
 <translation id="875593634123171288">‏نمایش تنظیمات VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">«نمایش صفحه‌نمایش روی دستگاه دیگر» با بیش از دو نمایشگر پشتیبانی نمی‌شود.</translation>
 <translation id="8828714802988429505">۹۰°</translation>
 <translation id="8843682306134542540">تغییر وضعیت قفل چرخش. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb
index 8bbf81f2..ca54383 100644
--- a/ash/strings/ash_strings_fi.xtb
+++ b/ash/strings/ash_strings_fi.xtb
@@ -468,7 +468,6 @@
 <translation id="8735953464173050365">Näytä näppäimistöasetukset. <ph name="KEYBOARD_NAME" /> on valittuna.</translation>
 <translation id="875593634123171288">Näytä VPN-asetukset</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Peilaamista yli kahdelle näytölle ei tueta.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Ota kierron lukitus käyttöön tai poista se käytöstä. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Haku+Esc</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb
index af393da..1a22a71 100644
--- a/ash/strings/ash_strings_fil.xtb
+++ b/ash/strings/ash_strings_fil.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Ipakita ang mga setting ng keyboard. Napili ang <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Ipakita ang mga setting ng VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Hindi sinusuportahan ang pagmi-mirror sa mahigit sa dalawang display.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">I-toggle ang lock ng pag-rotate. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb
index ff32d57..08a053d 100644
--- a/ash/strings/ash_strings_fr.xtb
+++ b/ash/strings/ash_strings_fr.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Afficher les paramètres du clavier. <ph name="KEYBOARD_NAME" /> est sélectionné</translation>
 <translation id="875593634123171288">Afficher les paramètres de VPN</translation>
 <translation id="8814190375133053267">Wi-Fi </translation>
-<translation id="8825534185036233643">La duplication d'écran avec plus de deux écrans n'est pas acceptée.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Activer/Désactiver le verrouillage de la rotation. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Recherche+Échap</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb
index 50a8ef3e..7b721c4a 100644
--- a/ash/strings/ash_strings_gu.xtb
+++ b/ash/strings/ash_strings_gu.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">કીબોર્ડ સેટિંગ બતાવો. <ph name="KEYBOARD_NAME" /> પસંદ કરેલું છે</translation>
 <translation id="875593634123171288">VPN સેટિંગ બતાવો</translation>
 <translation id="8814190375133053267">વાઇ-ફાઇ</translation>
-<translation id="8825534185036233643">બે કરતાં વધુ પ્રદર્શનો સાથે મીરરીંગ સમર્થિત નથી.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">રોટેશન લૉક ટૉગલ કરો. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb
index f50540c6..ce704c0 100644
--- a/ash/strings/ash_strings_hi.xtb
+++ b/ash/strings/ash_strings_hi.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">कीबोर्ड सेटिंग दिखाएं. <ph name="KEYBOARD_NAME" /> चुना गया है</translation>
 <translation id="875593634123171288">VPN सेटिंग दिखाएं</translation>
 <translation id="8814190375133053267">वाई-फ़ाई </translation>
-<translation id="8825534185036233643">दो से ज़्यादा डिसप्ले की स्क्रीन नहीं शेयर की जा सकती है.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">रोटेशन लॉक को टॉगल करें. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb
index 1dc0a4a..c2e81923 100644
--- a/ash/strings/ash_strings_hr.xtb
+++ b/ash/strings/ash_strings_hr.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Prikaz postavki tipkovnice. Odabrana je tipkovnica <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Prikaz postavki VPN-a</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Zrcaljenje s više od dva zaslona nije podržano.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Prebacivanje zaključavanja rotacije. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Pretraživanje + Esc</translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb
index 6f6f5a524..f9e8ef0e 100644
--- a/ash/strings/ash_strings_hu.xtb
+++ b/ash/strings/ash_strings_hu.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">A billentyűzet beállításainak megjelenítése. <ph name="KEYBOARD_NAME" /> van kiválasztva</translation>
 <translation id="875593634123171288">VPN-beállítások megjelenítése</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">A böngésző nem támogatja a tükrözést kettőnél több megjelenítő esetén.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Váltás a forgatás zárolásának állapotai közt. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Keresés+Esc</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb
index 9394cbe..e38f7e87 100644
--- a/ash/strings/ash_strings_id.xtb
+++ b/ash/strings/ash_strings_id.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Tampilkan setelan keyboard. <ph name="KEYBOARD_NAME" /> dipilih</translation>
 <translation id="875593634123171288">Tampilkan setelan VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Pencerminan dengan lebih dari dua layar tidak didukung.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Alihkan kunci rotasi. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb
index 8acba6b..2e8ca953 100644
--- a/ash/strings/ash_strings_it.xtb
+++ b/ash/strings/ash_strings_it.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Mostra impostazioni tastiera. La selezione attiva è <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Mostra impostazioni VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Il mirroring con più di due display non è supportato.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Attiva/disattiva blocco rotazione. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Tasto di ricerca+ESC</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb
index f1e24b1..24debf9d6 100644
--- a/ash/strings/ash_strings_iw.xtb
+++ b/ash/strings/ash_strings_iw.xtb
@@ -467,7 +467,6 @@
 <translation id="8735953464173050365">צפייה בהגדרות המקלדת. המקלדת שנבחרה היא <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">‏צפייה בהגדרות VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">אין תמיכה בשיקוף מסך עם יותר משני מסכים.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">הפעלה או השבתה של נעילת הסיבוב. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb
index e4622b5..3171dcb 100644
--- a/ash/strings/ash_strings_ja.xtb
+++ b/ash/strings/ash_strings_ja.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">キーボード設定を表示します。<ph name="KEYBOARD_NAME" /> が選択されています</translation>
 <translation id="875593634123171288">VPN 設定を表示</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">2 台を超えるディスプレイのミラーリングはサポートされていません。</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">画面の向きの固定を切り替えます。<ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb
index a3154a8..8e765af5 100644
--- a/ash/strings/ash_strings_kn.xtb
+++ b/ash/strings/ash_strings_kn.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">ಕೀಬೋರ್ಡ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೋರಿಸಿ. <ph name="KEYBOARD_NAME" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="875593634123171288">VPN ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೋರಿಸಿ</translation>
 <translation id="8814190375133053267">ವೈ-ಫೈ</translation>
-<translation id="8825534185036233643">ಎರಡಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಪ್ರದರ್ಶನಗಳ ಪ್ರತಿಬಿಂಬಿಸುವಿಕೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">ಪರದೆ ತಿರುಗಿಸುವಿಕೆಯ ಲಾಕ್ ಅನ್ನು ಟಾಗಲ್ ಮಾಡಿ. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb
index 5e7d9a5f..9d8cc4a 100644
--- a/ash/strings/ash_strings_ko.xtb
+++ b/ash/strings/ash_strings_ko.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">키보드 설정을 표시합니다. <ph name="KEYBOARD_NAME" />이(가) 선택되었습니다.</translation>
 <translation id="875593634123171288">VPN 설정 표시</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">3개 이상의 디스플레이 미러링은 지원되지 않습니다.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">회전 잠금을 전환합니다. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb
index 52d5988a..b94b95f 100644
--- a/ash/strings/ash_strings_lt.xtb
+++ b/ash/strings/ash_strings_lt.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Rodyti klaviatūros nustatymus. Pasirinkta „<ph name="KEYBOARD_NAME" />“</translation>
 <translation id="875593634123171288">Rodyti VPN nustatymus</translation>
 <translation id="8814190375133053267">WI-Fi</translation>
-<translation id="8825534185036233643">Negalima bendrinti daugiau nei dviejų ekranų vaizdų.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Perjungti pasukimo užrakinimą. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Paieškos klavišas + „Esc“</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb
index 263bd0b6..d2c1f9d 100644
--- a/ash/strings/ash_strings_lv.xtb
+++ b/ash/strings/ash_strings_lv.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Rādīt tastatūras iestatījumus. Ir atlasīta tastatūra <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Rādīt VPN iestatījumus</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Spoguļošana ar vairāk nekā diviem ekrāniem netiek atbalstīta.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Pārslēgt pagriešanas bloķēšanu. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb
index c8a7c83..28b45b2 100644
--- a/ash/strings/ash_strings_ml.xtb
+++ b/ash/strings/ash_strings_ml.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">കീബോഡ് ക്രമീകരണം കാണിക്കുക. <ph name="KEYBOARD_NAME" /> തിരഞ്ഞെടുത്തിരിക്കുന്നു</translation>
 <translation id="875593634123171288">VPN ക്രമീകരണം കാണിക്കുക</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">രണ്ടിലധികം ഡിസ്‌പ്ലേകളിൽ മിററിംഗ് ചെയ്യുന്നത് പിന്തുണയ്‌ക്കുന്നില്ല.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">റൊട്ടേഷൻ ലോക്ക് മാറ്റുക. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">തിരയൽ+Esc</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb
index 4c9514b1..cde3e7d 100644
--- a/ash/strings/ash_strings_mr.xtb
+++ b/ash/strings/ash_strings_mr.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">कीबोर्ड सेटिंग्ज दाखवा. <ph name="KEYBOARD_NAME" /> निवडले आहे</translation>
 <translation id="875593634123171288">VPN सेटिंग्ज दाखवा</translation>
 <translation id="8814190375133053267">वाय-फाय</translation>
-<translation id="8825534185036233643">दोन पेक्षा जास्त प्रदर्शनासाठी मि‍ररिंग समर्थित नाही.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">रोटेशन लॉक टॉगल करा. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb
index 93aed031..d7dd8f0 100644
--- a/ash/strings/ash_strings_ms.xtb
+++ b/ash/strings/ash_strings_ms.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Tunjukkan tetapan papan kekunci. <ph name="KEYBOARD_NAME" /> dipilih</translation>
 <translation id="875593634123171288">Tunjukkan tetapan VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Pencerminan menggunakan lebih daripada dua paparan tidak disokong.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Togol kunci putaran. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Carian+Esc</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb
index 9cccfbb..01bcd4f 100644
--- a/ash/strings/ash_strings_nl.xtb
+++ b/ash/strings/ash_strings_nl.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Toetsenbordinstellingen weergeven. <ph name="KEYBOARD_NAME" /> is geselecteerd</translation>
 <translation id="875593634123171288">VPN-instellingen weergeven</translation>
 <translation id="8814190375133053267">Wifi</translation>
-<translation id="8825534185036233643">Mirroring met meer dan twee displays wordt niet ondersteund.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Draaivergrendeling schakelen. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Zoeken+Esc</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb
index 15170cb..a3a1a1a 100644
--- a/ash/strings/ash_strings_no.xtb
+++ b/ash/strings/ash_strings_no.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Vis tastaturinnstillinger. <ph name="KEYBOARD_NAME" /> er valgt</translation>
 <translation id="875593634123171288">Vis innstillinger for VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Speiling med mer enn to skjermer støttes ikke.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Slå av/på rotasjonslås. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Søk+Esc</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index 08cb128..0e27ab56 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Pokaż ustawienia klawiatury. Wybrana jest: <ph name="KEYBOARD_NAME" />.</translation>
 <translation id="875593634123171288">Pokaż ustawienia VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Odbicie lustrzane na więcej niż dwóch wyświetlaczach nie jest obsługiwane.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Włącz lub wyłącz blokadę obracania. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Szukaj+Esc</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb
index 3554c7ae..6356fd86 100644
--- a/ash/strings/ash_strings_pt-BR.xtb
+++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -467,7 +467,6 @@
 <translation id="8735953464173050365">Mostrar configurações do teclado. <ph name="KEYBOARD_NAME" /> está selecionado</translation>
 <translation id="875593634123171288">Mostrar configurações de VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Não há suporte para o espelhamento com mais de duas telas.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Alternar bloqueio de rotação. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Pesquisa+Esc</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index 1fed0d8..1f4c0c7 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Mostrar definições do teclado. <ph name="KEYBOARD_NAME" /> está selecionado</translation>
 <translation id="875593634123171288">Mostrar definições da VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">O espelhamento com mais do que dois ecrãs não é suportado.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Ativar/desativar bloqueio de rotação. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Pesquisa+Esc</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb
index 6550969e..d4450696 100644
--- a/ash/strings/ash_strings_ro.xtb
+++ b/ash/strings/ash_strings_ro.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Afișează setările pentru tastatură. Este selectată <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Afișează setările VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Oglindirea cu mai mult de două afișaje nu este acceptată.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Comută blocarea rotației. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Tasta de căutare + Esc</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb
index 64137756..0408a1a 100644
--- a/ash/strings/ash_strings_ru.xtb
+++ b/ash/strings/ash_strings_ru.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Показать настройки клавиатуры. Выбрана клавиатура "<ph name="KEYBOARD_NAME" />".</translation>
 <translation id="875593634123171288">Показать настройки VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Зеркалирование более двух дисплеев не поддерживается.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Изменить настройки автоповорота экрана. <ph name="STATE_TEXT" />.</translation>
 <translation id="8850991929411075241">Клавиша поиска + Esc</translation>
diff --git a/ash/strings/ash_strings_sk.xtb b/ash/strings/ash_strings_sk.xtb
index 5b387961..ea8b901 100644
--- a/ash/strings/ash_strings_sk.xtb
+++ b/ash/strings/ash_strings_sk.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Zobraziť nastavenia klávesnice. Vybraná klávesnica: <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Zobraziť nastavenia VPN</translation>
 <translation id="8814190375133053267">Wi‑Fi</translation>
-<translation id="8825534185036233643">Zrkadlenie s viac ako dvoma obrazovkami nie je podporované.</translation>
 <translation id="8828714802988429505">90 °</translation>
 <translation id="8843682306134542540">Prepnúť uzamknutie otočenia. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Hľadať+Esc</translation>
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb
index 0a77d99..35a3b3d 100644
--- a/ash/strings/ash_strings_sl.xtb
+++ b/ash/strings/ash_strings_sl.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Prikaz nastavitev tipkovnice. Izbrana je tipkovnica <ph name="KEYBOARD_NAME" />.</translation>
 <translation id="875593634123171288">Prikaz nastavitev omrežja VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Zrcaljenje z več kot dvema zaslonoma ni podprto.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Preklop zaklepanja zasuka. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Iskanje + Esc</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 2918f4e..48cfe95 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Прегледајте подешавања тастатуре. Изабрана је <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Прегледајте подешавања VPN-а</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Пресликавање са више од два екрана није подржано.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Укључите/искључите закључавање ротације. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb
index 1385268..4de03c9d 100644
--- a/ash/strings/ash_strings_sv.xtb
+++ b/ash/strings/ash_strings_sv.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Visa tangentbordsinställningar. Inställt på <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Visa VPN-inställningar</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Det finns inte stöd för spegling på fler än två skärmar.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Aktivera och inaktivera rotationslås. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Sök+Escape</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index ac85e76..0627480 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Onyesha mipangilio ya kibodi. Umechagua <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Onyesha mipangilio ya VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Kuakisi ukitumia zaidi ya skrini mbili hakuruhusiwi.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Washa au uzime hali ya kufunga kwa kuzungusha. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb
index d3eadf6..beb411f 100644
--- a/ash/strings/ash_strings_ta.xtb
+++ b/ash/strings/ash_strings_ta.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">கீபோர்ட் அமைப்புகளைக் காண்பிக்கும். <ph name="KEYBOARD_NAME" /> தேர்ந்தெடுக்கப்பட்டுள்ளது</translation>
 <translation id="875593634123171288">VPN அமைப்புகளைக் காண்பிக்கும்</translation>
 <translation id="8814190375133053267">வைஃபை</translation>
-<translation id="8825534185036233643">இரண்டிற்கும் மேற்பட்ட திரைகளில் பிரதிபலிப்பது ஆதரிக்கப்படவில்லை.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">சுழற்சிப் பூட்டை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">தேடல்+Esc</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb
index daf23fbe..a0bb906 100644
--- a/ash/strings/ash_strings_te.xtb
+++ b/ash/strings/ash_strings_te.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">కీబోర్డ్ సెట్టింగ్‌లను చూపుతుంది. <ph name="KEYBOARD_NAME" /> ఎంపిక చేయబడింది</translation>
 <translation id="875593634123171288">VPN సెట్టింగ్‌లను చూపుతుంది</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">రెండింటి కంటే ఎక్కువ డిస్‌ప్లేలతో మిర్రరింగ్ చేయడానికి మద్దతు లేదు.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">భ్రమణం లాక్‌ను టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb
index ff32adcf..036cf5e1 100644
--- a/ash/strings/ash_strings_th.xtb
+++ b/ash/strings/ash_strings_th.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">แสดงการตั้งค่าแป้นพิมพ์ เลือก<ph name="KEYBOARD_NAME" />ไว้</translation>
 <translation id="875593634123171288">แสดงการตั้งค่า VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">ไม่สนับสนุนการมิเรอร์บนจอแสดงผลเกิน 2 หน้าจอ</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">เปิด/ปิดการล็อกการหมุน <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb
index 14749c6..827504c 100644
--- a/ash/strings/ash_strings_tr.xtb
+++ b/ash/strings/ash_strings_tr.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Klavye ayarlarını göster. <ph name="KEYBOARD_NAME" /> seçildi</translation>
 <translation id="875593634123171288">VPN ayarlarını göster</translation>
 <translation id="8814190375133053267">Kablosuz</translation>
-<translation id="8825534185036233643">İkiden fazla ekranla yansıtma desteklenmez.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Döndürme kilidini aç/kapat. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Ara+Esc</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb
index f5b7996..ae04980 100644
--- a/ash/strings/ash_strings_uk.xtb
+++ b/ash/strings/ash_strings_uk.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">Показати налаштування клавіатури. Вибрано: <ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">Показати налаштування VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Дзеркалювання на більше ніж двох дисплеях не підтримується.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Заблокувати/розблокувати обертання. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search (Пошук)+Esc</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index a85a88d3..f04a8b4 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">Hiển thị các tùy chọn cài đặt bàn phím. <ph name="KEYBOARD_NAME" /> được chọn</translation>
 <translation id="875593634123171288">Hiển thị các tùy chọn cài đặt VPN</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">Không hỗ trợ tính năng phản chiếu với hai màn hình trở lên.</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">Bật/tắt khóa xoay. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index 04e45800..f4e24d3 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -466,7 +466,6 @@
 <translation id="8735953464173050365">显示键盘设置。已选择<ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">显示 VPN 设置</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">系统不支持镜像两个以上的显示屏。</translation>
 <translation id="8828714802988429505">90°</translation>
 <translation id="8843682306134542540">切换旋转锁定设置。<ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb
index f9201b3..ba7b7b3e 100644
--- a/ash/strings/ash_strings_zh-TW.xtb
+++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -465,7 +465,6 @@
 <translation id="8735953464173050365">顯示鍵盤設定。已選取<ph name="KEYBOARD_NAME" /></translation>
 <translation id="875593634123171288">顯示 VPN 設定</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
-<translation id="8825534185036233643">鏡像處理作業最多支援兩部顯示器。</translation>
 <translation id="8828714802988429505">90 度</translation>
 <translation id="8843682306134542540">切換旋轉鎖定。<ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">搜尋鍵 + Esc 鍵</translation>
diff --git a/ash/system/tray/tray_bubble_view.cc b/ash/system/tray/tray_bubble_view.cc
index 068f056..cd24bb4 100644
--- a/ash/system/tray/tray_bubble_view.cc
+++ b/ash/system/tray/tray_bubble_view.cc
@@ -163,7 +163,9 @@
   // Only passes Tab, Shift+Tab, Esc to the widget as it can consume more key
   // events. e.g. Alt+Tab can be consumed as focus traversal by FocusManager.
   ui::KeyboardCode key_code = event->key_code();
-  int flags = event->flags();
+  int flags = event->flags() &
+              (ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+               ui::EF_COMMAND_DOWN | ui::EF_ALTGR_DOWN | ui::EF_MOD3_DOWN);
   if ((key_code == ui::VKEY_TAB && flags == ui::EF_NONE) ||
       (key_code == ui::VKEY_TAB && flags == ui::EF_SHIFT_DOWN) ||
       (key_code == ui::VKEY_ESCAPE && flags == ui::EF_NONE)) {
diff --git a/ash/wm/overview/scoped_overview_transform_window.cc b/ash/wm/overview/scoped_overview_transform_window.cc
index 1e46e5b..2e5d76e 100644
--- a/ash/wm/overview/scoped_overview_transform_window.cc
+++ b/ash/wm/overview/scoped_overview_transform_window.cc
@@ -459,7 +459,8 @@
 }
 
 void ScopedOverviewTransformWindow::UpdateMask(bool show) {
-  if (!show) {
+  if (!base::FeatureList::IsEnabled(features::kEnableOverviewRoundedCorners) ||
+      !show) {
     mask_.reset();
     return;
   }
diff --git a/base/android/junit/src/org/chromium/base/LifetimeAssertTest.java b/base/android/junit/src/org/chromium/base/LifetimeAssertTest.java
index f1a5464..b29b1bc 100644
--- a/base/android/junit/src/org/chromium/base/LifetimeAssertTest.java
+++ b/base/android/junit/src/org/chromium/base/LifetimeAssertTest.java
@@ -98,6 +98,9 @@
 
     @Test
     public void testAssertAllInstancesDestroyedForTesting() {
+        if (!BuildConfig.DCHECK_IS_ON) {
+            return;
+        }
         try {
             LifetimeAssert.assertAllInstancesDestroyedForTesting();
             Assert.fail();
diff --git a/base/bind.h b/base/bind.h
index fbd5ef8..d88eec6 100644
--- a/base/bind.h
+++ b/base/bind.h
@@ -7,7 +7,6 @@
 
 #include <utility>
 
-#include "base/bind.h"
 #include "base/bind_internal.h"
 #include "base/compiler_specific.h"
 #include "build/build_config.h"
diff --git a/base/debug/stack_trace.cc b/base/debug/stack_trace.cc
index ed531f6..fe90448 100644
--- a/base/debug/stack_trace.cc
+++ b/base/debug/stack_trace.cc
@@ -78,7 +78,7 @@
   }
 
   return true;
-};
+}
 
 // ScanStackForNextFrame() scans the stack for a valid frame to allow unwinding
 // past system libraries. Only supported on Linux where system libraries are
diff --git a/base/mac/foundation_util.h b/base/mac/foundation_util.h
index e4b3b6a..2e417f0 100644
--- a/base/mac/foundation_util.h
+++ b/base/mac/foundation_util.h
@@ -128,7 +128,7 @@
 BASE_EXPORT FilePath GetAppBundlePath(const FilePath& exec_name);
 
 #define TYPE_NAME_FOR_CF_TYPE_DECL(TypeCF) \
-BASE_EXPORT std::string TypeNameForCFType(TypeCF##Ref);
+  BASE_EXPORT std::string TypeNameForCFType(TypeCF##Ref)
 
 TYPE_NAME_FOR_CF_TYPE_DECL(CFArray);
 TYPE_NAME_FOR_CF_TYPE_DECL(CFBag);
@@ -232,28 +232,28 @@
 // List of toll-free bridged types taken from:
 // http://www.cocoadev.com/index.pl?TollFreeBridged
 
-CF_TO_NS_MUTABLE_CAST_DECL(Array);
-CF_TO_NS_MUTABLE_CAST_DECL(AttributedString);
-CF_TO_NS_CAST_DECL(CFCalendar, NSCalendar);
-CF_TO_NS_MUTABLE_CAST_DECL(CharacterSet);
-CF_TO_NS_MUTABLE_CAST_DECL(Data);
-CF_TO_NS_CAST_DECL(CFDate, NSDate);
-CF_TO_NS_MUTABLE_CAST_DECL(Dictionary);
-CF_TO_NS_CAST_DECL(CFError, NSError);
-CF_TO_NS_CAST_DECL(CFLocale, NSLocale);
-CF_TO_NS_CAST_DECL(CFNumber, NSNumber);
-CF_TO_NS_CAST_DECL(CFRunLoopTimer, NSTimer);
-CF_TO_NS_CAST_DECL(CFTimeZone, NSTimeZone);
-CF_TO_NS_MUTABLE_CAST_DECL(Set);
-CF_TO_NS_CAST_DECL(CFReadStream, NSInputStream);
-CF_TO_NS_CAST_DECL(CFWriteStream, NSOutputStream);
-CF_TO_NS_MUTABLE_CAST_DECL(String);
-CF_TO_NS_CAST_DECL(CFURL, NSURL);
+CF_TO_NS_MUTABLE_CAST_DECL(Array)
+CF_TO_NS_MUTABLE_CAST_DECL(AttributedString)
+CF_TO_NS_CAST_DECL(CFCalendar, NSCalendar)
+CF_TO_NS_MUTABLE_CAST_DECL(CharacterSet)
+CF_TO_NS_MUTABLE_CAST_DECL(Data)
+CF_TO_NS_CAST_DECL(CFDate, NSDate)
+CF_TO_NS_MUTABLE_CAST_DECL(Dictionary)
+CF_TO_NS_CAST_DECL(CFError, NSError)
+CF_TO_NS_CAST_DECL(CFLocale, NSLocale)
+CF_TO_NS_CAST_DECL(CFNumber, NSNumber)
+CF_TO_NS_CAST_DECL(CFRunLoopTimer, NSTimer)
+CF_TO_NS_CAST_DECL(CFTimeZone, NSTimeZone)
+CF_TO_NS_MUTABLE_CAST_DECL(Set)
+CF_TO_NS_CAST_DECL(CFReadStream, NSInputStream)
+CF_TO_NS_CAST_DECL(CFWriteStream, NSOutputStream)
+CF_TO_NS_MUTABLE_CAST_DECL(String)
+CF_TO_NS_CAST_DECL(CFURL, NSURL)
 
 #if defined(OS_IOS)
-CF_TO_NS_CAST_DECL(CTFont, UIFont);
+CF_TO_NS_CAST_DECL(CTFont, UIFont)
 #else
-CF_TO_NS_CAST_DECL(CTFont, NSFont);
+CF_TO_NS_CAST_DECL(CTFont, NSFont)
 #endif
 
 #undef CF_TO_NS_CAST_DECL
diff --git a/base/observer_list_unittest.cc b/base/observer_list_unittest.cc
index dfff56c..9709f30 100644
--- a/base/observer_list_unittest.cc
+++ b/base/observer_list_unittest.cc
@@ -203,7 +203,7 @@
   (void)(Disrupter*)(0);                                                    \
   (void)(Adder*)(0);                                                        \
   (void)(const_iterator*)(0);                                               \
-  (void)(iterator*)(0);
+  (void)(iterator*)(0)
 
 TYPED_TEST(ObserverListTest, BasicTest) {
   DECLARE_TYPES;
diff --git a/base/power_monitor/power_observer.h b/base/power_monitor/power_observer.h
index 0142b2af..658172c0 100644
--- a/base/power_monitor/power_observer.h
+++ b/base/power_monitor/power_observer.h
@@ -14,7 +14,7 @@
  public:
   // Notification of a change in power status of the computer, such
   // as from switching between battery and A/C power.
-  virtual void OnPowerStateChange(bool on_battery_power) {};
+  virtual void OnPowerStateChange(bool on_battery_power) {}
 
   // Notification that the system is suspending.
   virtual void OnSuspend() {}
diff --git a/base/process/port_provider_mac.h b/base/process/port_provider_mac.h
index 84cc20d..a2d81a0 100644
--- a/base/process/port_provider_mac.h
+++ b/base/process/port_provider_mac.h
@@ -25,7 +25,7 @@
 
   class Observer {
    public:
-    virtual ~Observer() {};
+    virtual ~Observer() {}
     // Called by the PortProvider to notify observers that the task port was
     // received for a given process.
     // No guarantees are made about the thread on which this notification will
diff --git a/base/synchronization/waitable_event.h b/base/synchronization/waitable_event.h
index 31a36aa..c89f575c 100644
--- a/base/synchronization/waitable_event.h
+++ b/base/synchronization/waitable_event.h
@@ -199,7 +199,7 @@
    public:
     ReceiveRight(mach_port_t name, bool create_slow_watch_list);
 
-    mach_port_t Name() const { return right_.get(); };
+    mach_port_t Name() const { return right_.get(); }
 
     // This structure is used iff UseSlowWatchList() is true. See the comment
     // in Signal() for details.
diff --git a/base/task/sequence_manager/sequence_manager_impl_unittest.cc b/base/task/sequence_manager/sequence_manager_impl_unittest.cc
index f12ad114..3764eac 100644
--- a/base/task/sequence_manager/sequence_manager_impl_unittest.cc
+++ b/base/task/sequence_manager/sequence_manager_impl_unittest.cc
@@ -78,13 +78,16 @@
     return manager_->CreateTaskQueueWithType<TestTaskQueue>(spec);
   }
 
-  void CreateTaskQueues(size_t num_queues) {
+  std::vector<scoped_refptr<TestTaskQueue>> CreateTaskQueues(
+      size_t num_queues) {
+    std::vector<scoped_refptr<TestTaskQueue>> queues;
     for (size_t i = 0; i < num_queues; i++)
-      queues_.push_back(CreateTaskQueue());
+      queues.push_back(CreateTaskQueue());
+    return queues;
   }
 
   std::unique_ptr<SequenceManagerForTest> manager_;
-  std::vector<scoped_refptr<TestTaskQueue>> queues_;
+
   TimeTicks start_time_;
   TestTaskTimeObserver test_task_time_observer_;
 };
@@ -309,14 +312,14 @@
       SequenceManager::Settings{.randomised_sampling_enabled = false});
   manager_->SetWorkBatchSize(6);
 
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   RunLoop().RunUntilIdle();
 
@@ -334,14 +337,14 @@
   manager_->SetWorkBatchSize(6);
   manager_->AddTaskTimeObserver(&test_task_time_observer_);
 
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   RunLoop().RunUntilIdle();
   // Now is called when each task starts running and when its completed.
@@ -360,17 +363,18 @@
   manager_->SetWorkBatchSize(6);
   manager_->AddTaskTimeObserver(&test_task_time_observer_);
 
+  std::vector<scoped_refptr<TestTaskQueue>> queues;
   for (size_t i = 0; i < 3; i++) {
-    queues_.push_back(
+    queues.push_back(
         CreateTaskQueue(TaskQueue::Spec("test").SetDelayedFencesAllowed(true)));
   }
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   RunLoop().RunUntilIdle();
   // Now is called each time a task is queued, when first task is started
@@ -392,47 +396,44 @@
 }
 
 TEST_P(SequenceManagerTest, SingleQueuePosting) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u));
 }
 
 TEST_P(SequenceManagerTest, MultiQueuePosting) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
-  queues_[2]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 5, &run_order));
-  queues_[2]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 6, &run_order));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 1, &run_order));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 2, &run_order));
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 3, &run_order));
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 4, &run_order));
+  queues[2]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 5, &run_order));
+  queues[2]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 6, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u, 4u, 5u, 6u));
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, NonNestableTaskPosting) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostNonNestableTask(
-      FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostNonNestableTask(FROM_HERE,
+                                            BindOnce(&TestTask, 1, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u));
@@ -440,19 +441,15 @@
 
 TEST_P(SequenceManagerTestWithMessageLoop,
        NonNestableTaskExecutesInExpectedOrder) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
-  queues_[0]->task_runner()->PostNonNestableTask(
-      FROM_HERE, BindOnce(&TestTask, 5, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 4, &run_order));
+  queue->task_runner()->PostNonNestableTask(FROM_HERE,
+                                            BindOnce(&TestTask, 5, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u, 4u, 5u));
@@ -460,13 +457,11 @@
 
 TEST_P(SequenceManagerTestWithMessageLoop,
        NonNestableTasksDoesntExecuteInNestedLoop) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
 
   std::vector<std::pair<OnceClosure, bool>> tasks_to_post_from_nested_loop;
   tasks_to_post_from_nested_loop.push_back(
@@ -478,8 +473,8 @@
   tasks_to_post_from_nested_loop.push_back(
       std::make_pair(BindOnce(&TestTask, 6, &run_order), true));
 
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&PostFromNestedRunloop, queues_[0],
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&PostFromNestedRunloop, queue,
                           Unretained(&tasks_to_post_from_nested_loop)));
 
   RunLoop().RunUntilIdle();
@@ -505,7 +500,7 @@
 }  // namespace
 
 TEST_P(SequenceManagerTestWithMessageLoop, TaskQueueDisabledFromNestedLoop) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   std::vector<EnqueueOrder> run_order;
 
   std::vector<std::pair<OnceClosure, bool>> tasks_to_post_from_nested_loop;
@@ -513,10 +508,10 @@
   tasks_to_post_from_nested_loop.push_back(
       std::make_pair(BindOnce(&TestTask, 1, &run_order), false));
   tasks_to_post_from_nested_loop.push_back(std::make_pair(
-      BindOnce(&InsertFenceAndPostTestTask, 2, &run_order, queues_[0]), true));
+      BindOnce(&InsertFenceAndPostTestTask, 2, &run_order, queue), true));
 
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&PostFromNestedRunloop, queues_[0],
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&PostFromNestedRunloop, queue,
                           Unretained(&tasks_to_post_from_nested_loop)));
   RunLoop().RunUntilIdle();
 
@@ -527,67 +522,66 @@
   // queue.
   EXPECT_THAT(run_order, ElementsAre(2u, 1u));
 
-  queues_[0]->RemoveFence();
+  queue->RemoveFence();
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(2u, 1u, 3u));
 }
 
 TEST_P(SequenceManagerTest, HasPendingImmediateWork_ImmediateTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   // Move the task into the |immediate_work_queue|.
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->immediate_work_queue()->Empty());
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->immediate_work_queue()->Empty());
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
   RunLoop().RunUntilIdle();
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->immediate_work_queue()->Empty());
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->immediate_work_queue()->Empty());
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   // Run the task, making the queue empty.
   voter->SetQueueEnabled(true);
   RunLoop().RunUntilIdle();
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 }
 
 TEST_P(SequenceManagerTest, HasPendingImmediateWork_DelayedTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay(TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
   test_task_runner_->AdvanceMockTickClock(delay);
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   // Move the task into the |delayed_work_queue|.
   LazyNow lazy_now(GetTickClock());
   manager_->WakeUpReadyDelayedQueues(&lazy_now);
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->delayed_work_queue()->Empty());
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->delayed_work_queue()->Empty());
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   // Run the task, making the queue empty.
   RunLoop().RunUntilIdle();
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 }
 
 TEST_P(SequenceManagerTest, DelayedTaskPosting) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay(TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
   EXPECT_EQ(TimeDelta::FromMilliseconds(10),
             test_task_runner_->NextPendingTaskDelay());
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
   EXPECT_TRUE(run_order.empty());
 
   // The task doesn't run before the delay has completed.
@@ -597,14 +591,14 @@
   // After the delay has completed, the task runs normally.
   test_task_runner_->FastForwardBy(TimeDelta::FromMilliseconds(1));
   EXPECT_THAT(run_order, ElementsAre(1u));
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 }
 
 TEST_P(SequenceManagerTest, DelayedTaskExecutedInOneMessageLoopTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(10));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        TimeDelta::FromMilliseconds(10));
   RunLoop().RunUntilIdle();
   EXPECT_EQ(1u, test_task_runner_->GetPendingTaskCount());
   test_task_runner_->FastForwardUntilNoTasksRemain();
@@ -612,20 +606,20 @@
 }
 
 TEST_P(SequenceManagerTest, DelayedTaskPosting_MultipleTasks_DecendingOrder) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 1, &run_order),
+                                        TimeDelta::FromMilliseconds(10));
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(8));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 2, &run_order),
+                                        TimeDelta::FromMilliseconds(8));
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(5));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 3, &run_order),
+                                        TimeDelta::FromMilliseconds(5));
 
   EXPECT_EQ(TimeDelta::FromMilliseconds(5),
             test_task_runner_->NextPendingTaskDelay());
@@ -645,20 +639,20 @@
 }
 
 TEST_P(SequenceManagerTest, DelayedTaskPosting_MultipleTasks_AscendingOrder) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(1));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 1, &run_order),
+                                        TimeDelta::FromMilliseconds(1));
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(5));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 2, &run_order),
+                                        TimeDelta::FromMilliseconds(5));
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 3, &run_order),
+                                        TimeDelta::FromMilliseconds(10));
 
   EXPECT_EQ(TimeDelta::FromMilliseconds(1),
             test_task_runner_->NextPendingTaskDelay());
@@ -678,15 +672,15 @@
 }
 
 TEST_P(SequenceManagerTest, PostDelayedTask_SharesUnderlyingDelayedTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay(TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 2, &run_order), delay);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 3, &run_order), delay);
 
   EXPECT_EQ(1u, test_task_runner_->GetPendingTaskCount());
@@ -704,14 +698,14 @@
 int TestObject::destructor_count__ = 0;
 
 TEST_P(SequenceManagerTest, PendingDelayedTasksRemovedOnShutdown) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TestObject::destructor_count__ = 0;
 
   TimeDelta delay(TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestObject::Run, Owned(new TestObject())), delay);
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE, BindOnce(&TestObject::Run, Owned(new TestObject())));
 
   manager_.reset();
@@ -720,65 +714,61 @@
 }
 
 TEST_P(SequenceManagerTest, InsertAndRemoveFence) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   std::vector<EnqueueOrder> run_order;
   // Posting a task when pumping is disabled doesn't result in work getting
   // posted.
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
   EXPECT_FALSE(test_task_runner_->HasPendingTask());
 
   // However polling still works.
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   // After removing the fence the task runs normally.
-  queues_[0]->RemoveFence();
+  queue->RemoveFence();
   EXPECT_TRUE(test_task_runner_->HasPendingTask());
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u));
 }
 
 TEST_P(SequenceManagerTest, RemovingFenceForDisabledQueueDoesNotPostDoWork) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
 
-  queues_[0]->RemoveFence();
+  queue->RemoveFence();
   EXPECT_FALSE(test_task_runner_->HasPendingTask());
 }
 
 TEST_P(SequenceManagerTest, EnablingFencedQueueDoesNotPostDoWork) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
 
   voter->SetQueueEnabled(true);
   EXPECT_FALSE(test_task_runner_->HasPendingTask());
 }
 
 TEST_P(SequenceManagerTest, DenyRunning_BeforePosting) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
   EXPECT_FALSE(test_task_runner_->HasPendingTask());
 
   RunLoop().RunUntilIdle();
@@ -790,13 +780,12 @@
 }
 
 TEST_P(SequenceManagerTest, DenyRunning_AfterPosting) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   EXPECT_TRUE(test_task_runner_->HasPendingTask());
   voter->SetQueueEnabled(false);
 
@@ -809,34 +798,33 @@
 }
 
 TEST_P(SequenceManagerTest, DenyRunning_AfterRemovingFence) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_TRUE(run_order.empty());
 
-  queues_[0]->RemoveFence();
+  queue->RemoveFence();
   voter->SetQueueEnabled(true);
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u));
 }
 
 TEST_P(SequenceManagerTest, RemovingFenceWithDelayedTask) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   std::vector<EnqueueOrder> run_order;
   // Posting a delayed task when fenced will apply the delay, but won't cause
   // work to executed afterwards.
   TimeDelta delay(TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
 
   // The task does not run even though it's delay is up.
@@ -844,15 +832,15 @@
   EXPECT_TRUE(run_order.empty());
 
   // Removing the fence causes the task to run.
-  queues_[0]->RemoveFence();
+  queue->RemoveFence();
   EXPECT_TRUE(test_task_runner_->HasPendingTask());
   RunPendingTasks();
   EXPECT_THAT(run_order, ElementsAre(1u));
 }
 
 TEST_P(SequenceManagerTest, RemovingFenceWithMultipleDelayedTasks) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   std::vector<EnqueueOrder> run_order;
   // Posting a delayed task when fenced will apply the delay, but won't cause
@@ -860,11 +848,11 @@
   TimeDelta delay1(TimeDelta::FromMilliseconds(1));
   TimeDelta delay2(TimeDelta::FromMilliseconds(10));
   TimeDelta delay3(TimeDelta::FromMilliseconds(20));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay1);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 2, &run_order), delay2);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 3, &run_order), delay3);
 
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMilliseconds(15));
@@ -872,18 +860,18 @@
   EXPECT_TRUE(run_order.empty());
 
   // Removing the fence causes the ready tasks to run.
-  queues_[0]->RemoveFence();
+  queue->RemoveFence();
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u));
 }
 
 TEST_P(SequenceManagerTest, InsertFencePreventsDelayedTasksFromRunning) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay(TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
 
   test_task_runner_->FastForwardBy(TimeDelta::FromMilliseconds(10));
@@ -891,104 +879,94 @@
 }
 
 TEST_P(SequenceManagerTest, MultipleFences) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u));
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
   // Subsequent tasks should be blocked.
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 4, &run_order));
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u));
 }
 
 TEST_P(SequenceManagerTest, InsertFenceThenImmediatlyRemoveDoesNotBlock) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  queues_[0]->RemoveFence();
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->RemoveFence();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u));
 }
 
 TEST_P(SequenceManagerTest, InsertFencePostThenRemoveDoesNotBlock) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->RemoveFence();
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->RemoveFence();
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u));
 }
 
 TEST_P(SequenceManagerTest, MultipleFencesWithInitiallyEmptyQueue) {
-  CreateTaskQueues(1u);
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  auto queue = CreateTaskQueue();
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u));
 }
 
 TEST_P(SequenceManagerTest, BlockedByFence) {
-  CreateTaskQueues(1u);
-  EXPECT_FALSE(queues_[0]->BlockedByFence());
+  auto queue = CreateTaskQueue();
+  EXPECT_FALSE(queue->BlockedByFence());
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  EXPECT_TRUE(queues_[0]->BlockedByFence());
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  EXPECT_TRUE(queue->BlockedByFence());
 
-  queues_[0]->RemoveFence();
-  EXPECT_FALSE(queues_[0]->BlockedByFence());
+  queue->RemoveFence();
+  EXPECT_FALSE(queue->BlockedByFence());
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  EXPECT_FALSE(queues_[0]->BlockedByFence());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  EXPECT_FALSE(queue->BlockedByFence());
 
   RunLoop().RunUntilIdle();
-  EXPECT_TRUE(queues_[0]->BlockedByFence());
+  EXPECT_TRUE(queue->BlockedByFence());
 
-  queues_[0]->RemoveFence();
-  EXPECT_FALSE(queues_[0]->BlockedByFence());
+  queue->RemoveFence();
+  EXPECT_FALSE(queue->BlockedByFence());
 }
 
 TEST_P(SequenceManagerTest, BlockedByFence_BothTypesOfFence) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  EXPECT_FALSE(queues_[0]->BlockedByFence());
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  EXPECT_FALSE(queue->BlockedByFence());
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kBeginningOfTime);
-  EXPECT_TRUE(queues_[0]->BlockedByFence());
+  queue->InsertFence(TaskQueue::InsertFencePosition::kBeginningOfTime);
+  EXPECT_TRUE(queue->BlockedByFence());
 }
 
 namespace {
@@ -1168,25 +1146,23 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, ReentrantPosting) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&ReentrantTestTask, queues_[0], 3, &run_order));
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&ReentrantTestTask, queue, 3, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(3u, 2u, 1u));
 }
 
 TEST_P(SequenceManagerTest, NoTasksAfterShutdown) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
   manager_.reset();
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_TRUE(run_order.empty());
@@ -1198,13 +1174,13 @@
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, PostFromThread) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   Thread thread("TestThread");
   thread.Start();
   thread.task_runner()->PostTask(
-      FROM_HERE, BindOnce(&PostTaskToRunner, queues_[0], &run_order));
+      FROM_HERE, BindOnce(&PostTaskToRunner, queue, &run_order));
   thread.Stop();
 
   RunLoop().RunUntilIdle();
@@ -1219,11 +1195,11 @@
 }
 
 TEST_P(SequenceManagerTest, DoWorkCantPostItselfMultipleTimes) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   int run_count = 0;
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&RePostingTestTask, queues_[0], &run_count));
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&RePostingTestTask, queue, &run_count));
 
   RunPendingTasks();
   EXPECT_EQ(1u, test_task_runner_->GetPendingTaskCount());
@@ -1231,20 +1207,18 @@
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, PostFromNestedRunloop) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   std::vector<std::pair<OnceClosure, bool>> tasks_to_post_from_nested_loop;
   tasks_to_post_from_nested_loop.push_back(
       std::make_pair(BindOnce(&TestTask, 1, &run_order), true));
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 0, &run_order));
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&PostFromNestedRunloop, queues_[0],
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 0, &run_order));
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&PostFromNestedRunloop, queue,
                           Unretained(&tasks_to_post_from_nested_loop)));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
 
   RunLoop().RunUntilIdle();
 
@@ -1252,19 +1226,15 @@
 }
 
 TEST_P(SequenceManagerTest, WorkBatching) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   manager_->SetWorkBatchSize(2);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 4, &run_order));
 
   // Running one task in the host message loop should cause two posted tasks to
   // get executed.
@@ -1285,17 +1255,15 @@
 };
 
 TEST_P(SequenceManagerTestWithMessageLoop, TaskObserverAdding) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   MockTaskObserver observer;
 
   manager_->SetWorkBatchSize(2);
   manager_->AddTaskObserver(&observer);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
 
   EXPECT_CALL(observer, WillProcessTask(_)).Times(2);
   EXPECT_CALL(observer, DidProcessTask(_)).Times(2);
@@ -1303,15 +1271,14 @@
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, TaskObserverRemoving) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   MockTaskObserver observer;
   manager_->SetWorkBatchSize(2);
   manager_->AddTaskObserver(&observer);
   manager_->RemoveTaskObserver(&observer);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
 
   EXPECT_CALL(observer, WillProcessTask(_)).Times(0);
   EXPECT_CALL(observer, DidProcessTask(_)).Times(0);
@@ -1324,12 +1291,12 @@
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, TaskObserverRemovingInsideTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   MockTaskObserver observer;
   manager_->SetWorkBatchSize(3);
   manager_->AddTaskObserver(&observer);
 
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE, BindOnce(&RemoveObserverTask, manager_.get(), &observer));
 
   EXPECT_CALL(observer, WillProcessTask(_)).Times(1);
@@ -1338,17 +1305,17 @@
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, QueueTaskObserverAdding) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
   MockTaskObserver observer;
 
   manager_->SetWorkBatchSize(2);
-  queues_[0]->AddTaskObserver(&observer);
+  queues[0]->AddTaskObserver(&observer);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 1, &run_order));
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 2, &run_order));
 
   EXPECT_CALL(observer, WillProcessTask(_)).Times(1);
   EXPECT_CALL(observer, DidProcessTask(_)).Times(1);
@@ -1356,15 +1323,14 @@
 }
 
 TEST_P(SequenceManagerTestWithMessageLoop, QueueTaskObserverRemoving) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   MockTaskObserver observer;
   manager_->SetWorkBatchSize(2);
-  queues_[0]->AddTaskObserver(&observer);
-  queues_[0]->RemoveTaskObserver(&observer);
+  queue->AddTaskObserver(&observer);
+  queue->RemoveTaskObserver(&observer);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
 
   EXPECT_CALL(observer, WillProcessTask(_)).Times(0);
   EXPECT_CALL(observer, DidProcessTask(_)).Times(0);
@@ -1379,12 +1345,12 @@
 
 TEST_P(SequenceManagerTestWithMessageLoop,
        QueueTaskObserverRemovingInsideTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   MockTaskObserver observer;
-  queues_[0]->AddTaskObserver(&observer);
+  queue->AddTaskObserver(&observer);
 
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&RemoveQueueObserverTask, queues_[0], &observer));
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&RemoveQueueObserverTask, queue, &observer));
 
   EXPECT_CALL(observer, WillProcessTask(_)).Times(1);
   EXPECT_CALL(observer, DidProcessTask(_)).Times(0);
@@ -1392,14 +1358,14 @@
 }
 
 TEST_P(SequenceManagerTest, ThreadCheckAfterTermination) {
-  CreateTaskQueues(1u);
-  EXPECT_TRUE(queues_[0]->task_runner()->RunsTasksInCurrentSequence());
+  auto queue = CreateTaskQueue();
+  EXPECT_TRUE(queue->task_runner()->RunsTasksInCurrentSequence());
   manager_.reset();
-  EXPECT_TRUE(queues_[0]->task_runner()->RunsTasksInCurrentSequence());
+  EXPECT_TRUE(queue->task_runner()->RunsTasksInCurrentSequence());
 }
 
 TEST_P(SequenceManagerTest, TimeDomain_NextScheduledRunTime) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMicroseconds(10000));
   LazyNow lazy_now_1(GetTickClock());
 
@@ -1407,33 +1373,33 @@
   EXPECT_FALSE(manager_->GetRealTimeDomain()->DelayTillNextTask(&lazy_now_1));
 
   // With a non-delayed task.
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_FALSE(manager_->GetRealTimeDomain()->DelayTillNextTask(&lazy_now_1));
 
   // With a delayed task.
   TimeDelta expected_delay = TimeDelta::FromMilliseconds(50);
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             expected_delay);
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            expected_delay);
   EXPECT_EQ(expected_delay,
             manager_->GetRealTimeDomain()->DelayTillNextTask(&lazy_now_1));
 
   // With another delayed task in the same queue with a longer delay.
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(100));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromMilliseconds(100));
   EXPECT_EQ(expected_delay,
             manager_->GetRealTimeDomain()->DelayTillNextTask(&lazy_now_1));
 
   // With another delayed task in the same queue with a shorter delay.
   expected_delay = TimeDelta::FromMilliseconds(20);
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             expected_delay);
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            expected_delay);
   EXPECT_EQ(expected_delay,
             manager_->GetRealTimeDomain()->DelayTillNextTask(&lazy_now_1));
 
   // With another delayed task in a different queue with a shorter delay.
   expected_delay = TimeDelta::FromMilliseconds(10);
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             expected_delay);
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            expected_delay);
   EXPECT_EQ(expected_delay,
             manager_->GetRealTimeDomain()->DelayTillNextTask(&lazy_now_1));
 
@@ -1445,18 +1411,18 @@
 }
 
 TEST_P(SequenceManagerTest, TimeDomain_NextScheduledRunTime_MultipleQueues) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
   TimeDelta delay1 = TimeDelta::FromMilliseconds(50);
   TimeDelta delay2 = TimeDelta::FromMilliseconds(5);
   TimeDelta delay3 = TimeDelta::FromMilliseconds(10);
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay1);
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay2);
-  queues_[2]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay3);
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            delay1);
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            delay2);
+  queues[2]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            delay3);
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   LazyNow lazy_now(GetTickClock());
   EXPECT_EQ(delay2,
@@ -1464,9 +1430,9 @@
 }
 
 TEST_P(SequenceManagerTest, DeleteSequenceManagerInsideATask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE, BindOnce(&SequenceManagerTest::DeleteSequenceManagerTask,
                           Unretained(this)));
 
@@ -1476,7 +1442,7 @@
 }
 
 TEST_P(SequenceManagerTest, GetAndClearSystemIsQuiescentBit) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
   scoped_refptr<TestTaskQueue> queue0 =
       CreateTaskQueue(TaskQueue::Spec("test").SetShouldMonitorQuiescence(true));
@@ -1508,38 +1474,38 @@
 }
 
 TEST_P(SequenceManagerTest, HasPendingImmediateWork) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(NullTask));
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(NullTask));
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   RunLoop().RunUntilIdle();
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 }
 
 TEST_P(SequenceManagerTest, HasPendingImmediateWork_DelayedTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(NullTask),
-                                             TimeDelta::FromMilliseconds(12));
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(NullTask),
+                                        TimeDelta::FromMilliseconds(12));
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 
   // Move time forwards until just before the delayed task should run.
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMilliseconds(10));
   LazyNow lazy_now_1(GetTickClock());
   manager_->WakeUpReadyDelayedQueues(&lazy_now_1);
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 
   // Force the delayed task onto the work queue.
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMilliseconds(2));
   LazyNow lazy_now_2(GetTickClock());
   manager_->WakeUpReadyDelayedQueues(&lazy_now_2);
-  EXPECT_TRUE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_TRUE(queue->HasTaskToRunImmediately());
 
   RunLoop().RunUntilIdle();
-  EXPECT_FALSE(queues_[0]->HasTaskToRunImmediately());
+  EXPECT_FALSE(queue->HasTaskToRunImmediately());
 }
 
 void ExpensiveTestTask(int value,
@@ -1550,12 +1516,12 @@
 }
 
 TEST_P(SequenceManagerTest, ImmediateAndDelayedTaskInterleaving) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay = TimeDelta::FromMilliseconds(10);
   for (int i = 10; i < 19; i++) {
-    queues_[0]->task_runner()->PostDelayedTask(
+    queue->task_runner()->PostDelayedTask(
         FROM_HERE,
         BindOnce(&ExpensiveTestTask, i, test_task_runner_, &run_order), delay);
   }
@@ -1563,7 +1529,7 @@
   test_task_runner_->FastForwardBy(TimeDelta::FromMilliseconds(10));
 
   for (int i = 0; i < 9; i++) {
-    queues_[0]->task_runner()->PostTask(
+    queue->task_runner()->PostTask(
         FROM_HERE,
         BindOnce(&ExpensiveTestTask, i, test_task_runner_, &run_order));
   }
@@ -1579,15 +1545,13 @@
 
 TEST_P(SequenceManagerTest,
        DelayedTaskDoesNotSkipAHeadOfNonDelayedTask_SameQueue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay = TimeDelta::FromMilliseconds(10);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
 
   test_task_runner_->AdvanceMockTickClock(delay * 2);
@@ -1598,15 +1562,15 @@
 
 TEST_P(SequenceManagerTest,
        DelayedTaskDoesNotSkipAHeadOfNonDelayedTask_DifferentQueues) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay = TimeDelta::FromMilliseconds(10);
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 2, &run_order));
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 3, &run_order));
+  queues[0]->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay);
 
   test_task_runner_->AdvanceMockTickClock(delay * 2);
@@ -1616,14 +1580,14 @@
 }
 
 TEST_P(SequenceManagerTest, DelayedTaskDoesNotSkipAHeadOfShorterDelayedTask) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   std::vector<EnqueueOrder> run_order;
   TimeDelta delay1 = TimeDelta::FromMilliseconds(10);
   TimeDelta delay2 = TimeDelta::FromMilliseconds(5);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queues[0]->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 1, &run_order), delay1);
-  queues_[1]->task_runner()->PostDelayedTask(
+  queues[1]->task_runner()->PostDelayedTask(
       FROM_HERE, BindOnce(&TestTask, 2, &run_order), delay2);
 
   test_task_runner_->AdvanceMockTickClock(delay1 * 2);
@@ -1648,14 +1612,14 @@
 TEST_P(SequenceManagerTestWithMessageLoop, QuitWhileNested) {
   // This test makes sure we don't continue running a work batch after a nested
   // run loop has been exited in the middle of the batch.
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   manager_->SetWorkBatchSize(2);
 
   bool was_nested = true;
   RunLoop run_loop(RunLoop::Type::kNestableTasksAllowed);
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE, BindOnce(&PostAndQuitFromNestedRunloop, Unretained(&run_loop),
-                          queues_[0], Unretained(&was_nested)));
+                          queue, Unretained(&was_nested)));
 
   RunLoop().RunUntilIdle();
   EXPECT_FALSE(was_nested);
@@ -1676,24 +1640,23 @@
 };
 
 TEST_P(SequenceManagerTest, SequenceNumSetWhenTaskIsPosted) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   SequenceNumberCapturingTaskObserver observer;
   manager_->AddTaskObserver(&observer);
 
   // Register four tasks that will run in reverse order.
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(30));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(20));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 1, &run_order),
+                                        TimeDelta::FromMilliseconds(30));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 2, &run_order),
+                                        TimeDelta::FromMilliseconds(20));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 3, &run_order),
+                                        TimeDelta::FromMilliseconds(10));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 4, &run_order));
 
   test_task_runner_->FastForwardBy(TimeDelta::FromMilliseconds(40));
   ASSERT_THAT(run_order, ElementsAre(4u, 3u, 2u, 1u));
@@ -1707,7 +1670,7 @@
 }
 
 TEST_P(SequenceManagerTest, NewTaskQueues) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   scoped_refptr<TestTaskQueue> queue1 = CreateTaskQueue();
   scoped_refptr<TestTaskQueue> queue2 = CreateTaskQueue();
@@ -1749,7 +1712,7 @@
 }
 
 TEST_P(SequenceManagerTest, ShutdownTaskQueue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   scoped_refptr<TestTaskQueue> queue1 = CreateTaskQueue();
   scoped_refptr<TestTaskQueue> queue2 = CreateTaskQueue();
@@ -1773,21 +1736,21 @@
 }
 
 TEST_P(SequenceManagerTest, ShutdownTaskQueue_WithDelayedTasks) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   // Register three delayed tasks
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(20));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(30));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 1, &run_order),
+                                            TimeDelta::FromMilliseconds(10));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 2, &run_order),
+                                            TimeDelta::FromMilliseconds(20));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 3, &run_order),
+                                            TimeDelta::FromMilliseconds(30));
 
-  queues_[1]->ShutdownTaskQueue();
+  queues[1]->ShutdownTaskQueue();
   RunLoop().RunUntilIdle();
 
   test_task_runner_->FastForwardBy(TimeDelta::FromMilliseconds(40));
@@ -1801,19 +1764,19 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, ShutdownTaskQueue_InTasks) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&ShutdownQueue, queues_[1]));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&ShutdownQueue, queues_[2]));
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[2]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 1, &run_order));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&ShutdownQueue, queues[1]));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&ShutdownQueue, queues[2]));
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 2, &run_order));
+  queues[2]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 3, &run_order));
 
   RunLoop().RunUntilIdle();
   ASSERT_THAT(run_order, ElementsAre(1u));
@@ -1831,7 +1794,7 @@
 }  // namespace
 
 TEST_P(SequenceManagerTestWithMessageLoop, ShutdownTaskQueueInNestedLoop) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   // We retain a reference to the task queue even when the manager has deleted
   // its reference.
@@ -1851,8 +1814,8 @@
       true));
   tasks_to_post_from_nested_loop.push_back(
       std::make_pair(BindOnce(&NopTask), true));
-  queues_[0]->task_runner()->PostTask(
-      FROM_HERE, BindOnce(&PostFromNestedRunloop, queues_[0],
+  queue->task_runner()->PostTask(
+      FROM_HERE, BindOnce(&PostFromNestedRunloop, queue,
                           Unretained(&tasks_to_post_from_nested_loop)));
   RunLoop().RunUntilIdle();
 
@@ -1860,7 +1823,7 @@
 }
 
 TEST_P(SequenceManagerTest, TimeDomainsAreIndependant) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   TimeTicks start_time_ticks = manager_->NowTicks();
   std::unique_ptr<MockTimeDomain> domain_a =
@@ -1869,29 +1832,29 @@
       std::make_unique<MockTimeDomain>(start_time_ticks);
   manager_->RegisterTimeDomain(domain_a.get());
   manager_->RegisterTimeDomain(domain_b.get());
-  queues_[0]->SetTimeDomain(domain_a.get());
-  queues_[1]->SetTimeDomain(domain_b.get());
+  queues[0]->SetTimeDomain(domain_a.get());
+  queues[1]->SetTimeDomain(domain_b.get());
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(20));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(30));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 1, &run_order),
+                                            TimeDelta::FromMilliseconds(10));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 2, &run_order),
+                                            TimeDelta::FromMilliseconds(20));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 3, &run_order),
+                                            TimeDelta::FromMilliseconds(30));
 
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 4, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 5, &run_order),
-                                             TimeDelta::FromMilliseconds(20));
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 6, &run_order),
-                                             TimeDelta::FromMilliseconds(30));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 4, &run_order),
+                                            TimeDelta::FromMilliseconds(10));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 5, &run_order),
+                                            TimeDelta::FromMilliseconds(20));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE,
+                                            BindOnce(&TestTask, 6, &run_order),
+                                            TimeDelta::FromMilliseconds(30));
 
   domain_b->SetNowTicks(start_time_ticks + TimeDelta::FromMilliseconds(50));
   manager_->MaybeScheduleImmediateWork(FROM_HERE);
@@ -1905,35 +1868,35 @@
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(4u, 5u, 6u, 1u, 2u, 3u));
 
-  queues_[0]->ShutdownTaskQueue();
-  queues_[1]->ShutdownTaskQueue();
+  queues[0]->ShutdownTaskQueue();
+  queues[1]->ShutdownTaskQueue();
 
   manager_->UnregisterTimeDomain(domain_a.get());
   manager_->UnregisterTimeDomain(domain_b.get());
 }
 
 TEST_P(SequenceManagerTest, TimeDomainMigration) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time_ticks = manager_->NowTicks();
   std::unique_ptr<MockTimeDomain> domain_a =
       std::make_unique<MockTimeDomain>(start_time_ticks);
   manager_->RegisterTimeDomain(domain_a.get());
-  queues_[0]->SetTimeDomain(domain_a.get());
+  queue->SetTimeDomain(domain_a.get());
 
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(20));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(30));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 4, &run_order),
-                                             TimeDelta::FromMilliseconds(40));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 1, &run_order),
+                                        TimeDelta::FromMilliseconds(10));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 2, &run_order),
+                                        TimeDelta::FromMilliseconds(20));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 3, &run_order),
+                                        TimeDelta::FromMilliseconds(30));
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 4, &run_order),
+                                        TimeDelta::FromMilliseconds(40));
 
   domain_a->SetNowTicks(start_time_ticks + TimeDelta::FromMilliseconds(20));
   manager_->MaybeScheduleImmediateWork(FROM_HERE);
@@ -1943,7 +1906,7 @@
   std::unique_ptr<MockTimeDomain> domain_b =
       std::make_unique<MockTimeDomain>(start_time_ticks);
   manager_->RegisterTimeDomain(domain_b.get());
-  queues_[0]->SetTimeDomain(domain_b.get());
+  queue->SetTimeDomain(domain_b.get());
 
   domain_b->SetNowTicks(start_time_ticks + TimeDelta::FromMilliseconds(50));
   manager_->MaybeScheduleImmediateWork(FROM_HERE);
@@ -1951,14 +1914,14 @@
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u, 4u));
 
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
 
   manager_->UnregisterTimeDomain(domain_a.get());
   manager_->UnregisterTimeDomain(domain_b.get());
 }
 
 TEST_P(SequenceManagerTest, TimeDomainMigrationWithIncomingImmediateTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time_ticks = manager_->NowTicks();
   std::unique_ptr<MockTimeDomain> domain_a =
@@ -1968,16 +1931,15 @@
   manager_->RegisterTimeDomain(domain_a.get());
   manager_->RegisterTimeDomain(domain_b.get());
 
-  queues_[0]->SetTimeDomain(domain_a.get());
+  queue->SetTimeDomain(domain_a.get());
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->SetTimeDomain(domain_b.get());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->SetTimeDomain(domain_b.get());
 
   RunLoop().RunUntilIdle();
   EXPECT_THAT(run_order, ElementsAre(1u));
 
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
 
   manager_->UnregisterTimeDomain(domain_a.get());
   manager_->UnregisterTimeDomain(domain_b.get());
@@ -1985,7 +1947,7 @@
 
 TEST_P(SequenceManagerTest,
        PostDelayedTasksReverseOrderAlternatingTimeDomains) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::vector<EnqueueOrder> run_order;
 
@@ -1996,30 +1958,30 @@
   manager_->RegisterTimeDomain(domain_a.get());
   manager_->RegisterTimeDomain(domain_b.get());
 
-  queues_[0]->SetTimeDomain(domain_a.get());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 1, &run_order),
-                                             TimeDelta::FromMilliseconds(40));
+  queue->SetTimeDomain(domain_a.get());
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 1, &run_order),
+                                        TimeDelta::FromMilliseconds(40));
 
-  queues_[0]->SetTimeDomain(domain_b.get());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 2, &run_order),
-                                             TimeDelta::FromMilliseconds(30));
+  queue->SetTimeDomain(domain_b.get());
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 2, &run_order),
+                                        TimeDelta::FromMilliseconds(30));
 
-  queues_[0]->SetTimeDomain(domain_a.get());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 3, &run_order),
-                                             TimeDelta::FromMilliseconds(20));
+  queue->SetTimeDomain(domain_a.get());
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 3, &run_order),
+                                        TimeDelta::FromMilliseconds(20));
 
-  queues_[0]->SetTimeDomain(domain_b.get());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE,
-                                             BindOnce(&TestTask, 4, &run_order),
-                                             TimeDelta::FromMilliseconds(10));
+  queue->SetTimeDomain(domain_b.get());
+  queue->task_runner()->PostDelayedTask(FROM_HERE,
+                                        BindOnce(&TestTask, 4, &run_order),
+                                        TimeDelta::FromMilliseconds(10));
 
   test_task_runner_->FastForwardBy(TimeDelta::FromMilliseconds(40));
   EXPECT_THAT(run_order, ElementsAre(4u, 3u, 2u, 1u));
 
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
 
   manager_->UnregisterTimeDomain(domain_a.get());
   manager_->UnregisterTimeDomain(domain_b.get());
@@ -2037,37 +1999,37 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, TaskQueueObserver_ImmediateTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   MockTaskQueueObserver observer;
-  queues_[0]->SetObserver(&observer);
+  queue->SetObserver(&observer);
 
   // We should get a notification when a task is posted on an empty queue.
-  EXPECT_CALL(observer, OnQueueNextWakeUpChanged(queues_[0].get(), _));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  EXPECT_CALL(observer, OnQueueNextWakeUpChanged(queue.get(), _));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   manager_->ReloadEmptyWorkQueues();
   Mock::VerifyAndClearExpectations(&observer);
 
   // But not subsequently.
   EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0);
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   manager_->ReloadEmptyWorkQueues();
   Mock::VerifyAndClearExpectations(&observer);
 
   // Unless the immediate work queue is emptied.
   manager_->TakeTask();
   manager_->TakeTask();
-  EXPECT_CALL(observer, OnQueueNextWakeUpChanged(queues_[0].get(), _));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  EXPECT_CALL(observer, OnQueueNextWakeUpChanged(queue.get(), _));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   manager_->ReloadEmptyWorkQueues();
   Mock::VerifyAndClearExpectations(&observer);
 
   // Tidy up.
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
 }
 
 TEST_P(SequenceManagerTest, TaskQueueObserver_DelayedTask) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time = manager_->NowTicks();
   TimeDelta delay10s(TimeDelta::FromSeconds(10));
@@ -2075,72 +2037,71 @@
   TimeDelta delay1s(TimeDelta::FromSeconds(1));
 
   MockTaskQueueObserver observer;
-  queues_[0]->SetObserver(&observer);
+  queue->SetObserver(&observer);
 
   // We should get a notification when a delayed task is posted on an empty
   // queue.
-  EXPECT_CALL(observer, OnQueueNextWakeUpChanged(queues_[0].get(),
-                                                 start_time + delay10s));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay10s);
+  EXPECT_CALL(observer,
+              OnQueueNextWakeUpChanged(queue.get(), start_time + delay10s));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        delay10s);
   Mock::VerifyAndClearExpectations(&observer);
 
   // We should not get a notification for a longer delay.
   EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0);
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay100s);
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        delay100s);
   Mock::VerifyAndClearExpectations(&observer);
 
   // We should get a notification for a shorter delay.
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[0].get(), start_time + delay1s));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay1s);
+              OnQueueNextWakeUpChanged(queue.get(), start_time + delay1s));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask), delay1s);
   Mock::VerifyAndClearExpectations(&observer);
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
   Mock::VerifyAndClearExpectations(&observer);
 
   // When a queue has been enabled, we may get a notification if the
   // TimeDomain's next scheduled wake-up has changed.
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[0].get(), start_time + delay1s));
+              OnQueueNextWakeUpChanged(queue.get(), start_time + delay1s));
   voter->SetQueueEnabled(true);
   Mock::VerifyAndClearExpectations(&observer);
 
   // Tidy up.
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
 }
 
 TEST_P(SequenceManagerTest, TaskQueueObserver_DelayedTaskMultipleQueues) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   MockTaskQueueObserver observer;
-  queues_[0]->SetObserver(&observer);
-  queues_[1]->SetObserver(&observer);
+  queues[0]->SetObserver(&observer);
+  queues[1]->SetObserver(&observer);
 
   TimeTicks start_time = manager_->NowTicks();
   TimeDelta delay1s(TimeDelta::FromSeconds(1));
   TimeDelta delay10s(TimeDelta::FromSeconds(10));
 
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[0].get(), start_time + delay1s))
+              OnQueueNextWakeUpChanged(queues[0].get(), start_time + delay1s))
       .Times(1);
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[1].get(), start_time + delay10s))
+              OnQueueNextWakeUpChanged(queues[1].get(), start_time + delay10s))
       .Times(1);
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay1s);
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay10s);
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            delay1s);
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            delay10s);
   testing::Mock::VerifyAndClearExpectations(&observer);
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter0 =
-      queues_[0]->CreateQueueEnabledVoter();
+      queues[0]->CreateQueueEnabledVoter();
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter1 =
-      queues_[1]->CreateQueueEnabledVoter();
+      queues[1]->CreateQueueEnabledVoter();
 
   // Disabling a queue should not trigger a notification.
   EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0);
@@ -2149,7 +2110,7 @@
 
   // Re-enabling it should should also trigger a notification.
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[0].get(), start_time + delay1s));
+              OnQueueNextWakeUpChanged(queues[0].get(), start_time + delay1s));
   voter0->SetQueueEnabled(true);
   Mock::VerifyAndClearExpectations(&observer);
 
@@ -2159,15 +2120,15 @@
   Mock::VerifyAndClearExpectations(&observer);
 
   // Re-enabling it should should trigger a notification.
-  EXPECT_CALL(observer, OnQueueNextWakeUpChanged(queues_[1].get(),
-                                                 start_time + delay10s));
+  EXPECT_CALL(observer,
+              OnQueueNextWakeUpChanged(queues[1].get(), start_time + delay10s));
   voter1->SetQueueEnabled(true);
   Mock::VerifyAndClearExpectations(&observer);
 
   // Tidy up.
   EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(AnyNumber());
-  queues_[0]->ShutdownTaskQueue();
-  queues_[1]->ShutdownTaskQueue();
+  queues[0]->ShutdownTaskQueue();
+  queues[1]->ShutdownTaskQueue();
 }
 
 TEST_P(SequenceManagerTest, TaskQueueObserver_DelayedWorkWhichCanRunNow) {
@@ -2178,19 +2139,18 @@
   // is the same in all conditions and just change a time domain to
   // trigger notification.
 
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeDelta delay1s(TimeDelta::FromSeconds(1));
   TimeDelta delay10s(TimeDelta::FromSeconds(10));
 
   MockTaskQueueObserver observer;
-  queues_[0]->SetObserver(&observer);
+  queue->SetObserver(&observer);
 
   // We should get a notification when a delayed task is posted on an empty
   // queue.
   EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _));
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay1s);
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask), delay1s);
   Mock::VerifyAndClearExpectations(&observer);
 
   std::unique_ptr<TimeDomain> mock_time_domain =
@@ -2200,11 +2160,11 @@
   test_task_runner_->AdvanceMockTickClock(delay10s);
 
   EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _));
-  queues_[0]->SetTimeDomain(mock_time_domain.get());
+  queue->SetTimeDomain(mock_time_domain.get());
   Mock::VerifyAndClearExpectations(&observer);
 
   // Tidy up.
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
 }
 
 class CancelableTask {
@@ -2221,28 +2181,28 @@
 };
 
 TEST_P(SequenceManagerTest, TaskQueueObserver_SweepCanceledDelayedTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   MockTaskQueueObserver observer;
-  queues_[0]->SetObserver(&observer);
+  queue->SetObserver(&observer);
 
   TimeTicks start_time = manager_->NowTicks();
   TimeDelta delay1(TimeDelta::FromSeconds(5));
   TimeDelta delay2(TimeDelta::FromSeconds(10));
 
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[0].get(), start_time + delay1))
+              OnQueueNextWakeUpChanged(queue.get(), start_time + delay1))
       .Times(1);
 
   CancelableTask task1(GetTickClock());
   CancelableTask task2(GetTickClock());
   std::vector<TimeTicks> run_times;
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task1.weak_factory_.GetWeakPtr(), &run_times),
       delay1);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task2.weak_factory_.GetWeakPtr(), &run_times),
@@ -2252,7 +2212,7 @@
 
   // Sweeping away canceled delayed tasks should trigger a notification.
   EXPECT_CALL(observer,
-              OnQueueNextWakeUpChanged(queues_[0].get(), start_time + delay2))
+              OnQueueNextWakeUpChanged(queue.get(), start_time + delay2))
       .Times(1);
   manager_->ReclaimMemory();
 }
@@ -2266,14 +2226,14 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, NumberOfPendingTasksOnChromiumRunLoop) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   // NOTE because tasks posted to the chromiumrun loop are not cancellable, we
   // will end up with a lot more tasks posted if the delayed tasks were posted
   // in the reverse order.
   // TODO(alexclarke): Consider talking to the message pump directly.
   for (int i = 1; i < 100; i++) {
-    queues_[0]->task_runner()->PostDelayedTask(
+    queue->task_runner()->PostDelayedTask(
         FROM_HERE, BindOnce(&ChromiumRunloopInspectionTask, test_task_runner_),
         TimeDelta::FromMilliseconds(i));
   }
@@ -2358,11 +2318,11 @@
 
 TEST_P(SequenceManagerTest,
        DelayedTasksDontBadlyStarveNonDelayedWork_SameQueue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  QuadraticTask quadratic_delayed_task(
-      queues_[0], TimeDelta::FromMilliseconds(10), test_task_runner_);
-  LinearTask linear_immediate_task(queues_[0], TimeDelta(), test_task_runner_);
+  QuadraticTask quadratic_delayed_task(queue, TimeDelta::FromMilliseconds(10),
+                                       test_task_runner_);
+  LinearTask linear_immediate_task(queue, TimeDelta(), test_task_runner_);
   RepeatingCallback<bool()> should_exit = BindRepeating(
       ShouldExit, &quadratic_delayed_task, &linear_immediate_task);
   quadratic_delayed_task.SetShouldExit(should_exit);
@@ -2381,11 +2341,10 @@
 }
 
 TEST_P(SequenceManagerTest, ImmediateWorkCanStarveDelayedTasks_SameQueue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  QuadraticTask quadratic_immediate_task(queues_[0], TimeDelta(),
-                                         test_task_runner_);
-  LinearTask linear_delayed_task(queues_[0], TimeDelta::FromMilliseconds(10),
+  QuadraticTask quadratic_immediate_task(queue, TimeDelta(), test_task_runner_);
+  LinearTask linear_delayed_task(queue, TimeDelta::FromMilliseconds(10),
                                  test_task_runner_);
   RepeatingCallback<bool()> should_exit = BindRepeating(
       &ShouldExit, &quadratic_immediate_task, &linear_delayed_task);
@@ -2409,11 +2368,11 @@
 
 TEST_P(SequenceManagerTest,
        DelayedTasksDontBadlyStarveNonDelayedWork_DifferentQueue) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   QuadraticTask quadratic_delayed_task(
-      queues_[0], TimeDelta::FromMilliseconds(10), test_task_runner_);
-  LinearTask linear_immediate_task(queues_[1], TimeDelta(), test_task_runner_);
+      queues[0], TimeDelta::FromMilliseconds(10), test_task_runner_);
+  LinearTask linear_immediate_task(queues[1], TimeDelta(), test_task_runner_);
   RepeatingCallback<bool()> should_exit = BindRepeating(
       ShouldExit, &quadratic_delayed_task, &linear_immediate_task);
   quadratic_delayed_task.SetShouldExit(should_exit);
@@ -2432,11 +2391,11 @@
 }
 
 TEST_P(SequenceManagerTest, ImmediateWorkCanStarveDelayedTasks_DifferentQueue) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
-  QuadraticTask quadratic_immediate_task(queues_[0], TimeDelta(),
+  QuadraticTask quadratic_immediate_task(queues[0], TimeDelta(),
                                          test_task_runner_);
-  LinearTask linear_delayed_task(queues_[1], TimeDelta::FromMilliseconds(10),
+  LinearTask linear_delayed_task(queues[1], TimeDelta::FromMilliseconds(10),
                                  test_task_runner_);
   RepeatingCallback<bool()> should_exit = BindRepeating(
       &ShouldExit, &quadratic_immediate_task, &linear_delayed_task);
@@ -2459,7 +2418,7 @@
 }
 
 TEST_P(SequenceManagerTest, CurrentlyExecutingTaskQueue_NoTaskRunning) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   EXPECT_EQ(nullptr, manager_->currently_executing_task_queue());
 }
@@ -2473,10 +2432,10 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, CurrentlyExecutingTaskQueue_TaskRunning) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
-  TestTaskQueue* queue0 = queues_[0].get();
-  TestTaskQueue* queue1 = queues_[1].get();
+  TestTaskQueue* queue0 = queues[0].get();
+  TestTaskQueue* queue1 = queues[1].get();
 
   std::vector<internal::TaskQueueImpl*> task_sources;
   queue0->task_runner()->PostTask(
@@ -2510,11 +2469,11 @@
 
 TEST_P(SequenceManagerTestWithMessageLoop,
        CurrentlyExecutingTaskQueue_NestedLoop) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
-  TestTaskQueue* queue0 = queues_[0].get();
-  TestTaskQueue* queue1 = queues_[1].get();
-  TestTaskQueue* queue2 = queues_[2].get();
+  TestTaskQueue* queue0 = queues[0].get();
+  TestTaskQueue* queue1 = queues[1].get();
+  TestTaskQueue* queue2 = queues[2].get();
 
   std::vector<internal::TaskQueueImpl*> task_sources;
   std::vector<std::pair<OnceClosure, TestTaskQueue*>>
@@ -2544,8 +2503,7 @@
 TEST_P(SequenceManagerTestWithMessageLoop, BlameContextAttribution) {
   using trace_analyzer::Query;
 
-  CreateTaskQueues(1u);
-  TestTaskQueue* queue = queues_[0].get();
+  auto queue = CreateTaskQueue();
 
   trace_analyzer::Start("*");
   {
@@ -2567,7 +2525,7 @@
 }
 
 TEST_P(SequenceManagerTest, NoWakeUpsForCanceledDelayedTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time = manager_->NowTicks();
 
@@ -2580,22 +2538,22 @@
   TimeDelta delay3(TimeDelta::FromSeconds(15));
   TimeDelta delay4(TimeDelta::FromSeconds(30));
   std::vector<TimeTicks> run_times;
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task1.weak_factory_.GetWeakPtr(), &run_times),
       delay1);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task2.weak_factory_.GetWeakPtr(), &run_times),
       delay2);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task3.weak_factory_.GetWeakPtr(), &run_times),
       delay3);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task4.weak_factory_.GetWeakPtr(), &run_times),
@@ -2618,7 +2576,7 @@
 }
 
 TEST_P(SequenceManagerTest, NoWakeUpsForCanceledDelayedTasksReversePostOrder) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time = manager_->NowTicks();
 
@@ -2631,22 +2589,22 @@
   TimeDelta delay3(TimeDelta::FromSeconds(15));
   TimeDelta delay4(TimeDelta::FromSeconds(30));
   std::vector<TimeTicks> run_times;
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task4.weak_factory_.GetWeakPtr(), &run_times),
       delay4);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task3.weak_factory_.GetWeakPtr(), &run_times),
       delay3);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task2.weak_factory_.GetWeakPtr(), &run_times),
       delay2);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task1.weak_factory_.GetWeakPtr(), &run_times),
@@ -2669,7 +2627,7 @@
 }
 
 TEST_P(SequenceManagerTest, TimeDomainWakeUpOnlyCancelledIfAllUsesCancelled) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time = manager_->NowTicks();
 
@@ -2682,22 +2640,22 @@
   TimeDelta delay3(TimeDelta::FromSeconds(15));
   TimeDelta delay4(TimeDelta::FromSeconds(30));
   std::vector<TimeTicks> run_times;
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task1.weak_factory_.GetWeakPtr(), &run_times),
       delay1);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task2.weak_factory_.GetWeakPtr(), &run_times),
       delay2);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task3.weak_factory_.GetWeakPtr(), &run_times),
       delay3);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task4.weak_factory_.GetWeakPtr(), &run_times),
@@ -2705,7 +2663,7 @@
 
   // Post a non-canceled task with |delay3|. So we should still get a wake-up at
   // |delay3| even though we cancel |task3|.
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask, Unretained(&task3), &run_times),
       delay3);
@@ -2730,55 +2688,53 @@
 }
 
 TEST_P(SequenceManagerTest, TaskQueueVoters) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   // The task queue should be initially enabled.
-  EXPECT_TRUE(queues_[0]->IsQueueEnabled());
+  EXPECT_TRUE(queue->IsQueueEnabled());
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter1 =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter2 =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter3 =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter4 =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
 
   // Voters should initially vote for the queue to be enabled.
-  EXPECT_TRUE(queues_[0]->IsQueueEnabled());
+  EXPECT_TRUE(queue->IsQueueEnabled());
 
   // If any voter wants to disable, the queue is disabled.
   voter1->SetQueueEnabled(false);
-  EXPECT_FALSE(queues_[0]->IsQueueEnabled());
+  EXPECT_FALSE(queue->IsQueueEnabled());
 
   // If the voter is deleted then the queue should be re-enabled.
   voter1.reset();
-  EXPECT_TRUE(queues_[0]->IsQueueEnabled());
+  EXPECT_TRUE(queue->IsQueueEnabled());
 
   // If any of the remaining voters wants to disable, the queue should be
   // disabled.
   voter2->SetQueueEnabled(false);
-  EXPECT_FALSE(queues_[0]->IsQueueEnabled());
+  EXPECT_FALSE(queue->IsQueueEnabled());
 
   // If another queue votes to disable, nothing happens because it's already
   // disabled.
   voter3->SetQueueEnabled(false);
-  EXPECT_FALSE(queues_[0]->IsQueueEnabled());
+  EXPECT_FALSE(queue->IsQueueEnabled());
 
   // There are two votes to disable, so one of them voting to enable does
   // nothing.
   voter2->SetQueueEnabled(true);
-  EXPECT_FALSE(queues_[0]->IsQueueEnabled());
+  EXPECT_FALSE(queue->IsQueueEnabled());
 
   // IF all queues vote to enable then the queue is enabled.
   voter3->SetQueueEnabled(true);
-  EXPECT_TRUE(queues_[0]->IsQueueEnabled());
+  EXPECT_TRUE(queue->IsQueueEnabled());
 }
 
 TEST_P(SequenceManagerTest, ShutdownQueueBeforeEnabledVoterDeleted) {
-  CreateTaskQueues(1u);
-
-  scoped_refptr<TestTaskQueue> queue = CreateTaskQueue();
+  auto queue = CreateTaskQueue();
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
       queue->CreateQueueEnabledVoter();
@@ -2791,9 +2747,7 @@
 }
 
 TEST_P(SequenceManagerTest, ShutdownQueueBeforeDisabledVoterDeleted) {
-  CreateTaskQueues(1u);
-
-  scoped_refptr<TestTaskQueue> queue = CreateTaskQueue();
+  auto queue = CreateTaskQueue();
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
       queue->CreateQueueEnabledVoter();
@@ -2806,7 +2760,7 @@
 }
 
 TEST_P(SequenceManagerTest, SweepCanceledDelayedTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   CancelableTask task1(GetTickClock());
   CancelableTask task2(GetTickClock());
@@ -2817,44 +2771,44 @@
   TimeDelta delay3(TimeDelta::FromSeconds(15));
   TimeDelta delay4(TimeDelta::FromSeconds(30));
   std::vector<TimeTicks> run_times;
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task1.weak_factory_.GetWeakPtr(), &run_times),
       delay1);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task2.weak_factory_.GetWeakPtr(), &run_times),
       delay2);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task3.weak_factory_.GetWeakPtr(), &run_times),
       delay3);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CancelableTask::RecordTimeTask,
                task4.weak_factory_.GetWeakPtr(), &run_times),
       delay4);
 
-  EXPECT_EQ(4u, queues_[0]->GetNumberOfPendingTasks());
+  EXPECT_EQ(4u, queue->GetNumberOfPendingTasks());
   task2.weak_factory_.InvalidateWeakPtrs();
   task3.weak_factory_.InvalidateWeakPtrs();
-  EXPECT_EQ(4u, queues_[0]->GetNumberOfPendingTasks());
+  EXPECT_EQ(4u, queue->GetNumberOfPendingTasks());
 
   manager_->ReclaimMemory();
-  EXPECT_EQ(2u, queues_[0]->GetNumberOfPendingTasks());
+  EXPECT_EQ(2u, queue->GetNumberOfPendingTasks());
 
   task1.weak_factory_.InvalidateWeakPtrs();
   task4.weak_factory_.InvalidateWeakPtrs();
 
   manager_->ReclaimMemory();
-  EXPECT_EQ(0u, queues_[0]->GetNumberOfPendingTasks());
+  EXPECT_EQ(0u, queue->GetNumberOfPendingTasks());
 }
 
 TEST_P(SequenceManagerTest, SweepCanceledDelayedTasks_ManyTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   TimeTicks start_time = manager_->NowTicks();
 
@@ -2864,7 +2818,7 @@
   std::vector<TimeTicks> run_times;
   for (int i = 0; i < kNumTasks; i++) {
     tasks[i] = std::make_unique<CancelableTask>(GetTickClock());
-    queues_[0]->task_runner()->PostDelayedTask(
+    queue->task_runner()->PostDelayedTask(
         FROM_HERE,
         BindOnce(&CancelableTask::RecordTimeTask,
                  tasks[i]->weak_factory_.GetWeakPtr(), &run_times),
@@ -2878,7 +2832,7 @@
   }
 
   manager_->ReclaimMemory();
-  EXPECT_EQ(50u, queues_[0]->GetNumberOfPendingTasks());
+  EXPECT_EQ(50u, queue->GetNumberOfPendingTasks());
 
   // Make sure the priority queue still operates as expected.
   test_task_runner_->FastForwardUntilNoTasksRemain();
@@ -2891,69 +2845,69 @@
 }
 
 TEST_P(SequenceManagerTest, DelayTillNextTask) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   LazyNow lazy_now(GetTickClock());
   EXPECT_EQ(TimeDelta::Max(), manager_->DelayTillNextTask(&lazy_now));
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromSeconds(10));
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromSeconds(10));
 
   EXPECT_EQ(TimeDelta::FromSeconds(10), manager_->DelayTillNextTask(&lazy_now));
 
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromSeconds(15));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromSeconds(15));
 
   EXPECT_EQ(TimeDelta::FromSeconds(10), manager_->DelayTillNextTask(&lazy_now));
 
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromSeconds(5));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromSeconds(5));
 
   EXPECT_EQ(TimeDelta::FromSeconds(5), manager_->DelayTillNextTask(&lazy_now));
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   EXPECT_EQ(TimeDelta(), manager_->DelayTillNextTask(&lazy_now));
 }
 
 TEST_P(SequenceManagerTest, DelayTillNextTask_Disabled) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   LazyNow lazy_now(GetTickClock());
   EXPECT_EQ(TimeDelta::Max(), manager_->DelayTillNextTask(&lazy_now));
 }
 
 TEST_P(SequenceManagerTest, DelayTillNextTask_Fence) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
 
   LazyNow lazy_now(GetTickClock());
   EXPECT_EQ(TimeDelta::Max(), manager_->DelayTillNextTask(&lazy_now));
 }
 
 TEST_P(SequenceManagerTest, DelayTillNextTask_FenceUnblocking) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   LazyNow lazy_now(GetTickClock());
   EXPECT_EQ(TimeDelta(), manager_->DelayTillNextTask(&lazy_now));
 }
 
 TEST_P(SequenceManagerTest, DelayTillNextTask_DelayedTaskReady) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromSeconds(1));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        TimeDelta::FromSeconds(1));
 
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromSeconds(10));
 
@@ -2973,11 +2927,11 @@
 }  // namespace
 
 TEST_P(SequenceManagerTestWithMessageLoop, DelayedTaskRunsInNestedMessageLoop) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   RunLoop run_loop;
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE, BindOnce(&MessageLoopTaskWithDelayedQuit, &mock_clock_,
-                          RetainedRef(queues_[0])));
+                          RetainedRef(queue)));
   run_loop.RunUntilIdle();
 }
 
@@ -2996,12 +2950,12 @@
 
 TEST_P(SequenceManagerTestWithMessageLoop,
        DelayedNestedMessageLoopDoesntPreventTasksRunning) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   RunLoop run_loop;
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&MessageLoopTaskWithImmediateQuit, run_loop.QuitClosure(),
-               RetainedRef(queues_[0])),
+               RetainedRef(queue)),
       TimeDelta::FromMilliseconds(100));
 
   mock_clock_.Advance(TimeDelta::FromMilliseconds(200));
@@ -3009,59 +2963,59 @@
 }
 
 TEST_P(SequenceManagerTest, CouldTaskRun_DisableAndReenable) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   EnqueueOrder enqueue_order = manager_->GetNextSequenceNumber();
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 
   voter->SetQueueEnabled(true);
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 }
 
 TEST_P(SequenceManagerTest, CouldTaskRun_Fence) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   EnqueueOrder enqueue_order = manager_->GetNextSequenceNumber();
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kBeginningOfTime);
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kBeginningOfTime);
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 
-  queues_[0]->RemoveFence();
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  queue->RemoveFence();
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 }
 
 TEST_P(SequenceManagerTest, CouldTaskRun_FenceBeforeThenAfter) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
 
   EnqueueOrder enqueue_order = manager_->GetNextSequenceNumber();
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kNow);
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
+  queue->InsertFence(TaskQueue::InsertFencePosition::kNow);
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->CouldTaskRun(enqueue_order));
 }
 
 TEST_P(SequenceManagerTest, DelayedDoWorkNotPostedForDisabledQueue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(1));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        TimeDelta::FromMilliseconds(1));
   ASSERT_TRUE(test_task_runner_->HasPendingTask());
   EXPECT_EQ(TimeDelta::FromMilliseconds(1),
             test_task_runner_->NextPendingTaskDelay());
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
   EXPECT_FALSE(test_task_runner_->HasPendingTask());
 
@@ -3072,20 +3026,20 @@
 }
 
 TEST_P(SequenceManagerTest, DisablingQueuesChangesDelayTillNextDoWork) {
-  CreateTaskQueues(3u);
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(1));
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(10));
-  queues_[2]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(100));
+  auto queues = CreateTaskQueues(3u);
+  queues[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromMilliseconds(1));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromMilliseconds(10));
+  queues[2]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromMilliseconds(100));
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter0 =
-      queues_[0]->CreateQueueEnabledVoter();
+      queues[0]->CreateQueueEnabledVoter();
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter1 =
-      queues_[1]->CreateQueueEnabledVoter();
+      queues[1]->CreateQueueEnabledVoter();
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter2 =
-      queues_[2]->CreateQueueEnabledVoter();
+      queues[2]->CreateQueueEnabledVoter();
 
   ASSERT_TRUE(test_task_runner_->HasPendingTask());
   EXPECT_EQ(TimeDelta::FromMilliseconds(1),
@@ -3106,51 +3060,49 @@
 }
 
 TEST_P(SequenceManagerTest, GetNextScheduledWakeUp) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
-  EXPECT_EQ(nullopt, queues_[0]->GetNextScheduledWakeUp());
+  EXPECT_EQ(nullopt, queue->GetNextScheduledWakeUp());
 
   TimeTicks start_time = manager_->NowTicks();
   TimeDelta delay1 = TimeDelta::FromMilliseconds(10);
   TimeDelta delay2 = TimeDelta::FromMilliseconds(2);
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay1);
-  EXPECT_EQ(start_time + delay1, queues_[0]->GetNextScheduledWakeUp());
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask), delay1);
+  EXPECT_EQ(start_time + delay1, queue->GetNextScheduledWakeUp());
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             delay2);
-  EXPECT_EQ(start_time + delay2, queues_[0]->GetNextScheduledWakeUp());
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask), delay2);
+  EXPECT_EQ(start_time + delay2, queue->GetNextScheduledWakeUp());
 
   // We don't have wake-ups scheduled for disabled queues.
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
-  EXPECT_EQ(nullopt, queues_[0]->GetNextScheduledWakeUp());
+  EXPECT_EQ(nullopt, queue->GetNextScheduledWakeUp());
 
   voter->SetQueueEnabled(true);
-  EXPECT_EQ(start_time + delay2, queues_[0]->GetNextScheduledWakeUp());
+  EXPECT_EQ(start_time + delay2, queue->GetNextScheduledWakeUp());
 
   // Immediate tasks shouldn't make any difference.
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
-  EXPECT_EQ(start_time + delay2, queues_[0]->GetNextScheduledWakeUp());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  EXPECT_EQ(start_time + delay2, queue->GetNextScheduledWakeUp());
 
   // Neither should fences.
-  queues_[0]->InsertFence(TaskQueue::InsertFencePosition::kBeginningOfTime);
-  EXPECT_EQ(start_time + delay2, queues_[0]->GetNextScheduledWakeUp());
+  queue->InsertFence(TaskQueue::InsertFencePosition::kBeginningOfTime);
+  EXPECT_EQ(start_time + delay2, queue->GetNextScheduledWakeUp());
 }
 
 TEST_P(SequenceManagerTest, SetTimeDomainForDisabledQueue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   MockTaskQueueObserver observer;
-  queues_[0]->SetObserver(&observer);
+  queue->SetObserver(&observer);
 
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(1));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        TimeDelta::FromMilliseconds(1));
 
   std::unique_ptr<TaskQueue::QueueEnabledVoter> voter =
-      queues_[0]->CreateQueueEnabledVoter();
+      queue->CreateQueueEnabledVoter();
   voter->SetQueueEnabled(false);
 
   // We should not get a notification for a disabled queue.
@@ -3159,10 +3111,10 @@
   std::unique_ptr<MockTimeDomain> domain =
       std::make_unique<MockTimeDomain>(manager_->NowTicks());
   manager_->RegisterTimeDomain(domain.get());
-  queues_[0]->SetTimeDomain(domain.get());
+  queue->SetTimeDomain(domain.get());
 
   // Tidy up.
-  queues_[0]->ShutdownTaskQueue();
+  queue->ShutdownTaskQueue();
   manager_->UnregisterTimeDomain(domain.get());
 }
 
@@ -3189,32 +3141,26 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, ProcessTasksWithoutTaskTimeObservers) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   int start_counter = 0;
   int complete_counter = 0;
   std::vector<EnqueueOrder> run_order;
-  SetOnTaskHandlers(queues_[0], &start_counter, &complete_counter);
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->RequiresTaskTiming());
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
+  SetOnTaskHandlers(queue, &start_counter, &complete_counter);
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->RequiresTaskTiming());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_EQ(start_counter, 3);
   EXPECT_EQ(complete_counter, 3);
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u));
 
-  UnsetOnTaskHandlers(queues_[0]);
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->RequiresTaskTiming());
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 5, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 6, &run_order));
+  UnsetOnTaskHandlers(queue);
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->RequiresTaskTiming());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 4, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 5, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 6, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_EQ(start_counter, 3);
@@ -3223,30 +3169,26 @@
 }
 
 TEST_P(SequenceManagerTest, ProcessTasksWithTaskTimeObservers) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   int start_counter = 0;
   int complete_counter = 0;
 
   manager_->AddTaskTimeObserver(&test_task_time_observer_);
-  SetOnTaskHandlers(queues_[0], &start_counter, &complete_counter);
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->RequiresTaskTiming());
+  SetOnTaskHandlers(queue, &start_counter, &complete_counter);
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->RequiresTaskTiming());
   std::vector<EnqueueOrder> run_order;
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 1, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 2, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_EQ(start_counter, 2);
   EXPECT_EQ(complete_counter, 2);
   EXPECT_THAT(run_order, ElementsAre(1u, 2u));
 
-  UnsetOnTaskHandlers(queues_[0]);
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->RequiresTaskTiming());
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 3, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 4, &run_order));
+  UnsetOnTaskHandlers(queue);
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->RequiresTaskTiming());
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 3, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 4, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_EQ(start_counter, 2);
@@ -3254,29 +3196,25 @@
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u, 4u));
 
   manager_->RemoveTaskTimeObserver(&test_task_time_observer_);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 5, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 6, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 5, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 6, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_EQ(start_counter, 2);
   EXPECT_EQ(complete_counter, 2);
-  EXPECT_FALSE(queues_[0]->GetTaskQueueImpl()->RequiresTaskTiming());
+  EXPECT_FALSE(queue->GetTaskQueueImpl()->RequiresTaskTiming());
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u, 4u, 5u, 6u));
 
-  SetOnTaskHandlers(queues_[0], &start_counter, &complete_counter);
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 7, &run_order));
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 8, &run_order));
+  SetOnTaskHandlers(queue, &start_counter, &complete_counter);
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 7, &run_order));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&TestTask, 8, &run_order));
 
   RunLoop().RunUntilIdle();
   EXPECT_EQ(start_counter, 4);
   EXPECT_EQ(complete_counter, 4);
-  EXPECT_TRUE(queues_[0]->GetTaskQueueImpl()->RequiresTaskTiming());
+  EXPECT_TRUE(queue->GetTaskQueueImpl()->RequiresTaskTiming());
   EXPECT_THAT(run_order, ElementsAre(1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u));
-  UnsetOnTaskHandlers(queues_[0]);
+  UnsetOnTaskHandlers(queue);
 }
 
 TEST_P(SequenceManagerTest, ObserverNotFiredAfterTaskQueueDestructed) {
@@ -3434,25 +3372,25 @@
 }
 
 TEST_P(SequenceManagerTest, CanceledTasksInQueueCantMakeOtherTasksSkipAhead) {
-  CreateTaskQueues(2u);
+  auto queues = CreateTaskQueues(2u);
 
   CancelableTask task1(GetTickClock());
   CancelableTask task2(GetTickClock());
   std::vector<TimeTicks> run_times;
 
-  queues_[0]->task_runner()->PostTask(
+  queues[0]->task_runner()->PostTask(
       FROM_HERE, BindOnce(&CancelableTask::RecordTimeTask,
                           task1.weak_factory_.GetWeakPtr(), &run_times));
-  queues_[0]->task_runner()->PostTask(
+  queues[0]->task_runner()->PostTask(
       FROM_HERE, BindOnce(&CancelableTask::RecordTimeTask,
                           task2.weak_factory_.GetWeakPtr(), &run_times));
 
   std::vector<EnqueueOrder> run_order;
-  queues_[1]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 1, &run_order));
+  queues[1]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 1, &run_order));
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE,
-                                      BindOnce(&TestTask, 2, &run_order));
+  queues[0]->task_runner()->PostTask(FROM_HERE,
+                                     BindOnce(&TestTask, 2, &run_order));
 
   task1.weak_factory_.InvalidateWeakPtrs();
   task2.weak_factory_.InvalidateWeakPtrs();
@@ -3657,7 +3595,7 @@
 }
 
 TEST_P(SequenceManagerTest, HasPendingHighResolutionTasks) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
   bool supports_high_res = false;
 #if defined(OS_WIN)
   supports_high_res = true;
@@ -3665,13 +3603,13 @@
 
   // Only the third task needs high resolution timing.
   EXPECT_FALSE(manager_->HasPendingHighResolutionTasks());
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_FALSE(manager_->HasPendingHighResolutionTasks());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(100));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        TimeDelta::FromMilliseconds(100));
   EXPECT_FALSE(manager_->HasPendingHighResolutionTasks());
-  queues_[0]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(10));
+  queue->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                        TimeDelta::FromMilliseconds(10));
   EXPECT_EQ(manager_->HasPendingHighResolutionTasks(), supports_high_res);
 
   // Running immediate tasks doesn't affect pending high resolution tasks.
@@ -3738,16 +3676,16 @@
 }  // namespace
 
 TEST_P(SequenceManagerTest, DeletePendingTasks_Simple) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   std::set<std::string> tasks_alive;
   std::vector<std::string> tasks_deleted;
 
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "task", queues_[0]->task_runner(),
-                                            0, &tasks_alive, &tasks_deleted)));
+                                            "task", queue->task_runner(), 0,
+                                            &tasks_alive, &tasks_deleted)));
 
   EXPECT_THAT(tasks_alive, ElementsAre("task 0"));
   EXPECT_TRUE(manager_->HasTasks());
@@ -3764,50 +3702,50 @@
 }
 
 TEST_P(SequenceManagerTest, DeletePendingTasks_Complex) {
-  CreateTaskQueues(4u);
+  auto queues = CreateTaskQueues(4u);
 
   std::set<std::string> tasks_alive;
   std::vector<std::string> tasks_deleted;
 
   // Post immediate and delayed to the same task queue.
-  queues_[0]->task_runner()->PostTask(
+  queues[0]->task_runner()->PostTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "Q1 I1", queues_[0]->task_runner(),
+                                            "Q1 I1", queues[0]->task_runner(),
                                             1, &tasks_alive, &tasks_deleted)));
-  queues_[0]->task_runner()->PostDelayedTask(
+  queues[0]->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "Q1 D1", queues_[0]->task_runner(),
+                                            "Q1 D1", queues[0]->task_runner(),
                                             0, &tasks_alive, &tasks_deleted)),
       base::TimeDelta::FromSeconds(1));
 
   // Post one delayed task to the second queue.
-  queues_[1]->task_runner()->PostDelayedTask(
+  queues[1]->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "Q2 D1", queues_[1]->task_runner(),
+                                            "Q2 D1", queues[1]->task_runner(),
                                             1, &tasks_alive, &tasks_deleted)),
       base::TimeDelta::FromSeconds(1));
 
   // Post two immediate tasks and force a queue reload between them.
-  queues_[2]->task_runner()->PostTask(
+  queues[2]->task_runner()->PostTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "Q3 I1", queues_[2]->task_runner(),
+                                            "Q3 I1", queues[2]->task_runner(),
                                             0, &tasks_alive, &tasks_deleted)));
-  queues_[2]->GetTaskQueueImpl()->ReloadImmediateWorkQueueIfEmpty();
-  queues_[2]->task_runner()->PostTask(
+  queues[2]->GetTaskQueueImpl()->ReloadImmediateWorkQueueIfEmpty();
+  queues[2]->task_runner()->PostTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "Q3 I2", queues_[2]->task_runner(),
+                                            "Q3 I2", queues[2]->task_runner(),
                                             1, &tasks_alive, &tasks_deleted)));
 
   // Post a delayed task and force a delay to expire.
-  queues_[3]->task_runner()->PostDelayedTask(
+  queues[3]->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&CallbackWithDestructor, std::make_unique<PostTaskWhenDeleted>(
-                                            "Q4 D1", queues_[1]->task_runner(),
+                                            "Q4 D1", queues[1]->task_runner(),
                                             0, &tasks_alive, &tasks_deleted)),
       TimeDelta::FromMilliseconds(10));
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMilliseconds(100));
@@ -3858,7 +3796,7 @@
 };
 
 TEST_P(SequenceManagerTest, DoesNotRecordQueueTimeIfSettingFalse) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   QueueTimeTaskObserver observer;
   manager_->AddTaskObserver(&observer);
@@ -3866,7 +3804,7 @@
   // We do not record task queue time when the setting is false.
   manager_->SetAddQueueTimeToTasks(false);
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMilliseconds(99));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   RunLoop().RunUntilIdle();
   EXPECT_TRUE(observer.queue_time().is_null());
 
@@ -3874,7 +3812,7 @@
 }
 
 TEST_P(SequenceManagerTest, RecordsQueueTimeIfSettingTrue) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   QueueTimeTaskObserver observer;
   manager_->AddTaskObserver(&observer);
@@ -3882,7 +3820,7 @@
   // We correctly record task queue time when the setting is true.
   manager_->SetAddQueueTimeToTasks(true);
   test_task_runner_->AdvanceMockTickClock(TimeDelta::FromMilliseconds(99));
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queue->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   RunLoop().RunUntilIdle();
   EXPECT_EQ(observer.queue_time(),
             start_time_ + TimeDelta::FromMilliseconds(99));
@@ -3940,7 +3878,7 @@
 }  // namespace
 
 TEST_P(SequenceManagerTestWithMessagePump, DestructionObserverTest) {
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   // Verify that the destruction observer gets called at the very end (after
   // all the pending tasks have been destroyed).
@@ -3951,7 +3889,7 @@
 
   SMDestructionObserver observer(&task_destroyed, &destruction_observer_called);
   manager_->AddDestructionObserver(&observer);
-  queues_[0]->task_runner()->PostDelayedTask(
+  queue->task_runner()->PostDelayedTask(
       FROM_HERE,
       BindOnce(&DestructionObserverProbe::Run,
                base::MakeRefCounted<DestructionObserverProbe>(
@@ -4011,7 +3949,7 @@
   if (GetParam() != TestType::kUseMessagePump)
     return;
 
-  CreateTaskQueues(1u);
+  auto queue = CreateTaskQueue();
 
   // If we call OnSystemIdle, we expect registered TimeDomains to receive a call
   // to MaybeFastForwardToNextTask.  If no run loop has requested quit on idle,
@@ -4025,7 +3963,7 @@
   Mock::VerifyAndClearExpectations(&mock_time_domain);
 
   // However if RunUntilIdle is called it should be true.
-  queues_[0]->task_runner()->PostTask(
+  queue->task_runner()->PostTask(
       FROM_HERE, BindLambdaForTesting([&]() {
         StrictMock<MockTimeDomain> mock_time_domain;
         EXPECT_CALL(mock_time_domain, MaybeFastForwardToNextTask(true))
@@ -4054,31 +3992,31 @@
 }
 
 TEST_P(SequenceManagerTest, GetPendingTaskCountForTesting) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
   EXPECT_EQ(0u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_EQ(1u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_EQ(2u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[0]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_EQ(3u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[1]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_EQ(4u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
+  queues[2]->task_runner()->PostTask(FROM_HERE, BindOnce(&NopTask));
   EXPECT_EQ(5u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(10));
+  queues[1]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromMilliseconds(10));
   EXPECT_EQ(6u, manager_->GetPendingTaskCountForTesting());
 
-  queues_[2]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
-                                             TimeDelta::FromMilliseconds(20));
+  queues[2]->task_runner()->PostDelayedTask(FROM_HERE, BindOnce(&NopTask),
+                                            TimeDelta::FromMilliseconds(20));
   EXPECT_EQ(7u, manager_->GetPendingTaskCountForTesting());
 
   RunLoop().RunUntilIdle();
@@ -4139,11 +4077,11 @@
 }
 
 TEST_P(SequenceManagerTest, DescribeAllPendingTasks) {
-  CreateTaskQueues(3u);
+  auto queues = CreateTaskQueues(3u);
 
-  PostTaskA(queues_[0]->task_runner());
-  PostTaskB(queues_[1]->task_runner());
-  PostTaskC(queues_[2]->task_runner());
+  PostTaskA(queues[0]->task_runner());
+  PostTaskB(queues[1]->task_runner());
+  PostTaskC(queues[2]->task_runner());
 
   std::string description = manager_->DescribeAllPendingTasks();
   EXPECT_THAT(description, HasSubstr("PostTaskA@"));
@@ -4152,12 +4090,12 @@
 }
 
 TEST_P(SequenceManagerTest, TaskPriortyInterleaving) {
-  CreateTaskQueues(TaskQueue::QueuePriority::kQueuePriorityCount);
+  auto queues = CreateTaskQueues(TaskQueue::QueuePriority::kQueuePriorityCount);
 
   for (uint8_t priority = 0;
        priority < TaskQueue::QueuePriority::kQueuePriorityCount; priority++) {
     if (priority != TaskQueue::QueuePriority::kNormalPriority) {
-      queues_[priority]->SetQueuePriority(
+      queues[priority]->SetQueuePriority(
           static_cast<TaskQueue::QueuePriority>(priority));
     }
   }
@@ -4166,7 +4104,7 @@
   for (int i = 0; i < 60; i++) {
     for (uint8_t priority = 0;
          priority < TaskQueue::QueuePriority::kQueuePriorityCount; priority++) {
-      queues_[priority]->task_runner()->PostTask(
+      queues[priority]->task_runner()->PostTask(
           FROM_HERE,
           base::BindOnce([](std::string* str, char c) { str->push_back(c); },
                          &order, '0' + priority));
diff --git a/base/task/sequence_manager/task_queue_selector.h b/base/task/sequence_manager/task_queue_selector.h
index f76422d8..d9cc2996 100644
--- a/base/task/sequence_manager/task_queue_selector.h
+++ b/base/task/sequence_manager/task_queue_selector.h
@@ -118,7 +118,7 @@
 
     bool empty() const { return size_ == 0; }
 
-    TaskQueue::QueuePriority min_id() const { return index_to_id_[0]; };
+    TaskQueue::QueuePriority min_id() const { return index_to_id_[0]; }
 
     void insert(int64_t key, TaskQueue::QueuePriority id);
 
diff --git a/base/task/task_scheduler/scheduler_worker_pool_impl.cc b/base/task/task_scheduler/scheduler_worker_pool_impl.cc
index f1027c16..056abd8 100644
--- a/base/task/task_scheduler/scheduler_worker_pool_impl.cc
+++ b/base/task/task_scheduler/scheduler_worker_pool_impl.cc
@@ -185,6 +185,11 @@
   void MayBlockEntered();
   void WillBlockEntered();
 
+  // Returns true iff the worker can get work. Cleans up the worker or puts it
+  // on the idle stack if it can't get work.
+  bool CanGetWorkLockRequired(SchedulerWorker* worker)
+      EXCLUSIVE_LOCKS_REQUIRED(outer_->lock_);
+
   // Returns true iff this worker has been within a MAY_BLOCK ScopedBlockingCall
   // for more than |outer_->MayBlockThreshold()|. The max tasks must be
   // incremented if this returns true.
@@ -624,39 +629,17 @@
 
   {
     AutoSchedulerLock auto_lock(outer_->lock_);
-
     DCHECK(ContainsWorker(outer_->workers_, worker));
 
-    // Calling GetWork() while on the idle worker stack indicates that we
-    // must've reached GetWork() because of the WaitableEvent timing out. In
-    // which case, we return no work and possibly cleanup the worker. To avoid
-    // searching through the idle stack : use GetLastUsedTime() not being null
-    // (or being directly on top of the idle stack) as a proxy for being on the
-    // idle stack.
-    const bool is_on_idle_workers_stack =
-        outer_->idle_workers_stack_.Peek() == worker ||
-        !worker->GetLastUsedTime().is_null();
-    DCHECK_EQ(is_on_idle_workers_stack,
-              outer_->idle_workers_stack_.Contains(worker));
-    if (is_on_idle_workers_stack) {
-      if (CanCleanupLockRequired(worker))
-        CleanupLockRequired(worker);
+    if (!CanGetWorkLockRequired(worker))
       return nullptr;
-    }
 
     // Replace this worker if it was the last one, capacity permitting.
+    // TODO(etiennep): An idle worker should be created only if this worker
+    // isn't added to the idle stack below.
     outer_->MaintainAtLeastOneIdleWorkerLockRequired(&executor);
-
-    // Excess workers should not get work, until they are no longer excess (i.e.
-    // max tasks increases or another worker cleans up). This ensures that if we
-    // have excess workers in the pool, they get a chance to no longer be excess
-    // before being cleaned up.
-    if (outer_->NumberOfExcessWorkersLockRequired() >
-        outer_->idle_workers_stack_.Size()) {
-      OnWorkerBecomesIdleLockRequired(worker);
-      return nullptr;
-    }
   }
+
   scoped_refptr<Sequence> sequence;
   {
     auto transaction = outer_->priority_queue_.BeginTransaction();
@@ -978,6 +961,36 @@
 }
 
 bool SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::
+    CanGetWorkLockRequired(SchedulerWorker* worker) {
+  // To avoid searching through the idle stack : use GetLastUsedTime() not being
+  // null (or being directly on top of the idle stack) as a proxy for being on
+  // the idle stack.
+  const bool is_on_idle_workers_stack =
+      outer_->idle_workers_stack_.Peek() == worker ||
+      !worker->GetLastUsedTime().is_null();
+  DCHECK_EQ(is_on_idle_workers_stack,
+            outer_->idle_workers_stack_.Contains(worker));
+
+  if (is_on_idle_workers_stack) {
+    if (CanCleanupLockRequired(worker))
+      CleanupLockRequired(worker);
+    return false;
+  }
+
+  // Excess workers should not get work, until they are no longer excess (i.e.
+  // max tasks increases or another worker cleans up). This ensures that if we
+  // have excess workers in the pool, they get a chance to no longer be excess
+  // before being cleaned up.
+  if (outer_->NumberOfExcessWorkersLockRequired() >
+      outer_->idle_workers_stack_.Size()) {
+    OnWorkerBecomesIdleLockRequired(worker);
+    return false;
+  }
+
+  return true;
+}
+
+bool SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::
     MustIncrementMaxTasksLockRequired() {
   if (!incremented_max_tasks_since_blocked_ &&
       !read_any().may_block_start_time.is_null() &&
diff --git a/base/task/task_scheduler/sequence_sort_key.h b/base/task/task_scheduler/sequence_sort_key.h
index ed1497d6..2d33def 100644
--- a/base/task/task_scheduler/sequence_sort_key.h
+++ b/base/task/task_scheduler/sequence_sort_key.h
@@ -32,7 +32,7 @@
   }
   bool operator!=(const SequenceSortKey& other) const {
     return !(other == *this);
-  };
+  }
 
  private:
   // The private section allows this class to keep its immutable property while
diff --git a/base/test/power_monitor_test_base.cc b/base/test/power_monitor_test_base.cc
index f362566..55c6b43 100644
--- a/base/test/power_monitor_test_base.cc
+++ b/base/test/power_monitor_test_base.cc
@@ -40,7 +40,7 @@
 
 bool PowerMonitorTestSource::IsOnBatteryPowerImpl() {
   return test_on_battery_power_;
-};
+}
 
 PowerMonitorTestObserver::PowerMonitorTestObserver()
     : last_power_state_(false),
diff --git a/base/trace_event/memory_allocator_dump.cc b/base/trace_event/memory_allocator_dump.cc
index f9c8315..d4c20d66 100644
--- a/base/trace_event/memory_allocator_dump.cc
+++ b/base/trace_event/memory_allocator_dump.cc
@@ -101,7 +101,7 @@
     }
   }
   return 0;
-};
+}
 
 MemoryAllocatorDump::Entry::Entry() : entry_type(kString), value_uint64() {}
 MemoryAllocatorDump::Entry::Entry(MemoryAllocatorDump::Entry&&) noexcept =
diff --git a/base/trace_event/memory_dump_manager.h b/base/trace_event/memory_dump_manager.h
index b9cad452..e7e4cb3 100644
--- a/base/trace_event/memory_dump_manager.h
+++ b/base/trace_event/memory_dump_manager.h
@@ -136,7 +136,7 @@
   // allocator registered (which is currently the case for Mac OS).
   const char* system_allocator_pool_name() const {
     return kSystemAllocatorPoolName;
-  };
+  }
 
   // When set to true, calling |RegisterMemoryDumpProvider| is a no-op.
   void set_dumper_registrations_ignored_for_testing(bool ignored) {
diff --git a/base/trace_event/memory_infra_background_whitelist.cc b/base/trace_event/memory_infra_background_whitelist.cc
index a829e65..b681131 100644
--- a/base/trace_event/memory_infra_background_whitelist.cc
+++ b/base/trace_event/memory_infra_background_whitelist.cc
@@ -49,7 +49,6 @@
     "MojoMessages",
     "PartitionAlloc",
     "ProcessMemoryMetrics",
-    "RenderProcessHost",
     "SharedMemoryTracker",
     "Skia",
     "Sql",
@@ -120,7 +119,6 @@
     "mojo/message_pipe",
     "mojo/platform_handle",
     "mojo/queued_ipc_channel_message/0x?",
-    "mojo/render_process_host/0x?",
     "mojo/shared_buffer",
     "mojo/unknown",
     "mojo/watcher",
diff --git a/base/trace_event/process_memory_dump.h b/base/trace_event/process_memory_dump.h
index e2457b7..a54be3c 100644
--- a/base/trace_event/process_memory_dump.h
+++ b/base/trace_event/process_memory_dump.h
@@ -242,7 +242,7 @@
   const UnguessableToken& process_token() const { return process_token_; }
   void set_process_token_for_testing(UnguessableToken token) {
     process_token_ = token;
-  };
+  }
 
   // Returns the Guid of the dump for the given |absolute_name| for
   // for the given process' token. |process_token| is used to disambiguate GUIDs
diff --git a/base/trace_event/trace_category_unittest.cc b/base/trace_event/trace_category_unittest.cc
index eff06f7..26104be 100644
--- a/base/trace_event/trace_category_unittest.cc
+++ b/base/trace_event/trace_category_unittest.cc
@@ -45,7 +45,7 @@
           name, [](TraceCategory*) {}, cat);
     }
     return is_new_cat;
-  };
+  }
 
   static CategoryRegistry::Range GetAllCategories() {
     return CategoryRegistry::GetAllCategories();
diff --git a/base/win/core_winrt_util.h b/base/win/core_winrt_util.h
index c86aed67..29a41511 100644
--- a/base/win/core_winrt_util.h
+++ b/base/win/core_winrt_util.h
@@ -38,7 +38,7 @@
                                        IInspectable** instance);
 
 // Retrieves an activation factory for the type specified.
-template <typename InterfaceType, char16 const* runtime_class_id>
+template <typename InterfaceType, wchar_t const* runtime_class_id>
 HRESULT GetActivationFactory(InterfaceType** factory) {
   ScopedHString class_id_hstring = ScopedHString::Create(runtime_class_id);
   if (!class_id_hstring.is_valid())
diff --git a/base/win/event_trace_consumer_unittest.cc b/base/win/event_trace_consumer_unittest.cc
index ae79d88..67f494db 100644
--- a/base/win/event_trace_consumer_unittest.cc
+++ b/base/win/event_trace_consumer_unittest.cc
@@ -15,6 +15,7 @@
 #include "base/logging.h"
 #include "base/process/process_handle.h"
 #include "base/stl_util.h"
+#include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/win/event_trace_controller.h"
 #include "base/win/event_trace_provider.h"
@@ -156,7 +157,7 @@
 
     HANDLE events[] = { consumer_ready_.Get(), consumer_thread_.Get() };
     DWORD result =
-        ::WaitForMultipleObjects(base::size(events), events, FALSE, INFINITE);
+        ::WaitForMultipleObjects(size(events), events, FALSE, INFINITE);
     switch (result) {
       case WAIT_OBJECT_0:
         // The event was set, the consumer_ is ready.
@@ -271,11 +272,11 @@
     // Create a temp dir for this test.
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
     // Construct a temp file name in our dir.
-    temp_file_ = temp_dir_.GetPath().Append(L"test.etl");
+    temp_file_ = temp_dir_.GetPath().Append(FILE_PATH_LITERAL("test.etl"));
   }
 
   void TearDown() override {
-    EXPECT_TRUE(base::DeleteFile(temp_file_, false));
+    EXPECT_TRUE(DeleteFile(temp_file_, false));
 
     EtwTraceConsumerBaseTest::TearDown();
   }
@@ -285,7 +286,7 @@
 
     // Set up a file session.
     HRESULT hr = controller.StartFileSession(session_name_.c_str(),
-                                             temp_file_.value().c_str());
+                                             wdata(temp_file_.value()));
     if (FAILED(hr))
       return hr;
 
@@ -309,7 +310,7 @@
   HRESULT ConsumeEventFromTempSession() {
     // Now consume the event(s).
     TestConsumer consumer_;
-    HRESULT hr = consumer_.OpenFileSession(temp_file_.value().c_str());
+    HRESULT hr = consumer_.OpenFileSession(wdata(temp_file_.value()));
     if (SUCCEEDED(hr))
       hr = consumer_.Consume();
     consumer_.Close();
@@ -319,7 +320,7 @@
   }
 
   HRESULT RoundTripEvent(PEVENT_TRACE_HEADER header, PEVENT_TRACE* trace) {
-    base::DeleteFile(temp_file_, false);
+    DeleteFile(temp_file_, false);
 
     HRESULT hr = LogEventToTempSession(header);
     if (SUCCEEDED(hr))
diff --git a/base/win/event_trace_controller_unittest.cc b/base/win/event_trace_controller_unittest.cc
index ad5c5d4..ecc7cb2 100644
--- a/base/win/event_trace_controller_unittest.cc
+++ b/base/win/event_trace_controller_unittest.cc
@@ -13,6 +13,7 @@
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/process/process_handle.h"
+#include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/system/sys_info.h"
 #include "base/win/event_trace_controller.h"
@@ -161,14 +162,14 @@
   ScopedTempDir temp_dir;
   ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
   FilePath temp;
-  ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir.GetPath(), &temp));
+  ASSERT_TRUE(CreateTemporaryFileInDir(temp_dir.GetPath(), &temp));
 
   EtwTraceController controller;
-  HRESULT hr = controller.StartFileSession(session_name_.c_str(),
-                                           temp.value().c_str());
+  HRESULT hr =
+      controller.StartFileSession(session_name_.c_str(), wdata(temp.value()));
   if (hr == E_ACCESSDENIED) {
     VLOG(1) << "You must be an administrator to run this test on Vista";
-    base::DeleteFile(temp, false);
+    DeleteFile(temp, false);
     return;
   }
 
@@ -178,7 +179,7 @@
   EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
   EXPECT_EQ(0u, controller.session());
   EXPECT_STREQ(L"", controller.session_name());
-  base::DeleteFile(temp, false);
+  DeleteFile(temp, false);
 }
 
 // This test is flaky for unclear reasons. See bugs 525297 and 534184
@@ -231,7 +232,7 @@
 
   // Windows 7 does not call the callback when Stop() is called so we
   // can't wait, and enable_level and enable_flags are not zeroed.
-  if (base::win::GetVersion() >= VERSION_WIN8) {
+  if (GetVersion() >= VERSION_WIN8) {
     provider.WaitForCallback();
 
     // Session should have wound down.
diff --git a/base/win/message_window.cc b/base/win/message_window.cc
index 8858b41..76f17ec 100644
--- a/base/win/message_window.cc
+++ b/base/win/message_window.cc
@@ -7,6 +7,7 @@
 #include "base/lazy_instance.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "base/strings/string_util.h"
 #include "base/win/current_module.h"
 #include "base/win/wrapped_window_proc.h"
 
@@ -40,7 +41,7 @@
   WNDCLASSEX window_class;
   window_class.cbSize = sizeof(window_class);
   window_class.style = 0;
-  window_class.lpfnWndProc = &base::win::WrappedWindowProc<WindowProc>;
+  window_class.lpfnWndProc = &WrappedWindowProc<WindowProc>;
   window_class.cbClsExtra = 0;
   window_class.cbWndExtra = 0;
   window_class.hInstance = instance_;
@@ -87,13 +88,13 @@
 
 bool MessageWindow::CreateNamed(MessageCallback message_callback,
                                 const string16& window_name) {
-  return DoCreate(std::move(message_callback), window_name.c_str());
+  return DoCreate(std::move(message_callback), wdata(window_name));
 }
 
 // static
 HWND MessageWindow::FindWindow(const string16& window_name) {
   return FindWindowEx(HWND_MESSAGE, NULL, kMessageWindowClassName,
-                      window_name.c_str());
+                      wdata(window_name));
 }
 
 bool MessageWindow::DoCreate(MessageCallback message_callback,
diff --git a/base/win/pe_image_unittest.cc b/base/win/pe_image_unittest.cc
index 9ff19d7..9f810da7 100644
--- a/base/win/pe_image_unittest.cc
+++ b/base/win/pe_image_unittest.cc
@@ -156,7 +156,7 @@
 
 // Tests that we can locate an specific exported symbol, by name and by ordinal.
 TEST(PEImageTest, RetrievesExports) {
-  ScopedNativeLibrary module(FilePath(L"advapi32.dll"));
+  ScopedNativeLibrary module(FilePath(FILE_PATH_LITERAL("advapi32.dll")));
   ASSERT_TRUE(module.is_valid());
 
   PEImage pe(module.get());
@@ -204,7 +204,7 @@
 // Test that we can get debug id out of a module.
 TEST(PEImageTest, GetDebugId) {
   static constexpr char kPdbFileName[] = "advapi32.pdb";
-  ScopedNativeLibrary module(FilePath(L"advapi32.dll"));
+  ScopedNativeLibrary module(FilePath(FILE_PATH_LITERAL("advapi32.dll")));
   ASSERT_TRUE(module.is_valid());
 
   PEImage pe(module.get());
diff --git a/base/win/scoped_bstr.cc b/base/win/scoped_bstr.cc
index 8b2ac187..21af663f 100644
--- a/base/win/scoped_bstr.cc
+++ b/base/win/scoped_bstr.cc
@@ -9,6 +9,7 @@
 #include "base/logging.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/process/memory.h"
+#include "base/strings/string_util.h"
 
 namespace base {
 namespace win {
@@ -16,7 +17,7 @@
 namespace {
 
 BSTR AllocBstrOrDie(StringPiece16 non_bstr) {
-  BSTR result = ::SysAllocStringLen(non_bstr.data(),
+  BSTR result = ::SysAllocStringLen(wdata(non_bstr),
                                     checked_cast<UINT>(non_bstr.length()));
   if (!result) {
     base::TerminateBecauseOutOfMemory((non_bstr.length() + 1) *
diff --git a/base/win/scoped_bstr_unittest.cc b/base/win/scoped_bstr_unittest.cc
index 54ad47e3..9096411d 100644
--- a/base/win/scoped_bstr_unittest.cc
+++ b/base/win/scoped_bstr_unittest.cc
@@ -2,10 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "base/win/scoped_bstr.h"
+
 #include <stddef.h>
 
 #include "base/stl_util.h"
-#include "base/win/scoped_bstr.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_util.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace base {
@@ -13,10 +16,10 @@
 
 namespace {
 
-static const wchar_t kTestString1[] = L"123";
-static const wchar_t kTestString2[] = L"456789";
-size_t test1_len = base::size(kTestString1) - 1;
-size_t test2_len = base::size(kTestString2) - 1;
+static const char16 kTestString1[] = STRING16_LITERAL("123");
+static const char16 kTestString2[] = STRING16_LITERAL("456789");
+size_t test1_len = size(kTestString1) - 1;
+size_t test2_len = size(kTestString2) - 1;
 
 void DumbBstrTests() {
   ScopedBstr b;
@@ -32,7 +35,7 @@
 }
 
 void GiveMeABstr(BSTR* ret) {
-  *ret = SysAllocString(kTestString1);
+  *ret = SysAllocString(wdata(kTestString1));
 }
 
 void BasicBstrTests() {
@@ -44,10 +47,10 @@
   b1.Swap(b2);
   EXPECT_EQ(test1_len, b2.Length());
   EXPECT_EQ(0u, b1.Length());
-  EXPECT_EQ(0, lstrcmp(b2, kTestString1));
+  EXPECT_STREQ(b2, wdata(kTestString1));
   BSTR tmp = b2.Release();
   EXPECT_TRUE(tmp != NULL);
-  EXPECT_EQ(0, lstrcmp(tmp, kTestString1));
+  EXPECT_STREQ(tmp, wdata(kTestString1));
   EXPECT_TRUE(b2 == NULL);
   SysFreeString(tmp);
 
@@ -57,7 +60,7 @@
   EXPECT_TRUE(b2.AllocateBytes(100) != NULL);
   EXPECT_EQ(100u, b2.ByteLength());
   EXPECT_EQ(100 / sizeof(kTestString1[0]), b2.Length());
-  lstrcpy(static_cast<BSTR>(b2), kTestString1);
+  lstrcpy(static_cast<BSTR>(b2), wdata(kTestString1));
   EXPECT_EQ(test1_len, static_cast<size_t>(lstrlen(b2)));
   EXPECT_EQ(100 / sizeof(kTestString1[0]), b2.Length());
   b2.SetByteLen(lstrlen(b2) * sizeof(kTestString2[0]));
diff --git a/base/win/scoped_handle_unittest.cc b/base/win/scoped_handle_unittest.cc
index ca6fb451..fc09bb0 100644
--- a/base/win/scoped_handle_unittest.cc
+++ b/base/win/scoped_handle_unittest.cc
@@ -124,7 +124,8 @@
 }
 
 MULTIPROCESS_TEST_MAIN(ActiveVerifierChildProcess) {
-  ScopedNativeLibrary module(FilePath(L"scoped_handle_test_dll.dll"));
+  ScopedNativeLibrary module(
+      FilePath(FILE_PATH_LITERAL("scoped_handle_test_dll.dll")));
 
   if (!module.is_valid())
     return 1;
diff --git a/base/win/scoped_hstring.cc b/base/win/scoped_hstring.cc
index 44b2282dd..d4c01f24 100644
--- a/base/win/scoped_hstring.cc
+++ b/base/win/scoped_hstring.cc
@@ -42,7 +42,7 @@
   return function;
 }
 
-HRESULT WindowsCreateString(const base::char16* src,
+HRESULT WindowsCreateString(const wchar_t* src,
                             uint32_t len,
                             HSTRING* out_hstr) {
   decltype(&::WindowsCreateString) create_string_func =
@@ -60,7 +60,7 @@
   return delete_string_func(hstr);
 }
 
-const base::char16* WindowsGetStringRawBuffer(HSTRING hstr, uint32_t* out_len) {
+const wchar_t* WindowsGetStringRawBuffer(HSTRING hstr, uint32_t* out_len) {
   decltype(&::WindowsGetStringRawBuffer) get_string_raw_buffer_func =
       GetWindowsGetStringRawBuffer();
   if (!get_string_raw_buffer_func) {
@@ -84,7 +84,7 @@
 namespace win {
 
 // static
-ScopedHString ScopedHString::Create(StringPiece16 str) {
+ScopedHString ScopedHString::Create(WStringPiece str) {
   DCHECK(g_load_succeeded);
   HSTRING hstr;
   HRESULT hr = base::WindowsCreateString(
@@ -116,17 +116,14 @@
   return load_succeeded;
 }
 
-StringPiece16 ScopedHString::Get() const {
+WStringPiece ScopedHString::Get() const {
   UINT32 length = 0;
   const wchar_t* buffer = base::WindowsGetStringRawBuffer(get(), &length);
-  return StringPiece16(buffer, length);
+  return WStringPiece(buffer, length);
 }
 
 std::string ScopedHString::GetAsUTF8() const {
-  std::string result;
-  const StringPiece16 wide_string = Get();
-  WideToUTF8(wide_string.data(), wide_string.length(), &result);
-  return result;
+  return WideToUTF8(Get());
 }
 
 }  // namespace win
diff --git a/base/win/scoped_hstring.h b/base/win/scoped_hstring.h
index 6ba1dab6..8975df8 100644
--- a/base/win/scoped_hstring.h
+++ b/base/win/scoped_hstring.h
@@ -57,13 +57,13 @@
   // Constructs a ScopedHString from an HSTRING, and takes ownership of |hstr|.
   explicit ScopedHString(HSTRING hstr);
 
-  static ScopedHString Create(StringPiece16 str);
+  static ScopedHString Create(WStringPiece str);
   static ScopedHString Create(StringPiece str);
 
   // Loads all required HSTRING functions, available from Win8 and onwards.
   static bool ResolveCoreWinRTStringDelayload();
 
-  StringPiece16 Get() const;
+  WStringPiece Get() const;
   std::string GetAsUTF8() const;
 };
 
diff --git a/base/win/scoped_hstring_unittest.cc b/base/win/scoped_hstring_unittest.cc
index fdcf8ff..71b6d31 100644
--- a/base/win/scoped_hstring_unittest.cc
+++ b/base/win/scoped_hstring_unittest.cc
@@ -33,8 +33,8 @@
 
   ScopedHString hstring = ScopedHString::Create(kTestString1);
   std::string buffer = hstring.GetAsUTF8();
-  EXPECT_EQ(kTestString1, base::UTF8ToWide(buffer));
-  base::StringPiece16 contents = hstring.Get();
+  EXPECT_EQ(kTestString1, UTF8ToWide(buffer));
+  WStringPiece contents = hstring.Get();
   EXPECT_EQ(kTestString1, contents);
 
   hstring.reset();
@@ -46,7 +46,7 @@
   EXPECT_TRUE(hstring2 == NULL);
 
   buffer = hstring.GetAsUTF8();
-  EXPECT_EQ(kTestString2, base::UTF8ToWide(buffer));
+  EXPECT_EQ(kTestString2, UTF8ToWide(buffer));
   contents = hstring.Get();
   EXPECT_EQ(kTestString2, contents);
 }
diff --git a/base/win/scoped_process_information_unittest.cc b/base/win/scoped_process_information_unittest.cc
index 799b273..9eb7284 100644
--- a/base/win/scoped_process_information_unittest.cc
+++ b/base/win/scoped_process_information_unittest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "base/win/scoped_process_information.h"
+
 #include <windows.h>
 
 #include <string>
@@ -9,8 +11,9 @@
 #include "base/command_line.h"
 #include "base/process/kill.h"
 #include "base/process/process.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_util.h"
 #include "base/test/multiprocess_test.h"
-#include "base/win/scoped_process_information.h"
 #include "testing/multiprocess_func_list.h"
 
 namespace {
@@ -47,13 +50,12 @@
 
 void ScopedProcessInformationTest::DoCreateProcess(
     const std::string& main_id, PROCESS_INFORMATION* process_handle) {
-  std::wstring cmd_line = MakeCmdLine(main_id).GetCommandLineString();
+  base::string16 cmd_line = MakeCmdLine(main_id).GetCommandLineString();
   STARTUPINFO startup_info = {};
   startup_info.cb = sizeof(startup_info);
 
-  EXPECT_TRUE(::CreateProcess(NULL, &cmd_line[0],
-                              NULL, NULL, false, 0, NULL, NULL,
-                              &startup_info, process_handle));
+  EXPECT_TRUE(::CreateProcess(NULL, base::wdata(cmd_line), NULL, NULL, false, 0,
+                              NULL, NULL, &startup_info, process_handle));
 }
 
 TEST_F(ScopedProcessInformationTest, InitiallyInvalid) {
diff --git a/base/win/shortcut.cc b/base/win/shortcut.cc
index cceaa72..382778e 100644
--- a/base/win/shortcut.cc
+++ b/base/win/shortcut.cc
@@ -11,6 +11,8 @@
 #include <wrl/client.h>
 
 #include "base/files/file_util.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
 #include "base/threading/scoped_blocking_call.h"
 #include "base/win/scoped_propvariant.h"
 #include "base/win/win_util.h"
@@ -80,11 +82,11 @@
       InitializeShortcutInterfaces(NULL, &i_shell_link, &i_persist_file);
       break;
     case SHORTCUT_UPDATE_EXISTING:
-      InitializeShortcutInterfaces(shortcut_path.value().c_str(), &i_shell_link,
+      InitializeShortcutInterfaces(wdata(shortcut_path.value()), &i_shell_link,
                                    &i_persist_file);
       break;
     case SHORTCUT_REPLACE_EXISTING:
-      InitializeShortcutInterfaces(shortcut_path.value().c_str(),
+      InitializeShortcutInterfaces(wdata(shortcut_path.value()),
                                    &old_i_shell_link, &old_i_persist_file);
       // Confirm |shortcut_path| exists and is a shortcut by verifying
       // |old_i_persist_file| was successfully initialized in the call above. If
@@ -102,18 +104,18 @@
     return false;
 
   if ((properties.options & ShortcutProperties::PROPERTIES_TARGET) &&
-      FAILED(i_shell_link->SetPath(properties.target.value().c_str()))) {
+      FAILED(i_shell_link->SetPath(wdata(properties.target.value())))) {
     return false;
   }
 
   if ((properties.options & ShortcutProperties::PROPERTIES_WORKING_DIR) &&
       FAILED(i_shell_link->SetWorkingDirectory(
-          properties.working_dir.value().c_str()))) {
+          wdata(properties.working_dir.value())))) {
     return false;
   }
 
   if (properties.options & ShortcutProperties::PROPERTIES_ARGUMENTS) {
-    if (FAILED(i_shell_link->SetArguments(properties.arguments.c_str())))
+    if (FAILED(i_shell_link->SetArguments(wdata(properties.arguments))))
       return false;
   } else if (old_i_persist_file.Get()) {
     wchar_t current_arguments[MAX_PATH] = {0};
@@ -124,12 +126,12 @@
   }
 
   if ((properties.options & ShortcutProperties::PROPERTIES_DESCRIPTION) &&
-      FAILED(i_shell_link->SetDescription(properties.description.c_str()))) {
+      FAILED(i_shell_link->SetDescription(wdata(properties.description)))) {
     return false;
   }
 
   if ((properties.options & ShortcutProperties::PROPERTIES_ICON) &&
-      FAILED(i_shell_link->SetIconLocation(properties.icon.value().c_str(),
+      FAILED(i_shell_link->SetIconLocation(wdata(properties.icon.value()),
                                            properties.icon_index))) {
     return false;
   }
@@ -147,9 +149,8 @@
         !property_store.Get())
       return false;
 
-    if (has_app_id &&
-        !SetAppIdForPropertyStore(property_store.Get(),
-                                  properties.app_id.c_str())) {
+    if (has_app_id && !SetAppIdForPropertyStore(property_store.Get(),
+                                                wdata(properties.app_id))) {
       return false;
     }
     if (has_dual_mode &&
@@ -171,7 +172,7 @@
   old_i_persist_file.Reset();
   old_i_shell_link.Reset();
 
-  HRESULT result = i_persist_file->Save(shortcut_path.value().c_str(), TRUE);
+  HRESULT result = i_persist_file->Save(wdata(shortcut_path.value()), TRUE);
 
   // Release the interfaces in case the SHChangeNotify call below depends on
   // the operations above being fully completed.
@@ -218,42 +219,46 @@
     return false;
 
   // Load the shell link.
-  if (FAILED(persist->Load(shortcut_path.value().c_str(), STGM_READ)))
+  if (FAILED(persist->Load(wdata(shortcut_path.value()), STGM_READ)))
     return false;
 
   // Reset |properties|.
   properties->options = 0;
 
-  wchar_t temp[MAX_PATH];
+  char16 temp[MAX_PATH];
   if (options & ShortcutProperties::PROPERTIES_TARGET) {
-    if (FAILED(i_shell_link->GetPath(temp, MAX_PATH, NULL, SLGP_UNCPRIORITY)))
+    if (FAILED(i_shell_link->GetPath(wdata(temp), MAX_PATH, NULL,
+                                     SLGP_UNCPRIORITY))) {
       return false;
+    }
     properties->set_target(FilePath(temp));
   }
 
   if (options & ShortcutProperties::PROPERTIES_WORKING_DIR) {
-    if (FAILED(i_shell_link->GetWorkingDirectory(temp, MAX_PATH)))
+    if (FAILED(i_shell_link->GetWorkingDirectory(wdata(temp), MAX_PATH)))
       return false;
     properties->set_working_dir(FilePath(temp));
   }
 
   if (options & ShortcutProperties::PROPERTIES_ARGUMENTS) {
-    if (FAILED(i_shell_link->GetArguments(temp, MAX_PATH)))
+    if (FAILED(i_shell_link->GetArguments(wdata(temp), MAX_PATH)))
       return false;
     properties->set_arguments(temp);
   }
 
   if (options & ShortcutProperties::PROPERTIES_DESCRIPTION) {
     // Note: description length constrained by MAX_PATH.
-    if (FAILED(i_shell_link->GetDescription(temp, MAX_PATH)))
+    if (FAILED(i_shell_link->GetDescription(wdata(temp), MAX_PATH)))
       return false;
     properties->set_description(temp);
   }
 
   if (options & ShortcutProperties::PROPERTIES_ICON) {
     int temp_index;
-    if (FAILED(i_shell_link->GetIconLocation(temp, MAX_PATH, &temp_index)))
+    if (FAILED(i_shell_link->GetIconLocation(wdata(temp), MAX_PATH,
+                                             &temp_index))) {
       return false;
+    }
     properties->set_icon(FilePath(temp), temp_index);
   }
 
@@ -272,10 +277,10 @@
       }
       switch (pv_app_id.get().vt) {
         case VT_EMPTY:
-          properties->set_app_id(L"");
+          properties->set_app_id(string16());
           break;
         case VT_LPWSTR:
-          properties->set_app_id(pv_app_id.get().pwszVal);
+          properties->set_app_id(WideToUTF16(pv_app_id.get().pwszVal));
           break;
         default:
           NOTREACHED() << "Unexpected variant type: " << pv_app_id.get().vt;
@@ -359,7 +364,7 @@
   DCHECK(CanPinShortcutToTaskbar());
 
   intptr_t result = reinterpret_cast<intptr_t>(ShellExecute(
-      NULL, L"taskbarpin", shortcut.value().c_str(), NULL, NULL, 0));
+      NULL, L"taskbarpin", wdata(shortcut.value()), NULL, NULL, 0));
   return result > 32;
 }
 
@@ -367,7 +372,7 @@
   ScopedBlockingCall scoped_blocking_call(BlockingType::MAY_BLOCK);
 
   intptr_t result = reinterpret_cast<intptr_t>(ShellExecute(
-      NULL, L"taskbarunpin", shortcut.value().c_str(), NULL, NULL, 0));
+      NULL, L"taskbarunpin", wdata(shortcut.value()), NULL, NULL, 0));
   return result > 32;
 }
 
diff --git a/base/win/shortcut_unittest.cc b/base/win/shortcut_unittest.cc
index e4543f32..992c1b1 100644
--- a/base/win/shortcut_unittest.cc
+++ b/base/win/shortcut_unittest.cc
@@ -12,6 +12,7 @@
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/stl_util.h"
+#include "base/strings/string16.h"
 #include "base/test/test_file_util.h"
 #include "base/test/test_shortcut_win.h"
 #include "base/win/scoped_com_initializer.h"
@@ -31,19 +32,20 @@
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
     ASSERT_TRUE(temp_dir_2_.CreateUniqueTempDir());
 
-    link_file_ = temp_dir_.GetPath().Append(L"My Link.lnk");
+    link_file_ = temp_dir_.GetPath().Append(FILE_PATH_LITERAL("My Link.lnk"));
 
     // Shortcut 1's properties
     {
-      const FilePath target_file(temp_dir_.GetPath().Append(L"Target 1.txt"));
+      const FilePath target_file(
+          temp_dir_.GetPath().Append(FILE_PATH_LITERAL("Target 1.txt")));
       WriteFile(target_file, kFileContents, base::size(kFileContents));
 
       link_properties_.set_target(target_file);
       link_properties_.set_working_dir(temp_dir_.GetPath());
-      link_properties_.set_arguments(L"--magic --awesome");
-      link_properties_.set_description(L"Chrome is awesome.");
+      link_properties_.set_arguments(STRING16_LITERAL("--magic --awesome"));
+      link_properties_.set_description(STRING16_LITERAL("Chrome is awesome."));
       link_properties_.set_icon(link_properties_.target, 4);
-      link_properties_.set_app_id(L"Chrome");
+      link_properties_.set_app_id(STRING16_LITERAL("Chrome"));
       link_properties_.set_dual_mode(false);
 
       // The CLSID below was randomly selected.
@@ -57,7 +59,8 @@
 
     // Shortcut 2's properties (all different from properties of shortcut 1).
     {
-      const FilePath target_file_2(temp_dir_.GetPath().Append(L"Target 2.txt"));
+      const FilePath target_file_2(
+          temp_dir_.GetPath().Append(FILE_PATH_LITERAL("Target 2.txt")));
       WriteFile(target_file_2, kFileContents2, base::size(kFileContents2));
 
       FilePath icon_path_2;
@@ -65,10 +68,12 @@
 
       link_properties_2_.set_target(target_file_2);
       link_properties_2_.set_working_dir(temp_dir_2_.GetPath());
-      link_properties_2_.set_arguments(L"--super --crazy");
-      link_properties_2_.set_description(L"The best in the west.");
+      link_properties_2_.set_arguments(STRING16_LITERAL("--super --crazy"));
+      link_properties_2_.set_description(
+          STRING16_LITERAL("The best in the west."));
       link_properties_2_.set_icon(icon_path_2, 0);
-      link_properties_2_.set_app_id(L"Chrome.UserLevelCrazySuffix");
+      link_properties_2_.set_app_id(
+          STRING16_LITERAL("Chrome.UserLevelCrazySuffix"));
       link_properties_2_.set_dual_mode(true);
       link_properties_2_.set_toast_activator_clsid(CLSID_NULL);
     }
@@ -92,7 +97,7 @@
 
 TEST_F(ShortcutTest, CreateAndResolveShortcutProperties) {
   // Test all properties.
-  FilePath file_1(temp_dir_.GetPath().Append(L"Link1.lnk"));
+  FilePath file_1(temp_dir_.GetPath().Append(FILE_PATH_LITERAL("Link1.lnk")));
   ASSERT_TRUE(CreateOrUpdateShortcutLink(
       file_1, link_properties_, SHORTCUT_CREATE_ALWAYS));
 
@@ -114,7 +119,7 @@
             properties_read_1.toast_activator_clsid);
 
   // Test simple shortcut with no special properties set.
-  FilePath file_2(temp_dir_.GetPath().Append(L"Link2.lnk"));
+  FilePath file_2(temp_dir_.GetPath().Append(FILE_PATH_LITERAL("Link2.lnk")));
   ShortcutProperties only_target_properties;
   only_target_properties.set_target(link_properties_.target);
   ASSERT_TRUE(CreateOrUpdateShortcutLink(
@@ -128,11 +133,11 @@
   ValidatePathsAreEqual(only_target_properties.target,
                         properties_read_2.target);
   ValidatePathsAreEqual(FilePath(), properties_read_2.working_dir);
-  EXPECT_EQ(L"", properties_read_2.arguments);
-  EXPECT_EQ(L"", properties_read_2.description);
+  EXPECT_EQ(STRING16_LITERAL(""), properties_read_2.arguments);
+  EXPECT_EQ(STRING16_LITERAL(""), properties_read_2.description);
   ValidatePathsAreEqual(FilePath(), properties_read_2.icon);
   EXPECT_EQ(0, properties_read_2.icon_index);
-  EXPECT_EQ(L"", properties_read_2.app_id);
+  EXPECT_EQ(STRING16_LITERAL(""), properties_read_2.app_id);
   EXPECT_FALSE(properties_read_2.dual_mode);
   EXPECT_EQ(CLSID_NULL, properties_read_2.toast_activator_clsid);
 }
diff --git a/base/win/startup_information_unittest.cc b/base/win/startup_information_unittest.cc
index f5d1f37..3524999 100644
--- a/base/win/startup_information_unittest.cc
+++ b/base/win/startup_information_unittest.cc
@@ -2,16 +2,19 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "base/win/startup_information.h"
+
 #include <windows.h>
 #include <stddef.h>
 
 #include <string>
 
 #include "base/command_line.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_util.h"
 #include "base/test/multiprocess_test.h"
 #include "base/win/scoped_handle.h"
 #include "base/win/scoped_process_information.h"
-#include "base/win/startup_information.h"
 #include "testing/multiprocess_func_list.h"
 
 const wchar_t kSectionName[] = L"EventTestSection";
@@ -58,14 +61,14 @@
       PROC_THREAD_ATTRIBUTE_HANDLE_LIST, &events[0],
       sizeof(events[0])));
 
-  std::wstring cmd_line =
+  base::string16 cmd_line =
       MakeCmdLine("FireInheritedEvents").GetCommandLineString();
 
   PROCESS_INFORMATION temp_process_info = {};
-  ASSERT_TRUE(::CreateProcess(NULL, &cmd_line[0],
-                              NULL, NULL, true, EXTENDED_STARTUPINFO_PRESENT,
-                              NULL, NULL, startup_info.startup_info(),
-                              &temp_process_info)) << ::GetLastError();
+  ASSERT_TRUE(::CreateProcess(NULL, base::wdata(cmd_line), NULL, NULL, true,
+                              EXTENDED_STARTUPINFO_PRESENT, NULL, NULL,
+                              startup_info.startup_info(), &temp_process_info))
+      << ::GetLastError();
   base::win::ScopedProcessInformation process_info(temp_process_info);
 
   // Only the first event should be signalled
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
index 4628713..66c934c 100644
--- a/base/win/win_util.cc
+++ b/base/win/win_util.cc
@@ -319,19 +319,19 @@
       break;
 
     // Get the device ID.
-    wchar_t device_id[MAX_DEVICE_ID_LEN];
+    char16 device_id[MAX_DEVICE_ID_LEN];
     CONFIGRET status = CM_Get_Device_ID(device_info_data.DevInst,
-                                        device_id,
-                                        MAX_DEVICE_ID_LEN,
-                                        0);
+                                        wdata(device_id), MAX_DEVICE_ID_LEN, 0);
     if (status == CR_SUCCESS) {
       // To reduce the scope of the hack we only look for ACPI and HID\\VID
       // prefixes in the keyboard device ids.
-      if (StartsWith(device_id, L"ACPI", CompareCase::INSENSITIVE_ASCII) ||
-          StartsWith(device_id, L"HID\\VID", CompareCase::INSENSITIVE_ASCII)) {
+      if (StartsWith(device_id, STRING16_LITERAL("ACPI"),
+                     CompareCase::INSENSITIVE_ASCII) ||
+          StartsWith(device_id, STRING16_LITERAL("HID\\VID"),
+                     CompareCase::INSENSITIVE_ASCII)) {
         if (reason) {
           *reason += "device: ";
-          *reason += WideToUTF8(device_id);
+          *reason += UTF16ToUTF8(device_id);
           *reason += '\n';
         }
         // The heuristic we are using is to check the count of keyboards and
@@ -393,12 +393,16 @@
   //   http://code.google.com/p/chromium/issues/detail?id=61644
   ThreadRestrictions::ScopedAllowIO allow_io;
 
-  RegKey key(HKEY_LOCAL_MACHINE,
-             L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",
-             KEY_READ);
+  RegKey key(
+      HKEY_LOCAL_MACHINE,
+      STRING16_LITERAL(
+          "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"),
+      KEY_READ);
   DWORD uac_enabled;
-  if (key.ReadValueDW(L"EnableLUA", &uac_enabled) != ERROR_SUCCESS)
+  if (key.ReadValueDW(STRING16_LITERAL("EnableLUA"), &uac_enabled) !=
+      ERROR_SUCCESS) {
     return true;
+  }
   // Users can set the EnableLUA value to something arbitrary, like 2, which
   // Vista will treat as UAC enabled, so we make sure it is not set to 0.
   return (uac_enabled != 0);
@@ -458,7 +462,7 @@
 }
 
 static const char16 kAutoRunKeyPath[] =
-    L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
+    STRING16_LITERAL("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
 
 bool AddCommandToAutoRun(HKEY root_key, const string16& name,
                          const string16& command) {
diff --git a/base/win/win_util_unittest.cc b/base/win/win_util_unittest.cc
index ad7a7bc8..423199a 100644
--- a/base/win/win_util_unittest.cc
+++ b/base/win/win_util_unittest.cc
@@ -8,6 +8,8 @@
 #include "base/macros.h"
 #include "base/scoped_native_library.h"
 #include "base/stl_util.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_util.h"
 #include "base/win/win_client_metrics.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -61,8 +63,8 @@
 
   // Load in a new module. Pick zipfldr.dll as it is present from WinXP to
   // Win10, including ARM64 Win10, and yet rarely used.
-  const wchar_t dll_name[] = L"zipfldr.dll";
-  ASSERT_EQ(NULL, ::GetModuleHandle(dll_name));
+  const char16 dll_name[] = FILE_PATH_LITERAL("zipfldr.dll");
+  ASSERT_EQ(NULL, ::GetModuleHandle(wdata(dll_name)));
 
   base::ScopedNativeLibrary new_dll((base::FilePath(dll_name)));
   ASSERT_NE(static_cast<HMODULE>(NULL), new_dll.get());
diff --git a/base/win/windows_version.cc b/base/win/windows_version.cc
index 07c040a..f2acaa4 100644
--- a/base/win/windows_version.cc
+++ b/base/win/windows_version.cc
@@ -12,6 +12,8 @@
 #include "base/files/file_path.h"
 #include "base/logging.h"
 #include "base/no_destructor.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/win/registry.h"
 
@@ -39,17 +41,17 @@
 int GetUBR() {
   // The values under the CurrentVersion registry hive are mirrored under
   // the corresponding Wow6432 hive.
-  static constexpr wchar_t kRegKeyWindowsNTCurrentVersion[] =
-      L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
+  static constexpr char16 kRegKeyWindowsNTCurrentVersion[] =
+      STRING16_LITERAL("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
 
-  base::win::RegKey key;
+  RegKey key;
   if (key.Open(HKEY_LOCAL_MACHINE, kRegKeyWindowsNTCurrentVersion,
                KEY_QUERY_VALUE) != ERROR_SUCCESS) {
     return 0;
   }
 
   DWORD ubr = 0;
-  key.ReadValueDW(L"UBR", &ubr);
+  key.ReadValueDW(STRING16_LITERAL("UBR"), &ubr);
 
   return static_cast<int>(ubr);
 }
@@ -102,7 +104,7 @@
       version_number_.major, version_number_.minor, version_number_.build);
   service_pack_.major = version_info.wServicePackMajor;
   service_pack_.minor = version_info.wServicePackMinor;
-  service_pack_str_ = base::WideToUTF8(version_info.szCSDVersion);
+  service_pack_str_ = WideToUTF8(version_info.szCSDVersion);
 
   switch (system_info.wProcessorArchitecture) {
     case PROCESSOR_ARCHITECTURE_INTEL: architecture_ = X86_ARCHITECTURE; break;
@@ -193,16 +195,16 @@
 // compatibility mode for a down-level version of the OS, the file version of
 // kernel32 will still be the "real" version.
 base::Version OSInfo::Kernel32BaseVersion() const {
-  static const base::NoDestructor<base::Version> version([] {
+  static const NoDestructor<base::Version> version([] {
     std::unique_ptr<FileVersionInfoWin> file_version_info =
         FileVersionInfoWin::CreateFileVersionInfoWin(
-            base::FilePath(FILE_PATH_LITERAL("kernel32.dll")));
+            FilePath(FILE_PATH_LITERAL("kernel32.dll")));
     if (!file_version_info) {
       // crbug.com/912061: on some systems it seems kernel32.dll might be
       // corrupted or not in a state to get version info. In this case try
       // kernelbase.dll as a fallback.
       file_version_info = FileVersionInfoWin::CreateFileVersionInfoWin(
-          base::FilePath(FILE_PATH_LITERAL("kernelbase.dll")));
+          FilePath(FILE_PATH_LITERAL("kernelbase.dll")));
     }
     CHECK(file_version_info);
     const int major =
@@ -220,11 +222,11 @@
 
 std::string OSInfo::processor_model_name() {
   if (processor_model_name_.empty()) {
-    const wchar_t kProcessorNameString[] =
-        L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0";
-    base::win::RegKey key(HKEY_LOCAL_MACHINE, kProcessorNameString, KEY_READ);
+    const char16 kProcessorNameString[] =
+        STRING16_LITERAL("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
+    RegKey key(HKEY_LOCAL_MACHINE, kProcessorNameString, KEY_READ);
     string16 value;
-    key.ReadValue(L"ProcessorNameString", &value);
+    key.ReadValue(STRING16_LITERAL("ProcessorNameString"), &value);
     processor_model_name_ = UTF16ToUTF8(value);
   }
   return processor_model_name_;
diff --git a/base/win/wmi.cc b/base/win/wmi.cc
index f6d8bdd..98f0106 100644
--- a/base/win/wmi.cc
+++ b/base/win/wmi.cc
@@ -10,6 +10,8 @@
 #include <stdint.h>
 #include <utility>
 
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
 #include "base/win/scoped_bstr.h"
 #include "base/win/scoped_variant.h"
 
@@ -28,9 +30,9 @@
     return false;
 
   ComPtr<IWbemServices> wmi_services_r;
-  hr =
-      wmi_locator->ConnectServer(ScopedBstr(L"ROOT\\CIMV2"), nullptr, nullptr,
-                                 nullptr, 0, nullptr, nullptr, &wmi_services_r);
+  hr = wmi_locator->ConnectServer(ScopedBstr(STRING16_LITERAL("ROOT\\CIMV2")),
+                                  nullptr, nullptr, nullptr, 0, nullptr,
+                                  nullptr, &wmi_services_r);
   if (FAILED(hr))
     return false;
 
@@ -47,8 +49,8 @@
 }
 
 bool CreateWmiClassMethodObject(IWbemServices* wmi_services,
-                                const StringPiece16& class_name,
-                                const StringPiece16& method_name,
+                                StringPiece16 class_name,
+                                StringPiece16 method_name,
                                 ComPtr<IWbemClassObject>* class_instance) {
   // We attempt to instantiate a COM object that represents a WMI object plus
   // a method rolled into one entity.
@@ -76,13 +78,6 @@
   return SUCCEEDED(hr);
 }
 
-bool SetWmiClassMethodParameter(IWbemClassObject* class_method,
-                                const StringPiece16& parameter_name,
-                                VARIANT* parameter) {
-  HRESULT hr = class_method->Put(parameter_name.data(), 0, parameter, 0);
-  return SUCCEEDED(hr);
-}
-
 // The code in Launch() basically calls the Create Method of the Win32_Process
 // CIM class is documented here:
 // http://msdn2.microsoft.com/en-us/library/aa389388(VS.85).aspx
@@ -94,18 +89,18 @@
   if (!CreateLocalWmiConnection(true, &wmi_local))
     return false;
 
-  static constexpr wchar_t class_name[] = L"Win32_Process";
-  static constexpr wchar_t method_name[] = L"Create";
+  static constexpr char16 class_name[] = STRING16_LITERAL("Win32_Process");
+  static constexpr char16 method_name[] = STRING16_LITERAL("Create");
   ComPtr<IWbemClassObject> process_create;
   if (!CreateWmiClassMethodObject(wmi_local.Get(), class_name, method_name,
                                   &process_create)) {
     return false;
   }
 
-  ScopedVariant b_command_line(command_line.c_str());
+  ScopedVariant b_command_line(wdata(command_line));
 
-  if (!SetWmiClassMethodParameter(process_create.Get(), L"CommandLine",
-                                  b_command_line.AsInput())) {
+  if (FAILED(process_create->Put(L"CommandLine", 0, b_command_line.AsInput(),
+                                 0))) {
     return false;
   }
 
@@ -150,14 +145,14 @@
 
 void WmiComputerSystemInfo::PopulateModelAndManufacturer(
     const ComPtr<IWbemServices>& services) {
-  static constexpr base::StringPiece16 query_computer_system(
-      L"SELECT Manufacturer,Model FROM Win32_ComputerSystem");
+  static constexpr StringPiece16 query_computer_system =
+      STRING16_LITERAL("SELECT Manufacturer,Model FROM Win32_ComputerSystem");
 
   ComPtr<IEnumWbemClassObject> enumerator_computer_system;
-  HRESULT hr =
-      services->ExecQuery(ScopedBstr(L"WQL"), ScopedBstr(query_computer_system),
-                          WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
-                          nullptr, &enumerator_computer_system);
+  HRESULT hr = services->ExecQuery(
+      ScopedBstr(STRING16_LITERAL("WQL")), ScopedBstr(query_computer_system),
+      WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, nullptr,
+      &enumerator_computer_system);
   if (FAILED(hr) || !enumerator_computer_system.Get())
     return;
 
@@ -171,25 +166,27 @@
   ScopedVariant manufacturer;
   hr = class_object->Get(L"Manufacturer", 0, manufacturer.Receive(), 0, 0);
   if (SUCCEEDED(hr) && manufacturer.type() == VT_BSTR) {
-    manufacturer_.assign(V_BSTR(manufacturer.ptr()),
-                         ::SysStringLen(V_BSTR(manufacturer.ptr())));
+    WideToUTF16(V_BSTR(manufacturer.ptr()),
+                ::SysStringLen(V_BSTR(manufacturer.ptr())), &manufacturer_);
   }
   ScopedVariant model;
   hr = class_object->Get(L"Model", 0, model.Receive(), 0, 0);
-  if (SUCCEEDED(hr) && model.type() == VT_BSTR)
-    model_.assign(V_BSTR(model.ptr()), ::SysStringLen(V_BSTR(model.ptr())));
+  if (SUCCEEDED(hr) && model.type() == VT_BSTR) {
+    WideToUTF16(V_BSTR(model.ptr()), ::SysStringLen(V_BSTR(model.ptr())),
+                &model_);
+  }
 }
 
 void WmiComputerSystemInfo::PopulateSerialNumber(
     const ComPtr<IWbemServices>& services) {
-  static constexpr base::StringPiece16 query_bios(
-      L"SELECT SerialNumber FROM Win32_Bios");
+  static constexpr StringPiece16 query_bios =
+      STRING16_LITERAL("SELECT SerialNumber FROM Win32_Bios");
 
   ComPtr<IEnumWbemClassObject> enumerator_bios;
-  HRESULT hr =
-      services->ExecQuery(ScopedBstr(L"WQL"), ScopedBstr(query_bios),
-                          WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
-                          nullptr, &enumerator_bios);
+  HRESULT hr = services->ExecQuery(
+      ScopedBstr(STRING16_LITERAL("WQL")), ScopedBstr(query_bios),
+      WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, nullptr,
+      &enumerator_bios);
   if (FAILED(hr) || !enumerator_bios.Get())
     return;
 
@@ -202,8 +199,8 @@
   ScopedVariant serial_number;
   hr = class_obj->Get(L"SerialNumber", 0, serial_number.Receive(), 0, 0);
   if (SUCCEEDED(hr) && serial_number.type() == VT_BSTR) {
-    serial_number_.assign(V_BSTR(serial_number.ptr()),
-                          ::SysStringLen(V_BSTR(serial_number.ptr())));
+    WideToUTF16(V_BSTR(serial_number.ptr()),
+                ::SysStringLen(V_BSTR(serial_number.ptr())), &serial_number_);
   }
 }
 
diff --git a/base/win/wmi.h b/base/win/wmi.h
index 1fd6cfc8..e1523152ce 100644
--- a/base/win/wmi.h
+++ b/base/win/wmi.h
@@ -47,17 +47,10 @@
 // WMI method that you can fill with parameter values using SetParameter.
 BASE_EXPORT bool CreateWmiClassMethodObject(
     IWbemServices* wmi_services,
-    const StringPiece16& class_name,
-    const StringPiece16& method_name,
+    StringPiece16 class_name,
+    StringPiece16 method_name,
     Microsoft::WRL::ComPtr<IWbemClassObject>* class_instance);
 
-// Fills a single parameter given an instanced |class_method|. Returns true
-// if the operation succeeded. When all the parameters are set the method can
-// be executed using IWbemServices::ExecMethod().
-BASE_EXPORT bool SetWmiClassMethodParameter(IWbemClassObject* class_method,
-                                            const StringPiece16& parameter_name,
-                                            VARIANT* parameter);
-
 // Creates a new process from |command_line|. The advantage over CreateProcess
 // is that it allows you to always break out from a Job object that the caller
 // is attached to even if the Job object flags prevent that.
diff --git a/base/win/wmi_unittest.cc b/base/win/wmi_unittest.cc
index 51637f3d..6c46525 100644
--- a/base/win/wmi_unittest.cc
+++ b/base/win/wmi_unittest.cc
@@ -6,6 +6,7 @@
 
 #include <windows.h>
 
+#include "base/strings/string16.h"
 #include "base/win/scoped_com_initializer.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -41,7 +42,8 @@
   ASSERT_NE(wmi_services.Get(), nullptr);
   ComPtr<IWbemClassObject> class_method = nullptr;
   EXPECT_TRUE(CreateWmiClassMethodObject(
-      wmi_services.Get(), L"Win32_ShortcutFile", L"Rename", &class_method));
+      wmi_services.Get(), STRING16_LITERAL("Win32_ShortcutFile"),
+      STRING16_LITERAL("Rename"), &class_method));
   ASSERT_NE(class_method.Get(), nullptr);
   ULONG refs = class_method.Reset();
   EXPECT_EQ(0u, refs);
@@ -52,7 +54,8 @@
 // Creates an instance of cmd which executes 'echo' and exits immediately.
 TEST_F(WMITest, TestLaunchProcess) {
   int pid = 0;
-  bool result = WmiLaunchProcess(L"cmd.exe /c echo excelent!", &pid);
+  bool result =
+      WmiLaunchProcess(STRING16_LITERAL("cmd.exe /c echo excelent!"), &pid);
   EXPECT_TRUE(result);
   EXPECT_GT(pid, 0);
 }
diff --git a/base/win/wrapped_window_proc.cc b/base/win/wrapped_window_proc.cc
index 0a00996..6d9c284 100644
--- a/base/win/wrapped_window_proc.cc
+++ b/base/win/wrapped_window_proc.cc
@@ -6,6 +6,7 @@
 
 #include "base/atomicops.h"
 #include "base/logging.h"
+#include "base/strings/string_util.h"
 
 namespace {
 
@@ -43,18 +44,17 @@
                               EXCEPTION_CONTINUE_SEARCH;
 }
 
-BASE_EXPORT void InitializeWindowClass(
-    const char16* class_name,
-    WNDPROC window_proc,
-    UINT style,
-    int class_extra,
-    int window_extra,
-    HCURSOR cursor,
-    HBRUSH background,
-    const char16* menu_name,
-    HICON large_icon,
-    HICON small_icon,
-    WNDCLASSEX* class_out) {
+BASE_EXPORT void InitializeWindowClass(const char16* class_name,
+                                       WNDPROC window_proc,
+                                       UINT style,
+                                       int class_extra,
+                                       int window_extra,
+                                       HCURSOR cursor,
+                                       HBRUSH background,
+                                       const char16* menu_name,
+                                       HICON large_icon,
+                                       HICON small_icon,
+                                       WNDCLASSEX* class_out) {
   class_out->cbSize = sizeof(WNDCLASSEX);
   class_out->style = style;
   class_out->lpfnWndProc = window_proc;
@@ -66,8 +66,8 @@
   class_out->hIcon = large_icon;
   class_out->hCursor = cursor;
   class_out->hbrBackground = background;
-  class_out->lpszMenuName = menu_name;
-  class_out->lpszClassName = class_name;
+  class_out->lpszMenuName = wdata(menu_name);
+  class_out->lpszClassName = wdata(class_name);
   class_out->hIconSm = small_icon;
 
   // Check if |window_proc| is valid.
diff --git a/base/win/wrapped_window_proc.h b/base/win/wrapped_window_proc.h
index c586be07..e5168164 100644
--- a/base/win/wrapped_window_proc.h
+++ b/base/win/wrapped_window_proc.h
@@ -37,18 +37,17 @@
 // Initializes the WNDCLASSEX structure |*class_out| to be passed to
 // RegisterClassEx() making sure that it is associated with the module
 // containing the window procedure.
-BASE_EXPORT void InitializeWindowClass(
-    const char16* class_name,
-    WNDPROC window_proc,
-    UINT style,
-    int class_extra,
-    int window_extra,
-    HCURSOR cursor,
-    HBRUSH background,
-    const char16* menu_name,
-    HICON large_icon,
-    HICON small_icon,
-    WNDCLASSEX* class_out);
+BASE_EXPORT void InitializeWindowClass(const char16* class_name,
+                                       WNDPROC window_proc,
+                                       UINT style,
+                                       int class_extra,
+                                       int window_extra,
+                                       HCURSOR cursor,
+                                       HBRUSH background,
+                                       const char16* menu_name,
+                                       HICON large_icon,
+                                       HICON small_icon,
+                                       WNDCLASSEX* class_out);
 
 // Wrapper that supplies a standard exception frame for the provided WindowProc.
 // The normal usage is something like this:
diff --git a/build/config/android/config.gni b/build/config/android/config.gni
index 1b85633..a516ba92 100644
--- a/build/config/android/config.gni
+++ b/build/config/android/config.gni
@@ -228,6 +228,9 @@
 
     # Checks that proguard flags have not changed (!is_java_debug only).
     check_android_configuration = false
+
+    # Enables instantiation of 64-bit browser targets.
+    enable_64_bit_browser = false
   }
 
   assert(!(check_android_configuration && is_java_debug),
diff --git a/build/config/chromeos/rules.gni b/build/config/chromeos/rules.gni
index bcba20c..5ba3e61 100644
--- a/build/config/chromeos/rules.gni
+++ b/build/config/chromeos/rules.gni
@@ -212,6 +212,8 @@
     foreach(test, tast_disabled_tests) {
       tast_attr_expr += " && !\"name:${test}\""
     }
+  }
+  if (defined(tast_attr_expr)) {
     tast_attr_expr = "( " + tast_attr_expr + " )"
   }
   generate_runner_script(target_name) {
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index edd08cd..f4cf9c7 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-29b9a29002bc698f7876c63b3b1275b309a9c7a9
\ No newline at end of file
+3381b60b3e08a8c2655c1606bdb3f1983f2b6682
\ No newline at end of file
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index ca14b3f..eefe7e3 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-596d9ccde1677570b69063f732bca6a6c347cf24
\ No newline at end of file
+87df02793ce594ee4619c23463a1c8b50ed50b8a
\ No newline at end of file
diff --git a/build/fuchsia/run_package.py b/build/fuchsia/run_package.py
index 8c2b575..fa7ccbd 100644
--- a/build/fuchsia/run_package.py
+++ b/build/fuchsia/run_package.py
@@ -122,8 +122,9 @@
 
   # Register the repo.
   return_code = target.RunCommand(
-      ['amber_ctl', 'add_src', '-f',
-       'http://127.0.0.1:%d/repo_config.json' % remote_port])
+      [('amber_ctl rm_src -n %s; ' +
+        'amber_ctl add_src -f http://127.0.0.1:%d/repo_config.json')
+       % (_REPO_NAME, remote_port)])
   if return_code != 0:
     raise Exception('Error code %d when running amber_ctl.' % return_code)
 
diff --git a/build/toolchain/android/BUILD.gn b/build/toolchain/android/BUILD.gn
index d33d85a0..c833c7b8 100644
--- a/build/toolchain/android/BUILD.gn
+++ b/build/toolchain/android/BUILD.gn
@@ -58,7 +58,8 @@
     ld = cxx
     readelf = _tool_prefix + "readelf"
     nm = _tool_prefix + "nm"
-    strip = rebase_path("//third_party/eu-strip/bin/eu-strip", root_build_dir)
+    strip = rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip",
+                        root_build_dir)
     use_unstripped_as_runtime_outputs = android_unstripped_runtime_outputs
 
     # Don't use .cr.so for loadable_modules since they are always loaded via
diff --git a/build/toolchain/fuchsia/BUILD.gn b/build/toolchain/fuchsia/BUILD.gn
index 654073b..d160a83 100644
--- a/build/toolchain/fuchsia/BUILD.gn
+++ b/build/toolchain/fuchsia/BUILD.gn
@@ -17,7 +17,8 @@
     # in runtime_deps to make them available for isolates.
     # TODO(https://crbug.com/877080): Switch to llvm-strip.
     if (host_os == "linux") {
-      strip = rebase_path("//third_party/eu-strip/bin/eu-strip", root_build_dir)
+      strip = rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip",
+                          root_build_dir)
       use_unstripped_as_runtime_outputs = true
     }
 
diff --git a/cc/paint/paint_op_buffer.h b/cc/paint/paint_op_buffer.h
index 028a476..c2ad0c9e 100644
--- a/cc/paint/paint_op_buffer.h
+++ b/cc/paint/paint_op_buffer.h
@@ -66,7 +66,7 @@
                           const SerializeOptions& options);                  \
   static PaintOp* Deserialize(const volatile void* input, size_t input_size, \
                               void* output, size_t output_size,              \
-                              const DeserializeOptions& options);
+                              const DeserializeOptions& options)
 
 enum class PaintOpType : uint8_t {
   Annotate,
diff --git a/cc/paint/transfer_cache_deserialize_helper.h b/cc/paint/transfer_cache_deserialize_helper.h
index 530b479..59b1ca6 100644
--- a/cc/paint/transfer_cache_deserialize_helper.h
+++ b/cc/paint/transfer_cache_deserialize_helper.h
@@ -56,6 +56,6 @@
   size_t total_size_ = 0;
 };
 
-};  // namespace cc
+}  // namespace cc
 
 #endif  // CC_PAINT_TRANSFER_CACHE_DESERIALIZE_HELPER_H_
diff --git a/cc/paint/transfer_cache_entry.h b/cc/paint/transfer_cache_entry.h
index 5488aa1..5f7dabe1 100644
--- a/cc/paint/transfer_cache_entry.h
+++ b/cc/paint/transfer_cache_entry.h
@@ -105,6 +105,6 @@
 using ServiceTransferCacheEntryBase =
     TransferCacheEntryBase<ServiceTransferCacheEntry, EntryType>;
 
-};  // namespace cc
+}  // namespace cc
 
 #endif  // CC_PAINT_TRANSFER_CACHE_ENTRY_H_
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 14f9c13..cd4f894 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -41,14 +41,8 @@
     "$target_gen_dir/chrome_public_apk/AndroidManifest.xml"
 chrome_modern_public_android_manifest =
     "$target_gen_dir/chrome_modern_public_apk/AndroidManifest.xml"
-monochrome_public_apk_android_manifest =
-    "$target_gen_dir/monochrome_public_apk/AndroidManifest.xml"
-monochrome_public_bundle_android_manifest =
-    "$target_gen_dir/monochrome_public_bundle/AndroidManifest.xml"
 trichrome_library_android_manifest =
     "$target_gen_dir/trichrome_library_apk/AndroidManifest.xml"
-trichrome_chrome_android_manifest =
-    "$target_gen_dir/trichrome_chrome_apk/AndroidManifest.xml"
 
 app_hooks_impl = "java/src/org/chromium/chrome/browser/AppHooksImpl.java"
 _chrome_version_java_file = "$target_gen_dir/templates/org/chromium/chrome/browser/ChromeVersionConstants.java"
@@ -88,36 +82,6 @@
   variables += [ "include_arcore_manifest_flag=false" ]
 }
 
-jinja_template("monochrome_public_apk_android_manifest") {
-  input = "java/AndroidManifest_monochrome.xml"
-  includes = [
-    "//android_webview/apk/java/AndroidManifest.xml",
-    "java/AndroidManifest.xml",
-  ]
-  output = monochrome_public_apk_android_manifest
-  variables = chrome_public_jinja_variables +
-              monochrome_android_manifest_jinja_variables +
-              [
-                "target_sdk_version=$android_sdk_version",
-                "webview_library=libmonochrome.so",
-              ]
-}
-
-jinja_template("monochrome_public_bundle_android_manifest") {
-  input = "java/AndroidManifest_monochrome.xml"
-  includes = [
-    "//android_webview/apk/java/AndroidManifest.xml",
-    "java/AndroidManifest.xml",
-  ]
-  output = monochrome_public_bundle_android_manifest
-  variables = chrome_public_jinja_variables +
-              monochrome_android_manifest_jinja_variables +
-              [
-                "target_sdk_version=$android_sdk_version",
-                "webview_library=libmonochrome${bundle_library_suffix}.so",
-              ]
-}
-
 jinja_template("trichrome_library_android_manifest") {
   input = "java/AndroidManifest_trichrome_library.xml"
   output = trichrome_library_android_manifest
@@ -125,13 +89,6 @@
               [ "manifest_package=$trichrome_library_package" ]
 }
 
-jinja_template("trichrome_chrome_android_manifest") {
-  input = "java/AndroidManifest_trichrome_chrome.xml"
-  includes = [ "java/AndroidManifest.xml" ]
-  output = trichrome_chrome_android_manifest
-  variables = chrome_public_jinja_variables + trichrome_jinja_variables
-}
-
 android_resources("chrome_app_java_resources") {
   resource_dirs = [
     "java/res",
@@ -1284,28 +1241,22 @@
   }
 }  # current_toolchain == host_toolchain
 
-# Only 32-bit //chrome/android/monochrome is needed, beside
-# being built with 32-bit default toolchain, it is also built
-# with secondary 32-bit toolchain in 64-bit platform because we
-# need 64-bit //android_webview/monochrome and 32-bit this target
-# for 64-bit APK.
+# Monochrome equivalent of Chrome's APK or bundle library template.
+template("libmonochrome_apk_or_bundle_tmpl") {
+  chrome_common_shared_library(target_name) {
+    forward_variables_from(invoker, "*")
+    sources = [
+      "../browser/android/monochrome_entry_point.cc",
+    ]
+    deps = [
+      "//android_webview:common",
+      "//components/crash/android:crashpad_main",
+    ]
+    is_monochrome = true
+  }
+}
 
 if (!android_64bit_target_cpu || !current_abi_is_webview_only) {
-  # Monochrome equivalent of Chrome's APK or bundle library template.
-  template("libmonochrome_apk_or_bundle_tmpl") {
-    chrome_common_shared_library(target_name) {
-      forward_variables_from(invoker, "*")
-      sources = [
-        "../browser/android/monochrome_entry_point.cc",
-      ]
-      deps = [
-        "//android_webview:common",
-        "//components/crash/android:crashpad_main",
-      ]
-      is_monochrome = true
-    }
-  }
-
   # Monochrome APK native library.
   libmonochrome_apk_or_bundle_tmpl("monochrome") {
   }
@@ -1313,7 +1264,29 @@
   # Monochrome bundle native library.
   libmonochrome_apk_or_bundle_tmpl("monochrome_base") {
   }
+
+  if (android_64bit_target_cpu && enable_64_bit_browser) {
+    group("monochrome_64_secondary_abi_lib") {
+      public_deps = [
+        ":monochrome_64($android_secondary_abi_toolchain)",
+      ]
+    }
+    group("monochrome_64_base_secondary_abi_lib") {
+      public_deps = [
+        ":monochrome_64_base($android_secondary_abi_toolchain)",
+      ]
+    }
+  }
 } else {
+  # 64-bit browser library targets (APK and bundle).
+  if (enable_64_bit_browser) {
+    libmonochrome_apk_or_bundle_tmpl("monochrome_64") {
+    }
+    libmonochrome_apk_or_bundle_tmpl("monochrome_64_base") {
+    }
+  }
+
+  # 32-bit browser library alias targets, pulled in by 64-bit WebView builds.
   group("monochrome_secondary_abi_lib") {
     public_deps = [
       ":monochrome($android_secondary_abi_toolchain)",
@@ -1535,14 +1508,55 @@
 #     suffix (e.g. "MonochromePublicBase")
 #   is_base_module: For module target types, a boolean indicating whether
 #     this is a base bundle module (instead of a feature one).
-#
+#   is_64_bit_browser: When compiling in a 64-bit configuration, a boolean
+#     indicating whether the browser is 64-bit or 32-bit.
+#   include_32_bit_webview: When compiling a 64-bit browser configuration, if
+#     true, a 32-bit WebView library will also be built and included.
 template("monochrome_public_apk_or_module_tmpl") {
+  _android_manifest =
+      "$target_gen_dir/manifest/${target_name}/AndroidManifest.xml"
+
+  # Generate the manifest here in the template, to avoid a growing collection
+  # of manually-instantiated manifests.
+  jinja_template("${target_name}__android_manifest") {
+    _is_trichrome =
+        defined(invoker.use_trichrome_library) && invoker.use_trichrome_library
+    includes = [ "java/AndroidManifest.xml" ]
+    variables = chrome_public_jinja_variables
+    if (_is_trichrome) {
+      input = "java/AndroidManifest_trichrome_chrome.xml"
+      variables += trichrome_jinja_variables
+    } else {
+      _arch = ""
+      _lib_suffix = ""
+      if (defined(invoker.is_64_bit_browser) && invoker.is_64_bit_browser) {
+        _arch = "_64"
+      }
+      if (invoker.target_type == "android_app_bundle_module") {
+        _lib_suffix = bundle_library_suffix
+      }
+      input = "java/AndroidManifest_monochrome.xml"
+      includes += [ "//android_webview/apk/java/AndroidManifest.xml" ]
+      variables += monochrome_android_manifest_jinja_variables + [
+                     "target_sdk_version=$android_sdk_version",
+                     "webview_library=libmonochrome${_arch}${_lib_suffix}.so",
+                   ]
+    }
+
+    # 32-bit is the common case, so remove the ABI variable in the 64-case.
+    if (defined(invoker.is_64_bit_browser) && invoker.is_64_bit_browser) {
+      variables -= [ use_32bit_abi_jinja_variable ]
+    }
+
+    output = _android_manifest
+  }
+
   monochrome_public_common_apk_or_module_tmpl(target_name) {
     forward_variables_from(invoker,
                            [
-                             "android_manifest",
-                             "android_manifest_dep",
                              "apk_name",
+                             "include_32_bit_webview",
+                             "is_64_bit_browser",
                              "is_base_module",
                              "module_name",
                              "verify_android_configuration",
@@ -1550,16 +1564,8 @@
                              "target_type",
                              "use_trichrome_library",
                            ])
-
-    if (!defined(android_manifest) && !defined(android_manifest_dep)) {
-      if (target_type == "android_app_bundle_module") {
-        android_manifest = monochrome_public_bundle_android_manifest
-        android_manifest_dep = ":monochrome_public_bundle_android_manifest"
-      } else {
-        android_manifest = monochrome_public_apk_android_manifest
-        android_manifest_dep = ":monochrome_public_apk_android_manifest"
-      }
-    }
+    android_manifest = _android_manifest
+    android_manifest_dep = ":${target_name}__android_manifest"
 
     if (public_android_sdk) {
       # Resource whitelist used when generating R.java files and causes
@@ -1600,6 +1606,26 @@
   is_base_module = true
 }
 
+if (android_64bit_target_cpu && enable_64_bit_browser) {
+  monochrome_public_apk_or_module_tmpl(
+      "monochrome_64_public_base_bundle_module") {
+    module_name = "Monochrome64PublicBase"
+    target_type = "android_app_bundle_module"
+    is_base_module = true
+    is_64_bit_browser = true
+    include_32_bit_webview = false
+  }
+
+  monochrome_public_apk_or_module_tmpl(
+      "monochrome_64_32_public_base_bundle_module") {
+    module_name = "Monochrome6432PublicBase"
+    target_type = "android_app_bundle_module"
+    is_base_module = true
+    is_64_bit_browser = true
+    include_32_bit_webview = true
+  }
+}
+
 if (public_android_sdk) {
   trichrome_library_apk_tmpl("trichrome_library_apk") {
     apk_name = "TrichromeLibrary"
@@ -1611,8 +1637,6 @@
 monochrome_public_apk_or_module_tmpl("trichrome_chrome_apk") {
   apk_name = "TrichromeChrome"
   target_type = "android_apk"
-  android_manifest = trichrome_chrome_android_manifest
-  android_manifest_dep = ":trichrome_chrome_android_manifest"
   use_trichrome_library = true
 }
 
@@ -1885,30 +1909,55 @@
   }
 }
 
-android_app_bundle("monochrome_public_bundle") {
+template("monochrome_public_bundle_tmpl") {
+  android_app_bundle(target_name) {
+    forward_variables_from(invoker,
+                           [
+                             "bundle_name",
+                             "base_module_target",
+                           ])
+
+    command_line_flags_file = "chrome-command-line"
+    if (!is_java_debug) {
+      proguard_enabled = true
+      proguard_android_sdk_dep = webview_framework_dep
+    }
+    enable_language_splits = enable_chrome_language_splits
+
+    # TODO(cjgrant): We need to create base-module-specific module targets.
+    extra_modules = []
+    if (modularize_ar) {
+      extra_modules = [
+        {
+          name = "ar"
+          module_target = ":ar_public_bundle_module"
+        },
+      ]
+    }
+    if (modularize_vr) {
+      extra_modules += [
+        {
+          name = "vr"
+          module_target = ":vr_monochrome_public_bundle_module"
+        },
+      ]
+    }
+  }
+}
+
+monochrome_public_bundle_tmpl("monochrome_public_bundle") {
   bundle_name = "MonochromePublic"
   base_module_target = ":monochrome_public_base_bundle_module"
-  command_line_flags_file = "chrome-command-line"
-  if (!is_java_debug) {
-    proguard_enabled = true
-    proguard_android_sdk_dep = webview_framework_dep
+}
+
+if (android_64bit_target_cpu && enable_64_bit_browser) {
+  monochrome_public_bundle_tmpl("monochrome_64_public_bundle") {
+    bundle_name = "MonochromePublic64"
+    base_module_target = ":monochrome_64_public_base_bundle_module"
   }
-  enable_language_splits = enable_chrome_language_splits
-  extra_modules = []
-  if (modularize_ar) {
-    extra_modules += [
-      {
-        name = "ar"
-        module_target = ":ar_public_bundle_module"
-      },
-    ]
-  }
-  if (modularize_vr) {
-    extra_modules += [
-      {
-        name = "vr"
-        module_target = ":vr_monochrome_public_bundle_module"
-      },
-    ]
+
+  monochrome_public_bundle_tmpl("monochrome_64_32_public_bundle") {
+    bundle_name = "MonochromePublic6432"
+    base_module_target = ":monochrome_64_32_public_base_bundle_module"
   }
 }
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
index e6b7772b..6084b3e8 100644
--- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -276,10 +276,12 @@
       if (android_64bit_target_cpu) {
         # Build //android_webview:monochrome with the opposite bitness that
         # Chrome runs in.
-        if (android_64bit_browser) {
-          shared_libraries = [ "//chrome/android:monochrome${_suffix}" ]
-          if (build_apk_secondary_abi) {
-            secondary_abi_shared_libraries = [ "//android_webview:monochrome${_suffix}($android_secondary_abi_toolchain)" ]
+        if ((defined(invoker.is_64_bit_browser) && invoker.is_64_bit_browser) ||
+            android_64bit_browser) {
+          shared_libraries = [ "//chrome/android:monochrome_64${_suffix}" ]
+          if ((build_apk_secondary_abi && invoker.include_32_bit_webview) ||
+              android_64bit_browser) {
+            secondary_abi_shared_libraries = [ "//android_webview:monochrome_64${_suffix}($android_secondary_abi_toolchain)" ]
           }
         } else {
           shared_libraries = [ "//android_webview:monochrome${_suffix}" ]
@@ -331,7 +333,7 @@
     # Configrations to make android load shared library from APK.
     uncompress_shared_libraries = true
 
-    forward_variables_from(invoker, "*")
+    forward_variables_from(invoker, "*", [ "include_32_bit_webview" ])
 
     # Android N+ better supports multiple locales (https://crbug.com/780847).
     support_zh_hk = false
diff --git a/chrome/android/java/res/layout/top_view.xml b/chrome/android/java/res/layout/top_view.xml
index 23baed2..bab0be7 100644
--- a/chrome/android/java/res/layout/top_view.xml
+++ b/chrome/android/java/res/layout/top_view.xml
@@ -5,7 +5,6 @@
 
 <org.chromium.chrome.browser.contacts_picker.TopView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/container"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java
index 94f49ee0..a771035 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantBottomBarCoordinator.java
@@ -74,7 +74,8 @@
         mHeaderCoordinator =
                 new AssistantHeaderCoordinator(context, mBottomBarView, model.getHeaderModel());
         mDetailsCoordinator = new AssistantDetailsCoordinator(context, model.getDetailsModel());
-        mPaymentRequestCoordinator = new AssistantPaymentRequestCoordinator(context, webContents);
+        mPaymentRequestCoordinator = new AssistantPaymentRequestCoordinator(
+                context, webContents, model.getPaymentRequestModel());
         mCarouselCoordinator = new AssistantCarouselCoordinator(context, model.getCarouselModel());
 
         // Add child views to bottom bar.
@@ -123,10 +124,6 @@
         }
     }
 
-    public AssistantPaymentRequestCoordinator getPaymentRequestCoordinator() {
-        return mPaymentRequestCoordinator;
-    }
-
     public AssistantCarouselCoordinator getCarouselCoordinator() {
         return mCarouselCoordinator;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantCoordinator.java
index 85c2a66..58c2715 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantCoordinator.java
@@ -15,6 +15,7 @@
 import org.chromium.chrome.browser.autofill_assistant.overlay.AssistantOverlayCoordinator;
 import org.chromium.chrome.browser.autofill_assistant.overlay.AssistantOverlayModel;
 import org.chromium.chrome.browser.autofill_assistant.overlay.AssistantOverlayState;
+import org.chromium.chrome.browser.autofill_assistant.payment.AssistantPaymentRequestModel;
 import org.chromium.chrome.browser.help.HelpAndFeedback;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.snackbar.Snackbar;
@@ -69,11 +70,14 @@
         mOverlayCoordinator =
                 new AssistantOverlayCoordinator(activity, mAssistantView, mModel.getOverlayModel());
 
-        // Notify AssistantKeyboardCoordinator when we should (dis)allow the soft keyboard.
+        // Listen when we should (dis)allow the soft keyboard or swiping the bottom sheet.
         mModel.addObserver((source, propertyKey) -> {
             if (AssistantModel.ALLOW_SOFT_KEYBOARD == propertyKey) {
                 mKeyboardCoordinator.allowShowingSoftKeyboard(
                         mModel.get(AssistantModel.ALLOW_SOFT_KEYBOARD));
+            } else if (AssistantModel.ALLOW_SWIPING_SHEET == propertyKey) {
+                mBottomBarCoordinator.allowSwipingBottomSheet(
+                        mModel.get(AssistantModel.ALLOW_SWIPING_SHEET));
             }
         });
 
@@ -108,7 +112,7 @@
         // Hide everything except header.
         mModel.getOverlayModel().set(AssistantOverlayModel.STATE, AssistantOverlayState.hidden());
         mModel.getDetailsModel().clearDetails();
-        mBottomBarCoordinator.getPaymentRequestCoordinator().setVisible(false);
+        mModel.getPaymentRequestModel().set(AssistantPaymentRequestModel.OPTIONS, null);
         mModel.getCarouselModel().clearChips();
 
         if (showGiveUpMessage) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantModel.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantModel.java
index 412a9794..bcce7f88 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantModel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantModel.java
@@ -10,6 +10,7 @@
 import org.chromium.chrome.browser.autofill_assistant.details.AssistantDetailsModel;
 import org.chromium.chrome.browser.autofill_assistant.header.AssistantHeaderModel;
 import org.chromium.chrome.browser.autofill_assistant.overlay.AssistantOverlayModel;
+import org.chromium.chrome.browser.autofill_assistant.payment.AssistantPaymentRequestModel;
 import org.chromium.ui.modelutil.PropertyModel;
 
 /**
@@ -18,14 +19,17 @@
 @JNINamespace("autofill_assistant")
 class AssistantModel extends PropertyModel {
     static final WritableBooleanPropertyKey ALLOW_SOFT_KEYBOARD = new WritableBooleanPropertyKey();
+    static final WritableBooleanPropertyKey ALLOW_SWIPING_SHEET = new WritableBooleanPropertyKey();
 
     private final AssistantOverlayModel mOverlayModel = new AssistantOverlayModel();
     private final AssistantHeaderModel mHeaderModel = new AssistantHeaderModel();
     private final AssistantDetailsModel mDetailsModel = new AssistantDetailsModel();
+    private final AssistantPaymentRequestModel mPaymentRequestModel =
+            new AssistantPaymentRequestModel();
     private final AssistantCarouselModel mCarouselModel = new AssistantCarouselModel();
 
     AssistantModel() {
-        super(ALLOW_SOFT_KEYBOARD);
+        super(ALLOW_SOFT_KEYBOARD, ALLOW_SWIPING_SHEET);
     }
 
     @CalledByNative
@@ -44,6 +48,11 @@
     }
 
     @CalledByNative
+    public AssistantPaymentRequestModel getPaymentRequestModel() {
+        return mPaymentRequestModel;
+    }
+
+    @CalledByNative
     public AssistantCarouselModel getCarouselModel() {
         return mCarouselModel;
     }
@@ -52,4 +61,9 @@
     private void setAllowSoftKeyboard(boolean allowed) {
         set(ALLOW_SOFT_KEYBOARD, allowed);
     }
+
+    @CalledByNative
+    private void setAllowSwipingSheet(boolean allowed) {
+        set(ALLOW_SWIPING_SHEET, allowed);
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java
index 6a695a7..6c15c5b5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantUiController.java
@@ -4,21 +4,16 @@
 
 package org.chromium.chrome.browser.autofill_assistant;
 
-import android.support.annotation.Nullable;
-
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.chrome.browser.ChromeActivity;
-import org.chromium.chrome.browser.autofill.PersonalDataManager;
 import org.chromium.chrome.browser.autofill_assistant.metrics.DropOutReason;
-import org.chromium.chrome.browser.autofill_assistant.payment.AutofillAssistantPaymentRequest.SelectedPaymentInformation;
 import org.chromium.chrome.browser.customtabs.CustomTabActivity;
 import org.chromium.chrome.browser.tab.EmptyTabObserver;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver;
 import org.chromium.chrome.browser.tabmodel.TabModel;
 import org.chromium.content_public.browser.WebContents;
-import org.chromium.payments.mojom.PaymentOptions;
 
 /**
  * Bridge to native side autofill_assistant::UiControllerAndroid. It allows native side to control
@@ -30,8 +25,6 @@
 // TODO(crbug.com/806868): This class should be removed once all logic is in native side and the
 // model is directly modified by the native AssistantMediator.
 class AutofillAssistantUiController implements AssistantCoordinator.Delegate {
-    private static final String RFC_3339_FORMAT_WITHOUT_TIMEZONE = "yyyy'-'MM'-'dd'T'HH':'mm':'ss";
-
     private long mNativeUiController;
 
     private final AssistantCoordinator mCoordinator;
@@ -127,39 +120,6 @@
     }
 
     @CalledByNative
-    private void onRequestPaymentInformation(String defaultEmail, boolean requestShipping,
-            boolean requestPayerName, boolean requestPayerPhone, boolean requestPayerEmail,
-            int shippingType, String title, String[] supportedBasicCardNetworks) {
-        PaymentOptions paymentOptions = new PaymentOptions();
-        paymentOptions.requestShipping = requestShipping;
-        paymentOptions.requestPayerName = requestPayerName;
-        paymentOptions.requestPayerPhone = requestPayerPhone;
-        paymentOptions.requestPayerEmail = requestPayerEmail;
-        paymentOptions.shippingType = shippingType;
-
-        mCoordinator.getBottomBarCoordinator().allowSwipingBottomSheet(false);
-        mCoordinator.getBottomBarCoordinator()
-                .getPaymentRequestCoordinator()
-                .reset(paymentOptions, supportedBasicCardNetworks, defaultEmail)
-                .then(this::onRequestPaymentInformationSuccess,
-                        this::onRequestPaymentInformationFailed);
-    }
-
-    private void onRequestPaymentInformationSuccess(
-            SelectedPaymentInformation selectedInformation) {
-        mCoordinator.getBottomBarCoordinator().allowSwipingBottomSheet(true);
-        safeNativeOnGetPaymentInformation(/* succeed= */ true, selectedInformation.card,
-                selectedInformation.address, selectedInformation.payerName,
-                selectedInformation.payerPhone, selectedInformation.payerEmail,
-                selectedInformation.isTermsAndConditionsAccepted);
-    }
-
-    private void onRequestPaymentInformationFailed(Exception unusedException) {
-        mCoordinator.getBottomBarCoordinator().allowSwipingBottomSheet(true);
-        mCoordinator.gracefulShutdown(/* showGiveUpMessage= */ true, DropOutReason.PR_FAILED);
-    }
-
-    @CalledByNative
     private void onShowOnboarding(Runnable onAccept) {
         mCoordinator.showOnboarding(onAccept);
     }
@@ -185,18 +145,4 @@
     }
     private native void nativeStop(long nativeUiControllerAndroid);
 
-    void safeNativeOnGetPaymentInformation(boolean succeed,
-            @Nullable PersonalDataManager.CreditCard card,
-            @Nullable PersonalDataManager.AutofillProfile address, @Nullable String payerName,
-            @Nullable String payerPhone, @Nullable String payerEmail,
-            boolean isTermsAndConditionsAccepted) {
-        if (mNativeUiController != 0)
-            nativeOnGetPaymentInformation(mNativeUiController, succeed, card, address, payerName,
-                    payerPhone, payerEmail, isTermsAndConditionsAccepted);
-    }
-    private native void nativeOnGetPaymentInformation(long nativeUiControllerAndroid,
-            boolean succeed, @Nullable PersonalDataManager.CreditCard card,
-            @Nullable PersonalDataManager.AutofillProfile address, @Nullable String payerName,
-            @Nullable String payerPhone, @Nullable String payerEmail,
-            boolean isTermsAndConditionsAccepted);
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestCoordinator.java
index 2cc62203..fa56b45a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestCoordinator.java
@@ -10,10 +10,7 @@
 import android.view.ViewGroup;
 import android.widget.LinearLayout;
 
-import org.chromium.base.Promise;
-import org.chromium.chrome.browser.autofill_assistant.payment.AutofillAssistantPaymentRequest.SelectedPaymentInformation;
 import org.chromium.content_public.browser.WebContents;
-import org.chromium.payments.mojom.PaymentOptions;
 
 // TODO(crbug.com/806868): Refactor AutofillAssistantPaymentRequest and merge with this file.
 // TODO(crbug.com/806868): Use mCarouselCoordinator to show chips.
@@ -26,9 +23,10 @@
     private Runnable mOnVisibilityChanged;
     private final ViewGroup mView;
 
-    private Promise<SelectedPaymentInformation> mCurrentPromise;
+    private AssistantPaymentRequestDelegate mDelegate;
 
-    public AssistantPaymentRequestCoordinator(Context context, WebContents webContents) {
+    public AssistantPaymentRequestCoordinator(
+            Context context, WebContents webContents, AssistantPaymentRequestModel model) {
         mWebContents = webContents;
         assert webContents != null;
 
@@ -38,13 +36,29 @@
 
         // Payment request is initially hidden.
         setVisible(false);
+
+        // Listen for model changes.
+        model.addObserver((source, propertyKey) -> {
+            if (AssistantPaymentRequestModel.DELEGATE == propertyKey) {
+                mDelegate = model.get(AssistantPaymentRequestModel.DELEGATE);
+            } else if (AssistantPaymentRequestModel.OPTIONS == propertyKey) {
+                AssistantPaymentRequestOptions options =
+                        model.get(AssistantPaymentRequestModel.OPTIONS);
+                if (options != null) {
+                    resetView(options);
+                    setVisible(true);
+                } else {
+                    setVisible(false);
+                }
+            }
+        });
     }
 
     public View getView() {
         return mView;
     }
 
-    public void setVisible(boolean visible) {
+    private void setVisible(boolean visible) {
         int visibility = visible ? View.VISIBLE : View.GONE;
         boolean changed = mView.getVisibility() != visibility;
         if (changed) {
@@ -63,22 +77,13 @@
         mOnVisibilityChanged = listener;
     }
 
-    public Promise<SelectedPaymentInformation> reset(
-            PaymentOptions options, String[] supportedBasicCardNetworks, String defaultEmail) {
-        assert mCurrentPromise
-                == null : "AssistantPaymentRequestCoordinator does not support concurrent calls "
-                          + "to requestPaymentInformation";
-        Promise<SelectedPaymentInformation> thisPromise = new Promise<>();
-        mCurrentPromise = thisPromise;
-
-        setVisible(true);
-        AutofillAssistantPaymentRequest paymentRequest = new AutofillAssistantPaymentRequest(
-                mWebContents, options, /* title= */ "", supportedBasicCardNetworks, defaultEmail);
+    private void resetView(AssistantPaymentRequestOptions options) {
+        AutofillAssistantPaymentRequest paymentRequest =
+                new AutofillAssistantPaymentRequest(mWebContents, options);
         paymentRequest.show(mView.getChildAt(0), selectedPaymentInformation -> {
-            setVisible(false);
-            mCurrentPromise = null;
-            thisPromise.fulfill(selectedPaymentInformation);
+            if (mDelegate != null) {
+                mDelegate.onPaymentInformationSelected(selectedPaymentInformation);
+            }
         });
-        return this.mCurrentPromise;
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestDelegate.java
new file mode 100644
index 0000000..e36f503b
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestDelegate.java
@@ -0,0 +1,49 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.autofill_assistant.payment;
+
+import android.support.annotation.Nullable;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
+import org.chromium.chrome.browser.autofill.PersonalDataManager;
+
+/** Delegate for the Payment Request UI. */
+@JNINamespace("autofill_assistant")
+class AssistantPaymentRequestDelegate {
+    private long mNativeAssistantOverlayDelegate;
+
+    @CalledByNative
+    private static AssistantPaymentRequestDelegate create(
+            long nativeAssistantPaymentRequestDelegate) {
+        return new AssistantPaymentRequestDelegate(nativeAssistantPaymentRequestDelegate);
+    }
+
+    private AssistantPaymentRequestDelegate(long nativeAssistantPaymentRequestDelegate) {
+        mNativeAssistantOverlayDelegate = nativeAssistantPaymentRequestDelegate;
+    }
+
+    public void onPaymentInformationSelected(
+            AutofillAssistantPaymentRequest.SelectedPaymentInformation selectedInformation) {
+        if (mNativeAssistantOverlayDelegate != 0) {
+            nativeOnGetPaymentInformation(mNativeAssistantOverlayDelegate,
+                    selectedInformation.succeed, selectedInformation.card,
+                    selectedInformation.address, selectedInformation.payerName,
+                    selectedInformation.payerPhone, selectedInformation.payerEmail,
+                    selectedInformation.isTermsAndConditionsAccepted);
+        }
+    }
+
+    @CalledByNative
+    private void clearNativePtr() {
+        mNativeAssistantOverlayDelegate = 0;
+    }
+
+    private native void nativeOnGetPaymentInformation(long nativeAssistantPaymentRequestDelegate,
+            boolean succeed, @Nullable PersonalDataManager.CreditCard card,
+            @Nullable PersonalDataManager.AutofillProfile address, @Nullable String payerName,
+            @Nullable String payerPhone, @Nullable String payerEmail,
+            boolean isTermsAndConditionsAccepted);
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestModel.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestModel.java
new file mode 100644
index 0000000..ab3246cb
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestModel.java
@@ -0,0 +1,46 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.autofill_assistant.payment;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.JNINamespace;
+import org.chromium.ui.modelutil.PropertyModel;
+
+/**
+ * State for the header of the Autofill Assistant.
+ */
+@JNINamespace("autofill_assistant")
+public class AssistantPaymentRequestModel extends PropertyModel {
+    static final WritableObjectPropertyKey<AssistantPaymentRequestDelegate> DELEGATE =
+            new WritableObjectPropertyKey<>();
+
+    /** The payment request options. Set to null to hide the payment request UI. */
+    public static final WritableObjectPropertyKey<AssistantPaymentRequestOptions> OPTIONS =
+            new WritableObjectPropertyKey<>();
+
+    public AssistantPaymentRequestModel() {
+        super(DELEGATE, OPTIONS);
+    }
+
+    @CalledByNative
+    private void setOptions(String defaultEmail, boolean requestShipping, boolean requestPayerName,
+            boolean requestPayerPhone, boolean requestPayerEmail,
+            String[] supportedBasicCardNetworks) {
+        set(OPTIONS,
+                new AssistantPaymentRequestOptions(requestPayerName, requestPayerEmail,
+                        requestPayerPhone, requestShipping, supportedBasicCardNetworks,
+                        defaultEmail));
+    }
+
+    @CalledByNative
+    private void clearOptions() {
+        set(OPTIONS, null);
+    }
+
+    @CalledByNative
+    private void setDelegate(AssistantPaymentRequestDelegate delegate) {
+        set(DELEGATE, delegate);
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestOptions.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestOptions.java
new file mode 100644
index 0000000..5cccb6bf
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestOptions.java
@@ -0,0 +1,31 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.autofill_assistant.payment;
+
+import android.support.annotation.Nullable;
+
+/**
+ * Options for the Assistant Payment Request.
+ */
+class AssistantPaymentRequestOptions {
+    final boolean mRequestPayerName;
+    final boolean mRequestPayerEmail;
+    final boolean mRequestPayerPhone;
+    final boolean mRequestShipping;
+    final String[] mSupportedBasicCardNetworks;
+    @Nullable
+    final String mDefaultEmail;
+
+    AssistantPaymentRequestOptions(boolean requestPayerName, boolean requestPayerEmail,
+            boolean requestPayerPhone, boolean requestShipping, String[] supportedBasicCardNetworks,
+            @Nullable String defaultEmail) {
+        this.mRequestPayerName = requestPayerName;
+        this.mRequestPayerEmail = requestPayerEmail;
+        this.mRequestPayerPhone = requestPayerPhone;
+        this.mRequestShipping = requestShipping;
+        this.mSupportedBasicCardNetworks = supportedBasicCardNetworks;
+        this.mDefaultEmail = defaultEmail;
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AutofillAssistantPaymentRequest.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AutofillAssistantPaymentRequest.java
index a8118d5..815286e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AutofillAssistantPaymentRequest.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AutofillAssistantPaymentRequest.java
@@ -6,7 +6,6 @@
 
 import android.content.Context;
 import android.os.Handler;
-import android.support.annotation.Nullable;
 import android.support.v4.util.ArrayMap;
 import android.text.TextUtils;
 import android.view.View;
@@ -37,7 +36,7 @@
 import org.chromium.components.url_formatter.UrlFormatter;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.payments.mojom.PaymentMethodData;
-import org.chromium.payments.mojom.PaymentOptions;
+import org.chromium.payments.mojom.PaymentShippingType;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -58,13 +57,11 @@
             (a, b) -> (b.isComplete() ? 1 : 0) - (a.isComplete() ? 1 : 0);
 
     private final WebContents mWebContents;
-    private final PaymentOptions mPaymentOptions;
-    private final String mTitle;
+    private final AssistantPaymentRequestOptions mPaymentOptions;
     private final CardEditor mCardEditor;
     private final AddressEditor mAddressEditor;
     private final Map<String, PaymentMethodData> mMethodData;
     private final Handler mHandler = new Handler();
-    private final String mDefaultEmail;
 
     private PaymentRequestUI mUI;
     private ContactEditor mContactEditor;
@@ -109,12 +106,10 @@
      * @defaultEmail               Optional email. When provided Profiles with this email will be
      *                             shown on top.
      */
-    public AutofillAssistantPaymentRequest(WebContents webContents, PaymentOptions paymentOptions,
-            String title, String[] supportedBasicCardNetworks, @Nullable String defaultEmail) {
+    public AutofillAssistantPaymentRequest(
+            WebContents webContents, AssistantPaymentRequestOptions paymentOptions) {
         mWebContents = webContents;
         mPaymentOptions = paymentOptions;
-        mTitle = title;
-        mDefaultEmail = defaultEmail;
 
         // This feature should only works in non-incognito mode.
         mAddressEditor = new AddressEditor(/* emailFieldIncluded= */ true, /* saveToDisk= */ true);
@@ -125,6 +120,7 @@
         methodData.supportedMethod = BASIC_CARD_PAYMENT_METHOD;
 
         // Apply basic-card filter if specified
+        String[] supportedBasicCardNetworks = paymentOptions.mSupportedBasicCardNetworks;
         if (supportedBasicCardNetworks.length > 0) {
             ArrayList<Integer> filteredNetworks = new ArrayList<>();
             Map<String, Integer> networks = getNetworkIdentifiers();
@@ -176,48 +172,48 @@
         }
 
         List<AutofillProfile> profiles = null;
-        if (mPaymentOptions.requestShipping || mPaymentOptions.requestPayerName
-                || mPaymentOptions.requestPayerPhone || mPaymentOptions.requestPayerEmail) {
+        if (mPaymentOptions.mRequestShipping || mPaymentOptions.mRequestPayerName
+                || mPaymentOptions.mRequestPayerPhone || mPaymentOptions.mRequestPayerEmail) {
             profiles = PersonalDataManager.getInstance().getProfilesToSuggest(
                     /* includeNameInLabel= */ false);
 
-            if (mDefaultEmail != null && profiles != null) {
+            String defaultEmail = mPaymentOptions.mDefaultEmail;
+            if (defaultEmail != null && profiles != null) {
                 // The profile with default email should be shown as first. Following profiles are
                 // sorted in an alphabetic order.
                 Collections.sort(profiles, (a, b) -> {
                     int compareResult = ApiCompatibilityUtils.compareBoolean(
-                            mDefaultEmail.equals(b.getEmailAddress()),
-                            mDefaultEmail.equals(a.getEmailAddress()));
+                            defaultEmail.equals(b.getEmailAddress()),
+                            defaultEmail.equals(a.getEmailAddress()));
                     if (compareResult != 0) return compareResult;
                     return b.getEmailAddress().compareTo(a.getEmailAddress());
                 });
             }
         }
 
-        if (mPaymentOptions.requestShipping) {
+        if (mPaymentOptions.mRequestShipping) {
             createShippingSection(activity, Collections.unmodifiableList(profiles));
         }
 
-        if (mPaymentOptions.requestPayerName || mPaymentOptions.requestPayerPhone
-                || mPaymentOptions.requestPayerEmail) {
-            mContactEditor = new ContactEditor(mPaymentOptions.requestPayerName,
-                    mPaymentOptions.requestPayerPhone, mPaymentOptions.requestPayerEmail,
+        if (mPaymentOptions.mRequestPayerName || mPaymentOptions.mRequestPayerPhone
+                || mPaymentOptions.mRequestPayerEmail) {
+            mContactEditor = new ContactEditor(mPaymentOptions.mRequestPayerName,
+                    mPaymentOptions.mRequestPayerPhone, mPaymentOptions.mRequestPayerEmail,
                     /* saveToDisk= */ true);
             mContactSection = new ContactDetailsSection(activity,
                     Collections.unmodifiableList(profiles), mContactEditor,
                     /* journeyLogger= */ null);
         }
 
-        mUI = new PaymentRequestUI(activity, this, mPaymentOptions.requestShipping,
+        mUI = new PaymentRequestUI(activity, this, mPaymentOptions.mRequestShipping,
                 /* requestShippingOption= */ false,
-                mPaymentOptions.requestPayerName || mPaymentOptions.requestPayerPhone
-                        || mPaymentOptions.requestPayerEmail,
-                /* canAddCards= */ true, /* showDataSource= */ true,
-                mTitle.isEmpty() ? mWebContents.getTitle() : mTitle,
+                mPaymentOptions.mRequestPayerName || mPaymentOptions.mRequestPayerPhone
+                        || mPaymentOptions.mRequestPayerEmail,
+                /* canAddCards= */ true, /* showDataSource= */ true, mWebContents.getTitle(),
                 UrlFormatter.formatUrlForSecurityDisplayOmitScheme(
                         mWebContents.getLastCommittedUrl()),
                 SecurityStateModel.getSecurityLevelForWebContents(mWebContents),
-                new ShippingStrings(mPaymentOptions.shippingType));
+                new ShippingStrings(PaymentShippingType.SHIPPING));
         // This payment request is embedded in another flow, so update the 'Pay' button text to
         // 'Confirm'.
         mUI.updatePayButtonText(R.string.autofill_assistant_payment_info_confirm);
@@ -503,12 +499,12 @@
             selectedPaymentInformation.isTermsAndConditionsAccepted = isTermsAndConditionsAccepted;
             selectedPaymentInformation.card =
                     ((AutofillPaymentInstrument) selectedPaymentMethod).getCard();
-            if (mPaymentOptions.requestShipping && selectedShippingAddress != null) {
+            if (mPaymentOptions.mRequestShipping && selectedShippingAddress != null) {
                 selectedPaymentInformation.address =
                         ((AutofillAddress) selectedShippingAddress).getProfile();
             }
-            if (mPaymentOptions.requestPayerName || mPaymentOptions.requestPayerPhone
-                    || mPaymentOptions.requestPayerEmail) {
+            if (mPaymentOptions.mRequestPayerName || mPaymentOptions.mRequestPayerPhone
+                    || mPaymentOptions.mRequestPayerEmail) {
                 EditableOption selectedContact =
                         mContactSection != null ? mContactSection.getSelectedItem() : null;
                 if (selectedContact != null) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialog.java
index 46cd8980..d137076 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialog.java
@@ -27,15 +27,17 @@
      * @param includeNames Whether the contacts data returned includes names.
      * @param includeEmails Whether the contacts data returned includes emails.
      * @param includeTel Whether the contacts data returned includes telephone numbers.
+     * @param formattedOrigin The origin the data will be shared with, formatted for display with
+     *                        the scheme omitted.
      */
     public ContactsPickerDialog(Context context, ContactsPickerListener listener,
-            boolean allowMultiple, boolean includeNames, boolean includeEmails,
-            boolean includeTel) {
+            boolean allowMultiple, boolean includeNames, boolean includeEmails, boolean includeTel,
+            String formattedOrigin) {
         super(context, R.style.FullscreenWhite);
 
         // Initialize the main content view.
         mCategoryView = new PickerCategoryView(
-                context, allowMultiple, includeNames, includeEmails, includeTel);
+                context, allowMultiple, includeNames, includeEmails, includeTel, formattedOrigin);
         mCategoryView.initialize(this, listener);
         setView(mCategoryView);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerToolbar.java
index 1bcdfcb..55d9e10 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerToolbar.java
@@ -44,6 +44,9 @@
     }
 
     @Override
+    protected void setNavigationButton(int navigationButton) {}
+
+    @Override
     protected void showSelectionView(
             List<ContactDetails> selectedItems, boolean wasSelectionEnabled) {
         switchToNumberRollView(selectedItems, wasSelectionEnabled);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java
index 29462be..f3b821a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java
@@ -63,6 +63,9 @@
     // The view at the top of the RecyclerView (disclaimer and select all functionality).
     private TopView mTopView;
 
+    // The origin the data will be shared with, formatted for display with the scheme omitted.
+    private final String mFormattedOrigin;
+
     // The content resolver to query data from.
     private ContentResolver mContentResolver;
 
@@ -85,10 +88,13 @@
      * The PickerAdapter constructor.
      * @param categoryView The category view to use to show the contacts.
      * @param contentResolver The content resolver to use to fetch the data.
+     * @param formattedOrigin The origin the data will be shared with.
      */
-    public PickerAdapter(PickerCategoryView categoryView, ContentResolver contentResolver) {
+    public PickerAdapter(PickerCategoryView categoryView, ContentResolver contentResolver,
+            String formattedOrigin) {
         mCategoryView = categoryView;
         mContentResolver = contentResolver;
+        mFormattedOrigin = formattedOrigin;
 
         if (getAllContacts() == null && sTestContacts == null) {
             mWorkerTask = new ContactsFetcherWorkerTask(mContentResolver, this,
@@ -167,6 +173,7 @@
             case ViewType.SELECT_ALL_CHECKBOX: {
                 mTopView = (TopView) LayoutInflater.from(parent.getContext())
                                    .inflate(R.layout.top_view, parent, false);
+                mTopView.setSiteString(mFormattedOrigin);
                 mTopView.registerSelectAllCallback(mCategoryView);
                 mTopView.updateCheckboxVisibility(mCategoryView.multiSelectionAllowed());
                 mCategoryView.setTopView(mTopView);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerCategoryView.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerCategoryView.java
index 466ad1a1..61b6105 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerCategoryView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerCategoryView.java
@@ -113,7 +113,8 @@
      */
     @SuppressWarnings("unchecked") // mSelectableListLayout
     public PickerCategoryView(Context context, boolean multiSelectionAllowed,
-            boolean shouldIncludeNames, boolean shouldIncludeEmails, boolean shouldIncludeTel) {
+            boolean shouldIncludeNames, boolean shouldIncludeEmails, boolean shouldIncludeTel,
+            String formattedOrigin) {
         super(context);
 
         mActivity = (ChromeActivity) context;
@@ -136,7 +137,7 @@
         mSelectableListLayout =
                 (SelectableListLayout<ContactDetails>) root.findViewById(R.id.selectable_list);
 
-        mPickerAdapter = new PickerAdapter(this, context.getContentResolver());
+        mPickerAdapter = new PickerAdapter(this, context.getContentResolver(), formattedOrigin);
         mRecyclerView = mSelectableListLayout.initializeRecyclerView(mPickerAdapter);
         int titleId = multiSelectionAllowed ? R.string.contacts_picker_select_contacts
                                             : R.string.contacts_picker_select_contact;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/TopView.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/TopView.java
index 15b3d2a..3b28ef2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/TopView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/TopView.java
@@ -31,6 +31,8 @@
         void onSelectAllToggled(boolean allSelected);
     }
 
+    private final Context mContext;
+
     // The container box for the checkbox and its label and contact count.
     private View mCheckboxContainer;
 
@@ -46,35 +48,45 @@
     // Whether to temporarily ignore clicks on the checkbox.
     private boolean mIgnoreCheck;
 
-    // The explanation string (explaining what is shared and with what site).
-    private String mSiteString;
-
     public TopView(Context context, AttributeSet attrs) {
         super(context, attrs);
-        // TODO(finnur): Plumb through the necessary data to show which website will be receiving
-        //               the contact data.
-        mSiteString = context.getString(R.string.disclaimer_sharing_contact_details, "foo.com");
+        mContext = context;
     }
 
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
 
-        mCheckboxContainer = findViewById(R.id.container);
+        mCheckboxContainer = findViewById(R.id.content);
         mSelectAllBox = findViewById(R.id.checkbox);
         mContactCount = findViewById(R.id.checkbox_details);
 
         TextView title = findViewById(R.id.checkbox_title);
         title.setText(R.string.contacts_picker_all_contacts);
-
-        TextView explanation = findViewById(R.id.explanation);
-        explanation.setText(mSiteString);
     }
 
+    /**
+     * Set the string explaining which site the dialog will be sharing the data with.
+     * @param origin The origin string to display.
+     */
+    public void setSiteString(String origin) {
+        String siteString = mContext.getString(R.string.disclaimer_sharing_contact_details, origin);
+        TextView explanation = findViewById(R.id.explanation);
+        explanation.setText(siteString);
+    }
+
+    /**
+     * Register a callback to use to notify that Select All was toggled.
+     * @param callback The callback to use.
+     */
     public void registerSelectAllCallback(SelectAllToggleCallback callback) {
         mSelectAllCallback = callback;
     }
 
+    /**
+     * Updates the visibility of the Select All checkbox.
+     * @param visible Whether the checkbox should be visible.
+     */
     public void updateCheckboxVisibility(boolean visible) {
         if (visible) {
             mSelectAllBox.setOnCheckedChangeListener(this);
@@ -83,10 +95,17 @@
         }
     }
 
+    /**
+     * Updates the total number of contacts found in the dialog.
+     * @param count The number of contacts found.
+     */
     public void updateContactCount(int count) {
         mContactCount.setText(NumberFormat.getInstance().format(count));
     }
 
+    /**
+     * Toggles the Select All checkbox.
+     */
     public void toggle() {
         mSelectAllBox.setChecked(!mSelectAllBox.isChecked());
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
index 06f93ed..29938e1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -232,9 +232,9 @@
             @Override
             public void showContactsPicker(Context context, ContactsPickerListener listener,
                     boolean allowMultiple, boolean includeNames, boolean includeEmails,
-                    boolean includeTel) {
-                mDialog = new ContactsPickerDialog(
-                        context, listener, allowMultiple, includeNames, includeEmails, includeTel);
+                    boolean includeTel, String formattedOrigin) {
+                mDialog = new ContactsPickerDialog(context, listener, allowMultiple, includeNames,
+                        includeEmails, includeTel, formattedOrigin);
                 mDialog.getWindow().getAttributes().windowAnimations =
                         R.style.PickerDialogAnimation;
                 mDialog.show();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java
index 66c0750..2a14c9a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java
@@ -99,7 +99,7 @@
         updateContentDescription(visible);
     }
 
-    public void updateImageResources() {
+    private void updateImageResources() {
         MenuButtonState buttonState = UpdateMenuItemHelper.getInstance().getUiState().buttonState;
         if (buttonState == null) return;
         @DrawableRes
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java
index eef6f48..fbd6c746d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java
@@ -79,6 +79,7 @@
 
     private NewTabPage mVisibleNtp;
 
+    private boolean mWasAppMenuUpdateBadgeShowing;
     /**
      * Constructs a ToolbarTablet object.
      * @param context The Context in which this View object is created.
@@ -468,12 +469,13 @@
             mForwardButton.setEnabled(false);
             mReloadButton.setEnabled(false);
             mLocationBar.getContainerView().setVisibility(View.INVISIBLE);
-            removeAppMenuUpdateBadge(false);
+            mWasAppMenuUpdateBadgeShowing = isShowingAppMenuUpdateBadge();
+            if (mWasAppMenuUpdateBadgeShowing) removeAppMenuUpdateBadge(false);
         } else {
             mIsInTabSwitcherMode = false;
             mLocationBar.getContainerView().setVisibility(View.VISIBLE);
 
-            showAppMenuUpdateBadge(false);
+            if (mWasAppMenuUpdateBadgeShowing) showAppMenuUpdateBadge(false);
         }
     }
 
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
index 2aafd2ef..f2a255fc 100644
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -4031,7 +4031,7 @@
         I accept
       </message>
       <message name="IDS_AUTOFILL_ASSISTANT_INIT_MESSAGE" desc="Onboarding message describing autofill assistant's capability.">
-        The Google Assistant saves you time by speeding you through the website's checkout.
+        Google Assistant saves you time by helping you check out on the web
       </message>
       <!-- Autofill Assistant preferences -->
       <message name="IDS_PREFS_AUTOFILL_ASSISTANT_TITLE" desc="Title for the Autofill Assistant preferences screen. [CHAR-LIMIT=32]">
@@ -4041,7 +4041,7 @@
         Assistant Triggered Checkout
       </message>
       <message name="IDS_AUTOFILL_ASSISTANT_GOOGLE_TERMS_DESCRIPTION" desc="Message linking to the Google terms and conditions for Google Assistant in Chrome.">
-        By continuing, you agree that Chrome will send data from Chrome Autofill, the site’s URL and its content to Google to provide this service. \n\nYou also agree that Chrome will send personal data you selected to the website via Chrome Autofill. Visit Chrome settings to turn off Google Assistant in Chrome and Chrome Autofill.  <ph name="BEGIN_LINK">&lt;link&gt;</ph>Learn more<ph name="END_LINK">&lt;/link&gt;</ph>
+        By continuing, you agree that Chrome will send data from Chrome Autofill, the site’s URL and its content to Google to provide this service. You also agree that Chrome will send personal data you selected to the website via Chrome Autofill. \n\nVisit Chrome settings to turn off Google Assistant in Chrome and Chrome Autofill.  <ph name="BEGIN_LINK">&lt;link&gt;</ph>Learn more<ph name="END_LINK">&lt;/link&gt;</ph>
       </message>
       <message name="IDS_AUTOFILL_ASSISTANT_GOOGLE_TERMS_URL" desc="URL for Google Autofill Assistant Terms of Service" translateable="false">
         http://support.google.com/assistant?p=fast_checkout
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
index eb609e5..77db82b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">የይለፍ ቃላትዎን ከዚህ መሣሪያ ወደ ውጭ ለመላክ በቅንብሮች ውስጥ የማያ ገጽ ቁልፍን ያብሩ</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> የውሂብ ቁጠባዎች</translation>
 <translation id="6165508094623778733">የበለጠ ለመረዳት</translation>
-<translation id="6171019622954353983">በመቀጠልዎ Chrome ይህን አገልግሎት ለማቅረብ ውሂብን ከChrome ራስ-ሙላ፣ ከጣቢያው ዩአርኤል እና ይዘቱ ወደ Google እንደሚልክ ተስማምተዋል።\n\nበChrome እና በChromeር ራስሙላ ውስጥ የGoogle ረዳትን ለማጥፋት የChrome ቅንብሮችን ይጎብኙ።  <ph name="BEGIN_LINK" />የበለጠ ለመረዳት<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">ለአሁኑ የፍለጋ ፕሮግራም ታግዷል</translation>
 <translation id="6177390657002841081">የውሂብ አስቀማጭን አብራ</translation>
 <translation id="6181444274883918285">ለየት ያለ ጣቢያን አክል</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
index b5fc812..3bda778 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
@@ -167,7 +167,7 @@
 <translation id="2154484045852737596">تعديل البطاقة</translation>
 <translation id="2154710561487035718">‏نسخ عنوان URL</translation>
 <translation id="2156074688469523661">المواقع المتبقية (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2197557662829090533">السماح "للرفاهية الرقمية" بعرض مواقع الويب التي زرتها.</translation>
+<translation id="2197557662829090533">السماح "للرفاهية الرقمية" بعرض مواقع الويب التي زرتها</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />، تطبيق ويب. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">متابعة باسم <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">‏يتم إرسال بعض معلومات النظام ومحتوى الصفحة إلى Google.</translation>
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">تشغيل قفل الشاشة في الإعدادات لتصدير كلمات المرور من هذا الجهاز</translation>
 <translation id="6159335304067198720">توفير البيانات بنسبة <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">مزيد من المعلومات</translation>
-<translation id="6171019622954353983">‏تشير المتابعة إلى موافقتك على إرسال Chrome بيانات من ميزة "الملء التلقائي" من Chrome وعنوان URL لموقعك الإلكتروني ومحتواه إلى Google لتوفير هذه الخدمة.\n\nيمكنك الانتقال إلى إعدادات Chrome لإيقاف "مساعد Google" على Chrome وميزة "الملء التلقائي" من Chrome.  <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">تم حظره لمحرك البحث الحالي</translation>
 <translation id="6177390657002841081">تشغيل إضافة "توفير البيانات"</translation>
 <translation id="6181444274883918285">إضافة موقع ويب إلى قائمة الاستثناءات</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
index 531a74f..6c20e564 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
@@ -692,7 +692,6 @@
 <translation id="6154478581116148741">Включете функцията за заключване на екрана от настройките, за да експортирате паролите си от това устройство</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> икономия на данни</translation>
 <translation id="6165508094623778733">Научете повече</translation>
-<translation id="6171019622954353983">С продължаването си приемате, че Chrome ще изпрати до Google данни от функцията си за автоматично попълване, URL адреса на сайта и съдържанието му, за да предостави тази услуга.\n\nОтворете настройките на браузъра, за да изключите Google Асистент в Chrome и автоматичното попълване.  <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Блокирано за текущата търсеща машина</translation>
 <translation id="6177390657002841081">Включване на Икономия на данни</translation>
 <translation id="6181444274883918285">Добавяне на изключение за сайт</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb
index fa90023..9b6c069a4 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_bn.xtb
@@ -693,7 +693,6 @@
 <translation id="6154478581116148741">এই ডিভাইস থেকে আপনার পাসওয়ার্ড এক্সপোর্ট করতে সেটিংসে স্ক্রিন লক চালু করুন</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> ডেটা সঞ্চয়</translation>
 <translation id="6165508094623778733">আরও জানুন</translation>
-<translation id="6171019622954353983">চালিয়ে যাওয়ার অর্থ, আপনি সম্মতি দিচ্ছেন যে এই পরিষেবাটি প্রদান করতে Chrome অটোফিল, সাইটের ইউআরএল এবং সাইটের কন্টেন্টের তথ্য Chrome-এর তরফে Google-কে দেওয়া হবে।\n\nChrome এবং Chrome অটোফিলে Google অ্যাসিস্ট্যান্ট বন্ধ করতে Chrome-এর সেটিংসে যান।  <ph name="BEGIN_LINK" />আরও জানুন<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">বর্তমান সার্চ ইঞ্জিনের জন্য অবরুদ্ধ করা হয়েছে</translation>
 <translation id="6177390657002841081">ডেটা সেভার চালু করুন</translation>
 <translation id="6181444274883918285">সাইটের ব্যতিক্রম যোগ করুন</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
index 8f516e5..2ca384b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Activa el bloqueig de pantalla a Configuració per exportar les teves contrasenyes d'aquest dispositiu</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> de reducció de dades</translation>
 <translation id="6165508094623778733">Més informació</translation>
-<translation id="6171019622954353983">En continuar, acceptes que Chrome enviï a Google dades d'Emplenament automàtic, així com l'URL i el contingut del lloc web per oferir aquest servei.\n\nPer desactivar l'Assistent de Google i la funció Emplenament automàtic a Chrome, ves a la configuració del navegador.  <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">S'ha bloquejat per al motor de cerca actual</translation>
 <translation id="6177390657002841081">Activa l'Economitzador de dades</translation>
 <translation id="6181444274883918285">Afegeix una excepció per a un lloc web</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
index eccc118..11daf3bd5 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Chcete-li z tohoto zařízení exportovat svá hesla, zapněte v Nastavení zámek obrazovky</translation>
 <translation id="6159335304067198720">Úspora dat: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Další informace</translation>
-<translation id="6171019622954353983">Pokračováním vyjadřujete souhlas s tím, že Chrome kvůli poskytování této služby bude data z Automatického vyplňování Chrome, adresu URL webu a jeho obsah odesílat do Googlu.\n\nChcete-li Asistenta Google v Chromu a automatické vyplňování Chrome vypnout, přejděte do nastavení Chromu.  <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Pro aktuální vyhledávač blokováno</translation>
 <translation id="6177390657002841081">Zapnutí Spořiče dat</translation>
 <translation id="6181444274883918285">Přidat výjimku pro konkrétní web</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
index cc0c1f4..95d41f19 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Aktivér skærmlåsen i Indstillinger for at eksportere dine adgangskoder fra denne enhed</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> sparet data</translation>
 <translation id="6165508094623778733">Flere oplysninger</translation>
-<translation id="6171019622954353983">Ved at fortsætte accepterer du, at Chrome sender data fra Chrome AutoFyld samt websitets adresse og indhold til Google for at levere denne tjeneste.\n\nGå til Chrome-indstillingerne for at deaktivere Google Assistent i Chrome og Chrome AutoFyld.  <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blokeret for den nuværende søgemaskine</translation>
 <translation id="6177390657002841081">Slå Datasparefunktion til</translation>
 <translation id="6181444274883918285">Tilføj en undtagelse for et website</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
index 58661f6..11bd076 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Aktivieren Sie die Displaysperre unter "Einstellungen", um Ihre Passwörter aus dem Gerät zu exportieren</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> Einsparungen bei der Datennutzung</translation>
 <translation id="6165508094623778733">Weitere Informationen</translation>
-<translation id="6171019622954353983">Wenn Sie fortfahren, erklären Sie sich damit einverstanden, dass Chrome Daten von AutoFill sowie die URL und die Inhalte der Website an Google sendet, um diesen Dienst anbieten zu können.\n\nIn den Chrome-Einstellungen können Sie Google Assistant für Chrome und AutoFill deaktivieren.  <ph name="BEGIN_LINK" />Weitere Informationen<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Für die aktuelle Suchmaschine blockiert</translation>
 <translation id="6177390657002841081">Datensparmodus aktivieren</translation>
 <translation id="6181444274883918285">Ausnahme für Website hinzufügen</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
index 12a38bbc..4d6457d 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Ενεργοποιήστε το κλείδωμα οθόνης στις Ρυθμίσεις, για να εξαγάγετε τους κωδικούς πρόσβασής σας από αυτήν τη συσκευή</translation>
 <translation id="6159335304067198720">Εξοικονόμηση δεδομένων κατά <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Μάθετε περισσότερα</translation>
-<translation id="6171019622954353983">Εάν συνεχίσετε, συμφωνείτε ότι το Chrome θα αποστέλλει δεδομένα από την Αυτόματη Συμπλήρωση Chrome, το URL του ιστοτόπου και το περιεχόμενό του στην Google για την παροχή αυτής της υπηρεσίας.\n\nΜεταβείτε στις ρυθμίσεις του Chrome για να απενεργοποιήσετε τον Βοηθό Google στο Chrome και την Αυτόματη Συμπλήρωση Chrome.  <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Αποκλείστηκε για την τρέχουσα μηχανή αναζήτησης</translation>
 <translation id="6177390657002841081">Ενεργοποίηση Εξοικονόμησης δεδομένων</translation>
 <translation id="6181444274883918285">Προσθήκη εξαίρεσης ιστότοπου</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
index 5e17245..48cf2be 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Turn on screen lock in Settings to export your passwords from this device</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> data savings</translation>
 <translation id="6165508094623778733">Learn more</translation>
-<translation id="6171019622954353983">By continuing, you agree that Chrome will send data from Chrome Auto-fill, the site’s URL and its content to Google to provide this service.\n\nVisit Chrome settings to turn off Google Assistant in Chrome and Chrome Auto-fill.  <ph name="BEGIN_LINK" />Learn more<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blocked for current search engine</translation>
 <translation id="6177390657002841081">Turn on Data Saver</translation>
 <translation id="6181444274883918285">Add site exception</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
index 6fac857b8..cb48139 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Para exportar tus contraseñas de este dispositivo, activa el bloqueo de pantalla en Configuración</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> de ahorro de datos</translation>
 <translation id="6165508094623778733">Más información</translation>
-<translation id="6171019622954353983">Si continúas, aceptas que Chrome envíe datos de "Autocompletar" de Chrome, la URL del sitio y su contenido a Google para proporcionar este servicio.\nPara desactivar el Asistente de Google en Chrome y "Autocompletar" de Chrome, ve a la configuración de Chrome.  <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Se bloqueó para el motor de búsqueda actual</translation>
 <translation id="6177390657002841081">Activar la extensión Ahorro de datos</translation>
 <translation id="6181444274883918285">Agregar excepción del sitio</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
index 1a738b9..2e13c47 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Activa el bloqueo de pantalla en Configuración para exportar las contraseñas de este dispositivo</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> de ahorro de datos</translation>
 <translation id="6165508094623778733">Más información</translation>
-<translation id="6171019622954353983">Si continúas, aceptas que, para ofrecer este servicio, Chrome envíe a Google datos recogidos con la función Autocompletar, la URL del sitio web y su contenido.\n\nVe a la configuración de Chrome para desactivar el Asistente de Google y la función Autocompletar en el navegador.  <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Bloqueado en el motor de búsqueda actual</translation>
 <translation id="6177390657002841081">Activar Ahorro de Datos</translation>
 <translation id="6181444274883918285">Añadir excepción de sitio web</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_et.xtb b/chrome/android/java/strings/translations/android_chrome_strings_et.xtb
index 5b7aaab..442a5e8 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_et.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_et.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Seadmes olevate paroolide eksportimiseks lülitage seadetes ekraanilukk sisse.</translation>
 <translation id="6159335304067198720">Andmemahu kokkuhoid: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Lisateave</translation>
-<translation id="6171019622954353983">Jätkates nõustute, et Chrome saadab selle teenuse osutamiseks Google’ile andmeid Chrome’i automaattäite, saidi URLi ja selle sisu kohta.\n\nGoogle’i assistendi väljalülitamiseks Chrome’is ja Chrome’i automaattäites avage Chrome’i seaded.  <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Praeguse otsingumootori puhul blokeeritud</translation>
 <translation id="6177390657002841081">Lülita andmemahu säästja sisse</translation>
 <translation id="6181444274883918285">Lisa saidi erand</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
index aa1cd3bc..3151704 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
@@ -690,7 +690,6 @@
 <translation id="6154478581116148741">برای صادر کردن گذرواژه‌ها از این دستگاه، قفل صفحه را در تنظیمات روشن کنید.</translation>
 <translation id="6159335304067198720">ذخیره داده‌ها: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">بیشتر بدانید</translation>
-<translation id="6171019622954353983">‏با ادامه دادن، موافقت می‌‌کنید Chrome برای ارائه این سرویس، داده‌های «تکمیل خودکار Chrome» ، نشانی وب سایت و محتوای آن را برای Google ارسال کند.\n\nبرای خاموش کردن «دستیار Google» در Chrome و «تکمیل خودکار Chrome»، به تنظیمات Chrome بروید.  <ph name="BEGIN_LINK" />بیشتر بدانید<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">برای موتور جستجوی فعلی مسدود شده است</translation>
 <translation id="6177390657002841081">روشن کردن «صرفه‌جویی در مصرف داده»</translation>
 <translation id="6181444274883918285">افزودن استثنای سایت</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
index 9947449..26f2a48 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Ota näytön lukitus käyttöön asetuksista viedäksesi salasanoja laitteelta.</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> vähemmän tiedonsiirtoa</translation>
 <translation id="6165508094623778733">Lisätietoja</translation>
-<translation id="6171019622954353983">Jatkamalla hyväksyt, että Chrome lähettää Googlelle Chromen automaattisen täytön dataa, sivuston URL-osoitteen ja sen sisällön palvelun tuottamiseksi.\n\nChromen asetuksissa voit poistaa Chromen automaattisen täytön käytöstä ja Google Assistantin käytöstä Chromessa.  <ph name="BEGIN_LINK" />Lue lisää<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Estetty nykyiseltä hakukoneelta</translation>
 <translation id="6177390657002841081">Ota Data Saver käyttöön</translation>
 <translation id="6181444274883918285">Lisää sivustopoikkeus</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
index f1decf5f..4d356949 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">I-on ang lock ng screen sa Mga Setting upang i-export ang iyong mga password mula sa device na ito</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> natipid sa data</translation>
 <translation id="6165508094623778733">Matuto pa</translation>
-<translation id="6171019622954353983">Kapag nagpatuloy, sumasang-ayon kang magpapadala ang Chrome ng data mula sa Autofill ng Chrome, URL ng site, at content ng site na ito sa Google para maibigay ang serbisyong ito.\n\nBisitahin ang mga setting ng Chrome para i-off ang Google Assistant sa Chrome at Autofill ng Chrome.  <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Naka-block para sa kasalukuyang search engine</translation>
 <translation id="6177390657002841081">I-on ang Data Saver</translation>
 <translation id="6181444274883918285">Magdagdag ng pagbubukod ng site</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
index 50db8d6..2928d9f 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Activez le verrouillage de l'écran dans les paramètres pour exporter vos mots de passe à partir de cet appareil</translation>
 <translation id="6159335304067198720">Économies de données de <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">En savoir plus</translation>
-<translation id="6171019622954353983">En continuant, vous autorisez Chrome à envoyer les données de la saisie automatique, l'URL du site ainsi que son contenu à Google afin que nous puissions fournir ce service.\n\nAccédez aux paramètres de Chrome pour désactiver la saisie automatique et l'Assistant Google dans Chrome.  <ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Bloqué pour le moteur de recherche actuel</translation>
 <translation id="6177390657002841081">Activer l'Économiseur de données</translation>
 <translation id="6181444274883918285">Ajouter une exception pour un site</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb
index c2919aca..f8952e0 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_gu.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">આ ઉપકરણ પરથી તમારા બધા પાસવર્ડને નિકાસ કરવા માટે સેટિંગમાંથી સ્ક્રીન લૉક ચાલુ કરો</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> ડેટા બચત</translation>
 <translation id="6165508094623778733">વધુ જાણો</translation>
-<translation id="6171019622954353983">આગળ વધીને, તમે સંમત થાઓ છો કે આ સેવા પૂરી પાડવા માટે, Chromeનો સ્વતઃભરણનો ડેટા, સાઇટની URL અને તેનું કન્ટેન્ટ Chrome, Googleને મોકલશે.\n\nChrome અને Chromeની સ્વતઃભરણની સુવિધામાં Google આસિસ્ટંટને બંધ કરવા માટે Chrome સેટિંગની મુલાકાત લો.  <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">હાલનાં શોધ એંજિન માટે અવરોધિત</translation>
 <translation id="6177390657002841081">ડેટા સેવર ચાલુ કરો</translation>
 <translation id="6181444274883918285">સાઇટ અપવાદ ઉમેરો</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
index 660717bc..9c8706c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">इस डिवाइस से अपने पासवर्ड निर्यात करने के लिए सेटिंग में स्क्रीन लॉक चालू करें</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> डेटा बचत</translation>
 <translation id="6165508094623778733">ज़्यादा जानें</translation>
-<translation id="6171019622954353983">जारी रखकर आप सहमति देते हैं कि यह सेवा देने के लिए Chrome, Chrome की अपने आप भरने की सुविधा (ऑटो फ़िल) से डेटा, साइट का यूआरएल, और इसकी सामग्री Google को भेजेगा.\n\nChrome में Google Assistant और Chrome की अपने आप भरने की सुविधा (ऑटो फ़िल) को बंद करने के लिए Chrome सेटिंग पर जाएं.  <ph name="BEGIN_LINK" />ज़्यादा जानें<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">अभी के खोज इंजन के लिए ब्लॉक किया गया</translation>
 <translation id="6177390657002841081">डेटा बचाने का साधन चालू करना</translation>
 <translation id="6181444274883918285">साइट का अपवाद जोड़ें</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
index 654df7c..26a97d27 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Uključite zaključavanje zaslona u postavkama da biste izvezli svoje zaporke s ovog uređaja</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> manji podatkovni promet</translation>
 <translation id="6165508094623778733">Saznajte više</translation>
-<translation id="6171019622954353983">Nastavljanjem prihvaćate da će Chrome poslati podatke Chromeovog automatskog popunjavanja, URL web-lokacije i njezin sadržaj Googleu radi pružanja ove usluge.\n\nU Chromeovim postavkama možete isključiti Google asistent u Chromeu i Chromeovo automatsko popunjavanje.  <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blokirano za trenutačnu tražilicu</translation>
 <translation id="6177390657002841081">Uključi uštedu podataka</translation>
 <translation id="6181444274883918285">Dodaj iznimku za web-lokaciju</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
index 3b8d241..c8d8113 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Kapcsolja be a képernyőzárat a Beállítások menüben, hogy exportálhassa az ezen az eszközön tárolt jelszavait</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" />-os adatmegtakarítás</translation>
 <translation id="6165508094623778733">További információ</translation>
-<translation id="6171019622954353983">A továbblépéssel elfogadja, hogy a szolgáltatás biztosításához a Chrome böngésző elküldi a Chrome Automatikus kitöltés adatait, valamint a webhely URL-jét és tartalmát a Google-nak.\n\nHa szeretné kikapcsolni a Google Segédet a Chrome-ban és a Chrome Automatikus kitöltés funkcióját, lépjen a Chrome beállításaiba.  <ph name="BEGIN_LINK" />További információ.<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Tiltott a jelenlegi keresőmotor számára</translation>
 <translation id="6177390657002841081">Az Adatforgalom-csökkentő bekapcsolása</translation>
 <translation id="6181444274883918285">Webhelykivétel hozzáadása</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
index 5efd2532..d729d9a 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Aktifkan kunci layar di Setelan untuk mengekspor sandi dari perangkat ini</translation>
 <translation id="6159335304067198720">Penghematan data <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Pelajari lebih lanjut</translation>
-<translation id="6171019622954353983">Dengan melanjutkan, Anda setuju bahwa Chrome akan mengirimkan data dari IsiOtomatis Chrome, URL situs, dan kontennya ke Google untuk menyediakan layanan ini.\n\nBuka setelan Chrome untuk menonaktifkan Asisten Google di Chrome dan IsiOtomatis Chrome.  <ph name="BEGIN_LINK" />Pelajari lebih lanjut<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Diblokir untuk mesin telusur yang sedang digunakan</translation>
 <translation id="6177390657002841081">Mengaktifkan Penghemat Kuota Internet</translation>
 <translation id="6181444274883918285">Tambahkan pengecualian situs</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
index 9a6c8d1..8242afd 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Attiva il blocco schermo in Impostazioni per esportare le tue password da questo dispositivo</translation>
 <translation id="6159335304067198720">Riduzioni dei dati: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Ulteriori informazioni</translation>
-<translation id="6171019622954353983">Se continui, accetti che Chrome invii a Google dati di Compilazione automatica di Chrome, l'URL e i contenuti del sito per fornire questo servizio.\n\nAccedi alle impostazioni di Chrome per disattivare l'Assistente Google in Chrome e la Compilazione automatica di Chrome.  <ph name="BEGIN_LINK" />Ulteriori informazioni<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Bloccata per il motore di ricerca corrente</translation>
 <translation id="6177390657002841081">Attiva Risparmio dati</translation>
 <translation id="6181444274883918285">Aggiungi eccezione per un sito</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
index bb85cf1..9cdf457 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">יש להפעיל נעילת מסך ב'הגדרות' כדי לייצא את הסיסמאות מהמכשיר הזה</translation>
 <translation id="6159335304067198720">חיסכון בצריכת נתונים בשיעור של <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">למידע נוסף</translation>
-<translation id="6171019622954353983">‏המשך מבטא את הסכמתך לכך שכדי לספק את השירות הזה, Chrome ישלח ל-Google נתונים מהמילוי האוטומטי של Chrome, את כתובת ה-URL של האתר ואת התוכן שלו.\n\nדרך הגדרות Chrome אפשר להשבית את Google Assistant ב-Chrome ובמילוי האוטומטי של Chrome.  <ph name="BEGIN_LINK" />מידע נוסף<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">חסוּם למנוע החיפוש הנוכחי</translation>
 <translation id="6177390657002841081">‏הפעלת Data Saver</translation>
 <translation id="6181444274883918285">הוסף חריג של אתר</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
index 4e521ff..abbffde 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
@@ -386,7 +386,7 @@
 <translation id="3950820424414687140">ログイン</translation>
 <translation id="395206256282351086">検索とサイトの候補の表示が無効</translation>
 <translation id="3955193568934677022">保護されたコンテンツの再生をサイトに許可する(推奨)</translation>
-<translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{準備が完了すると Chrome でページが読み込まれます}other{準備が完了すると Chrome でページが読み込まれます}}</translation>
+<translation id="396192773038029076">{NUM_IN_PROGRESS,plural, =1{準備ができると Chrome でページが読み込まれます}other{準備ができると Chrome でページが読み込まれます}}</translation>
 <translation id="3963007978381181125">パスフレーズ暗号化の対象に Google Pay のお支払い方法と住所は含まれません。パスフレーズを知っているユーザーだけが暗号化データを読み取ることができます。パスフレーズが Google に送信されたり Google で保存されたりすることはありません。パスフレーズを忘れた場合や、この設定を変更する場合は、同期をリセットする必要があります。<ph name="BEGIN_LINK" />詳細<ph name="END_LINK" /></translation>
 <translation id="3967822245660637423">ダウンロード完了</translation>
 <translation id="397583555483684758">同期は停止されました</translation>
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">この端末からパスワードをエクスポートするには、[設定] で画面ロックをオンにしてください。</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> のデータを削減</translation>
 <translation id="6165508094623778733">詳細</translation>
-<translation id="6171019622954353983">続行すると、本サービスの提供にあたって Chrome の自動入力のデータ、サイトの URL、サイトのコンテンツを Google に送信することに同意したものとみなされます。\n\nChrome の Google アシスタントと自動入力をオフにするには、Chrome の設定にアクセスしてください。<ph name="BEGIN_LINK" />詳細<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">現在の検索エンジンに対してはブロック</translation>
 <translation id="6177390657002841081">データセーバーをオンにする</translation>
 <translation id="6181444274883918285">サイトの例外を追加</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_kn.xtb b/chrome/android/java/strings/translations/android_chrome_strings_kn.xtb
index 41f9d57..d71f9c9 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_kn.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_kn.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">ಈ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಂದ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ರಫ್ತುಮಾಡಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಆನ್ ಮಾಡಿ</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> ಡೇಟಾ ಉಳಿತಾಯಗಳು</translation>
 <translation id="6165508094623778733">ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ</translation>
-<translation id="6171019622954353983">ಮುಂದುವರಿಯುವ ಮೂಲಕ, Chrome ಈ ಸೇವೆಯನ್ನು ಒದಗಿಸಲು, Chrome ಸ್ವಯಂ ಭರ್ತಿ, ನಿರ್ದಿಷ್ಟ ಸೈಟ್‌ನ URL ಮತ್ತು ಆ ಸೈಟ್‌ನ ವಿಷಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾವನ್ನು Google ಗೆ ಕಳುಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ಒಪ್ಪುತ್ತೀರಿ.\n\nChrome ಸ್ವಯಂ ಭರ್ತಿ ಮತ್ತು Chrome ನಲ್ಲಿನ Google ಅಸಿಸ್ಟೆಂಟ್ ಅನ್ನು ಆಫ್‌ ಮಾಡಲು Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಭೇಟಿ ನೀಡಿ.  <ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">ಪ್ರಸ್ತುತ ಹುಡುಕಾಟ ಎಂಜಿನ್‌ಗೆ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="6177390657002841081">ಡೇಟಾ ಉಳಿಸುವಿಕೆ ಆನ್ ಮಾಡಿ</translation>
 <translation id="6181444274883918285">ಸೈಟ್ ವಿನಾಯಿತಿಯನ್ನು ಸೇರಿಸಿ</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
index 4149113..936b2e635 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">이 기기에서 비밀번호를 내보내려면 설정에서 화면 잠금을 사용 설정하세요</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> 데이터 절약</translation>
 <translation id="6165508094623778733">자세히 알아보기</translation>
-<translation id="6171019622954353983">계속하면 Chrome에서 Chrome 자동 완성 데이터, 사이트의 URL, 콘텐츠를 Google에 전송하여 서비스를 제공하는 것에 동의하는 것으로 간주됩니다.\n\nChrome 및 Chrome 자동 완성에서 Google 어시스턴트를 사용 중지하려면 Chrome 설정으로 이동하세요.  <ph name="BEGIN_LINK" />자세히 알아보기<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">현재 검색 엔진에는 허용되지 않음</translation>
 <translation id="6177390657002841081">데이터 세이버 사용 설정</translation>
 <translation id="6181444274883918285">사이트 예외 추가</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
index da91bbb6..0de33ac 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Norėdami iš šio įrenginio eksportuoti slaptažodžius, nustatymuose įjunkite ekrano užraktą</translation>
 <translation id="6159335304067198720">Sutaupyta duomenų: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Sužinokite daugiau</translation>
-<translation id="6171019622954353983">Tęsdami sutinkate, kad „Chrome“ siųs „Chrome“ automatinio pildymo funkcijos, svetainių URL ir jų turinio duomenis sistemai „Google“, kad galėtų teikti minėtas paslaugas.\n\nJei norite išjungti „Google“ padėjėją naršyklėje „Chrome“ ir „Chrome“ automatinio pildymo funkcijoje, apsilankykite „Chrome“ skiltyje „Nustatymai“.  <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Užblokuota dabartiniam paieškos varikliui</translation>
 <translation id="6177390657002841081">Duomenų taupymo priemonės įjungimas</translation>
 <translation id="6181444274883918285">Pridėti svetainės išimtį</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
index 0fd693a..c769e29 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Lai eksportētu paroles no šīs ierīces, sadaļā “Iestatījumi” ieslēdziet ekrāna bloķēšanu.</translation>
 <translation id="6159335304067198720">Datu lietojuma samazinājums: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Uzziniet vairāk</translation>
-<translation id="6171019622954353983">Turpinot jūs piekrītat, ka Chrome sūtīs datus no Chrome automātiskās aizpildes funkcijas, vietnes vietrādi URL un tās saturu Google serveriem, lai nodrošinātu šo pakalpojumu.\n\nPārejiet uz Chrome iestatījumiem, lai izslēgtu Google asistentu pārlūkprogrammā Chrome un Chrome automātiskās aizpildes funkciju.  <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation>
 <translation id="6177111841848151710">Bloķēta pašreizējai meklētājprogrammai</translation>
 <translation id="6177390657002841081">Ieslēgt Datu lietojuma samazinātāju</translation>
 <translation id="6181444274883918285">Pievienot vietnes izņēmumu</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ml.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ml.xtb
index e91843b..233ea83 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ml.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ml.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">ഈ ഉപകരണത്തിൽ നിന്ന് നിങ്ങളുടെ പാസ്‌വേഡുകൾ എക്‌സ്‌പോർട്ട് ചെയ്യാൻ ക്രമീകരണത്തിൽ സ്‌ക്രീൻ ലോക്ക് ഓണാക്കുക</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> ഡാറ്റ ലാഭിക്കൽ</translation>
 <translation id="6165508094623778733">കൂടുതലറിയുക</translation>
-<translation id="6171019622954353983">തുടരുന്നതിലൂടെ, ഈ സേവനം നൽകാൻ Chrome സ്വമേധയാ പൂരിപ്പിക്കലിൽ നിന്നുള്ള ഡാറ്റ, സൈറ്റിൻ്റെ URL, അതിൻ്റെ ഉള്ളടക്കം എന്നിവ Chrome, Google-ലേക്ക് അയയ്ക്കുമെന്നത് നിങ്ങൾ അംഗീകരിക്കുന്നു.\n\nChrome-ലെയും Chrome സ്വമേധയാ പൂരിപ്പിക്കലിലെയും Google അസിസ്‌റ്റൻ്റ് ഓഫാക്കാൻ, Chrome ക്രമീകരണം സന്ദർശിക്കുക.  <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">നിലവിലെ തിരയൽ എഞ്ചിനിൽ ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു</translation>
 <translation id="6177390657002841081">ഡാറ്റ സേവർ ഓണാക്കുക</translation>
 <translation id="6181444274883918285">സൈറ്റിനെ ഒഴിവാക്കൽ ലിസ്‌റ്റിൽ ചേർക്കുക</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_mr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_mr.xtb
index 16fe7c3..6e65762 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_mr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_mr.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">तुमचे पासवर्ड या डिव्हाइसवरून एक्सपोर्ट करण्यासाठी सेटिंग्जमधील लॉक स्क्रीन चालू करा</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> डेटा बचत</translation>
 <translation id="6165508094623778733">अधिक जाणून घ्या</translation>
-<translation id="6171019622954353983">सुरू ठेऊन, तुम्ही सहमती दर्शवता की, Chrome ही सेवा देण्यासाठी Chrome ऑटोफिल, साइटची URL आणि त्याच्या Google वरील आशयावरून डेटा पाठवेल.\n\nChrome आणि Chrome ऑटोफिलमधील Google असिस्टंट बंद करण्यासाठी Chrome सेटिंग्जला भेट द्या.  <ph name="BEGIN_LINK" />अधिक जाणून घ्या<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">वर्तमान शोध इंजिनसाठी अवरोधित केले</translation>
 <translation id="6177390657002841081">डेटा बचतकर्ता चालू करा</translation>
 <translation id="6181444274883918285">साइट एक्सेप्शन जोडा</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ms.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ms.xtb
index 31115c1..2658f14 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ms.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ms.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Hidupkan kunci skrin dalam Tetapan untuk mengeksport kata laluan anda daripada peranti ini</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> penjimatan data</translation>
 <translation id="6165508094623778733">Ketahui lebih lanjut</translation>
-<translation id="6171019622954353983">Dengan meneruskan, anda bersetuju bahawa Chrome akan menghantar data daripada Autolengkap Chrome, URL tapak dan kandungannya kepada Google untuk menyediakan perkhidmatan ini .\n\nLawati tetapan Chrome untuk mematikan Google Assistant dalam Chrome dan Autolengkap Chrome.  <ph name="BEGIN_LINK" />Ketahui lebih lanjut<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Disekat untuk enjin carian semasa</translation>
 <translation id="6177390657002841081">Hidupkan Penjimat Data</translation>
 <translation id="6181444274883918285">Tambah pengecualian tapak</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
index 0fc73ea..15170da 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Schakel schermvergrendeling in via Instellingen om je wachtwoorden te exporteren vanaf dit apparaat</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> besparing van data</translation>
 <translation id="6165508094623778733">Meer informatie</translation>
-<translation id="6171019622954353983">Als je doorgaat, ga je ermee akkoord dat Chrome gegevens van 'Automatisch aanvullen' van Chrome, de URL van de site en de bijbehorende content naar Google verzendt om deze service te leveren.\n\nGa naar de instellingen van Chrome om de Google Assistent uit te schakelen in Chrome en 'Automatisch aanvullen' van Chrome.  <ph name="BEGIN_LINK" />Meer informatie<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Geblokkeerd voor de huidige zoekmachine</translation>
 <translation id="6177390657002841081">Databesparing inschakelen</translation>
 <translation id="6181444274883918285">Site-uitzondering toevoegen</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
index e7329ba0..b5dd2c08 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Slå på skjermlåsen i Innstillinger for å eksportere passordene dine fra denne enheten</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> datasparing</translation>
 <translation id="6165508094623778733">Finn ut mer</translation>
-<translation id="6171019622954353983">Hvis du fortsetter, godtar du at Chrome sender data fra Chrome autofyll samt nettstedets nettadresse og innhold til Google, slik at vi kan levere denne tjenesten.\n\nDu kan gå til Chrome-innstillingene for å slå av Google-assistenten i Chrome og Chrome autofyll.  <ph name="BEGIN_LINK" />Finn ut mer<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blokkert for den aktive søkemotoren</translation>
 <translation id="6177390657002841081">Slå på Datasparing</translation>
 <translation id="6181444274883918285">Legg til et nettsted som unntak</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
index f05eadf..3a8a91a5 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Włącz blokadę ekranu w ustawieniach, by wyeksportować hasła z urządzenia</translation>
 <translation id="6159335304067198720">Oszczędność danych: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Więcej informacji</translation>
-<translation id="6171019622954353983">Przechodząc dalej, zgadzasz się, by w ramach tej usługi Chrome wysyłał do Google dane z Autouzupełniania, a także URL i zawartość strony.\n\nAutouzupełnianie i Asystenta Google możesz wyłączyć w ustawieniach Chrome.  <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Zablokowano dostęp obecnej wyszukiwarce</translation>
 <translation id="6177390657002841081">Włącz Oszczędzanie danych</translation>
 <translation id="6181444274883918285">Dodaj witrynę do wyjątków</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
index c95b05f..e179f61 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Ative o bloqueio da tela em Configurações para exportar suas senhas deste dispositivo</translation>
 <translation id="6159335304067198720">Economia de dados de <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Saiba mais</translation>
-<translation id="6171019622954353983">Ao continuar, você concorda que os dados do "Preenchimento automático" do Chrome, assim como o URL e o conteúdo do site, sejam enviados para o Google com o objetivo de fornecer este serviço.\n\nAcesse as configurações do Chrome para desativar o Google Assistente e o "Preenchimento automático" no Chrome.  <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Bloqueado para o mecanismo de pesquisa atual</translation>
 <translation id="6177390657002841081">Ativar a Economia de dados</translation>
 <translation id="6181444274883918285">Adicionar site às exceções</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
index dbf61fbf..c1fa0a2b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Ative o bloqueio de ecrã nas Definições para exportar as suas palavras-passe a partir deste dispositivo.</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> de poupança de dados</translation>
 <translation id="6165508094623778733">Saiba mais</translation>
-<translation id="6171019622954353983">Ao continuar, aceita que o Chrome envie dados do Preenchimento automático do Chrome, do URL do site e respetivo conteúdo à Google para fornecer este serviço.\nAceda às definições do Chrome para desativar o Assistente Google no Chrome e no Preenchimento automático do Chrome.  <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Bloqueado para o motor de pesquisa atual</translation>
 <translation id="6177390657002841081">Ativar a Poupança de dados</translation>
 <translation id="6181444274883918285">Adicionar exceção de site</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
index c44093a..a589dc0a 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Pentru a-ți exporta parolele de pe acest dispozitiv, activează blocarea ecranului în Setări.</translation>
 <translation id="6159335304067198720">Economie de date de <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Află mai multe</translation>
-<translation id="6171019622954353983">Continuând, ești de acord că din Chrome se vor trimite date din completarea automată din Chrome, adresa URL a site-ului și conținutul său la Google pentru a oferi acest serviciu.\n\nAccesează setările Chrome pentru a dezactiva Asistentul Google în Chrome și în completarea automată Chrome.  <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blocată pentru motorul de căutare actual</translation>
 <translation id="6177390657002841081">Activează Economizorul de date</translation>
 <translation id="6181444274883918285">Adaugă o excepție privind site-urile</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
index 9b326c0..558aa10 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Чтобы экспортировать пароли с этого устройства, включите блокировку экрана в настройках.</translation>
 <translation id="6159335304067198720">Сжатие данных: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Подробнее...</translation>
-<translation id="6171019622954353983">Продолжая, вы разрешаете Chrome отправлять в Google данные автозаполнения, а также URL и контент сайта.\n\nОтключить Google Ассистента и функцию автозаполнения можно в любое время в настройках Chrome.  <ph name="BEGIN_LINK" />Подробнее…<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Закрыт доступ для текущей поисковой системы</translation>
 <translation id="6177390657002841081">Включить режим экономии трафика</translation>
 <translation id="6181444274883918285">Добавить исключение</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
index a61e05ca..e82a48ad 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Ak chcete exportovať heslá z tohto zariadenia, zapnite v Nastaveniach zámku obrazovky</translation>
 <translation id="6159335304067198720">Úspora dát: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Ďalšie informácie</translation>
-<translation id="6171019622954353983">Pokračovaním vyjadrujete súhlas s tým, že Chrome odošle údaje z automatického dopĺňania Chromu, adresu webu a jeho obsah Googlu a umožní tým poskytovanie tejto služby.\n\nPrejdite do nastavení Chromu, kde môžete vypnúť Asistenta Google a automatické dopĺňanie Chromu.  <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blokované v aktuálnom vyhľadávači</translation>
 <translation id="6177390657002841081">Zapnúť Šetrič dát</translation>
 <translation id="6181444274883918285">Pridať výnimku pre web</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
index 5613922..9243ba8 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
@@ -690,7 +690,6 @@
 <translation id="6154478581116148741">Vklopite zaklepanje zaslona v nastavitvah, če želite izvoziti gesla iz te naprave.</translation>
 <translation id="6159335304067198720">Prihranek pri prenosu podatkov: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Več o tem</translation>
-<translation id="6171019622954353983">Če nadaljujete, se strinjate, da Chrome zaradi zagotavljanja te storitve Googlu pošilja podatke samodejnega izpolnjevanja za Chrome, URL spletnega mesta in njegovo vsebino.\n\nObiščite nastavitve za Chrome, če želite izklopiti Pomočnika Google v Chromu in samodejnem izpolnjevanju za Chrome.  <ph name="BEGIN_LINK" />Več o tem<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blokirano za trenutni iskalnik</translation>
 <translation id="6177390657002841081">Vklop varčevanja s podatki</translation>
 <translation id="6181444274883918285">Dodaj izjemo za spletno mesto</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
index 30df7ad..7a97d3c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
@@ -675,7 +675,7 @@
 <translation id="6005538289190791541">Предложена лозинка</translation>
 <translation id="6039379616847168523">Прелазак на следећу картицу</translation>
 <translation id="6040143037577758943">Затвори</translation>
-<translation id="6042308850641462728">Још</translation>
+<translation id="6042308850641462728">Више</translation>
 <translation id="604996488070107836">Преузимање датотеке <ph name="FILE_NAME" /> није успело због непознате грешке.</translation>
 <translation id="605721222689873409">ГГ</translation>
 <translation id="6075798973483050474">Измените почетну страницу</translation>
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Укључите закључавање екрана у Подешавањима да бисте извезли лозинке са уређаја</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> уштеде података</translation>
 <translation id="6165508094623778733">Сазнајте више</translation>
-<translation id="6171019622954353983">Ако наставите, прихватате да Chrome Google-у шаље податке из Chrome аутоматског попуњавања, URL сајта и његов садржај да би пружао ову услугу.\n\nПосетите подешавања Chrome-а да бисте искључили Google помоћник у Chrome-у и Chrome аутоматско попуњавање.  <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Блокирано је за актуелни претраживач</translation>
 <translation id="6177390657002841081">Укључи Уштеду података</translation>
 <translation id="6181444274883918285">Додај изузетак за сајтове</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
index 03b853e..c134f58 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Aktivera ett skärmlås i inställningarna om du vill exportera lösenord från den här enheten.</translation>
 <translation id="6159335304067198720">Sparat utrymme: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Läs mer</translation>
-<translation id="6171019622954353983">Genom att fortsätta godkänner du att Chrome skickar webbplatsens webbadress och innehåll samt data från Chrome Autofyll till Google för att tillhandahålla tjänsten.\n\nÖppna inställningarna för Chrome om du vill inaktivera Google-assistenten i Chrome och Chrome Autofyll.  <ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Blockerad för den nuvarande sökmotorn</translation>
 <translation id="6177390657002841081">Aktivera Databesparing</translation>
 <translation id="6181444274883918285">Lägg till en webbplats i undantagen</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
index e6edb81..8cc21726 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Washa kipengele cha kufunga skrini katika Mipangilio ili uhamishe manenosiri yako kutoka kwenye kifaa hiki</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> ya data imeokolewa</translation>
 <translation id="6165508094623778733">Pata maelezo zaidi</translation>
-<translation id="6171019622954353983">Kwa kuendelea, unakubali kwamba Chrome itatuma data kutoka kipengele cha Chrome cha Kujaza Kiotomatiki, URL ya tovuti na maudhui yake kwa Google ili kutoa huduma hii.\n\nTembelea mipangilio ya Chrome ili uzime programu ya Mratibu wa Google katika Chrome na kipengele cha Chrome cha Kujaza Kiotomatiki.  <ph name="BEGIN_LINK" />Pata maelezo zaidi<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Haijaruhusiwa kwa mtambo wa sasa wa kutafuta</translation>
 <translation id="6177390657002841081">Washa Kiokoa Data</translation>
 <translation id="6181444274883918285">Ongeza tovuti mpya kwenye orodha ya vighairi</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb
index b756a33..c132938 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ta.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">இந்தச் சாதனத்திலிருந்து உங்கள் கடவுச்சொற்களை ஏற்ற, அமைப்புகளில் திரைப் பூட்டை இயக்கவும்</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> தரவுச் சேமிப்புகள்</translation>
 <translation id="6165508094623778733">மேலும் அறிக</translation>
-<translation id="6171019622954353983">தொடர்வதன் மூலம், Chrome இந்தச் சேவையை வழங்குவதற்காக ‘Chrome தன்னிரப்பி’ அம்சத்தின் தரவு, தளத்தின் URL, அதன் உள்ளடக்கம் போன்றவற்றை Googleளுக்கு அனுப்பும் என்பதை ஏற்கிறீர்கள்.\n\n‘Chromeமில் Google அசிஸ்டண்ட்’, 'Chrome தன்னிரப்பி’ அம்சம் ஆகியவற்றை முடக்க Chrome அமைப்புகளைப் பார்க்கவும்.  <ph name="BEGIN_LINK" />மேலும் அறிக<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">நடப்புத் தேடல் இன்ஜினுக்குத் தடுக்கப்பட்டுள்ளது</translation>
 <translation id="6177390657002841081">டேட்டா சேமிப்பானை இயக்கு</translation>
 <translation id="6181444274883918285">தள விதிவிலக்கைச் சேர்</translation>
@@ -927,7 +926,7 @@
 <translation id="784934925303690534">நேர வரம்பு</translation>
 <translation id="7851858861565204677">பிற சாதனங்கள்</translation>
 <translation id="7854964836418414587">‘இது போன்று மேலும்’ பரிந்துரைகள் மூடப்படும்</translation>
-<translation id="7871791972254842204"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> டொமைனில் பின்னர் விதிமுறைகள் &amp; நிபந்தனைகளைப் படித்து, ஏற்கிறேன்</translation>
+<translation id="7871791972254842204"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> டொமைனில் விதிமுறைகள் &amp; நிபந்தனைகளைப் பின்னர் படித்து, ஏற்கிறேன்</translation>
 <translation id="7875915731392087153">மின்னஞ்சலை உருவாக்கவும்</translation>
 <translation id="7876243839304621966">அனைத்தையும் அகற்று</translation>
 <translation id="7882131421121961860">வரலாறு எதுவுமில்லை</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_te.xtb b/chrome/android/java/strings/translations/android_chrome_strings_te.xtb
index ab74f39..6dc6dad 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_te.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_te.xtb
@@ -84,14 +84,14 @@
 <translation id="1569387923882100876">కనెక్ట్ చేసిన డివైజ్</translation>
 <translation id="1571304935088121812">వినియోగదారు పేరును కాపీ చేస్తుంది</translation>
 <translation id="1576370611341449972">డౌన్‌లోడ్ Wi-Fiలో మాత్రమే జరుగుతుంది</translation>
-<translation id="1612196535745283361">పరికరాల కోసం స్కాన్ చేయడానికి Chromeకు స్థాన ప్రాప్యత అవసరం. స్థాన ప్రాప్యత <ph name="BEGIN_LINK" />ఈ పరికరానికి ఆఫ్ చేయబడింది<ph name="END_LINK" />.</translation>
+<translation id="1612196535745283361">పరికరాల కోసం స్కాన్ చేయడానికి Chromeకు స్థాన యాక్సెస్ అవసరం. స్థాన యాక్సెస్ <ph name="BEGIN_LINK" />ఈ పరికరానికి ఆఫ్ చేయబడింది<ph name="END_LINK" />.</translation>
 <translation id="1620510694547887537">కెమెరా</translation>
 <translation id="1623104350909869708">ఈ పేజీని అదనపు డైలాగ్‌లు సృష్టించనీయకుండా నిరోధించు</translation>
 <translation id="1628019612362412531">{NUM_SELECTED,plural, =1{ఎంచుకోబడిన 1 అంశాన్ని తీసివేస్తుంది}other{ఎంచుకోబడిన # అంశాలను తీసివేస్తుంది}}</translation>
 <translation id="1641113438599504367">సురక్షిత బ్రౌజింగ్</translation>
 <translation id="164269334534774161">మీరు <ph name="CREATION_TIME" /> నుండి ఈ పేజీ ఆఫ్‌లైన్ కాపీని వీక్షిస్తున్నారు</translation>
 <translation id="1644574205037202324">చరిత్ర</translation>
-<translation id="1647391597548383849">మీ కెమెరా ప్రాప్యత అనుమతి</translation>
+<translation id="1647391597548383849">మీ కెమెరా యాక్సెస్ అనుమతి</translation>
 <translation id="1660204651932907780">ధ్వనిని ప్లే చేయడానికి సైట్‌లను అనుమతించండి (సిఫార్సు చేయబడింది)</translation>
 <translation id="1670399744444387456">ప్రాథమికం</translation>
 <translation id="1671236975893690980">డౌన్‌లోడ్ పెండింగ్‌లో ఉంది…</translation>
@@ -116,7 +116,7 @@
 <translation id="1868024384445905608">Chrome ఇప్పుడు ఫైల్‌లను మరింత వేగంగా డౌన్‌లోడ్ చేస్తుంది</translation>
 <translation id="1880072593381090678">Chrome నుండి జనాదరణ పొందిన పేజీలు</translation>
 <translation id="1883903952484604915">నా ఫైల్‌లు</translation>
-<translation id="1887786770086287077">ఈ పరికరానికి స్థానం యాక్సెస్ ఆఫ్ చేయబడింది. దీనిని <ph name="BEGIN_LINK" />Android సెట్టింగ్‌లు<ph name="END_LINK" />లో తిరిగి ఆన్ చేయండి.</translation>
+<translation id="1887786770086287077">ఈ పరికరానికి స్థానం యాక్సెస్ ఆఫ్ చేయబడింది. దీనిని <ph name="BEGIN_LINK" />Android సెట్టింగ్‌ల<ph name="END_LINK" />లో తిరిగి ఆన్ చేయండి.</translation>
 <translation id="1891331835972267886"><ph name="APP_NAME" />లో తెరవబడుతుంది. కొనసాగించడం ద్వారా మీరు Chrome <ph name="BEGIN_LINK1" />సేవా నిబంధనలు<ph name="END_LINK1" /> మరియు <ph name="BEGIN_LINK2" />గోప్యతా నోటీసు<ph name="END_LINK2" />కి అంగీకరిస్తున్నారు.</translation>
 <translation id="189172778771606813">నావిగేషన్ డ్రాయర్‌ను మూసివేయి</translation>
 <translation id="1919345977826869612">ప్రకటనలు</translation>
@@ -197,7 +197,7 @@
 <translation id="2426805022920575512">మరొక ఖాతాను ఎంచుకోండి</translation>
 <translation id="2433507940547922241">కనిపించే తీరు</translation>
 <translation id="2434158240863470628">డౌన్‌లోడ్ పూర్తయింది <ph name="SEPARATOR" /> <ph name="BYTES_DOWNLOADED" /></translation>
-<translation id="2440823041667407902">స్థాన ప్రాప్యత</translation>
+<translation id="2440823041667407902">స్థాన యాక్సెస్</translation>
 <translation id="2450083983707403292">మీరు <ph name="FILE_NAME" /> డౌన్‌లోడ్‌ని మళ్లీ ప్రారంభించాలనుకుంటున్నారా?</translation>
 <translation id="2476578072172137802">సైట్ సెట్టింగ్‌లు</translation>
 <translation id="2482878487686419369">ప్రకటనలు</translation>
@@ -257,7 +257,7 @@
 <translation id="2891154217021530873">పేజీ లోడ్ కాకుండా ఆపివేయండి</translation>
 <translation id="2893180576842394309">శోధన, ఇతర Google సేవలను వ్యక్తిగతీకరించడానికి Google మీ చరిత్రను ఉపయోగించే అవకాశం ఉంటుంది</translation>
 <translation id="2900528713135656174">ఈవెంట్‌ను సృష్టించండి</translation>
-<translation id="2902702728133930130">Chrome ప్రారంభ సమయంలో ఊహించని లోపంతో విఫలమైంది.</translation>
+<translation id="2902702728133930130">ప్రారంభ సమయంలో ఊహించని ఎర్రర్ వల్ల, Chrome విఫలమైంది.</translation>
 <translation id="290376772003165898">పేజీ <ph name="LANGUAGE" />లో లేదా?</translation>
 <translation id="290908127926267163">Google మీరు నొక్కే పదాలను, వాటి చుట్టూ ఉండే వచనాన్ని ఉపయోగించి ఫలితాలను అందించే అవకాశం ఉంటుంది</translation>
 <translation id="2910701580606108292">సైట్‌లు రక్షిత కంటెంట్‌ను ప్లే చేయడానికి ముందు అనుమతి కోసం అడుగుతాయి</translation>
@@ -353,7 +353,7 @@
 <translation id="363596933471559332">నిల్వ చేసిన ఆధారాలను ఉపయోగించి ఆటోమేటిక్‌గా వెబ్‌సైట్‌లకు సైన్ ఇన్ చేయండి. లక్షణం ఆఫ్ చేయబడినప్పుడు, మీరు వెబ్‌సైట్‌కు సైన్ ఇన్ చేసే ప్రతిసారి ధృవీకరణ కోసం మిమ్మల్ని అడుగుతుంది.</translation>
 <translation id="3658159451045945436">రీసెట్ చేసినట్లయితే, సందర్శించిన సైట్‌ల జాబితాతో పాటు మీ డేటా ఆదాల చరిత్ర తొలగించబడుతుంది.</translation>
 <translation id="3662546969139119822">ఇక్కడ చరిత్ర లేదు</translation>
-<translation id="3672452749423051839">నావిగేషన్ లోపం సూచనలు</translation>
+<translation id="3672452749423051839">నావిగేషన్ ఎర్రర్ సూచనలు</translation>
 <translation id="3692944402865947621">నిల్వ స్థానాన్ని చేరుకోలేకపోయిన కారణంగా <ph name="FILE_NAME" /> డౌన్‌లోడ్ విఫలమైంది.</translation>
 <translation id="3712575778697986964">డేటా సేవర్‌ని రీసెట్ చేయాలా?</translation>
 <translation id="3714981814255182093">శోధన పట్టీని తెరవండి</translation>
@@ -432,7 +432,7 @@
 <translation id="424864128008805179">Chrome నుండి సైన్ అవుట్ చేయాలా?</translation>
 <translation id="4256782883801055595">ఓపెన్ సోర్స్ లైసెన్స్‌లు</translation>
 <translation id="4259722352634471385">నావిగేషన్ బ్లాక్ చేయబడింది: <ph name="URL" /></translation>
-<translation id="4262028915562328938">సమకాలీకరణ లోపం సంభవించింది, వివరాలను పొందడానికి నొక్కండి.</translation>
+<translation id="4262028915562328938">సింక్ ఎర్రర్ ఏర్పడింది, వివరాలను పొందడానికి నొక్కండి.</translation>
 <translation id="4269820728363426813">లింక్ చిరునామాను కాపీ చేయి</translation>
 <translation id="4275663329226226506">మీడియా</translation>
 <translation id="4278390842282768270">అనుమతించబడింది</translation>
@@ -676,7 +676,7 @@
 <translation id="6039379616847168523">తదుపరి ట్యాబ్‌కు వెళ్లండి</translation>
 <translation id="6040143037577758943">మూసివేయి</translation>
 <translation id="6042308850641462728">మరింత</translation>
-<translation id="604996488070107836">తెలియని లోపం కారణంగా <ph name="FILE_NAME" /> డౌన్‌లోడ్ విఫలమైంది.</translation>
+<translation id="604996488070107836">తెలియని ఎర్రర్ కారణంగా <ph name="FILE_NAME" /> డౌన్‌లోడ్ విఫలమైంది.</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6075798973483050474">హోమ్ పేజీని సవరించండి</translation>
 <translation id="60923314841986378"><ph name="HOURS" /> గంటలు మిగిలి ఉంది</translation>
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">ఈ పరికరం నుండి మీ పాస్‌వర్డ్‌లను ఎగుమతి చేయడానికి సెట్టింగ్‌లలో స్క్రీన్ లాక్‌ను ఆన్ చేయండి</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> డేటా పొదుపులు</translation>
 <translation id="6165508094623778733">మరింత తెలుసుకోండి</translation>
-<translation id="6171019622954353983">కొనసాగించడం ద్వారా, Chrome ఈ సేవను అందించడానికి Chrome స్వీయ పూరింపు, సైట్ URL మరియు దాని కంటెంట్ నుండి డేటాను Googleకు పంపిస్తుందని అంగీకరిస్తున్నారు.\n\nChrome మరియు Chrome స్వీయ పూరింపులో Google అసిస్టెంట్‌ను ఆఫ్ చేయడానికి Chrome సెట్టింగ్‌లను సందర్శించండి.  <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">ప్రస్తుత శోధన ఇంజిన్‌కు బ్లాక్ చేయబడింది</translation>
 <translation id="6177390657002841081">డేటా సేవర్‌ని ఆన్ చేయి</translation>
 <translation id="6181444274883918285">సైట్ మినహాయింపును జోడించు</translation>
@@ -927,7 +926,7 @@
 <translation id="784934925303690534">సమయ పరిధి</translation>
 <translation id="7851858861565204677">ఇతర పరికరాలు</translation>
 <translation id="7854964836418414587">ఇలాంటివి మరిన్ని ఎంపికను మూసివేస్తుంది</translation>
-<translation id="7871791972254842204"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />లోని నిబంధనలు మరియు షరతులను తర్వాత చదివి, అంగీకరించండి</translation>
+<translation id="7871791972254842204"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />లోని నిబంధనలు &amp; షరతులను తర్వాత చదివి, అంగీకరించండి</translation>
 <translation id="7875915731392087153">ఇమెయిల్‌ను సృష్టించండి</translation>
 <translation id="7876243839304621966">అన్నీ తొలగించు</translation>
 <translation id="7882131421121961860">చరిత్ర ఏదీ కనుగొనబడలేదు</translation>
@@ -1091,7 +1090,7 @@
 <translation id="9071742570345586758">వర్చువల్ రియాలిటీ కంటెంట్‌ను వీక్షించడానికి, Google VR సేవలను ఇన్‌స్టాల్ చేయండి</translation>
 <translation id="9074336505530349563">Google ద్వారా మీ అభిరుచికి తగిన కంటెంట్‌ను సిఫార్సుల రూపంలో పొందాలనుకుంటే, సైన్ ఇన్ చేసి సమకాలీకరణ ఎంపికను ఆన్ చేయాలి</translation>
 <translation id="9080642952018487277">ప్రైవేట్ మోడ్‌లోకి వెళ్లండి</translation>
-<translation id="9086455579313502267">నెట్‌వర్క్‌ని యాక్సెస్ చేయడం సాధ్యం కాలేదు</translation>
+<translation id="9086455579313502267">నెట్‌వర్క్‌ని యాక్సెస్ చెయ్యడం సాధ్యం కాలేదు</translation>
 <translation id="9099018167121903954"><ph name="KILOBYTES" /> KB డౌన్‌లోడ్ అయింది</translation>
 <translation id="9100505651305367705">అనుకూల సందర్భాల్లో సరళీకృత వీక్షణలో కథనాలను చూడగలిగే అవకాశం అందిస్తుంది</translation>
 <translation id="9100610230175265781">రహస్య పదబంధం అవసరం</translation>
@@ -1106,9 +1105,9 @@
 <translation id="9219103736887031265">చిత్రాలు</translation>
 <translation id="932327136139879170">హోమ్</translation>
 <translation id="932599481871055447">డేటాను ఆదా చేయండి మరియు వేగంగా బ్రౌజ్ చేయండి</translation>
-<translation id="938850635132480979">లోపం: <ph name="ERROR_CODE" /></translation>
+<translation id="938850635132480979">ఎర్రర్: <ph name="ERROR_CODE" /></translation>
 <translation id="945522503751344254">అభిప్రాయాన్ని పంపండి</translation>
-<translation id="945632385593298557">మీ మైక్రోఫోన్ ప్రాప్యత అనుమతి</translation>
+<translation id="945632385593298557">మీ మైక్రోఫోన్ యాక్సెస్ అనుమతి</translation>
 <translation id="951339005376969845">ఇప్పటికే ఉన్న డేటాను తొలగించండి. మీరు <ph name="FROM_ACCOUNT" />కి తిరిగి వెళ్లడం ద్వారా దాన్ని తిరిగి పొందవచ్చు.</translation>
 <translation id="95817756606698420">చైనాలో వెతకడానికి <ph name="BEGIN_BOLD" />Sogou<ph name="END_BOLD" />ను Chrome ఉపయోగించవచ్చు. మీరు దీనిని <ph name="BEGIN_LINK" />సెట్టింగ్‌ల<ph name="END_LINK" />లో మార్చవచ్చు.</translation>
 <translation id="965817943346481315">సైట్ అనుచితమైన లేదా తప్పుదారి పట్టించే ప్రకటనలను చూపించినప్పుడు బ్లాక్ చేయి (సిఫార్సు చేయబడింది)</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
index 8cf1abc4..6f477d9 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">เปิดล็อกหน้าจอใน "การตั้งค่า" เพื่อส่งออกรหัสผ่านจากอุปกรณ์นี้</translation>
 <translation id="6159335304067198720">ประหยัดอินเทอร์เน็ต <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">ดูข้อมูลเพิ่มเติม</translation>
-<translation id="6171019622954353983">การดำเนินการต่อเป็นการยอมรับว่า Chrome จะส่งข้อมูลจากการป้อนข้อความอัตโนมัติของ Chrome, URL ของเว็บไซต์และเนื้อหาไปยัง Google เพื่อให้บริการนี้\n\nไปที่การตั้งค่า Chrome เพื่อปิด Google Assistant ใน Chrome และการป้อนข้อความอัตโนมัติของ Chrome  <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">ถูกบล็อกสำหรับเครื่องมือค้นหาปัจจุบัน</translation>
 <translation id="6177390657002841081">เปิดโปรแกรมประหยัดอินเทอร์เน็ต</translation>
 <translation id="6181444274883918285">เพิ่มข้อยกเว้นของเว็บไซต์</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
index e31486f8..c36d934 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Bu cihazdaki şifrelerinizi dışarı aktarmak için Ayarlar'da ekran kilidini açın</translation>
 <translation id="6159335304067198720"><ph name="PERCENT" /> veri tasarrufu</translation>
 <translation id="6165508094623778733">Daha fazla bilgi edinin</translation>
-<translation id="6171019622954353983">Devam ederek, Chrome'un, bu hizmeti sağlamak amacıyla Chrome Otomatik Doldurma özelliğinden verileri, sitenin URL'sini ve içeriğini Google'a göndermesini kabul etmiş olursunuz.\n\nChrome'da ve Chrome Otomatik Doldurma özelliğinde Google Asistan'ı kapatmak için Chrome ayarlarına gidin.  <ph name="BEGIN_LINK" />Daha fazla bilgi<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Geçerli arama motoru için engellendi</translation>
 <translation id="6177390657002841081">Veri Tasarrufu'nu aç</translation>
 <translation id="6181444274883918285">Site istisnası ekle</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
index 18708825..10ce680 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Щоб експортувати паролі з цього пристрою, увімкніть блокування екрана</translation>
 <translation id="6159335304067198720">Заощадження даних: <ph name="PERCENT" /></translation>
 <translation id="6165508094623778733">Докладніше</translation>
-<translation id="6171019622954353983">Продовжуючи, ви дозволяєте Chrome надсилати дані Автозаповнення, а також URL-адресу та вміст сайту в Google.\n\nЩоб вимкнути Google Асистент і Автозаповнення в Chrome, перейдіть у налаштування веб-переглядача.  <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Заблоковано для поточної пошукової системи</translation>
 <translation id="6177390657002841081">Увімкнути Заощадження трафіку</translation>
 <translation id="6181444274883918285">Додати сайт у список винятків</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
index 4ca88f1..4d869c84 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">Bật khóa màn hình trong Cài đặt để xuất mật khẩu của bạn từ thiết bị này</translation>
 <translation id="6159335304067198720">Tiết kiệm <ph name="PERCENT" /> dữ liệu</translation>
 <translation id="6165508094623778733">Tìm hiểu thêm</translation>
-<translation id="6171019622954353983">Bằng việc tiếp tục, bạn đồng ý rằng Chrome sẽ gửi dữ liệu từ tính năng Tự động điền của Chrome, URL và nội dung của trang web đến Google để cung cấp dịch vụ này.\n\nBạn có thể tắt Trợ lý Google và tính năng Tự động điền của Chrome trong phần cài đặt của Chrome.  <ph name="BEGIN_LINK" />Tìm hiểu thêm<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">Bị chặn đối với công cụ tìm kiếm hiện tại</translation>
 <translation id="6177390657002841081">Bật Trình tiết kiệm dữ liệu</translation>
 <translation id="6181444274883918285">Thêm ngoại lệ cho trang web</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
index f95329a..876ebbc 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -25,7 +25,7 @@
 <translation id="1172593791219290334">启动页</translation>
 <translation id="1175310183703641346">您的书签、历史记录、密码和其他设置将不再同步到您的 Google 帐号中</translation>
 <translation id="1178581264944972037">暂停</translation>
-<translation id="1181037720776840403">移除</translation>
+<translation id="1181037720776840403">删除</translation>
 <translation id="1197267115302279827">移动书签</translation>
 <translation id="119944043368869598">全部清除</translation>
 <translation id="1201402288615127009">下一页</translation>
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">需在“设置”部分中开启屏幕锁定功能,才能从此设备中导出您的密码</translation>
 <translation id="6159335304067198720">节省 <ph name="PERCENT" /> 的数据流量</translation>
 <translation id="6165508094623778733">了解详情</translation>
-<translation id="6171019622954353983">继续操作即表示您同意:Chrome 可将 Chrome 自动填充功能所保存的数据以及相应网站的网址和内容发送给 Google,以便为您提供此项服务。\n\n若想关闭 Chrome 中的 Google 助理和 Chrome 自动填充功能,请访问 Chrome 设置。<ph name="BEGIN_LINK" />了解详情<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">已设为不可供当前的搜索引擎使用</translation>
 <translation id="6177390657002841081">启用流量节省程序</translation>
 <translation id="6181444274883918285">添加例外网站</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
index 11232d6..afbaf65 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -691,7 +691,6 @@
 <translation id="6154478581116148741">在「設定」中開啟螢幕鎖定,即可從這部裝置匯出你的密碼</translation>
 <translation id="6159335304067198720">節省 <ph name="PERCENT" /> 的數據流量</translation>
 <translation id="6165508094623778733">瞭解詳情</translation>
-<translation id="6171019622954353983">選擇繼續即表示您同意 Chrome 將 Chrome 自動填入功能取得的資料、網站的網址及內容傳送給 Google,讓 Google 為您提供這項服務。\n\n如要關閉 Chrome 的 Google 助理和 Chrome 自動填入功能,請前往 Chrome 設定。<ph name="BEGIN_LINK" />瞭解詳情<ph name="END_LINK" /></translation>
 <translation id="6177111841848151710">禁止目前的搜尋引擎存取位置資訊</translation>
 <translation id="6177390657002841081">開啟 Data Saver</translation>
 <translation id="6181444274883918285">新增例外網站</translation>
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index 0d27277e..36cbf83b 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -165,6 +165,9 @@
   "java/src/org/chromium/chrome/browser/autofill_assistant/overlay/AssistantOverlayState.java",
   "java/src/org/chromium/chrome/browser/autofill_assistant/overlay/TouchEventFilterView.java",
   "java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestCoordinator.java",
+  "java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestDelegate.java",
+  "java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestModel.java",
+  "java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestOptions.java",
   "java/src/org/chromium/chrome/browser/autofill_assistant/payment/AutofillAssistantPaymentRequest.java",
   "java/src/org/chromium/chrome/browser/autofill_assistant/payment/PaymentRequestBottomBar.java",
   "java/src/org/chromium/chrome/browser/autofill_assistant/payment/PaymentRequestUI.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java
index d772ac95..08ce706 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java
@@ -15,6 +15,7 @@
 import android.util.JsonWriter;
 import android.view.View;
 import android.widget.Button;
+import android.widget.TextView;
 
 import org.junit.Assert;
 import org.junit.Before;
@@ -125,9 +126,10 @@
                 ThreadUtils.runOnUiThreadBlocking(new Callable<ContactsPickerDialog>() {
                     @Override
                     public ContactsPickerDialog call() {
-                        final ContactsPickerDialog dialog = new ContactsPickerDialog(
-                                mActivityTestRule.getActivity(), ContactsPickerDialogTest.this,
-                                multiselect, includeNames, includeEmails, includeTel);
+                        final ContactsPickerDialog dialog =
+                                new ContactsPickerDialog(mActivityTestRule.getActivity(),
+                                        ContactsPickerDialogTest.this, multiselect, includeNames,
+                                        includeEmails, includeTel, "example.com");
                         dialog.show();
                         return dialog;
                     }
@@ -238,6 +240,29 @@
 
     @Test
     @LargeTest
+    public void testOriginString() throws Throwable {
+        createDialog(/* multiselect = */ true, /* includeNames = */ true,
+                /* includeEmails = */ true,
+                /* includeTel = */ true);
+        Assert.assertTrue(mDialog.isShowing());
+
+        RecyclerView recyclerView = getRecyclerView();
+        RecyclerViewTestUtils.waitForView(recyclerView, 0);
+        View view = recyclerView.getLayoutManager().findViewByPosition(0);
+        Assert.assertNotNull(view);
+        Assert.assertTrue(view instanceof TopView);
+        TopView topView = (TopView) view;
+        Assert.assertNotNull(topView);
+        TextView explanation = (TextView) topView.findViewById(R.id.explanation);
+        Assert.assertNotNull(explanation);
+        Assert.assertEquals(explanation.getText(),
+                "The contacts you select below will be shared with the website example.com.");
+
+        dismissDialog();
+    }
+
+    @Test
+    @LargeTest
     public void testNoSelection() throws Throwable {
         createDialog(/* multiselect = */ false, /* includeNames = */ true,
                 /* includeEmails = */ true,
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
index 6e17a46..ed52e482 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
@@ -2343,7 +2343,28 @@
     @CommandLineFlags.Add("enable-spdy-proxy-auth")
     @DisableFeatures("DataReductionProxyDecidesTransform")
     @RetryOnFailure
-    public void testLaunchWebLiteURLNoPreviews() throws Exception {
+    public void testLaunchWebLiteURLDRPDecidesTransformDisabled() throws Exception {
+        final String testUrl = WEBLITE_PREFIX + mTestPage;
+        mCustomTabActivityTestRule.startCustomTabActivityWithIntent(
+                CustomTabsTestUtils.createMinimalCustomTabIntent(
+                        InstrumentationRegistry.getTargetContext(), testUrl));
+        Tab tab = mCustomTabActivityTestRule.getActivity().getActivityTab();
+        Assert.assertEquals(testUrl, tab.getUrl());
+    }
+
+    /**
+     * Tests that a Weblite URL from an external app does not use the lite_url param when Previews
+     * are not being used.
+     */
+    @Test
+    @SmallTest
+    @CommandLineFlags.Add("enable-spdy-proxy-auth")
+    @EnableFeatures(
+            {"DataReductionProxyDecidesTransform", "DataReductionProxyEnabledWithNetworkService"})
+    @DisableFeatures("Previews")
+    @RetryOnFailure
+    public void
+    testLaunchWebLiteURLNoPreviews() throws Exception {
         final String testUrl = WEBLITE_PREFIX + mTestPage;
         mCustomTabActivityTestRule.startCustomTabActivityWithIntent(
                 CustomTabsTestUtils.createMinimalCustomTabIntent(
@@ -2358,9 +2379,11 @@
      */
     @Test
     @SmallTest
-    @EnableFeatures("DataReductionProxyDecidesTransform")
+    @EnableFeatures(
+            {"DataReductionProxyDecidesTransform", "DataReductionProxyEnabledWithNetworkService"})
     @RetryOnFailure
-    public void testLaunchWebLiteURLNoDataReductionProxy() throws Exception {
+    public void
+    testLaunchWebLiteURLNoDataReductionProxy() throws Exception {
         final String testUrl = WEBLITE_PREFIX + mTestPage;
         mCustomTabActivityTestRule.startCustomTabActivityWithIntent(
                 CustomTabsTestUtils.createMinimalCustomTabIntent(
@@ -2370,24 +2393,6 @@
     }
 
     /**
-     * Tests that a Weblite URL from an external app does not use the lite_url param when the param
-     * is an https URL.
-     */
-    @Test
-    @SmallTest
-    @CommandLineFlags.Add("enable-spdy-proxy-auth")
-    @EnableFeatures("DataReductionProxyDecidesTransform")
-    @RetryOnFailure
-    public void testLaunchHttpsWebLiteURL() throws Exception {
-        final String testUrl = WEBLITE_PREFIX + mTestPage.replaceFirst("http", "https");
-        mCustomTabActivityTestRule.startCustomTabActivityWithIntent(
-                CustomTabsTestUtils.createMinimalCustomTabIntent(
-                        InstrumentationRegistry.getTargetContext(), testUrl));
-        Tab tab = mCustomTabActivityTestRule.getActivity().getActivityTab();
-        Assert.assertEquals(testUrl, tab.getUrl());
-    }
-
-    /**
      * Tests that a URL from an external app does not use the lite_url param when the prefix is not
      * the WebLite url.
      */
diff --git a/chrome/android/monochrome_android_manifest_jinja_variables.gni b/chrome/android/monochrome_android_manifest_jinja_variables.gni
index 3895d0cc..6716762 100644
--- a/chrome/android/monochrome_android_manifest_jinja_variables.gni
+++ b/chrome/android/monochrome_android_manifest_jinja_variables.gni
@@ -4,6 +4,8 @@
 
 import("//chrome/android/chrome_public_apk_tmpl.gni")
 
+use_32bit_abi_jinja_variable = "use32bitAbi=android:use32bitAbi=\"true\""
+
 monochrome_android_manifest_jinja_variables = [
   "min_sdk_version=24",
   "sandboxed_service_exported=true",
@@ -11,5 +13,5 @@
 
 if (!android_64bit_browser) {
   monochrome_android_manifest_jinja_variables +=
-      [ "use32bitAbi=android:use32bitAbi=\"true\"" ]
+      [ use_32bit_abi_jinja_variable ]
 }
diff --git a/chrome/app/resources/chromium_strings_te.xtb b/chrome/app/resources/chromium_strings_te.xtb
index d95447b8..b3e5e45 100644
--- a/chrome/app/resources/chromium_strings_te.xtb
+++ b/chrome/app/resources/chromium_strings_te.xtb
@@ -17,7 +17,7 @@
 <translation id="151962892725702025">మీ డొమైన్ కోసం సమకాలీకరణ అందుబాటులో లేనందున Chromium OS మీ డేటాను సమకాలీకరించలేకపోయింది.</translation>
 <translation id="1585657529869845941">ఇది కనిపిస్తే, <ph name="BEGIN_BOLD" />అయిన కూడా మార్చు<ph name="END_BOLD" />ను క్లిక్ చేయండి</translation>
 <translation id="1668054258064581266">Chromium నుండి మీ ఖాతాను తీసివేసిన తర్వాత, ప్రభావవంతం కావడానికి మీరు మీ తెరిచిన ట్యాబ్‌లను మళ్లీ లోడ్ చేయాల్సి రావచ్చు.</translation>
-<translation id="1688750314291223739">వెబ్‌కు మీ వ్యక్తిగతీకరించిన బ్రౌజర్ ఫీచర్‌లను సేవ్ చేయడానికి మరియు వాటిని ఏదైనా కంప్యూటర్‌లోని Chromium నుండి యాక్సెస్ చేయడానికి సమకాలీకరణని సెటప్ చేయండి.</translation>
+<translation id="1688750314291223739">వెబ్‌కు మీ వ్యక్తిగతీకరించిన బ్రౌజర్ ఫీచర్‌లను సేవ్ చేయడానికి సమకాలీకణని సెటప్ చేయండి మరియు వాటిని ఏదైనా కంప్యూటర్‌లోని Chromium నుండి యాక్సెస్ చేయండి.</translation>
 <translation id="1708666629004767631">Chromium యొక్క క్రొత్త సురక్షితమైన సంస్కరణ అందుబాటులో ఉంది.</translation>
 <translation id="1766096484055239003">అప్‌డేట్‌ని వర్తింపజేయడం కోసం మీరు Chromiumని పునఃప్రారంభించాలని మీ నిర్వాహకుడు కోరుతున్నారు</translation>
 <translation id="1774152462503052664">నేపథ్యంలో Chromiumని అమలు చేయడానికి అనుమతించు</translation>
@@ -45,7 +45,7 @@
 <translation id="2572494885440352020">Chromium సహాయకం</translation>
 <translation id="2587578672395088481">అప్‌డేట్‌ను వర్తింపజేయడానికి Chromium OSని పునఃప్రారంభించాలి.</translation>
 <translation id="2647554856022461007">Chromium మీ బ్రౌజింగ్ అనుభవాన్ని మెరుగుపరచడానికి వెబ్ సేవలను ఉపయోగించవచ్చు. మీరు ఈ సేవలను ఐచ్ఛికంగా నిలిపివేయవచ్చు. <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
-<translation id="2648074677641340862">ఇన్‌స్టాలేషన్ సమయంలో ఆపరేటింగ్ సిస్టమ్ ఎర్ర‌ర్ ఏర్ప‌డింది. దయచేసి Chromiumని మళ్లీ డౌన్‌లోడ్ చేయండి.</translation>
+<translation id="2648074677641340862">ఇన్‌స్టాలేషన్ సమయంలో ఆపరేటింగ్ సిస్టమ్ ఎర్రర్ ఏర్పడింది. దయచేసి Chromiumను మళ్లీ డౌన్‌లోడ్ చేయండి.</translation>
 <translation id="2711502716910134313">Chromium ట్యాబ్</translation>
 <translation id="2718390899429598676">అదనపు భద్రత కోసం, Chromium మీ డేటాను ఎన్‌క్రిప్ట్ చేస్తుంది.</translation>
 <translation id="2770231113462710648">డిఫాల్ట్ బ్రౌజర్‌ను దీనికి మార్చు:</translation>
@@ -69,7 +69,7 @@
 <translation id="3258596308407688501">Chromium దీని డేటా డైరెక్టరీని చదవలేదు మరియు దీనిలో వ్రాయలేదు: <ph name="USER_DATA_DIRECTORY" /></translation>
 <translation id="328888136576916638">Google API కీలు లేవు. Chromium కార్యాచరణలో కొంత భాగం నిలిపివేయబడుతుంది.</translation>
 <translation id="3296368748942286671">Chromium మూసివేయబడినప్పుడు నేపథ్య అనువర్తనాలను అమలు చేయడాన్ని కొనసాగించు</translation>
-<translation id="331951419404882060">సైన్ ఇన్ చేయడంలో ఎర్రర్ సంభవించినందున Chromium OS మీ డేటాను సమకాలీకరించలేకపోయింది.</translation>
+<translation id="331951419404882060">సైన్ ఇన్ చేయడంలో ఎర్రర్ ఏర్పడినందున Chromium OS మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="3474745554856756813">ఇది ఈ పరికరం నుండి <ph name="ITEMS_COUNT" /> అంశాలను తొలగిస్తుంది. మీ డేటాను తర్వాత తిరిగి పొందడానికి, Chromiumకి <ph name="USER_EMAIL" /> లాగా సైన్ ఇన్ చేయండి.</translation>
 <translation id="3479552764303398839">ఇప్పుడు కాదు</translation>
 <translation id="3509308970982693815">దయచేసి అన్ని Chromium విండోలను మూసివేసి, మళ్లీ ప్రయత్నించండి.</translation>
@@ -95,11 +95,11 @@
 <translation id="4224199872375172890">Chromium తాజాగా ఉంది.</translation>
 <translation id="4230135487732243613">మీ Chromium డేటాను ఈ ఖాతాకు జోడించాలా?</translation>
 <translation id="4271805377592243930">Chromiumతో సహాయాన్ని పొందండి</translation>
-<translation id="4285930937574705105">పేర్కొనబడని లోపం కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. ప్రస్తుతం Chromium అమలు చేయబడుతుంటే, దయచేసి దీన్ని మూసివేసి, మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="4285930937574705105">పేర్కొనబడని ఎర్రర్ కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. ప్రస్తుతం Chromium అమలు చేయబడుతుంటే, దయచేసి దీనిని మూసివేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="4407044323746248786">ఏదేమైనా Chromium నుండి నిష్క్రమించాలా?</translation>
 <translation id="4415566066719264597">నేపథ్యంలో అమలయ్యేందుకు Chromiumని అనుమతించండి</translation>
 <translation id="4423735387467980091">Chromiumను అనుకూలీకరించండి మరియు నియంత్రించండి</translation>
-<translation id="4567424176335768812">మీరు <ph name="USER_EMAIL_ADDRESS" />గా సైన్ ఇన్ చేసారు. ఇప్పుడు మీరు మీ సైన్ ఇన్ చేసిన అన్ని పరికరాల్లో మీ బుక్‌మార్క్‌లు, చరిత్ర మరియు ఇతర సెట్టింగ్‌లను ప్రాప్యత చేయవచ్చు.</translation>
+<translation id="4567424176335768812">మీరు <ph name="USER_EMAIL_ADDRESS" />గా సైన్ ఇన్ చేసారు. ఇప్పుడు మీరు సైన్ ఇన్ చేసిన అన్ని పరికరాల్లో మీ బుక్‌మార్క్‌లు, చరిత్ర మరియు ఇతర సెట్టింగ్‌లను యాక్సెస్ చేయవచ్చు.</translation>
 <translation id="459535195905078186">Chromium అనువర్తనాలు</translation>
 <translation id="4621240073146040695">దాదాపుగా నవీకృతంగా ఉంది! నవీకరణను పూర్తి చేయడానికి Chromiumని పునఃప్రారంభించండి.</translation>
 <translation id="4677944499843243528">ప్రొఫైల్‌ని మరొక కంప్యూటర్ (<ph name="HOST_NAME" />)లో మరో Chromium ప్రాసెస్ (<ph name="PROCESS_ID" />) ఉపయోగిస్తున్నట్లు కనిపిస్తోంది. Chromium ప్రొఫైల్‌ని లాక్ చేసినందున అది పాడవదు. ఈ ప్రొఫైల్‌ని వేరే ఇతర ప్రాసెస్‌లు ఏవీ ఉపయోగించడం లేదని మీకు ఖచ్చితంగా తెలిస్తే, మీరు ప్రొఫైల్‌ని అన్‌లాక్ చేసి Chromiumని మళ్లీ లాంచ్ చేయవచ్చు.</translation>
@@ -149,7 +149,7 @@
 <translation id="6055895534982063517">క్రొత్త Chromium సంస్కరణ అందుబాటులో ఉంది, ఇది ఎప్పటి కంటే వేగంగా ఉంది.</translation>
 <translation id="6063093106622310249">&amp;Chromiumలో తెరవండి</translation>
 <translation id="6072279588547424923">Chromiumకు <ph name="EXTENSION_NAME" /> జోడించబడింది</translation>
-<translation id="608189560609172163">సైన్ ఇన్ చేయడంలో లోపం కారణంగా Chromium మీ డేటాను సమకాలీకరించలేకపోయింది.</translation>
+<translation id="608189560609172163">సైన్ ఇన్ చేయడంలో ఎర్రర్ కారణంగా Chromium మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="6096348254544841612">Chromiumని అనుకూలీకరించండి మరియు నియంత్రించండి. అప్‌డేట్ అందుబాటులో ఉంది.</translation>
 <translation id="6120345080069858279">Chromium ఈ పాస్‌వర్డ్‌ను మీ Google ఖాతాలో సేవ్ చేస్తుంది. మీరు దీనిని గుర్తుంచుకోవాల్సిన అవసరం లేదు.</translation>
 <translation id="6129621093834146363"><ph name="FILE_NAME" /> హానికరం, కావున Chromium దాన్ని బ్లాక్ చేసింది.</translation>
@@ -171,7 +171,7 @@
 <translation id="6510925080656968729">Chromiumను అన్ఇన్‌స్టాల్ చేయి</translation>
 <translation id="6570579332384693436">అక్షరక్రమ లోపాలను పరిష్కరించడానికి, మీరు వచన ఫీల్డ్‌లలో టైప్ చేసే వచనాన్ని, Chromium Googleకి పంపుతుంది</translation>
 <translation id="6598877126913850652">Chromium నోటిఫికేషన్ సెట్టింగ్‌లకు వెళ్లు</translation>
-<translation id="6676384891291319759">ఇంటర్నెట్‌ను యాక్సెస్ చేయండి</translation>
+<translation id="6676384891291319759">ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి</translation>
 <translation id="6717134281241384636">మీ ప్రొఫైల్ క్రొత్త Chromium వెర్షన్ అయినందున ఇది ఉపయోగించబడదు.
 
 కొన్ని లక్షణాలు అందుబాటులో ఉండకపోవచ్చు. దయచేసి వేరొక ప్రొఫైల్ డైరెక్టరీని పేర్కొనండి లేదా Chromium యొక్క క్రొత్త వెర్షన్‌ని ఉపయోగించండి.</translation>
@@ -243,7 +243,7 @@
 <translation id="8586442755830160949">కాపీరైట్ <ph name="YEAR" /> Chromium రచయితలు. అన్ని హ‌క్కులు రిజ‌ర్వ్ చేయ‌బ‌డ్డాయి.</translation>
 <translation id="8599548569518771270">{0,plural, =0{Chromium OS ఇప్పుడు మళ్లీ ప్రారంభించబడుతుంది}=1{Chromium OS 1 సెకనులో మళ్లీ ప్రారంభమవుతుంది}other{Chromium OS # సెకన్లలో మళ్లీ ప్రారంభమవుతుంది}}</translation>
 <translation id="8619360774459241877">Chromiumని ప్రారంభిస్తోంది...</translation>
-<translation id="8621669128220841554">పేర్కొనబడలేని లోపం కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. దయచేసి Chromiumని మళ్లీ డౌన్‌లోడ్ చేయండి.</translation>
+<translation id="8621669128220841554">పేర్కొనబడని ఎర్రర్ కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. దయచేసి Chromiumను మళ్లీ డౌన్‌లోడ్ చేయండి.</translation>
 <translation id="8667808506758191620">మీ <ph name="DEVICE_TYPE" /> ఆధునికంగా ఉంది.</translation>
 <translation id="8697124171261953979">ఇది మీరు Chromiumను ప్రారంభించేటప్పుడు లేదా ఓమ్నిబాక్స్ నుండి వెతికేటప్పుడు చూపబడే పేజీని కూడా నియంత్రిస్తుంది.</translation>
 <translation id="8704119203788522458">ఇది మీ Chromium</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index c08e4474..77335bbc 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (በሃርድዌር የሚደገፍ)</translation>
 <translation id="316125635462764134">መተግበሪያ አስወግድ</translation>
 <translation id="3161522574479303604">ሁሉም ቋንቋዎች</translation>
+<translation id="3163201441334626963">ያልታወቀ ምርት <ph name="PRODUCT_ID" /> ከ<ph name="VENDOR_ID" /> ሻጭ</translation>
 <translation id="3165390001037658081">አንዳንድ የአገልግሎት አቅራቢዎች ይህን ባህሪ ሊያግዱት ይችላሉ።</translation>
 <translation id="316854673539778496">ሁሉንም የእርስዎ ቅጥያዎች በሁሉም መሣሪያዎችዎ ላይ ለማግኘት በመለያ ይግቡና ስምረትን ያብሩ።</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3954,6 +3955,7 @@
 <translation id="7002454948392136538">ክትትል ለሚደረግበት ለዚህ ተጠቃሚ አቀናባሪ ይምረጡ</translation>
 <translation id="7003339318920871147">የድር ውሂብ ጎታዎች</translation>
 <translation id="7003723821785740825">መሣሪያዎን በበለጠ ፍጥነት የሚከፍቱበት መንገድ ያዋቅሩ</translation>
+<translation id="7003844668372540529">ያልታወቀ ምርት <ph name="PRODUCT_ID" /> ከ<ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">የቅርብ ጊዜ ትሮች</translation>
 <translation id="7005848115657603926">ልክ ያልሆነ የገጽ ክልል፣ <ph name="EXAMPLE_PAGE_RANGE" />ን ይጠቀሙ</translation>
 <translation id="7006634003215061422">የታች ኅዳግ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 91869c0..aad8ccb 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -799,7 +799,7 @@
 <translation id="2190355936436201913">(فارغ)</translation>
 <translation id="2191223688506386601">تتبقى خطوة أخيرة</translation>
 <translation id="2192505247865591433">من:</translation>
-<translation id="2192779824098378521">‏الحصول على تصنيفات من Google</translation>
+<translation id="2192779824098378521">‏الحصول على تصنيفات الصور من Google</translation>
 <translation id="2193365732679659387">إعدادات الثقة</translation>
 <translation id="2195729137168608510">حماية البريد الإلكتروني</translation>
 <translation id="2199298570273670671">خطأ</translation>
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (مستندة إلى الأجهزة)</translation>
 <translation id="316125635462764134">إزالة التطبيق</translation>
 <translation id="3161522574479303604">كل اللغات</translation>
+<translation id="3163201441334626963">المنتج غير معروف <ph name="PRODUCT_ID" /> من المورّد‬ <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">قد يحظر بعض مشغلي شبكات الجوّال هذه الميزة.</translation>
 <translation id="316854673539778496">للحصول على كل الإضافات على جميع أجهزتك، يُرجى تسجيل الدخول وتفعيل المزامنة.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -2579,7 +2580,7 @@
 <translation id="4941246025622441835">استخدام طلب الجهاز عند تسجيل الجهاز في إدارة المؤسسات:</translation>
 <translation id="4941627891654116707">حجم الخط</translation>
 <translation id="494286511941020793">مساعدة تهيئة الخادم الوكيل</translation>
-<translation id="4943691134276646401">احتياج "<ph name="CHROME_EXTENSION_NAME" />" إلى الربط بمنفذ تسلسلي</translation>
+<translation id="4943691134276646401">يجب ربط "<ph name="CHROME_EXTENSION_NAME" />" بمنفذ تسلسلي</translation>
 <translation id="495170559598752135">إجراءات</translation>
 <translation id="4953689047182316270">الاستجابة لأحداث إمكانية الوصول</translation>
 <translation id="4953808748584563296">الصورة الرمزية التلقائية البرتقالية</translation>
@@ -3954,6 +3955,7 @@
 <translation id="7002454948392136538">اختيار مدير لهذا المستخدم الذي يخضع للإشراف</translation>
 <translation id="7003339318920871147">قواعد بيانات الويب</translation>
 <translation id="7003723821785740825">إعداد طريقة أسرع لإلغاء قفل جهازك</translation>
+<translation id="7003844668372540529">المنتج غير معروف <ph name="PRODUCT_ID" /> من <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">علامات التبويب الأخيرة</translation>
 <translation id="7005848115657603926">نطاق صفحة غير صالح، استخدم <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">الهامش السفلي</translation>
@@ -4830,7 +4832,7 @@
 <translation id="8286036467436129157">تسجيل الدخول</translation>
 <translation id="8286963743045814739">يمكنك التصفّح بخصوصية تامّة باستخدام نافذة للتصفُّح المتخفي</translation>
 <translation id="82871696630048499">تمت إعادة تحميل صفحة الويب بسبب نفاد الذاكرة.</translation>
-<translation id="8287902281644548111">‏البحث بحسب طلب بيانات من واجهة برمجة التطبيقات/عنوان URL</translation>
+<translation id="8287902281644548111">‏البحث حسب طلب بيانات من واجهة برمجة التطبيقات/عنوان URL</translation>
 <translation id="8288032458496410887">إلغاء تثبيت <ph name="APP" />...</translation>
 <translation id="8291967909914612644">بلد مقدم الخدمة الرئيسي</translation>
 <translation id="8294431847097064396">المصدر</translation>
@@ -5017,7 +5019,7 @@
 <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation>
 <translation id="8620617069779373398">حالة التجوال</translation>
 <translation id="8620765578342452535">تهيئة اتصالات الشبكة</translation>
-<translation id="8621866727807194849">‏هناك برنامج ضار على جهاز الكمبيوتر. يمكن لمتصفِّح Chrome إزالته واستعادة إعداداتك وإيقاف الإضافات. سيؤدي هذا الإجراء إلى عمل متصفِّحك بشكلٍ طبيعي من جديد.</translation>
+<translation id="8621866727807194849">‏هناك برنامج ضار على جهاز الكمبيوتر. يعمل متصفِّح Chrome على إزالته وعلى استعادة إعداداتك وإيقاف الإضافات. سيؤدي هذا الإجراء إلى عمل متصفِّحك بشكلٍ طبيعي من جديد.</translation>
 <translation id="862542460444371744">&amp;الإضافات</translation>
 <translation id="8627151598708688654">تحديد مصدر</translation>
 <translation id="862727964348362408">معلقة</translation>
@@ -5094,7 +5096,7 @@
 <translation id="8716931980467311658">‏هل تريد حذف جميع تطبيقات نظام التشغيل Linux والبيانات الواردة في مجلد ملفات نظام التشغيل Linux من جهاز <ph name="DEVICE_TYPE" /> هذا؟</translation>
 <translation id="8717864919010420084">نسخ الرابط</translation>
 <translation id="8719653885894320876">تعذّر تنزيل <ph name="PLUGIN_NAME" /></translation>
-<translation id="8720200012906404956">البحث عن شبكة الجوال <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
+<translation id="8720200012906404956">البحث عن شبكة جوال <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
 <translation id="8720816553731218127">لقد انتهت مهلة إعداد سمات وقت التثبيت.</translation>
 <translation id="8722912030556880711">‏يمكنك إرسال بيانات الاستخدام والتشخيص. يرسل هذا الجهاز حاليًا بيانات استخدام التطبيق والجهاز والتشخيص تلقائيًا إلى Google. سيساعد ذلك في استقرار عمل النظام والتطبيقات، بالإضافة إلى التحسينات الأخرى. كما ستساعد بعض البيانات المجمّعة تطبيقات Google وشركائها، مثل مطوّري برامج نظام التشغيل Android. في حال تفعيل إعداد "النشاط الإضافي على الويب وفي التطبيقات"، قد يتم حفظ هذه البيانات في حسابك على Google. <ph name="BEGIN_LINK2" />مزيد من المعلومات<ph name="END_LINK2" /></translation>
 <translation id="8724405322205516354">عندما ترى هذا الرمز، استخدم بصمة الإصبع لتحديد الهوية أو للموافقة على عمليات الشراء.</translation>
@@ -5117,7 +5119,7 @@
 <translation id="874689135111202667">{0,plural, =1{هل تريد تحميل ملف واحد إلى هذا الموقع؟}zero{هل تريد تحميل # ملف إلى هذا الموقع؟}two{هل تريد تحميل ملفين (#) إلى هذا الموقع؟}few{هل تريد تحميل # ملفات إلى هذا الموقع؟}many{هل تريد تحميل # ملفًا إلى هذا الموقع؟}other{هل تريد تحميل # ملف إلى هذا الموقع؟}}</translation>
 <translation id="8748384418490037181">‏خيارات Smart Lock</translation>
 <translation id="8749863574775030885">‏الدخول إلى أجهزة USB من مورد غير معروف</translation>
-<translation id="8750155211039279868">احتياج <ph name="ORIGIN" /> إلى الربط بمنفذ تسلسلي</translation>
+<translation id="8750155211039279868">يجب ربط <ph name="ORIGIN" /> بمنفذ تسلسلي</translation>
 <translation id="8754200782896249056">‏&lt;p&gt;عند تشغيل <ph name="PRODUCT_NAME" /> من خلال بيئة معتمدة لسطح المكتب، سيتم استخدام إعدادات الخادم الوكيل للنظام. ومع ذلك، يحتمل إما أن يكون نظامك غير مدعم أو أنه ربما حدثت مشكلة أثناء تشغيل تهيئة نظامك.&lt;/p&gt;
 
           &lt;p&gt;لكن لا يزال بإمكانك التهيئة من خلال سطر الأوامر. يُرجى الاطّلاع على &lt;code&gt;man <ph name="PRODUCT_BINARY_NAME" />&lt;/code&gt; للمزيد من المعلومات عن المتغيرات لكل من العلامات والبيئة.&lt;/p&gt;</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index 5d535f41..31fce72 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -1436,6 +1436,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (с хардуерно съхраняване)</translation>
 <translation id="316125635462764134">Премахване на приложението</translation>
 <translation id="3161522574479303604">Всички езици</translation>
+<translation id="3163201441334626963">Неизвестен продукт <ph name="PRODUCT_ID" /> от доставчик <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Някои оператори може да блокират тази функция.</translation>
 <translation id="316854673539778496">Влезте в профила си и включете синхронизирането, за да получите разширенията си на всичките си устройства.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Избиране на мениджъра за този контролиран потребител</translation>
 <translation id="7003339318920871147">Уеб бази от данни</translation>
 <translation id="7003723821785740825">Настройте по-бърз начин да отключвате устройството си</translation>
+<translation id="7003844668372540529">Неизвестен продукт <ph name="PRODUCT_ID" /> от <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Скорошни раздели</translation>
 <translation id="7005848115657603926">Невалиден обхват на страници. Използвайте <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Долно поле</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index f6582d2..9cdd239 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (হার্ডওয়্যার-সাহায্যপ্রাপ্ত)</translation>
 <translation id="316125635462764134">অ্যাপ্লিকেশান সরান</translation>
 <translation id="3161522574479303604">সকল ভাষা</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> বিক্রেতার থেকে অজানা পণ্য <ph name="PRODUCT_ID" /></translation>
 <translation id="3165390001037658081">কিছু পরিষেবা প্রদানকারী এই বৈশিষ্ট্যকে অবরুদ্ধ করতে পারে।</translation>
 <translation id="316854673539778496">সব ডিভাইসে আপনার এক্সটেনশন পেতে, সাইন-ইন করুন এবং সিঙ্ক চালু করুন।</translation>
 <translation id="3169472444629675720">আবিষ্কার করুন</translation>
@@ -3955,6 +3956,7 @@
 <translation id="7002454948392136538">এই তত্ত্বাবধান করা ব্যবহারকারীর জন্য পরিচালক চয়ন করুন</translation>
 <translation id="7003339318920871147">ওয়েব ডেটাবেসসমূহ</translation>
 <translation id="7003723821785740825">আপনার ডিভাইস আনলক করার জন্য একটি দ্রুততর উপায় সেট আপ করুন</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> এর থেকে অজানা পণ্য <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">সাম্প্রতিক ট্যাবগুলি</translation>
 <translation id="7005848115657603926">অবৈধ পৃষ্ঠা শ্রেণি, <ph name="EXAMPLE_PAGE_RANGE" /> ব্যবহার করুন</translation>
 <translation id="7006634003215061422">নীচের মার্জিন</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index cb25006f..14131e2 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -1437,6 +1437,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (emmagatzemat en maquinari)</translation>
 <translation id="316125635462764134">Suprimeix l'aplicació</translation>
 <translation id="3161522574479303604">Tots els idiomes</translation>
+<translation id="3163201441334626963">Producte desconegut <ph name="PRODUCT_ID" /> del proveïdor <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Alguns operadors de telefonia mòbil poden bloquejar aquesta funció.</translation>
 <translation id="316854673539778496">Per accedir a totes les teves extensions des de tots els dispositius, inicia la sessió i activa la sincronització.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3956,6 +3957,7 @@
 <translation id="7002454948392136538">Selecció de l'administrador d'aquest usuari supervisat</translation>
 <translation id="7003339318920871147">Bases de dades web</translation>
 <translation id="7003723821785740825">Configura una manera més ràpida de desbloquejar el dispositiu</translation>
+<translation id="7003844668372540529">Producte desconegut <ph name="PRODUCT_ID" /> de: <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Pestanyes recents</translation>
 <translation id="7005848115657603926">L'interval de pàgines no és vàlid; utilitzeu <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Marge inferior</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 137d040..f93cc17 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (hardwarový)</translation>
 <translation id="316125635462764134">Odstranit aplikaci</translation>
 <translation id="3161522574479303604">Všechny jazyky</translation>
+<translation id="3163201441334626963">Neznámý produkt <ph name="PRODUCT_ID" /> od dodavatele <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Někteří operátoři mohou tuto funkci blokovat.</translation>
 <translation id="316854673539778496">Chcete-li mít rozšíření ve všech zařízeních, přihlaste se a zapněte synchronizaci.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3953,6 +3954,7 @@
 <translation id="7002454948392136538">Vyberte správce tohoto dozorovaného uživatele</translation>
 <translation id="7003339318920871147">Webové databáze</translation>
 <translation id="7003723821785740825">Nastavte si rychlejší způsob odemknutí zařízení</translation>
+<translation id="7003844668372540529">Neznámý produkt <ph name="PRODUCT_ID" /> od dodavatele <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nedávno použité karty</translation>
 <translation id="7005848115657603926">Neplatný rozsah stránek. Příklad: <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Dolní okraj</translation>
@@ -5200,7 +5202,7 @@
 <translation id="8883847527783433352">Synchronizovat do jiného účtu</translation>
 <translation id="8885197664446363138">Funkce Smart Lock není k dispozici</translation>
 <translation id="88870264962436283">Používání funkce Touch ID s aplikací <ph name="APP_NAME" /></translation>
-<translation id="8888253246822647887">Aplikace se spustí po dokončení upgradu. Upgradování může trvat několik minut.</translation>
+<translation id="8888253246822647887">Aplikace se spustí po dokončení upgradu. Upgrade může trvat několik minut.</translation>
 <translation id="8888432776533519951">Barva:</translation>
 <translation id="8890516388109605451">Zdroje</translation>
 <translation id="8892168913673237979">Vše je nastaveno!</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 07446b5..a059321 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -1437,6 +1437,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (hardwarebaserede)</translation>
 <translation id="316125635462764134">Fjern appen</translation>
 <translation id="3161522574479303604">Alle sprog</translation>
+<translation id="3163201441334626963">Ukendt produkt, <ph name="PRODUCT_ID" />, fra leverandøren <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Nogle mobilselskaber blokerer muligvis denne funktion.</translation>
 <translation id="316854673539778496">Log ind, og aktivér synkronisering for at få alle dine udvidelser på alle dine enheder.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3957,6 +3958,7 @@
 <translation id="7002454948392136538">Vælg administrator for den administrerede bruger</translation>
 <translation id="7003339318920871147">Webdatabaser</translation>
 <translation id="7003723821785740825">Konfigurer en hurtigere måde at låse din enhed op på</translation>
+<translation id="7003844668372540529">Ukendt produkt, <ph name="PRODUCT_ID" />, fra <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Seneste faner</translation>
 <translation id="7005848115657603926">Ugyldigt sideinterval, brug <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Bundmargen</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index ddb93ed..c826a854 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -1434,6 +1434,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (hardwaregestützt)</translation>
 <translation id="316125635462764134">App entfernen</translation>
 <translation id="3161522574479303604">Alle Sprachen</translation>
+<translation id="3163201441334626963">Unbekanntes Produkt <ph name="PRODUCT_ID" /> von Anbieter <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Einige Mobilfunkanbieter blockieren diese Funktion möglicherweise.</translation>
 <translation id="316854673539778496">Wenn Sie Ihre Erweiterungen auf allen Ihren Geräten verfügbar haben möchten, melden Sie sich an und aktivieren Sie die Synchronisierung.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3953,6 +3954,7 @@
 <translation id="7002454948392136538">Manager für diesen betreuten Nutzer auswählen</translation>
 <translation id="7003339318920871147">Web-Datenbanken</translation>
 <translation id="7003723821785740825">Schnellere Methode zum Entsperren Ihres Geräts einrichten</translation>
+<translation id="7003844668372540529">Unbekanntes Produkt <ph name="PRODUCT_ID" /> von <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Zuletzt geöffnete Tabs</translation>
 <translation id="7005848115657603926">Ungültiger Seitenbereich, verwenden Sie <ph name="EXAMPLE_PAGE_RANGE" />.</translation>
 <translation id="7006634003215061422">Unterer Rand</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index a2fb4e2..f7b5493 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (βασιζόμενο σε υλικό)</translation>
 <translation id="316125635462764134">Κατάργηση εφαρμογής</translation>
 <translation id="3161522574479303604">Όλες οι γλώσσες</translation>
+<translation id="3163201441334626963">Άγνωστο προϊόν <ph name="PRODUCT_ID" /> από τον προμηθευτή <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Ορισμένες εταιρείες κινητής τηλεφωνίας ενδέχεται να αποκλείσουν αυτήν τη λειτουργία.</translation>
 <translation id="316854673539778496">Για να έχετε όλες τις επεκτάσεις σας σε όλες τις συσκευές σας, συνδεθείτε και ενεργοποιήστε τον συγχρονισμό.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">Επιλέξτε το διαχειριστή για αυτόν τον εποπτευόμενο χρήστη</translation>
 <translation id="7003339318920871147">Βάσεις δεδομένων ιστού</translation>
 <translation id="7003723821785740825">Ρυθμίστε έναν πιο γρήγορο τρόπο για να ξεκλειδώνετε τη συσκευή σας</translation>
+<translation id="7003844668372540529">Άγνωστο προϊόν <ph name="PRODUCT_ID" /> από <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Πρόσφατες καρτέλες</translation>
 <translation id="7005848115657603926">Μη έγκυρο εύρος σελίδας, χρησιμοποιήστε το <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Κάτω περιθώριο</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index d084592..9e268cd 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (hardware-backed)</translation>
 <translation id="316125635462764134">Remove app</translation>
 <translation id="3161522574479303604">All languages</translation>
+<translation id="3163201441334626963">Unknown product <ph name="PRODUCT_ID" /> from vendor <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Some operators might block this feature.</translation>
 <translation id="316854673539778496">To get all your extensions on all your devices, sign in and turn on sync.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3957,6 +3958,7 @@
 <translation id="7002454948392136538">Choose the manager for this supervised user</translation>
 <translation id="7003339318920871147">Web Databases</translation>
 <translation id="7003723821785740825">Set up a faster way to unlock your device</translation>
+<translation id="7003844668372540529">Unknown product <ph name="PRODUCT_ID" /> from <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Recent tabs</translation>
 <translation id="7005848115657603926">Invalid page range, use <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Bottom margin</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index f318d7b..d8f6188d 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -1436,6 +1436,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (copia de seguridad en hardware)</translation>
 <translation id="316125635462764134">Eliminar aplicación</translation>
 <translation id="3161522574479303604">Todos los idiomas</translation>
+<translation id="3163201441334626963">Producto desconocido <ph name="PRODUCT_ID" /> del proveedor <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Es posible que algunos proveedores bloqueen esta función.</translation>
 <translation id="316854673539778496">Para obtener todas tus extensiones en todos los dispositivos, accede a tu cuenta y activa la sincronización.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3955,6 +3956,7 @@
 <translation id="7002454948392136538">Elige el administrador para este usuario supervisado.</translation>
 <translation id="7003339318920871147">Bases de datos web</translation>
 <translation id="7003723821785740825">Configura una manera más rápida de desbloquear tu dispostivo</translation>
+<translation id="7003844668372540529">Producto desconocido <ph name="PRODUCT_ID" /> de <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Pestañas recientes</translation>
 <translation id="7005848115657603926">Rango de páginas no válido, utiliza <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margen inferior</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index c6483b1..cdbc5d8 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (respaldado por hardware)</translation>
 <translation id="316125635462764134">Eliminar aplicación</translation>
 <translation id="3161522574479303604">Todos los idiomas</translation>
+<translation id="3163201441334626963">Producto <ph name="PRODUCT_ID" /> del proveedor <ph name="VENDOR_ID" /> desconocido</translation>
 <translation id="3165390001037658081">Es posible que algunos operadores bloqueen esta función.</translation>
 <translation id="316854673539778496">Inicia sesión y activa la sincronización para ver tus extensiones en todos tus dispositivos.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3955,6 +3956,7 @@
 <translation id="7002454948392136538">Selecciona el administrador de este usuario supervisado</translation>
 <translation id="7003339318920871147">Bases de datos web</translation>
 <translation id="7003723821785740825">Configura una forma más rápida de desbloquear el dispositivo</translation>
+<translation id="7003844668372540529">Producto <ph name="PRODUCT_ID" /> de <ph name="VENDOR_NAME" /> desconocido</translation>
 <translation id="7004499039102548441">Pestañas recientes</translation>
 <translation id="7005848115657603926">Intervalo de páginas no válido, utilizar <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margen inferior</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index f451369..ed37d123 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (riistvaratoega)</translation>
 <translation id="316125635462764134">Eemalda rakendus</translation>
 <translation id="3161522574479303604">Kõik keeled</translation>
+<translation id="3163201441334626963">Tundmatu toode <ph name="PRODUCT_ID" /> teenusepakkujalt <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Mõned operaatorid võivad selle funktsooni blokeerida.</translation>
 <translation id="316854673539778496">Selleks et hankida kõik oma laiendused kõikidesse seadmetesse, logige sisse ja lülitage sünkroonimine sisse.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Valige valvatavale kasutajale haldur.</translation>
 <translation id="7003339318920871147">Veebiandmebaasid</translation>
 <translation id="7003723821785740825">Seadistage kiirem viis oma seadme avamiseks</translation>
+<translation id="7003844668372540529">Tundmatu toode <ph name="PRODUCT_ID" /> teenusepakkujalt <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Hiljutised vahelehed</translation>
 <translation id="7005848115657603926">Kehtetu lehevahemik, kasutage <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Alumine veeris</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 5bf3b05..4fdcd10a 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -1435,6 +1435,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (پشتیبان‌گیری‌شده در سخت‌افزار)</translation>
 <translation id="316125635462764134">حذف برنامه</translation>
 <translation id="3161522574479303604">همه زبان‌ها</translation>
+<translation id="3163201441334626963">محصول نامشخص <ph name="PRODUCT_ID" /> از فروشنده <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">برخی شرکت‌های مخابراتی ممکن است این قابلیت را مسدود کنند.</translation>
 <translation id="316854673539778496">برای اینکه همه افزونه‌هایتان را در همه دستگاه‌ها دریافت کنید، به سیستم وارد شوید و همگام‌سازی را روشن کنید.</translation>
 <translation id="3169472444629675720">کشف کردن</translation>
@@ -3954,6 +3955,7 @@
 <translation id="7002454948392136538">انتخاب مدیر برای این کاربر نظارت‌شده</translation>
 <translation id="7003339318920871147">پایگاه‌های داده وب</translation>
 <translation id="7003723821785740825">تنظیم روشی سریع‌تر جهت باز کردن قفل دستگاه</translation>
+<translation id="7003844668372540529">محصول نامشخص <ph name="PRODUCT_ID" /> از <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">برگه‌های جدید</translation>
 <translation id="7005848115657603926">محدوده صفحه معتبر نیست، از <ph name="EXAMPLE_PAGE_RANGE" /> استفاده کنید</translation>
 <translation id="7006634003215061422">حاشیه پایین</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index f94f720c..272e1bf 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -1440,6 +1440,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (laitteiston tukema)</translation>
 <translation id="316125635462764134">Poista sovellus</translation>
 <translation id="3161522574479303604">Kaikki kielet</translation>
+<translation id="3163201441334626963">Tuntematon tuote <ph name="PRODUCT_ID" /> toimittajalta <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Jotkin operaattorit saattavat estää tämän ominaisuuden.</translation>
 <translation id="316854673539778496">Kirjaudu sisään ja ota synkronointi käyttöön, niin voit käyttää laajennuksiasi kaikilla laitteilla.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Valitse tämän valvotun käyttäjän hallinnoija</translation>
 <translation id="7003339318920871147">Verkkotietokannat</translation>
 <translation id="7003723821785740825">Määritä laitteen nopeampi avaamistapa</translation>
+<translation id="7003844668372540529">Tuntematon tuote <ph name="PRODUCT_ID" /> toimittajalta <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Hiljattain suljetut välilehdet</translation>
 <translation id="7005848115657603926">Virheellinen sivualue, käytä esimerkiksi aluetta <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Alareuna</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index c0ba13a30..4a725cf 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (hardware-backed)</translation>
 <translation id="316125635462764134">Alisin ang app</translation>
 <translation id="3161522574479303604">Lahat ng wika</translation>
+<translation id="3163201441334626963">Hindi kilalang produkto na <ph name="PRODUCT_ID" /> mula sa vendor na <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Maaaring i-block ng ilang carrier ang feature na ito.</translation>
 <translation id="316854673539778496">Upang mailagay ang lahat ng iyong extension sa lahat ng device mo, mag-sign in at i-on ang pag-sync.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Piliin ang manager para sa pinangangasiwaang user na ito</translation>
 <translation id="7003339318920871147">Mga database ng web</translation>
 <translation id="7003723821785740825">Mag-set up ng mas mabilis na paraan upang i-unlock ang iyong device</translation>
+<translation id="7003844668372540529">Hindi kilalang produkto na <ph name="PRODUCT_ID" /> mula sa <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Mga Kamakailang Tab</translation>
 <translation id="7005848115657603926">Di-wastong saklaw ng pahina, gamitin ang <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margin sa ibaba</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index 9544c50..4daa5f86 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (matériel requis)</translation>
 <translation id="316125635462764134">Supprimer l'application</translation>
 <translation id="3161522574479303604">Toutes les langues</translation>
+<translation id="3163201441334626963">Produit inconnu <ph name="PRODUCT_ID" /> du fournisseur <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Certains opérateurs peuvent bloquer cette fonctionnalité.</translation>
 <translation id="316854673539778496">Pour accéder à toutes vos extensions sur tous vos appareils, connectez-vous et activez la synchronisation.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">Sélectionner le gestionnaire de cet utilisateur supervisé</translation>
 <translation id="7003339318920871147">Bases de données Web</translation>
 <translation id="7003723821785740825">Configurez une manière plus rapide de déverrouiller l'appareil</translation>
+<translation id="7003844668372540529">Produit inconnu <ph name="PRODUCT_ID" /> fourni par <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Onglets récents</translation>
 <translation id="7005848115657603926">Plage de pages non valide, veuillez utiliser <ph name="EXAMPLE_PAGE_RANGE" />.</translation>
 <translation id="7006634003215061422">Marge inférieure</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index 3babe2a..916b37e06 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -1435,6 +1435,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (હાર્ડવેર સમર્થિત)</translation>
 <translation id="316125635462764134">ઍપ્લિકેશન દૂર કરો</translation>
 <translation id="3161522574479303604">બધી ભાષાઓ</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> વિક્રેતાનું અજાણ્યું ઉત્પાદન <ph name="PRODUCT_ID" /></translation>
 <translation id="3165390001037658081">કેટલાક કૅરિઅર આ સુવિધાને અવરોધિત કરી શકે છે.</translation>
 <translation id="316854673539778496">તમારા બધા ઉપકરણો પર તમારા બધા એક્સ્ટેંશન મેળવવા માટે સાઇન ઇન કરો અને સિંક ચાલુ કરો.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3955,6 +3956,7 @@
 <translation id="7002454948392136538">આ નિરીક્ષણ કરેલ વપરાશકર્તા માટે સંચાલક પસંદ કરો</translation>
 <translation id="7003339318920871147">વેબ ડેટાબેસેસ</translation>
 <translation id="7003723821785740825">તમારું ઉપકરણ અનલૉક કરવા માટે એક ઝડપી રીત સેટ કરો</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> નું અજાણ્યું ઉત્પાદન <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">તાજેતરના ટૅબ્સ</translation>
 <translation id="7005848115657603926">અમાન્ય પૃષ્ઠ શ્રેણી, <ph name="EXAMPLE_PAGE_RANGE" /> નો ઉપયોગ કરો</translation>
 <translation id="7006634003215061422">નીચેનો હાસિયો</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 53295ec..6416a0d 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (हार्डवेयर समर्थित)</translation>
 <translation id="316125635462764134">ऐप्स निकालें</translation>
 <translation id="3161522574479303604">सभी भाषाएं</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> की ओर से अज्ञात <ph name="PRODUCT_ID" /> उत्पाद</translation>
 <translation id="3165390001037658081">कुछ वाहक इस सुविधा को बंद कर सकते हैं.</translation>
 <translation id="316854673539778496">अपने सभी डिवाइस पर अपने सारे एक्सटेंशन पाने के लिए, साइन इन करें और सिंक चालू करें.</translation>
 <translation id="3169472444629675720">तलाश करें</translation>
@@ -3957,6 +3958,7 @@
 <translation id="7002454948392136538">'निगरानी में रखे गए इस उपयोगकर्ता' के लिए प्रबंधक चुनें</translation>
 <translation id="7003339318920871147">वेब डेटाबेस</translation>
 <translation id="7003723821785740825">अपना डिवाइस अनलॉक करने के लिए कोई तेज़ तरीका सेट अप करें</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> की ओर से अज्ञात <ph name="PRODUCT_ID" /> उत्पाद</translation>
 <translation id="7004499039102548441">हाल के टैब</translation>
 <translation id="7005848115657603926">अमान्य पेज श्रेणी, <ph name="EXAMPLE_PAGE_RANGE" /> का उपयोग करें</translation>
 <translation id="7006634003215061422">निचला हाशिया</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index 3ca32bd..b26fbcd 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (s hardverskom podlogom)</translation>
 <translation id="316125635462764134">Ukloni aplikaciju</translation>
 <translation id="3161522574479303604">Svi jezici</translation>
+<translation id="3163201441334626963">Nepoznati proizvod <ph name="PRODUCT_ID" /> dobavljača <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Neki mobilni operateri mogu blokirati tu značajku.</translation>
 <translation id="316854673539778496">Da biste imali sva svoja proširenja na svim svojim uređajima, prijavite se i uključite sinkronizaciju.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Odaberite upravitelja za tog nadziranog korisnika</translation>
 <translation id="7003339318920871147">Web-baze podataka</translation>
 <translation id="7003723821785740825">Postavite brži način otključavanja uređaja</translation>
+<translation id="7003844668372540529">Nepoznati proizvod <ph name="PRODUCT_ID" />, <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
 <translation id="7005848115657603926">Nevažeći raspon stranica, upotrijebite <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Donja margina</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 436b02a..072146d 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -1440,6 +1440,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (hardverrel támogatott)</translation>
 <translation id="316125635462764134">Az alkalmazás eltávolítása</translation>
 <translation id="3161522574479303604">Minden nyelv</translation>
+<translation id="3163201441334626963">Ismeretlen termék (<ph name="PRODUCT_ID" />) a következő forgalmazótól: <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Egyes szolgáltatók letilthatják ezt a funkciót.</translation>
 <translation id="316854673539778496">Ha az összes eszközén szeretné elérni bővítményeit, jelentkezzen be, és kapcsolja be a szinkronizálást.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3960,6 +3961,7 @@
 <translation id="7002454948392136538">Felettes kiválasztása a felügyelt felhasználóhoz</translation>
 <translation id="7003339318920871147">Internetes adatbázisok</translation>
 <translation id="7003723821785740825">Gyorsabb megoldás beállítása az eszköz feloldásához</translation>
+<translation id="7003844668372540529">Ismeretlen termék (<ph name="PRODUCT_ID" />) a következő forgalmazótól: <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nemrég megnyitott lapok</translation>
 <translation id="7005848115657603926">Érvénytelen oldaltartomány; próbálja így: <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Alsó margó</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index fb7c6f9..4697fd8 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (dilindungi hardware)</translation>
 <translation id="316125635462764134">Buang aplikasi</translation>
 <translation id="3161522574479303604">Semua bahasa</translation>
+<translation id="3163201441334626963">Produk <ph name="PRODUCT_ID" /> tak dikenal dari vendor <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Beberapa operator mungkin memblokir fitur ini.</translation>
 <translation id="316854673539778496">Untuk mendapatkan semua ekstensi di semua perangkat, login dan aktifkan sinkronisasi.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Pilih pengelola untuk pengguna yang dilindungi ini</translation>
 <translation id="7003339318920871147">Basis data web</translation>
 <translation id="7003723821785740825">Menyiapkan cara tercepat untuk membuka kunci perangkat</translation>
+<translation id="7003844668372540529">Produk <ph name="PRODUCT_ID" /> tak dikenal dari <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Tab Baru-baru Ini</translation>
 <translation id="7005848115657603926">Rentang halaman tidak valid, gunakan <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Batas bawah</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index 07d5117..a5009d4 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -1437,6 +1437,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (con supporto hardware)</translation>
 <translation id="316125635462764134">Rimuovi app</translation>
 <translation id="3161522574479303604">Tutte le lingue</translation>
+<translation id="3163201441334626963">Prodotto sconosciuto <ph name="PRODUCT_ID" /> del fornitore <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">La funzione potrebbe essere bloccata da alcuni operatori.</translation>
 <translation id="316854673539778496">Accedi e attiva la sincronizzazione per trovare tutte le tue estensioni su tutti i dispositivi.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3953,6 +3954,7 @@
 <translation id="7002454948392136538">Scegli il gestore di questo utente supervisionato</translation>
 <translation id="7003339318920871147">Database web</translation>
 <translation id="7003723821785740825">Configura un metodo più rapido per sbloccare il dispositivo</translation>
+<translation id="7003844668372540529">Prodotto sconosciuto <ph name="PRODUCT_ID" /> di <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Schede recenti</translation>
 <translation id="7005848115657603926">Intervallo di pagine non valido; utilizza <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margine inferiore</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index 7ede17a..cda6d51 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -1436,6 +1436,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (בגיבוי חומרה)</translation>
 <translation id="316125635462764134">הסר יישום</translation>
 <translation id="3161522574479303604">כל השפות</translation>
+<translation id="3163201441334626963">מוצר לא ידוע <ph name="PRODUCT_ID" /> מהספק <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">ייתכן שספקים מסוימים חוסמים את התכונה הזו.</translation>
 <translation id="316854673539778496">כדי שכל התוספים שלך יהיו זמינים בכל המכשירים שברשותך, צריך להיכנס ולהפעיל את הסינכרון.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3956,6 +3957,7 @@
 <translation id="7002454948392136538">בחר את המנהל עבור משתמש בפיקוח זה</translation>
 <translation id="7003339318920871147">מסדי נתונים באינטרנט</translation>
 <translation id="7003723821785740825">הגדרת דרך מהירה יותר לביטול נעילת המכשיר</translation>
+<translation id="7003844668372540529">מוצר לא ידוע <ph name="PRODUCT_ID" /> מאת <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">כרטיסיות אחרונות</translation>
 <translation id="7005848115657603926">טווח דפים לא חוקי, השתמש ב-<ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">שוליים תחתונים</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index e0d2ffb..2d1401630 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />](ハードウェアにより保護を強化)</translation>
 <translation id="316125635462764134">アプリを削除</translation>
 <translation id="3161522574479303604">すべての言語</translation>
+<translation id="3163201441334626963">不明な商品(<ph name="PRODUCT_ID" />、ベンダー: <ph name="VENDOR_ID" />)</translation>
 <translation id="3165390001037658081">携帯通信会社によってはこの機能を利用できない場合があります。</translation>
 <translation id="316854673539778496">お使いのどの端末でも同じ拡張機能を使用するには、ログインして同期を有効にします。</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">この監視対象ユーザーの管理者を選択</translation>
 <translation id="7003339318920871147">ウェブ データベース</translation>
 <translation id="7003723821785740825">端末のロックをすばやく解除する方法を設定できます</translation>
+<translation id="7003844668372540529">不明な商品(<ph name="PRODUCT_ID" />、ベンダー: <ph name="VENDOR_NAME" />)</translation>
 <translation id="7004499039102548441">最近使ったタブ</translation>
 <translation id="7005848115657603926">ページ範囲が無効です。<ph name="EXAMPLE_PAGE_RANGE" /> の範囲で指定してください。</translation>
 <translation id="7006634003215061422">下余白</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index b350ed20..0f3f049 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -1435,6 +1435,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (ಹಾರ್ಡ್‌ವೇರ್-ಹಿಂದಕ್ಕೆ ಪಡೆದ)</translation>
 <translation id="316125635462764134">ಅಪ್ಲಿಕೇಶನ್ ತೆಗೆದುಹಾಕು</translation>
 <translation id="3161522574479303604">ಎಲ್ಲಾ ಭಾಷೆಗಳು</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> ಮಾರಾಟಗಾರರಿಂದ <ph name="PRODUCT_ID" /> ಅಪರಿಚಿತ ಉತ್ಪನ್ನ</translation>
 <translation id="3165390001037658081">ಕೆಲವು ವಾಹಕಗಳು ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿರ್ಬಂಧಿಸಬಹುದು.</translation>
 <translation id="316854673539778496">ನಿಮ್ಮ ಎಲ್ಲಾ ಸಾಧನಗಳಲ್ಲಿ ನಿಮ್ಮ ಎಲ್ಲಾ ವಿಸ್ತರಣೆಗಳನ್ನು ಪಡೆಯಲು, ಸೈನ್ ಇನ್ ಮಾಡಿ ಮತ್ತು ಸಿಂಕ್ ಆನ್ ಮಾಡಿ.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3955,6 +3956,7 @@
 <translation id="7002454948392136538">ಈ ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರಿಗಾಗಿ ನಿರ್ವಾಹಕರನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="7003339318920871147">ವೆಬ್ ಡೇಟಾಬೇಸ್‌ಗಳು</translation>
 <translation id="7003723821785740825">ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ತ್ವರಿತವಾದ ದಾರಿಯನ್ನು ಹೊಂದಿಸಿ</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> ಅವರಿಂದ <ph name="PRODUCT_ID" /> ಅಪರಿಚಿತ ಉತ್ಪನ್ನ</translation>
 <translation id="7004499039102548441">ಇತ್ತೀಚಿನ ಟ್ಯಾಬ್‌ಗಳು</translation>
 <translation id="7005848115657603926">ಅಮಾನ್ಯ  ಪುಟ  ಶ್ರೇಣಿ, <ph name="EXAMPLE_PAGE_RANGE" /> ಬಳಸಿ</translation>
 <translation id="7006634003215061422">ಕೆಳಗಿನ ಅಂಚು</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 4780c41..f116cbd 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />](하드웨어에 백업됨)</translation>
 <translation id="316125635462764134">앱 제거</translation>
 <translation id="3161522574479303604">모든 언어</translation>
+<translation id="3163201441334626963">공급업체 <ph name="VENDOR_ID" />의 알 수 없는 제품 <ph name="PRODUCT_ID" /></translation>
 <translation id="3165390001037658081">일부 이동통신사는 이 기능을 차단할 수도 있습니다.</translation>
 <translation id="316854673539778496">어느 기기에서나 내 확장 프로그램을 모두 사용하려면 로그인하여 동기화를 사용 설정하세요.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3956,6 +3957,7 @@
 <translation id="7002454948392136538">이 관리 대상 사용자에 대한 관리자 선택</translation>
 <translation id="7003339318920871147">웹 데이터베이스</translation>
 <translation id="7003723821785740825">지문을 설정하여 기기를 더욱 빠르게 잠금 해제</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" />의 알 수 없는 제품 <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">최근 탭</translation>
 <translation id="7005848115657603926">잘못된 페이지 범위입니다. <ph name="EXAMPLE_PAGE_RANGE" />을(를) 사용하세요.</translation>
 <translation id="7006634003215061422">하단 여백</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index c297888b..03e7ee77 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (atsarginė kopija sukurta aparatinėje įrangoje)</translation>
 <translation id="316125635462764134">Pašalinti programą</translation>
 <translation id="3161522574479303604">Visos kalbos</translation>
+<translation id="3163201441334626963">Nežinomas produktas „<ph name="PRODUCT_ID" />“ iš teikėjo „<ph name="VENDOR_ID" />“</translation>
 <translation id="3165390001037658081">Kai kurie operatoriai gali blokuoti šią funkciją.</translation>
 <translation id="316854673539778496">Jei norite gauti visus plėtinius visuose įrenginiuose, prisijunkite ir įjunkite sinchronizavimą.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">Pasirinkti šio prižiūrimo naudotojo valdytoją</translation>
 <translation id="7003339318920871147">Žiniatinklio duomenys</translation>
 <translation id="7003723821785740825">Nustatykite, kad galėtumėte greičiau atrakinti įrenginį</translation>
+<translation id="7003844668372540529">Nežinomas produktas „<ph name="PRODUCT_ID" />“ iš „<ph name="VENDOR_NAME" />“</translation>
 <translation id="7004499039102548441">Naujausi skirtukai</translation>
 <translation id="7005848115657603926">Neteisingas puslapių diapazonas, naudokite <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Apatinė paraštė</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 72ade1b..0c241b2 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (ar krātuvi aparatūrā)</translation>
 <translation id="316125635462764134">Noņemt lietotni</translation>
 <translation id="3161522574479303604">Visas valodas</translation>
+<translation id="3163201441334626963">Nezināms produkts (ID: <ph name="PRODUCT_ID" />), ko piedāvā <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Daļa mobilo sakaru operatoru var bloķēt šo funkciju.</translation>
 <translation id="316854673539778496">Lai paplašinājumi būtu pieejami visās jūsu ierīcēs, pierakstieties un ieslēdziet sinhronizāciju.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Uzraudzītā lietotāja pārziņa izvēle</translation>
 <translation id="7003339318920871147">Tīmekļa datu bāzes</translation>
 <translation id="7003723821785740825">Iestatiet ātrāku ierīces atbloķēšanas veidu</translation>
+<translation id="7003844668372540529">Nezināms produkts (ID: <ph name="PRODUCT_ID" />), ko piedāvā <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nesen atvērtas cilnes</translation>
 <translation id="7005848115657603926">Nederīgs lappušu diapazons; izmantojiet <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Apakšējā piemale</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index f5d3c24..5598e5d7 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -1436,6 +1436,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (ഹാർഡ്‌വെയർ പിന്തുണയുള്ളത്)</translation>
 <translation id="316125635462764134">അപ്ലിക്കേഷൻ നിക്കം ചെയ്യുക</translation>
 <translation id="3161522574479303604">എല്ലാ ഭാഷകളും</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> വെൻഡറിൽ നിന്നുള്ള അജ്ഞാത ഉൽപ്പന്നം <ph name="PRODUCT_ID" /></translation>
 <translation id="3165390001037658081">ചില സേവനദായകർ ഈ ഫീച്ചർ ബ്ലോക്കുചെയ്‌തേക്കും.</translation>
 <translation id="316854673539778496">നിങ്ങളുടെ വിപുലീകരണങ്ങൾ എല്ലാ ഉപകരണങ്ങളിലും ലഭിക്കാൻ, സൈൻ ഇൻ ചെയ്‌ത്, 'സമന്വയിപ്പിക്കൽ' ഓണാക്കുക.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3957,6 +3958,7 @@
 <translation id="7002454948392136538">സൂപ്പർവൈസ് ചെയ്‌ത ഈ ഉപയോക്താവിനായി മാനേജറെ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="7003339318920871147">വെബ് ഡാറ്റാബേസുകള്‍‌</translation>
 <translation id="7003723821785740825">നിങ്ങളുടെ ഉപകരണം അൺലോക്ക് ചെയ്യാൻ ഒരു വേഗതയേറിയ മാർഗ്ഗം സജ്ജമാക്കുക</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> എന്നതിൽ നിന്നുള്ള അജ്ഞാത ഉൽപ്പന്നം <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">സമീപകാല ടാബുകൾ</translation>
 <translation id="7005848115657603926">അസാധുവായ പേജ് റേഞ്ച്, <ph name="EXAMPLE_PAGE_RANGE" /> എന്നത് ഉപയോഗിക്കുക</translation>
 <translation id="7006634003215061422">ചുവടെയുള്ള മാർജിൻ</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 9870a3b4..9737098 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (हार्डवेअर-बॅक्ड)</translation>
 <translation id="316125635462764134">ॲप काढून टाका</translation>
 <translation id="3161522574479303604">सर्व भाषा</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> विक्रेत्याकडील <ph name="PRODUCT_ID" /> अज्ञात उत्पादन</translation>
 <translation id="3165390001037658081">काही वाहक हे वैशिष्ट्य अवरोधित शकतात.</translation>
 <translation id="316854673539778496">तुमच्या सर्व डिव्हाइसवर तुमचे सर्व एक्स्टेंशन मिळवण्यासाठी, साइन इन करा आणि सिंंक करणे चालू करा.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">या पर्यवेक्षी वापरकर्त्यासाठी व्यवस्थापक निवडा</translation>
 <translation id="7003339318920871147">वेब डेटाबेस</translation>
 <translation id="7003723821785740825">तुमचे डिव्हाइस अनलॉक करण्‍यासाठी एक द्रुत मार्ग सेट करा</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> कडील <ph name="PRODUCT_ID" /> अज्ञात उत्पादन</translation>
 <translation id="7004499039102548441">अलीकडील टॅब</translation>
 <translation id="7005848115657603926">चुकीचे पेज वर्गवारी, <ph name="EXAMPLE_PAGE_RANGE" /> वापरा</translation>
 <translation id="7006634003215061422">तळाचा समास</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index d20cdf2c..cac5938 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -1440,6 +1440,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (disokong perkakasan)</translation>
 <translation id="316125635462764134">Alih keluar apl</translation>
 <translation id="3161522574479303604">Semua bahasa</translation>
+<translation id="3163201441334626963">Produk <ph name="PRODUCT_ID" /> daripada vendor <ph name="VENDOR_ID" /> tidak diketahui</translation>
 <translation id="3165390001037658081">Sesetengah pembawa mungkin menyekat ciri ini.</translation>
 <translation id="316854673539778496">Log masuk dan hidupkan penyegerakan untuk mendapatkan semua sambungan pada semua peranti anda.</translation>
 <translation id="3169472444629675720">Temui</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">Pilih pengurus untuk pengguna yang diselia ini</translation>
 <translation id="7003339318920871147">Pangkalan data web</translation>
 <translation id="7003723821785740825">Sediakan cara yang lebih cepat untuk membuka kunci peranti anda</translation>
+<translation id="7003844668372540529">Produk <ph name="PRODUCT_ID" /> daripada <ph name="VENDOR_NAME" /> tidak diketahui</translation>
 <translation id="7004499039102548441">Tab Terbaharu</translation>
 <translation id="7005848115657603926">Julat halaman tidak sah, gunakan <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Jidar bawah</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 5152ef83..dd5e2fb 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (met hardwareondersteuning)</translation>
 <translation id="316125635462764134">App verwijderen</translation>
 <translation id="3161522574479303604">Alle talen</translation>
+<translation id="3163201441334626963">Onbekend product <ph name="PRODUCT_ID" /> van leverancier <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Sommige providers kunnen deze functie blokkeren.</translation>
 <translation id="316854673539778496">Log in en schakel synchronisatie in om al je extensies op al je apparaten beschikbaar te maken.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">De beheerder voor deze gebruiker met beperkte rechten kiezen</translation>
 <translation id="7003339318920871147">Webdatabases</translation>
 <translation id="7003723821785740825">Stel een snellere manier in om je apparaat te ontgrendelen</translation>
+<translation id="7003844668372540529">Onbekend product <ph name="PRODUCT_ID" /> van <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Recent gebruikte tabbladen</translation>
 <translation id="7005848115657603926">Ongeldig paginabereik, gebruik <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Marge onderkant</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 0af7e42..94f7a51 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -1435,6 +1435,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (maskinvarestøttet)</translation>
 <translation id="316125635462764134">Fjern appen</translation>
 <translation id="3161522574479303604">Alle språk</translation>
+<translation id="3163201441334626963">Ukjent produkt, <ph name="PRODUCT_ID" />, fra leverandøren <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Det kan hende at enkelte operatører blokkerer denne funksjonen.</translation>
 <translation id="316854673539778496">For å få alle utvidelsene dine på alle enhetene du bruker, logg på og slå på synkronisering.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3951,6 +3952,7 @@
 <translation id="7002454948392136538">Velg administratoren for denne administrerte brukeren</translation>
 <translation id="7003339318920871147">Nettdatabaser</translation>
 <translation id="7003723821785740825">Konfigurer en raskere måte å låse opp enheten din på</translation>
+<translation id="7003844668372540529">Ukjent produkt, <ph name="PRODUCT_ID" />, fra <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nylige faner</translation>
 <translation id="7005848115657603926">Ugyldig sideområde. Bruk <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Bunnmarg</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 152e856..7369c48 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (obsługiwany sprzętowo)</translation>
 <translation id="316125635462764134">Usuń aplikację</translation>
 <translation id="3161522574479303604">Wszystkie języki</translation>
+<translation id="3163201441334626963">Nieznany produkt <ph name="PRODUCT_ID" />, którego producent to <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Niektórzy operatorzy mogą blokować tę funkcję.</translation>
 <translation id="316854673539778496">Aby korzystać ze wszystkich swoich rozszerzeń na innych urządzeniach, zaloguj się i włącz synchronizację.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Wybierz menedżera dla tego użytkownika nadzorowanego</translation>
 <translation id="7003339318920871147">Sieciowe bazy danych</translation>
 <translation id="7003723821785740825">Skonfiguruj szybszy sposób odblokowania urządzenia</translation>
+<translation id="7003844668372540529">Nieznany produkt <ph name="PRODUCT_ID" /> firmy <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Ostatnie karty</translation>
 <translation id="7005848115657603926">Nieprawidłowy zakres stron, użyj formatu <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Dolny margines</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index c31c924..f47e998 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (no hardware)</translation>
 <translation id="316125635462764134">Remover aplicativo</translation>
 <translation id="3161522574479303604">Todos os idiomas</translation>
+<translation id="3163201441334626963">Produto <ph name="PRODUCT_ID" /> desconhecido do fornecedor <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Algumas operadoras podem bloquear esse recurso.</translation>
 <translation id="316854673539778496">Para ter todas as suas extensões em todos os seus dispositivos, faça login e ative a sincronização.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3960,6 +3961,7 @@
 <translation id="7002454948392136538">Escolha o gerente para este usuário supervisionado</translation>
 <translation id="7003339318920871147">Bancos de dados da web</translation>
 <translation id="7003723821785740825">Configure uma forma mais rápida de desbloquear seu dispositivo</translation>
+<translation id="7003844668372540529">Produto <ph name="PRODUCT_ID" /> desconhecido de <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Guias recentes</translation>
 <translation id="7005848115657603926">Intervalo de páginas inválido. Use <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margem inferior</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 48b964e..e507e31 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (suportado por hardware)</translation>
 <translation id="316125635462764134">Remover aplicação</translation>
 <translation id="3161522574479303604">Todos os idiomas</translation>
+<translation id="3163201441334626963">Produto desconhecido <ph name="PRODUCT_ID" /> do fornecedor <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Alguns operadores podem bloquear esta funcionalidade.</translation>
 <translation id="316854673539778496">Para obter todas as suas extensões em todos os dispositivos, inicie sessão e ative a sincronização.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">Escolher o gestor para este utilizador supervisionado</translation>
 <translation id="7003339318920871147">Base de dados da Web</translation>
 <translation id="7003723821785740825">Configure uma forma mais rápida de desbloquear o seu dispositivo</translation>
+<translation id="7003844668372540529">Produto desconhecido <ph name="PRODUCT_ID" /> de <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Separadores recentes</translation>
 <translation id="7005848115657603926">Intervalo de páginas inválido, utilize <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margem inferior</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index 0cdd6a21..d0264bb42 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (stocat pe hardware)</translation>
 <translation id="316125635462764134">Eliminați aplicația</translation>
 <translation id="3161522574479303604">Toate limbile</translation>
+<translation id="3163201441334626963">Produs necunoscut <ph name="PRODUCT_ID" /> de la furnizorul <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Este posibil ca unii operatori să blocheze funcția.</translation>
 <translation id="316854673539778496">Pentru a accesa toate extensiile pe toate dispozitivele, conectează-te și activează sincronizarea.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Alegeți administratorul pentru acest utilizator monitorizat</translation>
 <translation id="7003339318920871147">Baze de date web</translation>
 <translation id="7003723821785740825">Configurează o modalitate mai rapidă de a debloca dispozitivul</translation>
+<translation id="7003844668372540529">Produs necunoscut <ph name="PRODUCT_ID" /> de la <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">File recente</translation>
 <translation id="7005848115657603926">Interval de pagini nevalid, utilizează <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Margine jos</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index 411a765..9038970e 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> (<ph name="ISSUED_TO" />). Поддерживается аппаратным обеспечением.</translation>
 <translation id="316125635462764134">Удалить приложение</translation>
 <translation id="3161522574479303604">Все языки</translation>
+<translation id="3163201441334626963">Неизвестный продукт <ph name="PRODUCT_ID" /> от поставщика <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Некоторые операторы могут блокировать эту функцию.</translation>
 <translation id="316854673539778496">Чтобы получить доступ к расширениям на всех своих устройствах, войдите в аккаунт и включите синхронизацию.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Выбор менеджера для этого контролируемого профиля</translation>
 <translation id="7003339318920871147">Базы данных в Интернете</translation>
 <translation id="7003723821785740825">Настроить разблокировку с помощью отпечатка</translation>
+<translation id="7003844668372540529">Неизвестный продукт <ph name="PRODUCT_ID" /> от <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Недавние вкладки</translation>
 <translation id="7005848115657603926">Недопустимый диапазон страниц. Используйте <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Нижнее поле</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index 0489810..11f6bf4 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -1437,6 +1437,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (chránené hardvérom)</translation>
 <translation id="316125635462764134">Odstrániť aplikáciu</translation>
 <translation id="3161522574479303604">Všetky jazyky</translation>
+<translation id="3163201441334626963">Neznámy produkt <ph name="PRODUCT_ID" /> od dodávateľa <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Niektorí operátori môžu túto funkciu blokovať.</translation>
 <translation id="316854673539778496">Ak chcete získať svoje rozšírenia vo všetkých zariadeniach, prihláste sa a zapnite synchronizáciu.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3956,6 +3957,7 @@
 <translation id="7002454948392136538">Vyberte správcu pre tohto kontrolovaného používateľa</translation>
 <translation id="7003339318920871147">Webové databázy</translation>
 <translation id="7003723821785740825">Nastavte rýchlejší spôsob odomknutia zariadenia</translation>
+<translation id="7003844668372540529">Neznámy produkt <ph name="PRODUCT_ID" /> od dodávateľa <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nedávne karty</translation>
 <translation id="7005848115657603926">Neplatný rozsah stránok, použite formát <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Dolný okraj</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index 531471b..c36ef4ee 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (podprto s strojno opremo)</translation>
 <translation id="316125635462764134">Odstrani aplikacijo</translation>
 <translation id="3161522574479303604">Vsi jeziki</translation>
+<translation id="3163201441334626963">Neznan izdelek <ph name="PRODUCT_ID" /> dobavitelja <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Nekateri operaterji morda blokirajo to funkcijo.</translation>
 <translation id="316854673539778496">Če želite dostopati do razširitev v vseh napravah, se prijavite in vklopite sinhronizacijo.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3960,6 +3961,7 @@
 <translation id="7002454948392136538">Izbira upravitelja za tega zaščitenega uporabnika</translation>
 <translation id="7003339318920871147">Spletne zbirke podatkov</translation>
 <translation id="7003723821785740825">Nastavitev hitrejšega načina odklepanja naprave</translation>
+<translation id="7003844668372540529">Neznan izdelek <ph name="PRODUCT_ID" /> dobavitelja <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Nedavni zavihki</translation>
 <translation id="7005848115657603926">Neveljaven obseg strani, uporabite <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Spodnji rob</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index 46baf884..aa34eae 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -1435,6 +1435,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (хардвер је сертификован)</translation>
 <translation id="316125635462764134">Уклони апликацију</translation>
 <translation id="3161522574479303604">Сви језици</translation>
+<translation id="3163201441334626963">Непознати производ <ph name="PRODUCT_ID" /> продавца <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Неки мобилни оператери могу да блокирају ову функцију.</translation>
 <translation id="316854673539778496">Да би вам додаци били доступни на свим уређајима, пријавите се и укључите синхронизацију.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3330,7 +3331,7 @@
 <translation id="6041155700700864984">Изађи из целог екрана</translation>
 <translation id="604124094241169006">Аутоматски</translation>
 <translation id="6042169520002885235">Изаберите произвођача и модел штампача</translation>
-<translation id="6042308850641462728">Још</translation>
+<translation id="6042308850641462728">Више</translation>
 <translation id="6043317578411397101"><ph name="APP_NAME" /> дели Chrome картицу са <ph name="TAB_NAME" />.</translation>
 <translation id="6044805581023976844"><ph name="APP_NAME" /> дели Chrome картицу и звук са <ph name="TAB_NAME" />.</translation>
 <translation id="6045021379489914695">Chromebook и Android телефон боље раде заједно. Повежите их да бисте могли да шаљете SMS-ове помоћу рачунара, делите интернет везу и откључавате Chromebook помоћу телефона.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
@@ -3956,6 +3957,7 @@
 <translation id="7002454948392136538">Избор менаџера за овог корисника под надзором</translation>
 <translation id="7003339318920871147">Веб базе података</translation>
 <translation id="7003723821785740825">Подесите бржи начин откључавања уређаја</translation>
+<translation id="7003844668372540529">Непознати производ <ph name="PRODUCT_ID" /> продавца <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Недавне картице</translation>
 <translation id="7005848115657603926">Неисправан опсег страница, користите <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Доња маргина</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 6653307..2b2aa62 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (med maskinvarustöd)</translation>
 <translation id="316125635462764134">Ta bort app</translation>
 <translation id="3161522574479303604">Alla språk</translation>
+<translation id="3163201441334626963">Okänd produkt (<ph name="PRODUCT_ID" />) från leverantören <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Vissa operatörer kanske blockerar den här funktionen.</translation>
 <translation id="316854673539778496">Logga in och aktivera synkronisering om du vill ha samma tillägg tillgängliga oavsett vilken enhet du använder.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3957,6 +3958,7 @@
 <translation id="7002454948392136538">Välj ansvarig för den här kontrollerade användaren</translation>
 <translation id="7003339318920871147">Webbdatabaser</translation>
 <translation id="7003723821785740825">Konfigurera ett snabbare sätt för att låsa upp enheten</translation>
+<translation id="7003844668372540529">Okänd produkt (<ph name="PRODUCT_ID" />) från <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Senaste flikarna</translation>
 <translation id="7005848115657603926">Ogiltigt sidintervall, använd <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Nedre marginal</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 3fa488b..2e40761 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -1435,6 +1435,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (inatumia maunzi)</translation>
 <translation id="316125635462764134">Ondoa programu</translation>
 <translation id="3161522574479303604">Lugha zote</translation>
+<translation id="3163201441334626963">Bidhaa isiyojulikana <ph name="PRODUCT_ID" /> kutoka kwa mchuuzi <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Huenda watoa huduma wengine wakazuia kipengele hiki.</translation>
 <translation id="316854673539778496">Ingia katika akaunti na uwashe kipengele cha usawazishaji ili upate viendelezi vyako vyote kwenye vifaa vyako vyote.</translation>
 <translation id="3169472444629675720">Gundua</translation>
@@ -3949,6 +3950,7 @@
 <translation id="7002454948392136538">Chagua mdhibiti wa mtumiaji huyu anayesimamiwa</translation>
 <translation id="7003339318920871147">Hifadhidata za wavuti</translation>
 <translation id="7003723821785740825">Weka njia ya haraka zaidi ya kufungua kifaa chako</translation>
+<translation id="7003844668372540529">Bidhaa isiyojulikana <ph name="PRODUCT_ID" /> kutoka kwa <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Vichupo vya Hivi Punde</translation>
 <translation id="7005848115657603926">Kiwango batili cha ukurasa, tumia <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Pambizo ya chini</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 8651b99..1686aa8 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -1440,6 +1440,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (வன்பொருளில் சேமிக்கப்பட்டிருக்கும்)</translation>
 <translation id="316125635462764134">பயன்பாட்டை அகற்று</translation>
 <translation id="3161522574479303604">எல்லா மொழிகளும்</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> அனுப்பிய <ph name="PRODUCT_ID" /> தயாரிப்பை அறிய முடியவில்லை.</translation>
 <translation id="3165390001037658081">சில தொலைத்தொடர்பு நிறுவனங்கள் இந்த அம்சத்தைத் தடுக்கலாம்.</translation>
 <translation id="316854673539778496">உங்கள் எல்லாச் சாதனங்களிலும் நீட்டிப்புகளைப் பெற, உள்நுழைந்து, ஒத்திசைவை இயக்கவும்.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">இந்தக் கண்காணிக்கப்படும் பயனருக்கான நிர்வாகியைத் தேர்வுசெய்க</translation>
 <translation id="7003339318920871147">வலை தரவுத்தளங்கள்</translation>
 <translation id="7003723821785740825">சாதனத்தை விரைவாகத் திறப்பதற்கான வழியை அமைக்கவும்</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> அனுப்பிய <ph name="PRODUCT_ID" /> தயாரிப்பை அறிய முடியவில்லை</translation>
 <translation id="7004499039102548441">சமீபத்திய தாவல்கள்</translation>
 <translation id="7005848115657603926">தவறான பக்க வரம்பு, <ph name="EXAMPLE_PAGE_RANGE" /> ஐப் பயன்படுத்தவும்</translation>
 <translation id="7006634003215061422">கீழ் ஓரம்</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index ae5fe89..25d5a67 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -9,7 +9,7 @@
 <translation id="1007408791287232274">పరికరాలను లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="1008186147501209563">బుక్‌మార్క్‌లను ఎగుమతి చేయండి</translation>
 <translation id="1010833424573920260">{NUM_PAGES,plural, =1{పేజీ ప్రతిస్పందించడం లేదు}other{పేజీలు ప్రతిస్పందించడం లేదు}}</translation>
-<translation id="1012794136286421601">మీ డాక్స్, షీట్‌లు, స్లయిడ్‌లు మరియు డ్రాయింగ్‌ల ఫైల్‌లు సింక్ చేయ‌బ‌డుతున్నాయి. వీటిని ఆన్‌లైన్ లేదా ఆఫ్‌లైన్‌లో యాక్సెస్‌ చేయడానికి Google డిస్క్ యాప్‌ను తెరవండి.</translation>
+<translation id="1012794136286421601">మీ డాక్స్, షీట్‌లు, స్లయిడ్‌లు మరియు డ్రాయింగ్‌ల ఫైల్‌లు సమకాలీకరించబడుతున్నాయి. వీటిని ఆన్‌లైన్ లేదా ఆఫ్‌లైన్‌లో యాక్సెస్ చేయడానికి Google డిస్క్ యాప్‌ని తెరవండి.</translation>
 <translation id="1012876632442809908">USB-C పరికరం (ముందువైపు పోర్ట్)</translation>
 <translation id="1013707859758800957">ఈ పేజీలో అమలు కావడానికి శాండ్‌బాక్స్ చేయని ప్లగిన్ అనుమతించబడింది.</translation>
 <translation id="1015318665228971643">ఫోల్డర్ పేరును సవరించండి</translation>
@@ -23,11 +23,11 @@
 <translation id="1030706264415084469"><ph name="URL" /> శాశ్వతంగా అధిక డేటాను మీ పరికరంలో నిల్వ చేయాలనుకుంటోంది</translation>
 <translation id="1031362278801463162">ప్రివ్యూ లోడ్ అవుతోంది</translation>
 <translation id="103279545524624934">Android యాప్‌లను ప్రారంభించడానికి డిస్క్ స్థలాన్ని ఖాళీ చేయండి.</translation>
-<translation id="1033780634303702874">మీ క్రమానుసార పరికరాలను ప్రాప్యత చేయడం</translation>
+<translation id="1033780634303702874">మీ క్రమానుసార పరికరాలను యాక్సెస్ చేయడం</translation>
 <translation id="1035094536595558507">స్లయిడ్ వీక్షణ</translation>
 <translation id="1035590878859356651">ఈ పేజీని బుక్‌మార్క్ చేయండి...</translation>
 <translation id="1036348656032585052">ఆఫ్ చేయి</translation>
-<translation id="1036511912703768636">ఈ USB పరికరాల్లో వేటికైనా ప్రాప్యత</translation>
+<translation id="1036511912703768636">ఈ USB పరికరాల్లో వేటికైనా యాక్సెస్</translation>
 <translation id="1036982837258183574">పూర్తి స్క్రీన్‌ నుండి నిష్క్రమించడానికి |<ph name="ACCELERATOR" />| నొక్కండి</translation>
 <translation id="1038168778161626396">కోడ్ మాత్రమే</translation>
 <translation id="1039337018183941703">ఫైల్ చెల్లదు లేదా పాడైంది</translation>
@@ -59,7 +59,7 @@
 <translation id="1071917609930274619">డేటా గుప్తీకరణ</translation>
 <translation id="1076698951459398590">థీమ్‌ను ప్రారంభించు</translation>
 <translation id="1076818208934827215">Microsoft Internet Explorer</translation>
-<translation id="1079766198702302550">ఎల్లప్పుడూ కెమెరా ప్రాప్యతను బ్లాక్ చేయి</translation>
+<translation id="1079766198702302550">ఎల్లప్పుడూ కెమెరా యాక్సెస్‌ను బ్లాక్ చేయి</translation>
 <translation id="1082398631555931481"><ph name="THIRD_PARTY_TOOL_NAME" /> మీ Chrome సెట్టింగ్‌లను వాటి అసలు డిఫాల్ట్‌లకు పునరుద్ధరించాలనుకుంటోంది. ఇది మీ హోమ్ పేజీని, కొత్త ట్యాబ్ పేజీని మరియు శోధన ఇంజిన్‌ను రీసెట్ చేస్తుంది, మీ ఎక్స్‌టెన్షన్‌లను నిలిపివేస్తుంది మరియు ట్యాబ్‌లు అన్నింటినీ అన్‌పిన్ చేస్తుంది. ఇది కుక్కీలు, కంటెంట్ మరియు సైట్ డేటా వంటి ఇతర తాత్కాలిక మరియు కాష్ చేసిన డేటాను కూడా తీసివేస్తుంది.</translation>
 <translation id="1082725763867769612">ఆఫ్‌లైన్ ఫైల్‌లు</translation>
 <translation id="1084824384139382525">లింక్ చిరు&amp;నామాను కాపీ చెయ్యి</translation>
@@ -85,18 +85,18 @@
 <translation id="111844081046043029">మీరు దీన్ని ఖచ్చితంగా వదిలేయాలనుకుంటున్నారా?</translation>
 <translation id="1118738876271697201">పరికర మోడల్ లేదా క్రమ సంఖ్యను గుర్తించడంలో సిస్టమ్ విఫలమైంది.</translation>
 <translation id="1119069657431255176">Bzip2 కుదించిన tar ఆర్కైవ్</translation>
-<translation id="1119447706177454957">అంతర్గత లోపం</translation>
+<translation id="1119447706177454957">అంతర్గత ఎర్రర్</translation>
 <translation id="1122198203221319518">&amp;సాధనాలు</translation>
 <translation id="1122242684574577509">ప్రామాణీకరణ విఫలమైంది. మీరు ఉపయోగిస్తున్న Wi-Fi నెట్‌వర్క్ (<ph name="NETWORK_ID" />) లాగిన్ పేజీని సందర్శించడానికి క్లిక్ చేయండి.</translation>
 <translation id="1122960773616686544">బుక్‌మార్క్ పేరు</translation>
 <translation id="1124772482545689468">వినియోగదారు</translation>
 <translation id="1125550662859510761"><ph name="WIDTH" /> x <ph name="HEIGHT" /> ఉన్నట్టుంది (అసలైనది)</translation>
-<translation id="1128109161498068552">MIDI పరికరాలను ప్రాప్యత చేయడం కోసం సిస్టమ్ విశిష్ట సందేశాలను ఉపయోగించడానికి ఏ సైట్‌లను అనుమతించవద్దు</translation>
+<translation id="1128109161498068552">MIDI పరికరాలను యాక్సెస్ చేయడం కోసం సిస్టమ్ విశిష్ట సందేశాలను ఉపయోగించడానికి ఏ సైట్‌లను అనుమతించవద్దు</translation>
 <translation id="1128128132059598906">EAP-TTLS</translation>
 <translation id="1128591060186966949">శోధన ఇంజిన్‌ను సవరించండి</translation>
 <translation id="1134009406053225289">అజ్ఞాత విండోలో తెరువు</translation>
 <translation id="1137673463384776352">లింక్‌ను <ph name="APP" />లో తెరువు</translation>
-<translation id="1140351953533677694">మీ బ్లూటూత్ మరియు క్రమానుసార పరికరాలను ప్రాప్యత చేయడం</translation>
+<translation id="1140351953533677694">మీ బ్లూటూత్ మరియు క్రమానుసార పరికరాలను యాక్సెస్ చేయడం</translation>
 <translation id="1140610710803014750">మీ బుక్‌మార్క్‌లను మీ అన్ని పరికరాలలోనూ పొందాలంటే, సైన్ ఇన్ చేసి, సమకాలీకరణను ఆన్ చేయండి.</translation>
 <translation id="1140746652461896221">మీరు సందర్శించే ఏ పేజీలో అయినా కంటెంట్‌ని బ్లాక్ చేయండి</translation>
 <translation id="1143142264369994168">సర్టిఫికెట్ సంతకందారు</translation>
@@ -118,7 +118,7 @@
 <translation id="1163931534039071049">ఫ్రేమ్ మూలాన్ని &amp;వీక్షించండి</translation>
 <translation id="1164674268730883318"><ph name="DEVICE_TYPE" />కు Smart Lockని ఆఫ్ చేయాలా?</translation>
 <translation id="1164899421101904659">PIN అన్‌లాక్ కీని నమోదు చేయండి</translation>
-<translation id="1165039591588034296">లోపం</translation>
+<translation id="1165039591588034296">ఎర్రర్</translation>
 <translation id="1166212789817575481">కుడివైపు టాబ్‌లను మూసివెయ్యి</translation>
 <translation id="1168020859489941584"><ph name="TIME_REMAINING" />లో తెరవబడుతోంది...</translation>
 <translation id="1168100932582989117">Google పేరు సర్వర్‌లు</translation>
@@ -143,8 +143,8 @@
 <translation id="1190660338026981543"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ద్వారా సంస్థ నిర్వహణకు మీ <ph name="DEVICE_TYPE" /> విజయవంతంగా నమోదు చేయబడింది.</translation>
 <translation id="119092896208640858">బ్రౌజింగ్ డేటాను మీ Google ఖాతాలో అలాగే ఉంచి, కేవలం ఈ పరికరం నుండి మాత్రమే తీసివేయడానికి <ph name="BEGIN_LINK" />సైన్ అవుట్ చేయండి<ph name="END_LINK" />.</translation>
 <translation id="1193273168751563528">నిర్వహిత సెషన్‌లోకి వెళ్లండి</translation>
-<translation id="1195447618553298278">తెలియని లోపం.</translation>
-<translation id="1197979282329025000">ముద్రకం <ph name="PRINTER_NAME" />కి ముద్రకం సామర్థ్యాలను తిరిగి పొందడంలో లోపం సంభవించింది. ఈ ముద్రకాన్ని <ph name="CLOUD_PRINT_NAME" />తో నమోదు చెయ్యడం సాధ్యం కాలేదు.</translation>
+<translation id="1195447618553298278">తెలియని ఎర్రర్.</translation>
+<translation id="1197979282329025000">ప్రింటర్ <ph name="PRINTER_NAME" />కు సంబంధించిన ప్రింటర్ సామర్థ్యాలను తిరిగి పొందడంలో ఎర్రర్ ఏర్పడింది. ఈ ప్రింటర్‌ను <ph name="CLOUD_PRINT_NAME" />తో నమోదు చేయడం సాధ్యం కాలేదు.</translation>
 <translation id="119944043368869598">అన్ని క్లియర్ చెయ్యి</translation>
 <translation id="1201402288615127009">తరువాత</translation>
 <translation id="1202596434010270079">కియోస్క్ యాప్ అప్‌డేట్ చేయ‌బ‌డింది. దయచేసి USB స్టిక్‌ను తీసివేయండి.</translation>
@@ -155,11 +155,11 @@
 <translation id="1211364473545090084">అజ్ఞాత విండోలో మీ బ్రౌజింగ్ చరిత్రను సేవ్ చేయకుండానే వెబ్‌ని ఉపయోగించండి</translation>
 <translation id="1213037489357051291"><ph name="NUM_FINGERPRINTS" /> వేలిముద్రలు సెటప్ చేయబడ్డాయి</translation>
 <translation id="1215411991991485844">కొత్త బ్యాక్‌గ్రౌండ్‌ యాప్ జోడించబడింది</translation>
-<translation id="1216659994753476700">మమ్మల్ని క్షమించండి. మేము మీ ప్రొఫైల్‌ను యాక్సెస్‌ చేయలేకపోయాము. ఈ పరికరంలో నిల్వ చేయబడిన ఫైల్‌లు మరియు డేటా కోల్పోయి ఉండవచ్చు.<ph name="BR" />
+<translation id="1216659994753476700">మమ్మల్ని క్షమించండి. మేము మీ ప్రొఫైల్‌ను యాక్సెస్ చేయలేకపోయాము. ఈ పరికరంలో నిల్వ చేయబడిన ఫైల్‌లు మరియు డేటా కోల్పోయి ఉండవచ్చు.<ph name="BR" />
     <ph name="BR" />
     మీరు మీ ప్రొఫైల్‌ను మళ్లీ సెటప్ చేయాల్సి ఉంటుంది.<ph name="BR" />
     <ph name="BR" />
-    తరువాత స్క్రీన్‌లో, దయచేసి ఈ సమస్యను పరిష్కరించడంలో మాకు సహాయపడటానికి అభిప్రాయాన్ని పంపండి.</translation>
+   తదుపరి స్క్రీన్‌లో, దయచేసి ఈ సమస్యను పరిష్కరించడంలో మాకు సహాయపడటానికి అభిప్రాయాన్ని పంపండి.</translation>
 <translation id="1217668622537098248">చర్య తర్వాత తిరిగి ఎడమ క్లిక్ వద్దకు మారు</translation>
 <translation id="121783623783282548">పాస్‌‌వర్డ్‌లు సరిపోలలేదు.</translation>
 <translation id="1218839827383191197"><ph name="BEGIN_PARAGRAPH1" />ఈ పరికర స్థానాన్ని అంచనా వేయడంలో సహాయపడటానికి Wi‑Fi, మొబైల్ నెట్‌వర్క్‌లు మరియు సెన్సార్‌ల వంటి మూలాధారాలను Google స్థాన సేవ ఉపయోగిస్తుంది.<ph name="END_PARAGRAPH1" />
@@ -184,9 +184,9 @@
 <translation id="1242633766021457174"><ph name="THIRD_PARTY_TOOL_NAME" /> మీ సెట్టింగ్‌లను రీసెట్ చేయాలనుకుంటోంది.</translation>
 <translation id="1243314992276662751">అప్‌లోడ్ చేయి</translation>
 <translation id="1244147615850840081">కారియర్</translation>
-<translation id="1244303850296295656">పొడిగింపు లోపం</translation>
+<translation id="1244303850296295656">ఎక్స్‌టెన్షన్ ఎర్రర్</translation>
 <translation id="1249250836236328755">కళా ప్రక్రియ</translation>
-<translation id="1252987234827889034">ప్రొఫైల్ లోపం సంభవించింది</translation>
+<translation id="1252987234827889034">ప్రొఫైల్ ఎర్రర్ ఏర్పడింది</translation>
 <translation id="1254593899333212300">ప్రత్యక్ష ఇంటర్నెట్ కనెక్షన్</translation>
 <translation id="1260240842868558614">వీటిని చూపు:</translation>
 <translation id="1260451001046713751"><ph name="HOST" /> నుండి ఎల్లప్పుడూ పాప్-అప్‌లు మరియు మళ్ళింపులను అనుమతించు</translation>
@@ -215,7 +215,7 @@
 <translation id="1303101771013849280">HTML ఫైల్‌ని బుక్‌మార్క్ చేస్తుంది</translation>
 <translation id="1303671224831497365">బ్లూటూత్ పరికరాలు ఏవీ కనుగొనబడలేదు</translation>
 <translation id="1306606229401759371">సెట్టింగ్‌లను మార్చు</translation>
-<translation id="1307559529304613120">అయ్యో!  సిస్టమ్, ఈ పరికరం కోసం దీర్ఘకాల API యాక్సెస్‌ టోకెన్‌ను నిల్వ చేయడంలో విఫలమైంది.</translation>
+<translation id="1307559529304613120">అయ్యో!  సిస్టమ్ ఈ పరికరం కోసం దీర్ఘకాల API యాక్సెస్ టోకెన్‌ను నిల్వ చేయడంలో విఫలమైంది.</translation>
 <translation id="1307931752636661898">Linux ఫైల్‌లను చూడటం సాధ్యపడలేదు</translation>
 <translation id="1313405956111467313">స్వయంచాలక ప్రాక్సీ కాన్ఫిగరేషన్</translation>
 <translation id="131364520783682672">Caps Lock</translation>
@@ -269,7 +269,7 @@
 <translation id="1393283411312835250">సూర్యుడు మరియు మేఘాలు</translation>
 <translation id="1395262318152388157">సీక్ స్లయిడర్</translation>
 <translation id="1395730723686586365">అప్‌డేటర్ ప్రారంభించబడింది</translation>
-<translation id="1396139853388185343">ప్రింటర్‌ని సెటప్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది</translation>
+<translation id="1396139853388185343">ప్రింటర్‌ను సెటప్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది</translation>
 <translation id="1396963298126346194">మీరు నమోదు చేసిన వినియోగదారు పేరు మరియు పాస్‌వర్డ్ సరిపోలలేదు</translation>
 <translation id="1397500194120344683">అర్హత గల పరికరాలు లేవు. <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="1398853756734560583">గరిష్ఠీకరించు</translation>
@@ -281,7 +281,7 @@
 <translation id="1408789165795197664">అధునాతన...</translation>
 <translation id="1409390508152595145">పర్యవేక్షించబడే వినియోగదారుని సృష్టించు</translation>
 <translation id="1410197035576869800">యాప్ చిహ్నం</translation>
-<translation id="1410616244180625362">మీ కెమెరాను ప్రాప్యత చేయడానికి <ph name="HOST" />కు అనుమతిని కొనసాగించండి</translation>
+<translation id="1410616244180625362">మీ కెమెరాను యాక్సెస్ చేయడానికి <ph name="HOST" />కు అనుమతిని కొనసాగించండి</translation>
 <translation id="1411668397053040814">VRలో Chromeని ఉపయోగించడానికి Daydream కీబోర్డ్‌ని ఇన్‌స్టాల్ చేయండి లేదా అప్‌డేట్ చేయండి</translation>
 <translation id="1414648216875402825">మీరు <ph name="PRODUCT_NAME" /> యొక్క అస్థిర సంస్కరణకు నవీకరిస్తున్నారు, ఇది పురోగతిలో ఉన్న లక్షణాలను కలిగి ఉంటుంది. క్రాష్‌లు మరియు ఊహించని బగ్‌లు సంభవించవచ్చు. దయచేసి జాగ్రత్తగా కొనసాగండి.</translation>
 <translation id="1415708812149920388">క్లిప్‌బోర్డ్‌ను చదివే యాక్సెస్ నిరాకరించబడింది</translation>
@@ -304,7 +304,7 @@
 <translation id="1442392616396121389">రూటింగ్ ఆదిప్రత్యయం</translation>
 <translation id="144283815522798837"><ph name="NUMBER_OF_ITEMS_SELECTED" /> ఎంచుకోబడింది/ఎంచుకోబడ్డాయి</translation>
 <translation id="1444628761356461360">ఈ సెట్టింగ్‌ను పరికరం యజమాని అయిన <ph name="OWNER_EMAIL" /> నిర్వహించారు.</translation>
-<translation id="144518587530125858">థీమ్ కోసం '<ph name="IMAGE_PATH" />'ని లోడ్ చేయడం సాధ్యపడలేదు.</translation>
+<translation id="144518587530125858">థీమ్ కోసం '<ph name="IMAGE_PATH" />'ను లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="1451375123200651445">వెబ్ పేజీ, ఒకే ఫైల్</translation>
 <translation id="1451917004835509682">పర్యవేక్షించబడే వ్యక్తిని జోడించు</translation>
 <translation id="1454223536435069390">స్క్రీన్‌షాట్ తీ&amp;యి</translation>
@@ -313,7 +313,7 @@
 <translation id="146219525117638703">ONC స్థితి</translation>
 <translation id="146220085323579959">ఇంటర్నెట్ డిస్‌కనెక్ట్ చేయబడింది. దయచేసి మీ ఇంటర్నెట్ కనెక్షన్‌ని తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="1464258312790801189">మీ ఖాతాలు</translation>
-<translation id="1464724975715666883">1 లోపం.</translation>
+<translation id="1464724975715666883">1 ఎర్రర్.</translation>
 <translation id="1465176863081977902">ఆడియో చిరునామాను కా&amp;పీ చేయండి</translation>
 <translation id="1465827627707997754">పిజ్జా ముక్క</translation>
 <translation id="1467432559032391204">ఎడమ</translation>
@@ -343,7 +343,7 @@
 <translation id="1507170440449692343">ఈ పేజీ మీ కెమెరాను ప్రాప్యత చేయకుండా బ్లాక్ చేయబడింది.</translation>
 <translation id="1507246803636407672">&amp;వదిలివేయి</translation>
 <translation id="1508491105858779599">పరికరాన్ని అన్‌లాక్ చేయడానికి వేలిముద్ర సెన్సార్‌పై మీ వేలిని ఉంచండి.</translation>
-<translation id="1509281256533087115">ఏ <ph name="DEVICE_NAME_AND_VENDOR" />ని అయినా USB ద్వారా ప్రాప్యత చేయడానికి అనుమతి</translation>
+<translation id="1509281256533087115">ఏ <ph name="DEVICE_NAME_AND_VENDOR" />ని అయినా USB ద్వారా యాక్సెస్ చేయడానికి అనుమతి</translation>
 <translation id="150962533380566081">PUK చెల్లదు.</translation>
 <translation id="1510030919967934016">మీ స్థానాన్ని ట్రాక్ చెయ్యకుండా ఈ పేజీ బ్లాక్ చెయ్యబడింది.</translation>
 <translation id="1510238584712386396">లాంచర్</translation>
@@ -408,7 +408,7 @@
 <translation id="1593926297800505364">చెల్లింపు పద్దతిని సేవ్ చేయండి</translation>
 <translation id="1595492813686795610">Linux అప్‌గ్రేడ్ అవుతోంది</translation>
 <translation id="1598233202702788831">నవీకరణలను మీ నిర్వాహకులు నిలిపివేసారు.</translation>
-<translation id="1600857548979126453">పేజీ డీబగ్గర్ బ్యాకెండ్‌ను ప్రాప్యత చేయండి</translation>
+<translation id="1600857548979126453">పేజీ డీబగ్గర్ బ్యాకెండ్‌ను యాక్సెస్ చేయండి</translation>
 <translation id="1601560923496285236">వర్తించు</translation>
 <translation id="1603914832182249871">(అజ్ఞాతంగా)</translation>
 <translation id="1607139524282324606">నమోదును తీసివేయండి</translation>
@@ -586,7 +586,7 @@
 <translation id="1849186935225320012">ఈ పేజీ MIDI పరికరాలకు పూర్తి నియంత్రణను కలిగి ఉంది.</translation>
 <translation id="1850508293116537636">&amp;సవ్యదిశలో తిప్పు</translation>
 <translation id="1852141627593563189">హానికరమైన సాఫ్ట్‌వేర్‌ను కనుగొనండి</translation>
-<translation id="1852799913675865625">ఫైల్‌ను చదవడానికి ప్రయత్నించడంలో లోపం ఉంది: <ph name="ERROR_TEXT" />.</translation>
+<translation id="1852799913675865625">ఫైల్‌ను చదవడానికి ప్రయత్నించడంలో ఎర్రర్ ఏర్పడింది: <ph name="ERROR_TEXT" />.</translation>
 <translation id="1853692000353488670">కొత్త అజ్ఞాత ట్యాబ్</translation>
 <translation id="1854180393107901205">ప్రసారాన్ని ఆపివేయి</translation>
 <translation id="1856715684130786728">స్థానాన్ని జోడించు...</translation>
@@ -791,7 +791,7 @@
 <translation id="2178614541317717477">CA రాజీ</translation>
 <translation id="218070003709087997">ఎన్ని కాపీలను ముద్రించాలో (1 నుండి 999) సంఖ్యతో సూచించండి.</translation>
 <translation id="2184515124301515068">సైట్‌లు ధ్వనిని ఎప్పుడు ప్లే చేయాలనేది Chrome ఎంచుకునేలా సెట్ చేయండి (సిఫార్సు చేయబడింది)</translation>
-<translation id="2187895286714876935">సర్వర్  ప్రమాణపత్రం  దిగుమతి లోపం</translation>
+<translation id="2187895286714876935">సర్వర్ సర్టిఫికెట్ దిగుమతి ఎర్రర్</translation>
 <translation id="2187906491731510095">పొడిగింపులు నవీకరించబడ్డాయి</translation>
 <translation id="2188881192257509750"><ph name="APPLICATION" />ని తెరువు</translation>
 <translation id="2190069059097339078">WiFi క్రెడెన్షియల్స్ గెట్టర్</translation>
@@ -818,7 +818,7 @@
 <translation id="2214893006758804920">{LINE_COUNT,plural, =1{&lt;1 పంక్తి చూపబడలేదు&gt;}other{&lt;<ph name="NUMBER_OF_LINES" /> పంక్తులు చూపబడలేదు&gt;}}</translation>
 <translation id="2217501013957346740">పేరును సృష్టించండి -</translation>
 <translation id="2218019600945559112">మౌస్ మరియు టచ్‌ప్యాడ్</translation>
-<translation id="2218320521449013367">Chrome హానికరమైన సాఫ్ట్‌వేర్‌ని తీసివేస్తున్నప్పుడు ఎర్రర్ సంభవించింది</translation>
+<translation id="2218320521449013367">Chrome హానికరమైన సాఫ్ట్‌వేర్‌ను తీసివేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది</translation>
 <translation id="2218515861914035131">సాధారణ వచనం లాగా అతికించండి</translation>
 <translation id="221872881068107022">రివర్స్ స్క్రోలింగ్</translation>
 <translation id="2220409419896228519">మీకు ఇష్టమైన Google యాప్‌లకు బుక్‌మార్క్‌లను జోడించండి</translation>
@@ -921,7 +921,7 @@
 <translation id="2359345697448000899">'సాధనాలు' మెనూలోని ఎక్స్‌టెన్షన్‌లను క్లిక్ చేయడం ద్వారా మీ ఎక్స్‌టెన్షన్‌లను నిర్వహించండి.</translation>
 <translation id="2359808026110333948">కొనసాగించు</translation>
 <translation id="236117173274098341">ఆప్టిమైజ్ చేయండి</translation>
-<translation id="236141728043665931">ఎల్లప్పుడూ మైక్రోఫోన్ ప్రాప్యతను బ్లాక్ చేయి</translation>
+<translation id="236141728043665931">ఎల్లప్పుడూ మైక్రోఫోన్ యాక్సెస్‌ను బ్లాక్ చేయి</translation>
 <translation id="2365507699358342471">క్లిప్‌బోర్డ్‌కు కాపీ చేసిన వచనం మరియు చిత్రాలను ఈ సైట్ చూడగలదు.</translation>
 <translation id="2367199180085172140">ఫైల్ షేర్‌ని జోడించండి</translation>
 <translation id="2367972762794486313">అనువర్తనాలను చూపు</translation>
@@ -938,7 +938,7 @@
 <translation id="2379232090534544565">ఆడియో మరియు వీడియో ఇన్‌పుట్‌ని ఒక సైట్ యాక్సెస్ చేస్తోంది</translation>
 <translation id="2379281330731083556">సిస్టమ్ డైలాగ్‌ ఉపయోగించి ముద్రించు ...<ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">పంపడానికి ముందు అడుగుతుంది (సిఫార్సు చేయబడింది)</translation>
-<translation id="2384436799579181135">ఎర్రర్ ఏర్పడింది. దయచేసి మీ ప్రింటర్‌ని తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="2384436799579181135">ఎర్రర్ ఏర్పడింది. దయచేసి మీ ప్రింటర్‌ను తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="2386926718981642523">మీరు "Ok Google" అని చెప్పి ఎప్పుడైనా మీ అసిస్టెంట్‌ని యాక్సెస్ చేయండి</translation>
 <translation id="2387458720915042159">ప్రాక్సీ కనెక్షన్ రకం</translation>
 <translation id="2391419135980381625">ప్రామాణిక ఫాంట్</translation>
@@ -958,7 +958,7 @@
 <translation id="2425665904502185219">మొత్తం ఫైల్ పరిమాణం</translation>
 <translation id="2427507373259914951">ఎడమ క్లిక్</translation>
 <translation id="2428510569851653187">ట్యాబ్ క్రాష్ అయిన సమయంలో మీరు ఏం చేస్తున్నారో వివరించండి</translation>
-<translation id="2431027948063157455">Google అసిస్టెంట్‌ను లోడ్ చేయడం సాధ్యపడలేదు, మీ నెట్‌వర్క్ కనెక్షన్‌ను తనిఖీ చేసి దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="2431027948063157455">Google అసిస్టెంట్‌ను లోడ్ చేయడం సాధ్యపడలేదు, దయచేసి మీ నెట్‌వర్క్ కనెక్షన్‌ను తనిఖీ చేసుకుని మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="2432753757290432042">Linux (బీటా) అప్‌డేట్ అవసరం</translation>
 <translation id="2433452467737464329">పేజీని ఆటోమేటిక్ రిఫ్రెష్ చేయడానికి URLలో ప్రశ్న పారామీటర్‌ను జోడించండి: chrome://network/?refresh=&lt;sec&gt;</translation>
 <translation id="2433507940547922241">కనిపించే తీరు</translation>
@@ -990,7 +990,7 @@
 <translation id="247051149076336810">ఫైల్ షేర్ URL</translation>
 <translation id="2470702053775288986">మద్దతు లేని పొడిగింపులు నిలిపివేయబడ్డాయి</translation>
 <translation id="2473195200299095979">ఈ పేజీని అనువదించండి</translation>
-<translation id="2475982808118771221">ఒక లోపం సంభవించింది</translation>
+<translation id="2475982808118771221">ఒక ఎర్రర్ ఏర్పడింది</translation>
 <translation id="2476578072172137802">సైట్ సెట్టింగ్‌లు</translation>
 <translation id="2478176599153288112">"<ph name="EXTENSION" />" కోసం మీడియా-ఫైల్ అనుమతులు</translation>
 <translation id="247949520305900375">ఆడియోను భాగస్వామ్యం చేయి</translation>
@@ -1054,7 +1054,7 @@
 <translation id="2566124945717127842">మీ <ph name="IDS_SHORT_PRODUCT_NAME" /> పరికరాన్ని కొత్త దాని లాగా రీసెట్ చేయడానికి పవర్‌వాష్ చేయండి.</translation>
 <translation id="2568774940984945469">సమాచారబార్ కంటైనర్</translation>
 <translation id="257088987046510401">థీమ్‌లు</translation>
-<translation id="2572032849266859634"><ph name="VOLUME_NAME" />కి చదవడానికి మాత్రమే ప్రాప్యత మంజూరు చేయబడింది.</translation>
+<translation id="2572032849266859634"><ph name="VOLUME_NAME" />కి చదవడానికి మాత్రమే యాక్సెస్ మంజూరు చేయబడింది.</translation>
 <translation id="2575247648642144396">ప్రస్తుత పేజీలో ఎక్స్‌టెన్ష‌న్‌ను అమలు చేయగలిగినప్పుడు ఈ చిహ్నం కనిపిస్తుంది. చిహ్నంపై క్లిక్ చేయడం ద్వారా లేదా <ph name="EXTENSION_SHORTCUT" />ను నొక్కడం ద్వారా ఈ ఎక్స్‌టెన్ష‌న్‌ను ఉపయోగించండి.</translation>
 <translation id="257779572837908839">సమావేశాల కోసం Chromebox వలె సెటప్ చేయండి</translation>
 <translation id="2579575372772932244">ప్రొఫైల్‌ను పునఃసృష్టిస్తోంది, దయచేసి వేచి ఉండండి...</translation>
@@ -1096,7 +1096,7 @@
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> ఇన‌స్ట‌లేష‌న్‌ పూర్తి కాలేదు, కానీ డిస్క్ ఇమేజ్‌ నుండి రన్ అవడం కొనసాగుతుంది.</translation>
 <translation id="2635094637295383009">Twitter</translation>
 <translation id="2635276683026132559">సంతకం చేస్తోంది</translation>
-<translation id="2636625531157955190">చిత్రాన్ని Chrome యాక్సెస్‌ చేయడం సాధ్యపడదు.</translation>
+<translation id="2636625531157955190">చిత్రాన్ని Chrome యాక్సెస్ చేయడం సాధ్యపడదు.</translation>
 <translation id="2638087589890736295">సింక్‌ను ప్రారంభించడానికి రహస్య పదబంధం అవసరం</translation>
 <translation id="2638942478653899953">Google డిస్క్‌ను చేరుకోవడం సాధ్యపడలేదు. దయచేసి <ph name="BEGIN_LINK" />లాగ్ అవుట్<ph name="END_LINK" /> చేసి, తిరిగి లాగిన్ చేయండి.</translation>
 <translation id="2642111877055905627">సాకర్ బంతి</translation>
@@ -1117,14 +1117,14 @@
 <translation id="2663302507110284145">భాష</translation>
 <translation id="2665394472441560184">కొత్త పదాన్ని జోడించు</translation>
 <translation id="2665717534925640469">ఇప్పుడు ఈ పేజీ పూర్తి స్క్రీన్ మరియు మీ మౌస్ కర్సర్‌ను నిలిపివేసింది.</translation>
-<translation id="2665919335226618153">అయ్యో! ఆకృతీకరణ సమయంలో లోపం ఏర్పడింది.</translation>
+<translation id="2665919335226618153">అయ్యో! ఫార్మాటింగ్ సమయంలో ఎర్రర్ ఏర్పడింది.</translation>
 <translation id="2666990579225592931">అతిథి విండోని తెరువు</translation>
 <translation id="2667463864537187133">స్పెల్ చెక్‌ను నిర్వహించండి</translation>
 <translation id="2670102641511624474"><ph name="APP_NAME" /> ఒక Chrome ట్యాబ్‌ను భాగస్వామ్యం చేస్తోంది.</translation>
 <translation id="2670429602441959756">ఇప్పటికీ VRలో మద్దతు లేని ఫీచర్‌లను ఈ పేజీ కలిగి ఉంది. నిష్క్రమిస్తోంది...</translation>
 <translation id="2671451824761031126">మీ బుక్‌మార్క్‌లు మరియు సెట్టింగ్‌లు సిద్ధంగా ఉన్నాయి</translation>
 <translation id="2672142220933875349">చెల్లని crx ఫైల్, అన్‌ప్యాక్ చేయడం విఫలమైంది.</translation>
-<translation id="2672394958563893062">ఎర్ర‌ర్ ఏర్ప‌డింది. మొదటి నుండి పునఃప్రారంభించడానికి క్లిక్ చేయండి.</translation>
+<translation id="2672394958563893062">ఎర్రర్ ఏర్పడింది. మొదటి నుండి పునఃప్రారంభించడానికి క్లిక్ చేయండి.</translation>
 <translation id="2673135533890720193">మీ బ్రౌజింగ్ చరిత్రను చదవడానికి అనుమతి</translation>
 <translation id="2673589024369449924">ఈ వినియోగదారు కోసం డెస్క్‌టాప్ షార్ట్‌కట్‌ను సృష్టించు</translation>
 <translation id="2676946222714718093">ఇందులో ప్లే అవుతోంది</translation>
@@ -1133,7 +1133,7 @@
 <translation id="268053382412112343">&amp;చరిత్ర</translation>
 <translation id="2683638487103917598">ఫోల్డర్ క్రమబద్ధీకరించబడింది</translation>
 <translation id="2684004000387153598">కొనసాగించడానికి, సరే క్లిక్ చేసి, ఆపై మీ ఇమెయిల్ చిరునామా కోసం కొత్త ప్రొఫైల్‌ని రూపొందించడానికి వ్యక్తిని జోడించు క్లిక్ చేయండి.</translation>
-<translation id="2688196195245426394">పరికరం సర్వర్‌తో నమోదు అవుతున్నప్పుడు లోపం: <ph name="CLIENT_ERROR" />.</translation>
+<translation id="2688196195245426394">పరికరం సర్వర్‌తో నమోదు అవుతున్నప్పుడు ఎర్రర్: <ph name="CLIENT_ERROR" />.</translation>
 <translation id="2690024944919328218">భాష ఎంపికలను చూపు</translation>
 <translation id="2691385045260836588">మోడల్</translation>
 <translation id="2693176596243495071">అయ్యో! తెలియని ఎర్రర్ ఏర్పడింది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి లేదా సమస్య కొనసాగినట్లయితే మీ నిర్వాహకులను సంప్రదించండి.</translation>
@@ -1204,7 +1204,7 @@
 <translation id="2787354132612937472">—</translation>
 <translation id="2788135150614412178">+</translation>
 <translation id="2789486458103222910">సరే</translation>
-<translation id="2791952154587244007">లోపం సంభవించింది. కియోస్క్ యాప్‌కి ఈ పరికరంలో స్వీయ-ప్రారంభం సాధ్యపడదు.</translation>
+<translation id="2791952154587244007">ఎర్రర్ ఏర్పడింది. ఈ పరికరంలో కియోస్క్ యాప్ స్వీయ-ప్రారంభం సాధ్యపడదు.</translation>
 <translation id="2792290659606763004">Android యాప్‌లను తీసివేయాలా?</translation>
 <translation id="2796424461616874739">"<ph name="DEVICE_NAME" />"కి కనెక్ట్ చేస్తున్నప్పుడు ప్రామాణీకరణ సమయం ముగిసింది.</translation>
 <translation id="2796740370559399562">కుక్కీల అనుమతి కొనసాగించు</translation>
@@ -1254,9 +1254,9 @@
 <translation id="2871813825302180988">ఈ ఖాతా ఈ పరికరంలో ఇప్పటికే ఉపయోగించబడుతోంది.</translation>
 <translation id="287286579981869940"><ph name="PROVIDER_NAME" />ని జోడించు...</translation>
 <translation id="2874343608108773609">మీ అన్ని పరికరాలలో మీ పాస్‌వర్డ్‌లను పొందడానికి, Chromeకి సైన్ ఇన్ చేయండి.</translation>
-<translation id="2875698561019555027">(Chrome లోప పేజీలు)</translation>
+<translation id="2875698561019555027">(Chrome ఎర్రర్ పేజీలు)</translation>
 <translation id="2876336351874743617">రెండో వేలు</translation>
-<translation id="288042212351694283">మీ సార్వత్రిక 2వ కారకం పరికరాలను ప్రాప్యత చేయండి</translation>
+<translation id="288042212351694283">మీ సార్వత్రిక 2వ కారకం పరికరాలను యాక్సెస్ చేయండి</translation>
 <translation id="2881076733170862447">మీరు ఎక్స్‌టెన్షన్ క్లిక్ చేసినప్పుడు</translation>
 <translation id="2881966438216424900">చివరగా ప్రాప్తి చేసింది:</translation>
 <translation id="2882943222317434580"><ph name="IDS_SHORT_PRODUCT_NAME" /> పునఃప్రారంభించబడుతుంది మరియు కొద్దిసేపట్లో రీసెట్ చేయబడుతుంది</translation>
@@ -1366,7 +1366,7 @@
 <translation id="3036546437875325427">ఫ్లాష్‌ను ప్రారంభించు</translation>
 <translation id="3037754279345160234">డొమైన్‌లో చేరడానికి కాన్ఫిగరేషన్‌ను అన్వయించడం సాధ్యపడలేదు. దయచేసి మీ నిర్వాహకుడిని సంప్రదించండి.</translation>
 <translation id="3038612606416062604">ఒక ప్రింటర్‌ను మాన్యువల్‌గా జోడించండి</translation>
-<translation id="3038675903128704560">మీ కంప్యూటర్‌ను ప్రాప్యత చేయడం కోసం ప్లగిన్‌ను ఉపయోగించడానికి ఏ సైట్‌నూ అనుమతించవద్దు</translation>
+<translation id="3038675903128704560">మీ కంప్యూటర్‌ను యాక్సెస్ చేయడం కోసం ప్లగిన్‌ను ఉపయోగించడానికి ఏ సైట్‌నూ అనుమతించవద్దు</translation>
 <translation id="3039491566278747710">పరికరంలో ఆఫ్‌లైన్ విధానాన్ని ఇన్‌స్టాల్ చేయడంలో విఫలమైంది.</translation>
 <translation id="3045447014237878114">ఈ సైట్ పలు ఫైల్‌లను ఆటోమేటిక్‌గా డౌన్‌లోడ్ చేసింది</translation>
 <translation id="3046910703532196514">వెబ్‌పేజీ, సంపూర్ణం</translation>
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (హార్డ్‌వేర్ భద్రత కలిగినది)</translation>
 <translation id="316125635462764134">యాప్‌ను తీసివేయి</translation>
 <translation id="3161522574479303604">అన్ని భాషలు</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> నుండి <ph name="PRODUCT_ID" /> తెలియని ఉత్పత్తి</translation>
 <translation id="3165390001037658081">కొన్ని క్యారియర్‌లు ఈ లక్షణాన్ని బ్లాక్ చేయవచ్చు.</translation>
 <translation id="316854673539778496">మీ అన్ని పరికరాలలో మీ అన్ని ఎక్స్‌టెన్షన్‌లను పొందాలంటే, సైన్ ఇన్ చేసి, సమకాలీకరణను ఆన్ చేయండి.</translation>
 <translation id="3169472444629675720">కనుగొను</translation>
@@ -1548,7 +1549,7 @@
 <translation id="3349933790966648062">మెమరీ ఫుట్‌ప్రింట్</translation>
 <translation id="3350117557200012647">జత చేసే మోడ్‌లోకి ప్రవేశించండి</translation>
 <translation id="3353984535370177728">అప్‌లోడ్ చేయడానికి ఫోల్టర్‌ను ఎంచుకోండి</translation>
-<translation id="3355936511340229503">కనెక్షన్ లోపం</translation>
+<translation id="3355936511340229503">కనెక్షన్ ఎర్రర్</translation>
 <translation id="3356580349448036450">పూర్తయింది</translation>
 <translation id="3359256513598016054">సర్టిఫికెట్ విధాన పరిమితులు</translation>
 <translation id="3360297538363969800">ముద్రణ విఫలమైంది. దయచేసి మీ ప్రింటర్‌ను తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.</translation>
@@ -1562,13 +1563,13 @@
 <translation id="3378572629723696641">ఈ పొడిగింపు పాడై ఉండవచ్చు.</translation>
 <translation id="3378630551672149129">సైన్ ఇన్ చేయండి. ఇన్‌పుట్ అంశాలతో పరస్పర చర్య చేయడానికి ట్యాబ్ కీని నొక్కండి</translation>
 <translation id="337920581046691015"><ph name="PRODUCT_NAME" /> వ్యవస్థాపించబడుతుంది.</translation>
-<translation id="3380365263193509176">తెలియని లోపం</translation>
+<translation id="3380365263193509176">తెలియని ఎర్రర్</translation>
 <translation id="3382073616108123819">అయ్యో!  ఈ పరికరం కోసం పరికర ఐడెంటిఫైయర్‌లను నిర్ణయించడంలో సిస్టమ్ విఫలమైంది.</translation>
 <translation id="3382200254148930874">పర్యవేక్షణను ఆపివేస్తోంది...</translation>
 <translation id="3385092118218578224"><ph name="DISPLAY_ZOOM" />%</translation>
 <translation id="338583716107319301">విభాగిని</translation>
 <translation id="3389312115541230716">టాస్క్‌బార్‌లో <ph name="SMALL_PRODUCT_LOGO" /> చిహ్నంపై కుడి క్లిక్ చేయండి</translation>
-<translation id="3393352139658145068">ఎవరైనా “Ok Google” చెప్పినప్పుడు అమలయ్యేలా అసిస్టెంట్‌ను యాక్టివేట్ చేయండి. బ్యాటరీని ఆదా చేయడానికి, మీ పరికరాన్ని పవర్ సోర్స్‌కు కనెక్ట్ చేసినప్పుడు మాత్రమే “Ok Google” ఆన్‌లో ఉంచబడుతుంది.</translation>
+<translation id="3393352139658145068">ఎవరైనా “Ok Google” చెప్పినప్పుడు అసిస్టెంట్‌ యాక్టివేట్ అయ్యేలా సెట్ చేయండి. బ్యాటరీని సేవ్ చేయడానికి, మీ పరికరాన్ని పవర్ సోర్స్‌కు కనెక్ట్ చేసినప్పుడు మాత్రమే “Ok Google” ఆన్‌లో ఉంచబడుతుంది.</translation>
 <translation id="3396800784455899911">"నేను అంగీకరిస్తున్నాను" బటన్‌ని క్లిక్ చేయడం ద్వారా, ఈ Google సేవల కోసం ఎగువ పేర్కొన్న వాటిని ప్రాసెస్ చేయడానికి మీరు అంగీకరిస్తున్నారు.</translation>
 <translation id="3399432415385675819">నోటిఫికేషన్‌లు నిలిపివేయబడతాయి</translation>
 <translation id="340282674066624"><ph name="DOWNLOAD_RECEIVED" />, <ph name="TIME_LEFT" /></translation>
@@ -1601,7 +1602,7 @@
 <translation id="3436038974659740746">అనుకూల స్పెల్ చెక్</translation>
 <translation id="3437801641691368414">సృష్టించిన సమయం</translation>
 <translation id="3438633801274389918">నింజా</translation>
-<translation id="3439153939049640737">మీ మైక్రోఫోన్‌ను ప్రాప్యత చేయడానికి <ph name="HOST" />ని ఎల్లప్పుడూ అనుమతించండి</translation>
+<translation id="3439153939049640737">మీ మైక్రోఫోన్‌ను యాక్సెస్ చేయడానికి <ph name="HOST" />ని ఎల్లప్పుడూ అనుమతించండి</translation>
 <translation id="3439970425423980614">PDFను ప్రివ్యూలో తెరుస్తోంది</translation>
 <translation id="3440663250074896476"><ph name="BOOKMARK_NAME" /> కోసం మరిన్ని చర్యలు</translation>
 <translation id="3440761377721825626">మీ కంప్యూటర్‌ను యాక్సెస్ చేయడానికి సైట్ ప్లగిన్‌ను ఉపయోగించాలనుకున్నప్పుడు అడగాలి</translation>
@@ -1614,7 +1615,7 @@
 <translation id="3454157711543303649">సక్రియం చేయడం పూర్తయింది</translation>
 <translation id="345693547134384690">కొత్త‌ టాబ్‌లో &amp;చిత్రాన్ని తెరువు</translation>
 <translation id="3459509316159669723">ముద్రణ</translation>
-<translation id="3459697287128633276">మీ ఖాతాలో Google Play స్టోర్ యాక్సెస్‌ను ఆరంభించాలంటే, దయచేసి మీ గుర్తింపు ప్రదాతతో ప్రామాణీకరించండి.</translation>
+<translation id="3459697287128633276">మీ ఖాతాలో Google Play స్టోర్ యాక్సెస్‌ని ఆరంభించాలంటే, దయచేసి మీ గుర్తింపు ప్రదాతతో ప్రమాణీకరించండి.</translation>
 <translation id="3459774175445953971">చివరగా సవరించబడింది:</translation>
 <translation id="3461266716147554923"><ph name="URL" /> క్లిప్‌బోర్డ్‌కు కాపీ చేసిన వచనం మరియు చిత్రాలను చూడాలనుకుంటోంది.</translation>
 <translation id="3462311546193741693">చాలా సైట్‌ల నుండి మిమ్మల్ని సైన్ అవుట్ చేస్తుంది. మీరు మీ Google ఖాతాలో అలాగే సైన్ ఇన్ చేసి ఉంటారు, కనుక మీ సమకాలీకరించిన డేటాను తీసివేయవచ్చు.</translation>
@@ -1633,7 +1634,7 @@
 <translation id="3475843873335999118">క్షమించండి, మీ వేలిముద్ర ఇప్పటికీ గుర్తించబడలేదు. దయచేసి మీ పాస్‌వర్డ్‌ను నమోదు చేయండి.</translation>
 <translation id="3476303763173086583">వినియోగం &amp; విశ్లేషణల డేటాను పంపండి. సమస్య విశ్లేషణ, పరికరం, యాప్ వినియోగ డేటాను ఆటోమేటిక్‌గా Googleకి పంపడం ద్వారా మీ చిన్నారి Android అనుభవాన్ని మెరుగుపరచడంలో సహాయపడండి. ఇది మీ చిన్నారి గురించి గుర్తించడానికి ఉపయోగించబడదు, ఇది కేవలం సిస్టమ్, యాప్ స్థిరత్వానికి, ఇతర మెరుగుదలలకు సహాయపడుతుంది. కొంత సముదాయ డేటా కూడా Google యాప్‌లకు, అలాగే Android డెవలపర్‌ల లాంటి భాగస్వాములకు సహాయపడుతుంది. ఈ <ph name="BEGIN_LINK1" />సెట్టింగ్‌<ph name="END_LINK1" />ని యజమాని అమలు చేసారు. ఈ పరికరానికి సంబంధించిన విశ్లేషణ, వినియోగ డేటాను Googleకి పంపేలా యజమాని ఎంచుకోవచ్చు. మీ చిన్నారి కోసం అదనపు వెబ్ &amp; యాప్ కార్యకలాపం సెట్టింగ్‌ను ఆన్ చేసినట్లయితే, ఈ డేటా వారి Google ఖాతాలో సేవ్ చేయబడవచ్చు. <ph name="BEGIN_LINK2" />మరింత తెలుసుకోండి<ph name="END_LINK2" /></translation>
 <translation id="347670947055184738">అయ్యో! మీ పరికరం కోసం విధానాన్ని పొందడంలో సిస్టమ్ విఫలమైంది.</translation>
-<translation id="347785443197175480">మీ కెమెరా మరియు మైక్రోఫోన్‌ను ప్రాప్యత చేయడానికి <ph name="HOST" />ను అనుమతించడాన్ని కొనసాగించండి</translation>
+<translation id="347785443197175480">మీ కెమెరా మరియు మైక్రోఫోన్‌ను యాక్సెస్ చేయడానికి <ph name="HOST" />ను అనుమతించడాన్ని కొనసాగించండి</translation>
 <translation id="3478685642445675458">దయచేసి వ్యక్తిని తీసివేయబోయే ముందు మీ ప్రొఫైల్‌ను అన్‌లాక్ చేయండి.</translation>
 <translation id="3479552764303398839">ఇప్పుడు కాదు</translation>
 <translation id="3480119035619598820">నా పరికరాలకు పంపు</translation>
@@ -1649,7 +1650,7 @@
 <translation id="3495660573538963482">Google సహాయకం సెట్టింగ్‌లు</translation>
 <translation id="3496213124478423963">దూరంగా జూమ్ చెయ్యి</translation>
 <translation id="3497560059572256875">డూడుల్‌ని షేర్ చేయి</translation>
-<translation id="3505030558724226696">పరికర ప్రాప్యతను ఉపసంహరించు</translation>
+<translation id="3505030558724226696">పరికర యాక్సెస్‌ను ఉపసంహరించు</translation>
 <translation id="3507421388498836150">"<ph name="EXTENSION_NAME" />" ప్రస్తుత అనుమతులు</translation>
 <translation id="3507547268929739059">Chromebook కోసం Linux యాప్‌లను తీసివేయండి</translation>
 <translation id="3507888235492474624">బ్లూటూత్ పరికరాలను మళ్లీ స్కాన్ చేయండి</translation>
@@ -1756,7 +1757,7 @@
 <translation id="3652817283076144888">ప్రారంభిస్తోంది</translation>
 <translation id="3653160965917900914">నెట్‌వర్క్ ఫైల్ షేర్‌లు</translation>
 <translation id="3653842108912548333">మీ అసిస్టెంట్‌ని Voice Match సాయంతో యాక్సెస్ చేసుకోండి</translation>
-<translation id="3653999333232393305">మీ మైక్రోఫోన్‌ను ప్రాప్యత చేయడానికి <ph name="HOST" />కి అనుమతిని కొనసాగించండి</translation>
+<translation id="3653999333232393305">మీ మైక్రోఫోన్‌ను యాక్సెస్ చేయడానికి <ph name="HOST" />కి అనుమతిని కొనసాగించండి</translation>
 <translation id="3654045516529121250">మీ ప్రాప్యత సెట్టింగ్‌లను చదవండి</translation>
 <translation id="3655712721956801464">{NUM_FILES,plural, =1{ఇది ఒక ఫైల్‌కు శాశ్వత ప్రాప్యతను కలిగి ఉంది.}other{ఇది # ఫైల్‌లకు శాశ్వత ప్రాప్యతను కలిగి ఉంది.}}</translation>
 <translation id="3660234220361471169">అవిశ్వసనీయ</translation>
@@ -1766,7 +1767,7 @@
 <translation id="3668801437375206837">బ్లూటూత్ సమస్యలని మరింత మెరుగ్గా విశ్లేషించడానికి, Google ఉద్యోగులు తాము ఇచ్చే అభిప్రాయ నివేదికలతో పాటు అదనపు బ్లూటూత్ లాగ్‌లను జోడించి వివరంగా పంపవచ్చు. ఈ ఎంపిక ఎంచుకోబడితే, మీ ప్రస్తుత సెషన్ యొక్క btsnoop మరియు HCI లాగ్‌ల యొక్క PIIను వీలున్న మేరకు క్లీన్ చేసి తొలగించడం కోసం నివేదికలో చేర్చబడతాయి. Listnrలో ఉన్న Chrome OS ఉత్పత్తి సమూహ మేనేజర్‌లు మాత్రమే ఈ లాగ్‌లను యాక్సెస్ చేసుకొనే వెసులుబాటును కలిగి ఉంటారు. అయితే 90 రోజుల తర్వాత ఈ లాగ్‌లు అనేవి పూర్తిగా తొలగించబడతాయి.</translation>
 <translation id="3668823961463113931">హ్యాండ్లర్‌లు</translation>
 <translation id="3670229581627177274">బ్లూటూత్‌ను ఆన్ చేయండి</translation>
-<translation id="3672681487849735243">ఫ్యాక్టరీ లోపం గుర్తించబడింది</translation>
+<translation id="3672681487849735243">ఫ్యాక్టరీ ఎర్రర్ గుర్తించబడింది</translation>
 <translation id="367645871420407123">మీరు రూట్ పాస్‌వర్డ్‌ను డిఫాల్ట్ పరీక్ష చిత్ర విలువకు సెట్ చేయాలనుకుంటే ఖాళీగా వదిలిపెట్టండి</translation>
 <translation id="3677657024345889897">అత్యంత నిశబ్దం</translation>
 <translation id="3678156199662914018">పొడిగింపు: <ph name="EXTENSION_NAME" /></translation>
@@ -1775,7 +1776,7 @@
 <translation id="3683023058278427253">మేము మీ డొమైన్ కోసం బహుళ లైసెన్స్ రకాలను కనుగొన్నాము. దయచేసి కొనసాగడానికి ఒకదాన్ని ఎంచుకోండి.</translation>
 <translation id="3683524264665795342"><ph name="APP_NAME" /> స్క్రీన్ షేరింగ్ అభ్యర్థన</translation>
 <translation id="3685122418104378273">మొబైల్ డేటాను ఉపయోగిస్తున్నప్పుడు Google డిస్క్ సింక్ డిఫాల్ట్‌గా నిలిపివేయబడుతుంది.</translation>
-<translation id="368789413795732264">ఫైల్‌ను వ్రాయడానికి ప్రయత్నించడంలో లోపం జరిగింది: <ph name="ERROR_TEXT" />.</translation>
+<translation id="368789413795732264">ఫైల్‌ను వ్రాయడానికి ప్రయత్నించడంలో ఎర్రర్ జరిగింది: <ph name="ERROR_TEXT" />.</translation>
 <translation id="3688507211863392146">మీరు అప్లికేషన్‌లో తెరిచే ఫైల్‌లు మరియు ఫోల్డర్‌లలో వ్రాయండి</translation>
 <translation id="3688526734140524629">ఛానెల్‌ను మార్చు</translation>
 <translation id="3688578402379768763">తాజాగా ఉంది</translation>
@@ -1889,7 +1890,7 @@
 <translation id="383161972796689579">ఈ పరికరం యొక్క యజమాని క్రొత్త వినియోగదారులను జోడించడం నిలిపివేసారు</translation>
 <translation id="3834775135533257713"><ph name="TO_INSTALL_APP_NAME" /> యాప్ "<ph name="INSTALLED_APP_NAME" />"కి వైరుధ్యంగా ఉన్నందున దాన్ని జోడించలేరు.</translation>
 <translation id="3835522725882634757">అయ్యో! ఈ సర్వర్ పంపిస్తున్న డేటా <ph name="PRODUCT_NAME" />కు అర్థం కాలేదు. దయచేసి <ph name="BEGIN_LINK" />బగ్‌ను నివేదించి<ph name="END_LINK" />, అందులో <ph name="BEGIN2_LINK" />అసలు జాబితా<ph name="END2_LINK" />ను చేర్చండి.</translation>
-<translation id="3838085852053358637">పొడిగింపును లోడ్ చేయడం విఫలమైంది</translation>
+<translation id="3838085852053358637">ఎక్స్‌టెన్షన్‌ను లోడ్ చేయడం విఫలమైంది</translation>
 <translation id="3838486795898716504">మరిన్ని <ph name="PAGE_TITLE" /></translation>
 <translation id="3838543471119263078">కుక్కీలు మరియు ఇతర సైట్ మరియు ప్లగిన్ డేటా</translation>
 <translation id="383891835335927981">సైట్‌లు ఏవీ దగ్గరకు లేదా దూరానికి జూమ్ చేయబడలేదు</translation>
@@ -1961,8 +1962,8 @@
 <translation id="3937734102568271121">ఎల్లప్పుడూ <ph name="LANGUAGE" /> భాషలోది అనువదించు</translation>
 <translation id="3940233957883229251">ఆటోమేటిక్‌గా పునరావృతం చేయడాన్ని ప్రారంభించు</translation>
 <translation id="3941357410013254652">ఛానెల్ ID</translation>
-<translation id="3941565636838060942">ఈ ప్రోగ్రామ్‌కు యాక్సెస్‌ను దాచడానికి, మీరు దీనిని నియంత్రణ ప్యానెల్‌లోని
-   <ph name="CONTROL_PANEL_APPLET_NAME" />ను ఉపయోగించి అన్‌ఇన్‌స్టాల్ చేయాలి.
+<translation id="3941565636838060942">ఈ ప్రోగ్రామ్‌కు యాక్సెస్‌ను దాచడానికి, మీరు దీన్ని నియంత్రణ ప్యానెల్‌లోని
+ <ph name="CONTROL_PANEL_APPLET_NAME" />ను ఉపయోగించి అన్‌ఇన్‌స్టాల్ చేయాలి.
 
   మీరు <ph name="CONTROL_PANEL_APPLET_NAME" />ను ప్రారంభించాలనుకుంటున్నారా?</translation>
 <translation id="394183848452296464">షార్ట్‌కట్‌ను సృష్టించడం సాధ్యపడదు</translation>
@@ -2078,7 +2079,7 @@
 <translation id="4110490973560452005">డౌన్‌లోడ్ పూర్తయింది: <ph name="FILE_NAME" />. డౌన్‌లోడ్‌ల బార్ ప్రాంతంలోకి వెళ్లడం కోసం Shift+F6 నొక్కండి.</translation>
 <translation id="4110895898888439383">అధిక కాంట్రాస్ట్ మోడ్‌లో వెబ్‌ని బ్రౌజ్ చేయండి</translation>
 <translation id="4115002065223188701">నెట్‌వర్క్ అందుబాటులో లేదు</translation>
-<translation id="4115080753528843955">రక్షిత కంటెంట్‌కు యాక్సెస్‌ను ప్రామాణీకరించేందుకు కొన్ని కంటెంట్ సేవలు ప్రత్యేక ఐడెంటిఫైయర్‌లను ఉపయోగిస్తాయి</translation>
+<translation id="4115080753528843955">రక్షిత కంటెంట్‌కు యాక్సెస్‌ను ప్రామాణీకరించే ప్రయోజనాల కోసం కొన్ని కంటెంట్ సేవలు ప్రత్యేక ఐడెంటిఫైయర్‌లను ఉపయోగిస్తాయి</translation>
 <translation id="4118579674665737931">దయచేసి పరికరాన్ని రీబూట్ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="4120817667028078560">పాథ్‌ చాలా పొడవుగా ఉంది</translation>
 <translation id="4121428309786185360">గడువు ముగిసేది</translation>
@@ -2133,7 +2134,7 @@
 <translation id="4211851069413100178">వినియోగం &amp; విశ్లేషణల డేటాను పంపండి. సమస్య విశ్లేషణ, పరికరం, యాప్ వినియోగ డేటాను Googleకి ఆటోమేటిక్‌గా పంపడం ద్వారా మీ Android అనుభవాన్ని మెరుగుపరచడంలో సహాయపడండి. ఇది సిస్టమ్, యాప్ స్థిరత్వానికి, అలాగే ఇతర మెరుగుదలలకు సహాయపడుతుంది. కొంత సముదాయ డేటా కూడా Google యాప్‌లకు, అలాగే Android డెవలపర్‌ల లాంటి భాగస్వాములకు సహాయపడుతుంది. ఈ <ph name="BEGIN_LINK1" />సెట్టింగ్‌<ph name="END_LINK1" />ని యజమాని అమలు చేసారు. ఈ పరికరానికి సంబంధించిన విశ్లేషణ, వినియోగ డేటాను Googleకి పంపేలా యజమాని ఎంచుకోవచ్చు. మీ అదనపు వెబ్ &amp; యాప్ కార్యకలాపం సెట్టింగ్‌ను ఆన్ చేసినట్లయితే, ఈ డేటా మీ Google ఖాతాలో సేవ్ చేయబడవచ్చు. <ph name="BEGIN_LINK2" />మరింత తెలుసుకోండి<ph name="END_LINK2" /></translation>
 <translation id="42126664696688958">ఎగుమతి చేయి</translation>
 <translation id="4212740939091998969">"<ph name="FOLDER_NAME" />" పేరు గల ఫోల్డర్ ఇప్పటికే ఉంది. దయచేసి వేరే పేరును ఎంచుకోండి.</translation>
-<translation id="42137655013211669">సర్వర్ ఈ వనరుకు ప్రాప్యతను నిషేధించింది.</translation>
+<translation id="42137655013211669">సర్వర్ ఈ వనరుకు యాక్సెస్‌ను నిషేధించింది.</translation>
 <translation id="4215350869199060536">అయ్యో, పేరులో చట్టవ్యతిరేక చిహ్నాలు ఉన్నాయి!</translation>
 <translation id="4215448920900139318"><ph name="FILE_COUNT" /> వాటిని బ్యాకప్ చేస్తోంది</translation>
 <translation id="4225397296022057997">అన్ని సైట్‌లలో</translation>
@@ -2173,7 +2174,7 @@
 <translation id="4285418559658561636">పాస్‌వర్డ్‌ను అప్‌డేట్ చేయి</translation>
 <translation id="4285498937028063278">అన్‌పిన్ చేయి</translation>
 <translation id="428565720843367874">ఈ ఫైల్‌ను స్కాన్ చేస్తున్నప్పుడు ఊహించని విధంగా యాంటీ-వైరస్ సాఫ్ట్‌వేర్ విఫలమైంది.</translation>
-<translation id="4287502004382794929">ఈ పరికరాన్ని నమోదు చేయడానికి మీకు తగిన సాఫ్ట్‌వేర్ లైసెన్స్‌లు లేవు. దయచేసి మరిన్నింటిని కొనుగోలు చేయడానికి విక్రయ కేంద్రాన్ని సంప్రదించండి. మీరు ఈ సందేశాన్ని పొరపాటున చూస్తున్నారని విశ్వసిస్తే, దయచేసి మద్దతు కేంద్రాన్ని సంప్రదించండి.</translation>
+<translation id="4287502004382794929">ఈ పరికరాన్ని నమోదు చేయడానికి కావలసిన సాఫ్ట్‌వేర్ లైసెన్స్‌లు మీ వద్ద లేవు. దయచేసి మరిన్నింటిని కొనుగోలు చేయడానికి విక్రయ కేంద్రాన్ని సంప్రదించండి. మీరు ఈ సందేశాన్ని పొరపాటున చూస్తున్నారని విశ్వసిస్తే, దయచేసి మద్దతు కేంద్రాన్ని సంప్రదించండి.</translation>
 <translation id="4289540628985791613">స్థూలదృష్టి</translation>
 <translation id="4290535918735525311">Linuxతో 1 ఫోల్డర్ షేర్ చేయబడింది</translation>
 <translation id="4291934469232591280">వెర్షన్: <ph name="VERSION" /></translation>
@@ -2264,7 +2265,7 @@
 <translation id="4441548209689510310">స్పెల్ చెక్ ఎంపికలను చూపు</translation>
 <translation id="4442424173763614572">DNS శోధన విఫలమైంది</translation>
 <translation id="4443536555189480885">&amp;సహాయం</translation>
-<translation id="4444304522807523469">USB ద్వారా లేదా స్థానిక నెట్‌వర్క్‌లో జోడించిన స్కానర్‌లను యాక్సెస్ చేయండి</translation>
+<translation id="4444304522807523469">USB ద్వారా లేదా స్థానిక నెట్‌వర్క్‌లో జోడించిన పత్రం స్కానర్‌లను యాక్సెస్ చేయండి</translation>
 <translation id="4444512841222467874">స్థలం ఖాళీ చేయకపోతే, వినియోగదారులు మరియు డేటా స్వయంచాలకంగా తీసివేయబడవచ్చు.</translation>
 <translation id="4446933390699670756">ప్రతిబింబితం</translation>
 <translation id="4448844063988177157">Wi-Fi నెట్‌వర్క్‌ల కోసం వెతుకుతోంది...</translation>
@@ -2355,10 +2356,10 @@
 <translation id="4596295440756783523">మీకు ఫైల్‌లో ఈ సర్వర్‌లను గుర్తించే ప్రమాణపత్రాలు ఉన్నాయి</translation>
 <translation id="4598556348158889687">నిల్వ నిర్వహణ</translation>
 <translation id="4598776695426288251">బహుళ పరికరాల ద్వారా Wi-Fi అందుబాటులో ఉంది</translation>
-<translation id="4602466770786743961">మీ కెమెరా మరియు మైక్రోఫోన్‌ను ప్రాప్యత చేయడానికి <ph name="HOST" />ను ఎల్లప్పుడూ అనుమతించండి</translation>
+<translation id="4602466770786743961">మీ కెమెరా మరియు మైక్రోఫోన్‌ను యాక్సెస్ చేయడానికి <ph name="HOST" />ను ఎల్లప్పుడూ అనుమతించండి</translation>
 <translation id="4608500690299898628">&amp;కనుగొను...</translation>
 <translation id="4608520674724523647">విజయవంతమైన నమోదు ఉదాహరణ</translation>
-<translation id="4610162781778310380"><ph name="PLUGIN_NAME" />‌కి ఎర్రర్ ఎదురైంది</translation>
+<translation id="4610162781778310380"><ph name="PLUGIN_NAME" />‌కు ఎర్రర్ ఎదురైంది</translation>
 <translation id="4610637590575890427">మీరు <ph name="SITE" />కు వెళ్లాలనుకుంటున్నారా?</translation>
 <translation id="4611114513649582138">డేటా కనెక్షన్ అందుబాటులో ఉంది</translation>
 <translation id="4613271546271159013">మీరు కొత్త ట్యాబ్‌ను తెరిచినప్పుడు చూపబడే పేజీని ఎక్స్‌టెన్ష‌న్‌ మార్చింది.</translation>
@@ -2390,10 +2391,10 @@
 <translation id="4660476621274971848">ఆశించిన వెర్షన్ "<ph name="EXPECTED_VERSION" />", కానీ ఉన్న వెర్షన్ "<ph name="NEW_ID" />"</translation>
 <translation id="4662788913887017617">ఈ బుక్‌మార్క్‌ను మీ iPhoneతో షేర్ చేయండి</translation>
 <translation id="4663373278480897665">కెమెరా అనుమతించబడింది</translation>
-<translation id="4664482161435122549">PKCS #12 ఎగుమతి లోపం</translation>
+<translation id="4664482161435122549">PKCS #12 ఎగుమతి ఎర్రర్</translation>
 <translation id="4665014895760275686">తయారీదారు</translation>
 <translation id="4668721319092543482"><ph name="PLUGIN_NAME" />ను ప్రారంభించడానికి క్లిక్ చేయండి</translation>
-<translation id="4669606053856530811">'<ph name="SOURCE_NAME" />' యొక్క సభ్యులతో ఈ అంశాలను భాగస్వామ్యం చేస్తే మినహా వారు ప్రాప్యతను కోల్పోతారు.</translation>
+<translation id="4669606053856530811">'<ph name="SOURCE_NAME" />' యొక్క సభ్యులతో ఈ అంశాలను షేర్ చేస్తే మినహా వారు యాక్సెస్‌ను కోల్పోతారు.</translation>
 <translation id="4672657274720418656">పేజీని డిస్టిల్ చేయి</translation>
 <translation id="4673442866648850031">స్టైలస్‌ను బయటకు తీసినప్పుడు స్టైలస్ సాధనాలను తెరుస్తుంది</translation>
 <translation id="4677585247300749148">యాక్సెసిబిలిటీ ఈవెంట్‌లకు <ph name="URL" /> ప్రతిస్పందించాలనుకుంటోంది</translation>
@@ -2492,15 +2493,15 @@
 <translation id="4829768588131278040">PINని సెటప్ చేయి</translation>
 <translation id="4830502475412647084">OS అప్‌డేట్‌ ఇన్‌స్టాల్ చేయబడుతోంది</translation>
 <translation id="4830573902900904548"><ph name="NETWORK_NAME" />ను ఉపయోగించి మీ <ph name="DEVICE_TYPE" /> ఇంటర్నెట్‌కి కనెక్ట్ చేయలేకపోయింది. దయచేసి మరో నెట్‌వర్క్‌ను ఎంచుకోండి. <ph name="LEARN_MORE_LINK_START" />మరింత తెలుసుకోండి<ph name="LEARN_MORE_LINK_END" /></translation>
-<translation id="4835385943915508971">Chrome అభ్యర్థించిన వనరుకు ప్రాప్యత కలిగి లేదు.</translation>
-<translation id="4835836146030131423">సైన్ ఇన్ చేయడంలో లోపం.</translation>
+<translation id="4835385943915508971">Chrome అభ్యర్థించిన వనరుకు యాక్సెస్ కలిగి లేదు.</translation>
+<translation id="4835836146030131423">సైన్ ఇన్ చేయడంలో ఎర్రర్.</translation>
 <translation id="4837926214103741331">ఈ పరికరాన్ని ఉపయోగించడానికి మీకు అధికారం లేదు. దయచేసి సైన్-ఇన్ అనుమతి కోసం పరికర యజమానిని సంప్రదించండి.</translation>
 <translation id="4837952862063191349">మీ స్థానిక డేటాను అన్‌లాక్ చేసి పునరుద్ధరించడానికి, దయచేసి మీ పాత <ph name="DEVICE_TYPE" /> పాస్‌వర్డ్‌ను నమోదు చేయండి.</translation>
 <translation id="4838836835474292213">క్లిప్‌బోర్డ్‌ను చదివే యాక్సెస్ అనుమతించబడింది</translation>
 <translation id="4839303808932127586">వీడియోను ఇలా సే&amp;వ్ చెయ్యి...</translation>
 <translation id="4839847978919684242"><ph name="SELCTED_FILES_COUNT" /> అంశాలు ఎంచుకోబడ్డాయి</translation>
 <translation id="4840150926623932060">{NUM_DOWNLOAD,plural, =1{మరో 1}other{మరో #}}</translation>
-<translation id="4842976633412754305">ఈ పేజీ ప్రామాణీకరించని మూలాల నుండి స్క్రిప్ట్‌లను లోడ్ చేయడానికి ప్రయత్నిస్తోంది.</translation>
+<translation id="4842976633412754305">ప్రామాణీకరించని మూలాల నుండి స్క్రిప్ట్‌లను లోడ్ చేయడానికి, ఈ పేజీ ప్రయత్నిస్తోంది.</translation>
 <translation id="4844333629810439236">ఇతర కీబోర్డ్‌లు</translation>
 <translation id="4846680374085650406">మీరు ఈ సెట్టింగ్ కోసం నిర్వాహకుడి సిఫార్సును అనుసరిస్తున్నారు.</translation>
 <translation id="4848518990323155912">SIM కార్డ్ లాకింగ్‌ను ప్రారంభించు (మొబైల్ డేటాను వినియోగించడానికి PIN అవసరం)</translation>
@@ -2530,7 +2531,7 @@
 <translation id="4877276003880815204">మూలకాలను పర్యవేక్షించు</translation>
 <translation id="4879491255372875719">ఆటోమేటిక్ (డిఫాల్ట్)</translation>
 <translation id="4880214202172289027">వాల్యూమ్ స్లయిడర్</translation>
-<translation id="4880328057631981605">ప్రాప్యత స్థానం పేరు</translation>
+<translation id="4880328057631981605">యాక్సెస్ స్థానం పేరు</translation>
 <translation id="4880520557730313061">స్వీయ పరిష్కరణ</translation>
 <translation id="4880827082731008257">శోధన చరిత్ర</translation>
 <translation id="4881695831933465202">తెరువు</translation>
@@ -2595,7 +2596,7 @@
 <translation id="4964455510556214366">అమరిక</translation>
 <translation id="4964673849688379040">తనిఖీ చేస్తోంది...</translation>
 <translation id="4965808351167763748">మీరు Hangouts సమావేశాన్ని అమలు చేయడానికి ఈ పరికరాన్ని ఖచ్చితంగా సెటప్ చేయాలనుకుంటున్నారా?</translation>
-<translation id="496888482094675990">ఫైల్‌ల యాప్, మీరు Google డిస్క్, బాహ్య నిల్వ లేదా మీ Chrome OS పరికరంలో సేవ్ చేసిన ఫైల్‌లకు త్వరిత యాక్సెస్‌ను అందిస్తుంది.</translation>
+<translation id="496888482094675990">ఫైల్‌ల యాప్ మీరు Google డిస్క్, బాహ్య నిల్వ లేదా మీ Chrome OS పరికరంలో సేవ్ చేసిన ఫైల్‌లకు శీఘ్ర యాక్సెస్‌ను అందిస్తుంది.</translation>
 <translation id="4969785127455456148">ఆల్బమ్</translation>
 <translation id="4971412780836297815">పూర్తవగానే తెరువు</translation>
 <translation id="4972129977812092092">ప్రింటర్‌ను సవరించండి</translation>
@@ -2605,10 +2606,10 @@
 <translation id="4973523518332075481"><ph name="MAX_LENGTH" /> లేదా అంతకంటే తక్కువ అక్షరాలు ఉన్న పేరుని ఉపయోగించండి</translation>
 <translation id="4973970068702235170">జిప్ చేయడం విఫలమైంది, అనుకోని ఎర్రర్: <ph name="ERROR_MESSAGE" /></translation>
 <translation id="4974733135013075877">నిష్క్రమించు మరియు చైల్డ్ లాక్ చేయి</translation>
-<translation id="4977942889532008999">ప్రాప్యతను నిర్ధారించండి</translation>
+<translation id="4977942889532008999">యాక్సెస్‌ను నిర్ధారించండి</translation>
 <translation id="4980805016576257426">ఈ ఎక్స్‌టెన్షన్‌లో మాల్వేర్ ఉంది.</translation>
 <translation id="4981449534399733132">మీ అన్ని సమకాలీకరించబడుతున్న పరికరాలతో సహా, మీ Google ఖాతా నుండి బ్రౌజింగ్ డేటాను తీసివేయడానికి, <ph name="BEGIN_LINK" />సైన్ ఇన్ చేయండి<ph name="END_LINK" />.</translation>
-<translation id="498294082491145744">కుక్కీలు, జావాస్క్రిప్ట్, ప్లగిన్‌లు, భౌగోళిక స్థానం, మైక్రోఫోన్, కెమెరా మొదలైన లక్షణాలకు వెబ్‌సైట్‌ల యాక్సెస్‌ను నియంత్రించే మీ సెట్టింగ్‌లను మార్చండి.</translation>
+<translation id="498294082491145744">కుక్కీలు, జావాస్క్రిప్ట్, ప్లగిన్‌లు, భౌగోళిక స్థానం, మైక్రోఫోన్, కెమెరా మొదలైన ఫీచర్‌లకు వెబ్‌సైట్‌ల యాక్సెస్‌ను నియంత్రించే మీ సెట్టింగ్‌లను మార్చండి.</translation>
 <translation id="4988205478593450158">మీరు ఖచ్చితంగా "<ph name="FILE_NAME" />"ని తొలగించాలనుకుంటున్నారా?</translation>
 <translation id="4988526792673242964">పేజీలు</translation>
 <translation id="49896407730300355">అ&amp;పసవ్యదిశలో తిప్పు</translation>
@@ -2658,7 +2659,7 @@
 <translation id="5063480226653192405">ఉపయోగం</translation>
 <translation id="5065775832226780415">Smart Lock</translation>
 <translation id="5067399438976153555">ఎల్లప్పుడూ ఆన్ చేయి</translation>
-<translation id="5067867186035333991"><ph name="HOST" /> మీ మైక్రోఫోన్‌ను ప్రాప్యత చేయాలనుకుంటే నాకు తెలియజేయి</translation>
+<translation id="5067867186035333991"><ph name="HOST" /> మీ మైక్రోఫోన్‌ను యాక్సెస్ చేయాలనుకుంటే నాకు తెలియజేయి</translation>
 <translation id="5068918910148307423">డేటాను పంపడం మరియు స్వీకరించడం పూర్తి చేయడానికి ఇటీవల మూసివేసిన సైట్‌లను అనుమతించవద్దు</translation>
 <translation id="5072052264945641674">కర్సర్ పరిమాణాన్ని సర్దుబాటు చేయి</translation>
 <translation id="5072836811783999860">నిర్వహించబడే బుక్‌మార్క్‌లను చూపు</translation>
@@ -2675,7 +2676,7 @@
 <translation id="5087926280563932024">మీ ఖాతాని ధృవీకరించడం సాధ్యం కాలేదు. దయచేసి మళ్లీ ప్రయత్నించండి లేదా మీ Chromebookని పునఃప్రారంభించండి.</translation>
 <translation id="5088172560898466307">సర్వర్ హోస్ట్ పేరు</translation>
 <translation id="5088534251099454936">RSA ఎన్‌క్రిప్షన్‌తో PKCS #1 SHA-512</translation>
-<translation id="509429900233858213">ఒక లోపం సంభవించింది.</translation>
+<translation id="509429900233858213">ఒక ఎర్రర్ ఏర్పడింది.</translation>
 <translation id="5094721898978802975">సహకరిస్తున్న స్థానిక అనువర్తనాలతో కమ్యూనికేట్ చేయండి</translation>
 <translation id="5097002363526479830">'<ph name="NAME" />' నెట్‌వర్క్‌కు కనెక్ట్ చేయడంలో విఫలమైంది: <ph name="DETAILS" /></translation>
 <translation id="5101042277149003567">అన్ని బుక్‌మార్క్‌లను తెరువు</translation>
@@ -2726,7 +2727,7 @@
 <translation id="5171045022955879922">URLను వెతకండి లేదా టైప్ చేయండి</translation>
 <translation id="5171343362375269016">వినిమయం చేసిన మెమరీ</translation>
 <translation id="5175379009094579629">పరికరం పేరు చెల్లదు. మళ్లీ ప్రయత్నించడానికి చెల్లుబాటయ్యే పరికరం పేరును నమోదు చేయండి.</translation>
-<translation id="5177479852722101802">కెమెరా మరియు మైక్రోఫోన్ ప్రాప్యతను బ్లాక్ చేయడాన్ని కొనసాగించు</translation>
+<translation id="5177479852722101802">కెమెరా మరియు మైక్రోఫోన్ యాక్సెస్‌ను బ్లాక్ చేయడాన్ని కొనసాగించు</translation>
 <translation id="5177526793333269655">సూక్ష్మచిత్ర వీక్షణ</translation>
 <translation id="5177549709747445269">మీరు మొబైల్ డేటాను వినియోగిస్తున్నారు</translation>
 <translation id="5178667623289523808">మునుపటిని కనుగొను</translation>
@@ -2742,7 +2743,7 @@
 <translation id="5204673965307125349">దయచేసి పరికరాన్ని పవర్‌వాష్ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="5204967432542742771">పాస్‌వర్డ్‌ని నమోదు చేయండి</translation>
 <translation id="5206215183583316675">"<ph name="CERTIFICATE_NAME" />"ని తొలగించాలా?</translation>
-<translation id="520621735928254154">ప్రమాణపత్ర దిగుమతి లోపం</translation>
+<translation id="520621735928254154">సర్టిఫికెట్ దిగుమతి ఎర్రర్</translation>
 <translation id="5209320130288484488">పరికరాలు కనుగొనబడలేదు</translation>
 <translation id="5209518306177824490">SHA-1 వేలిముద్ర</translation>
 <translation id="5213481667492808996">మీ '<ph name="NAME" />' డేటా సేవ ఉపయోగించడానికి సిద్ధంగా ఉంది</translation>
@@ -2752,7 +2753,7 @@
 <translation id="52232769093306234">ప్యాకింగ్ విఫలమైంది.</translation>
 <translation id="5225324770654022472">యాప్‌ల షార్ట్‌కట్‌ను చూపండి</translation>
 <translation id="5227679487546032910">డిఫాల్ట్ నీలం ఆకుపచ్చ రంగు అవతార్</translation>
-<translation id="5228076606934445476">పరికరంలో ఏదో తప్పు ఉంది.  ఈ ఎర్రర్ నుండి మీ పరికరాన్ని పునరుద్ధరించడానికి మీరు పరికరాన్ని రీబూట్ చేసి, మళ్లీ ప్రయత్నించాలి.</translation>
+<translation id="5228076606934445476">పరికరంలో ఏదో తప్పు ఉంది. ఈ ఎర్రర్‌ను పునరుద్ధరించడానికి మీరు పరికరాన్ని రీబూట్ చేసి, మళ్లీ ప్రయత్నించాలి.</translation>
 <translation id="5229189185761556138">ఇన్‌పుట్ పద్ధతులను నిర్వహించు</translation>
 <translation id="5230516054153933099">కిటికీ</translation>
 <translation id="5233019165164992427">NaCl డీబగ్ పోర్ట్</translation>
@@ -2782,17 +2783,17 @@
 <translation id="5256861893479663409">అన్ని సైట్‌లలో</translation>
 <translation id="5260508466980570042">క్షమించండి, మీ ఇమెయిల్ లేదా పాస్‌వర్డ్ ధృవీకరించబడలేదు. దయచేసి మళ్ళీ ప్రయత్నించండి.</translation>
 <translation id="5261683757250193089">వెబ్ స్టోర్‌లో తెరవండి</translation>
-<translation id="5262311848634918433"><ph name="MARKUP_1" />ఫైల్‌లను ఎక్కడి నుండైనా యాక్సెస్‌ చేయండి, ఆఫ్‌లైన్‌లో ఉన్నప్పటికీ యాక్సెస్‌ చేయగలరు.<ph name="MARKUP_2" />
-    Google డిస్క్‌లోని ఫైల్‌లు అప్‌డేట్‌గా ఉంటాయి. ఏ పరికరం నుండి అయినా అందుబాటులో ఉంటాయి.<ph name="MARKUP_3" />
+<translation id="5262311848634918433"><ph name="MARKUP_1" />ఫైల్‌లను ఎక్కడి నుండైనా యాక్సెస్ చేయండి, ఆఫ్‌లైన్‌లో ఉన్నప్పటికీ యాక్సెస్ చేయగలరు.<ph name="MARKUP_2" />
+    Google డిస్క్‌లోని ఫైల్‌లు నవీకృతంగా ఉంటాయి మరియు ఏ పరికరం నుండి అయినా అందుబాటులో ఉంటాయి.<ph name="MARKUP_3" />
     <ph name="MARKUP_4" />మీ ఫైల్‌లను సురక్షితంగా ఉంచుకోండి.<ph name="MARKUP_5" />
-    మీ పరికరానికి ఏమైనా ఫ‌ర్లేదు, మీ ఫైల్‌లు Google డిస్క్‌లో సురక్షితంగా నిల్వ చేయబడి ఉంటాయి.<ph name="MARKUP_6" />
-    అన్ని ఫైల్‌లు ఒకే చోట ఉంటాయి, కనుక <ph name="MARKUP_7" />షేర్‌ చేయండి, సృష్టించండి,
-    వాటిపై ఇతరులతో కలిసి పని చేయండి<ph name="MARKUP_8" />.<ph name="MARKUP_9" /></translation>
+    మీ పరికరానికి ఏ విధమైన ఆపద సంభవించినా ఫర్వాలేదు, మీ ఫైల్‌లు Google డిస్క్‌లో సురక్షితంగా నిల్వ చేయబడి ఉంటాయి.<ph name="MARKUP_6" />
+    అన్ని ఫైల్‌లు ఒకే చోట ఉంటాయి, కనుక <ph name="MARKUP_7" />షేర్ చేయండి, సృష్టించండి
+    మరియు వాటిపై ఇతరులతో కలిసి పని చేయండి<ph name="MARKUP_8" />.<ph name="MARKUP_9" /></translation>
 <translation id="5264148714798105376">ఇది ఇంచుమించు ఒక నిమిషంలో పూర్తి కావచ్చు.</translation>
 <translation id="5264252276333215551">దయచేసి మీ యాప్‌ను కియోస్క్ మోడ్‌లో లాంఛ్‌ చేయడానికి ఇంటర్నెట్‌కు కనెక్ట్ చేయండి.</translation>
 <translation id="5265562206369321422">వారానికి పైగా ఆఫ్‌లైన్‌లో ఉంది</translation>
 <translation id="5265797726250773323">ఇన్‌స్టాల్ చేయడంలో ఎర్రర్</translation>
-<translation id="5266113311903163739">ప్రమాణపత్రం అధికారి దిగుమతి లోపం</translation>
+<translation id="5266113311903163739">సర్టిఫికెట్ అధికారి దిగుమతి ఎర్రర్</translation>
 <translation id="5269977353971873915">ముద్రణ విఫలమైంది</translation>
 <translation id="5270167208902136840">మరో <ph name="NUMBER_OF_MORE_APPS" /> యాప్‌లను చూపు</translation>
 <translation id="5275352920323889391">కుక్క</translation>
@@ -2870,7 +2871,7 @@
 <translation id="5376169624176189338">వెనుకకు వెళ్ల‌డానికి క్లిక్ చేయండి. చరిత్రను చూడటానికి నొక్కి ఉంచండి</translation>
 <translation id="5376931455988532197">ఫైల్ చాలా పెద్దదిగా ఉంది</translation>
 <translation id="537813040452600081">మీరు ఈ విండోలో వీక్షించే పేజీలు బ్రౌజర్ చరిత్రలో కనిపించవు. మీరు సైన్ అవుట్ చేసిన తర్వాత కంప్యూటర్‌లో అవి కుక్కీల వంటి ఇతర జాడలను వదిలిపెట్టవు. మీరు డౌన్‌లోడ్ చేసే ఫైల్‌లు, సృష్టించే బుక్‌మార్క్‌లు భద్రపరచబడవు.</translation>
-<translation id="5379140238605961210">మైక్రోఫోన్ ప్రాప్యతను బ్లాక్ చేయడాన్ని కొనసాగించు</translation>
+<translation id="5379140238605961210">మైక్రోఫోన్ యాక్సెస్‌ను బ్లాక్ చేయడాన్ని కొనసాగించు</translation>
 <translation id="5379268888377976432">తొలగింపు చర్య రద్దు చేయండి</translation>
 <translation id="5382591305415226340">మద్దతు గల లింక్‌లను నిర్వహించండి</translation>
 <translation id="5384883051496921101">ఈ సైట్, అజ్ఞాత మోడ్ వెలుపల యాప్‌‌తో సమాచారాన్ని షేర్ చేయబోతోంది.</translation>
@@ -2891,7 +2892,7 @@
 <translation id="5417312524372586921">బ్రౌజర్ థీమ్‌లు</translation>
 <translation id="5419294236999569767">సిస్టమ్ సమయం</translation>
 <translation id="5420438158931847627">వచన సందేశం మరియు చిత్రాల స్పష్టతను నిర్ణయిస్తుంది</translation>
-<translation id="5422221874247253874">ప్రాప్యత స్థానం</translation>
+<translation id="5422221874247253874">యాక్సెస్ స్థానం</translation>
 <translation id="5422781158178868512">క్షమించండి, మీ బాహ్య నిల్వ పరికరం గుర్తించబడలేదు.</translation>
 <translation id="5423849171846380976">సక్రియం చెయ్యబడింది</translation>
 <translation id="5425042808445046667">డౌన్‌లోడ్‌ చేయడాన్ని కొనసాగించు</translation>
@@ -2931,7 +2932,7 @@
 <translation id="5471768120198416576">హలో! నేను మీ వచనం నుండి ప్రసంగం వాయిస్‌ని.</translation>
 <translation id="5473333559083690127">కొత్త PINని మళ్లీ నమోదు చేయండి</translation>
 <translation id="5481941284378890518">సమీప ప్రింటర్‌లను జోడించు</translation>
-<translation id="5483785310822538350">ఫైల్ మరియు పరికర ప్రాప్యతను ఉపసంహరించు</translation>
+<translation id="5483785310822538350">ఫైల్ మరియు పరికర యాక్సెస్‌ను ఉపసంహరించు</translation>
 <translation id="5485080380723335835">భద్రత కోసం మీ <ph name="DEVICE_TYPE" /> లాక్ అయింది. కొనసాగించడానికి మీ పాస్‌వర్డ్‌‌ను మాన్యువల్‌గా నమోదు చేయండి.</translation>
 <translation id="5485102783864353244">యాప్‌ను జోడించు</translation>
 <translation id="5485754497697573575">అన్ని ట్యాబ్‌లను పునరుద్ధరించు</translation>
@@ -3076,7 +3077,7 @@
 <translation id="567643736130151854">అన్ని పరికరాలలో మీ బుక్‌మార్క్‌లు, పాస్‌వర్డ్‌లు మరియు మరిన్నింటిని పొందడం కోసం సైన్ ఇన్ చేసి, సమకాలీకరణను ఆన్ చేయండి</translation>
 <translation id="5677503058916217575">పేజీ భాష:</translation>
 <translation id="5677928146339483299">బ్లాక్ చేయబడింది</translation>
-<translation id="5678550637669481956"><ph name="VOLUME_NAME" />కి చదవడానికి మరియు వ్రాయడానికి ప్రాప్యత మంజూరు చేయబడింది.</translation>
+<translation id="5678550637669481956"><ph name="VOLUME_NAME" />కి చదవడానికి మరియు వ్రాయడానికి యాక్సెస్ మంజూరు చేయబడింది.</translation>
 <translation id="5678784840044122290">Linux అప్లికేషన్ మీ టెర్మినల్‌లో అందుబాటులో ఉంటుంది మరియు మీ లాంచర్‌లో ఒక చిహ్నం కూడా చూపవచ్చు.</translation>
 <translation id="5678955352098267522"><ph name="WEBSITE_1" />లోని మీ డేటాను చదవండి</translation>
 <translation id="5684661240348539843">అసెట్ ఐడెంటిఫైయర్</translation>
@@ -3098,7 +3099,7 @@
 <translation id="5701381305118179107">మధ్యకు</translation>
 <translation id="5702898740348134351">&amp;శోధన ఇంజిన్‌లను సవరించండి...</translation>
 <translation id="5704875434923668958">దీనికి సమకాలీకరిస్తోంది</translation>
-<translation id="5707185214361380026">దీని నుండి పొడిగింపుని లోడ్ చేయడంలో విఫలమైంది:</translation>
+<translation id="5707185214361380026">దీని నుండి ఎక్స్‌టెన్షన్‌ను లోడ్ చేయడంలో విఫలమైంది:</translation>
 <translation id="5708171344853220004">Microsoft ప్రధాన పేరు</translation>
 <translation id="5709557627224531708">Chromeని మీ డిఫాల్ట్ బ్రౌజర్‌గా సెట్ చేయండి</translation>
 <translation id="5711983031544731014">అన్‌లాక్ చేయడం సాధ్యపడలేదు. మీ పాస్‌వర్డ్‌ను నమోదు చేయండి.</translation>
@@ -3147,7 +3148,7 @@
 <translation id="5781092003150880845"><ph name="ACCOUNT_FULL_NAME" />గా సింక్ చేయి</translation>
 <translation id="5781865261247219930"><ph name="EXTENSION_NAME" />కి ఆదేశాలను పంపించండి</translation>
 <translation id="5782227691023083829">అనువదిస్తోంది...</translation>
-<translation id="5783221160790377646">లోపం కారణంగా, పర్యవేక్షించబడే వినియోగదారు సృష్టించబడలేదు. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="5783221160790377646">ఎర్రర్ కారణంగా, పర్యవేక్షించబడే వినియోగదారు సృష్టించబడలేదు. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="5783602409389152506">పరికరాల కోసం స్కాన్ చేస్తున్నప్పుడు...</translation>
 <translation id="57838592816432529">మ్యూట్ చేయి</translation>
 <translation id="5785221443435874078">ఈ సూచనని తీసివేయి</translation>
@@ -3309,7 +3310,7 @@
 <translation id="6016551720757758985">మునుపటి వెర్షన్‌కు తిరిగి మార్చేలా పవర్‌వాష్‌ను నిర్ధారించండి</translation>
 <translation id="6016972670657536680">'భాష మరియు కీబోర్డ్‌ను ఎంచుకోండి' బటన్‌. ప్రస్తుతం ఎంచుకున్న భాష <ph name="LANGUAGE" />.</translation>
 <translation id="6019169947004469866">కత్తిరించు</translation>
-<translation id="6020431688553761150">మీకు ఈ వనరుని ప్రాప్యత చేయడానికి సర్వర్ అధికారం ఇవ్వలేదు.</translation>
+<translation id="6020431688553761150">మీకు ఈ వనరుని యాక్సెస్ చేయడానికి సర్వర్ అధికారం ఇవ్వలేదు.</translation>
 <translation id="6022526133015258832">పూర్తి స్క్రీన్‌ని తెరువు</translation>
 <translation id="6022659036123304283">Chromeని మీకు నచ్చినట్లు తయారు చేసుకోండి</translation>
 <translation id="6022705094403139349">మీ భద్రతా కీని జత చేయడానికి సిద్ధంగా ఉన్నారా?</translation>
@@ -3337,7 +3338,7 @@
 <translation id="6045021379489914695">మీ Chromebook మరియు Android ఫోన్ కలిసి మెరుగ్గా పని చేస్తాయి. మీ కంప్యూటర్ నుండి వచన సందేశాలను పంపడానికి, మీ ఇంటర్నెట్ కనెక్షన్‌ను షేర్ చేయడానికి, అలాగే మీ ఫోన్‌తో మీ Chromebookను అన్‌లాక్ చేయడానికి వాటిని కనెక్ట్ చేయండి.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="6049004884579590341">పూర్తి స్క్రీన్ నుండి నిష్క్రమించడానికి |<ph name="ACCELERATOR" />|ని నొక్కి, పట్టుకోండి</translation>
 <translation id="6049065490165456785">అంతర్గత కెమెరా నుండి ఫోటో</translation>
-<translation id="6051354611314852653">అయ్యో!  ఈ పరికరం కోసం API యాక్సెస్‌ను ప్రమాణీకరించడంలో సిస్టమ్ విఫలమైంది.</translation>
+<translation id="6051354611314852653">అయ్యో!  ఈ పరికరం కోసం API యాక్సెస్‌ను ప్రామాణీకరించడంలో సిస్టమ్ విఫలమైంది.</translation>
 <translation id="6052976518993719690">SSL ధృవీకరణ అధికారం</translation>
 <translation id="6053401458108962351">&amp;బ్రౌజింగ్‌ డేటాను క్లియర్ చెయ్యి...</translation>
 <translation id="6055171183283175969">మీరు నమోదు చేసిన పాస్‌వర్డ్ తప్పు.</translation>
@@ -3353,7 +3354,7 @@
 <translation id="6071576563962215370">పరికరం ఇన్‌స్టాలేషన్-సమయ లక్షణాల లాక్‌ను ఏర్పాటు చేయడంలో సిస్టమ్ విఫలమైంది.</translation>
 <translation id="6073903501322152803">యాక్సెస్ ఫీచర్‌లను జోడించండి</translation>
 <translation id="6074825444536523002">Google ఫారమ్</translation>
-<translation id="6075731018162044558">అయ్యో!  ఈ పరికరం కోసం దీర్ఘకాల API యాక్సెస్‌ టోకెన్‌ను పొందడంలో సిస్టమ్ విఫలమైంది.</translation>
+<translation id="6075731018162044558">అయ్యో!  ఈ పరికరం కోసం దీర్ఘకాల API యాక్సెస్ టోకెన్‌ను పొందడంలో సిస్టమ్ విఫలమైంది.</translation>
 <translation id="6075907793831890935"><ph name="HOSTNAME" /> పేరు గల పరికరంతో డేటాను ఇచ్చిపుచ్చుకోవడానికి అనుమతి</translation>
 <translation id="6076175485108489240">స్థానాన్ని ఉపయోగించండి. స్థాన అనుమతిని కలిగిన యాప్‌లు మరియు సేవలు మీ పరికర స్థానాన్ని ఉపయోగించడానికి అనుమతించండి. Google కాలానుగుణంగా స్థాన డేటాని సేకరించవచ్చు మరియు స్థాన ఖచ్చితత్వం మరియు స్థానం-ఆధారిత సేవలను మెరుగుపరచడం కోసం ఈ డేటాని అనామకంగా ఉపయోగించవచ్చు. <ph name="BEGIN_LINK1" />మరింత తెలుసుకోండి<ph name="END_LINK1" /></translation>
 <translation id="6076448957780543068">ఈ స్క్రీన్‌షాట్‌ని చేర్చు</translation>
@@ -3450,7 +3451,7 @@
 <translation id="6212168817037875041">ప్రదర్శనను ఆఫ్ చేయండి</translation>
 <translation id="6212752530110374741">ఇమెయిల్ లింక్</translation>
 <translation id="6218058416316985984"><ph name="DEVICE_TYPE" /> ఆఫ్‌లైన్‌లో ఉంది. ఇంటర్నెట్‌కు కనెక్ట్ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
-<translation id="6220413761270491930">పొడిగింపును లోడ్ చేయడంలో లోపం</translation>
+<translation id="6220413761270491930">ఎక్స్‌టెన్షన్‌ను లోడ్ చేయడంలో ఎర్రర్</translation>
 <translation id="6223447490656896591">అనుకూల చిత్రం:</translation>
 <translation id="6224481128663248237">ఆకృతీకరణ విజయవంతంగా పూర్తి అయ్యింది! </translation>
 <translation id="622537739776246443">ప్రొఫైల్ తొలగించబడుతుంది</translation>
@@ -3467,7 +3468,7 @@
 <translation id="6237816943013845465">మీ స్క్రీన్ రిజల్యూషన్‌ను సర్దుబాటు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది</translation>
 <translation id="6238923052227198598">లాక్ స్క్రీన్‌పై తాజా గమనికను ఉంచండి</translation>
 <translation id="6239558157302047471">&amp;ఫ్రేమ్‌ను మళ్లీ లోడ్ చేయి</translation>
-<translation id="6241530762627360640">మీ సిస్టమ్‌తో జత చేయబడిన బ్లూటూత్ పరికరాలకు సంబంధించిన సమాచారాన్ని ప్రాప్యత చేయడానికి మరియు సమీపంలోని బ్లూటూత్ పరికరాలను కనుగొనడానికి అనుమతి.</translation>
+<translation id="6241530762627360640">మీ సిస్టమ్‌తో జత చేయబడిన బ్లూటూత్ పరికరాలకు సంబంధించిన సమాచారాన్ని యాక్సెస్ చేయడానికి మరియు సమీపంలోని బ్లూటూత్ పరికరాలను కనుగొనడానికి అనుమతి.</translation>
 <translation id="6243280677745499710">ప్రస్తుతం సెట్ చేసినది</translation>
 <translation id="6243774244933267674">సర్వర్ అందుబాటులో లేదు</translation>
 <translation id="6247708409970142803"><ph name="PERCENTAGE" />%</translation>
@@ -3486,7 +3487,7 @@
 <translation id="6267166720438879315"><ph name="HOST_NAME" />కు మిమ్మల్ని మీరు ప్రమాణీకరించడానికి ఒక సర్టిఫికెట్ను ఎంచుకోండి</translation>
 <translation id="6268252012308737255"><ph name="APP" />తో తెరువు</translation>
 <translation id="6268747994388690914">HTML ఫైల్ నుండి బుక్‌మార్క్‌లను దిగుమతి చేయి...</translation>
-<translation id="6272643420381259437">ప్లగిన్‌ను డౌన్‌లోడ్ చేస్తున్నప్పుడు లోపం (<ph name="ERROR" />) ఏర్పడింది</translation>
+<translation id="6272643420381259437">ప్లగిన్‌ను డౌన్‌లోడ్ చేస్తున్నప్పుడు ఎర్రర్ (<ph name="ERROR" />) ఏర్పడింది</translation>
 <translation id="6273677812470008672">నాణ్యత</translation>
 <translation id="6277105963844135994">నెట్‌వర్క్ సమయం ముగిసింది</translation>
 <translation id="6277518330158259200">స్క్రీన్‌షాట్‌ను తీ&amp;యి</translation>
@@ -3531,8 +3532,8 @@
 <translation id="6340017061976355871">సర్వర్‌కి కనెక్ట్ చేయడం సాధ్యం కాలేదు. దయచేసి మీ నెట్‌వర్క్ కనెక్షన్‌ని తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి. సమస్య కొనసాగినట్లయితే, మీ Chromebookని పునఃప్రారంభించండి.</translation>
 <translation id="6340071272923955280">ఇంటర్నెట్ ముద్రణ ప్రోటోకాల్ (IPPS)</translation>
 <translation id="6341850831632289108">మీ భౌతిక స్థానాన్ని గుర్తించండి</translation>
-<translation id="6344170822609224263">నెట్‌వర్క్ కనెక్షన్‌ల జాబితాను యాక్సెస్ చేయగలుగుతుంది</translation>
-<translation id="6346310558342052870">ప్రాప్యత నియంత్రించబడింది</translation>
+<translation id="6344170822609224263">నెట్‌వర్క్ కనెక్షన్‌ల జాబితాను యాక్సెస్ చేయండి</translation>
+<translation id="6346310558342052870">యాక్సెస్ నియంత్రించబడింది</translation>
 <translation id="6349170655202535379">సమకాలీకరణ పని చేయడం లేదు. సైన్ అవుట్ చేసి, తిరిగి మళ్లీ సైన్ ఇన్ చేయండి.</translation>
 <translation id="6351063337294363751">మీరు ఈ మెనూ నుండి మీ బ్రౌజింగ్ డేటాను తీసివేయవచ్చు</translation>
 <translation id="6352773953037195952">అత్యధికం</translation>
@@ -3541,7 +3542,7 @@
 <translation id="6356138805250111037">బ్రౌజర్‌లో మీరు టైప్ చేసేది Googleకు పంపడం ద్వారా సాంకేతికంగా అక్షరక్రమాన్ని తనిఖీ చేస్తుంది</translation>
 <translation id="63566973648609420">మీ రహస్య పదబంధాన్ని కలిగి ఉన్న వారు మాత్రమే మీ ఎన్‌క్రిప్ట్ చేసిన‌ డేటాను చదవగలరు. రహస్య పదబంధం ఎవరికీ పంపబడదు లేదా Googleలో నిల్వ చేయబడదు. మీరు మీ రహస్య పదబంధాన్ని మర్చిపోతే లేదా ఈ సెట్టింగ్‌ను మార్చాలనుకుంటే, సింక్‌ను రీసెట్ చేయాల్సి ఉంటుంది. <ph name="BEGIN_LINK" />సింక్‌ను రీసెట్ చేయండి<ph name="END_LINK" />.</translation>
 <translation id="6357619544108132570"><ph name="SHORT_PRODUCT_NAME" /> కుటుంబానికి స్వాగతం. ఇది సాధారణ కంప్యూటర్ కాదు.</translation>
-<translation id="6361850914223837199">లోపం వివరాలు:</translation>
+<translation id="6361850914223837199">ఎర్రర్ వివరాలు:</translation>
 <translation id="6362853299801475928">&amp;ఒక సమస్యను నివేదించండి...</translation>
 <translation id="6365069501305898914">Facebook</translation>
 <translation id="6365411474437319296">కుటుంబ సభ్యులు మరియు స్నేహితులను జోడించండి</translation>
@@ -3585,7 +3586,7 @@
 
     <ph name="LINE_BREAK" />
  దయచేసి మీ <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ఖాతాకి సైన్ ఇన్ చేయడం కొనసాగించడానికి "తరువాత" క్లిక్ చేయండి.</translation>
-<translation id="6419546358665792306">ప్యాక్ చేయబడని పొడిగింపును లోడ్ చేయి</translation>
+<translation id="6419546358665792306">ప్యాక్ చేయబడని ఎక్స్‌టెన్షన్‌ను లోడ్ చేయి</translation>
 <translation id="642282551015776456">ఈ పేరును ఫైల్ యొక్క ఫోల్డర్ పేరుగా ఉపయోగించలేము.</translation>
 <translation id="642469772702851743">ఈ (SN: <ph name="SERIAL_NUMBER" />) పరికరం యజమానిచే లాక్ చేయబడింది.</translation>
 <translation id="6426200009596957090">ChromeVox సెట్టింగ్‌లను తెరువు</translation>
@@ -3672,12 +3673,12 @@
 <translation id="6555432686520421228">అన్ని వినియోగదారు ఖాతాలను తీసివేయండి మరియు మీ <ph name="IDS_SHORT_PRODUCT_NAME" /> పరికరాన్ని క్రొత్త దాని లాగా రీసెట్ చేయండి.</translation>
 <translation id="6555810572223193255">క్లీనప్ ప్రస్తుతం అందుబాటులో లేదు</translation>
 <translation id="6556866813142980365">మళ్లీ చేయి</translation>
-<translation id="6558280019477628686">లోపం సంభవించింది. కొన్ని అంశాలు తొలగించబడకపోవచ్చు.</translation>
+<translation id="6558280019477628686">ఎర్రర్ ఏర్పడింది. కొన్ని అంశాలు తొలగించబడి ఉండకపోవచ్చు.</translation>
 <translation id="6559023360691182159">{COUNT,plural, =0{ఏదీ వద్దు}=1{<ph name="APP_1" />}=2{<ph name="APP_1" />, <ph name="APP_2" />}=3{<ph name="APP_1" />, <ph name="APP_2" />, <ph name="APP_3" />}=4{<ph name="APP_1" />, <ph name="APP_2" />, <ph name="APP_3" />, 1 ఇతర యాప్}other{<ph name="APP_1" />, <ph name="APP_2" />, <ph name="APP_3" />, <ph name="EXTRA_APPS" /> ఇతర యాప్‌లు}}</translation>
 <translation id="6561726789132298588">enter</translation>
 <translation id="656293578423618167">ఫైల్ పాథ్‌ లేదా పేరు చాలా పొడవుగా ఉంది. దయచేసి చిన్న పేరుతో లేదా మరొక స్థానానికి సేవ్ చేయండి.</translation>
 <translation id="656398493051028875">"<ph name="FILENAME" />"ని తొలగిస్తోంది...</translation>
-<translation id="6567688344210276845">పేజీ చర్య కోసం '<ph name="ICON" />' చిహ్నం లోడ్ చేయబడలేదు.</translation>
+<translation id="6567688344210276845">పేజీ చర్య కోసం '<ph name="ICON" />' చిహ్నాన్ని లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="6571979863037191371">మీ Chromebook నుండి మీ ఫోన్‌ని డిస్‌కనెక్ట్ చేయండి. అవి ఇకపై ఆటోమేటిక్‌గా కనెక్ట్ కావు.</translation>
 <translation id="657402800789773160">ఈ పేజీని &amp;రీలోడ్ చెయ్యి</translation>
 <translation id="6577284282025554716">డౌన్‌లోడ్ రద్దు చేయబడింది: <ph name="FILE_NAME" /></translation>
@@ -3715,9 +3716,9 @@
 <translation id="6624687053722465643">తియ్యదనం</translation>
 <translation id="6628328486509726751">అప్‌లోడ్ చేయబడినది <ph name="WEBRTC_LOG_UPLOAD_TIME" /></translation>
 <translation id="6629841649550503054">అన్నీ <ph name="BEGIN_LINK" />Google డిస్క్<ph name="END_LINK" />కి బ్యాకప్ చేయబడ్డాయి!</translation>
-<translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> మీ తరపున దానికదే ప్రామాణీకరించుకోవడం కోసం ఒక ప్రమాణపత్రానికి శాశ్వత ప్రాప్యత కోరుతోంది.</translation>
+<translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> మీ తరపున దానికదే ప్రామాణీకరించుకోవడం కోసం ఒక ప్రమాణపత్రానికి శాశ్వత యాక్సెస్ కోరుతోంది.</translation>
 <translation id="6635956300022133031">వచనం-నుండి-ప్రసంగం వాయిస్‌లను ఎంచుకోండి మరియు అనుకూలీకరించండి</translation>
-<translation id="6637585982786704944">అలాగే మీరు అనుమతి ఇచ్చిన యాప్‌లు, వెబ్‌సైట్‌లు, అవి సరిగా పనిచేయడానికి కావాల్సిన ఖాతా సమాచారాన్ని యాక్సెస్ చేయగలవు.
+<translation id="6637585982786704944">అలాగే మీరు అనుమతి ఇచ్చిన యాప్‌లు, వెబ్‌సైట్‌లు, అవి సరిగా పనిచేయడానికి అవసరమైన ఖాతా సమాచారాన్ని యాక్సెస్ చేయగలవు.
 
     మీరు ఖాతా ఏదీ జోడించకూడదనుకుంటే, వెబ్ బ్రౌజింగ్ కోసం అతిథిగా సైన్ ఇన్ చేయండి లేదా అజ్ఞాత విండోను తెరవండి.
 
@@ -3835,7 +3836,7 @@
 <translation id="6811034713472274749">పేజీ వీక్షించడానికి సిద్ధంగా ఉంది</translation>
 <translation id="6812349420832218321"><ph name="PRODUCT_NAME" /> రూట్‌గా రన్ చేయలేదు.</translation>
 <translation id="6812841287760418429">మార్పులను ఉంచు</translation>
-<translation id="6817174620439930047">MIDI పరికరాలను ప్రాప్యత చేయడానికి సిస్టమ్ విశిష్ట సందేశాలను సైట్ ఉపయోగించాలనుకున్నప్పుడు అడుగు (సిఫార్సు చేయబడింది)</translation>
+<translation id="6817174620439930047">MIDI పరికరాలను యాక్సెస్ చేయడానికి సిస్టమ్ విశిష్ట సందేశాలను సైట్ ఉపయోగించాలనుకున్నప్పుడు అడుగు (సిఫార్సు చేయబడింది)</translation>
 <translation id="6820687829547641339">Gzip కుదించిన tar ఆర్కైవ్</translation>
 <translation id="682123305478866682">డెస్క్‌టాప్‌ను ప్రసారం చేయండి</translation>
 <translation id="6823506025919456619">మీరు మీ పరికరాలను చూడటానికి Chromeకి సైన్ ఇన్ చేయాలి</translation>
@@ -3845,13 +3846,13 @@
 <translation id="6826872289184051766">USB ద్వారా ధృవీకరించు</translation>
 <translation id="6827236167376090743">ఈ వీడియో నిరంతరంగా ప్లే అవుతూనే ఉంటుంది.</translation>
 <translation id="6828153365543658583">క్రింది వినియోగదారులకు సైన్-ఇన్‌ని నిరోధించు:</translation>
-<translation id="6828860976882136098">వినియోగదారులందరి కోసం స్వయంచాలక నవీకరణలను సెటప్ చేయడం విఫలమైంది (ప్రీఫ్లయిట్ అమలు లోపం: <ph name="ERROR_NUMBER" />)</translation>
+<translation id="6828860976882136098">వినియోగదారులందరి కోసం ఆటోమేటిక్ అప్‌డేట్‌లను సెటప్ చేయడం విఫలమైంది (ప్రీఫ్లయిట్ అమలు ఎర్రర్: <ph name="ERROR_NUMBER" />)</translation>
 <translation id="6829250331733125857">మీ <ph name="DEVICE_TYPE" />తో సహాయం పొందండి.</translation>
 <translation id="682971198310367122">Google గోప్యతా విధానం</translation>
 <translation id="6831043979455480757">అనువదించు</translation>
 <translation id="683373380308365518">స్మార్ట్ మరియు సురక్షిత బ్రౌజర్‌కు మారండి</translation>
 <translation id="6835762382653651563">దయచేసి మీ <ph name="DEVICE_TYPE" />ని అప్‌డేట్ చేయడానికి ఇంటర్నెట్‌కి కనెక్ట్ చేయండి.</translation>
-<translation id="6839225236531462745">ప్రమాణపత్రం తొలగింపు లోపం</translation>
+<translation id="6839225236531462745">సర్టిఫికెట్ తొలగింపు ఎర్రర్</translation>
 <translation id="6840155290835956714">పంపే ముందు అడగాలి</translation>
 <translation id="6840184929775541289">ప్రమాణపత్రం అధికారం కాదు</translation>
 <translation id="6841186874966388268">లోపాలు</translation>
@@ -3886,7 +3887,7 @@
 <translation id="6900284862687837908">బ్యాక్‌గ్రౌండ్ యాప్: <ph name="BACKGROUND_APP_URL" /></translation>
 <translation id="6902066522699286937">వాయిస్ యొక్క ప్రివ్యూ</translation>
 <translation id="6902837902700739466">పరికరాన్ని డొమైన్‌కు చేర్చండి</translation>
-<translation id="6904344821472985372">ఫైల్ ప్రాప్యతను ఉపసంహరించు</translation>
+<translation id="6904344821472985372">ఫైల్ యాక్సెస్‌ను ఉపసంహరించు</translation>
 <translation id="6904655473976120856">నిష్క్రమించడానికి యాప్ బటన్ నొక్కండి</translation>
 <translation id="6910211073230771657">తొలగించబడింది</translation>
 <translation id="6910240653697687763"><ph name="URL" /> మీ MIDI పరికరాలకు పూర్తి నియంత్రణను పొందాలనుకుంటోంది</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">ఈ పర్యవేక్షించబడే వినియోగదారు కోసం నిర్వాహకుని ఎంచుకోండి</translation>
 <translation id="7003339318920871147">వెబ్ డేటాబేస్‌లు</translation>
 <translation id="7003723821785740825">మీ పరికరాన్ని అన్‌లాక్ చేయడానికి వేగవంతమైన మార్గాన్ని సెటప్ చేయండి</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> నుండి తెలియని ఉత్పత్తి <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">ఇటీవలి ట్యాబ్‌లు</translation>
 <translation id="7005848115657603926">చెల్లుబాటు కాని పేజీ పరిధి, <ph name="EXAMPLE_PAGE_RANGE" />ను ఉపయోగించు</translation>
 <translation id="7006634003215061422">దిగువ అంచు</translation>
@@ -3979,7 +3981,7 @@
 <translation id="7029809446516969842">పాస్‌వర్డ్‌లు</translation>
 <translation id="7031962166228839643">TPM అనేది సిద్ధం అవుతోంది, దయచేసి వేచి ఉంచండి (దీనికి కొన్ని నిమిషాల సమయం పట్టవచ్చు)...</translation>
 <translation id="7037509989619051237">వచనం యొక్క ప్రివ్యూ</translation>
-<translation id="7039326228527141150"><ph name="VENDOR_NAME" /> అందించిన USB పరికరాలకు ప్రాప్యత</translation>
+<translation id="7039326228527141150"><ph name="VENDOR_NAME" /> అందించిన USB పరికరాలకు యాక్సెస్</translation>
 <translation id="7039912931802252762">Microsoft Smart Card Logon</translation>
 <translation id="7040138676081995583">దీనితో తెరువు...</translation>
 <translation id="7040230719604914234">ఆపరేటర్</translation>
@@ -4016,7 +4018,7 @@
 <translation id="708278670402572152">స్కానింగ్‌ను ప్రారంభించడం కోసం డిస్‌కనెక్ట్ చేయండి</translation>
 <translation id="7084192839369222683">కేవలం ముఖ్యమైన కంటెంట్‌ను అమలు చేయి</translation>
 <translation id="7085389578340536476">ఆడియోను రికార్డ్ చేయడానికి Chromeను అనుమతించాలా?</translation>
-<translation id="7088434364990739311">అప్‌డేట్ తనిఖీ ప్రారంభం విఫలమైంది (ఎర్ర‌ర్‌ కోడ్ <ph name="ERROR" />).</translation>
+<translation id="7088434364990739311">అప్‌డేట్ తనిఖీ ప్రారంభం విఫలమైంది (ఎర్రర్ కోడ్ <ph name="ERROR" />).</translation>
 <translation id="7088561041432335295">జిప్ ఆర్కైవర్ - ఫైల్‌ల‌ యాప్‌‌లో జిప్ ఫైల్‌లను తెరవండి మరియు ప్యాక్ చేయండి.</translation>
 <translation id="7088674813905715446">ఈ పరికరాన్ని నిర్వాహకులు కేటాయించబడని స్థితిలో ఉంచారు. దీన్ని నమోదు కోసం ప్రారంభించడానికి, దయచేసి మీ నిర్వాహకులు పరికరాన్ని పెండింగ్ స్థితిలో ఉంచేలా చేయండి.</translation>
 <translation id="7093434536568905704">GTK+</translation>
@@ -4043,7 +4045,7 @@
 <translation id="7121362699166175603">చిరునామా బార్‌లో చరిత్ర, స్వీయపూరింపులను తొలగిస్తుంది. మీ Google ఖాతా <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />లో ఇతర రూపాల్లో ఉన్న బ్రౌజింగ్ చరిత్రను కలిగి ఉండవచ్చు.</translation>
 <translation id="7121389946694989825">వినియోగం &amp; విశ్లేషణల డేటాను పంపండి. ఈ పరికరం ప్రస్తుతం సమస్య విశ్లేషణ, అలాగే పరికర, యాప్ వినియోగ డేటాను ఆటోమేటిక్‌గా Googleకి పంపుతుంది. ఇది మీ చిన్నారి గురించి గుర్తించడానికి ఉపయోగించబడదు, ఇది కేవలం సిస్టమ్, యాప్ స్థిరత్వానికి, ఇతర మెరుగుదలలకు సహాయపడుతుంది. కొంత సముదాయ డేటా కూడా Google యాప్‌లకు, అలాగే Android డెవలపర్‌ల లాంటి భాగస్వాములకు సహాయపడుతుంది. మీ చిన్నారి కోసం అదనపు వెబ్ &amp; యాప్ కార్యకలాపం సెట్టింగ్‌ను ఆన్ చేసినట్లయితే, ఈ డేటా వారి Google ఖాతాలో సేవ్ చేయబడవచ్చు. <ph name="BEGIN_LINK1" />మరింత తెలుసుకోండి<ph name="END_LINK1" /></translation>
 <translation id="7123360114020465152">ఇకపై మద్దతు లేదు</translation>
-<translation id="7124929488592184705"><ph name="DOCUMENT_NAME" />ని ముద్రిస్తున్నప్పుడు లోపం ఏర్పడింది</translation>
+<translation id="7124929488592184705"><ph name="DOCUMENT_NAME" />ని ముద్రిస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది</translation>
 <translation id="7126604456862387217">'&lt;b&gt;<ph name="SEARCH_STRING" />&lt;/b&gt;' - &lt;em&gt;డిస్క్‌లో వెతకండి&lt;/em&gt;</translation>
 <translation id="7127980134843952133">డౌన్‌లోడ్ చరిత్ర</translation>
 <translation id="7131040479572660648"><ph name="WEBSITE_1" />, <ph name="WEBSITE_2" /> మరియు <ph name="WEBSITE_3" />లోని మీ డేటాను చదవండి</translation>
@@ -4129,25 +4131,25 @@
 <translation id="7255220508626648026">ప్రసారం చేస్తోంది: <ph name="ROUTETITLE" /></translation>
 <translation id="7255935316994522020">వర్తింపజేయి</translation>
 <translation id="7256069762010468647">సైట్ మీ కెమెరాని ఉపయోగిస్తోంది</translation>
-<translation id="7256405249507348194">గుర్తించబడని లోపం: <ph name="DESC" /></translation>
+<translation id="7256405249507348194">గుర్తించబడని ఎర్రర్: <ph name="DESC" /></translation>
 <translation id="7256710573727326513">ట్యాబ్‌లో తెరువు</translation>
 <translation id="725758059478686223">ముద్రణ సేవ</translation>
 <translation id="7257666756905341374">మీరు కాపీ చేసి అతికించే డేటాను చదవడం</translation>
 <translation id="7258697411818564379">మీ పిన్ జోడించబడింది</translation>
 <translation id="7262004276116528033">ఈ సైన్-ఇన్ సేవ <ph name="SAML_DOMAIN" /> ద్వారా హోస్ట్ చేయబడుతోంది</translation>
 <translation id="7268659760406822741">అందుబాటులో ఉన్న సేవలు</translation>
-<translation id="7270858098575133036">MIDI పరికరాలను ప్రాప్యత చేయడానికి సిస్టమ్ విశిష్ట సందేశాలను సైట్ ఉపయోగించాలనుకున్నప్పుడు అడుగు</translation>
+<translation id="7270858098575133036">MIDI పరికరాలను యాక్సెస్ చేయడానికి సిస్టమ్ విశిష్ట సందేశాలను సైట్ ఉపయోగించాలనుకున్నప్పుడు అడుగు</translation>
 <translation id="7272674038937250585">వివరణ ఏదీ అందించబడలేదు</translation>
 <translation id="7273110280511444812"><ph name="DATE" />న చివరిగా జోడించబడింది</translation>
 <translation id="727441411541283857"><ph name="PERCENTAGE" />% - <ph name="TIME" />లో పూర్తి ఛార్జ్ అవుతుంది</translation>
-<translation id="727952162645687754">డౌన్‌లోడ్ చేయడంలో లోపం</translation>
+<translation id="727952162645687754">డౌన్‌లోడ్ చేయడంలో ఎర్రర్</translation>
 <translation id="7279701417129455881">కుక్కీ నిరోధించడాన్ని నిర్వహించు...</translation>
-<translation id="7280041992884344566">Chrome హానికరమైన సాఫ్ట్‌వేర్ కోసం వెతుకుతున్నప్పుడు ఎర్రర్ సంభవించింది</translation>
+<translation id="7280041992884344566">Chrome హానికరమైన సాఫ్ట్‌వేర్ కోసం వెతుకుతున్నప్పుడు ఎర్రర్ ఏర్పడింది</translation>
 <translation id="7280649757394340890">వచనం-నుండి-ప్రసంగం వాయిస్ సెట్టింగ్‌లు</translation>
 <translation id="7280877790564589615">అనుమతి అభ్యర్థించబడింది</translation>
 <translation id="7282992757463864530">సమాచార బార్</translation>
 <translation id="7283041136720745563">Google డిస్క్ కోటా తగినంత పెద్దది కాదు.</translation>
-<translation id="7287143125007575591">ప్రాప్యత నిరాకరించబడింది.</translation>
+<translation id="7287143125007575591">యాక్సెస్ నిరాకరించబడింది.</translation>
 <translation id="7287411021188441799">డిఫాల్ట్ నేపథ్యాన్ని పునరుద్ధరించండి</translation>
 <translation id="7288676996127329262"><ph name="HORIZONTAL_DPI" />x<ph name="VERTICAL_DPI" /> dpi</translation>
 <translation id="7289225569524511578">వాల్‌పేపర్ యాప్‌ను తెరువు</translation>
@@ -4225,7 +4227,7 @@
 <translation id="7407430846095439694">దిగుమతి చేసి, అనుబంధించు</translation>
 <translation id="7409549334477097887">అతి పెద్దది</translation>
 <translation id="7409836189476010449">Flash అమలు చేయాలనుకుంటోంది</translation>
-<translation id="7410344089573941623"><ph name="HOST" /> మీ కెమెరా మరియు మైక్రోఫోన్‌ను ప్రాప్యత చేయాలని అనుకుంటే నాకు తెలియజేయి</translation>
+<translation id="7410344089573941623"><ph name="HOST" /> మీ కెమెరా మరియు మైక్రోఫోన్‌ను యాక్సెస్ చేయాలని అనుకుంటే నాకు తెలియజేయి</translation>
 <translation id="741204030948306876">సరే, సమ్మతమే</translation>
 <translation id="7412226954991670867">GPU మెమరీ</translation>
 <translation id="7414464185801331860">18x</translation>
@@ -4242,20 +4244,20 @@
 <translation id="7427348830195639090">నేపథ్య పేజీ: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{అన్నింటినీ &amp;కొత్త విండోలో తెరవండి}=1{&amp;కొత్త విండోలో తెరవండి}other{అన్నింటినీ (#) &amp;కొత్త విండోలో తెరవండి}}</translation>
 <translation id="7434509671034404296">డెవలపర్</translation>
-<translation id="7436921188514130341">అయ్యో! పేరు మారుస్తున్నప్పుడు లోపం ఏర్పడింది.</translation>
+<translation id="7436921188514130341">అయ్యో! పేరు మారుస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది.</translation>
 <translation id="7441736921018636843">ఈ సెట్టింగ్‌ని మార్చడానికి, మీ సమకాలీకరణ రహస్య పదబంధాన్ని తీసివేయడానికి <ph name="BEGIN_LINK" />సమకాలీకరణను రీసెట్ చేయండి<ph name="END_LINK" /></translation>
 <translation id="7441830548568730290">ఇతర వినియోగదారులు</translation>
 <translation id="7442465037756169001">మీ Hangouts Meet hardware సెటప్ చేయడానికి సిద్ధంగా ఉంది.</translation>
 <translation id="744341768939279100">కొత్త ప్రొఫైల్‌ని సృష్టించు</translation>
 <translation id="7444983668544353857"><ph name="NETWORKDEVICE" />ను ఆపివెయ్యి</translation>
-<translation id="7453008956351770337">ఈ ప్రింటర్‌ను ఎంచుకోవడం ద్వారా, మీరు మీ ప్రింటర్‌ని ప్రాప్యత చేయడానికి క్రింది పొడిగింపుకు అనుమతి ఇస్తున్నారు:</translation>
+<translation id="7453008956351770337">ఈ ప్రింటర్‌ను ఎంచుకోవడం ద్వారా, మీరు మీ ప్రింటర్‌ని యాక్సెస్ చేయడానికి క్రింది ఎక్సటెన్షన్‌కు అనుమతి ఇస్తున్నారు:</translation>
 <translation id="7456142309650173560">డెవలపర్</translation>
 <translation id="7456847797759667638">స్థానాన్ని తెరువు...</translation>
 <translation id="7461924472993315131">పిన్ చేయి</translation>
 <translation id="7463006580194749499">వ్యక్తిని జోడించు</translation>
 <translation id="7465778193084373987">Netscape సర్టిఫికెట్ రద్దు URL</translation>
 <translation id="7469894403370665791">ఆటోమేటిక్‌గా ఈ నెట్‌వర్క్‌కు కనెక్ట్ చేయి</translation>
-<translation id="747114903913869239">లోపం: పొడిగింపులను డీకోడ్ చేయడం సాధ్యం కాదు</translation>
+<translation id="747114903913869239">ఎర్రర్: ఎక్స్‌టెన్షన్‌లను డీకోడ్ చేయడం సాధ్యం కాలేదు</translation>
 <translation id="7473891865547856676">వద్దు, ధన్యవాదాలు</translation>
 <translation id="747459581954555080">అన్నీ పునరుద్ధరించు</translation>
 <translation id="7475671414023905704">Netscape తప్పిపోయిన పాస్‌వర్డ్ URL</translation>
@@ -4298,7 +4300,7 @@
 <translation id="7531779363494549572">సెట్టింగ్‌లు &gt; యాప్‌లు &amp; నోటిఫికేషన్‌లు &gt; నోటిఫికేషన్‌లలోకి వెళ్లండి.</translation>
 <translation id="7537601449003285327">విధి పట్టీకి పిన్ చేయి</translation>
 <translation id="7539856059004947393">బ్లూటూత్ భద్రతా కీ</translation>
-<translation id="7540972813190816353">నవీకరణల కోసం తనిఖీ చేస్తున్నప్పుడు లోపం సంభవించింది: <ph name="ERROR" /></translation>
+<translation id="7540972813190816353">అప్‌డేట్‌ల కోసం తనిఖీ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది: <ph name="ERROR" /></translation>
 <translation id="7543104066686362383">ఈ <ph name="IDS_SHORT_PRODUCT_NAME" /> పరికరంలో డీబగ్గింగ్ ఫీచ‌ర్‌ల‌ను ప్రారంభించండి</translation>
 <translation id="7544853251252956727">షఫుల్ చేయి</translation>
 <translation id="7547317915858803630">హెచ్చరిక: మీ <ph name="PRODUCT_NAME" /> సెట్టింగ్‌లు నెట్‌వర్క్ డిస్క్‌లో నిల్వ చేయబడ్డాయి. దీని ఫలితంగా స్లోడౌన్‌లు, క్రాష్‌లు జరగవచ్చు లేదా డేటాను కూడా నష్టపోవచ్చు.</translation>
@@ -4312,7 +4314,7 @@
 <translation id="7556033326131260574">Smart Lock మీ ఖాతాను ధృవీకరించలేకపోయింది. ప్రవేశించడానికి మీ పాస్‌వర్డ్‌ను టైప్ చేయండి.</translation>
 <translation id="7556242789364317684">దురదృష్టవశాత్తూ, <ph name="SHORT_PRODUCT_NAME" /> మీ సెట్టింగ్‌లను పునరుద్ధరించలేకపోయింది. ఎర్రర్‌ను పరిష్కరించడానికి, <ph name="SHORT_PRODUCT_NAME" /> మీ పరికరాన్ని తప్పనిసరిగా పవర్‌వాష్‌తో రీసెట్ చేయాలి.</translation>
 <translation id="7559719679815339381">దయచేసి వేచి ఉండండి....కియోస్క్ యాప్ అప్‌డేట్ అయ్యే ప్రాసెస్‌లో ఉంది. USB స్టిక్‌ను తీసివేయకండి.</translation>
-<translation id="7563991800558061108">ఈ ఎర్రర్ నుండి బయటకు రావడానికి, మీరు సైన్-ఇన్ స్క్రీన్ నుండి మీ Google ఖాతాకు
+<translation id="7563991800558061108">ఈ ఎర్రర్ నుండి పునరుద్ధరించడానికి, మీరు సైన్-ఇన్ స్క్రీన్ నుండి మీ Google ఖాతాకు
     సైన్ ఇన్ చేయాలి. మీరు ఆపై మీ Google ఖాతా నుండి సైన్ అవుట్ చేసి మళ్లీ
     పర్యవేక్షించబడే వినియోగదారుని సృష్టించడాన్ని ప్రయత్నించవచ్చు.</translation>
 <translation id="756445078718366910">బ్రౌజర్ విండోను తెరువు</translation>
@@ -4333,13 +4335,13 @@
 <translation id="7589661784326793847">ఒక క్షణం వేచి ఉండండి</translation>
 <translation id="7591957897535945411">ఈ పేజీ అనువదించబడింది.</translation>
 <translation id="7595453277607160340">Android యాప్‌లను ఉపయోగించాలంటే, మీ <ph name="DEVICE_TYPE" /> సరిగ్గా పని చేస్తున్నట్లు నిర్ధారించుకుని, ఆపై మళ్లీ సైన్ ఇన్ చేసి, అప్‌డేట్ చేయండి.</translation>
-<translation id="7595547011743502844"><ph name="ERROR" /> (ఎర్ర‌ర్‌ కోడ్ <ph name="ERROR_CODE" />).</translation>
+<translation id="7595547011743502844"><ph name="ERROR" /> (ఎర్రర్ కోడ్ <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">కంప్యూటర్‌ని పునఃప్రారంభించు</translation>
 <translation id="7599527631045201165">పరికరం పేరు చాలా పొడవుగా ఉంది. చిన్న పేరును నమోదు చేసి, ఆపై మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="7600965453749440009"><ph name="LANGUAGE" />ను ఎప్పటికీ అనువదించవద్దు</translation>
 <translation id="760197030861754408">కనెక్ట్ చేయడానికి <ph name="LANDING_PAGE" />కి వెళ్లండి.</translation>
 <translation id="7602079150116086782">ఇతర పరికరాల నుండి ట్యాబ్‌లు లేవు</translation>
-<translation id="7604942372593434070">మీ బ్రౌజింగ్ కార్యాచరణను ప్రాప్యత చేయండి</translation>
+<translation id="7604942372593434070">మీ బ్రౌజింగ్ కార్యాచరణను యాక్సెస్ చేయండి</translation>
 <translation id="7605594153474022051">సమకాలీకరణ పని చేయడం లేదు</translation>
 <translation id="7606992457248886637">అధికారాలు</translation>
 <translation id="7607002721634913082">పాజ్ చెయ్యబడింది</translation>
@@ -4399,7 +4401,7 @@
 <translation id="7704305437604973648">విధి</translation>
 <translation id="7704317875155739195">స్వయంపూర్తి శోధనలు మరియు URLలు</translation>
 <translation id="7704521324619958564">Play స్టోర్‌ను తెరువు</translation>
-<translation id="7705276765467986571">బుక్‌మార్క్ నమూనాని లోడ్ చేయడం సాధ్యం కాలేదు.</translation>
+<translation id="7705276765467986571">బుక్‌మార్క్ నమూనాను లోడ్ చేయడం సాధ్యం కాలేదు.</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707922173985738739">మొబైల్ డేటాను ఉపయోగిస్తుంది</translation>
 <translation id="7709152031285164251">విఫలమైంది - <ph name="INTERRUPT_REASON" /></translation>
@@ -4445,7 +4447,7 @@
 <translation id="7776701556330691704">వాయిస్‌లు ఏవీ కనుగొనబడలేదు</translation>
 <translation id="7781335840981796660">అన్ని వినియోగదారు ఖాతాలు మరియు స్థానిక డేటా తీసివేయబడతాయి.</translation>
 <translation id="7782102568078991263">ఇక Google నుండి సూచనలు లేవు</translation>
-<translation id="778330624322499012"><ph name="PLUGIN_NAME" />లో లోడ్ చేయడం సాధ్యపడలేదు</translation>
+<translation id="778330624322499012"><ph name="PLUGIN_NAME" />ను లోడ్ చేయడం సాధ్యపడలేదు</translation>
 <translation id="7784067724422331729">మీ కంప్యూటర్‌లోని భద్రతా సెట్టింగ్‌లు ఈ ఫైల్‌ను బ్లాక్ చేసాయి.</translation>
 <translation id="7784796923038949829">సైట్ డేటాని చదవడం లేదా మార్చడం సాధ్యం కాదు</translation>
 <translation id="778480864305029524">తక్షణ టెథెరింగ్‌ని ఉపయోగించాలంటే, Google Play సేవల కోసం నోటిఫికేషన్‌లను ఆన్ చేయండి.</translation>
@@ -4471,7 +4473,7 @@
 <translation id="780301667611848630">వద్దు , ధన్యవాదాలు</translation>
 <translation id="7805768142964895445">స్థితి</translation>
 <translation id="7807067443225230855">శోధన మరియు అసిస్టెంట్</translation>
-<translation id="7807711621188256451">మీ కెమెరాను ప్రాప్యత చేయడానికి <ph name="HOST" />ని ఎల్లప్పుడూ అనుమతించండి</translation>
+<translation id="7807711621188256451">మీ కెమెరాను యాక్సెస్ చేయడానికి <ph name="HOST" />ని ఎల్లప్పుడూ అనుమతించండి</translation>
 <translation id="7810202088502699111">ఈ పేజీపై పాప్-అప్‌లు నిరోధించబడ్డాయి.</translation>
 <translation id="781167124805380294"><ph name="FILE_NAME" />ని ప్రసారం చేయండి</translation>
 <translation id="7814458197256864873">&amp;కాపీ</translation>
@@ -4492,16 +4494,16 @@
     <ph name="BR" />
     మీరు మీ పరికరంలో అనుకూల కోడ్‌ను ఇన్‌స్టాల్ చేయడానికి మరియు పరీక్షించడానికి మీ Chrome OS పరికరంలో డీబగ్గింగ్ ఫీచర్‌లను ఆరంభించవచ్చు. వీటిని చేయడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది:<ph name="BR" />
     <ph name="BEGIN_LIST" />
-      <ph name="LIST_ITEM" />rootfs ధృవీకరణను తీసివేయడం. తద్వారా మీరు OS ఫైల్‌లను సవరించవచ్చు
-      <ph name="LIST_ITEM" />ప్రామాణిక పరీక్ష కీలను ఉపయోగించి పరికరానికి SSH యాక్సెస్‌ను ఆరంభించడం. తద్వారా మీరు పరికరాన్ని యాక్సెస్ చేయడానికి <ph name="BEGIN_CODE" />'cros flash'<ph name="END_CODE" /> వంటి సాధానాలను ఉపయోగించవచ్చు
-      <ph name="LIST_ITEM" />USB నుండి బూటింగ్‌ని ఆరంభించడం. తద్వారా మీరు USB డ్రైవ్ నుండి OS ఇమేజ్‌ని ఇన్‌స్టాల్ చేయవచ్చు
-      <ph name="LIST_ITEM" />డెవలపర్ మరియు సిస్టమ్ రూట్ లాగిన్ పాస్‌వర్డ్ రెండింటినీ అనుకూల విలువకు సెట్ చేయడం. తద్వారా మీరు పరికరంలోకి మ్యానువల్‌గా SSH చేయవచ్చు
+      <ph name="LIST_ITEM" />ధృవీకరణను తీసివేయడం, తద్వారా మీరు OS ఫైల్‌లను సవరించవచ్చు
+      <ph name="LIST_ITEM" />ప్రామాణిక పరీక్ష కీలను ఉపయోగించి పరికరానికి SSH యాక్సెస్‌ను ఆరంభించడం, తద్వారా మీరు పరికరాన్ని యాక్సెస్ చేయడానికి <ph name="BEGIN_CODE" />'cros flash'<ph name="END_CODE" /> వంటి సాధానాలను ఉపయోగించవచ్చు
+      <ph name="LIST_ITEM" />USB నుండి బూటింగ్‌ని ఆరంభించడం, తద్వారా మీరు USB డ్రైవ్ నుండి OS ఇమేజ్‌ని ఇన్‌స్టాల్ చేయవచ్చు
+      <ph name="LIST_ITEM" />డెవలపర్ మరియు సిస్టమ్ రూట్ లాగిన్ పాస్‌వర్డ్ రెండింటినీ అనుకూల విలువకు సెట్ చేయడం, తద్వారా మీరు పరికరంలోకి మ్యానువల్‌గా SSH చేయవచ్చు
     <ph name="END_LIST" />
     <ph name="BR" />
-    ఒకసారి ఆరంభించబడితే, ఎంటర్‌ప్రైజ్ నిర్వాహిత పరికరంలో పవర్‌వాష్ అమలు చేసిన తర్వాత లేదా డేటాను తుడిచివేసిన తర్వాత కూడా చాలా వరకు డీబగ్గింగ్ ఫీచర్‌లు అలాగే ఆరంభించబడి ఉంటాయి.  అన్ని డీబగ్గింగ్ ఫీచర్‌లను పూర్తిగా నిలిపివేయడానికి, Chrome OS పునరుద్ధరణ ప్రక్రియ (https://support.google.com/chromebook/answer/1080595) పూర్తి చేయండి.
+    ఒకసారి ఆరంభించబడితే, ఎంటర్‌ప్రైజ్ నిర్వహిత పరికరంలో పవర్‌వాష్ అమలు చేసిన తర్వాత లేదా డేటాను తుడిచివేసిన తర్వాత కూడా చాలా వరకు డీబగ్గింగ్ ఫీచర్‌లు అలాగే ఆరంభించబడి ఉంటాయి.  అన్ని డీబగ్గింగ్ ఫీచర్‌లను పూర్తిగా నిలిపివేయడానికి, Chrome OS పునరుద్ధరణ ప్రక్రియ (https://support.google.com/chromebook/answer/1080595).
     <ph name="BR" />
     <ph name="BR" />
-    డీబగ్గింగ్ ఫీచర్‌ల గురించి మరింత సమాచారం కోసం, ఈ లింక్‌ను చూడండి:<ph name="BR" />
+    డీబగ్గింగ్ ఫీచర్‌ల గురించి మరింత సమాచారం కోసం, ఈ లింక్‌ని చూడండి:<ph name="BR" />
     https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/debugging-features
     <ph name="BR" />
     <ph name="BR" />
@@ -4526,7 +4528,7 @@
 <translation id="784934925303690534">సమయ పరిధి</translation>
 <translation id="7850851215703745691">ఈ డిస్క్ ఫైల్‌లు ఇంకా భాగస్వామ్యం చేయబడలేదు</translation>
 <translation id="7851457902707056880">సైన్-ఇన్ కేవలం యజమాని ఖాతాకు పరిమితం చేయబడింది. దయచేసి రీబూట్ చేసి యజమాని ఖాతాతో సైన్ ఇన్ చేయండి. మెషీన్ 30 సెకన్లలో ఆటోమేటిక్‌గా రీబూట్ అవుతుంది.</translation>
-<translation id="7851716364080026749">ఎల్లప్పుడూ కెమెరా మరియు మైక్రోఫోన్ ప్రాప్యతను బ్లాక్ చేయి</translation>
+<translation id="7851716364080026749">ఎల్లప్పుడూ కెమెరా మరియు మైక్రోఫోన్ యాక్సెస్‌ను బ్లాక్ చేయి</translation>
 <translation id="7853747251428735">మరిన్ని సాధనా&amp;లు</translation>
 <translation id="7857117644404132472">మినహాయింపును జోడించు</translation>
 <translation id="7857949311770343000">మీరు ఆశిస్తున్న కొత్త ట్యాబ్ పేజీ ఇదేనా?</translation>
@@ -4540,7 +4542,7 @@
 <translation id="7870790288828963061">సరికొత్త వెర్షన్‌ అందుబాటులో ఉన్న కియోస్క్ అనువర్తనాలేవీ కనుగొనబడలేదు. నవీకరించడానికి ఏదీ లేదు. దయచేసి USB స్టిక్‌ను తీసివేయండి.</translation>
 <translation id="7873831373602885875"><ph name="FOLDER_NAME" />లో సేవ్ చేయడం సాధ్యపడలేదు. అన్ని సవరణలు డౌన్‌లోడ్‌లు ఫోల్డర్‌లోని<ph name="DOWNLOADS_FOLDER" />లో సేవ్ చేయబడతాయి.</translation>
 <translation id="7874257161694977650">Chrome నేపథ్యాలు</translation>
-<translation id="7877451762676714207">తెలియని సర్వర్ లోపం. దయచేసి మళ్లీ ప్రయత్నించండి లేదా సర్వర్ నిర్వాహకుడిని సంప్రదించండి.</translation>
+<translation id="7877451762676714207">తెలియని సర్వర్ ఎర్రర్. దయచేసి మళ్లీ ప్రయత్నించండి లేదా సర్వర్ నిర్వాహకుడిని సంప్రదించండి.</translation>
 <translation id="7877680364634660272">పర్యటన</translation>
 <translation id="7878562273885520351">మీ పాస్‌వర్డ్ ఎవరికైనా తెలిసిపోయి ఉండవచ్చు</translation>
 <translation id="7881483672146086348">ఖాతాను వీక్షించండి</translation>
@@ -4610,10 +4612,10 @@
 <translation id="79766959863778284">XR విడిగా ఉంచబడిన పరికర సేవ</translation>
 <translation id="7978412674231730200">వ్యక్తిగత కీ</translation>
 <translation id="7978450511781612192">ఇది మిమ్మల్ని మీ Google ఖాతాల నుండి సైన్ అవుట్ చేస్తుంది. మీ బుక్‌మార్క్‌లు, చరిత్ర, పాస్‌వర్డ్‌లు మరియు మరిన్ని ఇకపై సమకాలీకరించబడవు.</translation>
-<translation id="7979036127916589816">సమకాలీకరణ లోపం</translation>
+<translation id="7979036127916589816">సింక్ ఎర్రర్</translation>
 <translation id="7980084013673500153">అసెట్ ID: <ph name="ASSET_ID" /></translation>
 <translation id="7981313251711023384">వేగవంతమైన బ్రౌజింగ్ మరియు శోధన కోసం పేజీలను ముందస్తుగా లోడ్ చేస్తుంది</translation>
-<translation id="7982083145464587921">దయచేసి ఈ లోపాన్ని పరిష్కరించడానికి మీ పరికరాన్ని పునఃప్రారంభించండి.</translation>
+<translation id="7982083145464587921">ఈ ఎర్రర్‌ను పరిష్కరించడానికి, దయచేసి మీ పరికరాన్ని పునఃప్రారంభించండి.</translation>
 <translation id="7982283708762922719">ఎత్తు</translation>
 <translation id="7982789257301363584">నెట్‌వర్క్</translation>
 <translation id="7984068253310542383">మిర్రర్ <ph name="DISPLAY_NAME" /></translation>
@@ -4737,7 +4739,7 @@
 <translation id="815491593104042026">అయ్యో!  ఇది సురక్షితం కాని URL (<ph name="BLOCKED_URL" />)ని ఉపయోగించే విధంగా కాన్ఫిగర్ చేయబడినందున ప్రామాణీకరణ విఫలమైంది. దయచేసి మీ నిర్వాహకుడిని సంప్రదించండి.</translation>
 <translation id="8157684860301034423">యాప్ సమాచారాన్ని తిరిగి పొందడంలో విఫలమైంది.</translation>
 <translation id="8157939133946352716">7x5</translation>
-<translation id="816055135686411707">లోపం సెట్టింగ్ ప్రమాణపత్ర నమ్మకం</translation>
+<translation id="816055135686411707">సర్టిఫికెట్ నమ్మకాన్ని సెట్ చేయడంలో ఎర్రర్</translation>
 <translation id="816095449251911490"><ph name="SPEED" /> - <ph name="RECEIVED_AMOUNT" />, <ph name="TIME_REMAINING" /></translation>
 <translation id="8162857629993139764">కొత్త గమనికను సృష్టించండి</translation>
 <translation id="8168435359814927499">కంటెంట్</translation>
@@ -4785,7 +4787,7 @@
 <translation id="8226742006292257240">మీ కంప్యూటర్‌కు కేటాయించబడిన యాదృచ్ఛికంగా రూపొందించబడిన TPM పాస్‌వర్డ్ దిగువన అందించబడింది:</translation>
 <translation id="8227119283605456246">ఫైల్‌ను జోడించు</translation>
 <translation id="8230134520748321204"><ph name="ORIGIN" /> కోసం పాస్‌వర్డ్‌ని సేవ్ చేయాలా?</translation>
-<translation id="8234795456569844941">దయచేసి ఈ సమస్యను పరిష్కరించడంలో మా ఇంజినీర్‌లకు సహాయపడండి. మీకు ప్రొఫైల్ లోప సందేశం ఎదురుకావడం కంటే ముందు ఏమి జరిగిందో మాకు తెలియజేయండి:</translation>
+<translation id="8234795456569844941">దయచేసి ఈ సమస్యను పరిష్కరించడంలో మా ఇంజినీర్‌లకు సహాయపడండి. మీకు ప్రొఫైల్ ఎర్రర్ సందేశం ఎదురుకావడం కంటే ముందు ఏమి జరిగిందో మాకు తెలియజేయండి:</translation>
 <translation id="8241040075392580210">షేడీ</translation>
 <translation id="8241806945692107836">పరికర కాన్ఫిగరేషన్‌ను గుర్తిస్తోంది...</translation>
 <translation id="8241868517363889229">మీ బుక్‌మార్క్‌లను చదవడం మరియు మార్చడం</translation>
@@ -4801,7 +4803,7 @@
 <translation id="8253198102038551905">నెట్‌వర్క్ లక్షణాలను పొందడానికి '+' క్లిక్ చేయండి</translation>
 <translation id="825483282309623688">మీ డేటాను పునరుద్ధరించడానికి, ఇంటర్నెట్ కనెక్షన్ ఉండాలి.</translation>
 <translation id="8256319818471787266">స్పార్కీ</translation>
-<translation id="8257950718085972371">కెమెరా ప్రాప్యతను బ్లాక్ చేయడాన్ని కొనసాగించు</translation>
+<translation id="8257950718085972371">కెమెరా యాక్సెస్‌ను బ్లాక్ చేయడాన్ని కొనసాగించు</translation>
 <translation id="8259239505248583312">ప్రారంభించు</translation>
 <translation id="8260126382462817229">మళ్లీ సైన్ ఇన్ చేయడానికి ప్రయత్నించండి</translation>
 <translation id="8260864402787962391">మౌస్</translation>
@@ -4838,7 +4840,7 @@
 <translation id="8297006494302853456">బలహీనం</translation>
 <translation id="8299319456683969623">మీరు ప్రస్తుతం ఆఫ్‌లైన్‌లో ఉన్నారు.</translation>
 <translation id="8300849813060516376">OTASP విఫలమైంది</translation>
-<translation id="8308179586020895837"><ph name="HOST" /> మీ కెమెరాను ప్రాప్యత చేయాలనుకుంటే నాకు తెలియజేయి</translation>
+<translation id="8308179586020895837"><ph name="HOST" /> మీ కెమెరాను యాక్సెస్ చేయాలనుకుంటే నాకు తెలియజేయి</translation>
 <translation id="830868413617744215">బీటా</translation>
 <translation id="8309458809024885768">ప్రమాణపత్రం ఇప్పటికే ఉంది</translation>
 <translation id="8312871300878166382">ఫోల్డర్‌లోకి అతికించు</translation>
@@ -5030,7 +5032,7 @@
 <translation id="8637542770513281060">మీ కంప్యూటర్‌లో ఒక సురక్షిత మాడ్యూల్ ఉంది, Chrome OSలో అనేక కీలకమైన భద్రతా ఫీచర్‌లను అమలు చేయడానికి ఇది ఉపయోగించబడుతుంది. Chromebook సహాయ కేంద్రంలో దీని గురించి మరింత తెలుసుకోవడానికి, ఇక్కడికి వెళ్లండి: https://support.google.com/chromebook/?p=sm</translation>
 <translation id="8637688295594795546">సిస్టమ్ అప్‌డేట్ అందుబాటులో ఉంది. డౌన్‌లోడ్ చెయ్యడానికి సిద్ధం చేస్తోంది...</translation>
 <translation id="8639047128869322042">హానికరమైన సాఫ్ట్‌వేర్‌ కోసం తనిఖీ చేస్తోంది...</translation>
-<translation id="8642171459927087831">యాక్సెస్‌ టోకెన్</translation>
+<translation id="8642171459927087831">యాక్సెస్ టోకెన్</translation>
 <translation id="8642895855701880552"><ph name="BEGIN_LINK1" />సిస్టమ్, యాప్ సమాచారం<ph name="END_LINK1" /> పంపు</translation>
 <translation id="8642947597466641025">టెక్స్ట్‌ని పెద్దదిగా చెయ్యి</translation>
 <translation id="8643418457919840804">కొనసాగడానికి, ఒక ఎంపికను ఎంచుకోండి:</translation>
@@ -5039,7 +5041,7 @@
 <translation id="8648252583955599667"><ph name="GET_HELP_LINK" /> లేదా <ph name="RE_SCAN_LINK" /></translation>
 <translation id="8650543407998814195">మీరు మీ పాత ప్రొఫైల్‌ను ఇప్పుడు యాక్సెస్ చేయలేకపోయినప్పటికీ, మీరు దాన్ని ఇప్పటికీ తీసివేయగలరు.</translation>
 <translation id="8651585100578802546">ఈ పేజీని బలవంతంగా మళ్లీ లోడ్ చేయి</translation>
-<translation id="8652400352452647993">ప్యాక్ పొడిగింపు లోపం</translation>
+<translation id="8652400352452647993">ప్యాక్ ఎక్స్‌టెన్షన్ ఎర్రర్</translation>
 <translation id="8654151524613148204">మీ కంప్యూటర్ నిర్వహించడానికి ఫైల్ చాలా పెద్దదిగా ఉంది. క్షమించండి.</translation>
 <translation id="8655295600908251630">ఛానల్</translation>
 <translation id="8655319619291175901">అయ్యో, ఏదో తప్పు జరిగింది.</translation>
@@ -5104,7 +5106,7 @@
 <translation id="8724859055372736596">ఫోల్డర్‌లో &amp;చూపించు</translation>
 <translation id="8725066075913043281">మళ్ళీ ప్రయత్నించండి</translation>
 <translation id="8725178340343806893">ఇష్టమైనవి/బుక్‌మార్క్‌లు</translation>
-<translation id="8726206820263995930">విధాన సెట్టింగ్‌లను సర్వర్ నుండి పొందుతున్నప్పుడు లోపం: <ph name="CLIENT_ERROR" />.</translation>
+<translation id="8726206820263995930">విధాన సెట్టింగ్‌లను సర్వర్ నుండి పొందుతున్నప్పుడు ఎర్రర్: <ph name="CLIENT_ERROR" />.</translation>
 <translation id="8730621377337864115">పూర్తయింది</translation>
 <translation id="8732030010853991079">ఈ చిహ్నంపై క్లిక్ చేయడం ద్వారా ఈ ఎక్సటెన్షన్‌ను ఉపయోగించండి.</translation>
 <translation id="8732212173949624846">మీ సైన్-ఇన్ చేసిన అన్ని పరికరాల్లో మీ బ్రౌజింగ్ చరిత్రను చదవడం మరియు మార్చడం</translation>
@@ -5118,7 +5120,7 @@
 <translation id="8743864605301774756">1గంట క్రితం నవీకరించబడింది</translation>
 <translation id="874689135111202667">{0,plural, =1{ఈ సైట్‌కు ఒక ఫైల్‌ను అప్‌లోడ్ చేయాలా?}other{ఈ సైట్‌కు # ఫైల్‌లను అప్‌లోడ్ చేయాలా?}}</translation>
 <translation id="8748384418490037181">Smart Lock ఎంపికలు</translation>
-<translation id="8749863574775030885">తెలియని విక్రేత అందించిన USB పరికరాలకు ప్రాప్యత</translation>
+<translation id="8749863574775030885">తెలియని విక్రేత అందించిన USB పరికరాలకు యాక్సెస్</translation>
 <translation id="8750155211039279868"><ph name="ORIGIN" /> ఈ సీరియల్ పోర్ట్‌లలో ఒకదానితో కనెక్ట్ (అనుసంధానం) కావాలని కోరుకుంటుంది</translation>
 <translation id="8754200782896249056">&lt;p&gt;<ph name="PRODUCT_NAME" />ని మద్దతు ఉన్న డెస్క్‌టాప్ పరిసరంలో అమలు చేస్తున్నప్పుడు, సిస్టమ్ ప్రాక్సీ సెట్టింగ్‌లు ఉపయోగించబడతాయి.  అయితే, మీ సిస్టమ్ మద్దతు ఇవ్వడం లేదు లేదా మీ సిస్టమ్ కాన్ఫిగరేషన్‌ను ప్రారంభించడంలో సమస్య ఉంది.&lt;/p&gt;
 
@@ -5178,7 +5180,7 @@
 <translation id="8828933418460119530">DNS పేరు</translation>
 <translation id="8830796635868321089">ప్రస్తుత ప్రాక్సీ సెట్టింగ్‌లను ఉపయోగించి అప్‌డేట్‌ను తనిఖీ చేయడం విఫలమైంది. దయచేసి మీ <ph name="PROXY_SETTINGS_LINK_START" />ప్రాక్సీ సెట్టింగ్‌ల<ph name="PROXY_SETTINGS_LINK_END" />ను సర్దుబాటు చేయండి.</translation>
 <translation id="8834039744648160717">నెట్‌వర్క్ కాన్ఫిగరేషన్‌ను <ph name="USER_EMAIL" /> నియంత్రిస్తున్నారు.</translation>
-<translation id="8834164572807951958">'<ph name="DESTINATION_NAME" />' యొక్క సభ్యులు ఈ అంశాల కాపీకి ప్రాప్యతను పొందుతారు.</translation>
+<translation id="8834164572807951958">'<ph name="DESTINATION_NAME" />' యొక్క సభ్యులు ఈ అంశాల కాపీకి యాక్సెస్‌ను పొందుతారు.</translation>
 <translation id="8838770651474809439">హాంబర్గర్</translation>
 <translation id="883911313571074303">చిత్రంపై అదనపు గమనికలు పంపండి</translation>
 <translation id="8845001906332463065">సహాయం పొందండి</translation>
@@ -5206,7 +5208,7 @@
 <translation id="8883847527783433352">మరొక ఖాతాకు సమకాలీకరించు</translation>
 <translation id="8885197664446363138">Smart Lock అందుబాటులో లేదు</translation>
 <translation id="88870264962436283"><ph name="APP_NAME" />లో టచ్ IDని ఉపయోగించండి</translation>
-<translation id="8888253246822647887">అప్‌గ్రేడ్ చేయడం పూర్తయినప్పుడు మీ యాప్ తెరవబడుతుంది. అప్‌గ్రేడ్‌లు చేయడానికి కొద్ది నిమిషాలు పట్టవచ్చు.</translation>
+<translation id="8888253246822647887">అప్‌గ్రేడ్ చేయడం పూర్తయినప్పుడు మీ యాప్ తెరవబడుతుంది. అప్‌గ్రేడ్‌లు పూర్తవడానికి కొద్ది నిమిషాలు పట్టవచ్చు.</translation>
 <translation id="8888432776533519951">రంగు:</translation>
 <translation id="8890516388109605451">మూలాధారాలు</translation>
 <translation id="8892168913673237979">అంతా పూర్తయింది!</translation>
@@ -5302,7 +5304,7 @@
 <translation id="9037965129289936994">అసలైనది చూపు</translation>
 <translation id="9038430547971207796">తర్వాతిసారి, మీ ఫోన్ మీ <ph name="DEVICE_TYPE" />ను అన్‌లాక్ చేస్తుంది. సెట్టింగ్‌లలో Smart Lockను ఆఫ్ చేయండి.</translation>
 <translation id="9038620279323455325">"<ph name="FILE_NAME" />" పేరు గల ఫైల్ ఇప్పటికే ఉంది. దయచేసి వేరొక పేరును ఎంచుకోండి.</translation>
-<translation id="9038649477754266430">పేజీలను మరింత శీఘ్రంగా లోడ్ చేయడానికి సూచన సేవను ఉపయోగించండి</translation>
+<translation id="9038649477754266430">పేజీలను మరింత త్వరగా లోడ్ చేయడానికి సూచన సేవను ఉపయోగించండి</translation>
 <translation id="9039663905644212491">PEAP</translation>
 <translation id="9040661932550800571"><ph name="ORIGIN" /> కోసం పాస్‌వర్డ్‌ను అప్‌డేట్ చేయాలా?</translation>
 <translation id="9041692268811217999">మీ యంత్రంలో స్థానిక ఫైల్‌లకు యాక్సెస్‌ని మీ నిర్వాహకులు నిలిపివేసారు</translation>
@@ -5362,7 +5364,7 @@
 <translation id="9125466540846359910"><ph name="LICENSE_TYPE" /> (<ph name="LICENSE_COUNT" /> ఉన్నాయి)</translation>
 <translation id="9128870381267983090">నెట్‌వర్క్‌కి కనెక్ట్ చేయి</translation>
 <translation id="9130015405878219958">చెల్లని మోడ్ ఎంటర్ చేయ‌బడింది.</translation>
-<translation id="9130775360844693113">'<ph name="DESTINATION_NAME" />' యొక్క సభ్యులు ఈ అంశాలకు ప్రాప్యత పొందుతారు.</translation>
+<translation id="9130775360844693113">'<ph name="DESTINATION_NAME" />' యొక్క సభ్యులు ఈ అంశాలకు యాక్సెస్ పొందుతారు.</translation>
 <translation id="9131487537093447019">బ్లూటూత్ పరికరాలకు సందేశాలను పంపడానికి మరియు వాటి నుండి స్వీకరించడానికి అనుమతి.</translation>
 <translation id="9131598836763251128">దయచేసి ఒకటి లేదా మరిన్ని ఫైళ్ళను ఎంచుకోండి</translation>
 <translation id="9133055936679483811">జిప్ చేయడంలో విఫలమైంది. <ph name="ERROR_MESSAGE" /></translation>
@@ -5382,7 +5384,7 @@
 <translation id="9154194610265714752">నవీకరించబడింది</translation>
 <translation id="9154418932169119429">ఈ చిత్రం ఆఫ్‌లైన్‌లో అందుబాటులో లేదు.</translation>
 <translation id="91568222606626347">షార్ట్‌కట్‌ను సృష్టించు...</translation>
-<translation id="9157697743260533322">వినియోగదారులందరి కోసం స్వయంచాలక అప్‌‌డేట్‌లను సెటప్ చేయడం విఫలమైంది (ప్రీఫ్లయిట్ ప్రారంభ లోపం: <ph name="ERROR_NUMBER" />)</translation>
+<translation id="9157697743260533322">వినియోగదారులందరి కోసం ఆటోమేటిక్ అప్‌డేట్‌లను సెటప్ చేయడం విఫలమైంది (ప్రీఫ్లయిట్ ప్రారంభ ఎర్రర్: <ph name="ERROR_NUMBER" />)</translation>
 <translation id="9158715103698450907">అయ్యో!  ప్రామాణీకరణ సమయంలో నెట్‌వర్క్ కమ్యూనికేషన్ సమస్య ఏర్పడింది.  దయచేసి మీ నెట్‌వర్క్ కనెక్షన్‌ను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="916607977885256133">చిత్రంలో చిత్రం</translation>
 <translation id="9168436347345867845">దీనిని తర్వాత చేయి</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 70746cbb..6209d67 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (ใช้ฮาร์ดแวร์คีย์เข้ารหัสลับ)</translation>
 <translation id="316125635462764134">นำแอปออก</translation>
 <translation id="3161522574479303604">ทุกภาษา</translation>
+<translation id="3163201441334626963">ผลิตภัณฑ์ที่ไม่รู้จัก <ph name="PRODUCT_ID" /> จากผู้ขาย <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">ผู้ให้บริการบางรายอาจบล็อกฟีเจอร์นี้</translation>
 <translation id="316854673539778496">ลงชื่อเข้าใช้และเปิดการซิงค์เพื่อรับส่วนขยายในอุปกรณ์ทุกเครื่องของคุณ</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">เลือกผู้จัดการสำหรับผู้ใช้ภายใต้การดูแลนี้</translation>
 <translation id="7003339318920871147">ฐานข้อมูลเว็บ</translation>
 <translation id="7003723821785740825">ตั้งค่าวิธีปลดล็อกอุปกรณ์ที่เร็วขึ้น</translation>
+<translation id="7003844668372540529">ผลิตภัณฑ์ที่ไม่รู้จัก <ph name="PRODUCT_ID" /> จาก <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">แท็บล่าสุด</translation>
 <translation id="7005848115657603926">ช่วงของหน้าไม่ถูกต้อง ให้ใช้ <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">ขอบล่าง</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index b9e5dc5..585e297c 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (donanım destekli)</translation>
 <translation id="316125635462764134">Uygulamayı kaldır</translation>
 <translation id="3161522574479303604">Tüm diller</translation>
+<translation id="3163201441334626963"><ph name="VENDOR_ID" /> adlı satıcı firma tarafından sağlanan <ph name="PRODUCT_ID" /> ürün kimliğine sahip bilinmeyen ürün</translation>
 <translation id="3165390001037658081">Bazı operatörler bu özelliği engelleyebilir.</translation>
 <translation id="316854673539778496">Tüm uzantılarınızı tüm cihazlarınızda almak için oturum açın ve senkronizasyonu etkinleştirin.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3959,6 +3960,7 @@
 <translation id="7002454948392136538">Bu denetlenen kullanıcı için yönetici seçin</translation>
 <translation id="7003339318920871147">Web veritabanları</translation>
 <translation id="7003723821785740825">Cihazınızın kilidini açmak için daha hızlı bir yöntem ayarlayın</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> tarafından sağlanan <ph name="PRODUCT_ID" /> ürün kimliğine sahip bilinmeyen ürün</translation>
 <translation id="7004499039102548441">Son Sekmeler</translation>
 <translation id="7005848115657603926">Geçersiz sayfa aralığı, şunu kullanın: <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Alt kenar boşluğu</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 46df01c..32e3178 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (з апаратною підтримкою)</translation>
 <translation id="316125635462764134">Видалити додаток</translation>
 <translation id="3161522574479303604">Усі мови</translation>
+<translation id="3163201441334626963">Невідомий продукт <ph name="PRODUCT_ID" /> від постачальника <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Деякі оператори можуть блокувати цю функцію.</translation>
 <translation id="316854673539778496">Щоб мати доступ до розширень на всіх своїх пристроях, увійдіть в обліковий запис і ввімкніть синхронізацію.</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Виберіть менеджера для цього контрольованого користувача</translation>
 <translation id="7003339318920871147">Онлайнові бази даних</translation>
 <translation id="7003723821785740825">Налаштуйте швидше розблокування пристрою</translation>
+<translation id="7003844668372540529">Невідомий продукт <ph name="PRODUCT_ID" /> від постачальника <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Останні вкладки</translation>
 <translation id="7005848115657603926">Недійсний діапазон сторінок, використовуйте <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Нижнє поле</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index beb649aa..7b211ef0 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -1439,6 +1439,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (dựa trên phần cứng)</translation>
 <translation id="316125635462764134">Xóa ứng dụng</translation>
 <translation id="3161522574479303604">Tất cả ngôn ngữ</translation>
+<translation id="3163201441334626963">Sản phẩm không xác định <ph name="PRODUCT_ID" /> từ nhà cung cấp <ph name="VENDOR_ID" /></translation>
 <translation id="3165390001037658081">Một số nhà cung cấp dịch vụ có thể chặn tính năng này.</translation>
 <translation id="316854673539778496">Để có tất cả các tiện ích trên mọi thiết bị của bạn, hãy đăng nhập rồi bật tính năng đồng bộ hóa.</translation>
 <translation id="3169472444629675720">Khám phá</translation>
@@ -3958,6 +3959,7 @@
 <translation id="7002454948392136538">Chọn người quản lý cho người dùng được giám sát này</translation>
 <translation id="7003339318920871147">Cơ sở dữ liệu web</translation>
 <translation id="7003723821785740825">Thiết lập cách mở khóa thiết bị nhanh hơn</translation>
+<translation id="7003844668372540529">Sản phẩm không xác định <ph name="PRODUCT_ID" /> từ <ph name="VENDOR_NAME" /></translation>
 <translation id="7004499039102548441">Các tab gần đây</translation>
 <translation id="7005848115657603926">Phạm vi trang không hợp lệ, sử dụng <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">Lề dưới</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index b50461ee..5c63fe2 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -131,7 +131,7 @@
 <translation id="1177138678118607465">Google 可能会使用您的浏览记录为您量身定制 Google 搜索、广告和其他 Google 服务。您随时可通过 myaccount.google.com/activitycontrols/search 更改此设置</translation>
 <translation id="1177863135347784049">自定义</translation>
 <translation id="1178581264944972037">暂停</translation>
-<translation id="1181037720776840403">移除</translation>
+<translation id="1181037720776840403">删除</translation>
 <translation id="1183237619868651138">无法将 <ph name="EXTERNAL_CRX_FILE" /> 安装在本地缓存中。</translation>
 <translation id="1185924365081634987">您也可以尝试<ph name="GUEST_SIGNIN_LINK_START" />以访客身份浏览<ph name="GUEST_SIGNIN_LINK_END" />,以便修复该网络错误。</translation>
 <translation id="1186771945450942097">移除有害软件</translation>
@@ -1434,6 +1434,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />](由硬件支持)</translation>
 <translation id="316125635462764134">卸载应用</translation>
 <translation id="3161522574479303604">所有语言</translation>
+<translation id="3163201441334626963">来自供应商 <ph name="VENDOR_ID" /> 的未知产品 <ph name="PRODUCT_ID" /></translation>
 <translation id="3165390001037658081">有些运营商可能会屏蔽此功能。</translation>
 <translation id="316854673539778496">要将您的所有扩展程序同步到您的所有设备上,请登录您的帐号并开启同步功能。</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3945,6 +3946,7 @@
 <translation id="7002454948392136538">选择此受监管用户的管理员</translation>
 <translation id="7003339318920871147">网络数据库</translation>
 <translation id="7003723821785740825">为您的设备设置更快速的解锁方式</translation>
+<translation id="7003844668372540529">来自<ph name="VENDOR_NAME" />的未知产品 <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">最近打开的标签页</translation>
 <translation id="7005848115657603926">页码范围无效,请使用 <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">下边距</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index b386580..af3628d 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -1438,6 +1438,7 @@
 <translation id="3160842278951476457"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />] (使用硬體加密金鑰)</translation>
 <translation id="316125635462764134">移除應用程式</translation>
 <translation id="3161522574479303604">所有語言</translation>
+<translation id="3163201441334626963">供應商 <ph name="VENDOR_ID" /> 提供的不明產品 <ph name="PRODUCT_ID" /></translation>
 <translation id="3165390001037658081">部分電信業者可能會封鎖這項功能。</translation>
 <translation id="316854673539778496">如要將擴充功能同步到所有裝置,請登入並開啟同步處理功能。</translation>
 <translation id="3169472444629675720">Discover</translation>
@@ -3952,6 +3953,7 @@
 <translation id="7002454948392136538">選擇這位受監管使用者的管理員</translation>
 <translation id="7003339318920871147">網路資料庫</translation>
 <translation id="7003723821785740825">設定更快速的裝置解鎖方式</translation>
+<translation id="7003844668372540529"><ph name="VENDOR_NAME" /> 提供的不明產品 <ph name="PRODUCT_ID" /></translation>
 <translation id="7004499039102548441">最近開啟的分頁</translation>
 <translation id="7005848115657603926">頁面範圍無效,請使用 <ph name="EXAMPLE_PAGE_RANGE" /></translation>
 <translation id="7006634003215061422">下邊界</translation>
diff --git a/chrome/app/resources/google_chrome_strings_te.xtb b/chrome/app/resources/google_chrome_strings_te.xtb
index 027a4be..97a4c6c 100644
--- a/chrome/app/resources/google_chrome_strings_te.xtb
+++ b/chrome/app/resources/google_chrome_strings_te.xtb
@@ -33,7 +33,7 @@
 <translation id="1698376642261615901">Google Chrome అనేది మెరుపు వేగంతో వెబ్‌పేజీలను మరియు యాప్‌లను అమలు చేసే వెబ్ బ్రౌజర్. ఇది వేగమైనది, స్థిరమైనది మరియు ఉపయోగించడానికి సులభమైంది. Google Chromeలో నిర్మితమైన మాల్వేర్ మరియు ఫిషింగ్ భద్రతతో మరింత సురక్షితంగా వెబ్‌ను బ్రౌజ్ చేయండి.</translation>
 <translation id="1718131156967340976"><ph name="SMALL_PRODUCT_LOGO" /> <ph name="BEGIN_BOLD" />Google Chrome<ph name="END_BOLD" />ని ఎంచుకోండి</translation>
 <translation id="1734234790201236882">Chrome ఈ పాస్‌వర్డ్‌ను మీ Google ఖాతాలో సేవ్ చేస్తుంది. మీరు దీనిని గుర్తుంచుకోవాల్సిన అవసరం లేదు.</translation>
-<translation id="174539241580958092">సైన్ ఇన్ చేయడంలో లోపం సంభవించినందున Google Chrome మీ డేటాను సమకాలీకరించలేకపోయింది.</translation>
+<translation id="174539241580958092">సైన్ ఇన్ చేయడంలో ఎర్రర్ ఏర్పడినందున Google Chrome మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="1759842336958782510">Chrome</translation>
 <translation id="1773601347087397504">Chrome OSని ఉపయోగించి సహాయాన్ని పొందండి</translation>
 <translation id="1795405610103747296">మీ ఫోన్‌లో Chromeను ఇన్‌స్టాల్ చేయండి. మేము మీ ఫోన్ నంబర్‌కు SMS పంపుతాము: <ph name="PHONE_NUMBER" /></translation>
@@ -95,7 +95,7 @@
 <translation id="3282568296779691940">Chromeకు సైన్ ఇన్ చేయండి</translation>
 <translation id="3360895254066713204">Chrome సహాయకారుడు</translation>
 <translation id="3395323229510056640">Chrome OSతో సహాయాన్ని పొందండి</translation>
-<translation id="3396977131400919238">ఇన్‌స్టాలేషన్ సమయంలో ఒక ఆపరేటింగ్ సిస్టమ్ ఎర్ర‌ర్‌ ఏర్పడింది. దయచేసి Google Chromeను మ‌ళ్లీ డౌన్‌లోడ్ చెయ్యండి.</translation>
+<translation id="3396977131400919238">ఇన్‌స్టాలేషన్ సమయంలో ఒక ఆపరేటింగ్ సిస్టమ్ ఎర్రర్ ఏర్పడింది. దయచేసి Google Chromeను మళ్ళీ డౌన్‌లోడ్ చేయండి.</translation>
 <translation id="3398288718845740432">Chrome మెనూలో దాచండి</translation>
 <translation id="3451115285585441894">Chromeకు జోడిస్తోంది...</translation>
 <translation id="345171907106878721">Chromeకు మిమ్మల్ని జోడించుకోండి</translation>
@@ -130,16 +130,16 @@
 <translation id="4343195214584226067">Chromeకు <ph name="EXTENSION_NAME" /> జోడించబడింది</translation>
 <translation id="4407807842708586359">Google Chrome OS</translation>
 <translation id="4458462641685292929">Google Chromeలో మరొక వ్యవస్థాపన జరుగుతోంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
-<translation id="4480040274068703980">సైన్ ఇన్ చేయడంలో ఎర్రర్ సంభవించినందున Chrome OS మీ డేటాను సమకాలీకరించలేకపోయింది.</translation>
+<translation id="4480040274068703980">సైన్ ఇన్ చేయడంలో ఎర్రర్ ఏర్పడినందున Chrome OS మీ డేటాను సింక్ చేయలేకపోయింది.</translation>
 <translation id="4561051373932531560">వెబ్‌లో ఏదైనా ఒక ఫోన్ నంబర్‌ను క్లిక్ చేసి, దానికి Skypeతో కాల్ చేయగలిగే సదుపాయాన్ని Google Chrome మీకు ఇస్తుంది!</translation>
-<translation id="4567424176335768812">మీరు <ph name="USER_EMAIL_ADDRESS" />గా సైన్ ఇన్ చేసారు. ఇప్పుడు మీరు మీ సైన్ ఇన్ చేసిన అన్ని పరికరాల్లో మీ బుక్‌మార్క్‌లు, చరిత్ర మరియు ఇతర సెట్టింగ్‌లను ప్రాప్యత చేయవచ్చు.</translation>
+<translation id="4567424176335768812">మీరు <ph name="USER_EMAIL_ADDRESS" />గా సైన్ ఇన్ చేసారు. ఇప్పుడు మీరు సైన్ ఇన్ చేసిన అన్ని పరికరాల్లో మీ బుక్‌మార్క్‌లు, చరిత్ర మరియు ఇతర సెట్టింగ్‌లను యాక్సెస్ చేయవచ్చు.</translation>
 <translation id="4571503333518166079">Chrome నోటిఫికేషన్ సెట్టింగ్‌లలోకి వెళ్లు</translation>
 <translation id="459622048091363950">ఓసారి Chromeకి యాక్సెస్ లభించాక, ఆపై వెబ్‌సైట్‌లకు ఏమైనా యాక్సెస్‌ కావాలంటే అవి మిమ్మల్ని అడగవచ్చు.</translation>
 <translation id="4600710005438004015">Chromeని తాజా వెర్షన్‌కు అప్‌డేట్ చేయడం సాధ్యం కాలేదు, కనుక మీరు కొత్త ఫీచర్‌లు మరియు భద్రతా పరిష్కారాలను పొందలేరు.</translation>
 <translation id="4631713731678262610">Chrome మెనూలో దాచండి</translation>
 <translation id="4633000520311261472">Chromeను సురక్షితం చేయడానికి, మేము <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />లో జాబితా చేయబడని మరియు మీకు తెలియకుండానే జోడించబడిన కొన్ని పొడిగింపులను నిలిపివేసాము.</translation>
 <translation id="4700157086864140907">మీరు బ్రౌజర్‌లో టైప్ చేసే వాటిని Google సర్వర్‌లకు పంపించడం ద్వారా, Google శోధనలో ఉపయోగించే స్పెల్ చెక్ - సాంకేతిక పరిజ్ఞానాన్ని మీరు ఉపయోగించగలిగేలా అనుమతించి, మరింత మెరుగైన స్పెల్ చెక్‌ను Google Chrome అందించగలదు.</translation>
-<translation id="4728575227883772061">పేర్కొనబడని లోపం కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. ప్రస్తుతం Google Chrome రన్ చేస్తున్నట్లయితే, దయచేసి దాన్ని మూసివేసి, మళ్ళీ ప్రయత్నించండి.</translation>
+<translation id="4728575227883772061">పేర్కొనబడని ఎర్రర్ కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. ప్రస్తుతం Google Chrome అమలు అవుతున్నట్లయితే, దయచేసి దానిని మూసివేసి, మళ్ళీ ప్రయత్నించండి.</translation>
 <translation id="4750550185319565338"><ph name="PLUGIN_NAME" />ని ప్రారంభించడానికి Chromeను పునఃప్రారంభించండి</translation>
 <translation id="4754614261631455953">Google Chrome కెనరీ (mDNS-In)</translation>
 <translation id="4771048833395599659">ఈ ఫైల్ అపాయకరం కావచ్చు, కాబట్టి Chrome దీన్ని బ్లాక్ చేసింది.</translation>
@@ -196,7 +196,7 @@
 <translation id="6598387184982954187">మీరు మీ Chrome అంశాలను సింక్ చేయ‌డానికి <ph name="PROFILE_EMAIL" />ను ఉపయోగిస్తున్నారు. మీ సింక్‌ ప్రాధాన్యతను అప్‌డేట్ చేయ‌డానికి లేదా Google ఖాతా లేకుండా Chromeను ఉపయోగించడానికి, <ph name="SETTINGS_LINK" />ను సందర్శించండి.</translation>
 <translation id="6600954340915313787">Chromeకి కాపీ చేయబడింది</translation>
 <translation id="6634887557811630702">Google Chrome తాజాగా ఉంది.</translation>
-<translation id="6676384891291319759">ఇంటర్నెట్‌ను యాక్సెస్ చేయండి</translation>
+<translation id="6676384891291319759">ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి</translation>
 <translation id="6679975945624592337">Google Chromeను నేపథ్యంలో అమలు అయ్యేందుకు అనుమతించండి</translation>
 <translation id="677276454032249905">ఏదేమైనా Chrome నుండి నిష్క్రమించాలా?</translation>
 <translation id="683440813066116847">mDNS ట్రాఫిక్‌ను అనుమతించడానికి Google Chrome కెనరీ కోసం ఇన్‌బౌండ్ నియమం.</translation>
@@ -219,7 +219,7 @@
 <translation id="7398801000654795464">మీరు <ph name="USER_EMAIL_ADDRESS" />గా Chromeకు సైన్ ఇన్ చేసారు. మళ్లీ సైన్ ఇన్ చేయడానికి దయచేసి ఇదే ఖాతాను ఉపయోగించండి.</translation>
 <translation id="7408085963519505752">Chrome OS నిబంధనలు</translation>
 <translation id="7419046106786626209">మీ డొమైన్ కోసం సమకాలీకరణ అందుబాటులో లేనందున Chrome OS మీ డేటాను సమకాలీకరించలేకపోయింది.</translation>
-<translation id="7459554271817304652">మీ వ్యక్తిగతీకరించిన బ్రౌజర్ ఫీచర్‌లను వెబ్‌కు సేవ్ చేయడానికి మరియు ఏ కంప్యూటర్‌లోని Google Chrome నుండి అయినా వాటిని యాక్సెస్ చేయడానికి సమకాలీకరణని సెటప్ చేయండి.</translation>
+<translation id="7459554271817304652">వెబ్‌కు మీ వ్యక్తిగతీకరించి బ్రౌజర్ ఫీచర్‌లను సేవ్ చేయడానికి మరియు ఏదైనా కంప్యూటర్‌లోని Google Chrome నుండి అయినా వాటిని యాక్సెస్ చేయడానికి సమకాలీకరణని సెటప్ చేయండి.</translation>
 <translation id="7473136999113284234">Chrome స్వయంచాలకంగా నవీకరించబడుతుంది కనుక మీరు ఎల్లప్పుడూ తాజా సంస్కరణను కలిగి ఉంటారు.</translation>
 <translation id="7486227612705979895">చిరునామా బార్‌లో సూచనలను చేయడానికి Chrome మీ డిస్క్‌ను యాక్సెస్ చేస్తుంది</translation>
 <translation id="7535429826459677826">Google Chrome డెవలపర్</translation>
@@ -234,7 +234,7 @@
 <translation id="7781002470561365167">Google Chrome యొక్క క్రొత్త సంస్కరణ ఇప్పుడు అందుబాటులో ఉంది.</translation>
 <translation id="7787950393032327779">ప్రొఫైల్‌ని మరొక కంప్యూటర్ (<ph name="HOST_NAME" />)లో మరో Google Chrome ప్రాసెస్ (<ph name="PROCESS_ID" />) ఉపయోగిస్తున్నట్లు కనిపిస్తోంది.  Chrome ప్రొఫైల్‌ని లాక్ చేసినందున అది పాడవదు. ఈ ప్రొఫైల్‌ని వేరే ఇతర ప్రాసెస్‌లు ఏవీ ఉపయోగించడం లేదని మీకు ఖచ్చితంగా తెలిస్తే, మీరు ప్రొఫైల్‌ని అన్‌లాక్ చేసి Chromeని మళ్లీ లాంచ్ చేయవచ్చు.</translation>
 <translation id="7808348361785373670">Chrome నుండి తీసివేయి...</translation>
-<translation id="7825851276765848807">పేర్కొనలేని లోపం కారణంగా వ్యవస్థాపన విఫలమైంది. దయచేసి Google Chromeని మళ్ళీ డౌన్‌లోడ్ చెయ్యండి.</translation>
+<translation id="7825851276765848807">పేర్కొనబడని ఎర్రర్ కారణంగా ఇన్‌స్టాలేషన్ విఫలమైంది. దయచేసి Google Chromeను మళ్ళీ డౌన్‌లోడ్ చేయండి.</translation>
 <translation id="7855730255114109580">Google Chrome తాజాగా ఉంది</translation>
 <translation id="7888186132678118370">Chromeని మీ విధి పట్టీకి పిన్ చేయండి</translation>
 <translation id="7890208801193284374">మీరు కంప్యూటర్‌ను షేర్ చేస్తే, స్నేహితులు మరియు కుటుంబ సభ్యులు విడివిడిగా బ్రౌజ్ చేయవచ్చు మరియు Chromeను వారికి నచ్చిన రీతిలో సెటప్ చేసుకోవచ్చు.</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 7a02b849..540dbee 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1103,6 +1103,8 @@
     "policy/chrome_browser_policy_connector.h",
     "policy/cloud/cloud_policy_invalidator.cc",
     "policy/cloud/cloud_policy_invalidator.h",
+    "policy/cloud/policy_header_navigation_throttle.cc",
+    "policy/cloud/policy_header_navigation_throttle.h",
     "policy/cloud/policy_header_service_factory.cc",
     "policy/cloud/policy_header_service_factory.h",
     "policy/cloud/remote_commands_invalidator.cc",
@@ -2045,6 +2047,8 @@
       "android/autofill_assistant/assistant_header_delegate.h",
       "android/autofill_assistant/assistant_overlay_delegate.cc",
       "android/autofill_assistant/assistant_overlay_delegate.h",
+      "android/autofill_assistant/assistant_payment_request_delegate.cc",
+      "android/autofill_assistant/assistant_payment_request_delegate.h",
       "android/autofill_assistant/client_android.cc",
       "android/autofill_assistant/client_android.h",
       "android/autofill_assistant/ui_controller_android.cc",
@@ -4801,6 +4805,8 @@
       "../android/java/src/org/chromium/chrome/browser/autofill_assistant/header/AssistantHeaderModel.java",
       "../android/java/src/org/chromium/chrome/browser/autofill_assistant/overlay/AssistantOverlayDelegate.java",
       "../android/java/src/org/chromium/chrome/browser/autofill_assistant/overlay/AssistantOverlayModel.java",
+      "../android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestDelegate.java",
+      "../android/java/src/org/chromium/chrome/browser/autofill_assistant/payment/AssistantPaymentRequestModel.java",
       "../android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java",
       "../android/java/src/org/chromium/chrome/browser/banners/AppBannerUiDelegateAndroid.java",
       "../android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 4b4cdfc..77088a0 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2609,7 +2609,7 @@
     {"enable-google-branded-context-menu",
      flag_descriptions::kGoogleBrandedContextMenuName,
      flag_descriptions::kGoogleBrandedContextMenuDescription, kOsDesktop,
-     SINGLE_VALUE_TYPE(switches::kEnableGoogleBrandedContextMenu)},
+     FEATURE_VALUE_TYPE(features::kGoogleBrandedContextMenu)},
 #endif  // !OS_ANDROID && GOOGLE_CHROME_BUILD
 #if defined(OS_MACOSX)
     {"enable-content-fullscreen", flag_descriptions::kContentFullscreenName,
@@ -4278,6 +4278,11 @@
     {"app-service-ash", flag_descriptions::kAppServiceAshName,
      flag_descriptions::kAppServiceAshDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kAppServiceAsh)},
+
+    {"ash-enable-overview-rounded-corners",
+     flag_descriptions::kAshEnableOverviewRoundedCornersName,
+     flag_descriptions::kAshEnableOverviewRoundedCornersDescription, kOsCrOS,
+     FEATURE_VALUE_TYPE(ash::features::kEnableOverviewRoundedCorners)},
 #endif  // defined(OS_CHROMEOS)
 
     // NOTE: Adding a new flag requires adding a corresponding entry to enum
diff --git a/chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.cc b/chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.cc
new file mode 100644
index 0000000..2f860ec
--- /dev/null
+++ b/chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.cc
@@ -0,0 +1,94 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.h"
+
+#include <memory>
+#include <utility>
+
+#include "base/android/jni_string.h"
+#include "chrome/browser/android/autofill_assistant/ui_controller_android.h"
+#include "chrome/browser/autofill/android/personal_data_manager_android.h"
+#include "chrome/browser/autofill/personal_data_manager_factory.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "jni/AssistantPaymentRequestDelegate_jni.h"
+
+using base::android::AttachCurrentThread;
+using base::android::JavaParamRef;
+
+namespace autofill_assistant {
+
+AssistantPaymentRequestDelegate::AssistantPaymentRequestDelegate(
+    UiControllerAndroid* ui_controller)
+    : ui_controller_(ui_controller) {
+  java_assistant_payment_request_delegate_ =
+      Java_AssistantPaymentRequestDelegate_create(
+          AttachCurrentThread(), reinterpret_cast<intptr_t>(this));
+}
+
+AssistantPaymentRequestDelegate::~AssistantPaymentRequestDelegate() {
+  Java_AssistantPaymentRequestDelegate_clearNativePtr(
+      AttachCurrentThread(), java_assistant_payment_request_delegate_);
+}
+
+void AssistantPaymentRequestDelegate::OnGetPaymentInformation(
+    JNIEnv* env,
+    const JavaParamRef<jobject>& jcaller,
+    jboolean jsucceed,
+    const JavaParamRef<jobject>& jcard,
+    const JavaParamRef<jobject>& jaddress,
+    const JavaParamRef<jstring>& jpayer_name,
+    const JavaParamRef<jstring>& jpayer_phone,
+    const JavaParamRef<jstring>& jpayer_email,
+    jboolean jis_terms_and_services_accepted) {
+  std::unique_ptr<PaymentInformation> payment_info =
+      std::make_unique<PaymentInformation>();
+  payment_info->succeed = jsucceed;
+  payment_info->is_terms_and_conditions_accepted =
+      jis_terms_and_services_accepted;
+  if (payment_info->succeed) {
+    if (jcard != nullptr) {
+      payment_info->card = std::make_unique<autofill::CreditCard>();
+      autofill::PersonalDataManagerAndroid::PopulateNativeCreditCardFromJava(
+          jcard, env, payment_info->card.get());
+
+      auto guid = payment_info->card->billing_address_id();
+      if (!guid.empty()) {
+        autofill::AutofillProfile* profile =
+            autofill::PersonalDataManagerFactory::GetForProfile(
+                ProfileManager::GetLastUsedProfile())
+                ->GetProfileByGUID(guid);
+        if (profile != nullptr)
+          payment_info->billing_address =
+              std::make_unique<autofill::AutofillProfile>(*profile);
+      }
+    }
+    if (jaddress != nullptr) {
+      payment_info->shipping_address =
+          std::make_unique<autofill::AutofillProfile>();
+      autofill::PersonalDataManagerAndroid::PopulateNativeProfileFromJava(
+          jaddress, env, payment_info->shipping_address.get());
+    }
+    if (jpayer_name != nullptr) {
+      base::android::ConvertJavaStringToUTF8(env, jpayer_name,
+                                             &payment_info->payer_name);
+    }
+    if (jpayer_phone != nullptr) {
+      base::android::ConvertJavaStringToUTF8(env, jpayer_phone,
+                                             &payment_info->payer_phone);
+    }
+    if (jpayer_email != nullptr) {
+      base::android::ConvertJavaStringToUTF8(env, jpayer_email,
+                                             &payment_info->payer_email);
+    }
+  }
+  ui_controller_->OnGetPaymentInformation(std::move(payment_info));
+}
+
+base::android::ScopedJavaGlobalRef<jobject>
+AssistantPaymentRequestDelegate::GetJavaObject() {
+  return java_assistant_payment_request_delegate_;
+}
+
+}  // namespace autofill_assistant
diff --git a/chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.h b/chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.h
new file mode 100644
index 0000000..e4060522
--- /dev/null
+++ b/chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.h
@@ -0,0 +1,40 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_ANDROID_AUTOFILL_ASSISTANT_ASSISTANT_PAYMENT_REQUEST_DELEGATE_H_
+#define CHROME_BROWSER_ANDROID_AUTOFILL_ASSISTANT_ASSISTANT_PAYMENT_REQUEST_DELEGATE_H_
+
+#include "base/android/scoped_java_ref.h"
+
+namespace autofill_assistant {
+class UiControllerAndroid;
+// Delegate class for the payment_request, to react on clicks on its chips.
+class AssistantPaymentRequestDelegate {
+ public:
+  explicit AssistantPaymentRequestDelegate(UiControllerAndroid* ui_controller);
+  ~AssistantPaymentRequestDelegate();
+
+  void OnGetPaymentInformation(
+      JNIEnv* env,
+      const base::android::JavaParamRef<jobject>& jcaller,
+      jboolean jsucceed,
+      const base::android::JavaParamRef<jobject>& jcard,
+      const base::android::JavaParamRef<jobject>& jaddress,
+      const base::android::JavaParamRef<jstring>& jpayer_name,
+      const base::android::JavaParamRef<jstring>& jpayer_phone,
+      const base::android::JavaParamRef<jstring>& jpayer_email,
+      jboolean jis_terms_and_services_accepted);
+
+  base::android::ScopedJavaGlobalRef<jobject> GetJavaObject();
+
+ private:
+  UiControllerAndroid* ui_controller_;
+
+  // Java-side AssistantPaymentRequestDelegate object.
+  base::android::ScopedJavaGlobalRef<jobject>
+      java_assistant_payment_request_delegate_;
+};
+}  // namespace autofill_assistant
+
+#endif  // CHROME_BROWSER_ANDROID_AUTOFILL_ASSISTANT_ASSISTANT_PAYMENT_REQUEST_DELEGATE_H_
diff --git a/chrome/browser/android/autofill_assistant/ui_controller_android.cc b/chrome/browser/android/autofill_assistant/ui_controller_android.cc
index 07db9b1e..f0b76ea 100644
--- a/chrome/browser/android/autofill_assistant/ui_controller_android.cc
+++ b/chrome/browser/android/autofill_assistant/ui_controller_android.cc
@@ -40,6 +40,7 @@
 #include "jni/AssistantHeaderModel_jni.h"
 #include "jni/AssistantModel_jni.h"
 #include "jni/AssistantOverlayModel_jni.h"
+#include "jni/AssistantPaymentRequestModel_jni.h"
 #include "jni/AutofillAssistantUiController_jni.h"
 #include "services/identity/public/cpp/identity_manager.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -57,6 +58,7 @@
       ui_delegate_(ui_delegate),
       overlay_delegate_(this),
       header_delegate_(this),
+      payment_request_delegate_(this),
       carousel_delegate_(this),
       weak_ptr_factory_(this) {
   DCHECK(web_contents);
@@ -75,6 +77,10 @@
   // Register header_delegate_ as delegate for clicks on header buttons.
   Java_AssistantHeaderModel_setDelegate(env, GetHeaderModel(),
                                         header_delegate_.GetJavaObject());
+
+  // Register payment_request_delegate_ as delegate for the payment request UI.
+  Java_AssistantPaymentRequestModel_setDelegate(
+      env, GetPaymentRequestModel(), payment_request_delegate_.GetJavaObject());
 }
 
 UiControllerAndroid::~UiControllerAndroid() {
@@ -318,79 +324,39 @@
       AttachCurrentThread(), java_autofill_assistant_ui_controller_);
 }
 
+// Payment request related methods.
+
+base::android::ScopedJavaLocalRef<jobject>
+UiControllerAndroid::GetPaymentRequestModel() {
+  return Java_AssistantModel_getPaymentRequestModel(AttachCurrentThread(),
+                                                    GetModel());
+}
+
 void UiControllerAndroid::OnGetPaymentInformation(
-    JNIEnv* env,
-    const JavaParamRef<jobject>& jcaller,
-    jboolean jsucceed,
-    const JavaParamRef<jobject>& jcard,
-    const JavaParamRef<jobject>& jaddress,
-    const JavaParamRef<jstring>& jpayer_name,
-    const JavaParamRef<jstring>& jpayer_phone,
-    const JavaParamRef<jstring>& jpayer_email,
-    jboolean jis_terms_and_services_accepted) {
-  DCHECK(get_payment_information_callback_);
-
-  std::unique_ptr<PaymentInformation> payment_info =
-      std::make_unique<PaymentInformation>();
-  payment_info->succeed = jsucceed;
-  payment_info->is_terms_and_conditions_accepted =
-      jis_terms_and_services_accepted;
-  if (payment_info->succeed) {
-    if (jcard != nullptr) {
-      payment_info->card = std::make_unique<autofill::CreditCard>();
-      autofill::PersonalDataManagerAndroid::PopulateNativeCreditCardFromJava(
-          jcard, env, payment_info->card.get());
-
-      auto guid = payment_info->card->billing_address_id();
-      if (!guid.empty()) {
-        autofill::AutofillProfile* profile =
-            autofill::PersonalDataManagerFactory::GetForProfile(
-                ProfileManager::GetLastUsedProfile())
-                ->GetProfileByGUID(guid);
-        if (profile != nullptr)
-          payment_info->billing_address =
-              std::make_unique<autofill::AutofillProfile>(*profile);
-      }
-    }
-    if (jaddress != nullptr) {
-      payment_info->shipping_address =
-          std::make_unique<autofill::AutofillProfile>();
-      autofill::PersonalDataManagerAndroid::PopulateNativeProfileFromJava(
-          jaddress, env, payment_info->shipping_address.get());
-    }
-    if (jpayer_name != nullptr) {
-      base::android::ConvertJavaStringToUTF8(env, jpayer_name,
-                                             &payment_info->payer_name);
-    }
-    if (jpayer_phone != nullptr) {
-      base::android::ConvertJavaStringToUTF8(env, jpayer_phone,
-                                             &payment_info->payer_phone);
-    }
-    if (jpayer_email != nullptr) {
-      base::android::ConvertJavaStringToUTF8(env, jpayer_email,
-                                             &payment_info->payer_email);
-    }
+    std::unique_ptr<PaymentInformation> payment_info) {
+  JNIEnv* env = AttachCurrentThread();
+  Java_AssistantModel_setAllowSwipingSheet(env, GetModel(), true);
+  Java_AssistantPaymentRequestModel_clearOptions(env, GetPaymentRequestModel());
+  if (get_payment_information_callback_) {
+    std::move(get_payment_information_callback_).Run(std::move(payment_info));
   }
-  std::move(get_payment_information_callback_).Run(std::move(payment_info));
 }
 
 void UiControllerAndroid::GetPaymentInformation(
     payments::mojom::PaymentOptionsPtr payment_options,
     base::OnceCallback<void(std::unique_ptr<PaymentInformation>)> callback,
-    const std::string& title,
     const std::vector<std::string>& supported_basic_card_networks) {
   DCHECK(!get_payment_information_callback_);
   get_payment_information_callback_ = std::move(callback);
   JNIEnv* env = AttachCurrentThread();
-  Java_AutofillAssistantUiController_onRequestPaymentInformation(
-      env, java_autofill_assistant_ui_controller_,
+  Java_AssistantModel_setAllowSwipingSheet(env, GetModel(), false);
+  Java_AssistantPaymentRequestModel_setOptions(
+      env, GetPaymentRequestModel(),
       base::android::ConvertUTF8ToJavaString(env,
                                              client_->GetAccountEmailAddress()),
       payment_options->request_shipping, payment_options->request_payer_name,
       payment_options->request_payer_phone,
       payment_options->request_payer_email,
-      static_cast<int>(payment_options->shipping_type),
-      base::android::ConvertUTF8ToJavaString(env, title),
       base::android::ToJavaArrayOfStrings(env, supported_basic_card_networks));
 }
 
diff --git a/chrome/browser/android/autofill_assistant/ui_controller_android.h b/chrome/browser/android/autofill_assistant/ui_controller_android.h
index d958cb9..ed12ff1 100644
--- a/chrome/browser/android/autofill_assistant/ui_controller_android.h
+++ b/chrome/browser/android/autofill_assistant/ui_controller_android.h
@@ -14,6 +14,7 @@
 #include "chrome/browser/android/autofill_assistant/assistant_carousel_delegate.h"
 #include "chrome/browser/android/autofill_assistant/assistant_header_delegate.h"
 #include "chrome/browser/android/autofill_assistant/assistant_overlay_delegate.h"
+#include "chrome/browser/android/autofill_assistant/assistant_payment_request_delegate.h"
 #include "components/autofill_assistant/browser/client.h"
 #include "components/autofill_assistant/browser/details.h"
 #include "components/autofill_assistant/browser/metrics.h"
@@ -47,7 +48,6 @@
   void GetPaymentInformation(
       payments::mojom::PaymentOptionsPtr payment_options,
       base::OnceCallback<void(std::unique_ptr<PaymentInformation>)> callback,
-      const std::string& title,
       const std::vector<std::string>& supported_basic_card_networks) override;
   void OnDetailsChanged(const Details* details) override;
   void ShowProgressBar(int progress) override;
@@ -64,21 +64,15 @@
   void OnFeedbackButtonClicked();
   void OnCloseButtonClicked();
 
+  // Called by AssistantPaymentRequestDelegate:
+  void OnGetPaymentInformation(
+      std::unique_ptr<PaymentInformation> payment_info);
+
   // Called by AssistantCarouselDelegate:
   void OnChipSelected(int index);
 
   // Called by Java.
   void Stop(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
-  void OnGetPaymentInformation(
-      JNIEnv* env,
-      const base::android::JavaParamRef<jobject>& jcaller,
-      jboolean jsucceed,
-      const base::android::JavaParamRef<jobject>& jcard,
-      const base::android::JavaParamRef<jobject>& jaddress,
-      const base::android::JavaParamRef<jstring>& jpayer_name,
-      const base::android::JavaParamRef<jstring>& jpayer_phone,
-      const base::android::JavaParamRef<jstring>& jpayer_email,
-      jboolean jis_terms_and_services_accepted);
   base::android::ScopedJavaLocalRef<jstring> GetPrimaryAccountName(
       JNIEnv* env,
       const base::android::JavaParamRef<jobject>& jcaller);
@@ -88,12 +82,14 @@
   UiDelegate* const ui_delegate_;
   AssistantOverlayDelegate overlay_delegate_;
   AssistantHeaderDelegate header_delegate_;
+  AssistantPaymentRequestDelegate payment_request_delegate_;
   AssistantCarouselDelegate carousel_delegate_;
 
   base::android::ScopedJavaLocalRef<jobject> GetModel();
   base::android::ScopedJavaLocalRef<jobject> GetOverlayModel();
   base::android::ScopedJavaLocalRef<jobject> GetHeaderModel();
   base::android::ScopedJavaLocalRef<jobject> GetDetailsModel();
+  base::android::ScopedJavaLocalRef<jobject> GetPaymentRequestModel();
   base::android::ScopedJavaLocalRef<jobject> GetCarouselModel();
 
   void ShowOverlay();
diff --git a/chrome/browser/apps/guest_view/web_view_browsertest.cc b/chrome/browser/apps/guest_view/web_view_browsertest.cc
index fb659c9..316215d 100644
--- a/chrome/browser/apps/guest_view/web_view_browsertest.cc
+++ b/chrome/browser/apps/guest_view/web_view_browsertest.cc
@@ -4276,14 +4276,8 @@
 // unlike the attached guest, no find requests are sent for the unattached
 // guest. For more context see https://crbug.com/897465.
 // TODO(crbug.com/914098): Address flakiness and reenable.
-#if defined(OS_LINUX) || defined(OS_MACOSX)
-#define MAYBE_NoFindInPageForUnattachedGuest \
-  DISABLED_NoFindInPageForUnattachedGuest
-#else
-#define MAYBE_NoFindInPageForUnattachedGuest NoFindInPageForUnattachedGuest
-#endif
 IN_PROC_BROWSER_TEST_F(ChromeSignInWebViewTest,
-                       MAYBE_NoFindInPageForUnattachedGuest) {
+                       DISABLED_NoFindInPageForUnattachedGuest) {
   GURL signin_url{"chrome://chrome-signin"};
   ui_test_utils::NavigateToURL(browser(), signin_url);
   auto* embedder_web_contents =
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 9cc708b1..d1b7c89 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -80,7 +80,7 @@
 #include "chrome/browser/permissions/permission_request_manager.h"
 #include "chrome/browser/platform_util.h"
 #include "chrome/browser/plugins/pdf_iframe_navigation_throttle.h"
-#include "chrome/browser/policy/cloud/policy_header_service_factory.h"
+#include "chrome/browser/policy/cloud/policy_header_navigation_throttle.h"
 #include "chrome/browser/predictors/loading_predictor.h"
 #include "chrome/browser/predictors/loading_predictor_factory.h"
 #include "chrome/browser/prerender/prerender_final_status.h"
@@ -2287,53 +2287,6 @@
       out_prefs, Profile::FromBrowserContext(browser_context));
 }
 
-void ChromeContentBrowserClient::NavigationRequestStarted(
-    int frame_tree_node_id,
-    const GURL& url,
-    net::HttpRequestHeaders* extra_headers,
-    int* extra_load_flags) {
-  WebContents* web_contents =
-      WebContents::FromFrameTreeNodeId(frame_tree_node_id);
-  content::BrowserContext* browser_context = web_contents->GetBrowserContext();
-
-
-  prerender::PrerenderContents* prerender_contents =
-      prerender::PrerenderContents::FromWebContents(web_contents);
-  if (prerender_contents &&
-      prerender_contents->prerender_mode() == prerender::PREFETCH_ONLY) {
-    *extra_load_flags = net::LOAD_PREFETCH;
-    extra_headers->SetHeader(prerender::kPurposeHeaderName,
-                             prerender::kPurposeHeaderValue);
-  }
-
-  if (!browser_context->IsOffTheRecord()) {
-    // Add policy headers for non-incognito requests.
-    policy::PolicyHeaderService* policy_header_service =
-        policy::PolicyHeaderServiceFactory::GetForBrowserContext(
-            browser_context);
-    if (policy_header_service)
-      policy_header_service->AddPolicyHeaders(url, extra_headers);
-  }
-}
-
-void ChromeContentBrowserClient::NavigationRequestRedirected(
-    int frame_tree_node_id,
-    const GURL& url,
-    net::HttpRequestHeaders* modified_headers) {
-  WebContents* web_contents =
-      WebContents::FromFrameTreeNodeId(frame_tree_node_id);
-  content::BrowserContext* browser_context = web_contents->GetBrowserContext();
-
-  if (!browser_context->IsOffTheRecord()) {
-    // Add policy headers for non-incognito requests.
-    policy::PolicyHeaderService* policy_header_service =
-        policy::PolicyHeaderServiceFactory::GetForBrowserContext(
-            browser_context);
-    if (policy_header_service)
-      policy_header_service->AddPolicyHeaders(url, modified_headers);
-  }
-}
-
 bool ChromeContentBrowserClient::AllowAppCache(
     const GURL& manifest_url,
     const GURL& first_party,
@@ -4256,6 +4209,9 @@
     throttles.push_back(std::move(browser_switcher_throttle));
 #endif
 
+  throttles.push_back(
+      std::make_unique<policy::PolicyHeaderNavigationThrottle>(handle));
+
   return throttles;
 }
 
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
index b2fd7010..1c60a8f 100644
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -202,14 +202,6 @@
   void UpdateRendererPreferencesForWorker(
       content::BrowserContext* browser_context,
       blink::mojom::RendererPreferences* out_prefs) override;
-  void NavigationRequestStarted(int frame_tree_node_id,
-                                const GURL& url,
-                                net::HttpRequestHeaders* extra_headers,
-                                int* extra_load_flags) override;
-  void NavigationRequestRedirected(
-      int frame_tree_node_id,
-      const GURL& url,
-      net::HttpRequestHeaders* modified_headers) override;
   bool AllowAppCache(const GURL& manifest_url,
                      const GURL& first_party,
                      content::ResourceContext* context) override;
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index 4e9aeeb9..4d63a3d 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -94,6 +94,7 @@
     "//chromeos/dbus:media_perception_proto",
     "//chromeos/dbus:metrics_event_proto",
     "//chromeos/dbus:oobe_config_proto",
+    "//chromeos/dbus:plugin_vm_service_proto",
     "//chromeos/dbus/services:services",
     "//chromeos/disks",
     "//chromeos/geolocation",
@@ -701,6 +702,8 @@
     "dbus/kiosk_info_service_provider.h",
     "dbus/metrics_event_service_provider.cc",
     "dbus/metrics_event_service_provider.h",
+    "dbus/plugin_vm_service_provider.cc",
+    "dbus/plugin_vm_service_provider.h",
     "dbus/proxy_resolution_service_provider.cc",
     "dbus/proxy_resolution_service_provider.h",
     "dbus/screen_lock_service_provider.cc",
@@ -2021,6 +2024,7 @@
     "dbus/org.chromium.KioskAppService.conf",
     "dbus/org.chromium.MetricsEventService.conf",
     "dbus/org.chromium.NetworkProxyService.conf",
+    "dbus/org.chromium.PluginVmService.conf",
     "dbus/org.chromium.ScreenLockService.conf",
     "dbus/org.chromium.VirtualFileRequestService.conf",
     "dbus/org.chromium.VmApplicationsService.conf",
diff --git a/chrome/browser/chromeos/arc/arc_session_manager_browsertest.cc b/chrome/browser/chromeos/arc/arc_session_manager_browsertest.cc
index 2551472..96070e6 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager_browsertest.cc
+++ b/chrome/browser/chromeos/arc/arc_session_manager_browsertest.cc
@@ -25,7 +25,6 @@
 #include "chrome/browser/policy/profile_policy_connector_factory.h"
 #include "chrome/browser/policy/test/local_policy_test_server.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/signin/account_tracker_service_factory.h"
 #include "chrome/browser/signin/identity_test_environment_profile_adaptor.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/testing_profile.h"
@@ -41,7 +40,6 @@
 #include "components/policy/core/common/policy_switches.h"
 #include "components/prefs/pref_member.h"
 #include "components/prefs/pref_service.h"
-#include "components/signin/core/browser/account_tracker_service.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "components/user_manager/user_manager.h"
 #include "content/public/browser/browser_thread.h"
diff --git a/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.cc b/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.cc
index 6b2adabf..63535a3 100644
--- a/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.cc
+++ b/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.cc
@@ -344,7 +344,8 @@
 
   if (state_ != State::kDisabled) {
     DLOG(WARNING) << "Cannot start tracing, it is already enabled.";
-    std::move(callback).Run(false /*success*/);
+    if (callback)
+      std::move(callback).Run(false /*success*/);
     return;
   }
   state_ = State::kStarting;
@@ -391,7 +392,8 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   DCHECK_EQ(State::kStarting, state_);
   state_ = success ? State::kEnabled : State::kDisabled;
-  std::move(callback).Run(success);
+  if (callback)
+    std::move(callback).Run(success);
 }
 
 void ArcTracingBridge::StopAndFlush(TraceDataCallback callback) {
@@ -462,10 +464,9 @@
 
 void ArcTracingBridge::ArcTracingAgent::StartTracing(
     const std::string& config,
-    base::TimeTicks coordinator_time,
-    Agent::StartTracingCallback callback) {
+    base::TimeTicks coordinator_time) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-  bridge_->StartTracing(config, std::move(callback));
+  bridge_->StartTracing(config, SuccessCallback());
 }
 
 void ArcTracingBridge::ArcTracingAgent::StopAndFlush(
diff --git a/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.h b/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.h
index dc321c2..e77f8a4 100644
--- a/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.h
+++ b/chrome/browser/chromeos/arc/tracing/arc_tracing_bridge.h
@@ -78,8 +78,7 @@
 
     // tracing::mojom::Agent.
     void StartTracing(const std::string& config,
-                      base::TimeTicks coordinator_time,
-                      Agent::StartTracingCallback callback) override;
+                      base::TimeTicks coordinator_time) override;
     void StopAndFlush(tracing::mojom::RecorderPtr recorder) override;
 
     void OnTraceData(const std::string& data);
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index dbab144f..a051237a 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -51,6 +51,7 @@
 #include "chrome/browser/chromeos/dbus/drive_file_stream_service_provider.h"
 #include "chrome/browser/chromeos/dbus/kiosk_info_service_provider.h"
 #include "chrome/browser/chromeos/dbus/metrics_event_service_provider.h"
+#include "chrome/browser/chromeos/dbus/plugin_vm_service_provider.h"
 #include "chrome/browser/chromeos/dbus/proxy_resolution_service_provider.h"
 #include "chrome/browser/chromeos/dbus/screen_lock_service_provider.h"
 #include "chrome/browser/chromeos/dbus/virtual_file_request_service_provider.h"
@@ -308,6 +309,12 @@
         CrosDBusService::CreateServiceProviderList(
             std::make_unique<MetricsEventServiceProvider>()));
 
+    plugin_vm_service_ = CrosDBusService::Create(
+        system_bus, kPluginVmServiceName,
+        dbus::ObjectPath(kPluginVmServicePath),
+        CrosDBusService::CreateServiceProviderList(
+            std::make_unique<PluginVmServiceProvider>()));
+
     screen_lock_service_ = CrosDBusService::Create(
         system_bus, kScreenLockServiceName,
         dbus::ObjectPath(kScreenLockServicePath),
@@ -378,6 +385,7 @@
     proxy_resolution_service_.reset();
     kiosk_info_service_.reset();
     metrics_event_service_.reset();
+    plugin_vm_service_.reset();
     virtual_file_request_service_.reset();
     component_updater_service_.reset();
     chrome_features_service_.reset();
@@ -395,6 +403,7 @@
   std::unique_ptr<CrosDBusService> proxy_resolution_service_;
   std::unique_ptr<CrosDBusService> kiosk_info_service_;
   std::unique_ptr<CrosDBusService> metrics_event_service_;
+  std::unique_ptr<CrosDBusService> plugin_vm_service_;
   std::unique_ptr<CrosDBusService> screen_lock_service_;
   std::unique_ptr<CrosDBusService> virtual_file_request_service_;
   std::unique_ptr<CrosDBusService> component_updater_service_;
diff --git a/chrome/browser/chromeos/dbus/org.chromium.PluginVmService.conf b/chrome/browser/chromeos/dbus/org.chromium.PluginVmService.conf
new file mode 100644
index 0000000..9f9694f
--- /dev/null
+++ b/chrome/browser/chromeos/dbus/org.chromium.PluginVmService.conf
@@ -0,0 +1,18 @@
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<!--
+  Copyright 2019 The Chromium Authors. All rights reserved.
+  Use of this source code is governed by a BSD-style license that can be
+  found in the LICENSE file.
+-->
+
+<busconfig>
+  <policy user="chronos">
+    <allow own="org.chromium.PluginVmService"/>
+  </policy>
+
+  <policy user="pluginvm">
+    <allow send_destination="org.chromium.PluginVmService"
+           send_interface="org.chromium.PluginVmServiceInterface"/>
+  </policy>
+</busconfig>
diff --git a/chrome/browser/chromeos/dbus/plugin_vm_service_provider.cc b/chrome/browser/chromeos/dbus/plugin_vm_service_provider.cc
new file mode 100644
index 0000000..56d06b7f
--- /dev/null
+++ b/chrome/browser/chromeos/dbus/plugin_vm_service_provider.cc
@@ -0,0 +1,57 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/dbus/plugin_vm_service_provider.h"
+
+#include <memory>
+#include <utility>
+
+#include "base/bind.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/chromeos/plugin_vm/plugin_vm_util.h"
+#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chromeos/dbus/plugin_vm_service/plugin_vm_service.pb.h"
+#include "dbus/message.h"
+#include "third_party/cros_system_api/dbus/service_constants.h"
+
+namespace chromeos {
+
+PluginVmServiceProvider::PluginVmServiceProvider() : weak_ptr_factory_(this) {}
+
+PluginVmServiceProvider::~PluginVmServiceProvider() = default;
+
+void PluginVmServiceProvider::Start(
+    scoped_refptr<dbus::ExportedObject> exported_object) {
+  exported_object->ExportMethod(
+      kPluginVmServiceInterface, kPluginVmServiceGetLicenseDataMethod,
+      base::BindRepeating(&PluginVmServiceProvider::GetLicenseData,
+                          weak_ptr_factory_.GetWeakPtr()),
+      base::BindRepeating(&PluginVmServiceProvider::OnExported,
+                          weak_ptr_factory_.GetWeakPtr()));
+}
+
+void PluginVmServiceProvider::OnExported(const std::string& interface_name,
+                                         const std::string& method_name,
+                                         bool success) {
+  if (!success)
+    LOG(ERROR) << "Failed to export " << interface_name << "." << method_name;
+}
+
+void PluginVmServiceProvider::GetLicenseData(
+    dbus::MethodCall* method_call,
+    dbus::ExportedObject::ResponseSender response_sender) {
+  std::unique_ptr<dbus::Response> response =
+      dbus::Response::FromMethodCall(method_call);
+  plugin_vm_service::GetLicenseDataResponse payload;
+  payload.set_device_id(g_browser_process->platform_part()
+                            ->browser_policy_connector_chromeos()
+                            ->GetDirectoryApiID());
+  payload.set_license_key(plugin_vm::GetPluginVmLicenseKey());
+  dbus::MessageWriter writer(response.get());
+  writer.AppendProtoAsArrayOfBytes(payload);
+  response_sender.Run(std::move(response));
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/dbus/plugin_vm_service_provider.h b/chrome/browser/chromeos/dbus/plugin_vm_service_provider.h
new file mode 100644
index 0000000..d46c42b
--- /dev/null
+++ b/chrome/browser/chromeos/dbus/plugin_vm_service_provider.h
@@ -0,0 +1,65 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_DBUS_PLUGIN_VM_SERVICE_PROVIDER_H_
+#define CHROME_BROWSER_CHROMEOS_DBUS_PLUGIN_VM_SERVICE_PROVIDER_H_
+
+#include <string>
+
+#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
+#include "chromeos/dbus/services/cros_dbus_service.h"
+#include "dbus/exported_object.h"
+
+namespace dbus {
+class MethodCall;
+}  // namespace dbus
+
+namespace chromeos {
+
+// This class exports D-Bus methods for querying PluginVm information.
+//
+// GetLicenseData:
+// % dbus-send --system --type=method_call --print-reply
+// --dest=org.chromium.PluginVmService /org/chromium/PluginVmService
+// org.chromium.PluginVmServiceInterface.GetLicenseData
+//
+// % (returns message GetLicenseDataResponse {
+//  string license_key = 1; // If available, this contains the PluginVm
+//                          // license key, if not, this contains the
+//                          // empty string.
+//  string device_id = 2; // If it is available, this contains the
+//                        // directory API ID, if not, this contains
+//                        // the empty string.
+// })
+class PluginVmServiceProvider
+    : public CrosDBusService::ServiceProviderInterface {
+ public:
+  PluginVmServiceProvider();
+  ~PluginVmServiceProvider() override;
+
+  // CrosDBusService::ServiceProviderInterface overrides:
+  void Start(scoped_refptr<dbus::ExportedObject> exported_object) override;
+
+ private:
+  // Called from ExportedObject when GetLicenseDataResponse() is exported as a
+  // D-Bus method or failed to be exported.
+  void OnExported(const std::string& interface_name,
+                  const std::string& method_name,
+                  bool success);
+
+  // Called from PluginVm process in response to a D-Bus request.
+  void GetLicenseData(dbus::MethodCall* method_call,
+                      dbus::ExportedObject::ResponseSender response_sender);
+
+  // Keep this last so that all weak pointers will be invalidated at the
+  // beginning of destruction.
+  base::WeakPtrFactory<PluginVmServiceProvider> weak_ptr_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(PluginVmServiceProvider);
+};
+
+}  // namespace chromeos
+
+#endif  // CHROME_BROWSER_CHROMEOS_DBUS_PLUGIN_VM_SERVICE_PROVIDER_H_
diff --git a/chrome/browser/chromeos/login/webview_login_browsertest.cc b/chrome/browser/chromeos/login/webview_login_browsertest.cc
index e850d0c..5446e5b 100644
--- a/chrome/browser/chromeos/login/webview_login_browsertest.cc
+++ b/chrome/browser/chromeos/login/webview_login_browsertest.cc
@@ -729,15 +729,8 @@
 // matching certificate.
 //
 // Disabled due to flaky timeouts: https://crbug.com/830337.
-#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER)
-#define MAYBE_SigninFrameAuthorityGivenNoMatchingCert \
-  DISABLED_SigninFrameAuthorityGivenNoMatchingCert
-#else
-#define MAYBE_SigninFrameAuthorityGivenNoMatchingCert \
-  SigninFrameAuthorityGivenNoMatchingCert
-#endif
 IN_PROC_BROWSER_TEST_F(WebviewClientCertsLoginTest,
-                       MAYBE_SigninFrameAuthorityGivenNoMatchingCert) {
+                       DISABLED_SigninFrameAuthorityGivenNoMatchingCert) {
   ASSERT_NO_FATAL_FAILURE(SetUpClientCertInSystemSlot());
   net::SpawnedTestServer::SSLOptions ssl_options;
   ssl_options.request_client_certificate = true;
diff --git a/chrome/browser/chromeos/plugin_vm/plugin_vm_util.cc b/chrome/browser/chromeos/plugin_vm/plugin_vm_util.cc
index 359bf823..daed843f 100644
--- a/chrome/browser/chromeos/plugin_vm/plugin_vm_util.cc
+++ b/chrome/browser/chromeos/plugin_vm/plugin_vm_util.cc
@@ -62,4 +62,13 @@
   return true;
 }
 
+std::string GetPluginVmLicenseKey() {
+  std::string plugin_vm_license_key;
+  if (!chromeos::CrosSettings::Get()->GetString(chromeos::kPluginVmLicenseKey,
+                                                &plugin_vm_license_key)) {
+    return std::string();
+  }
+  return plugin_vm_license_key;
+}
+
 }  // namespace plugin_vm
diff --git a/chrome/browser/chromeos/plugin_vm/plugin_vm_util.h b/chrome/browser/chromeos/plugin_vm/plugin_vm_util.h
index 1f6c628..eec3668 100644
--- a/chrome/browser/chromeos/plugin_vm/plugin_vm_util.h
+++ b/chrome/browser/chromeos/plugin_vm/plugin_vm_util.h
@@ -5,6 +5,8 @@
 #ifndef CHROME_BROWSER_CHROMEOS_PLUGIN_VM_PLUGIN_VM_UTIL_H_
 #define CHROME_BROWSER_CHROMEOS_PLUGIN_VM_PLUGIN_VM_UTIL_H_
 
+#include <string>
+
 class Profile;
 
 namespace plugin_vm {
@@ -16,6 +18,10 @@
 
 void ShowPluginVmLauncherView(Profile* profile);
 
+// Retrieves the license key to be used for PluginVm. If
+// none is set this will return an empty string.
+std::string GetPluginVmLicenseKey();
+
 }  // namespace plugin_vm
 
 #endif  // CHROME_BROWSER_CHROMEOS_PLUGIN_VM_PLUGIN_VM_UTIL_H_
diff --git a/chrome/browser/chromeos/plugin_vm/plugin_vm_util_unittest.cc b/chrome/browser/chromeos/plugin_vm/plugin_vm_util_unittest.cc
index 630b124..867cf7df 100644
--- a/chrome/browser/chromeos/plugin_vm/plugin_vm_util_unittest.cc
+++ b/chrome/browser/chromeos/plugin_vm/plugin_vm_util_unittest.cc
@@ -77,7 +77,8 @@
   EXPECT_TRUE(IsPluginVmAllowedForProfile(testing_profile_.get()));
 }
 
-TEST_F(PluginVmUtilTest, IsPluginVmConfiguredOnceAllConditionsAreMet) {
+TEST_F(PluginVmUtilTest,
+       IsPluginVmConfiguredReturnsTrueOnceAllConditionsAreMet) {
   EXPECT_FALSE(IsPluginVmConfigured(testing_profile_.get()));
 
   testing_profile_->GetPrefs()->SetBoolean(
@@ -86,4 +87,13 @@
   EXPECT_TRUE(IsPluginVmConfigured(testing_profile_.get()));
 }
 
+TEST_F(PluginVmUtilTest, GetPluginVmLicenseKey) {
+  // If no license key is set, the method should return the empty string.
+  EXPECT_EQ(std::string(), GetPluginVmLicenseKey());
+
+  const std::string kLicenseKey = "LICENSE_KEY";
+  settings_helper_.SetString(chromeos::kPluginVmLicenseKey, kLicenseKey);
+  EXPECT_EQ(kLicenseKey, GetPluginVmLicenseKey());
+}
+
 }  // namespace plugin_vm
diff --git a/chrome/browser/chromeos/policy/active_directory_policy_manager.cc b/chrome/browser/chromeos/policy/active_directory_policy_manager.cc
index 6e0baa5..df63cab 100644
--- a/chrome/browser/chromeos/policy/active_directory_policy_manager.cc
+++ b/chrome/browser/chromeos/policy/active_directory_policy_manager.cc
@@ -224,11 +224,8 @@
     return;
   }
 
-  // TODO(rsorokin): remove "machine_name" in M72 (see
-  // https://crbug.com/875876).
   chromeos::VariableExpander expander(
-      {{"MACHINE_NAME", policy->machine_name()},
-       {"machine_name", policy->machine_name()}});
+      {{"MACHINE_NAME", policy->machine_name()}});
   for (const char* policy_name : kPoliciesToExpand) {
     base::Value* value = policy_map->GetMutableValue(policy_name);
     if (value) {
diff --git a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
index ac65679..80ab8275 100644
--- a/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_status_collector_browsertest.cc
@@ -149,7 +149,7 @@
                                       is_enterprise_device) {
     // Set the baseline time to a fixed value (1 hour after day start) to
     // prevent test flakiness due to a single activity period spanning two days.
-    SetBaselineTime(Time::Now().LocalMidnight() + activity_day_start + kHour);
+    SetBaselineTime(Time::Now().UTCMidnight() + activity_day_start + kHour);
   }
 
   void UpdateUsageTime() { UpdateChildUsageTime(); }
diff --git a/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_android.cc b/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_android.cc
index a44601e..b3c9da2 100644
--- a/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_android.cc
+++ b/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_android.cc
@@ -166,10 +166,7 @@
     const base::android::JavaRef<jobject>& obj,
     const base::android::JavaRef<jstring>& url) {
   if (url.is_null() || !Settings()->IsDataReductionProxyEnabled() ||
-      !previews::params::ArePreviewsAllowed() ||
-      data_reduction_proxy::params::IsIncludedInHoldbackFieldTrial() ||
-      !base::FeatureList::IsEnabled(data_reduction_proxy::features::
-                                        kDataReductionProxyDecidesTransform)) {
+      !previews::params::ArePreviewsAllowed()) {
     return ScopedJavaLocalRef<jstring>(url);
   }
 
@@ -199,10 +196,22 @@
 
   GURL wrapped_gurl(wrapped_url_str);
   if (!wrapped_gurl.is_valid() || wrapped_gurl.is_empty() ||
-      !wrapped_gurl.SchemeIs("http")) {
+      (!wrapped_gurl.SchemeIs("http") && !wrapped_gurl.SchemeIs("https"))) {
     return ScopedJavaLocalRef<jstring>(url);
   }
 
+  // For http:// webpages that are fetched via data saver proxy, do not
+  // rewrite the URL if the use of proxy or previews delivered via proxy is
+  // disabled.
+  if (wrapped_gurl.SchemeIs("http")) {
+    if (data_reduction_proxy::params::IsIncludedInHoldbackFieldTrial() ||
+        !base::FeatureList::IsEnabled(
+            data_reduction_proxy::features::
+                kDataReductionProxyDecidesTransform)) {
+      return ScopedJavaLocalRef<jstring>(url);
+    }
+  }
+
   return base::android::ConvertUTF8ToJavaString(env, wrapped_gurl.spec());
 }
 
diff --git a/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_unittest_android.cc b/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_unittest_android.cc
index 0c12257..d74a518 100644
--- a/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_unittest_android.cc
+++ b/chrome/browser/data_reduction_proxy/data_reduction_proxy_settings_unittest_android.cc
@@ -200,7 +200,7 @@
 };
 
 TEST_F(DataReductionProxySettingsAndroidTest,
-       MaybeRewriteWebliteUrlDefaultParams) {
+       MaybeRewriteWebliteUrlDefaultParams_Http) {
   base::test::ScopedFeatureList scoped_list;
   scoped_list.InitAndEnableFeature(
       data_reduction_proxy::features::kDataReductionProxyDecidesTransform);
@@ -242,11 +242,51 @@
   EXPECT_EQ(
       "http://googleweblight.com/i?u=notaurl",
       MaybeRewriteWebliteUrlAsUTF8("http://googleweblight.com/i?u=notaurl"));
+}
 
-  // A weblite URL that wraps an "https://" URL should not be rewritten.
-  EXPECT_EQ("http://googleweblight.com/i?u=https://example.com/",
+TEST_F(DataReductionProxySettingsAndroidTest,
+       MaybeRewriteWebliteUrlDefaultParams_Https) {
+  base::test::ScopedFeatureList scoped_list;
+  scoped_list.InitAndEnableFeature(
+      data_reduction_proxy::features::kDataReductionProxyDecidesTransform);
+  Init();
+  drp_test_context()->EnableDataReductionProxyWithSecureProxyCheckSuccess();
+
+  EXPECT_EQ("https://example.com/",
             MaybeRewriteWebliteUrlAsUTF8(
-                "http://googleweblight.com/i?u=https://example.com/"));
+                "https://googleweblight.com/i?u=https://example.com/"));
+  EXPECT_EQ("https://example.com/foo",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://googleweblight.com/i?u=https://example.com/foo"));
+  EXPECT_EQ("https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://googleweblight.com/i?u=https://example.com/&foo=bar"));
+
+  EXPECT_TRUE(android_settings()
+                  ->MaybeRewriteWebliteUrl(env(), nullptr, nullptr)
+                  .is_null());
+
+  EXPECT_EQ("not a url", MaybeRewriteWebliteUrlAsUTF8("not a url"));
+  EXPECT_EQ("", MaybeRewriteWebliteUrlAsUTF8(""));
+  EXPECT_EQ("https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8("https://example.com/"));
+
+  EXPECT_EQ("https://otherhost.com/i?u=https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://otherhost.com/i?u=https://example.com/"));
+
+  EXPECT_EQ("https://googleweblight.com/otherpath?u=https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://googleweblight.com/otherpath?u=https://example.com/"));
+
+  EXPECT_EQ(
+      "https://googleweblight.com/i?otherparam=https://example.com/",
+      MaybeRewriteWebliteUrlAsUTF8(
+          "https://googleweblight.com/i?otherparam=https://example.com/"));
+
+  EXPECT_EQ(
+      "https://googleweblight.com/i?u=notaurl",
+      MaybeRewriteWebliteUrlAsUTF8("https://googleweblight.com/i?u=notaurl"));
 }
 
 TEST_F(DataReductionProxySettingsAndroidTest,
@@ -259,6 +299,10 @@
   EXPECT_EQ("http://googleweblight.com/i?u=http://example.com/",
             MaybeRewriteWebliteUrlAsUTF8(
                 "http://googleweblight.com/i?u=http://example.com/"));
+
+  EXPECT_EQ("https://googleweblight.com/i?u=https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://googleweblight.com/i?u=https://example.com/"));
 }
 
 TEST_F(DataReductionProxySettingsAndroidTest,
@@ -273,6 +317,11 @@
   EXPECT_EQ("http://googleweblight.com/i?u=http://example.com/",
             MaybeRewriteWebliteUrlAsUTF8(
                 "http://googleweblight.com/i?u=http://example.com/"));
+
+  // DataReductionProxyDecidesTransform should not affect https webpages.
+  EXPECT_EQ("https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://googleweblight.com/i?u=https://example.com/"));
 }
 
 TEST_F(DataReductionProxySettingsAndroidTest,
@@ -301,6 +350,11 @@
   EXPECT_EQ("http://googleweblight.com/i?u=http://example.com/",
             MaybeRewriteWebliteUrlAsUTF8(
                 "http://googleweblight.com/i?u=http://example.com/"));
+
+  // DataCompressionProxyHoldback should not affect https webpages.
+  EXPECT_EQ("https://example.com/",
+            MaybeRewriteWebliteUrlAsUTF8(
+                "https://googleweblight.com/i?u=https://example.com/"));
 }
 
 TEST_F(DataReductionProxySettingsAndroidTest,
diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc
index 816eed3..a820398 100644
--- a/chrome/browser/download/download_browsertest.cc
+++ b/chrome/browser/download/download_browsertest.cc
@@ -1228,7 +1228,7 @@
   CheckDownload(browser(), file, file);
 }
 
-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+#if defined(OS_WIN)
 // Download a file and confirm that the file is correctly quarantined.
 //
 // TODO(asanka): We should enable the test on Mac as well, but currently
@@ -1252,9 +1252,7 @@
   EXPECT_TRUE(download::IsFileQuarantined(downloaded_file, url, GURL()));
   CheckDownload(browser(), file, file);
 }
-#endif
 
-#if defined(OS_WIN)
 // A couple of Windows specific tests to make sure we respect OS specific
 // restrictions on Mark-Of-The-Web can be applied. While Chrome doesn't directly
 // apply these policies, Chrome still needs to make sure the correct APIs are
diff --git a/chrome/browser/extensions/api/identity/identity_apitest.cc b/chrome/browser/extensions/api/identity/identity_apitest.cc
index a9ca97ae..efa3a1e 100644
--- a/chrome/browser/extensions/api/identity/identity_apitest.cc
+++ b/chrome/browser/extensions/api/identity/identity_apitest.cc
@@ -32,17 +32,23 @@
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/account_fetcher_service_factory.h"
+#include "chrome/browser/signin/account_reconcilor_factory.h"
+#include "chrome/browser/signin/fake_gaia_cookie_manager_service_builder.h"
+#include "chrome/browser/signin/gaia_cookie_manager_service_factory.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/signin/identity_test_environment_profile_adaptor.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/extensions/api/identity.h"
+#include "chrome/common/pref_names.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "components/crx_file/id_util.h"
 #include "components/guest_view/browser/guest_view_base.h"
 #include "components/prefs/pref_service.h"
 #include "components/signin/core/browser/account_fetcher_service.h"
+#include "components/signin/core/browser/account_reconcilor.h"
+#include "components/signin/core/browser/fake_gaia_cookie_manager_service.h"
 #include "components/signin/core/browser/signin_pref_names.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
@@ -50,6 +56,7 @@
 #include "extensions/browser/api_test_utils.h"
 #include "extensions/common/extension_builder.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
+#include "services/identity/public/cpp/accounts_mutator.h"
 #include "services/identity/public/cpp/identity_manager.h"
 #include "services/identity/public/cpp/identity_test_utils.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -344,17 +351,49 @@
   }
 #endif
 
-  void ShowLoginPopup() override {
+  // Fix auth error on secondary account or add a new account.
+  void FixOrAddSecondaryAccount() {
+    identity::IdentityManager* identity_manager =
+        IdentityManagerFactory::GetForProfile(GetProfile());
+    std::vector<AccountInfo> accounts =
+        identity_manager->GetAccountsWithRefreshTokens();
+    std::string primary_id = identity_manager->GetPrimaryAccountId();
+    bool fixed_auth_error = false;
+    for (const auto& account_info : accounts) {
+      std::string account_id = account_info.account_id;
+      if (account_id == primary_id)
+        continue;
+      if (identity_manager->HasAccountWithRefreshTokenInPersistentErrorState(
+              account_id)) {
+        identity_manager->GetAccountsMutator()->AddOrUpdateAccount(
+            account_info.gaia, account_info.email, "token",
+            account_info.is_under_advanced_protection,
+            signin_metrics::SourceForRefreshTokenOperation::kUnknown);
+        fixed_auth_error = true;
+      }
+    }
+    if (!fixed_auth_error) {
+      identity::MakeAccountAvailable(identity_manager, "secondary@example.com");
+    }
+  }
+
+  // Simulate signin through a login prompt.
+  void ShowExtensionLoginPrompt() override {
     EXPECT_FALSE(login_ui_shown_);
     login_ui_shown_ = true;
     if (login_ui_result_) {
-      ::identity::AccountState account_state;
-      account_state.has_refresh_token = true;
-      account_state.is_primary_account = true;
-      OnPrimaryAccountAvailable(
-          IdentityManagerFactory::GetForProfile(GetProfile())
-              ->GetPrimaryAccountInfo(),
-          account_state);
+      identity::IdentityManager* identity_manager =
+          IdentityManagerFactory::GetForProfile(GetProfile());
+      if (IdentityAPI::GetFactoryInstance()
+              ->Get(GetProfile())
+              ->AreExtensionsRestrictedToPrimaryAccount()) {
+        // Set a primary account.
+        ASSERT_FALSE(identity_manager->HasPrimaryAccount());
+        identity::MakeAccountAvailable(identity_manager, "primary@example.com");
+        identity::SetPrimaryAccount(identity_manager, "primary@example.com");
+      } else {
+        FixOrAddSecondaryAccount();
+      }
     } else {
       SigninFailed();
     }
@@ -424,6 +463,11 @@
     IdentityTestEnvironmentProfileAdaptor::
         SetIdentityTestEnvironmentFactoriesOnBrowserContext(context);
 
+    GaiaCookieManagerServiceFactory::GetInstance()->SetTestingFactory(
+        context,
+        base::BindRepeating(&BuildFakeGaiaCookieManagerServiceWithURLLoader,
+                            &test_url_loader_factory_));
+
     // Ensure that AccountFetcherService is (1) created at all and (2) created
     // early enough for it to observe the Profile initialization process and
     // loading of tokens by PO2TS. Explicitly forcing this setup (which happens
@@ -474,6 +518,8 @@
     return identity_test_env_profile_adaptor_->identity_test_env();
   }
 
+  network::TestURLLoaderFactory test_url_loader_factory_;
+
   std::unique_ptr<IdentityTestEnvironmentProfileAdaptor>
       identity_test_env_profile_adaptor_;
 
@@ -698,10 +744,6 @@
 #endif
   }
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    IdentityTestWithSignin::SetUpCommandLine(command_line);
-  }
-
   std::string IssueLoginAccessTokenForAccount(const std::string& account_id) {
     std::string access_token = "access_token-" + account_id;
     identity_test_env()
@@ -717,6 +759,12 @@
   void SetUpOnMainThread() override {
     IdentityTestWithSignin::SetUpOnMainThread();
     identity_test_env()->identity_manager()->AddDiagnosticsObserver(this);
+
+    FakeGaiaCookieManagerService* fake_gcms =
+        static_cast<FakeGaiaCookieManagerService*>(
+            GaiaCookieManagerServiceFactory::GetForProfile(
+                browser()->profile()));
+    fake_gcms->SetListAccountsResponseNoAccounts();
   }
 
   void TearDownOnMainThread() override {
@@ -757,8 +805,14 @@
     return identity_test_env()->identity_manager()->GetPrimaryAccountId();
   }
 
+  // Sets a cached token for the primary account.
   void SetCachedToken(const IdentityTokenCacheValue& token_data) {
-    ExtensionTokenKey key(extension_id_, GetPrimaryAccountId(), oauth_scopes_);
+    SetCachedTokenForAccount(GetPrimaryAccountId(), token_data);
+  }
+
+  void SetCachedTokenForAccount(const std::string account_id,
+                                const IdentityTokenCacheValue& token_data) {
+    ExtensionTokenKey key(extension_id_, account_id, oauth_scopes_);
     id_api()->SetCachedToken(key, token_data);
   }
 
@@ -843,8 +897,17 @@
 }
 
 IN_PROC_BROWSER_TEST_F(GetAuthTokenFunctionTest,
+                       PRE_InteractiveNotSignedAndSigninNotAllowed) {
+  // kSigninAllowed cannot be set after the profile creation. Use
+  // kSigninAllowedOnNextStartup instead.
+  browser()->profile()->GetPrefs()->SetBoolean(
+      prefs::kSigninAllowedOnNextStartup, false);
+}
+
+IN_PROC_BROWSER_TEST_F(GetAuthTokenFunctionTest,
                        InteractiveNotSignedAndSigninNotAllowed) {
-  browser()->profile()->GetPrefs()->SetBoolean(prefs::kSigninAllowed, false);
+  ASSERT_FALSE(
+      browser()->profile()->GetPrefs()->GetBoolean(prefs::kSigninAllowed));
   scoped_refptr<FakeGetAuthTokenFunction> func(new FakeGetAuthTokenFunction());
   func->set_extension(CreateExtension(CLIENT_ID | SCOPES));
   func->set_login_ui_result(false);
@@ -1469,6 +1532,52 @@
   EXPECT_FALSE(func->scope_ui_shown());
 }
 
+// Checks that the first account in Gaia cookie can be used when extensions are
+// not restricted to the primary account.
+IN_PROC_BROWSER_TEST_F(GetAuthTokenFunctionTest,
+                       NonInteractiveCacheHitSecondary) {
+  Profile* profile = browser()->profile();
+  // Lock the reconcilor so that Google cookies can be configured manually.
+  AccountReconcilor::Lock reconcilor_lock(
+      AccountReconcilorFactory::GetForProfile(profile));
+  // Add a secondary account in Chrome and in cookies.
+  AccountInfo account_info =
+      identity_test_env()->MakeAccountAvailable("email@example.com");
+  content::RunAllTasksUntilIdle();  // Flush pending ListAccounts calls.
+  FakeGaiaCookieManagerService* fake_gcms =
+      static_cast<FakeGaiaCookieManagerService*>(
+          GaiaCookieManagerServiceFactory::GetForProfile(profile));
+  fake_gcms->SetListAccountsResponseOneAccount(account_info.email,
+                                               account_info.gaia);
+  fake_gcms->set_list_accounts_stale_for_testing(true);
+
+  scoped_refptr<const Extension> extension(CreateExtension(CLIENT_ID | SCOPES));
+  scoped_refptr<FakeGetAuthTokenFunction> func(new FakeGetAuthTokenFunction());
+  func->set_extension(extension.get());
+
+  // pre-populate the cache with a token
+  IdentityTokenCacheValue token(kAccessToken,
+                                base::TimeDelta::FromSeconds(3600));
+  SetCachedTokenForAccount(account_info.account_id, token);
+
+  if (id_api()->AreExtensionsRestrictedToPrimaryAccount()) {
+    // Fail when there is no primary account.
+    std::string error =
+        utils::RunFunctionAndReturnError(func.get(), "[{}]", browser());
+    EXPECT_EQ(std::string(errors::kUserNotSignedIn), error);
+  } else {
+    // Use the account from Gaia cookies.
+    std::unique_ptr<base::Value> value(
+        utils::RunFunctionAndReturnSingleResult(func.get(), "[{}]", browser()));
+    std::string access_token;
+    EXPECT_TRUE(value->GetAsString(&access_token));
+    EXPECT_EQ(std::string(kAccessToken), access_token);
+  }
+
+  EXPECT_FALSE(func->login_ui_shown());
+  EXPECT_FALSE(func->scope_ui_shown());
+}
+
 IN_PROC_BROWSER_TEST_F(GetAuthTokenFunctionTest,
                        NonInteractiveIssueAdviceCacheHit) {
   SignIn("primary@example.com");
@@ -1551,7 +1660,7 @@
   EXPECT_EQ(std::string(kAccessToken), access_token);
   EXPECT_TRUE(func->login_ui_shown());
   EXPECT_TRUE(func->scope_ui_shown());
-  EXPECT_EQ(IdentityTokenCacheValue::CACHE_STATUS_TOKEN,
+  EXPECT_EQ(IdentityTokenCacheValue::CACHE_STATUS_NOTFOUND,
             GetCachedToken(std::string()).status());
 }
 #endif
@@ -1857,14 +1966,53 @@
   std::string error = utils::RunFunctionAndReturnError(
       func.get(),
       "[{\"account\": { \"id\": \"gaia_id_for_secondary_example.com\" }, "
-      "\"interactive\": "
-      "true}]",
+      "\"interactive\": true}]",
       browser());
   EXPECT_EQ(std::string(errors::kUserRejected), error);
   EXPECT_FALSE(func->login_ui_shown());
   EXPECT_TRUE(func->scope_ui_shown());
 }
 
+IN_PROC_BROWSER_TEST_F(GetAuthTokenFunctionTest,
+                       MultiSecondaryInteractiveInvalidToken) {
+  // Setup a secondary account with no valid refresh token, and try to get a
+  // auth token for it.
+  SignIn("primary@example.com");
+  AccountInfo secondary_account =
+      identity_test_env()->MakeAccountAvailable("secondary@example.com");
+  identity_test_env()->SetInvalidRefreshTokenForAccount(
+      secondary_account.account_id);
+
+  scoped_refptr<const Extension> extension(CreateExtension(CLIENT_ID | SCOPES));
+  scoped_refptr<FakeGetAuthTokenFunction> func(new FakeGetAuthTokenFunction());
+  func->set_extension(extension.get());
+  func->set_login_ui_result(true);
+  func->set_mint_token_result(TestOAuth2MintTokenFlow::ISSUE_ADVICE_SUCCESS);
+
+  const char kFunctionParams[] =
+      "[{\"account\": { \"id\": \"gaia_id_for_secondary@example.com\" }, "
+      "\"interactive\": true}]";
+
+  if (id_api()->AreExtensionsRestrictedToPrimaryAccount()) {
+    // Fail if extensions are restricted to the primary account.
+    std::string error = utils::RunFunctionAndReturnError(
+        func.get(), kFunctionParams, browser());
+    EXPECT_EQ(std::string(errors::kUserNotSignedIn), error);
+    EXPECT_FALSE(func->login_ui_shown());
+    EXPECT_FALSE(func->scope_ui_shown());
+  } else {
+    // Extensions can show the login UI for secondary accounts, and get the auth
+    // token.
+    std::unique_ptr<base::Value> value(utils::RunFunctionAndReturnSingleResult(
+        func.get(), kFunctionParams, browser()));
+    std::string access_token;
+    EXPECT_TRUE(value->GetAsString(&access_token));
+    EXPECT_EQ(std::string(kAccessToken), access_token);
+    EXPECT_TRUE(func->login_ui_shown());
+    EXPECT_TRUE(func->scope_ui_shown());
+  }
+}
+
 IN_PROC_BROWSER_TEST_F(GetAuthTokenFunctionTest, ScopesDefault) {
   SignIn("primary@example.com");
   scoped_refptr<FakeGetAuthTokenFunction> func(new FakeGetAuthTokenFunction());
diff --git a/chrome/browser/extensions/api/identity/identity_get_auth_token_function.cc b/chrome/browser/extensions/api/identity/identity_get_auth_token_function.cc
index 6d6258a..e48abac 100644
--- a/chrome/browser/extensions/api/identity/identity_get_auth_token_function.cc
+++ b/chrome/browser/extensions/api/identity/identity_get_auth_token_function.cc
@@ -17,7 +17,6 @@
 #include "chrome/browser/extensions/api/identity/identity_api.h"
 #include "chrome/browser/extensions/api/identity/identity_constants.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/signin/account_tracker_service_factory.h"
 #include "chrome/browser/signin/chrome_device_id_helper.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
@@ -25,7 +24,6 @@
 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
 #include "chrome/common/extensions/api/identity.h"
 #include "components/prefs/pref_service.h"
-#include "components/signin/core/browser/account_tracker_service.h"
 #include "components/signin/core/browser/profile_oauth2_token_service.h"
 #include "components/signin/core/browser/signin_pref_names.h"
 #include "content/public/common/service_manager_connection.h"
@@ -44,7 +42,6 @@
 #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h"
 #include "components/user_manager/user_manager.h"
 #include "google_apis/gaia/gaia_constants.h"
-#include "google_apis/gaia/google_service_auth_error.h"
 #endif
 
 namespace extensions {
@@ -77,7 +74,11 @@
 #endif
       interactive_(false),
       should_prompt_for_scopes_(false),
-      should_prompt_for_signin_(false) {
+      should_prompt_for_signin_(false),
+      token_key_(/*extension_id=*/std::string(),
+                 /*account_id=*/std::string(),
+                 /*scopes=*/std::set<std::string>()),
+      scoped_identity_manager_observer_(this) {
 }
 
 IdentityGetAuthTokenFunction::~IdentityGetAuthTokenFunction() {
@@ -135,18 +136,30 @@
     return false;
   }
 
+  token_key_.scopes = scopes;
+  token_key_.extension_id = extension()->id();
+
   // From here on out, results must be returned asynchronously.
   StartAsyncRun();
 
-  GetMojoIdentityManager()->GetPrimaryAccountInfo(base::BindOnce(
-      &IdentityGetAuthTokenFunction::OnReceivedPrimaryAccountInfo, this, scopes,
-      gaia_id));
+  if (gaia_id.empty() || IsPrimaryAccountOnly()) {
+    // Try the primary account.
+    GetMojoIdentityManager()->GetPrimaryAccountInfo(base::BindOnce(
+        &IdentityGetAuthTokenFunction::OnReceivedPrimaryAccountInfo, this,
+        gaia_id));
+  } else {
+    // Get the AccountInfo for the account that the extension wishes to use.
+    GetMojoIdentityManager()->GetAccountInfoFromGaiaId(
+        gaia_id,
+        base::BindOnce(
+            &IdentityGetAuthTokenFunction::OnReceivedExtensionAccountInfo, this,
+            gaia_id));
+  }
 
   return true;
 }
 
 void IdentityGetAuthTokenFunction::OnReceivedPrimaryAccountInfo(
-    const std::set<std::string>& scopes,
     const std::string& extension_gaia_id,
     const base::Optional<AccountInfo>& account_info,
     const ::identity::AccountState& account_state) {
@@ -154,50 +167,44 @@
   if (account_info)
     primary_gaia_id = account_info->gaia;
 
+  bool primary_account_only = IsPrimaryAccountOnly();
+
   // Detect and handle the case where the extension is using an account other
   // than the primary account.
-  if (!extension_gaia_id.empty() && extension_gaia_id != primary_gaia_id) {
-    bool primary_account_only = IdentityAPI::GetFactoryInstance()
-                                    ->Get(GetProfile())
-                                    ->AreExtensionsRestrictedToPrimaryAccount();
-    if (primary_account_only) {
-      // TODO(courage): should this be a different error?
-      CompleteFunctionWithError(identity_constants::kUserNotSignedIn);
-      return;
-    }
-
-    // Get the AccountInfo for the account that the extension wishes to use.
-    mojo_identity_manager_->GetAccountInfoFromGaiaId(
-        extension_gaia_id,
-        base::BindOnce(
-            &IdentityGetAuthTokenFunction::OnReceivedExtensionAccountInfo, this,
-            false /* not primary account */, scopes));
-    return;
-  }
-
-  // The extension is using the primary account.
-  OnReceivedExtensionAccountInfo(true /* primary account */, scopes,
-                                 account_info, account_state);
-}
-
-void IdentityGetAuthTokenFunction::OnReceivedExtensionAccountInfo(
-    bool is_primary_account,
-    const std::set<std::string>& scopes,
-    const base::Optional<AccountInfo>& account_info,
-    const ::identity::AccountState& account_state) {
-  std::string account_id;
-  if (account_info)
-    account_id = account_info->account_id;
-
-  if (!is_primary_account && account_id.empty()) {
-    // It is not possible to sign in the user to an account other than the
-    // primary account, so just error out here.
+  if (primary_account_only && !extension_gaia_id.empty() &&
+      extension_gaia_id != primary_gaia_id) {
+    // TODO(courage): should this be a different error?
     CompleteFunctionWithError(identity_constants::kUserNotSignedIn);
     return;
   }
 
-  token_key_.reset(
-      new ExtensionTokenKey(extension()->id(), account_id, scopes));
+  if (primary_account_only || !primary_gaia_id.empty()) {
+    // The extension is using the primary account.
+    OnReceivedExtensionAccountInfo(primary_gaia_id, account_info,
+                                   account_state);
+  } else {
+    // No primary account, try the first account in cookies.
+    DCHECK_EQ(AccountListeningMode::kNotListening, account_listening_mode_);
+    account_listening_mode_ = AccountListeningMode::kListeningCookies;
+    identity::IdentityManager* identity_manager =
+        IdentityManagerFactory::GetForProfile(GetProfile());
+    identity::AccountsInCookieJarInfo accounts_in_cookies =
+        identity_manager->GetAccountsInCookieJar();
+    if (accounts_in_cookies.accounts_are_fresh) {
+      OnAccountsInCookieUpdated(accounts_in_cookies,
+                                GoogleServiceAuthError::AuthErrorNone());
+    } else {
+      scoped_identity_manager_observer_.Add(identity_manager);
+    }
+  }
+}
+
+void IdentityGetAuthTokenFunction::OnReceivedExtensionAccountInfo(
+    const std::string& extension_gaia_id,
+    const base::Optional<AccountInfo>& account_info,
+    const identity::AccountState& account_state) {
+  DCHECK(!account_info || (account_info->gaia == extension_gaia_id));
+  token_key_.account_id = account_info ? account_info->account_id : "";
 
 #if defined(OS_CHROMEOS)
   policy::BrowserPolicyConnectorChromeOS* connector =
@@ -232,6 +239,36 @@
   }
 }
 
+void IdentityGetAuthTokenFunction::OnAccountsInCookieUpdated(
+    const identity::AccountsInCookieJarInfo& accounts_in_cookie_jar_info,
+    const GoogleServiceAuthError& error) {
+  if (account_listening_mode_ != AccountListeningMode::kListeningCookies)
+    return;
+
+  // Stop listening cookies.
+  account_listening_mode_ = AccountListeningMode::kNotListening;
+  scoped_identity_manager_observer_.RemoveAll();
+
+  const std::vector<gaia::ListedAccount>& accounts =
+      accounts_in_cookie_jar_info.signed_in_accounts;
+
+  if (!accounts.empty()) {
+    const gaia::ListedAccount& account = accounts[0];
+    // If the account is in auth error, it won't be in the identity manager.
+    // Save the email now to use as email hint for the login prompt.
+    email_for_default_web_account_ = account.email;
+    GetMojoIdentityManager()->GetAccountInfoFromGaiaId(
+        account.gaia_id,
+        base::BindOnce(
+            &IdentityGetAuthTokenFunction::OnReceivedExtensionAccountInfo, this,
+            account.gaia_id));
+  } else {
+    OnReceivedExtensionAccountInfo(
+        /*extension_gaia_id=*/std::string(), base::Optional<AccountInfo>(),
+        identity::AccountState());
+  }
+}
+
 void IdentityGetAuthTokenFunction::StartAsyncRun() {
   // Balanced in CompleteAsyncRun
   AddRef();
@@ -274,10 +311,9 @@
 
   auto* identity_manager = IdentityManagerFactory::GetForProfile(GetProfile());
   bool account_needs_reauth =
-      !identity_manager->HasAccountWithRefreshToken(token_key_->account_id) ||
+      !identity_manager->HasAccountWithRefreshToken(token_key_.account_id) ||
       identity_manager->HasAccountWithRefreshTokenInPersistentErrorState(
-          token_key_->account_id);
-
+          token_key_.account_id);
   return account_needs_reauth;
 }
 
@@ -307,17 +343,31 @@
     return;
   }
 
-  // Start listening for the primary account being available and display a
-  // login prompt.
-  GetMojoIdentityManager()->GetPrimaryAccountWhenAvailable(
-      base::BindOnce(&IdentityGetAuthTokenFunction::OnPrimaryAccountAvailable,
-                     base::Unretained(this)));
+  if (IsPrimaryAccountOnly()) {
+    // Start listening for the primary account being available.
+    GetMojoIdentityManager()->GetPrimaryAccountWhenAvailable(
+        base::BindOnce(&IdentityGetAuthTokenFunction::OnPrimaryAccountAvailable,
+                       base::Unretained(this)));
+  } else {
+    // Start waiting for a refresh token being available.
+    DCHECK_EQ(AccountListeningMode::kNotListening, account_listening_mode_);
+    account_listening_mode_ = AccountListeningMode::kListeningTokens;
+    scoped_identity_manager_observer_.Add(
+        IdentityManagerFactory::GetForProfile(GetProfile()));
+  }
 
-  ShowLoginPopup();
+  ShowExtensionLoginPrompt();
 }
 
 void IdentityGetAuthTokenFunction::StartMintTokenFlow(
     IdentityMintRequestQueue::MintType type) {
+#if !defined(OS_CHROMEOS)
+  // ChromeOS in kiosk mode may start the mint token flow without account.
+  DCHECK(!token_key_.account_id.empty());
+  DCHECK(ProfileOAuth2TokenServiceFactory::GetForProfile(GetProfile())
+             ->RefreshTokenIsAvailable(token_key_.account_id));
+#endif
+
   mint_token_flow_type_ = type;
 
   // Flows are serialized to prevent excessive traffic to GAIA, and
@@ -334,13 +384,13 @@
       return;
     }
     if (!id_api->mint_queue()->empty(
-            IdentityMintRequestQueue::MINT_TYPE_INTERACTIVE, *token_key_)) {
+            IdentityMintRequestQueue::MINT_TYPE_INTERACTIVE, token_key_)) {
       // Another call is going through a consent UI.
       CompleteFunctionWithError(identity_constants::kNoGrant);
       return;
     }
   }
-  id_api->mint_queue()->RequestStart(type, *token_key_, this);
+  id_api->mint_queue()->RequestStart(type, token_key_, this);
 }
 
 void IdentityGetAuthTokenFunction::CompleteMintTokenFlow() {
@@ -349,7 +399,7 @@
   extensions::IdentityAPI::GetFactoryInstance()
       ->Get(GetProfile())
       ->mint_queue()
-      ->RequestComplete(type, *token_key_, this);
+      ->RequestComplete(type, token_key_, this);
 }
 
 void IdentityGetAuthTokenFunction::StartMintToken(
@@ -363,7 +413,7 @@
 
   const OAuth2Info& oauth2_info = OAuth2Info::GetOAuth2Info(extension());
   IdentityAPI* id_api = IdentityAPI::GetFactoryInstance()->Get(GetProfile());
-  IdentityTokenCacheValue cache_entry = id_api->GetCachedToken(*token_key_);
+  IdentityTokenCacheValue cache_entry = id_api->GetCachedToken(token_key_);
   IdentityTokenCacheValue::CacheValueStatus cache_status =
       cache_entry.status();
 
@@ -436,8 +486,9 @@
 
   IdentityTokenCacheValue token(access_token,
                                 base::TimeDelta::FromSeconds(time_to_live));
-  IdentityAPI::GetFactoryInstance()->Get(GetProfile())->SetCachedToken(
-      *token_key_, token);
+  IdentityAPI::GetFactoryInstance()
+      ->Get(GetProfile())
+      ->SetCachedToken(token_key_, token);
 
   CompleteMintTokenFlow();
   CompleteFunctionWithResult(access_token);
@@ -484,8 +535,9 @@
                                this,
                                "OnIssueAdviceSuccess");
 
-  IdentityAPI::GetFactoryInstance()->Get(GetProfile())->SetCachedToken(
-      *token_key_, IdentityTokenCacheValue(issue_advice));
+  IdentityAPI::GetFactoryInstance()
+      ->Get(GetProfile())
+      ->SetCachedToken(token_key_, IdentityTokenCacheValue(issue_advice));
   CompleteMintTokenFlow();
 
   should_prompt_for_signin_ = false;
@@ -495,16 +547,34 @@
   StartMintTokenFlow(IdentityMintRequestQueue::MINT_TYPE_INTERACTIVE);
 }
 
+void IdentityGetAuthTokenFunction::OnRefreshTokenUpdatedForAccount(
+    const AccountInfo& account_info) {
+  if (account_listening_mode_ != AccountListeningMode::kListeningTokens)
+    return;
+
+  // No specific account id was requested, use the first one we find.
+  if (token_key_.account_id.empty())
+    token_key_.account_id = account_info.account_id;
+
+  if (token_key_.account_id == account_info.account_id) {
+    // Stop listening tokens.
+    account_listening_mode_ = AccountListeningMode::kNotListening;
+    scoped_identity_manager_observer_.RemoveAll();
+
+    StartMintTokenFlow(IdentityMintRequestQueue::MINT_TYPE_NONINTERACTIVE);
+  }
+}
+
 void IdentityGetAuthTokenFunction::OnPrimaryAccountAvailable(
     const AccountInfo& account_info,
     const ::identity::AccountState& account_state) {
   TRACE_EVENT_ASYNC_STEP_PAST0("identity", "IdentityGetAuthTokenFunction", this,
                                "OnPrimaryAccountAvailable");
 
-  // If there was no account associated this profile before the
-  // sign-in, we may not have an account_id in the token_key yet.
-  if (token_key_->account_id.empty()) {
-    token_key_->account_id = account_info.account_id;
+  // If there was no account associated with this profile before the sign-in,
+  // we may not have an account_id in the token_key yet.
+  if (token_key_.account_id.empty()) {
+    token_key_.account_id = account_info.account_id;
   }
 
   StartMintTokenFlow(IdentityMintRequestQueue::MINT_TYPE_NONINTERACTIVE);
@@ -577,8 +647,9 @@
   if (!expiration.empty() && base::StringToInt(expiration, &time_to_live)) {
     IdentityTokenCacheValue token_value(
         access_token, base::TimeDelta::FromSeconds(time_to_live));
-    IdentityAPI::GetFactoryInstance()->Get(GetProfile())->SetCachedToken(
-        *token_key_, token_value);
+    IdentityAPI::GetFactoryInstance()
+        ->Get(GetProfile())
+        ->SetCachedToken(token_key_, token_value);
   }
 
   CompleteMintTokenFlow();
@@ -596,7 +667,7 @@
   if (access_token) {
     TRACE_EVENT_ASYNC_STEP_PAST1("identity", "IdentityGetAuthTokenFunction",
                                  this, "OnGetAccessTokenComplete", "account",
-                                 token_key_->account_id);
+                                 token_key_.account_id);
 
     StartGaiaRequest(access_token.value());
   } else {
@@ -645,15 +716,11 @@
   device_access_token_request_.reset();
   token_key_account_access_token_fetcher_.reset();
   mojo_identity_manager_.reset();
-
-  // Note that if |token_key_| hasn't yet been populated then this instance has
-  // definitely not made a request with the MintQueue.
-  if (token_key_) {
-    extensions::IdentityAPI::GetFactoryInstance()
-        ->Get(GetProfile())
-        ->mint_queue()
-        ->RequestCancel(*token_key_, this);
-  }
+  scoped_identity_manager_observer_.RemoveAll();
+  extensions::IdentityAPI::GetFactoryInstance()
+      ->Get(GetProfile())
+      ->mint_queue()
+      ->RequestCancel(token_key_, this);
 
   CompleteFunctionWithError(identity_constants::kCanceled);
 }
@@ -695,7 +762,7 @@
       token_key_account_access_token_fetcher_ =
           IdentityManagerFactory::GetForProfile(GetProfile())
               ->CreateAccessTokenFetcherForClient(
-                  token_key_->account_id, app_client_id, app_client_secret,
+                  token_key_.account_id, app_client_id, app_client_secret,
                   kExtensionsIdentityAPIOAuthConsumerName,
                   OAuth2TokenService::ScopeSet(),
                   base::BindOnce(&IdentityGetAuthTokenFunction::
@@ -708,7 +775,7 @@
 #endif
 
   GetMojoIdentityManager()->GetAccessToken(
-      token_key_->account_id, ::identity::ScopeSet(),
+      token_key_.account_id, ::identity::ScopeSet(),
       kExtensionsIdentityAPIOAuthConsumerName,
       base::BindOnce(&IdentityGetAuthTokenFunction::OnGetAccessTokenComplete,
                      base::Unretained(this)));
@@ -722,18 +789,26 @@
                           login_access_token);
 }
 
-void IdentityGetAuthTokenFunction::ShowLoginPopup() {
+void IdentityGetAuthTokenFunction::ShowExtensionLoginPrompt() {
+  base::Optional<AccountInfo> account =
+      IdentityManagerFactory::GetForProfile(GetProfile())
+          ->FindAccountInfoForAccountWithRefreshTokenByAccountId(
+              token_key_.account_id);
+  std::string email_hint =
+      account ? account->email : email_for_default_web_account_;
+
   LoginUIService* login_ui_service =
       LoginUIServiceFactory::GetForProfile(GetProfile());
-  login_ui_service->ShowLoginPopup();
+  login_ui_service->ShowExtensionLoginPrompt(IsPrimaryAccountOnly(),
+                                             email_hint);
 }
 
 void IdentityGetAuthTokenFunction::ShowOAuthApprovalDialog(
     const IssueAdviceInfo& issue_advice) {
   const std::string locale = extension_l10n_util::CurrentLocaleOrDefault();
 
-  gaia_web_auth_flow_.reset(new GaiaWebAuthFlow(
-      this, GetProfile(), token_key_.get(), oauth2_client_id_, locale));
+  gaia_web_auth_flow_.reset(new GaiaWebAuthFlow(this, GetProfile(), &token_key_,
+                                                oauth2_client_id_, locale));
   gaia_web_auth_flow_->Start();
 }
 
@@ -741,20 +816,17 @@
   std::string signin_scoped_device_id =
       GetSigninScopedDeviceIdForProfile(GetProfile());
   OAuth2MintTokenFlow* mint_token_flow = new OAuth2MintTokenFlow(
-      this,
-      OAuth2MintTokenFlow::Parameters(
-          extension()->id(),
-          oauth2_client_id_,
-          std::vector<std::string>(token_key_->scopes.begin(),
-                                   token_key_->scopes.end()),
-          signin_scoped_device_id,
-          gaia_mint_token_mode_));
+      this, OAuth2MintTokenFlow::Parameters(
+                extension()->id(), oauth2_client_id_,
+                std::vector<std::string>(token_key_.scopes.begin(),
+                                         token_key_.scopes.end()),
+                signin_scoped_device_id, gaia_mint_token_mode_));
   return mint_token_flow;
 }
 
 bool IdentityGetAuthTokenFunction::HasRefreshTokenForTokenKeyAccount() const {
   auto* identity_manager = IdentityManagerFactory::GetForProfile(GetProfile());
-  return identity_manager->HasAccountWithRefreshToken(token_key_->account_id);
+  return identity_manager->HasAccountWithRefreshToken(token_key_.account_id);
 }
 
 std::string IdentityGetAuthTokenFunction::MapOAuth2ErrorToDescription(
@@ -793,4 +865,10 @@
   return mojo_identity_manager_.get();
 }
 
+bool IdentityGetAuthTokenFunction::IsPrimaryAccountOnly() const {
+  return IdentityAPI::GetFactoryInstance()
+      ->Get(GetProfile())
+      ->AreExtensionsRestrictedToPrimaryAccount();
+}
+
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/identity/identity_get_auth_token_function.h b/chrome/browser/extensions/api/identity/identity_get_auth_token_function.h
index da434bd..1d87693 100644
--- a/chrome/browser/extensions/api/identity/identity_get_auth_token_function.h
+++ b/chrome/browser/extensions/api/identity/identity_get_auth_token_function.h
@@ -6,13 +6,16 @@
 #define CHROME_BROWSER_EXTENSIONS_API_IDENTITY_IDENTITY_GET_AUTH_TOKEN_FUNCTION_H_
 
 #include "base/callback_list.h"
+#include "base/scoped_observer.h"
 #include "chrome/browser/extensions/api/identity/gaia_web_auth_flow.h"
 #include "chrome/browser/extensions/api/identity/identity_mint_queue.h"
 #include "chrome/browser/extensions/chrome_extension_function.h"
 #include "extensions/browser/extension_function_histogram_value.h"
+#include "google_apis/gaia/google_service_auth_error.h"
 #include "google_apis/gaia/oauth2_mint_token_flow.h"
 #include "google_apis/gaia/oauth2_token_service.h"
 #include "services/identity/public/cpp/account_state.h"
+#include "services/identity/public/cpp/identity_manager.h"
 #include "services/identity/public/mojom/identity_manager.mojom.h"
 
 namespace identity {
@@ -42,6 +45,7 @@
 class IdentityGetAuthTokenFunction : public ChromeAsyncExtensionFunction,
                                      public GaiaWebAuthFlow::Delegate,
                                      public IdentityMintRequestQueue::Request,
+                                     public identity::IdentityManager::Observer,
 #if defined(OS_CHROMEOS)
                                      public OAuth2TokenService::Consumer,
 #endif
@@ -52,9 +56,7 @@
 
   IdentityGetAuthTokenFunction();
 
-  const ExtensionTokenKey* GetExtensionTokenKeyForTest() {
-    return token_key_.get();
-  }
+  const ExtensionTokenKey* GetExtensionTokenKeyForTest() { return &token_key_; }
 
   void OnIdentityAPIShutdown();
 
@@ -125,26 +127,26 @@
   // Called by the IdentityManager in response to this class' request for the
   // primary account info. Extra arguments that are bound internally at the time
   // of calling the IdentityManager:
-  // |scopes|: The scopes that this instance should use for access token
-  // requests.
   // |extension_gaia_id|: The GAIA ID that was set in the parameters for this
   // instance, or empty if this was not in the parameters.
   void OnReceivedPrimaryAccountInfo(
-      const std::set<std::string>& scopes,
       const std::string& extension_gaia_id,
       const base::Optional<AccountInfo>& account_info,
       const identity::AccountState& account_state);
 
   // Called when the AccountInfo that this instance should use is available.
-  // |is_primary_account| is a bool specifying whether the account being used is
-  // the primary account. |scopes| is the set of scopes that this instance
-  // should use for access token requests.
   void OnReceivedExtensionAccountInfo(
-      bool is_primary_account,
-      const std::set<std::string>& scopes,
+      const std::string& extension_gaia_id,
       const base::Optional<AccountInfo>& account_info,
       const identity::AccountState& account_state);
 
+  // identity::IdentityManager::Observer implementation:
+  void OnRefreshTokenUpdatedForAccount(
+      const AccountInfo& account_info) override;
+  void OnAccountsInCookieUpdated(
+      const identity::AccountsInCookieJarInfo& accounts_in_cookie_jar_info,
+      const GoogleServiceAuthError& error) override;
+
   // ExtensionFunction:
   bool RunAsync() override;
 
@@ -182,7 +184,7 @@
 #endif
 
   // Methods for invoking UI. Overridable for testing.
-  virtual void ShowLoginPopup();
+  virtual void ShowExtensionLoginPrompt();
   virtual void ShowOAuthApprovalDialog(const IssueAdviceInfo& issue_advice);
 
   // Checks if there is a master login token to mint tokens for the extension.
@@ -201,6 +203,9 @@
   // Identity Service.
   ::identity::mojom::IdentityManager* GetMojoIdentityManager();
 
+  // Returns true if extensions are restricted to the primary account.
+  bool IsPrimaryAccountOnly() const;
+
   bool interactive_;
   bool should_prompt_for_scopes_;
   IdentityMintRequestQueue::MintType mint_token_flow_type_;
@@ -208,7 +213,10 @@
   OAuth2MintTokenFlow::Mode gaia_mint_token_mode_;
   bool should_prompt_for_signin_;
 
-  std::unique_ptr<ExtensionTokenKey> token_key_;
+  // Shown in the extension login prompt.
+  std::string email_for_default_web_account_;
+
+  ExtensionTokenKey token_key_;
   std::string oauth2_client_id_;
   // When launched in interactive mode, and if there is no existing grant,
   // a permissions prompt will be popped up to the user.
@@ -220,6 +228,18 @@
       identity_api_shutdown_subscription_;
 
   identity::mojom::IdentityManagerPtr mojo_identity_manager_;
+  ScopedObserver<identity::IdentityManager, identity::IdentityManager::Observer>
+      scoped_identity_manager_observer_;
+
+  // This class can be listening to account changes, but only for one type of
+  // events at a time.
+  enum class AccountListeningMode {
+    kNotListening,      // Not listening account changes
+    kListeningCookies,  // Listening cookie changes
+    kListeningTokens    // Listening token changes
+  };
+  AccountListeningMode account_listening_mode_ =
+      AccountListeningMode::kNotListening;
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 7bfdf01c..24f458ba 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -184,6 +184,11 @@
     "expiry_milestone": 76
   },
   {
+    "name": "ash-enable-overview-rounded-corners",
+    "owners": [ "sammiequon" ],
+    "expiry_milestone": 78
+  },
+  {
     "name": "ash-enable-pip-rounded-corners",
     "owners": [ "edcourtney" ],
     "expiry_milestone": 74
@@ -1299,7 +1304,7 @@
   },
   {
     "name": "enable-google-branded-context-menu",
-    // "owners": [ "your-team" ],
+    "owners": [ "edwardjung@chromium.org" ],
     "expiry_milestone": 76
   },
   {
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index ed9e771..74fda64 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3075,6 +3075,11 @@
 const char kAshEnableDisplayMoveWindowAccelsDescription[] =
     "Enable shortcuts for moving window between displays.";
 
+const char kAshEnableOverviewRoundedCornersName[] =
+    "Enable rounded corners in overview mode.";
+const char kAshEnableOverviewRoundedCornersDescription[] =
+    "Enables rounded corners on overview windows.";
+
 const char kAshEnablePersistentWindowBoundsName[] =
     "Enable persistent window bounds in multi-displays scenario.";
 const char kAshEnablePersistentWindowBoundsDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 34ad245..bba0166 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1838,6 +1838,9 @@
 extern const char kAshEnableDisplayMoveWindowAccelsName[];
 extern const char kAshEnableDisplayMoveWindowAccelsDescription[];
 
+extern const char kAshEnableOverviewRoundedCornersName[];
+extern const char kAshEnableOverviewRoundedCornersDescription[];
+
 extern const char kAshEnablePersistentWindowBoundsName[];
 extern const char kAshEnablePersistentWindowBoundsDescription[];
 
diff --git a/chrome/browser/password_manager/password_store_signin_notifier_impl.cc b/chrome/browser/password_manager/password_store_signin_notifier_impl.cc
index 0f2d68e..1d8eca33 100644
--- a/chrome/browser/password_manager/password_store_signin_notifier_impl.cc
+++ b/chrome/browser/password_manager/password_store_signin_notifier_impl.cc
@@ -28,12 +28,6 @@
   IdentityManagerFactory::GetForProfile(profile_)->RemoveObserver(this);
 }
 
-void PasswordStoreSigninNotifierImpl::OnPrimaryAccountSetWithPassword(
-    const AccountInfo& account_info,
-    const std::string& password) {
-  NotifySignin(account_info.email, password);
-}
-
 void PasswordStoreSigninNotifierImpl::OnPrimaryAccountCleared(
     const AccountInfo& account_info) {
   NotifySignedOut(account_info.email, /* primary_account= */ true);
diff --git a/chrome/browser/password_manager/password_store_signin_notifier_impl.h b/chrome/browser/password_manager/password_store_signin_notifier_impl.h
index d11406a0d..5d54b38d 100644
--- a/chrome/browser/password_manager/password_store_signin_notifier_impl.h
+++ b/chrome/browser/password_manager/password_store_signin_notifier_impl.h
@@ -28,8 +28,6 @@
   void UnsubscribeFromSigninEvents() override;
 
   // SigninManagerBase::Observer implementations.
-  void OnPrimaryAccountSetWithPassword(const AccountInfo& account_info,
-                                       const std::string& password) override;
   void OnPrimaryAccountCleared(const AccountInfo& account_info) override;
 
   // IdentityManager::Observer implementations.
diff --git a/chrome/browser/password_manager/password_store_signin_notifier_impl_unittest.cc b/chrome/browser/password_manager/password_store_signin_notifier_impl_unittest.cc
index db2c2eb9..cb8b027 100644
--- a/chrome/browser/password_manager/password_store_signin_notifier_impl_unittest.cc
+++ b/chrome/browser/password_manager/password_store_signin_notifier_impl_unittest.cc
@@ -50,11 +50,6 @@
 TEST_F(PasswordStoreSigninNotifierImplTest, Subscribed) {
   PasswordStoreSigninNotifierImpl notifier(testing_profile_.get());
   notifier.SubscribeToSigninEvents(store_.get());
-  EXPECT_CALL(
-      *store_,
-      SaveGaiaPasswordHash(
-          "username", base::ASCIIToUTF16("password"),
-          metrics_util::SyncPasswordHashChange::SAVED_ON_CHROME_SIGNIN));
   fake_signin_manager_->SignIn("accountid", "username", "password");
   testing::Mock::VerifyAndClearExpectations(store_.get());
   EXPECT_CALL(*store_, ClearAllGaiaPasswordHash());
@@ -68,7 +63,6 @@
   PasswordStoreSigninNotifierImpl notifier(testing_profile_.get());
   notifier.SubscribeToSigninEvents(store_.get());
   notifier.UnsubscribeFromSigninEvents();
-  EXPECT_CALL(*store_, SaveGaiaPasswordHash(_, _, _)).Times(0);
   EXPECT_CALL(*store_, ClearAllGaiaPasswordHash()).Times(0);
   fake_signin_manager_->SignIn("accountid", "username", "secret");
   fake_signin_manager_->ForceSignOut();
@@ -79,11 +73,6 @@
 TEST_F(PasswordStoreSigninNotifierImplTest, SignOutContentArea) {
   PasswordStoreSigninNotifierImpl notifier(testing_profile_.get());
   notifier.SubscribeToSigninEvents(store_.get());
-  EXPECT_CALL(
-      *store_,
-      SaveGaiaPasswordHash(
-          "username", base::ASCIIToUTF16("password"),
-          metrics_util::SyncPasswordHashChange::SAVED_ON_CHROME_SIGNIN));
   fake_signin_manager_->SignIn("primary_accountid", "username", "password");
   testing::Mock::VerifyAndClearExpectations(store_.get());
 
diff --git a/chrome/browser/password_manager/password_store_x.cc b/chrome/browser/password_manager/password_store_x.cc
index a1ed7f7..0d49766e 100644
--- a/chrome/browser/password_manager/password_store_x.cc
+++ b/chrome/browser/password_manager/password_store_x.cc
@@ -548,17 +548,35 @@
 
 bool PasswordStoreX::ReadAllLogins(
     password_manager::PrimaryKeyToFormMap* key_to_form_map) {
-  NOTIMPLEMENTED();
-  return false;
+  // This method is called from the PasswordSyncBridge which supports only
+  // PasswordStoreDefault. Therefore, on Linux, it should be called only if the
+  // client is using LogainDatabase instead of the NativeBackend's. It's the
+  // responsibility of the caller to guarantee that.
+  if (use_native_backend()) {
+    NOTREACHED();
+  }
+  return PasswordStoreDefault::ReadAllLogins(key_to_form_map);
 }
 
 PasswordStoreChangeList PasswordStoreX::RemoveLoginByPrimaryKeySync(
     int primary_key) {
-  NOTIMPLEMENTED();
-  return PasswordStoreChangeList();
+  // This method is called from the PasswordSyncBridge which supports only
+  // PasswordStoreDefault. Therefore, on Linux, it should be called only if the
+  // client is using LogainDatabase instead of the NativeBackend's. It's the
+  // responsibility of the caller to guarantee that.
+  if (use_native_backend()) {
+    NOTREACHED();
+  }
+  return PasswordStoreDefault::RemoveLoginByPrimaryKeySync(primary_key);
 }
 
 syncer::SyncMetadataStore* PasswordStoreX::GetMetadataStore() {
-  NOTIMPLEMENTED();
-  return nullptr;
+  // This method is called from the PasswordSyncBridge which supports only
+  // PasswordStoreDefault. Therefore, on Linux, it should be called only if the
+  // client is using LogainDatabase instead of the NativeBackend's. It's the
+  // responsibility of the caller to guarantee that.
+  if (use_native_backend()) {
+    NOTREACHED();
+  }
+  return PasswordStoreDefault::GetMetadataStore();
 }
diff --git a/chrome/browser/policy/cloud/policy_header_navigation_throttle.cc b/chrome/browser/policy/cloud/policy_header_navigation_throttle.cc
new file mode 100644
index 0000000..a259fcc
--- /dev/null
+++ b/chrome/browser/policy/cloud/policy_header_navigation_throttle.cc
@@ -0,0 +1,57 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/policy/cloud/policy_header_navigation_throttle.h"
+
+#include "chrome/browser/policy/cloud/policy_header_service_factory.h"
+#include "components/policy/core/common/cloud/policy_header_service.h"
+#include "content/public/browser/browser_context.h"
+#include "content/public/browser/navigation_handle.h"
+#include "content/public/browser/web_contents.h"
+
+namespace policy {
+
+namespace {
+void AddHeader(content::NavigationHandle* handle) {
+  content::BrowserContext* context =
+      handle->GetWebContents()->GetBrowserContext();
+
+  if (context->IsOffTheRecord())
+    return;
+
+  PolicyHeaderService* policy_header_service =
+      PolicyHeaderServiceFactory::GetForBrowserContext(context);
+  if (!policy_header_service)
+    return;
+
+  policy_header_service->AddPolicyHeaders(
+      handle->GetURL(),
+      base::BindOnce(&content::NavigationHandle::SetRequestHeader,
+                     base::Unretained(handle)));
+}
+}  // namespace
+
+PolicyHeaderNavigationThrottle::~PolicyHeaderNavigationThrottle() = default;
+
+PolicyHeaderNavigationThrottle::PolicyHeaderNavigationThrottle(
+    content::NavigationHandle* handle)
+    : NavigationThrottle(handle) {}
+
+content::NavigationThrottle::ThrottleCheckResult
+PolicyHeaderNavigationThrottle::WillStartRequest() {
+  AddHeader(navigation_handle());
+  return content::NavigationThrottle::PROCEED;
+}
+
+content::NavigationThrottle::ThrottleCheckResult
+PolicyHeaderNavigationThrottle::WillRedirectRequest() {
+  AddHeader(navigation_handle());
+  return content::NavigationThrottle::PROCEED;
+}
+
+const char* PolicyHeaderNavigationThrottle::GetNameForLogging() {
+  return "PolicyHeaderNavigationThrottle";
+}
+
+}  // namespace policy
diff --git a/chrome/browser/policy/cloud/policy_header_navigation_throttle.h b/chrome/browser/policy/cloud/policy_header_navigation_throttle.h
new file mode 100644
index 0000000..c7f6cd8
--- /dev/null
+++ b/chrome/browser/policy/cloud/policy_header_navigation_throttle.h
@@ -0,0 +1,31 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_POLICY_CLOUD_POLICY_HEADER_NAVIGATION_THROTTLE_H_
+#define CHROME_BROWSER_POLICY_CLOUD_POLICY_HEADER_NAVIGATION_THROTTLE_H_
+
+#include <memory>
+
+#include "content/public/browser/navigation_throttle.h"
+
+namespace content {
+class NavigationHandle;
+}  // namespace content
+
+namespace policy {
+
+class PolicyHeaderNavigationThrottle : public content::NavigationThrottle {
+ public:
+  explicit PolicyHeaderNavigationThrottle(content::NavigationHandle*);
+  ~PolicyHeaderNavigationThrottle() override;
+
+  // content::NavigationThrottle:
+  ThrottleCheckResult WillStartRequest() override;
+  ThrottleCheckResult WillRedirectRequest() override;
+  const char* GetNameForLogging() override;
+};
+
+}  // namespace policy
+
+#endif  // CHROME_BROWSER_POLICY_CLOUD_POLICY_HEADER_NAVIGATION_THROTTLE_H_
diff --git a/chrome/browser/policy/policy_conversions.cc b/chrome/browser/policy/policy_conversions.cc
index 982135b..8340561 100644
--- a/chrome/browser/policy/policy_conversions.cc
+++ b/chrome/browser/policy/policy_conversions.cc
@@ -42,6 +42,10 @@
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
 #include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
+#include "chrome/browser/chromeos/policy/device_local_account.h"
+#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
+#include "components/user_manager/user_manager.h"
 #endif
 
 using base::Value;
@@ -235,6 +239,67 @@
                   GetKnownPolicies(schema_map, policy_namespace), values);
 }
 
+#if defined(OS_CHROMEOS)
+void GetDeviceLocalAccountPolicies(bool convert_values, Value* values) {
+  // DeviceLocalAccount policies are not available for not affiliated users
+  if (!user_manager::UserManager::Get()->GetPrimaryUser()->IsAffiliated())
+    return;
+  BrowserPolicyConnectorChromeOS* connector =
+      g_browser_process->platform_part()->browser_policy_connector_chromeos();
+  DCHECK(connector);  // always not-null
+
+  auto* device_local_account_policy_service =
+      connector->GetDeviceLocalAccountPolicyService();
+  DCHECK(device_local_account_policy_service);  // always non null for
+                                                // affiliated users
+  std::vector<DeviceLocalAccount> device_local_accounts =
+      GetDeviceLocalAccounts(chromeos::CrosSettings::Get());
+  for (const auto& account : device_local_accounts) {
+    std::string user_id = account.user_id;
+    Value current_account_policies(Value::Type::DICTIONARY);
+
+    auto* device_local_account_policy_broker =
+        device_local_account_policy_service->GetBrokerForUser(user_id);
+    if (!device_local_account_policy_broker) {
+      LOG(ERROR)
+          << "Can not get policy broker for device local account with user id: "
+          << user_id;
+      continue;
+    }
+
+    auto* cloud_policy_core = device_local_account_policy_broker->core();
+    DCHECK(cloud_policy_core);
+    auto* cloud_policy_store = cloud_policy_core->store();
+    DCHECK(cloud_policy_store);
+
+    const scoped_refptr<policy::SchemaMap> schema_map =
+        device_local_account_policy_broker->schema_registry()->schema_map();
+
+    PolicyNamespace policy_namespace =
+        PolicyNamespace(policy::POLICY_DOMAIN_CHROME, std::string());
+
+    // Make a copy that can be modified, since some policy values are modified
+    // before being displayed.
+    PolicyMap map;
+    map.CopyFrom(cloud_policy_store->policy_map());
+
+    // Get a list of all the errors in the policy values.
+    const policy::ConfigurationPolicyHandlerList* handler_list =
+        connector->GetHandlerList();
+    policy::PolicyErrorMap errors;
+    handler_list->ApplyPolicySettings(map, NULL, &errors);
+
+    // Convert dictionary values to strings for display.
+    handler_list->PrepareForDisplaying(&map);
+
+    GetPolicyValues(map, &errors, true, convert_values,
+                    GetKnownPolicies(schema_map, policy_namespace),
+                    &current_account_policies);
+    values->SetKey(user_id, std::move(current_account_policies));
+  }
+}
+#endif  // defined(OS_CHROMEOS)
+
 }  // namespace
 
 Value GetAllPolicyValuesAsDictionary(content::BrowserContext* context,
@@ -290,6 +355,14 @@
   }
   all_policies.SetKey("extensionPolicies", std::move(extension_values));
 #endif
+
+#if defined(OS_CHROMEOS)
+  Value device_local_account_policies(Value::Type::DICTIONARY);
+  GetDeviceLocalAccountPolicies(convert_values, &device_local_account_policies);
+  all_policies.SetKey("deviceLocalAccountPolicies",
+                      std::move(device_local_account_policies));
+#endif  // defined(OS_CHROMEOS)
+
   return all_policies;
 }
 
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 684eef59..7b62eb9 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -483,10 +483,7 @@
 // services like translate and search.
 void AddGoogleIconToLastMenuItem(ui::SimpleMenuModel* menu) {
 #if defined(GOOGLE_CHROME_BUILD)
-  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kEnableGoogleBrandedContextMenu) ||
-      base::FieldTrialList::FindFullName("GoogleBrandedContextMenu") ==
-          "branded") {
+  if (base::FeatureList::IsEnabled(features::kGoogleBrandedContextMenu)) {
     menu->SetIcon(
         menu->GetItemCount() - 1,
         ui::ResourceBundle::GetSharedInstance().GetImageNamed(IDR_GOOGLE_ICON));
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_am.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_am.xtb
index 1a8356cf..d041a33 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_am.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_am.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="am"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="am">
+<translation id="1430915738399379752">አትም</translation>
+<translation id="1620510694547887537">ካሜራ</translation>
+<translation id="2501278716633472235">ወደ ኋላ ተመለስ</translation>
+<translation id="3227137524299004712">ማይክሮፎን</translation>
+<translation id="4279490309300973883">በማንጸባረቅ ላይ</translation>
+<translation id="5869546221129391014">ፍርግርግ</translation>
+<translation id="6681668084120808868">ፎቶ አንሳ</translation>
+<translation id="6965382102122355670">እሺ</translation>
+<translation id="7649070708921625228">እገዛ</translation>
+<translation id="7658239707568436148">ይቅር</translation>
+<translation id="8049189770492311300">ሰዓት ቆጣሪ</translation>
+<translation id="8261506727792406068">ሰርዝ</translation>
+<translation id="8428213095426709021">ቅንብሮች</translation>
+<translation id="945522503751344254">ግብረ መልስ ላክ</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ar.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ar.xtb
index 577c15f..647901f 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ar.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ar.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ar"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ar">
+<translation id="1430915738399379752">طباعة</translation>
+<translation id="1620510694547887537">الكاميرا</translation>
+<translation id="2501278716633472235">الرجوع للخلف</translation>
+<translation id="3227137524299004712">الميكروفون</translation>
+<translation id="4279490309300973883">النسخ المطابق</translation>
+<translation id="5869546221129391014">شبكة</translation>
+<translation id="6681668084120808868">التقاط صورة</translation>
+<translation id="6965382102122355670">موافق</translation>
+<translation id="7649070708921625228">مساعدة</translation>
+<translation id="7658239707568436148">إلغاء</translation>
+<translation id="8049189770492311300">مؤقت</translation>
+<translation id="8261506727792406068">حذف</translation>
+<translation id="8428213095426709021">الإعدادات</translation>
+<translation id="945522503751344254">إرسال تعليقات</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bg.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bg.xtb
index 25d06b3..b756c35 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bg.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bg.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="bg"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="bg">
+<translation id="1430915738399379752">Печат</translation>
+<translation id="1620510694547887537">Камера</translation>
+<translation id="2501278716633472235">Назад</translation>
+<translation id="3227137524299004712">Микрофон</translation>
+<translation id="4279490309300973883">Дублиране</translation>
+<translation id="5869546221129391014">Таблица</translation>
+<translation id="6681668084120808868">Снимане</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Помощ</translation>
+<translation id="7658239707568436148">Отказ</translation>
+<translation id="8049189770492311300">Таймер</translation>
+<translation id="8261506727792406068">Изтриване</translation>
+<translation id="8428213095426709021">Настройки</translation>
+<translation id="945522503751344254">Изпращане на отзиви</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bn.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bn.xtb
index b02b1e7f..d2a81a2 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bn.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_bn.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="bn"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="bn">
+<translation id="1430915738399379752">প্রিন্ট</translation>
+<translation id="1620510694547887537">ক্যামেরা</translation>
+<translation id="2501278716633472235">ফিরে যান</translation>
+<translation id="3227137524299004712">মাইক্রোফোন</translation>
+<translation id="4279490309300973883">অনুকরণ করা হচ্ছে</translation>
+<translation id="5869546221129391014">গ্রিড</translation>
+<translation id="6681668084120808868">ফটো তুলুন</translation>
+<translation id="6965382102122355670">ঠিক আছে</translation>
+<translation id="7649070708921625228">সহায়তা</translation>
+<translation id="7658239707568436148">বাতিল</translation>
+<translation id="8049189770492311300">টাইমার</translation>
+<translation id="8261506727792406068">মুছুন</translation>
+<translation id="8428213095426709021">সেটিংস</translation>
+<translation id="945522503751344254">মতামত জানান</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ca.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ca.xtb
index 1e9d243..58b0d28 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ca.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ca.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ca"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ca">
+<translation id="1430915738399379752">Imprimeix</translation>
+<translation id="1620510694547887537">Càmera</translation>
+<translation id="2501278716633472235">Torna</translation>
+<translation id="3227137524299004712">Micròfon</translation>
+<translation id="4279490309300973883">S'està creant una rèplica</translation>
+<translation id="5869546221129391014">Quadrícula</translation>
+<translation id="6681668084120808868">Fes una foto</translation>
+<translation id="6965382102122355670">D'acord</translation>
+<translation id="7649070708921625228">Ajuda</translation>
+<translation id="7658239707568436148">Cancel·la</translation>
+<translation id="8049189770492311300">Temporitzador</translation>
+<translation id="8261506727792406068">Suprimeix</translation>
+<translation id="8428213095426709021">Configuració</translation>
+<translation id="945522503751344254">Envia suggeriments</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_cs.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_cs.xtb
index b6103f7..d807699 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_cs.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_cs.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="cs"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="cs">
+<translation id="1430915738399379752">Tisk</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Zpět</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Zrcadlení</translation>
+<translation id="5869546221129391014">Mřížka</translation>
+<translation id="6681668084120808868">Vyfotit</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Nápověda</translation>
+<translation id="7658239707568436148">Zrušit</translation>
+<translation id="8049189770492311300">Časovač</translation>
+<translation id="8261506727792406068">Smazat</translation>
+<translation id="8428213095426709021">Nastavení</translation>
+<translation id="945522503751344254">Odeslat zpětnou vazbu</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_da.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_da.xtb
index 6feffd32..b4fc89f2 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_da.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_da.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="da"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="da">
+<translation id="1430915738399379752">Udskriv</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Gå tilbage</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Spejling</translation>
+<translation id="5869546221129391014">Gitter</translation>
+<translation id="6681668084120808868">Tag billede</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Hjælp</translation>
+<translation id="7658239707568436148">Annuller</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Slet</translation>
+<translation id="8428213095426709021">Indstillinger</translation>
+<translation id="945522503751344254">Send feedback</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_de.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_de.xtb
index d2908e8a..c3d5be6 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_de.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_de.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="de"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="de">
+<translation id="1430915738399379752">Drucken</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Zurück</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Spiegelung</translation>
+<translation id="5869546221129391014">Raster</translation>
+<translation id="6681668084120808868">Foto machen</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Hilfe</translation>
+<translation id="7658239707568436148">Abbrechen</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Löschen</translation>
+<translation id="8428213095426709021">Einstellungen</translation>
+<translation id="945522503751344254">Feedback geben</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_el.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_el.xtb
index 2d96e6c..4d36ac4 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_el.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_el.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="el"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="el">
+<translation id="1430915738399379752">Εκτύπωση</translation>
+<translation id="1620510694547887537">Κάμερα</translation>
+<translation id="2501278716633472235">Επιστροφή</translation>
+<translation id="3227137524299004712">Μικρόφωνο</translation>
+<translation id="4279490309300973883">Κατοπτρισμός</translation>
+<translation id="5869546221129391014">Πλέγμα</translation>
+<translation id="6681668084120808868">Λήψη φωτογραφίας</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Βοήθεια</translation>
+<translation id="7658239707568436148">Ακύρωση</translation>
+<translation id="8049189770492311300">Χρονόμετρο</translation>
+<translation id="8261506727792406068">Διαγραφή</translation>
+<translation id="8428213095426709021">Ρυθμίσεις</translation>
+<translation id="945522503751344254">Αποστολή σχολίων</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_en-GB.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_en-GB.xtb
index 769a524..9561ca2 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_en-GB.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_en-GB.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="en-GB"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="en-GB">
+<translation id="1430915738399379752">Print</translation>
+<translation id="1620510694547887537">Camera</translation>
+<translation id="2501278716633472235">Go back</translation>
+<translation id="3227137524299004712">Microphone</translation>
+<translation id="4279490309300973883">Mirroring</translation>
+<translation id="5869546221129391014">Grid</translation>
+<translation id="6681668084120808868">Take photo</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Help</translation>
+<translation id="7658239707568436148">Cancel</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Delete</translation>
+<translation id="8428213095426709021">Settings</translation>
+<translation id="945522503751344254">Send feedback</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es-419.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es-419.xtb
index 37258dd..af77390 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es-419.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es-419.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="es-419"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="es-419">
+<translation id="1430915738399379752">Imprimir</translation>
+<translation id="1620510694547887537">Cámara</translation>
+<translation id="2501278716633472235">Ir atrás</translation>
+<translation id="3227137524299004712">Micrófono</translation>
+<translation id="4279490309300973883">Duplicando</translation>
+<translation id="5869546221129391014">Cuadrícula</translation>
+<translation id="6681668084120808868">Tomar foto</translation>
+<translation id="6965382102122355670">Aceptar</translation>
+<translation id="7649070708921625228">Ayuda</translation>
+<translation id="7658239707568436148">Cancelar</translation>
+<translation id="8049189770492311300">Temporizador</translation>
+<translation id="8261506727792406068">Borrar</translation>
+<translation id="8428213095426709021">Configuración</translation>
+<translation id="945522503751344254">Enviar comentarios</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es.xtb
index 27d8ca3..4957c2b 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_es.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="es"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="es">
+<translation id="1430915738399379752">Imprimir</translation>
+<translation id="1620510694547887537">Cámara</translation>
+<translation id="2501278716633472235">Volver</translation>
+<translation id="3227137524299004712">Micrófono</translation>
+<translation id="4279490309300973883">Duplicando</translation>
+<translation id="5869546221129391014">Cuadrícula</translation>
+<translation id="6681668084120808868">Sacar foto</translation>
+<translation id="6965382102122355670">Aceptar</translation>
+<translation id="7649070708921625228">Ayuda</translation>
+<translation id="7658239707568436148">Cancelar</translation>
+<translation id="8049189770492311300">Temporizador</translation>
+<translation id="8261506727792406068">Eliminar</translation>
+<translation id="8428213095426709021">Configuración</translation>
+<translation id="945522503751344254">Enviar comentarios</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_et.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_et.xtb
index a14139f..81b32de3 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_et.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_et.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="et"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="et">
+<translation id="1430915738399379752">Printimine</translation>
+<translation id="1620510694547887537">Kaamera</translation>
+<translation id="2501278716633472235">Mine tagasi</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Peegeldamine</translation>
+<translation id="5869546221129391014">Ruudustik</translation>
+<translation id="6681668084120808868">Tee foto</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Abi</translation>
+<translation id="7658239707568436148">Tühista</translation>
+<translation id="8049189770492311300">Taimer</translation>
+<translation id="8261506727792406068">Kustuta</translation>
+<translation id="8428213095426709021">Seaded</translation>
+<translation id="945522503751344254">Saada tagasisidet</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fa.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fa.xtb
index 41bc8c38..c81016c4 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fa.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fa.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="fa"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fa">
+<translation id="1430915738399379752">چاپ</translation>
+<translation id="1620510694547887537">دوربین</translation>
+<translation id="2501278716633472235">بازگشت</translation>
+<translation id="3227137524299004712">میکروفن</translation>
+<translation id="4279490309300973883">بازتاب می‌شود</translation>
+<translation id="5869546221129391014">جدولی</translation>
+<translation id="6681668084120808868">عکسبرداری</translation>
+<translation id="6965382102122355670">قبول</translation>
+<translation id="7649070708921625228">راهنما</translation>
+<translation id="7658239707568436148">لغو</translation>
+<translation id="8049189770492311300">تایمر</translation>
+<translation id="8261506727792406068">حذف</translation>
+<translation id="8428213095426709021">تنظیمات</translation>
+<translation id="945522503751344254">ارسال بازخورد</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fi.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fi.xtb
index b2ed2bf..abe3f2c 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fi.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fi.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="fi"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fi">
+<translation id="1430915738399379752">Tulosta</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Takaisin</translation>
+<translation id="3227137524299004712">Mikrofoni</translation>
+<translation id="4279490309300973883">Peilaus päällä</translation>
+<translation id="5869546221129391014">Ruudukko</translation>
+<translation id="6681668084120808868">Ota valokuva</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Ohje</translation>
+<translation id="7658239707568436148">Peruuta</translation>
+<translation id="8049189770492311300">Ajastin</translation>
+<translation id="8261506727792406068">Poista</translation>
+<translation id="8428213095426709021">Asetukset</translation>
+<translation id="945522503751344254">Lähetä palautetta</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fil.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fil.xtb
index 6ca565417..aebd53f 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fil.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fil.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="fil"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fil">
+<translation id="1430915738399379752">I-print</translation>
+<translation id="1620510694547887537">Camera</translation>
+<translation id="2501278716633472235">Bumalik</translation>
+<translation id="3227137524299004712">Mikropono</translation>
+<translation id="4279490309300973883">Nagmi-mirror</translation>
+<translation id="5869546221129391014">Grid</translation>
+<translation id="6681668084120808868">Kumuha ng larawan</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Tulong</translation>
+<translation id="7658239707568436148">Ikansela</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">I-delete</translation>
+<translation id="8428213095426709021">Mga Setting</translation>
+<translation id="945522503751344254">Magpadala ng feedback...</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fr.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fr.xtb
index 1ce4293c..c64a776 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fr.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_fr.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="fr"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="fr">
+<translation id="1430915738399379752">Imprimer</translation>
+<translation id="1620510694547887537">Appareil photo</translation>
+<translation id="2501278716633472235">Retour</translation>
+<translation id="3227137524299004712">Micro</translation>
+<translation id="4279490309300973883">Mise en miroir</translation>
+<translation id="5869546221129391014">Grille</translation>
+<translation id="6681668084120808868">Prendre une photo</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Aide</translation>
+<translation id="7658239707568436148">Annuler</translation>
+<translation id="8049189770492311300">Horloge</translation>
+<translation id="8261506727792406068">Supprimer</translation>
+<translation id="8428213095426709021">Paramètres</translation>
+<translation id="945522503751344254">Envoyer le commentaire</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_gu.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_gu.xtb
index 1b8a058..7d86503 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_gu.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_gu.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="gu"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="gu">
+<translation id="1430915738399379752">પ્રિન્ટ</translation>
+<translation id="1620510694547887537">કૅમેરો</translation>
+<translation id="2501278716633472235">પાછા જાઓ</translation>
+<translation id="3227137524299004712">માઇક્રોફોન</translation>
+<translation id="4279490309300973883">પ્રતિબિંબત થઈ રહ્યું છે</translation>
+<translation id="5869546221129391014">ગ્રિડ</translation>
+<translation id="6681668084120808868">ફોટો લો</translation>
+<translation id="6965382102122355670">બરાબર, સમજાઇ ગયું</translation>
+<translation id="7649070708921625228">સહાય</translation>
+<translation id="7658239707568436148">રદ કરો</translation>
+<translation id="8049189770492311300">ટાઇમર</translation>
+<translation id="8261506727792406068">ડિલીટ કરો</translation>
+<translation id="8428213095426709021">સેટિંગ્સ</translation>
+<translation id="945522503751344254">પ્રતિસાદ મોકલો</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hi.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hi.xtb
index e9f9cc54..54deb114 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hi.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hi.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="hi"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="hi">
+<translation id="1430915738399379752">प्रिंट करें</translation>
+<translation id="1620510694547887537">कैमरा</translation>
+<translation id="2501278716633472235">वापस जाएं</translation>
+<translation id="3227137524299004712">माइक्रोफ़ोन</translation>
+<translation id="4279490309300973883">स्क्रीन शेयर करने की सुविधा चालू है</translation>
+<translation id="5869546221129391014">ग्रिड</translation>
+<translation id="6681668084120808868">फ़ोटो लें</translation>
+<translation id="6965382102122355670">ठीक है</translation>
+<translation id="7649070708921625228">सहायता</translation>
+<translation id="7658239707568436148">अभी नहीं</translation>
+<translation id="8049189770492311300">टाइमर</translation>
+<translation id="8261506727792406068">हटाएं</translation>
+<translation id="8428213095426709021">सेटिंग</translation>
+<translation id="945522503751344254">सुझाव भेजें</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hr.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hr.xtb
index abb82688..7b48006b 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hr.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hr.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="hr"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="hr">
+<translation id="1430915738399379752">Ispis</translation>
+<translation id="1620510694547887537">Fotoaparat</translation>
+<translation id="2501278716633472235">Natrag</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Zrcaljenje</translation>
+<translation id="5869546221129391014">Rešetka</translation>
+<translation id="6681668084120808868">Snimite fotografiju</translation>
+<translation id="6965382102122355670">U redu</translation>
+<translation id="7649070708921625228">Pomoć</translation>
+<translation id="7658239707568436148">Odustani</translation>
+<translation id="8049189770492311300">Brojač vremena</translation>
+<translation id="8261506727792406068">Izbriši</translation>
+<translation id="8428213095426709021">Postavke</translation>
+<translation id="945522503751344254">Slanje povratnih informacija</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hu.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hu.xtb
index 5a7e2c9..ff4ec86 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hu.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_hu.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="hu"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="hu">
+<translation id="1430915738399379752">Nyomtatás</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Visszalépés</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Tükrözés</translation>
+<translation id="5869546221129391014">Rács</translation>
+<translation id="6681668084120808868">Fényképkészítés</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Súgó</translation>
+<translation id="7658239707568436148">Mégse</translation>
+<translation id="8049189770492311300">Időzítő</translation>
+<translation id="8261506727792406068">Törlés</translation>
+<translation id="8428213095426709021">Beállítások</translation>
+<translation id="945522503751344254">Visszajelzés küldése</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_id.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_id.xtb
index bced312..979f0b1 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_id.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_id.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="id"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="id">
+<translation id="1430915738399379752">Cetak</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Kembali</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Mencerminkan</translation>
+<translation id="5869546221129391014">Kisi</translation>
+<translation id="6681668084120808868">Ambil foto</translation>
+<translation id="6965382102122355670">Oke</translation>
+<translation id="7649070708921625228">Bantuan</translation>
+<translation id="7658239707568436148">Batal</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Hapus</translation>
+<translation id="8428213095426709021">Setelan</translation>
+<translation id="945522503751344254">Kirim masukan</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_it.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_it.xtb
index d56be5c..d0f72c9 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_it.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_it.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="it"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="it">
+<translation id="1430915738399379752">Stampa</translation>
+<translation id="1620510694547887537">Videocamera</translation>
+<translation id="2501278716633472235">Indietro</translation>
+<translation id="3227137524299004712">Microfono</translation>
+<translation id="4279490309300973883">Mirroring</translation>
+<translation id="5869546221129391014">Griglia</translation>
+<translation id="6681668084120808868">Scatta foto</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Guida</translation>
+<translation id="7658239707568436148">Annulla</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Elimina</translation>
+<translation id="8428213095426709021">Impostazioni</translation>
+<translation id="945522503751344254">Invia feedback</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_iw.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_iw.xtb
index d17d24e..4fb373b 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_iw.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_iw.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="iw"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="iw">
+<translation id="1430915738399379752">הדפס</translation>
+<translation id="1620510694547887537">מצלמה</translation>
+<translation id="2501278716633472235">חזור</translation>
+<translation id="3227137524299004712">מיקרופון</translation>
+<translation id="4279490309300973883">שיקוף</translation>
+<translation id="5869546221129391014">רשת</translation>
+<translation id="6681668084120808868">צלם תמונה</translation>
+<translation id="6965382102122355670">אישור</translation>
+<translation id="7649070708921625228">עזרה</translation>
+<translation id="7658239707568436148">ביטול</translation>
+<translation id="8049189770492311300">טיימר</translation>
+<translation id="8261506727792406068">מחיקה</translation>
+<translation id="8428213095426709021">הגדרות</translation>
+<translation id="945522503751344254"> שליחת משוב</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ja.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ja.xtb
index c5828bf2..2661bfdd 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ja.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ja.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ja"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ja">
+<translation id="1430915738399379752">印刷</translation>
+<translation id="1620510694547887537">カメラ</translation>
+<translation id="2501278716633472235">戻る</translation>
+<translation id="3227137524299004712">マイク</translation>
+<translation id="4279490309300973883">ミラーリング</translation>
+<translation id="5869546221129391014">グリッド</translation>
+<translation id="6681668084120808868">写真を撮る</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">ヘルプ</translation>
+<translation id="7658239707568436148">キャンセル</translation>
+<translation id="8049189770492311300">タイマー</translation>
+<translation id="8261506727792406068">削除</translation>
+<translation id="8428213095426709021">設定</translation>
+<translation id="945522503751344254">フィードバックを送信</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_kn.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_kn.xtb
index 6f2561a..f66b3a14 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_kn.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_kn.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="kn"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="kn">
+<translation id="1430915738399379752">ಮುದ್ರಿಸು</translation>
+<translation id="1620510694547887537">ಕ್ಯಾಮರಾ</translation>
+<translation id="2501278716633472235">ಹಿಂದಿರುಗಿ</translation>
+<translation id="3227137524299004712">ಮೈಕ್ರೋಫೋನ್</translation>
+<translation id="4279490309300973883">ಪ್ರತಿಬಿಂಬಿಸುವಿಕೆ</translation>
+<translation id="5869546221129391014">ಗ್ರಿಡ್</translation>
+<translation id="6681668084120808868">ಫೋಟೋ ತೆಗೆಯಿರಿ</translation>
+<translation id="6965382102122355670">ಸರಿ</translation>
+<translation id="7649070708921625228">ಸಹಾಯ</translation>
+<translation id="7658239707568436148">ರದ್ದುಮಾಡಿ</translation>
+<translation id="8049189770492311300">ಟೈಮರ್</translation>
+<translation id="8261506727792406068">ಅಳಿಸಿ</translation>
+<translation id="8428213095426709021">ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
+<translation id="945522503751344254">ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಳುಹಿಸಿ</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ko.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ko.xtb
index aac09f4..92962e9 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ko.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ko.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ko"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ko">
+<translation id="1430915738399379752">인쇄</translation>
+<translation id="1620510694547887537">카메라</translation>
+<translation id="2501278716633472235">뒤로 이동</translation>
+<translation id="3227137524299004712">마이크</translation>
+<translation id="4279490309300973883">미러링</translation>
+<translation id="5869546221129391014">격자</translation>
+<translation id="6681668084120808868">사진 찍기</translation>
+<translation id="6965382102122355670">확인</translation>
+<translation id="7649070708921625228">도움말</translation>
+<translation id="7658239707568436148">취소</translation>
+<translation id="8049189770492311300">타이머</translation>
+<translation id="8261506727792406068">삭제</translation>
+<translation id="8428213095426709021">설정</translation>
+<translation id="945522503751344254">의견 보내기</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lt.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lt.xtb
index e386c81b..e2f52ce 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lt.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lt.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="lt"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="lt">
+<translation id="1430915738399379752">Spausdinti</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Grįžti</translation>
+<translation id="3227137524299004712">Mikrofonas</translation>
+<translation id="4279490309300973883">Dubliuojama</translation>
+<translation id="5869546221129391014">Tinklelis</translation>
+<translation id="6681668084120808868">Fotografuoti</translation>
+<translation id="6965382102122355670">Gerai</translation>
+<translation id="7649070708921625228">Žinynas</translation>
+<translation id="7658239707568436148">Atšaukti</translation>
+<translation id="8049189770492311300">Laikmatis</translation>
+<translation id="8261506727792406068">Ištrinti</translation>
+<translation id="8428213095426709021">Nustatymai</translation>
+<translation id="945522503751344254">Siųsti atsiliepimą</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lv.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lv.xtb
index c27c4065..427a37e 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lv.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_lv.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="lv"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="lv">
+<translation id="1430915738399379752">Drukāt</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Doties atpakaļ</translation>
+<translation id="3227137524299004712">Mikrofons</translation>
+<translation id="4279490309300973883">Spoguļošana</translation>
+<translation id="5869546221129391014">Režģis</translation>
+<translation id="6681668084120808868">Uzņemt fotoattēlu</translation>
+<translation id="6965382102122355670">Labi</translation>
+<translation id="7649070708921625228">Palīdzība</translation>
+<translation id="7658239707568436148">Atcelt</translation>
+<translation id="8049189770492311300">Taimeris</translation>
+<translation id="8261506727792406068">Dzēst</translation>
+<translation id="8428213095426709021">Iestatījumi</translation>
+<translation id="945522503751344254">Sūtīt atsauksmes</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ml.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ml.xtb
index 970244e..b9d9f80 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ml.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ml.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ml"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ml">
+<translation id="1430915738399379752">അച്ചടിക്കുക</translation>
+<translation id="1620510694547887537">ക്യാമറ</translation>
+<translation id="2501278716633472235">പിന്നോട്ട് പോകുക</translation>
+<translation id="3227137524299004712">മൈക്രോഫോൺ</translation>
+<translation id="4279490309300973883">മിററിംഗ്</translation>
+<translation id="5869546221129391014">ഗ്രിഡ്</translation>
+<translation id="6681668084120808868">ഫോട്ടോ എടുക്കുക</translation>
+<translation id="6965382102122355670">ശരി</translation>
+<translation id="7649070708921625228">സഹായം</translation>
+<translation id="7658239707568436148">റദ്ദാക്കൂ</translation>
+<translation id="8049189770492311300">ടൈമർ</translation>
+<translation id="8261506727792406068">ഇല്ലാതാക്കുക</translation>
+<translation id="8428213095426709021">ക്രമീകരണങ്ങള്‍</translation>
+<translation id="945522503751344254">ഫീഡ്ബാക്ക് അയയ്ക്കുക</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_mr.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_mr.xtb
index 7eb198d..f6b0fb4 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_mr.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_mr.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="mr"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="mr">
+<translation id="1430915738399379752">प्रिंट</translation>
+<translation id="1620510694547887537">कॅमेरा</translation>
+<translation id="2501278716633472235">परत जा</translation>
+<translation id="3227137524299004712">मायक्रोफोन</translation>
+<translation id="4279490309300973883">मिररिंग</translation>
+<translation id="5869546221129391014">ग्रिड</translation>
+<translation id="6681668084120808868">फोटो घ्या</translation>
+<translation id="6965382102122355670">ठीक आहे</translation>
+<translation id="7649070708921625228">मदत</translation>
+<translation id="7658239707568436148">रद्द करा</translation>
+<translation id="8049189770492311300">टायमर</translation>
+<translation id="8261506727792406068">हटवा</translation>
+<translation id="8428213095426709021">सेटिंग्ज</translation>
+<translation id="945522503751344254">अभिप्राय पाठवा</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ms.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ms.xtb
index b8f88eb5..7b1fe0a 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ms.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ms.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ms"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ms">
+<translation id="1430915738399379752">Cetak</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Kembali</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Pencerminan</translation>
+<translation id="5869546221129391014">Grid</translation>
+<translation id="6681668084120808868">Ambil foto</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Bantuan</translation>
+<translation id="7658239707568436148">Batal</translation>
+<translation id="8049189770492311300">Pemasa</translation>
+<translation id="8261506727792406068">Padam</translation>
+<translation id="8428213095426709021">Tetapan</translation>
+<translation id="945522503751344254">Hantar maklum balas</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_nl.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_nl.xtb
index 08c20249..3bb799b 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_nl.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_nl.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="nl"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="nl">
+<translation id="1430915738399379752">Afdrukken</translation>
+<translation id="1620510694547887537">Camera</translation>
+<translation id="2501278716633472235">Terug</translation>
+<translation id="3227137524299004712">Microfoon</translation>
+<translation id="4279490309300973883">Mirroring</translation>
+<translation id="5869546221129391014">Raster</translation>
+<translation id="6681668084120808868">Foto nemen</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Help</translation>
+<translation id="7658239707568436148">Annuleren</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Verwijderen</translation>
+<translation id="8428213095426709021">Instellingen</translation>
+<translation id="945522503751344254">Feedback verzenden</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_no.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_no.xtb
index 52b6011..55e7fa8d 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_no.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_no.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="no"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="no">
+<translation id="1430915738399379752">Skriv ut</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Gå tilbake</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Speiling</translation>
+<translation id="5869546221129391014">Rutenett</translation>
+<translation id="6681668084120808868">Ta et bilde</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Hjelp</translation>
+<translation id="7658239707568436148">Avbryt</translation>
+<translation id="8049189770492311300">Tidtaker</translation>
+<translation id="8261506727792406068">Slett</translation>
+<translation id="8428213095426709021">Innstillinger</translation>
+<translation id="945522503751344254">Gi tilbakemelding</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pl.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pl.xtb
index 57c76f6..062643f0 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pl.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pl.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="pl"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="pl">
+<translation id="1430915738399379752">Drukuj</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Wróć</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Odbicie lustrzane</translation>
+<translation id="5869546221129391014">Siatka</translation>
+<translation id="6681668084120808868">Zrób zdjęcie</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Pomoc</translation>
+<translation id="7658239707568436148">Anuluj</translation>
+<translation id="8049189770492311300">Licznik czasu</translation>
+<translation id="8261506727792406068">Usuń</translation>
+<translation id="8428213095426709021">Ustawienia</translation>
+<translation id="945522503751344254">Wyślij zgłoszenie</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-BR.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-BR.xtb
index 1ccc1be..72c1b28 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-BR.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-BR.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="pt-BR"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="pt-BR">
+<translation id="1430915738399379752">Imprimir</translation>
+<translation id="1620510694547887537">Câmera</translation>
+<translation id="2501278716633472235">Voltar</translation>
+<translation id="3227137524299004712">Microfone</translation>
+<translation id="4279490309300973883">Espelhamento</translation>
+<translation id="5869546221129391014">Grade</translation>
+<translation id="6681668084120808868">Tirar foto</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Ajuda</translation>
+<translation id="7658239707568436148">Cancelar</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Excluir</translation>
+<translation id="8428213095426709021">Configurações</translation>
+<translation id="945522503751344254">Enviar comentários</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-PT.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-PT.xtb
index 448ac9de..7f450f0 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-PT.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_pt-PT.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="pt-PT"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="pt-PT">
+<translation id="1430915738399379752">Imprimir</translation>
+<translation id="1620510694547887537">Câmara</translation>
+<translation id="2501278716633472235">Voltar</translation>
+<translation id="3227137524299004712">Microfone</translation>
+<translation id="4279490309300973883">Espelhamento</translation>
+<translation id="5869546221129391014">Grelha</translation>
+<translation id="6681668084120808868">Tirar foto</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Ajuda</translation>
+<translation id="7658239707568436148">Cancelar</translation>
+<translation id="8049189770492311300">Temporizador</translation>
+<translation id="8261506727792406068">Eliminar</translation>
+<translation id="8428213095426709021">Definições</translation>
+<translation id="945522503751344254">Enviar comentários</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ro.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ro.xtb
index ee107e4..c791d23 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ro.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ro.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ro"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ro">
+<translation id="1430915738399379752">Printează</translation>
+<translation id="1620510694547887537">Camera</translation>
+<translation id="2501278716633472235">Înapoi</translation>
+<translation id="3227137524299004712">Microfon</translation>
+<translation id="4279490309300973883">Oglindire</translation>
+<translation id="5869546221129391014">Grilă</translation>
+<translation id="6681668084120808868">Fotografiază</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Ajutor</translation>
+<translation id="7658239707568436148">Anulează</translation>
+<translation id="8049189770492311300">Temporizator</translation>
+<translation id="8261506727792406068">Șterge</translation>
+<translation id="8428213095426709021">Setări</translation>
+<translation id="945522503751344254">Trimite feedback</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ru.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ru.xtb
index 1161eea..617000f 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ru.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ru.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ru"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ru">
+<translation id="1430915738399379752">Печать</translation>
+<translation id="1620510694547887537">Камера</translation>
+<translation id="2501278716633472235">Назад</translation>
+<translation id="3227137524299004712">Микрофон</translation>
+<translation id="4279490309300973883">Отражение</translation>
+<translation id="5869546221129391014">Сетка</translation>
+<translation id="6681668084120808868">Сфотографировать</translation>
+<translation id="6965382102122355670">ОК</translation>
+<translation id="7649070708921625228">Справка</translation>
+<translation id="7658239707568436148">Отмена</translation>
+<translation id="8049189770492311300">Таймер</translation>
+<translation id="8261506727792406068">Удалить</translation>
+<translation id="8428213095426709021">Настройки</translation>
+<translation id="945522503751344254">Отправить отзыв</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sk.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sk.xtb
index 285c7cb..4728302b4 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sk.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sk.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="sk"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sk">
+<translation id="1430915738399379752">Tlačiť</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Prejsť späť</translation>
+<translation id="3227137524299004712">Mikrofón</translation>
+<translation id="4279490309300973883">Zrkadlenie</translation>
+<translation id="5869546221129391014">Mriežka</translation>
+<translation id="6681668084120808868">Zaznamenať fotografiu</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Pomocník</translation>
+<translation id="7658239707568436148">Zrušiť</translation>
+<translation id="8049189770492311300">Časovač</translation>
+<translation id="8261506727792406068">Odstrániť</translation>
+<translation id="8428213095426709021">Nastavenia</translation>
+<translation id="945522503751344254">Poslať spätnú väzbu</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sl.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sl.xtb
index 5b943686..3a1be4f 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sl.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sl.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="sl"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sl">
+<translation id="1430915738399379752">Natisni</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Nazaj</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Zrcaljenje</translation>
+<translation id="5869546221129391014">Mreža</translation>
+<translation id="6681668084120808868">Posnemi fotografijo</translation>
+<translation id="6965382102122355670">V redu</translation>
+<translation id="7649070708921625228">Pomoč</translation>
+<translation id="7658239707568436148">Prekliči</translation>
+<translation id="8049189770492311300">Časovnik</translation>
+<translation id="8261506727792406068">Izbriši</translation>
+<translation id="8428213095426709021">Nastavitve</translation>
+<translation id="945522503751344254">Pošlji povratne informacije</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sr.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sr.xtb
index 037a5c14..58d06f5 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sr.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sr.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="sr"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sr">
+<translation id="1430915738399379752">Штампај</translation>
+<translation id="1620510694547887537">Камера</translation>
+<translation id="2501278716633472235">Иди назад</translation>
+<translation id="3227137524299004712">Микрофон</translation>
+<translation id="4279490309300973883">Пресликавање</translation>
+<translation id="5869546221129391014">Мрежа</translation>
+<translation id="6681668084120808868">Снимите фотографију</translation>
+<translation id="6965382102122355670">Потврди</translation>
+<translation id="7649070708921625228">Помоћ</translation>
+<translation id="7658239707568436148">Откажи</translation>
+<translation id="8049189770492311300">Тајмер</translation>
+<translation id="8261506727792406068">Избриши</translation>
+<translation id="8428213095426709021">Подешавања</translation>
+<translation id="945522503751344254">Пошаљи повратне информације</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sv.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sv.xtb
index 8f4581fd..f4823db2 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sv.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sv.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="sv"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sv">
+<translation id="1430915738399379752">Skriv ut</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Föregående</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Spegling</translation>
+<translation id="5869546221129391014">Rutnät</translation>
+<translation id="6681668084120808868">Ta foto</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Hjälp</translation>
+<translation id="7658239707568436148">Avbryt</translation>
+<translation id="8049189770492311300">Timer</translation>
+<translation id="8261506727792406068">Radera</translation>
+<translation id="8428213095426709021">Inställningar</translation>
+<translation id="945522503751344254">Skicka synpunkter</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sw.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sw.xtb
index 0b25c33..4b865e31 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sw.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_sw.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="sw"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="sw">
+<translation id="1430915738399379752">Chapisha</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Rudi nyuma</translation>
+<translation id="3227137524299004712">Maikrofoni</translation>
+<translation id="4279490309300973883">Kuakisi</translation>
+<translation id="5869546221129391014">Gridi</translation>
+<translation id="6681668084120808868">Piga picha</translation>
+<translation id="6965382102122355670">Sawa</translation>
+<translation id="7649070708921625228">Usaidizi</translation>
+<translation id="7658239707568436148">Ghairi</translation>
+<translation id="8049189770492311300">Kipima muda</translation>
+<translation id="8261506727792406068">Futa</translation>
+<translation id="8428213095426709021">Mipangilio</translation>
+<translation id="945522503751344254">Tuma maoni</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ta.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ta.xtb
index ab9e8aab..dc11401 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ta.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_ta.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="ta"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="ta">
+<translation id="1430915738399379752">அச்சிடுக</translation>
+<translation id="1620510694547887537">கேமரா</translation>
+<translation id="2501278716633472235">திரும்பிச் செல்</translation>
+<translation id="3227137524299004712">மைக்ரோஃபோன்</translation>
+<translation id="4279490309300973883">பிரதிபலிக்கிறது</translation>
+<translation id="5869546221129391014">கட்டம்</translation>
+<translation id="6681668084120808868">புகைப்படம் எடு</translation>
+<translation id="6965382102122355670">சரி</translation>
+<translation id="7649070708921625228">உதவி</translation>
+<translation id="7658239707568436148">ரத்து செய்</translation>
+<translation id="8049189770492311300">டைமர்</translation>
+<translation id="8261506727792406068">நீக்கு</translation>
+<translation id="8428213095426709021">அமைப்புகள்</translation>
+<translation id="945522503751344254">பின்னூட்டம் அனுப்புக</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_te.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_te.xtb
index c35f476..64a3c4a 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_te.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_te.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="te"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="te">
+<translation id="1430915738399379752">ముద్రించు</translation>
+<translation id="1620510694547887537">కెమెరా</translation>
+<translation id="2501278716633472235">వెనుకకు వెళ్ళు</translation>
+<translation id="3227137524299004712">మైక్రోఫోన్</translation>
+<translation id="4279490309300973883">మిర్రరింగ్</translation>
+<translation id="5869546221129391014">గ్రిడ్</translation>
+<translation id="6681668084120808868">ఫోటోను తీయి</translation>
+<translation id="6965382102122355670">సరే</translation>
+<translation id="7649070708921625228">సహాయం</translation>
+<translation id="7658239707568436148">రద్దు చేయి</translation>
+<translation id="8049189770492311300">టైమర్</translation>
+<translation id="8261506727792406068">తొలగించు</translation>
+<translation id="8428213095426709021">సెట్టింగ్‌లు</translation>
+<translation id="945522503751344254">అభిప్రాయాన్ని పంపండి</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_th.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_th.xtb
index 5d81291..c620541 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_th.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_th.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="th"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="th">
+<translation id="1430915738399379752">พิมพ์</translation>
+<translation id="1620510694547887537">กล้องถ่ายรูป</translation>
+<translation id="2501278716633472235">ย้อนกลับ</translation>
+<translation id="3227137524299004712">ไมโครโฟน</translation>
+<translation id="4279490309300973883">กำลังแสดงผล</translation>
+<translation id="5869546221129391014">ตาราง</translation>
+<translation id="6681668084120808868">ถ่ายภาพ</translation>
+<translation id="6965382102122355670">ตกลง</translation>
+<translation id="7649070708921625228">ช่วยเหลือ</translation>
+<translation id="7658239707568436148">ยกเลิก</translation>
+<translation id="8049189770492311300">ตัวจับเวลา</translation>
+<translation id="8261506727792406068">ลบ</translation>
+<translation id="8428213095426709021">การตั้งค่า</translation>
+<translation id="945522503751344254">ส่งความคิดเห็น</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_tr.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_tr.xtb
index ead1d39..111a3ac 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_tr.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_tr.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="tr"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="tr">
+<translation id="1430915738399379752">Yazdır</translation>
+<translation id="1620510694547887537">Kamera</translation>
+<translation id="2501278716633472235">Geri dön</translation>
+<translation id="3227137524299004712">Mikrofon</translation>
+<translation id="4279490309300973883">Yansıtılıyor</translation>
+<translation id="5869546221129391014">Tablo</translation>
+<translation id="6681668084120808868">Fotoğraf çek</translation>
+<translation id="6965382102122355670">Tamam</translation>
+<translation id="7649070708921625228">Yardım</translation>
+<translation id="7658239707568436148">İptal</translation>
+<translation id="8049189770492311300">Zamanlayıcı</translation>
+<translation id="8261506727792406068">Sil</translation>
+<translation id="8428213095426709021">Ayarlar</translation>
+<translation id="945522503751344254">Geri bildirim gönder</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_uk.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_uk.xtb
index 29134e1..ff9b8e29 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_uk.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_uk.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="uk"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="uk">
+<translation id="1430915738399379752">Друк</translation>
+<translation id="1620510694547887537">Камера</translation>
+<translation id="2501278716633472235">Назад</translation>
+<translation id="3227137524299004712">Мікрофон</translation>
+<translation id="4279490309300973883">Дзеркальне відображення</translation>
+<translation id="5869546221129391014">Сітка</translation>
+<translation id="6681668084120808868">Зробити фото</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Довідка</translation>
+<translation id="7658239707568436148">Скасувати</translation>
+<translation id="8049189770492311300">Таймер</translation>
+<translation id="8261506727792406068">Видалити</translation>
+<translation id="8428213095426709021">Налаштування</translation>
+<translation id="945522503751344254">Надіслати відгук</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_vi.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_vi.xtb
index d858f99..0dfa3be1 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_vi.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_vi.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="vi"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="vi">
+<translation id="1430915738399379752">In</translation>
+<translation id="1620510694547887537">Máy ảnh</translation>
+<translation id="2501278716633472235">Quay lại</translation>
+<translation id="3227137524299004712">Micrô</translation>
+<translation id="4279490309300973883">Đang phản chiếu</translation>
+<translation id="5869546221129391014">Lưới</translation>
+<translation id="6681668084120808868">Chụp ảnh</translation>
+<translation id="6965382102122355670">OK</translation>
+<translation id="7649070708921625228">Trợ giúp</translation>
+<translation id="7658239707568436148">Hủy</translation>
+<translation id="8049189770492311300">Bộ tính giờ</translation>
+<translation id="8261506727792406068">Xóa</translation>
+<translation id="8428213095426709021">Cài đặt</translation>
+<translation id="945522503751344254">Gửi phản hồi</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-CN.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-CN.xtb
index effe01e..f41aaa3e 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-CN.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-CN.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="zh-CN"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="zh-CN">
+<translation id="1430915738399379752">打印</translation>
+<translation id="1620510694547887537">摄像头</translation>
+<translation id="2501278716633472235">返回</translation>
+<translation id="3227137524299004712">麦克风</translation>
+<translation id="4279490309300973883">正在镜像</translation>
+<translation id="5869546221129391014">网格</translation>
+<translation id="6681668084120808868">拍照</translation>
+<translation id="6965382102122355670">确定</translation>
+<translation id="7649070708921625228">帮助</translation>
+<translation id="7658239707568436148">取消</translation>
+<translation id="8049189770492311300">定时器</translation>
+<translation id="8261506727792406068">删除</translation>
+<translation id="8428213095426709021">设置</translation>
+<translation id="945522503751344254">发送反馈</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-TW.xtb b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-TW.xtb
index cb82bea..288fd4f 100644
--- a/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-TW.xtb
+++ b/chrome/browser/resources/chromeos/camera/src/strings/camera_strings_zh-TW.xtb
@@ -1 +1,18 @@
-<?xml version="1.0" ?><!DOCTYPE translationbundle><translationbundle lang="zh-TW"></translationbundle>
+<?xml version="1.0" ?>
+<!DOCTYPE translationbundle>
+<translationbundle lang="zh-TW">
+<translation id="1430915738399379752">列印</translation>
+<translation id="1620510694547887537">攝影機</translation>
+<translation id="2501278716633472235">返回</translation>
+<translation id="3227137524299004712">麥克風</translation>
+<translation id="4279490309300973883">鏡像</translation>
+<translation id="5869546221129391014">格線</translation>
+<translation id="6681668084120808868">拍照</translation>
+<translation id="6965382102122355670">確定</translation>
+<translation id="7649070708921625228">說明</translation>
+<translation id="7658239707568436148">取消</translation>
+<translation id="8049189770492311300">計時器</translation>
+<translation id="8261506727792406068">刪除</translation>
+<translation id="8428213095426709021">設定</translation>
+<translation id="945522503751344254">提供意見</translation>
+</translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_te.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_te.xtb
index 56600cba..21fb8f6 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_te.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_te.xtb
@@ -132,7 +132,7 @@
 <translation id="2100350898815792233">అన్ని విరామచిహ్నాలు</translation>
 <translation id="2110480898214777136">పేజీ, డైలాగ్ లేదా ఇతర కంటైనర్‌లో ప్రారంభం నుండి ముగింపు వరకు లేదా ముగింపు నుండి ప్రారంభం వరకు సర్దుబాటు చేయండి</translation>
 <translation id="2119965627982867824">spnbtn</translation>
-<translation id="2121067395472282800">ప్రాప్యత కీ:<ph name="KEY" /></translation>
+<translation id="2121067395472282800">యాక్సెస్ కీ:<ph name="KEY" /></translation>
 <translation id="2138345533858834403">స్క్రీన్ ఎగువన ChromeVox ప్యానెల్‌లో రీఫ్రెష్ చేయదగిన
         బ్రెయిలీ ప్రదర్శన యొక్క అవుట్‌పుట్‌ను ప్రతిబింబిస్తుంది.</translation>
 <translation id="2163782704988363449">తప్పొప్పుల పట్టిక</translation>
@@ -962,7 +962,7 @@
 <translation id="844681116543532394">మునుపటి చెక్‌బాక్స్ లేదు.</translation>
 <translation id="8446884382197647889">మరింత తెలుసుకోండి</translation>
 <translation id="8455868257606149352">గరిష్టం <ph name="X" /></translation>
-<translation id="84575901236241018">ప్రాప్యత కీ కలిగి ఉంది, <ph name="KEY" /></translation>
+<translation id="84575901236241018">యాక్సెస్ కీ కలిగి ఉంది, <ph name="KEY" /></translation>
 <translation id="847154984256717791">బిజీ</translation>
 <translation id="8476408756881832830">ChromeVox మాట్లాడుతున్నప్పుడు ప్లేబ్యాక్‌ను పాజ్ చేయి</translation>
 <translation id="8476508772960940536">విండో స్థూలదృష్టి</translation>
diff --git a/chrome/browser/resources/settings/people_page/sync_page.html b/chrome/browser/resources/settings/people_page/sync_page.html
index d4cd336..a6f9b405 100644
--- a/chrome/browser/resources/settings/people_page/sync_page.html
+++ b/chrome/browser/resources/settings/people_page/sync_page.html
@@ -28,7 +28,7 @@
   <template>
     <style include="settings-shared iron-flex">
       h2 {
-        font-size: var(--cr-title-text_-_font-size);
+        @apply --cr-title-text;
       }
 
       #sync-separator {
@@ -77,7 +77,7 @@
       }
 
       .passphrase-reset-icon {
-        margin-right: 8px;
+        margin-inline-end: 8px;
       }
 
       #disabled-by-admin-icon {
diff --git a/chrome/browser/resources/settings/people_page/sync_page.js b/chrome/browser/resources/settings/people_page/sync_page.js
index b102f70..b3f9457 100644
--- a/chrome/browser/resources/settings/people_page/sync_page.js
+++ b/chrome/browser/resources/settings/people_page/sync_page.js
@@ -244,6 +244,8 @@
   /** @private */
   onSetupCancelDialogBack_: function() {
     this.$$('#setupCancelDialog').cancel();
+    chrome.metricsPrivate.recordUserAction(
+        'Signin_Signin_CancelCancelAdvancedSyncSettings');
   },
 
   /** @private */
@@ -251,6 +253,8 @@
     this.setupCancelDialogConfirmed_ = true;
     this.$$('#setupCancelDialog').close();
     settings.navigateTo(settings.routes.BASIC);
+    chrome.metricsPrivate.recordUserAction(
+        'Signin_Signin_ConfirmCancelAdvancedSyncSettings');
   },
 
   /** @private */
@@ -604,6 +608,11 @@
   onSyncSetupDone_: function(e) {
     if (e.detail) {
       this.didAbort_ = false;
+      chrome.metricsPrivate.recordUserAction(
+          'Signin_Signin_ConfirmAdvancedSyncSettings');
+    } else {
+      chrome.metricsPrivate.recordUserAction(
+          'Signin_Signin_CancelAdvancedSyncSettings');
     }
     settings.navigateTo(settings.routes.BASIC);
   },
diff --git a/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc b/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
index ca3e4043..c90b2c83 100644
--- a/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
@@ -1040,11 +1040,12 @@
 TEST_F(ClientSideDetectionHostTest, TestPreClassificationCheckXHTML) {
   // Check that XHTML is supported, in addition to the default HTML type.
   GURL url("http://host.com/xhtml");
-  RenderFrameHostTester::For(web_contents()->GetMainFrame())->
-      SetContentsMimeType("application/xhtml+xml");
+  auto navigation =
+      content::NavigationSimulator::CreateBrowserInitiated(url, web_contents());
+  navigation->SetContentsMimeType("application/xhtml+xml");
   ExpectPreClassificationChecks(url, &kFalse, &kFalse, &kFalse, &kFalse,
                                 &kFalse, &kFalse);
-  NavigateAndCommit(url);
+  navigation->Commit();
   WaitAndCheckPreClassificationChecks();
 
   fake_phishing_detector_.CheckMessage(&url);
@@ -1083,11 +1084,12 @@
   // same domain as the previous URL, otherwise it will create a new
   // RenderFrameHost that won't have the mime type set.
   GURL url("http://host2.com/image.jpg");
-  RenderFrameHostTester::For(web_contents()->GetMainFrame())->
-      SetContentsMimeType("image/jpeg");
+  auto navigation =
+      content::NavigationSimulator::CreateBrowserInitiated(url, web_contents());
+  navigation->SetContentsMimeType("image/jpeg");
   ExpectPreClassificationChecks(url, &kFalse, &kFalse, &kFalse, &kFalse,
                                 &kFalse, &kFalse);
-  NavigateAndCommit(url);
+  navigation->Commit();
   WaitAndCheckPreClassificationChecks();
 
   fake_phishing_detector_.CheckMessage(NULL);
diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc
index 623f33d7..c348d5d 100644
--- a/chrome/browser/signin/chrome_signin_client.cc
+++ b/chrome/browser/signin/chrome_signin_client.cc
@@ -24,7 +24,6 @@
 #include "chrome/browser/signin/account_consistency_mode_manager.h"
 #include "chrome/browser/signin/chrome_device_id_helper.h"
 #include "chrome/browser/signin/force_signin_verifier.h"
-#include "chrome/browser/signin/local_auth.h"
 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/browser/signin/signin_util.h"
@@ -175,16 +174,6 @@
       ->RemoveObserver(observer);
 }
 
-void ChromeSigninClient::PostSignedIn(const std::string& account_id,
-                                      const std::string& username,
-                                      const std::string& password) {
-#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-  // Don't store password hash except when lock is available for the user.
-  if (!password.empty() && profiles::IsLockAvailable(profile_))
-    LocalAuth::SetLocalAuthCredentials(profile_, password);
-#endif
-}
-
 void ChromeSigninClient::PreSignOut(
     base::OnceCallback<void(SignoutDecision)> on_signout_decision_reached,
     signin_metrics::ProfileSignout signout_source_metric) {
diff --git a/chrome/browser/signin/chrome_signin_client.h b/chrome/browser/signin/chrome_signin_client.h
index eda1659..a397f89 100644
--- a/chrome/browser/signin/chrome_signin_client.h
+++ b/chrome/browser/signin/chrome_signin_client.h
@@ -68,9 +68,6 @@
   // <Build Info> <OS> <Version number> (<Last change>)<channel or "-devel">
   // If version information is unavailable, returns "invalid."
   std::string GetProductVersion() override;
-  void PostSignedIn(const std::string& account_id,
-                    const std::string& username,
-                    const std::string& password) override;
 
   // gaia::GaiaOAuthClient::Delegate implementation.
   void OnGetTokenInfoResponse(
diff --git a/chrome/browser/signin/dice_response_handler_unittest.cc b/chrome/browser/signin/dice_response_handler_unittest.cc
index 0080f381..722a8e4d 100644
--- a/chrome/browser/signin/dice_response_handler_unittest.cc
+++ b/chrome/browser/signin/dice_response_handler_unittest.cc
@@ -206,7 +206,7 @@
   FakeProfileOAuth2TokenService token_service_;
   AccountTrackerService account_tracker_service_;
   FakeSigninManager signin_manager_;
-  FakeGaiaCookieManagerService cookie_service_;
+  GaiaCookieManagerService cookie_service_;
   identity::IdentityTestEnvironment identity_test_env_;
   SigninErrorController signin_error_controller_;
   AboutSigninInternals about_signin_internals_;
diff --git a/chrome/browser/signin/dice_tab_helper.h b/chrome/browser/signin/dice_tab_helper.h
index b7b71c5..d81dfa4 100644
--- a/chrome/browser/signin/dice_tab_helper.h
+++ b/chrome/browser/signin/dice_tab_helper.h
@@ -14,24 +14,25 @@
 class NavigationHandle;
 }
 
-// Tab helper used for DICE to mark that sync should start after a web sign-in
-// with a Google account.
+// Tab helper used for DICE to tag signin tabs. Signin tabs can be reused.
 class DiceTabHelper : public content::WebContentsUserData<DiceTabHelper>,
                       public content::WebContentsObserver {
  public:
   ~DiceTabHelper() override;
 
-  signin_metrics::AccessPoint signin_access_point() {
+  signin_metrics::AccessPoint signin_access_point() const {
     return signin_access_point_;
   }
 
-  signin_metrics::PromoAction signin_promo_action() {
+  signin_metrics::PromoAction signin_promo_action() const {
     return signin_promo_action_;
   }
 
-  signin_metrics::Reason signin_reason() { return signin_reason_; }
+  signin_metrics::Reason signin_reason() const { return signin_reason_; }
 
-  GURL redirect_url() { return redirect_url_; }
+  const GURL& redirect_url() const { return redirect_url_; }
+
+  const GURL& signin_url() const { return signin_url_; }
 
   // Initializes the DiceTabHelper for a new signin flow. Must be called once
   // per signin flow happening in the tab, when the signin URL is being loaded.
diff --git a/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.cc b/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.cc
index 0fe7c22..bad98c8a 100644
--- a/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.cc
+++ b/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.cc
@@ -10,14 +10,22 @@
 #include "components/keyed_service/core/keyed_service.h"
 #include "components/signin/core/browser/fake_gaia_cookie_manager_service.h"
 #include "components/signin/core/browser/profile_oauth2_token_service.h"
+#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
 #include "services/network/test/test_url_loader_factory.h"
 
-std::unique_ptr<KeyedService> BuildFakeGaiaCookieManagerService(
+std::unique_ptr<KeyedService> BuildGaiaCookieManagerServiceWithURLLoader(
+    network::TestURLLoaderFactory* test_url_loader_factory,
     content::BrowserContext* context) {
   Profile* profile = Profile::FromBrowserContext(context);
-  return std::make_unique<FakeGaiaCookieManagerService>(
+  return std::make_unique<GaiaCookieManagerService>(
       ProfileOAuth2TokenServiceFactory::GetForProfile(profile),
-      ChromeSigninClientFactory::GetForProfile(profile));
+      ChromeSigninClientFactory::GetForProfile(profile),
+      base::BindRepeating(
+          [](network::TestURLLoaderFactory* test_url_loader_factory)
+              -> scoped_refptr<network::SharedURLLoaderFactory> {
+            return test_url_loader_factory->GetSafeWeakWrapper();
+          },
+          test_url_loader_factory));
 }
 
 std::unique_ptr<KeyedService> BuildFakeGaiaCookieManagerServiceWithURLLoader(
diff --git a/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.h b/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.h
index 049c6fe..a855490 100644
--- a/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.h
+++ b/chrome/browser/signin/fake_gaia_cookie_manager_service_builder.h
@@ -6,7 +6,6 @@
 #define CHROME_BROWSER_SIGNIN_FAKE_GAIA_COOKIE_MANAGER_SERVICE_BUILDER_H_
 
 #include <memory>
-#include "services/network/test/test_url_loader_factory.h"
 
 class KeyedService;
 
@@ -18,12 +17,21 @@
 class TestURLLoaderFactory;
 }
 
-// Helper functions to be used with KeyedService::SetTestingFactory().
-std::unique_ptr<KeyedService> BuildFakeGaiaCookieManagerService(
+// Creates a GaiaCookieManagerService using the supplied
+// |test_url_loader_factory| and |context|.
+std::unique_ptr<KeyedService> BuildGaiaCookieManagerServiceWithURLLoader(
+    network::TestURLLoaderFactory* test_url_loader_factory,
     content::BrowserContext* context);
 
 // Builds a FakeGaiaCookieManagerService which uses the provided
 // |test_url_loader_factory| for cookie-related requests.
+//
+// TODO(https://crbug.com/907782): Convert all test code to use
+// GaiaCookieManagerService directly, passing a TestURLLoaderFactory when
+// fakes are needed.
+//
+// Once that's done, the method below can be deleted, and this file can be
+// renamed to something like gaia_cookie_manager_service_test_util.cc
 std::unique_ptr<KeyedService> BuildFakeGaiaCookieManagerServiceWithURLLoader(
     network::TestURLLoaderFactory* test_url_loader_factory,
     content::BrowserContext* context);
diff --git a/chrome/browser/signin/identity_test_environment_profile_adaptor.cc b/chrome/browser/signin/identity_test_environment_profile_adaptor.cc
index 86b7a1c8..4c529b9 100644
--- a/chrome/browser/signin/identity_test_environment_profile_adaptor.cc
+++ b/chrome/browser/signin/identity_test_environment_profile_adaptor.cc
@@ -68,9 +68,7 @@
 // static
 TestingProfile::TestingFactories
 IdentityTestEnvironmentProfileAdaptor::GetIdentityTestEnvironmentFactories() {
-  return {{GaiaCookieManagerServiceFactory::GetInstance(),
-           base::BindRepeating(&BuildFakeGaiaCookieManagerService)},
-          {ProfileOAuth2TokenServiceFactory::GetInstance(),
+  return {{ProfileOAuth2TokenServiceFactory::GetInstance(),
            base::BindRepeating(&BuildFakeProfileOAuth2TokenService)},
           {SigninManagerFactory::GetInstance(),
            base::BindRepeating(&BuildFakeSigninManagerForTesting)}};
@@ -104,7 +102,6 @@
           static_cast<FakeSigninManager*>(
               SigninManagerFactory::GetForProfile(profile)),
 #endif
-          static_cast<FakeGaiaCookieManagerService*>(
-              GaiaCookieManagerServiceFactory::GetForProfile(profile)),
+          GaiaCookieManagerServiceFactory::GetForProfile(profile),
           IdentityManagerFactory::GetForProfile(profile)) {
 }
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
index 6ca0617..793859909 100644
--- a/chrome/browser/signin/signin_promo.cc
+++ b/chrome/browser/signin/signin_promo.cc
@@ -10,7 +10,6 @@
 #include "chrome/browser/first_run/first_run.h"
 #include "chrome/browser/google/google_brand.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/search_engines/ui_thread_search_terms_data.h"
 #include "chrome/browser/signin/account_consistency_mode_manager.h"
 #include "chrome/browser/signin/signin_promo_util.h"
 #include "chrome/common/chrome_features.h"
@@ -208,17 +207,24 @@
   return GetEmbeddedReauthURLInternal(access_point, reason, email);
 }
 
-GURL GetSigninURLForDice(Profile* profile, const std::string& email) {
-  DCHECK(signin::DiceMethodGreaterOrEqual(
-      AccountConsistencyModeManager::GetMethodForProfile(profile),
-      signin::AccountConsistencyMethod::kDiceMigration));
+GURL GetChromeSyncURLForDice(const std::string& email,
+                             const std::string& continue_url) {
   GURL url = GaiaUrls::GetInstance()->signin_chrome_sync_dice();
   if (!email.empty())
     url = net::AppendQueryParameter(url, "email_hint", email);
-  // Pass www.gooogle.com as the continue URL as otherwise Gaia navigates to
-  // myaccount which may be very confusing for the user.
-  return net::AppendQueryParameter(
-      url, "continue", UIThreadSearchTermsData(profile).GoogleBaseURLValue());
+  if (!continue_url.empty())
+    url = net::AppendQueryParameter(url, "continue", continue_url);
+  return url;
+}
+
+GURL GetAddAccountURLForDice(const std::string& email,
+                             const std::string& continue_url) {
+  GURL url = GaiaUrls::GetInstance()->add_account_url();
+  if (!email.empty())
+    url = net::AppendQueryParameter(url, "Email", email);
+  if (!continue_url.empty())
+    url = net::AppendQueryParameter(url, "continue", continue_url);
+  return url;
 }
 
 GURL GetSigninPartitionURL() {
diff --git a/chrome/browser/signin/signin_promo.h b/chrome/browser/signin/signin_promo.h
index 799a919..82b7960 100644
--- a/chrome/browser/signin/signin_promo.h
+++ b/chrome/browser/signin/signin_promo.h
@@ -70,10 +70,19 @@
                                    signin_metrics::Reason reason,
                                    const std::string& email);
 
-// Returns the URL to be used to add an account when DICE is enabled.
+// Returns the URL to be used to signin and turn on Sync when DICE is enabled.
 // If email is not empty, then it will pass email as hint to the page so that it
 // will be autofilled by Gaia.
-GURL GetSigninURLForDice(Profile* profile, const std::string& email);
+// If |continue_url| is empty, this may redirect to myaccount.
+GURL GetChromeSyncURLForDice(const std::string& email,
+                             const std::string& continue_url);
+
+// Returns the URL to be used to add (secondary) account when DICE is enabled.
+// If email is not empty, then it will pass email as hint to the page so that it
+// will be autofilled by Gaia.
+// If |continue_url| is empty, this may redirect to myaccount.
+GURL GetAddAccountURLForDice(const std::string& email,
+                             const std::string& continue_url);
 
 // Gets the partition URL for the embedded sign in frame/webview.
 GURL GetSigninPartitionURL();
diff --git a/chrome/browser/signin/signin_promo_unittest.cc b/chrome/browser/signin/signin_promo_unittest.cc
index 89804bd28..e56b0e1 100644
--- a/chrome/browser/signin/signin_promo_unittest.cc
+++ b/chrome/browser/signin/signin_promo_unittest.cc
@@ -9,7 +9,7 @@
 
 namespace signin {
 
-TEST(SigninPromoTest, TestForceSigninURL) {
+TEST(SigninPromoTest, TestPromoURL) {
   GURL expected_url_1(
       "chrome://chrome-signin/?access_point=0&reason=0&auto_close=1");
   EXPECT_EQ(expected_url_1,
@@ -53,4 +53,15 @@
             GetLandingURL(signin_metrics::AccessPoint::ACCESS_POINT_SETTINGS));
 }
 
+TEST(SigninPromoTest, SigninURLForDice) {
+  EXPECT_EQ(
+      "https://accounts.google.com/signin/chrome/sync?ssp=1&"
+      "email_hint=email%40gmail.com&continue=https%3A%2F%2Fcontinue_url%2F",
+      GetChromeSyncURLForDice("email@gmail.com", "https://continue_url/"));
+  EXPECT_EQ(
+      "https://accounts.google.com/AddSession?"
+      "Email=email%40gmail.com&continue=https%3A%2F%2Fcontinue_url%2F",
+      GetAddAccountURLForDice("email@gmail.com", "https://continue_url/"));
+}
+
 }  // namespace signin
diff --git a/chrome/browser/signin/signin_ui_util.cc b/chrome/browser/signin/signin_ui_util.cc
index 5c71a6f..419e3e5 100644
--- a/chrome/browser/signin/signin_ui_util.cc
+++ b/chrome/browser/signin/signin_ui_util.cc
@@ -169,9 +169,8 @@
       identity_manager->HasAccountWithRefreshTokenInPersistentErrorState(
           account.account_id);
   if (needs_reauth_before_enable_sync) {
-    browser->signin_view_controller()->ShowDiceSigninTab(
-        browser, signin_metrics::Reason::REASON_SIGNIN_PRIMARY_ACCOUNT,
-        access_point, promo_action, account.email);
+    browser->signin_view_controller()->ShowDiceEnableSyncTab(
+        browser, access_point, promo_action, account.email);
     return;
   }
 
diff --git a/chrome/browser/signin/signin_ui_util_unittest.cc b/chrome/browser/signin/signin_ui_util_unittest.cc
index 0cd74a66..562456b 100644
--- a/chrome/browser/signin/signin_ui_util_unittest.cc
+++ b/chrome/browser/signin/signin_ui_util_unittest.cc
@@ -19,6 +19,7 @@
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/browser/signin/signin_promo.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
+#include "components/google/core/browser/google_url_tracker.h"
 #include "components/signin/core/browser/account_consistency_method.h"
 #include "components/signin/core/browser/account_info.h"
 #include "components/signin/core/browser/signin_buildflags.h"
@@ -139,9 +140,7 @@
     return {{SigninManagerFactory::GetInstance(),
              base::BindRepeating(&BuildFakeSigninManagerForTesting)},
             {ProfileOAuth2TokenServiceFactory::GetInstance(),
-             base::BindRepeating(&BuildFakeProfileOAuth2TokenService)},
-            {GaiaCookieManagerServiceFactory::GetInstance(),
-             base::BindRepeating(&BuildFakeGaiaCookieManagerService)}};
+             base::BindRepeating(&BuildFakeProfileOAuth2TokenService)}};
   }
 
   // BrowserWithTestWindowTest:
@@ -376,7 +375,8 @@
     TabStripModel* tab_strip = browser()->tab_strip_model();
     content::WebContents* active_contents = tab_strip->GetActiveWebContents();
     ASSERT_TRUE(active_contents);
-    EXPECT_EQ(signin::GetSigninURLForDice(profile(), kMainEmail),
+    EXPECT_EQ(signin::GetChromeSyncURLForDice(
+                  kMainEmail, GoogleURLTracker::kDefaultGoogleHomepage),
               active_contents->GetVisibleURL());
     tab_strip->CloseWebContentsAt(
         tab_strip->GetIndexOfWebContents(active_contents),
@@ -408,7 +408,8 @@
   content::WebContents* active_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
   ASSERT_TRUE(active_contents);
-  EXPECT_EQ(signin::GetSigninURLForDice(profile(), ""),
+  EXPECT_EQ(signin::GetChromeSyncURLForDice(
+                "", GoogleURLTracker::kDefaultGoogleHomepage),
             active_contents->GetVisibleURL());
 }
 
@@ -462,7 +463,8 @@
   content::WebContents* active_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
   ASSERT_TRUE(active_contents);
-  EXPECT_EQ(signin::GetSigninURLForDice(profile(), ""),
+  EXPECT_EQ(signin::GetChromeSyncURLForDice(
+                "", GoogleURLTracker::kDefaultGoogleHomepage),
             active_contents->GetVisibleURL());
 }
 
diff --git a/chrome/browser/supervised_user/child_accounts/child_account_service_unittest.cc b/chrome/browser/supervised_user/child_accounts/child_account_service_unittest.cc
index 8076b516..9b4d8c1f 100644
--- a/chrome/browser/supervised_user/child_accounts/child_account_service_unittest.cc
+++ b/chrome/browser/supervised_user/child_accounts/child_account_service_unittest.cc
@@ -10,7 +10,7 @@
 #include "chrome/browser/signin/gaia_cookie_manager_service_factory.h"
 #include "chrome/browser/supervised_user/child_accounts/child_account_service_factory.h"
 #include "chrome/test/base/testing_profile.h"
-#include "components/signin/core/browser/fake_gaia_cookie_manager_service.h"
+#include "components/signin/core/browser/list_accounts_test_utils.h"
 #include "components/signin/core/browser/test_signin_client.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "content/public/test/test_utils.h"
@@ -34,11 +34,11 @@
                               base::BindRepeating(&BuildTestSigninClient));
     builder.AddTestingFactory(
         GaiaCookieManagerServiceFactory::GetInstance(),
-        base::BindRepeating(&BuildFakeGaiaCookieManagerServiceWithURLLoader,
+        base::BindRepeating(&BuildGaiaCookieManagerServiceWithURLLoader,
                             &test_url_loader_factory_));
     profile_ = builder.Build();
-    gaia_cookie_manager_service_ = static_cast<FakeGaiaCookieManagerService*>(
-        GaiaCookieManagerServiceFactory::GetForProfile(profile_.get()));
+    gaia_cookie_manager_service_ =
+        GaiaCookieManagerServiceFactory::GetForProfile(profile_.get());
   }
 
  protected:
@@ -48,11 +48,11 @@
   // former outlives the latter.
   network::TestURLLoaderFactory test_url_loader_factory_;
   std::unique_ptr<TestingProfile> profile_;
-  FakeGaiaCookieManagerService* gaia_cookie_manager_service_ = nullptr;
+  GaiaCookieManagerService* gaia_cookie_manager_service_;
 };
 
 TEST_F(ChildAccountServiceTest, GetGoogleAuthState) {
-  gaia_cookie_manager_service_->SetListAccountsResponseNoAccounts();
+  signin::SetListAccountsResponseNoAccounts(&test_url_loader_factory_);
 
   ChildAccountService* child_account_service =
       ChildAccountServiceFactory::GetForProfile(profile_.get());
@@ -69,33 +69,36 @@
             child_account_service->GetGoogleAuthState());
 
   // A valid, signed-in account means authenticated.
-  gaia_cookie_manager_service_->SetListAccountsResponseOneAccountWithParams(
+  signin::SetListAccountsResponseOneAccountWithParams(
       {"me@example.com", "abcdef",
        /* valid = */ true,
        /* is_signed_out = */ false,
-       /* verified = */ true});
+       /* verified = */ true},
+      &test_url_loader_factory_);
   gaia_cookie_manager_service_->TriggerListAccounts();
   content::RunAllTasksUntilIdle();
   EXPECT_EQ(ChildAccountService::AuthState::AUTHENTICATED,
             child_account_service->GetGoogleAuthState());
 
   // An invalid (but signed-in) account means not authenticated.
-  gaia_cookie_manager_service_->SetListAccountsResponseOneAccountWithParams(
+  signin::SetListAccountsResponseOneAccountWithParams(
       {"me@example.com", "abcdef",
        /* valid = */ false,
        /* is_signed_out = */ false,
-       /* verified = */ true});
+       /* verified = */ true},
+      &test_url_loader_factory_);
   gaia_cookie_manager_service_->TriggerListAccounts();
   content::RunAllTasksUntilIdle();
   EXPECT_EQ(ChildAccountService::AuthState::NOT_AUTHENTICATED,
             child_account_service->GetGoogleAuthState());
 
   // A valid but not signed-in account means not authenticated.
-  gaia_cookie_manager_service_->SetListAccountsResponseOneAccountWithParams(
+  signin::SetListAccountsResponseOneAccountWithParams(
       {"me@example.com", "abcdef",
        /* valid = */ true,
        /* is_signed_out = */ true,
-       /* verified = */ true});
+       /* verified = */ true},
+      &test_url_loader_factory_);
   gaia_cookie_manager_service_->TriggerListAccounts();
   content::RunAllTasksUntilIdle();
   EXPECT_EQ(ChildAccountService::AuthState::NOT_AUTHENTICATED,
diff --git a/chrome/browser/sync/test/integration/single_client_passwords_sync_test.cc b/chrome/browser/sync/test/integration/single_client_passwords_sync_test.cc
index 687f6db..c8e0c624 100644
--- a/chrome/browser/sync/test/integration/single_client_passwords_sync_test.cc
+++ b/chrome/browser/sync/test/integration/single_client_passwords_sync_test.cc
@@ -25,8 +25,7 @@
 class SingleClientPasswordsSyncTest : public FeatureToggler, public SyncTest {
  public:
   SingleClientPasswordsSyncTest()
-      : FeatureToggler(switches::kSyncPseudoUSSPasswords),
-        SyncTest(SINGLE_CLIENT) {}
+      : FeatureToggler(switches::kSyncUSSPasswords), SyncTest(SINGLE_CLIENT) {}
   ~SingleClientPasswordsSyncTest() override {}
 
  private:
diff --git a/chrome/browser/sync/test/integration/two_client_passwords_sync_test.cc b/chrome/browser/sync/test/integration/two_client_passwords_sync_test.cc
index ffc5a76..b3b6c4a 100644
--- a/chrome/browser/sync/test/integration/two_client_passwords_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_passwords_sync_test.cc
@@ -53,21 +53,19 @@
   // after it has been used is needed for this test (by setting up each client
   // with a different ScopedFeatureList).
   void BeforeSetupClient(int index) override {
-    const bool should_enable_pseudo_uss =
+    const bool should_enable_uss =
         index == 0 ? std::get<0>(GetParam()) : std::get<1>(GetParam());
 
-    // The value of the feature kSyncPseudoUSSPasswords only matters during the
+    // The value of the feature kSyncUSSPasswords only matters during the
     // setup of each client, when the profile is created, ProfileSyncService
     // instantiated as well as the datatype controllers. By overriding the
     // feature, we can influence whether client |index| is running with the new
     // codepath or the legacy one.
     override_features_ = std::make_unique<base::test::ScopedFeatureList>();
-    if (should_enable_pseudo_uss) {
-      override_features_->InitAndEnableFeature(
-          switches::kSyncPseudoUSSPasswords);
+    if (should_enable_uss) {
+      override_features_->InitAndEnableFeature(switches::kSyncUSSPasswords);
     } else {
-      override_features_->InitAndDisableFeature(
-          switches::kSyncPseudoUSSPasswords);
+      override_features_->InitAndDisableFeature(switches::kSyncUSSPasswords);
     }
   }
 
@@ -340,9 +338,9 @@
   }
 }
 
-// We instantiate every test 4 times, for every combination of pseudo-USS being
-// enabled in individual clients. This verifies backward-compatibility between
-// the two implementations.
+// We instantiate every test 4 times, for every combination of USS being enabled
+// in individual clients. This verifies backward-compatibility between the two
+// implementations.
 INSTANTIATE_TEST_SUITE_P(USS,
                          TwoClientPasswordsSyncTest,
                          ::testing::Combine(::testing::Values(false, true),
diff --git a/chrome/browser/ui/signin_view_controller.cc b/chrome/browser/ui/signin_view_controller.cc
index bc8d3d6..3a7d190 100644
--- a/chrome/browser/ui/signin_view_controller.cc
+++ b/chrome/browser/ui/signin_view_controller.cc
@@ -23,6 +23,7 @@
 #include "chrome/common/webui_url_constants.h"
 #include "components/signin/core/browser/account_consistency_method.h"
 #include "content/public/browser/web_contents.h"
+#include "google_apis/gaia/gaia_auth_util.h"
 #include "google_apis/gaia/gaia_urls.h"
 #include "services/identity/public/cpp/identity_manager.h"
 #include "url/url_constants.h"
@@ -67,13 +68,15 @@
 }
 
 // Returns the index of an existing re-usable Dice signin tab, or -1.
-int FindDiceSigninTab(TabStripModel* tab_strip) {
+int FindDiceSigninTab(TabStripModel* tab_strip, const GURL& signin_url) {
   int tab_count = tab_strip->count();
   for (int tab_index = 0; tab_index < tab_count; ++tab_index) {
     content::WebContents* web_contents = tab_strip->GetWebContentsAt(tab_index);
     DiceTabHelper* tab_helper = DiceTabHelper::FromWebContents(web_contents);
-    if (tab_helper && tab_helper->IsChromeSigninPage())
+    if (tab_helper && tab_helper->signin_url() == signin_url &&
+        tab_helper->IsChromeSigninPage()) {
       return tab_index;
+    }
   }
   return -1;
 }
@@ -178,9 +181,26 @@
     signin_metrics::Reason signin_reason,
     signin_metrics::AccessPoint access_point,
     signin_metrics::PromoAction promo_action,
-    const std::string& email,
+    const std::string& email_hint,
     const GURL& redirect_url) {
-  GURL signin_url = signin::GetSigninURLForDice(browser->profile(), email);
+  Profile* profile = browser->profile();
+  DCHECK(signin::DiceMethodGreaterOrEqual(
+      AccountConsistencyModeManager::GetMethodForProfile(profile),
+      signin::AccountConsistencyMethod::kDiceMigration));
+
+  // If redirect_url is empty, we would like to redirect to the NTP, but it's
+  // not possible through the continue_url. Use the google base URL instead
+  // here, and the DiceTabHelper may do the redirect to the NTP later.
+  std::string continue_url =
+      redirect_url.is_empty()
+          ? UIThreadSearchTermsData(profile).GoogleBaseURLValue()
+          : redirect_url.spec();
+
+  GURL signin_url =
+      signin_reason == signin_metrics::Reason::REASON_ADD_SECONDARY_ACCOUNT
+          ? signin::GetAddAccountURLForDice(email_hint, continue_url)
+          : signin::GetChromeSyncURLForDice(email_hint, continue_url);
+
   content::WebContents* active_contents = nullptr;
   if (access_point == signin_metrics::AccessPoint::ACCESS_POINT_START_PAGE) {
     active_contents = browser->tab_strip_model()->GetActiveWebContents();
@@ -191,7 +211,7 @@
   } else {
     // Check if there is already a signin-tab open.
     TabStripModel* tab_strip = browser->tab_strip_model();
-    int dice_tab_index = FindDiceSigninTab(tab_strip);
+    int dice_tab_index = FindDiceSigninTab(tab_strip, signin_url);
     if (dice_tab_index != -1) {
       if (access_point !=
           signin_metrics::AccessPoint::ACCESS_POINT_EXTENSIONS) {
@@ -211,10 +231,41 @@
   DCHECK_EQ(signin_url, active_contents->GetVisibleURL());
   DiceTabHelper::CreateForWebContents(active_contents);
   DiceTabHelper* tab_helper = DiceTabHelper::FromWebContents(active_contents);
+
+  // Use |redirect_url| and not |continue_url|, so that the flow can redirect to
+  // the NTP.
   tab_helper->InitializeSigninFlow(signin_url, access_point, signin_reason,
                                    promo_action, redirect_url);
 }
 
+void SigninViewController::ShowDiceEnableSyncTab(
+    Browser* browser,
+    signin_metrics::AccessPoint access_point,
+    signin_metrics::PromoAction promo_action,
+    const std::string& email_hint) {
+  signin_metrics::Reason reason =
+      signin_metrics::Reason::REASON_SIGNIN_PRIMARY_ACCOUNT;
+  std::string email_to_use = email_hint;
+  identity::IdentityManager* identity_manager =
+      IdentityManagerFactory::GetForProfile(browser->profile());
+  if (identity_manager->HasPrimaryAccount()) {
+    reason = signin_metrics::Reason::REASON_REAUTHENTICATION;
+    email_to_use = identity_manager->GetPrimaryAccountInfo().email;
+    DCHECK(email_hint.empty() || gaia::AreEmailsSame(email_hint, email_to_use));
+  }
+  ShowDiceSigninTab(browser, reason, access_point, promo_action, email_to_use);
+}
+
+void SigninViewController::ShowDiceAddAccountTab(
+    Browser* browser,
+    signin_metrics::AccessPoint access_point,
+    const std::string& email_hint) {
+  ShowDiceSigninTab(
+      browser, signin_metrics::Reason::REASON_ADD_SECONDARY_ACCOUNT,
+      access_point, signin_metrics::PromoAction::PROMO_ACTION_NO_SIGNIN_PROMO,
+      email_hint);
+}
+
 content::WebContents*
 SigninViewController::GetModalDialogWebContentsForTesting() {
   DCHECK(delegate_);
diff --git a/chrome/browser/ui/signin_view_controller.h b/chrome/browser/ui/signin_view_controller.h
index 8dca02a8..d067ed1f 100644
--- a/chrome/browser/ui/signin_view_controller.h
+++ b/chrome/browser/ui/signin_view_controller.h
@@ -43,19 +43,25 @@
   // Shows the signin attached to |browser|'s active web contents.
   // |access_point| indicates the access point used to open the Gaia sign in
   // page.
+  // DEPRECATED: Use ShowDiceEnableSyncTab instead.
   void ShowSignin(profiles::BubbleViewMode mode,
                   Browser* browser,
                   signin_metrics::AccessPoint access_point,
                   const GURL& redirect_url = GURL::EmptyGURL());
 
-  // Shows the DICE-specific sign-in flow: opens a Gaia sign-in webpage in a new
-  // tab attached to |browser|.
-  void ShowDiceSigninTab(Browser* browser,
-                         signin_metrics::Reason signin_reason,
-                         signin_metrics::AccessPoint access_point,
-                         signin_metrics::PromoAction promo_action,
-                         const std::string& email,
-                         const GURL& redirect_url = GURL::EmptyGURL());
+  // Shows a Chrome Sync signin tab. |email_hint| may be empty.
+  // Note: If the user has already set a primary account, then this is
+  // considered a reauth of the primary account, and |email_hint| is ignored.
+  void ShowDiceEnableSyncTab(Browser* browser,
+                             signin_metrics::AccessPoint access_point,
+                             signin_metrics::PromoAction promo_action,
+                             const std::string& email_hint);
+
+  // Shows the Dice "add account" tab, which adds an account to the browser but
+  // does not turn sync on. |email_hint| may be empty.
+  void ShowDiceAddAccountTab(Browser* browser,
+                             signin_metrics::AccessPoint access_point,
+                             const std::string& email_hint);
 
   // Shows the modal sync confirmation dialog as a browser-modal dialog on top
   // of the |browser|'s window.
@@ -84,6 +90,15 @@
   void ResetModalSigninDelegate();
 
  private:
+  // Shows the DICE-specific sign-in flow: opens a Gaia sign-in webpage in a new
+  // tab attached to |browser|. |email_hint| may be empty.
+  void ShowDiceSigninTab(Browser* browser,
+                         signin_metrics::Reason signin_reason,
+                         signin_metrics::AccessPoint access_point,
+                         signin_metrics::PromoAction promo_action,
+                         const std::string& email_hint,
+                         const GURL& redirect_url = GURL::EmptyGURL());
+
   friend class login_ui_test_utils::SigninViewControllerTestUtil;
 
   // Returns the web contents of the modal dialog.
diff --git a/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc b/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc
index 392f4bd..9b24ae0 100644
--- a/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc
+++ b/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc
@@ -44,7 +44,6 @@
 #include "components/browser_sync/profile_sync_service.h"
 #include "components/keyed_service/content/browser_context_dependency_manager.h"
 #include "components/network_session_configurator/common/network_switches.h"
-#include "components/signin/core/browser/account_tracker_service.h"
 #include "components/signin/core/browser/fake_account_fetcher_service.h"
 #include "components/signin/core/browser/signin_buildflags.h"
 #include "components/sync/test/fake_server/fake_server.h"
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
index afc0730f..8f3dfc5 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
@@ -198,7 +198,9 @@
 
   // Don't use immersive mode as long as we are in the locked fullscreen mode
   // since immersive shows browser controls which allow exiting the mode.
-  if (ash::IsWindowTrustedPinned(widget->GetNativeWindow()))
+  aura::Window* window = widget->GetNativeWindow();
+  window = features::IsUsingWindowService() ? window->GetRootWindow() : window;
+  if (ash::IsWindowTrustedPinned(window))
     return;
 
   // Enable immersive mode if the widget is activated. Do not disable immersive
diff --git a/chrome/browser/ui/webui/policy_ui_browsertest.cc b/chrome/browser/ui/webui/policy_ui_browsertest.cc
index b8c3051..5f59f5b7 100644
--- a/chrome/browser/ui/webui/policy_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/policy_ui_browsertest.cc
@@ -396,6 +396,10 @@
   // such policies.
   expected_values.SetDictionary("extensionPolicies",
                                 std::make_unique<base::DictionaryValue>());
+#if defined(OS_CHROMEOS)
+  expected_values.SetDictionary("deviceLocalAccountPolicies",
+                                std::make_unique<base::DictionaryValue>());
+#endif  // defined(OS_CHROMEOS)
 
   provider_.UpdateChromePolicy(values);
 
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
index b1e34b9..a8479bc 100644
--- a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
@@ -20,6 +20,7 @@
 #include "chrome/browser/chromeos/printing/cups_printers_manager_factory.h"
 #include "chrome/browser/chromeos/printing/ppd_provider_factory.h"
 #include "chrome/browser/chromeos/printing/printer_configurer.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/webui/print_preview/print_preview_utils.h"
 #include "chrome/common/pref_names.h"
@@ -240,8 +241,15 @@
     PrintCallback callback) {
   size_t size_in_kb = print_data->size() / 1024;
   UMA_HISTOGRAM_MEMORY_KB("Printing.CUPS.PrintDocumentSize", size_in_kb);
-  StartLocalPrint(std::move(ticket), print_data, preview_web_contents_,
-                  std::move(callback));
+  if (profile_->GetPrefs()->GetBoolean(
+          prefs::kPrintingSendUsernameAndFilenameEnabled)) {
+    ticket.SetKey(kSettingUsername, base::Value(chromeos::ProfileHelper::Get()
+                                                    ->GetUserByProfile(profile_)
+                                                    ->display_email()));
+    ticket.SetKey(kSettingSendUserInfo, base::Value(true));
+  }
+  StartLocalPrint(std::move(ticket), std::move(print_data),
+                  preview_web_contents_, std::move(callback));
 }
 
 }  // namespace printing
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
index 794e307..b6d3202 100644
--- a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
@@ -126,8 +126,8 @@
     const gfx::Size& page_size,
     scoped_refptr<base::RefCountedMemory> print_data,
     PrintCallback callback) {
-  StartLocalPrint(std::move(ticket), print_data, preview_web_contents_,
-                  std::move(callback));
+  StartLocalPrint(std::move(ticket), std::move(print_data),
+                  preview_web_contents_, std::move(callback));
 }
 
 }  // namespace printing
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_utils.cc b/chrome/browser/ui/webui/print_preview/print_preview_utils.cc
index 34155d0..d18bdd0a 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_utils.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_utils.cc
@@ -204,9 +204,9 @@
     std::move(callback).Run(base::Value());
     callback = base::BindOnce(&SystemDialogDone);
   }
-  print_view_manager->PrintForPrintPreview(std::move(job_settings), print_data,
-                                           preview_web_contents->GetMainFrame(),
-                                           std::move(callback));
+  print_view_manager->PrintForPrintPreview(
+      std::move(job_settings), std::move(print_data),
+      preview_web_contents->GetMainFrame(), std::move(callback));
 }
 
 }  // namespace printing
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
index 0069276..e1592060 100644
--- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
@@ -31,7 +31,6 @@
 #include "chrome/browser/profiles/profile_window.h"
 #include "chrome/browser/signin/about_signin_internals_factory.h"
 #include "chrome/browser/signin/account_consistency_mode_manager.h"
-#include "chrome/browser/signin/account_tracker_service_factory.h"
 #include "chrome/browser/signin/chrome_device_id_helper.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/signin/local_auth.h"
@@ -56,7 +55,6 @@
 #include "components/password_manager/core/browser/password_store.h"
 #include "components/prefs/pref_service.h"
 #include "components/signin/core/browser/about_signin_internals.h"
-#include "components/signin/core/browser/account_tracker_service.h"
 #include "components/signin/core/browser/signin_header_helper.h"
 #include "components/signin/core/browser/signin_investigator.h"
 #include "components/signin/core/browser/signin_metrics.h"
@@ -217,6 +215,30 @@
   return false;
 }
 
+// Callback for OneClickSigninSyncStarter.
+void OnSyncSetupComplete(Profile* profile,
+                         base::WeakPtr<InlineLoginHandlerImpl> handler,
+                         const std::string& username,
+                         const std::string& password,
+                         OneClickSigninSyncStarter::SyncSetupResult result) {
+  if (result == OneClickSigninSyncStarter::SYNC_SETUP_SUCCESS &&
+      !password.empty()) {
+    scoped_refptr<password_manager::PasswordStore> password_store =
+        PasswordStoreFactory::GetForProfile(profile,
+                                            ServiceAccessType::EXPLICIT_ACCESS);
+    password_store->SaveGaiaPasswordHash(
+        username, base::UTF8ToUTF16(password),
+        password_manager::metrics_util::SyncPasswordHashChange::
+            SAVED_ON_CHROME_SIGNIN);
+
+    if (profiles::IsLockAvailable(profile))
+      LocalAuth::SetLocalAuthCredentials(profile, password);
+  }
+
+  if (handler)
+    handler->SyncStarterCallback(result);
+}
+
 }  // namespace
 
 InlineSigninHelper::InlineSigninHelper(
@@ -415,7 +437,7 @@
       profile_, browser, gaia_id_, email_, password_, refresh_token,
       signin::GetAccessPointForEmbeddedPromoURL(current_url),
       signin::GetSigninReasonForEmbeddedPromoURL(current_url), profile_mode,
-      base::Bind(&InlineLoginHandlerImpl::SyncStarterCallback, handler_));
+      base::Bind(&OnSyncSetupComplete, profile_, handler_, email_, password_));
 }
 
 bool InlineSigninHelper::HandleCrossAccountError(
diff --git a/chrome/browser/ui/webui/signin/login_ui_service.cc b/chrome/browser/ui/webui/signin/login_ui_service.cc
index c6649e8..c1b51e2d 100644
--- a/chrome/browser/ui/webui/signin/login_ui_service.cc
+++ b/chrome/browser/ui/webui/signin/login_ui_service.cc
@@ -13,7 +13,6 @@
 #include "chrome/browser/signin/signin_promo.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
-#include "chrome/browser/ui/chrome_pages.h"
 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
 #include "chrome/common/url_constants.h"
@@ -60,7 +59,8 @@
     observer.OnSyncConfirmationUIClosed(result);
 }
 
-void LoginUIService::ShowLoginPopup() {
+void LoginUIService::ShowExtensionLoginPrompt(bool enable_sync,
+                                              const std::string& email_hint) {
 #if defined(OS_CHROMEOS)
   NOTREACHED();
 #else
@@ -76,10 +76,22 @@
     return;
   }
 
-  chrome::ScopedTabbedBrowserDisplayer displayer(profile_);
-  chrome::ShowBrowserSignin(
-      displayer.browser(),
-      signin_metrics::AccessPoint::ACCESS_POINT_EXTENSIONS);
+  // This may be called in incognito. Redirect to the original profile.
+  chrome::ScopedTabbedBrowserDisplayer displayer(
+      profile_->GetOriginalProfile());
+  Browser* browser = displayer.browser();
+
+  if (enable_sync) {
+    // Set a primary account.
+    browser->signin_view_controller()->ShowDiceEnableSyncTab(
+        browser, signin_metrics::AccessPoint::ACCESS_POINT_EXTENSIONS,
+        signin_metrics::PromoAction::PROMO_ACTION_NO_SIGNIN_PROMO, email_hint);
+  } else {
+    // Add an account to the web without setting a primary account.
+    browser->signin_view_controller()->ShowDiceAddAccountTab(
+        browser, signin_metrics::AccessPoint::ACCESS_POINT_EXTENSIONS,
+        email_hint);
+  }
 #endif
 }
 
diff --git a/chrome/browser/ui/webui/signin/login_ui_service.h b/chrome/browser/ui/webui/signin/login_ui_service.h
index 61b80a7d..b80ffd1 100644
--- a/chrome/browser/ui/webui/signin/login_ui_service.h
+++ b/chrome/browser/ui/webui/signin/login_ui_service.h
@@ -7,6 +7,7 @@
 
 #include <list>
 #include <memory>
+#include <string>
 
 #include "base/macros.h"
 #include "base/observer_list.h"
@@ -75,10 +76,10 @@
   // option chosen by the user in the confirmation UI.
   void SyncConfirmationUIClosed(SyncConfirmationUIClosedResult result);
 
-  // Delegate to an existing login dialog if one exists.
-  // If not, we make a new popup dialog window, and set it to
-  // chrome://signin to ask the user to sign in to chrome.
-  void ShowLoginPopup();
+  // Delegate to an existing login tab if one exists. If not, a new sigin tab is
+  // created.
+  void ShowExtensionLoginPrompt(bool enable_sync,
+                                const std::string& email_hint);
 
   // Displays login results. This is either the Modal Signin Error dialog if
   // |error_message| is a non-empty string, or the User Menu with a blue header
diff --git a/chrome/browser/ui/webui/signin/login_ui_service_unittest.cc b/chrome/browser/ui/webui/signin/login_ui_service_unittest.cc
index 23cd90f..b2fb62b 100644
--- a/chrome/browser/ui/webui/signin/login_ui_service_unittest.cc
+++ b/chrome/browser/ui/webui/signin/login_ui_service_unittest.cc
@@ -7,12 +7,14 @@
 #include "base/compiler_specific.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "base/strings/string_util.h"
 #include "build/build_config.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/base/testing_profile_manager.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
 
 #if !defined(OS_CHROMEOS)
 #include "chrome/browser/browser_process.h"
@@ -25,6 +27,7 @@
 #include "chrome/test/base/browser_with_test_window_test.h"
 #include "content/public/browser/web_contents.h"
 #include "extensions/common/extension_builder.h"
+#include "google_apis/gaia/gaia_urls.h"
 #endif
 
 class LoginUIServiceTest : public testing::Test {
@@ -100,7 +103,8 @@
 }
 
 #if !defined(OS_CHROMEOS)
-class LoginUIServiceLoginPopupTest : public BrowserWithTestWindowTest {
+class LoginUIServiceExtensionLoginPromptTest
+    : public BrowserWithTestWindowTest {
  public:
   void SetUp() override {
     BrowserWithTestWindowTest::SetUp();
@@ -114,23 +118,54 @@
   TabStripModel* model_;
 };
 
-TEST_F(LoginUIServiceLoginPopupTest, ShowLoginPop) {
+TEST_F(LoginUIServiceExtensionLoginPromptTest, Show) {
   extensions::TestExtensionSystem* extension_system =
       static_cast<extensions::TestExtensionSystem*>(
           extensions::ExtensionSystem::Get(profile()));
   extension_system->CreateExtensionService(
       base::CommandLine::ForCurrentProcess(), base::FilePath(), false);
-  service_->ShowLoginPopup();
+  service_->ShowExtensionLoginPrompt(/*restricted_to_primary_account=*/true,
+                                     /*email_hint=*/std::string());
   EXPECT_EQ(1, model_->count());
+  // Calling the function again reuses the tab.
+  service_->ShowExtensionLoginPrompt(/*restricted_to_primary_account=*/true,
+                                     /*email_hint=*/std::string());
+  EXPECT_EQ(1, model_->count());
+
+  content::WebContents* tab = model_->GetWebContentsAt(0);
+  ASSERT_TRUE(tab);
+  EXPECT_TRUE(base::StartsWith(
+      tab->GetVisibleURL().spec(),
+      GaiaUrls::GetInstance()->signin_chrome_sync_dice().spec(),
+      base::CompareCase::INSENSITIVE_ASCII));
+
+  // Changing the parameter opens a new tab.
+  service_->ShowExtensionLoginPrompt(/*restricted_to_primary_account=*/false,
+                                     /*email_hint=*/std::string());
+  EXPECT_EQ(2, model_->count());
+  // Calling the function again reuses the tab.
+  service_->ShowExtensionLoginPrompt(/*restricted_to_primary_account=*/false,
+                                     /*email_hint=*/std::string());
+  EXPECT_EQ(2, model_->count());
+  tab = model_->GetWebContentsAt(1);
+  ASSERT_TRUE(tab);
+  EXPECT_TRUE(
+      base::StartsWith(tab->GetVisibleURL().spec(),
+                       GaiaUrls::GetInstance()->add_account_url().spec(),
+                       base::CompareCase::INSENSITIVE_ASCII));
 }
 
-TEST_F(LoginUIServiceLoginPopupTest, NotShowLoginPopAsLockedProfile) {
+TEST_F(LoginUIServiceExtensionLoginPromptTest, AsLockedProfile) {
   ProfileAttributesEntry* entry;
   ASSERT_TRUE(g_browser_process->profile_manager()
                   ->GetProfileAttributesStorage()
                   .GetProfileAttributesWithPath(profile()->GetPath(), &entry));
   entry->SetIsSigninRequired(true);
-  service_->ShowLoginPopup();
+  service_->ShowExtensionLoginPrompt(/*restricted_to_primary_account=*/true,
+                                     /*email_hint=*/std::string());
+  EXPECT_EQ(0, model_->count());
+  service_->ShowExtensionLoginPrompt(/*restricted_to_primary_account=*/false,
+                                     /*email_hint=*/std::string());
   EXPECT_EQ(0, model_->count());
 }
 #endif
diff --git a/chrome/browser/ui/webui/signin_internals_ui.cc b/chrome/browser/ui/webui/signin_internals_ui.cc
index a2b4919..3ff768b7 100644
--- a/chrome/browser/ui/webui/signin_internals_ui.cc
+++ b/chrome/browser/ui/webui/signin_internals_ui.cc
@@ -11,13 +11,13 @@
 #include "base/hash.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/about_signin_internals_factory.h"
-#include "chrome/browser/signin/gaia_cookie_manager_service_factory.h"
+#include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/common/url_constants.h"
 #include "components/grit/components_resources.h"
 #include "components/signin/core/browser/about_signin_internals.h"
-#include "components/signin/core/browser/gaia_cookie_manager_service.h"
 #include "content/public/browser/web_ui.h"
 #include "content/public/browser/web_ui_data_source.h"
+#include "services/identity/public/cpp/identity_manager.h"
 
 namespace {
 
@@ -79,15 +79,13 @@
           "chrome.signin.getSigninInfo.handleReply",
           *about_signin_internals->GetSigninStatus());
 
-      std::vector<gaia::ListedAccount> cookie_accounts;
-      std::vector<gaia::ListedAccount> signed_out_accounts;
-      GaiaCookieManagerService* cookie_manager_service =
-          GaiaCookieManagerServiceFactory::GetForProfile(profile);
-      if (cookie_manager_service->ListAccounts(&cookie_accounts,
-                                               &signed_out_accounts)) {
-        about_signin_internals->OnGaiaAccountsInCookieUpdated(
-            cookie_accounts,
-            signed_out_accounts,
+      identity::IdentityManager* identity_manager =
+          IdentityManagerFactory::GetForProfile(profile);
+      identity::AccountsInCookieJarInfo accounts_in_cookie_jar =
+          identity_manager->GetAccountsInCookieJar();
+      if (accounts_in_cookie_jar.accounts_are_fresh) {
+        about_signin_internals->OnAccountsInCookieUpdated(
+            accounts_in_cookie_jar,
             GoogleServiceAuthError(GoogleServiceAuthError::NONE));
       }
 
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index f186e783..a3203da 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -294,6 +294,11 @@
 const base::Feature kGeoLanguage{"GeoLanguage",
                                  base::FEATURE_DISABLED_BY_DEFAULT};
 
+#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+const base::Feature kGoogleBrandedContextMenu{
+    "GoogleBrandedContextMenu", base::FEATURE_DISABLED_BY_DEFAULT};
+#endif  // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+
 #if defined(OS_ANDROID)
 const base::Feature kGrantNotificationsToDSE{"GrantNotificationsToDSE",
                                              base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 966fd1abe..1f14c95 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -191,6 +191,11 @@
 
 COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kGeoLanguage;
 
+#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+COMPONENT_EXPORT(CHROME_FEATURES)
+extern const base::Feature kGoogleBrandedContextMenu;
+#endif
+
 #if defined(OS_ANDROID)
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kGrantNotificationsToDSE;
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 2ac0c8f..e1ed9233 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -697,12 +697,6 @@
 // resulted in a browser startup.
 const char kWinJumplistAction[]             = "win-jumplist-action";
 
-#if defined(GOOGLE_CHROME_BUILD)
-// Shows a Google icon next to context menu items powered by Google services.
-const char kEnableGoogleBrandedContextMenu[] =
-    "enable-google-branded-context-menu";
-#endif  // defined(GOOGLE_CHROME_BUILD)
-
 #if !defined(GOOGLE_CHROME_BUILD)
 // Enables a live-reload for local NTP resources. This only works when Chrome
 // is running from a Chrome source directory.
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index eddcfd6..88f94861 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -202,10 +202,6 @@
 extern const char kWinHttpProxyResolver[];
 extern const char kWinJumplistAction[];
 
-#if defined(GOOGLE_CHROME_BUILD)
-extern const char kEnableGoogleBrandedContextMenu[];
-#endif  // defined(GOOGLE_CHROME_BUILD)
-
 #if !defined(GOOGLE_CHROME_BUILD)
 extern const char kLocalNtpReload[];
 #endif
diff --git a/chrome/common/prerender_url_loader_throttle.cc b/chrome/common/prerender_url_loader_throttle.cc
index 787e915b..fc0a5063 100644
--- a/chrome/common/prerender_url_loader_throttle.cc
+++ b/chrome/common/prerender_url_loader_throttle.cc
@@ -78,6 +78,11 @@
 void PrerenderURLLoaderThrottle::WillStartRequest(
     network::ResourceRequest* request,
     bool* defer) {
+  if (mode_ == PREFETCH_ONLY) {
+    request->load_flags |= net::LOAD_PREFETCH;
+    request->headers.SetHeader(kPurposeHeaderName, kPurposeHeaderValue);
+  }
+
   resource_type_ = static_cast<content::ResourceType>(request->resource_type);
   // Abort any prerenders that spawn requests that use unsupported HTTP
   // methods or schemes.
@@ -132,7 +137,6 @@
 #endif  // OS_ANDROID
 
   if (mode_ == PREFETCH_ONLY) {
-    request->headers.SetHeader(kPurposeHeaderName, kPurposeHeaderValue);
     detached_timer_.Start(FROM_HERE,
                           base::TimeDelta::FromMilliseconds(
                               content::kDefaultDetachableCancelDelayMs),
diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn
index cec51216..05e0c5f 100644
--- a/chrome/installer/linux/BUILD.gn
+++ b/chrome/installer/linux/BUILD.gn
@@ -171,7 +171,8 @@
     stripped_file,
   ]
   args = [
-    rebase_path("//third_party/eu-strip/bin/eu-strip", root_build_dir),
+    rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip",
+                root_build_dir),
     "-o",
     rebase_path(stripped_file, root_build_dir),
     "-f",
@@ -248,7 +249,7 @@
     ]
   }
 
-  sources += [ "//third_party/eu-strip/bin/eu-strip" ]
+  sources += [ "//buildtools/third_party/eu-strip/bin/eu-strip" ]
 
   outputs = [
     "$root_out_dir/installer/common/{{source_file_part}}",
diff --git a/chrome/services/diagnosticsd/public/mojom/diagnosticsd.mojom b/chrome/services/diagnosticsd/public/mojom/diagnosticsd.mojom
index 141fb7b..42d2db3e 100644
--- a/chrome/services/diagnosticsd/public/mojom/diagnosticsd.mojom
+++ b/chrome/services/diagnosticsd/public/mojom/diagnosticsd.mojom
@@ -67,7 +67,7 @@
   PerformWebRequest@0(DiagnosticsdWebRequestHttpMethod http_method,
                       handle url,
                       array<handle> headers,
-                      handle request_body)
+                      handle? request_body)
       => (DiagnosticsdWebRequestStatus status, int32 http_status,
-          handle response_body);
+          handle? response_body);
 };
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 5bfdc036..ed862d53 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -5555,7 +5555,6 @@
     ]
 
     data_deps = [
-      "//testing/buildbot/filters:sync_integration_tests_filters",
       "//third_party/mesa_headers",
     ]
 
diff --git a/chrome/test/ppapi/ppapi_filechooser_browsertest.cc b/chrome/test/ppapi/ppapi_filechooser_browsertest.cc
index 40b5c1e..f197d97 100644
--- a/chrome/test/ppapi/ppapi_filechooser_browsertest.cc
+++ b/chrome/test/ppapi/ppapi_filechooser_browsertest.cc
@@ -235,17 +235,12 @@
   RunTestViaHTTP("FileChooser_SaveAsCancel");
 }
 
-#if defined(OS_WIN) || defined(OS_LINUX) && !defined(OS_CHROMEOS)
-// On Windows, tests that a file downloaded via PPAPI FileChooser API has the
-// mark-of-the-web. The PPAPI FileChooser implementation invokes QuarantineFile
-// in order to mark the file as being downloaded from the web as soon as the
-// file is created. This MOTW prevents the file being opened without due
-// security warnings if the file is executable.
-//
-// On Linux Desktop, the setxattr call is made to set 'user.xdg.origin.url' and
-// the non-standard 'user.xdg.referrer.url' extended attributes to accomplish
-// the same thing. See
-// https://www.freedesktop.org/wiki/CommonExtendedAttributes/.
+#if defined(OS_WIN) || defined(OS_MACOSX)
+// On Windows and macOS, tests that a file downloaded via PPAPI FileChooser API
+// has the mark-of-the-web. The PPAPI FileChooser implementation invokes
+// QuarantineFile in order to mark the file as being downloaded from the web as
+// soon as the file is created. This MotW prevents the file being opened without
+// due security warnings if the file is executable.
 IN_PROC_BROWSER_TEST_F(PPAPIFileChooserTest, FileChooser_Quarantine) {
   base::ScopedAllowBlockingForTesting allow_blocking;
   base::ScopedTempDir temp_dir;
@@ -265,7 +260,7 @@
   ASSERT_TRUE(base::PathExists(actual_filename));
   EXPECT_TRUE(download::IsFileQuarantined(actual_filename, GURL(), GURL()));
 }
-#endif  // defined(OS_WIN) || defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#endif  // defined(OS_WIN) || defined(OS_MACOSX)
 
 #if defined(FULL_SAFE_BROWSING)
 // These tests only make sense when SafeBrowsing is enabled. They verify
diff --git a/chromecast/browser/BUILD.gn b/chromecast/browser/BUILD.gn
index 8d0c995..1e029c481 100644
--- a/chromecast/browser/BUILD.gn
+++ b/chromecast/browser/BUILD.gn
@@ -49,6 +49,8 @@
     "cast_navigation_ui_data.h",
     "cast_net_log.cc",
     "cast_net_log.h",
+    "cast_network_contexts.cc",
+    "cast_network_contexts.h",
     "cast_network_delegate.cc",
     "cast_network_delegate.h",
     "cast_network_request_interceptor.cc",
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index a492b896..5a535878 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -33,6 +33,7 @@
 #include "chromecast/browser/cast_feature_list_creator.h"
 #include "chromecast/browser/cast_http_user_agent_settings.h"
 #include "chromecast/browser/cast_navigation_ui_data.h"
+#include "chromecast/browser/cast_network_contexts.h"
 #include "chromecast/browser/cast_network_delegate.h"
 #include "chromecast/browser/cast_overlay_manifests.h"
 #include "chromecast/browser/cast_quota_permission_context.h"
@@ -76,6 +77,7 @@
 #include "media/mojo/buildflags.h"
 #include "net/ssl/ssl_cert_request_info.h"
 #include "net/url_request/url_request_context_getter.h"
+#include "services/network/public/cpp/features.h"
 #include "services/service_manager/embedder/descriptors.h"
 #include "ui/display/display.h"
 #include "ui/display/screen.h"
@@ -188,6 +190,8 @@
     : cast_browser_main_parts_(nullptr),
       url_request_context_factory_(new URLRequestContextFactory()),
       cast_feature_list_creator_(cast_feature_list_creator) {
+  cast_network_contexts_ =
+      std::make_unique<CastNetworkContexts>(url_request_context_factory_.get());
   cast_feature_list_creator_->SetExtraEnableFeatures({
     ::media::kInternalMediaSession,
 #if defined(OS_ANDROID)
@@ -211,6 +215,7 @@
   DCHECK(!media_resource_tracker_)
       << "ResetMediaResourceTracker was not called";
 #endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
+  cast_network_contexts_.reset();
   content::BrowserThread::DeleteSoon(content::BrowserThread::IO, FROM_HERE,
                                      url_request_context_factory_.release());
 }
@@ -912,6 +917,29 @@
   return throttles;
 }
 
+void CastContentBrowserClient::OnNetworkServiceCreated(
+    network::mojom::NetworkService* network_service) {
+  if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
+    return;
+
+  // Need to set up global NetworkService state before anything else uses it.
+  cast_network_contexts_->OnNetworkServiceCreated(network_service);
+}
+
+network::mojom::NetworkContextPtr
+CastContentBrowserClient::CreateNetworkContext(
+    content::BrowserContext* context,
+    bool in_memory,
+    const base::FilePath& relative_partition_path) {
+  // StoragePartition will wrap the URLRequestContext it owns with a
+  // NetworkContext pipe if network service is disabled.
+  if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
+    return nullptr;
+
+  return cast_network_contexts_->CreateNetworkContext(context, in_memory,
+                                                      relative_partition_path);
+}
+
 std::string CastContentBrowserClient::GetUserAgent() const {
   return chromecast::shell::GetUserAgent();
 }
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h
index e04681f..4e5802b 100644
--- a/chromecast/browser/cast_content_browser_client.h
+++ b/chromecast/browser/cast_content_browser_client.h
@@ -62,6 +62,7 @@
 
 namespace shell {
 class CastBrowserMainParts;
+class CastNetworkContexts;
 class CastResourceDispatcherHostDelegate;
 class URLRequestContextFactory;
 
@@ -199,6 +200,12 @@
   bool ShouldEnableStrictSiteIsolation() override;
   std::vector<std::unique_ptr<content::NavigationThrottle>>
   CreateThrottlesForNavigation(content::NavigationHandle* handle) override;
+  void OnNetworkServiceCreated(
+      network::mojom::NetworkService* network_service) override;
+  network::mojom::NetworkContextPtr CreateNetworkContext(
+      content::BrowserContext* context,
+      bool in_memory,
+      const base::FilePath& relative_partition_path) override;
   std::string GetUserAgent() const override;
   CastFeatureListCreator* GetCastFeatureListCreator() {
     return cast_feature_list_creator_;
@@ -263,6 +270,7 @@
 
   // Created by CastContentBrowserClient but owned by BrowserMainLoop.
   CastBrowserMainParts* cast_browser_main_parts_;
+  std::unique_ptr<CastNetworkContexts> cast_network_contexts_;
   std::unique_ptr<URLRequestContextFactory> url_request_context_factory_;
   std::unique_ptr<CastResourceDispatcherHostDelegate>
       resource_dispatcher_host_delegate_;
diff --git a/chromecast/browser/cast_network_contexts.cc b/chromecast/browser/cast_network_contexts.cc
new file mode 100644
index 0000000..c2e42eb
--- /dev/null
+++ b/chromecast/browser/cast_network_contexts.cc
@@ -0,0 +1,233 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chromecast/browser/cast_network_contexts.h"
+
+#include <memory>
+#include <string>
+#include <utility>
+
+#include "base/bind.h"
+#include "base/task/post_task.h"
+#include "chromecast/browser/url_request_context_factory.h"
+#include "content/public/browser/browser_task_traits.h"
+#include "content/public/browser/network_service_instance.h"
+#include "services/network/network_context.h"
+#include "services/network/public/cpp/cross_thread_shared_url_loader_factory_info.h"
+#include "services/network/public/cpp/features.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+
+namespace chromecast {
+namespace shell {
+
+// SharedURLLoaderFactory backed by a CastNetworkContexts and its system
+// NetworkContext. Transparently handles crashes.
+class CastNetworkContexts::URLLoaderFactoryForSystem
+    : public network::SharedURLLoaderFactory {
+ public:
+  explicit URLLoaderFactoryForSystem(CastNetworkContexts* network_context)
+      : network_context_(network_context) {
+    DETACH_FROM_SEQUENCE(sequence_checker_);
+  }
+
+  // mojom::URLLoaderFactory implementation:
+  void CreateLoaderAndStart(network::mojom::URLLoaderRequest request,
+                            int32_t routing_id,
+                            int32_t request_id,
+                            uint32_t options,
+                            const network::ResourceRequest& url_request,
+                            network::mojom::URLLoaderClientPtr client,
+                            const net::MutableNetworkTrafficAnnotationTag&
+                                traffic_annotation) override {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+    if (!network_context_)
+      return;
+    network_context_->GetSystemURLLoaderFactory()->CreateLoaderAndStart(
+        std::move(request), routing_id, request_id, options, url_request,
+        std::move(client), traffic_annotation);
+  }
+
+  void Clone(network::mojom::URLLoaderFactoryRequest request) override {
+    if (!network_context_)
+      return;
+    network_context_->GetSystemURLLoaderFactory()->Clone(std::move(request));
+  }
+
+  // SharedURLLoaderFactory implementation:
+  std::unique_ptr<network::SharedURLLoaderFactoryInfo> Clone() override {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+    return std::make_unique<network::CrossThreadSharedURLLoaderFactoryInfo>(
+        this);
+  }
+
+  void Shutdown() { network_context_ = nullptr; }
+
+ private:
+  friend class base::RefCounted<URLLoaderFactoryForSystem>;
+  ~URLLoaderFactoryForSystem() override {}
+
+  SEQUENCE_CHECKER(sequence_checker_);
+  CastNetworkContexts* network_context_;
+
+  DISALLOW_COPY_AND_ASSIGN(URLLoaderFactoryForSystem);
+};
+
+// Class to own the NetworkContext wrapping the system URLRequestContext when
+// the network service is disabled.
+//
+// Created on the UI thread, but must be initialized and destroyed on the IO
+// thread.
+class CastNetworkContexts::SystemNetworkContextOwner {
+ public:
+  SystemNetworkContextOwner() {
+    DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  }
+
+  ~SystemNetworkContextOwner() {
+    DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
+  }
+
+  void Initialize(network::mojom::NetworkContextRequest network_context_request,
+                  scoped_refptr<net::URLRequestContextGetter> context_getter) {
+    DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
+    context_getter_ = std::move(context_getter);
+    network_context_ = std::make_unique<network::NetworkContext>(
+        content::GetNetworkServiceImpl(), std::move(network_context_request),
+        context_getter_->GetURLRequestContext());
+  }
+
+ private:
+  // Reference to the URLRequestContextGetter for the URLRequestContext used by
+  // NetworkContext. Depending on the embedder's implementation, this may be
+  // needed to keep the URLRequestContext alive until the NetworkContext is
+  // destroyed.
+  scoped_refptr<net::URLRequestContextGetter> context_getter_;
+  std::unique_ptr<network::mojom::NetworkContext> network_context_;
+
+  DISALLOW_COPY_AND_ASSIGN(SystemNetworkContextOwner);
+};
+
+CastNetworkContexts::CastNetworkContexts(
+    URLRequestContextFactory* url_request_context_factory)
+    : url_request_context_factory_(url_request_context_factory) {
+  system_shared_url_loader_factory_ =
+      base::MakeRefCounted<URLLoaderFactoryForSystem>(this);
+}
+
+CastNetworkContexts::~CastNetworkContexts() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+  system_shared_url_loader_factory_->Shutdown();
+}
+
+network::mojom::NetworkContext* CastNetworkContexts::GetSystemContext() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+  if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) {
+    if (!system_network_context_) {
+      system_network_context_owner_.reset(new SystemNetworkContextOwner);
+      base::PostTaskWithTraits(
+          FROM_HERE, {content::BrowserThread::IO},
+          base::BindOnce(&SystemNetworkContextOwner::Initialize,
+                         base::Unretained(system_network_context_owner_.get()),
+                         MakeRequest(&system_network_context_),
+                         base::WrapRefCounted(
+                             url_request_context_factory_->GetSystemGetter())));
+    }
+    return system_network_context_.get();
+  }
+
+  if (!system_network_context_ || system_network_context_.encountered_error()) {
+    // This should call into OnNetworkServiceCreated(), which will re-create
+    // the network service, if needed. There's a chance that it won't be
+    // invoked, if the NetworkContext has encountered an error but the
+    // NetworkService has not yet noticed its pipe was closed. In that case,
+    // trying to create a new NetworkContext would fail, anyways, and hopefully
+    // a new NetworkContext will be created on the next GetContext() call.
+    content::GetNetworkService();
+    DCHECK(system_network_context_);
+  }
+
+  return system_network_context_.get();
+}
+
+network::mojom::URLLoaderFactory*
+CastNetworkContexts::GetSystemURLLoaderFactory() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+  // Create the URLLoaderFactory as needed.
+  if (system_url_loader_factory_ &&
+      !system_url_loader_factory_.encountered_error()) {
+    return system_url_loader_factory_.get();
+  }
+
+  network::mojom::URLLoaderFactoryParamsPtr params =
+      network::mojom::URLLoaderFactoryParams::New();
+  params->process_id = network::mojom::kBrowserProcessId;
+  params->is_corb_enabled = false;
+  GetSystemContext()->CreateURLLoaderFactory(
+      mojo::MakeRequest(&system_url_loader_factory_), std::move(params));
+  return system_shared_url_loader_factory_.get();
+}
+
+scoped_refptr<network::SharedURLLoaderFactory>
+CastNetworkContexts::GetSystemSharedURLLoaderFactory() {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+  return system_shared_url_loader_factory_;
+}
+
+network::mojom::NetworkContextPtr CastNetworkContexts::CreateNetworkContext(
+    content::BrowserContext* context,
+    bool in_memory,
+    const base::FilePath& relative_partition_path) {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+  DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService));
+
+  network::mojom::NetworkContextPtr network_context;
+  network::mojom::NetworkContextParamsPtr context_params =
+      CreateDefaultNetworkContextParams();
+
+  // Copy of what's in ContentBrowserClient::CreateNetworkContext for now.
+  context_params->accept_language = "en-us,en";
+  context_params->enable_data_url_support = true;
+
+  content::GetNetworkService()->CreateNetworkContext(
+      MakeRequest(&network_context), std::move(context_params));
+  return network_context;
+}
+
+void CastNetworkContexts::OnNetworkServiceCreated(
+    network::mojom::NetworkService* network_service) {
+  if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
+    return;
+
+  // The system NetworkContext must be created first, since it sets
+  // |primary_network_context| to true.
+  network_service->CreateNetworkContext(MakeRequest(&system_network_context_),
+                                        CreateSystemNetworkContextParams());
+}
+
+network::mojom::NetworkContextParamsPtr
+CastNetworkContexts::CreateDefaultNetworkContextParams() {
+  network::mojom::NetworkContextParamsPtr network_context_params =
+      network::mojom::NetworkContextParams::New();
+
+  return network_context_params;
+}
+
+network::mojom::NetworkContextParamsPtr
+CastNetworkContexts::CreateSystemNetworkContextParams() {
+  network::mojom::NetworkContextParamsPtr network_context_params =
+      CreateDefaultNetworkContextParams();
+
+  network_context_params->context_name = std::string("system");
+
+  network_context_params->primary_network_context = true;
+
+  return network_context_params;
+}
+
+}  // namespace shell
+}  // namespace chromecast
diff --git a/chromecast/browser/cast_network_contexts.h b/chromecast/browser/cast_network_contexts.h
new file mode 100644
index 0000000..de68895
--- /dev/null
+++ b/chromecast/browser/cast_network_contexts.h
@@ -0,0 +1,110 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROMECAST_BROWSER_CAST_NETWORK_CONTEXTS_H_
+#define CHROMECAST_BROWSER_CAST_NETWORK_CONTEXTS_H_
+
+#include <memory>
+
+#include "base/memory/scoped_refptr.h"
+#include "content/public/browser/browser_thread.h"
+#include "services/network/public/mojom/network_service.mojom.h"
+
+namespace base {
+class FilePath;
+}
+
+namespace content {
+class BrowserContext;
+}
+
+namespace network {
+namespace mojom {
+class NetworkContext;
+class URLLoaderFactory;
+}  // namespace mojom
+class SharedURLLoaderFactory;
+}  // namespace network
+
+namespace chromecast {
+namespace shell {
+class URLRequestContextFactory;
+
+// This class owns the NetworkContext used for the system and for configuring it
+// along with the BrowserContext's NetworkContext.
+// If the network service is disabled, it will create a NetworkContext object
+// that wraps the system URLRequestContext from URLRequestContextFactory.
+// Otherwise it will create and configure its own NetworkContext for the system,
+// and create the BrowserContext's main StoragePartition's NetworkContext.
+// It lives on the UI thread.
+class CastNetworkContexts {
+ public:
+  // |url_request_context_factory| needs to outlive this object.
+  explicit CastNetworkContexts(
+      URLRequestContextFactory* url_request_context_factory);
+  ~CastNetworkContexts();
+
+  // Returns the System NetworkContext. Does any initialization of the
+  // NetworkService that may be needed when first called.
+  network::mojom::NetworkContext* GetSystemContext();
+
+  // Returns a URLLoaderFactory owned by the CastNetworkContexts that is
+  // backed by the system NetworkContext. Allows sharing of the
+  // URLLoaderFactory. Prefer this to creating a new one.  Call Clone() on the
+  // value returned by this method to get a URLLoaderFactory that can be used on
+  // other threads.
+  network::mojom::URLLoaderFactory* GetSystemURLLoaderFactory();
+
+  // Returns a SharedURLLoaderFactory that is backed by the system
+  // NetworkContext.
+  scoped_refptr<network::SharedURLLoaderFactory>
+  GetSystemSharedURLLoaderFactory();
+
+  // Called when content creates a NetworkService. Creates the
+  // system NetworkContext, if the network service is enabled.
+  void OnNetworkServiceCreated(network::mojom::NetworkService* network_service);
+
+  network::mojom::NetworkContextPtr CreateNetworkContext(
+      content::BrowserContext* context,
+      bool in_memory,
+      const base::FilePath& relative_partition_path);
+
+ private:
+  class SystemNetworkContextOwner;
+  class URLLoaderFactoryForSystem;
+
+  // Returns default set of parameters for configuring the network service.
+  network::mojom::NetworkContextParamsPtr CreateDefaultNetworkContextParams();
+
+  // Creates parameters for the system NetworkContext. May only be called once,
+  // since it initializes some class members.
+  network::mojom::NetworkContextParamsPtr CreateSystemNetworkContextParams();
+
+  // The following members are used when the network service is disabled.
+  URLRequestContextFactory* url_request_context_factory_;
+
+  // The system NetworkContext.
+  network::mojom::NetworkContextPtr system_network_context_;
+
+  // A helper class that owns the network::NetworkContext that wraps the system
+  // URLRequestContext.
+  std::unique_ptr<SystemNetworkContextOwner,
+                  content::BrowserThread::DeleteOnIOThread>
+      system_network_context_owner_;
+
+  // End of members that are only used if network service is disabled.
+
+  // URLLoaderFactory backed by the NetworkContext returned by
+  // GetSystemContext(), so consumers don't all need to create their own
+  // factory.
+  scoped_refptr<URLLoaderFactoryForSystem> system_shared_url_loader_factory_;
+  network::mojom::URLLoaderFactoryPtr system_url_loader_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(CastNetworkContexts);
+};
+
+}  // namespace shell
+}  // namespace chromecast
+
+#endif  // CHROMECAST_BROWSER_URL_REQUEST_CONTEXT_FACTORY_H_
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn
index 5eaae8a..2b31d0f 100644
--- a/chromeos/BUILD.gn
+++ b/chromeos/BUILD.gn
@@ -277,10 +277,8 @@
   # Tast test sources live in the Chromium OS repository.
   # To diagnose tast failures or disable tests, see go/tast-failures
   tast_test("chrome_all_tast_tests") {
-    tast_disabled_tests = [
-      # Disabled due to flake. https://crbug.com/909736
-      "ui.MashLogin",
-    ]
+    # To disable a specific test, add it the following list.
+    tast_disabled_tests = []
   }
   tast_test("chrome_kevin_tast_tests") {
     # Tests that fail on Kevin devices.
diff --git a/chromeos/dbus/BUILD.gn b/chromeos/dbus/BUILD.gn
index 3978a5f6..16cb920 100644
--- a/chromeos/dbus/BUILD.gn
+++ b/chromeos/dbus/BUILD.gn
@@ -26,6 +26,7 @@
     ":media_perception_proto",
     ":metrics_event_proto",
     ":oobe_config_proto",
+    ":plugin_vm_service_proto",
     ":power_manager_proto",
     ":runtime_probe_proto",
     ":seneschal_proto",
@@ -410,6 +411,14 @@
   proto_out_dir = "chromeos/dbus/oobe_config"
 }
 
+proto_library("plugin_vm_service_proto") {
+  sources = [
+    "//third_party/cros_system_api/dbus/plugin_vm_service/plugin_vm_service.proto",
+  ]
+
+  proto_out_dir = "chromeos/dbus/plugin_vm_service"
+}
+
 proto_library("power_manager_proto") {
   sources = [
     "//third_party/cros_system_api/dbus/power_manager/backlight.proto",
diff --git a/chromeos/services/device_sync/BUILD.gn b/chromeos/services/device_sync/BUILD.gn
index b86ef30..a4b6fa2 100644
--- a/chromeos/services/device_sync/BUILD.gn
+++ b/chromeos/services/device_sync/BUILD.gn
@@ -28,6 +28,10 @@
     "cryptauth_enrollment_manager_impl.h",
     "cryptauth_enrollment_result.cc",
     "cryptauth_enrollment_result.h",
+    "cryptauth_enrollment_scheduler.cc",
+    "cryptauth_enrollment_scheduler.h",
+    "cryptauth_enrollment_scheduler_impl.cc",
+    "cryptauth_enrollment_scheduler_impl.h",
     "cryptauth_gcm_manager.cc",
     "cryptauth_gcm_manager.h",
     "cryptauth_gcm_manager_impl.cc",
@@ -151,6 +155,7 @@
     "cryptauth_device_manager_impl_unittest.cc",
     "cryptauth_enroller_impl_unittest.cc",
     "cryptauth_enrollment_manager_impl_unittest.cc",
+    "cryptauth_enrollment_scheduler_impl_unittest.cc",
     "cryptauth_gcm_manager_impl_unittest.cc",
     "cryptauth_key_bundle_unittest.cc",
     "cryptauth_key_registry_impl_unittest.cc",
diff --git a/chromeos/services/device_sync/cryptauth_enrollment_scheduler.cc b/chromeos/services/device_sync/cryptauth_enrollment_scheduler.cc
new file mode 100644
index 0000000..35c6b776
--- /dev/null
+++ b/chromeos/services/device_sync/cryptauth_enrollment_scheduler.cc
@@ -0,0 +1,26 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chromeos/services/device_sync/cryptauth_enrollment_scheduler.h"
+
+namespace chromeos {
+
+namespace device_sync {
+
+CryptAuthEnrollmentScheduler::CryptAuthEnrollmentScheduler(Delegate* delegate)
+    : delegate_(delegate) {
+  DCHECK(delegate);
+}
+
+CryptAuthEnrollmentScheduler::~CryptAuthEnrollmentScheduler() = default;
+
+void CryptAuthEnrollmentScheduler::NotifyEnrollmentRequested(
+    const base::Optional<cryptauthv2::PolicyReference>&
+        client_directive_policy_reference) const {
+  delegate_->OnEnrollmentRequested(client_directive_policy_reference);
+}
+
+}  // namespace device_sync
+
+}  // namespace chromeos
diff --git a/chromeos/services/device_sync/cryptauth_enrollment_scheduler.h b/chromeos/services/device_sync/cryptauth_enrollment_scheduler.h
new file mode 100644
index 0000000..1bb2c99
--- /dev/null
+++ b/chromeos/services/device_sync/cryptauth_enrollment_scheduler.h
@@ -0,0 +1,93 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROMEOS_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_SCHEDULER_H_
+#define CHROMEOS_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_SCHEDULER_H_
+
+#include "base/macros.h"
+#include "base/optional.h"
+#include "base/time/time.h"
+#include "chromeos/services/device_sync/cryptauth_enrollment_result.h"
+#include "chromeos/services/device_sync/proto/cryptauth_common.pb.h"
+
+namespace chromeos {
+
+namespace device_sync {
+
+// Schedules periodic enrollments, alerting the delegate when an enrollment
+// attempt is due via Delegate::OnEnrollmentRequested(). The periodic scheduling
+// begins on construction. The client can bypass the periodic schedule and
+// immediately trigger an enrollment request via RequestEnrollmentNow(). When an
+// enrollment attempt has completed, successfully or not, the client should
+// invoke HandleEnrollmentResult() so the scheduler can process the enrollment
+// attempt outcome.
+class CryptAuthEnrollmentScheduler {
+ public:
+  class Delegate {
+   public:
+    Delegate() = default;
+    virtual ~Delegate() = default;
+
+    // Called to alert the delegate that an enrollment attempt has been
+    // requested by the scheduler.
+    // |client_directive_policy_reference|: Identifies the CryptAuth policy
+    // associated with the ClientDirective parameters used to schedule this
+    // enrollment attempt. If no ClientDirective was used by the scheduler,
+    // base::nullopt is passed.
+    virtual void OnEnrollmentRequested(
+        const base::Optional<cryptauthv2::PolicyReference>&
+            client_directive_policy_reference) = 0;
+  };
+
+  virtual ~CryptAuthEnrollmentScheduler();
+
+  // Cancels the currently scheduled enrollment, and requests an enrollment
+  // immediately.
+  virtual void RequestEnrollmentNow() = 0;
+
+  // Processes the result of the previous enrollment attempt.
+  virtual void HandleEnrollmentResult(
+      const CryptAuthEnrollmentResult& enrollment_result) = 0;
+
+  // Returns the time of the last known successful enrollment. If no successful
+  // enrollment has occurred, base::nullopt is returned.
+  virtual base::Optional<base::Time> GetLastSuccessfulEnrollmentTime()
+      const = 0;
+
+  // Returns the scheduler's time period between a successful enrollment and
+  // its next enrollment request. Note that this period may not be strictly
+  // adhered to due to RequestEnrollmentNow() calls or the system being offline,
+  // for instance.
+  virtual base::TimeDelta GetRefreshPeriod() const = 0;
+
+  // Returns the time until the next scheduled enrollment request.
+  virtual base::TimeDelta GetTimeToNextEnrollmentRequest() const = 0;
+
+  // Return true if an enrollment has been requested but the enrollment result
+  // has not been processed yet.
+  virtual bool IsWaitingForEnrollmentResult() const = 0;
+
+  // The number of consecutive failed enrollment attempts. Once an enrollment
+  // attempt succeeds, this counter is reset.
+  virtual size_t GetNumConsecutiveFailures() const = 0;
+
+ protected:
+  CryptAuthEnrollmentScheduler(Delegate* delegate);
+
+  // Alerts the delegate that an enrollment has been requested.
+  void NotifyEnrollmentRequested(
+      const base::Optional<cryptauthv2::PolicyReference>&
+          client_directive_policy_reference) const;
+
+ private:
+  Delegate* delegate_;
+
+  DISALLOW_COPY_AND_ASSIGN(CryptAuthEnrollmentScheduler);
+};
+
+}  // namespace device_sync
+
+}  // namespace chromeos
+
+#endif  // CHROMEOS_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_SCHEDULER_H_
diff --git a/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.cc b/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.cc
new file mode 100644
index 0000000..1f878b2
--- /dev/null
+++ b/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.cc
@@ -0,0 +1,297 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.h"
+
+#include <algorithm>
+#include <string>
+#include <utility>
+
+#include "base/base64.h"
+#include "base/memory/ptr_util.h"
+#include "base/no_destructor.h"
+#include "base/optional.h"
+#include "base/time/clock.h"
+#include "base/timer/timer.h"
+#include "chromeos/components/multidevice/logging/logging.h"
+#include "chromeos/services/device_sync/pref_names.h"
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/pref_service.h"
+
+namespace chromeos {
+
+namespace device_sync {
+
+namespace {
+
+// The default period between successful enrollments in days. Superseded by the
+// ClientDirective's checkin_delay_millis sent by CryptAuth in SyncKeysResponse.
+constexpr base::TimeDelta kDefaultRefreshPeriod = base::TimeDelta::FromDays(30);
+
+// The default period, in hours, between enrollment attempts if the previous
+// enrollment attempt failed. Superseded by the ClientDirective's
+// retry_period_millis sent by CryptAuth in SyncKeysResponse.
+constexpr base::TimeDelta kDefaultRetryPeriod = base::TimeDelta::FromHours(12);
+
+// The default number of immediate retries after a failed enrollment attempt.
+// Superseded by the ClientDirective's retry_attempts sent by CryptAuth in the
+// SyncKeysResponse.
+const int kDefaultMaxImmediateRetries = 3;
+
+bool IsClientDirectiveValid(
+    const cryptauthv2::ClientDirective& client_directive) {
+  return client_directive.checkin_delay_millis() > 0 &&
+         client_directive.retry_period_millis() > 0 &&
+         client_directive.retry_attempts() >= 0;
+}
+
+// Fills a ClientDirective with our chosen default parameters. This
+// ClientDirective is used until a ClientDirective is received from CryptAuth in
+// the SyncKeysResponse.
+cryptauthv2::ClientDirective CreateDefaultClientDirective() {
+  cryptauthv2::ClientDirective client_directive;
+  client_directive.set_checkin_delay_millis(
+      kDefaultRefreshPeriod.InMilliseconds());
+  client_directive.set_retry_period_millis(
+      kDefaultRetryPeriod.InMilliseconds());
+  client_directive.set_retry_attempts(kDefaultMaxImmediateRetries);
+
+  return client_directive;
+}
+
+// Decodes and parses the base64-encoded serialized ClientDirective string.
+base::Optional<cryptauthv2::ClientDirective> ClientDirectiveFromPrefString(
+    const std::string& encoded_serialized_client_directive) {
+  if (encoded_serialized_client_directive.empty())
+    return base::nullopt;
+
+  std::string decoded_serialized_client_directive;
+  if (!base::Base64Decode(encoded_serialized_client_directive,
+                          &decoded_serialized_client_directive)) {
+    PA_LOG(ERROR) << "Error decoding ClientDirective pref string";
+    return base::nullopt;
+  }
+
+  cryptauthv2::ClientDirective client_directive;
+  if (!client_directive.ParseFromString(decoded_serialized_client_directive)) {
+    PA_LOG(ERROR) << "Error parsing ClientDirective from pref string";
+    return base::nullopt;
+  }
+
+  return client_directive;
+}
+
+// Serializes and base64 encodes the input ClientDirective.
+std::string ClientDirectiveToPrefString(
+    const cryptauthv2::ClientDirective& client_directive) {
+  std::string encoded_serialized_client_directive;
+  base::Base64Encode(client_directive.SerializeAsString(),
+                     &encoded_serialized_client_directive);
+
+  return encoded_serialized_client_directive;
+}
+
+cryptauthv2::ClientDirective BuildClientDirective(PrefService* pref_service) {
+  DCHECK(pref_service);
+
+  base::Optional<cryptauthv2::ClientDirective> client_directive_from_pref =
+      ClientDirectiveFromPrefString(pref_service->GetString(
+          prefs::kCryptAuthEnrollmentSchedulerClientDirective));
+  if (client_directive_from_pref)
+    return *client_directive_from_pref;
+
+  return CreateDefaultClientDirective();
+}
+
+}  // namespace
+
+// static
+CryptAuthEnrollmentSchedulerImpl::Factory*
+    CryptAuthEnrollmentSchedulerImpl::Factory::test_factory_ = nullptr;
+
+// static
+CryptAuthEnrollmentSchedulerImpl::Factory*
+CryptAuthEnrollmentSchedulerImpl::Factory::Get() {
+  if (test_factory_)
+    return test_factory_;
+
+  static base::NoDestructor<CryptAuthEnrollmentSchedulerImpl::Factory> factory;
+  return factory.get();
+}
+
+// static
+void CryptAuthEnrollmentSchedulerImpl::Factory::SetFactoryForTesting(
+    Factory* test_factory) {
+  test_factory_ = test_factory;
+}
+
+std::unique_ptr<CryptAuthEnrollmentScheduler>
+CryptAuthEnrollmentSchedulerImpl::Factory::BuildInstance(
+    Delegate* delegate,
+    PrefService* pref_service,
+    base::Clock* clock,
+    std::unique_ptr<base::OneShotTimer> timer) {
+  return base::WrapUnique(new CryptAuthEnrollmentSchedulerImpl(
+      delegate, pref_service, clock, std::move(timer)));
+}
+
+// static
+void CryptAuthEnrollmentSchedulerImpl::RegisterPrefs(
+    PrefRegistrySimple* registry) {
+  registry->RegisterStringPref(
+      prefs::kCryptAuthEnrollmentSchedulerClientDirective, std::string());
+  registry->RegisterTimePref(
+      prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime,
+      base::Time());
+  registry->RegisterTimePref(
+      prefs::kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime,
+      base::Time());
+  registry->RegisterUint64Pref(
+      prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures, 0);
+}
+
+CryptAuthEnrollmentSchedulerImpl::CryptAuthEnrollmentSchedulerImpl(
+    Delegate* delegate,
+    PrefService* pref_service,
+    base::Clock* clock,
+    std::unique_ptr<base::OneShotTimer> timer)
+    : CryptAuthEnrollmentScheduler(delegate),
+      pref_service_(pref_service),
+      clock_(clock),
+      timer_(std::move(timer)),
+      client_directive_(BuildClientDirective(pref_service)) {
+  DCHECK(pref_service);
+  DCHECK(clock);
+  DCHECK(IsClientDirectiveValid(client_directive_));
+
+  // If we are recovering from a failure, set the failure count back to 1 in the
+  // hopes that the restart solved the issue. This will allow for immediate
+  // retries again if allowed by the ClientDirective.
+  if (GetNumConsecutiveFailures() > 1) {
+    pref_service_->SetUint64(
+        prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures, 1);
+  }
+
+  ScheduleNextEnrollment();
+}
+
+CryptAuthEnrollmentSchedulerImpl::~CryptAuthEnrollmentSchedulerImpl() = default;
+
+void CryptAuthEnrollmentSchedulerImpl::RequestEnrollmentNow() {
+  timer_->Stop();
+  NotifyEnrollmentRequested(GetPolicyReference());
+}
+
+void CryptAuthEnrollmentSchedulerImpl::HandleEnrollmentResult(
+    const CryptAuthEnrollmentResult& enrollment_result) {
+  DCHECK(!timer_->IsRunning());
+
+  base::Time now = clock_->Now();
+
+  if (enrollment_result.IsSuccess()) {
+    pref_service_->SetUint64(
+        prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures, 0);
+
+    pref_service_->SetTime(
+        prefs::kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime, now);
+  } else {
+    pref_service_->SetUint64(
+        prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures,
+        GetNumConsecutiveFailures() + 1);
+  }
+
+  pref_service_->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime, now);
+
+  if (enrollment_result.client_directive() &&
+      IsClientDirectiveValid(*enrollment_result.client_directive())) {
+    client_directive_ = *enrollment_result.client_directive();
+
+    pref_service_->SetString(
+        prefs::kCryptAuthEnrollmentSchedulerClientDirective,
+        ClientDirectiveToPrefString(client_directive_));
+  }
+
+  ScheduleNextEnrollment();
+}
+
+base::Optional<base::Time>
+CryptAuthEnrollmentSchedulerImpl::GetLastSuccessfulEnrollmentTime() const {
+  base::Time time = pref_service_->GetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime);
+  if (time.is_null())
+    return base::nullopt;
+
+  return time;
+}
+
+base::TimeDelta CryptAuthEnrollmentSchedulerImpl::GetRefreshPeriod() const {
+  return base::TimeDelta::FromMilliseconds(
+      client_directive_.checkin_delay_millis());
+}
+
+base::TimeDelta
+CryptAuthEnrollmentSchedulerImpl::GetTimeToNextEnrollmentRequest() const {
+  if (IsWaitingForEnrollmentResult())
+    return base::TimeDelta::FromMilliseconds(0);
+
+  return timer_->GetCurrentDelay();
+}
+
+bool CryptAuthEnrollmentSchedulerImpl::IsWaitingForEnrollmentResult() const {
+  return !timer_->IsRunning();
+}
+
+size_t CryptAuthEnrollmentSchedulerImpl::GetNumConsecutiveFailures() const {
+  return pref_service_->GetUint64(
+      prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures);
+}
+
+base::TimeDelta
+CryptAuthEnrollmentSchedulerImpl::CalculateTimeBetweenEnrollmentRequests()
+    const {
+  size_t num_consecutive_failures = GetNumConsecutiveFailures();
+  if (num_consecutive_failures == 0)
+    return GetRefreshPeriod();
+
+  if (num_consecutive_failures <= (size_t)client_directive_.retry_attempts())
+    return base::TimeDelta::FromMilliseconds(0);
+
+  return base::TimeDelta::FromMilliseconds(
+      client_directive_.retry_period_millis());
+}
+
+void CryptAuthEnrollmentSchedulerImpl::ScheduleNextEnrollment() {
+  DCHECK(!timer_->IsRunning());
+
+  base::Time last_attempt_time = pref_service_->GetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime);
+
+  base::TimeDelta time_until_next_request =
+      base::TimeDelta::FromMilliseconds(0);
+  if (!last_attempt_time.is_null()) {
+    time_until_next_request =
+        std::max(base::TimeDelta::FromMilliseconds(0),
+                 CalculateTimeBetweenEnrollmentRequests() -
+                     (clock_->Now() - last_attempt_time));
+  }
+
+  timer_->Start(
+      FROM_HERE, time_until_next_request,
+      base::BindOnce(
+          &CryptAuthEnrollmentSchedulerImpl::NotifyEnrollmentRequested,
+          base::Unretained(this), GetPolicyReference()));
+}
+
+base::Optional<cryptauthv2::PolicyReference>
+CryptAuthEnrollmentSchedulerImpl::GetPolicyReference() const {
+  if (client_directive_.has_policy_reference())
+    return client_directive_.policy_reference();
+
+  return base::nullopt;
+}
+
+}  // namespace device_sync
+
+}  // namespace chromeos
diff --git a/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.h b/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.h
new file mode 100644
index 0000000..cff85a2
--- /dev/null
+++ b/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.h
@@ -0,0 +1,89 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROMEOS_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_SCHEDULER_IMPL_H_
+#define CHROMEOS_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_SCHEDULER_IMPL_H_
+
+#include "chromeos/services/device_sync/cryptauth_enrollment_scheduler.h"
+
+#include <memory>
+
+#include "base/macros.h"
+#include "chromeos/services/device_sync/proto/cryptauth_directive.pb.h"
+
+class PrefRegistrySimple;
+class PrefService;
+
+namespace base {
+class Clock;
+class OneShotTimer;
+}  // namespace base
+
+namespace chromeos {
+
+namespace device_sync {
+
+// Implementation of CryptAuthEnrollmentScheduler.
+class CryptAuthEnrollmentSchedulerImpl : public CryptAuthEnrollmentScheduler {
+ public:
+  class Factory {
+   public:
+    static Factory* Get();
+    static void SetFactoryForTesting(Factory* test_factory);
+    virtual std::unique_ptr<CryptAuthEnrollmentScheduler> BuildInstance(
+        Delegate* delegate,
+        PrefService* pref_service,
+        base::Clock* clock,
+        std::unique_ptr<base::OneShotTimer> timer);
+
+   private:
+    static Factory* test_factory_;
+  };
+
+  // Registers the prefs used by this class to the given |registry|.
+  static void RegisterPrefs(PrefRegistrySimple* registry);
+
+  ~CryptAuthEnrollmentSchedulerImpl() override;
+
+ private:
+  CryptAuthEnrollmentSchedulerImpl(Delegate* delegate,
+                                   PrefService* pref_service,
+                                   base::Clock* clock,
+                                   std::unique_ptr<base::OneShotTimer> timer);
+
+  // CryptAuthEnrollmentScheduler:
+  void RequestEnrollmentNow() override;
+  void HandleEnrollmentResult(
+      const CryptAuthEnrollmentResult& enrollment_result) override;
+  base::Optional<base::Time> GetLastSuccessfulEnrollmentTime() const override;
+  base::TimeDelta GetRefreshPeriod() const override;
+  base::TimeDelta GetTimeToNextEnrollmentRequest() const override;
+  bool IsWaitingForEnrollmentResult() const override;
+  size_t GetNumConsecutiveFailures() const override;
+
+  // Calculates the time period between the previous enrollment attempt and the
+  // next enrollment attempt, taking failures into consideration.
+  base::TimeDelta CalculateTimeBetweenEnrollmentRequests() const;
+
+  // Starts a new timer that will fire when an enrollment is ready to be
+  // attempted.
+  void ScheduleNextEnrollment();
+
+  // Get the ClientDirective's PolicyReference. If one has not been set, returns
+  // base::nullopt.
+  base::Optional<cryptauthv2::PolicyReference> GetPolicyReference() const;
+
+  PrefService* pref_service_;
+  base::Clock* clock_;
+  std::unique_ptr<base::OneShotTimer> timer_;
+  cryptauthv2::ClientDirective client_directive_;
+
+  DISALLOW_COPY_AND_ASSIGN(CryptAuthEnrollmentSchedulerImpl);
+};
+
+}  // namespace device_sync
+
+}  // namespace chromeos
+
+#endif  // CHROMEOS_SERVICES_DEVICE_SYNC_CRYPTAUTH_ENROLLMENT_SCHEDULER_IMPL_H_
diff --git a/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl_unittest.cc b/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl_unittest.cc
new file mode 100644
index 0000000..c81f885
--- /dev/null
+++ b/chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl_unittest.cc
@@ -0,0 +1,358 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chromeos/services/device_sync/cryptauth_enrollment_scheduler_impl.h"
+
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/base64.h"
+#include "base/macros.h"
+#include "base/memory/ptr_util.h"
+#include "base/test/simple_test_clock.h"
+#include "base/timer/mock_timer.h"
+#include "chromeos/services/device_sync/pref_names.h"
+#include "components/prefs/testing_pref_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace chromeos {
+
+namespace device_sync {
+
+namespace {
+
+const char kFakePolicyName[] = "fake-policy-name";
+int kFakePolicyVersion = 100;
+constexpr base::TimeDelta kFakeRefreshPeriod = base::TimeDelta::FromDays(100);
+constexpr base::TimeDelta kFakeRetryPeriod = base::TimeDelta::FromHours(100);
+const int kFakeMaxImmediateRetries = 2;
+
+// The time set on the scheduler's clock during set-up.
+const base::Time kFakeTimeNow = base::Time::FromDoubleT(1600600000);
+const base::Time kFakeTimeLaterBeforeRetryPeriod =
+    kFakeTimeNow + kFakeRetryPeriod - base::TimeDelta::FromHours(1);
+const base::Time kFakeTimeLaterAfterRetryPeriod =
+    kFakeTimeNow + kFakeRefreshPeriod + base::TimeDelta::FromHours(1);
+const base::Time kFakeTimeLaterAfterRefreshPeriod =
+    kFakeTimeNow + kFakeRefreshPeriod + base::TimeDelta::FromDays(1);
+
+// Serializes and base64 encodes the input ClientDirective.
+// Copied from cryptauth_enrollment_scheduler_impl.cc.
+std::string ClientDirectiveToPrefString(
+    const cryptauthv2::ClientDirective& client_directive) {
+  std::string encoded_serialized_client_directive;
+  base::Base64Encode(client_directive.SerializeAsString(),
+                     &encoded_serialized_client_directive);
+
+  return encoded_serialized_client_directive;
+}
+
+class FakeDelegate : public CryptAuthEnrollmentScheduler::Delegate {
+ public:
+  FakeDelegate() = default;
+
+  ~FakeDelegate() override = default;
+
+  void OnEnrollmentRequested(const base::Optional<cryptauthv2::PolicyReference>&
+                                 client_directive_policy_reference) override {
+    policy_reference_history_.push_back(client_directive_policy_reference);
+  }
+
+  const std::vector<base::Optional<cryptauthv2::PolicyReference>>&
+  policy_reference_history() {
+    return policy_reference_history_;
+  }
+
+  void VerifyReceivedPolicyReference(
+      size_t num_expected_received_policy_references,
+      const base::Optional<cryptauthv2::PolicyReference>&
+          last_expected_received_policy_reference) {
+    EXPECT_EQ(num_expected_received_policy_references,
+              policy_reference_history_.size());
+
+    if (policy_reference_history_.empty())
+      return;
+
+    EXPECT_EQ(last_expected_received_policy_reference.has_value(),
+              policy_reference_history_.back().has_value());
+
+    if (policy_reference_history_.back().has_value() &&
+        last_expected_received_policy_reference.has_value()) {
+      EXPECT_EQ(last_expected_received_policy_reference->SerializeAsString(),
+                policy_reference_history_.back()->SerializeAsString());
+    }
+  }
+
+ private:
+  std::vector<base::Optional<cryptauthv2::PolicyReference>>
+      policy_reference_history_;
+};
+
+}  // namespace
+
+class CryptAuthEnrollmentSchedulerImplTest : public testing::Test {
+ protected:
+  CryptAuthEnrollmentSchedulerImplTest() {
+    fake_client_directive_.mutable_policy_reference()->set_name(
+        kFakePolicyName);
+    fake_client_directive_.mutable_policy_reference()->set_version(
+        kFakePolicyVersion);
+    fake_client_directive_.set_checkin_delay_millis(
+        kFakeRefreshPeriod.InMilliseconds());
+    fake_client_directive_.set_retry_period_millis(
+        kFakeRetryPeriod.InMilliseconds());
+    fake_client_directive_.set_retry_attempts(kFakeMaxImmediateRetries);
+  };
+
+  ~CryptAuthEnrollmentSchedulerImplTest() override = default;
+
+  void SetUp() override {
+    CryptAuthEnrollmentSchedulerImpl::RegisterPrefs(pref_service_.registry());
+  }
+
+  void CreateScheduler() {
+    if (scheduler_)
+      return;
+
+    auto mock_timer = std::make_unique<base::MockOneShotTimer>();
+    mock_timer_ = mock_timer.get();
+    scheduler_ =
+        CryptAuthEnrollmentSchedulerImpl::Factory::Get()->BuildInstance(
+            &fake_delegate_, &pref_service_, &test_clock_,
+            std::move(mock_timer));
+  }
+
+  FakeDelegate* delegate() { return &fake_delegate_; }
+
+  PrefService* pref_service() { return &pref_service_; }
+
+  base::SimpleTestClock* clock() { return &test_clock_; }
+
+  base::MockOneShotTimer* timer() { return mock_timer_; }
+
+  CryptAuthEnrollmentScheduler* scheduler() { return scheduler_.get(); }
+
+  const cryptauthv2::ClientDirective& fake_client_directive() {
+    return fake_client_directive_;
+  }
+
+  void VerifyLastEnrollmentAttemptTimePref(const base::Time& expected_time) {
+    EXPECT_EQ(
+        pref_service_.GetTime(
+            prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime),
+        expected_time);
+  }
+
+ private:
+  FakeDelegate fake_delegate_;
+  TestingPrefServiceSimple pref_service_;
+  base::SimpleTestClock test_clock_;
+  base::MockOneShotTimer* mock_timer_;
+
+  cryptauthv2::ClientDirective fake_client_directive_;
+
+  std::unique_ptr<CryptAuthEnrollmentScheduler> scheduler_;
+
+  DISALLOW_COPY_AND_ASSIGN(CryptAuthEnrollmentSchedulerImplTest);
+};
+
+TEST_F(CryptAuthEnrollmentSchedulerImplTest, HandleSuccessfulEnrollmentResult) {
+  clock()->SetNow(kFakeTimeNow);
+  CreateScheduler();
+
+  EXPECT_TRUE(timer()->IsRunning());
+  EXPECT_FALSE(scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_TRUE(scheduler()->GetRefreshPeriod() >
+              base::TimeDelta::FromMilliseconds(0));
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
+            scheduler()->GetTimeToNextEnrollmentRequest());
+  EXPECT_FALSE(scheduler()->IsWaitingForEnrollmentResult());
+  EXPECT_EQ(0u, scheduler()->GetNumConsecutiveFailures());
+
+  timer()->Fire();
+
+  EXPECT_TRUE(scheduler()->IsWaitingForEnrollmentResult());
+  delegate()->VerifyReceivedPolicyReference(1, base::nullopt);
+
+  CryptAuthEnrollmentResult result(
+      CryptAuthEnrollmentResult::ResultCode::kSuccessNewKeysEnrolled,
+      fake_client_directive());
+  scheduler()->HandleEnrollmentResult(result);
+
+  EXPECT_TRUE(timer()->IsRunning());
+  ASSERT_TRUE(scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(kFakeTimeNow, scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(
+                fake_client_directive().checkin_delay_millis()),
+            scheduler()->GetRefreshPeriod());
+  EXPECT_EQ(scheduler()->GetRefreshPeriod(),
+            scheduler()->GetTimeToNextEnrollmentRequest());
+  EXPECT_FALSE(scheduler()->IsWaitingForEnrollmentResult());
+  EXPECT_EQ(0u, scheduler()->GetNumConsecutiveFailures());
+  VerifyLastEnrollmentAttemptTimePref(kFakeTimeNow);
+
+  timer()->Fire();
+
+  delegate()->VerifyReceivedPolicyReference(
+      2, fake_client_directive().policy_reference());
+}
+
+TEST_F(CryptAuthEnrollmentSchedulerImplTest,
+       NotDueForRefresh_RequestImmediateEnrollment) {
+  pref_service()->SetString(
+      prefs::kCryptAuthEnrollmentSchedulerClientDirective,
+      ClientDirectiveToPrefString(fake_client_directive()));
+  pref_service()->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime,
+      kFakeTimeNow);
+  pref_service()->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime,
+      kFakeTimeNow);
+  pref_service()->SetUint64(
+      prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures, 0);
+
+  clock()->SetNow(kFakeTimeLaterBeforeRetryPeriod);
+  base::TimeDelta fake_elapsed_time =
+      kFakeTimeLaterBeforeRetryPeriod - kFakeTimeNow;
+
+  CreateScheduler();
+
+  ASSERT_TRUE(scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(kFakeTimeNow, scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(
+                fake_client_directive().checkin_delay_millis()),
+            scheduler()->GetRefreshPeriod());
+  EXPECT_EQ(scheduler()->GetRefreshPeriod() - fake_elapsed_time,
+            scheduler()->GetTimeToNextEnrollmentRequest());
+  EXPECT_FALSE(scheduler()->IsWaitingForEnrollmentResult());
+
+  scheduler()->RequestEnrollmentNow();
+  EXPECT_TRUE(scheduler()->IsWaitingForEnrollmentResult());
+  EXPECT_EQ(1u, delegate()->policy_reference_history().size());
+}
+
+TEST_F(CryptAuthEnrollmentSchedulerImplTest, DueForRefreshBeforeConstructed) {
+  pref_service()->SetString(
+      prefs::kCryptAuthEnrollmentSchedulerClientDirective,
+      ClientDirectiveToPrefString(fake_client_directive()));
+  pref_service()->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime,
+      kFakeTimeNow);
+  pref_service()->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime,
+      kFakeTimeNow);
+  pref_service()->SetUint64(
+      prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures, 0);
+
+  clock()->SetNow(kFakeTimeLaterAfterRefreshPeriod);
+
+  CreateScheduler();
+
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
+            scheduler()->GetTimeToNextEnrollmentRequest());
+}
+
+TEST_F(CryptAuthEnrollmentSchedulerImplTest, HandleFailures) {
+  clock()->SetNow(kFakeTimeNow);
+  CreateScheduler();
+
+  // Expect all failed attempts to be retried immediately until the retry
+  // attempt limit from the ClientDirective is exceeded.
+  size_t expected_failure_count = 0;
+  while (expected_failure_count <
+         static_cast<size_t>(fake_client_directive().retry_attempts())) {
+    timer()->Fire();
+    CryptAuthEnrollmentResult result(
+        CryptAuthEnrollmentResult::ResultCode::kErrorKeyCreationFailed,
+        fake_client_directive());
+    scheduler()->HandleEnrollmentResult(result);
+    ++expected_failure_count;
+
+    EXPECT_EQ(expected_failure_count, scheduler()->GetNumConsecutiveFailures());
+    ASSERT_FALSE(scheduler()->GetLastSuccessfulEnrollmentTime());
+    EXPECT_EQ(base::TimeDelta::FromMilliseconds(
+                  fake_client_directive().checkin_delay_millis()),
+              scheduler()->GetRefreshPeriod());
+    EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
+              scheduler()->GetTimeToNextEnrollmentRequest());
+    VerifyLastEnrollmentAttemptTimePref(kFakeTimeNow);
+  }
+
+  // Since all immediate retry attempts were expended above, expect a failed
+  // attempt to be retried after the ClientDirective's retry period.
+  timer()->Fire();
+  CryptAuthEnrollmentResult result(
+      CryptAuthEnrollmentResult::ResultCode::kErrorKeyCreationFailed,
+      fake_client_directive());
+  scheduler()->HandleEnrollmentResult(result);
+
+  EXPECT_EQ(static_cast<size_t>(fake_client_directive().retry_attempts() + 1),
+            scheduler()->GetNumConsecutiveFailures());
+  EXPECT_TRUE(timer()->IsRunning());
+  ASSERT_FALSE(scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(
+                fake_client_directive().checkin_delay_millis()),
+            scheduler()->GetRefreshPeriod());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(
+                fake_client_directive().retry_period_millis()),
+            scheduler()->GetTimeToNextEnrollmentRequest());
+  VerifyLastEnrollmentAttemptTimePref(kFakeTimeNow);
+
+  clock()->SetNow(kFakeTimeLaterAfterRetryPeriod);
+
+  // Expect a successful attempt to reset the failure count and adjust the
+  // enrollment schedule to use the refresh period specified in the
+  // ClientDirective.
+  timer()->Fire();
+  CryptAuthEnrollmentResult success_result(
+      CryptAuthEnrollmentResult::ResultCode::kSuccessNoNewKeysNeeded,
+      fake_client_directive());
+  scheduler()->HandleEnrollmentResult(success_result);
+
+  EXPECT_EQ(0u, scheduler()->GetNumConsecutiveFailures());
+  EXPECT_TRUE(timer()->IsRunning());
+  ASSERT_TRUE(scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(kFakeTimeLaterAfterRetryPeriod,
+            scheduler()->GetLastSuccessfulEnrollmentTime());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(
+                fake_client_directive().checkin_delay_millis()),
+            scheduler()->GetRefreshPeriod());
+  EXPECT_EQ(scheduler()->GetRefreshPeriod(),
+            scheduler()->GetTimeToNextEnrollmentRequest());
+  VerifyLastEnrollmentAttemptTimePref(kFakeTimeLaterAfterRetryPeriod);
+}
+
+TEST_F(CryptAuthEnrollmentSchedulerImplTest, HandlePersistedFailures) {
+  // Seed the preferences to simulate the previous scheduler using all of its
+  // immediate retry attempts and making 10 periodic retry attempts.
+  pref_service()->SetString(
+      prefs::kCryptAuthEnrollmentSchedulerClientDirective,
+      ClientDirectiveToPrefString(fake_client_directive()));
+  pref_service()->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime,
+      kFakeTimeNow);
+  pref_service()->SetTime(
+      prefs::kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime,
+      kFakeTimeLaterBeforeRetryPeriod);
+  pref_service()->SetUint64(
+      prefs::kCryptAuthEnrollmentSchedulerNumConsecutiveFailures,
+      fake_client_directive().retry_attempts() + 10);
+
+  clock()->SetNow(kFakeTimeLaterBeforeRetryPeriod);
+
+  // On construction, if the persisted failure count is greater than 0, expect
+  // that the scheduler resets the failure count to 1.
+  CreateScheduler();
+
+  EXPECT_EQ(1u, scheduler()->GetNumConsecutiveFailures());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
+            scheduler()->GetTimeToNextEnrollmentRequest());
+  VerifyLastEnrollmentAttemptTimePref(kFakeTimeLaterBeforeRetryPeriod);
+}
+
+}  // namespace device_sync
+
+}  // namespace chromeos
diff --git a/chromeos/services/device_sync/pref_names.cc b/chromeos/services/device_sync/pref_names.cc
index a3ab1ed..d9fa93f 100644
--- a/chromeos/services/device_sync/pref_names.cc
+++ b/chromeos/services/device_sync/pref_names.cc
@@ -44,6 +44,23 @@
 // chromeos/services/device_sync/proto/cryptauth_api.proto.
 const char kCryptAuthEnrollmentReason[] = "cryptauth.enrollment.reason";
 
+// The most recent ClientDirective--serialized to a string and base64
+// encoded--sent to the CryptAuthEnrollmentScheduler.
+const char kCryptAuthEnrollmentSchedulerClientDirective[] =
+    "cryptauth.enrollment.scheduler_client_directive";
+
+// The time of the last enrollment attempt.
+const char kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime[] =
+    "cryptauth.enrollment.scheduler_last_enrollment_attempt_time";
+
+// The time of the last successful enrollment.
+const char kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime[] =
+    "cryptauth.enrollment.scheduler_last_successful_enrollment_time";
+
+// The number of failed enrollments since the last successful enrollment.
+const char kCryptAuthEnrollmentSchedulerNumConsecutiveFailures[] =
+    "cryptauth.enrollment.scheduler_num_consecutive_failures";
+
 // The public key of the user and device enrolled with CryptAuth.
 const char kCryptAuthEnrollmentUserPublicKey[] =
     "cryptauth.enrollment.user_public_key";
diff --git a/chromeos/services/device_sync/pref_names.h b/chromeos/services/device_sync/pref_names.h
index 809e65c..a72ed6931 100644
--- a/chromeos/services/device_sync/pref_names.h
+++ b/chromeos/services/device_sync/pref_names.h
@@ -18,6 +18,10 @@
 extern const char kCryptAuthEnrollmentIsRecoveringFromFailure[];
 extern const char kCryptAuthEnrollmentLastEnrollmentTimeSeconds[];
 extern const char kCryptAuthEnrollmentReason[];
+extern const char kCryptAuthEnrollmentSchedulerClientDirective[];
+extern const char kCryptAuthEnrollmentSchedulerLastEnrollmentAttemptTime[];
+extern const char kCryptAuthEnrollmentSchedulerLastSuccessfulEnrollmentTime[];
+extern const char kCryptAuthEnrollmentSchedulerNumConsecutiveFailures[];
 extern const char kCryptAuthEnrollmentUserPublicKey[];
 extern const char kCryptAuthEnrollmentUserPrivateKey[];
 extern const char kCryptAuthGCMRegistrationId[];
diff --git a/components/autofill/core/browser/proto/server.proto b/components/autofill/core/browser/proto/server.proto
index 079c944..fad80b1 100644
--- a/components/autofill/core/browser/proto/server.proto
+++ b/components/autofill/core/browser/proto/server.proto
@@ -14,7 +14,7 @@
 
 // Request to query field suggestions for forms in a page from legacy Autofill
 // API.
-// Next available id: 14
+// Next available id: 15
 message AutofillQueryContents {
   reserved 11;  // Reserved for server use.
   required string client_version = 1;
@@ -28,6 +28,7 @@
       optional AutofillRandomizedFieldMetadata field_metadata = 13;
     }
   }
+  repeated int64 experiments = 14;
 }
 
 // Response from Autofill query on the legacy API that gives field suggestions
diff --git a/components/autofill_assistant/browser/actions/action_delegate.h b/components/autofill_assistant/browser/actions/action_delegate.h
index 78e515aa..e090948 100644
--- a/components/autofill_assistant/browser/actions/action_delegate.h
+++ b/components/autofill_assistant/browser/actions/action_delegate.h
@@ -93,7 +93,6 @@
   virtual void GetPaymentInformation(
       payments::mojom::PaymentOptionsPtr payment_options,
       base::OnceCallback<void(std::unique_ptr<PaymentInformation>)> callback,
-      const std::string& title,
       const std::vector<std::string>& supported_basic_card_networks) = 0;
 
   using GetFullCardCallback =
diff --git a/components/autofill_assistant/browser/actions/get_payment_information_action.cc b/components/autofill_assistant/browser/actions/get_payment_information_action.cc
index 11af5c9d..b3dc9a0 100644
--- a/components/autofill_assistant/browser/actions/get_payment_information_action.cc
+++ b/components/autofill_assistant/browser/actions/get_payment_information_action.cc
@@ -57,7 +57,7 @@
       base::BindOnce(&GetPaymentInformationAction::OnGetPaymentInformation,
                      weak_ptr_factory_.GetWeakPtr(), delegate,
                      std::move(get_payment_information), std::move(callback)),
-      get_payment_information.prompt(), supported_basic_card_networks);
+      supported_basic_card_networks);
   if (get_payment_information.has_prompt()) {
     delegate->SetStatusMessage(get_payment_information.prompt());
   }
diff --git a/components/autofill_assistant/browser/actions/mock_action_delegate.h b/components/autofill_assistant/browser/actions/mock_action_delegate.h
index ecce453..ae9a8d4 100644
--- a/components/autofill_assistant/browser/actions/mock_action_delegate.h
+++ b/components/autofill_assistant/browser/actions/mock_action_delegate.h
@@ -93,12 +93,11 @@
                void(const Selector& selector,
                     base::OnceCallback<void(bool)> callback));
 
-  MOCK_METHOD4(
+  MOCK_METHOD3(
       GetPaymentInformation,
       void(payments::mojom::PaymentOptionsPtr payment_options,
            base::OnceCallback<void(std::unique_ptr<PaymentInformation>)>
                callback,
-           const std::string& title,
            const std::vector<std::string>& supported_basic_card_networks));
 
   MOCK_METHOD1(GetFullCard, void(GetFullCardCallback callback));
diff --git a/components/autofill_assistant/browser/mock_ui_controller.h b/components/autofill_assistant/browser/mock_ui_controller.h
index 9283a2f..fc481073 100644
--- a/components/autofill_assistant/browser/mock_ui_controller.h
+++ b/components/autofill_assistant/browser/mock_ui_controller.h
@@ -28,12 +28,11 @@
   MOCK_METHOD0(Close, void());
   MOCK_METHOD1(SetChips, void(std::unique_ptr<std::vector<Chip>> chips));
   MOCK_METHOD0(ClearChips, void());
-  MOCK_METHOD4(
+  MOCK_METHOD3(
       GetPaymentInformation,
       void(payments::mojom::PaymentOptionsPtr payment_options,
            base::OnceCallback<void(std::unique_ptr<PaymentInformation>)>
                callback,
-           const std::string& title,
            const std::vector<std::string>& supported_basic_card_networks));
   MOCK_METHOD1(OnDetailsChanged, void(const Details* details));
   MOCK_METHOD1(ShowProgressBar, void(int progress));
diff --git a/components/autofill_assistant/browser/script_executor.cc b/components/autofill_assistant/browser/script_executor.cc
index 9c5770c6..80be670 100644
--- a/components/autofill_assistant/browser/script_executor.cc
+++ b/components/autofill_assistant/browser/script_executor.cc
@@ -125,14 +125,13 @@
 void ScriptExecutor::GetPaymentInformation(
     payments::mojom::PaymentOptionsPtr payment_options,
     base::OnceCallback<void(std::unique_ptr<PaymentInformation>)> callback,
-    const std::string& title,
     const std::vector<std::string>& supported_basic_card_networks) {
   delegate_->EnterState(AutofillAssistantState::PROMPT);
   delegate_->GetUiController()->GetPaymentInformation(
       std::move(payment_options),
       base::BindOnce(&ScriptExecutor::OnGetPaymentInformation,
                      weak_ptr_factory_.GetWeakPtr(), std::move(callback)),
-      title, supported_basic_card_networks);
+      supported_basic_card_networks);
 }
 
 void ScriptExecutor::OnGetPaymentInformation(
diff --git a/components/autofill_assistant/browser/script_executor.h b/components/autofill_assistant/browser/script_executor.h
index 3a055d9f..07ac54ae 100644
--- a/components/autofill_assistant/browser/script_executor.h
+++ b/components/autofill_assistant/browser/script_executor.h
@@ -113,7 +113,6 @@
   void GetPaymentInformation(
       payments::mojom::PaymentOptionsPtr payment_options,
       base::OnceCallback<void(std::unique_ptr<PaymentInformation>)> callback,
-      const std::string& title,
       const std::vector<std::string>& supported_basic_card_networks) override;
   void GetFullCard(GetFullCardCallback callback) override;
   void Prompt(std::unique_ptr<std::vector<Chip>> chips) override;
diff --git a/components/autofill_assistant/browser/ui_controller.h b/components/autofill_assistant/browser/ui_controller.h
index 788eea7..4e59f38 100644
--- a/components/autofill_assistant/browser/ui_controller.h
+++ b/components/autofill_assistant/browser/ui_controller.h
@@ -51,7 +51,6 @@
   virtual void GetPaymentInformation(
       payments::mojom::PaymentOptionsPtr payment_options,
       base::OnceCallback<void(std::unique_ptr<PaymentInformation>)> callback,
-      const std::string& title,
       const std::vector<std::string>& supported_basic_card_networks) = 0;
 
   // Called when details have changed. Details will be null if they have been
diff --git a/components/dom_distiller/content/renderer/distillability_agent.cc b/components/dom_distiller/content/renderer/distillability_agent.cc
index 2a5b68b..2e4e0f9 100644
--- a/components/dom_distiller/content/renderer/distillability_agent.cc
+++ b/components/dom_distiller/content/renderer/distillability_agent.cc
@@ -100,10 +100,10 @@
     int score_int = std::round(score * 100);
     if (score > 0) {
       UMA_HISTOGRAM_COUNTS_1000("DomDistiller.DistillabilityScoreNMF.Positive",
-          score_int);
+                                score_int);
     } else {
       UMA_HISTOGRAM_COUNTS_1000("DomDistiller.DistillabilityScoreNMF.Negative",
-          -score_int);
+                                -score_int);
     }
     if (distillable) {
       // The long-article model is trained with pages that are
@@ -112,10 +112,10 @@
       int long_score_int = std::round(long_score * 100);
       if (long_score > 0) {
         UMA_HISTOGRAM_COUNTS_1000("DomDistiller.LongArticleScoreNMF.Positive",
-            long_score_int);
+                                  long_score_int);
       } else {
         UMA_HISTOGRAM_COUNTS_1000("DomDistiller.LongArticleScoreNMF.Negative",
-            -long_score_int);
+                                  -long_score_int);
       }
     }
   }
@@ -124,25 +124,25 @@
                (static_cast<unsigned>(distillable) << 1);
   if (is_last) {
     UMA_HISTOGRAM_ENUMERATION("DomDistiller.PageDistillableAfterLoading",
-        bucket, 4);
+                              bucket, 4);
   } else {
     UMA_HISTOGRAM_ENUMERATION("DomDistiller.PageDistillableAfterParsing",
-        bucket, 4);
+                              bucket, 4);
     if (!distillable) {
       UMA_HISTOGRAM_ENUMERATION("DomDistiller.DistillabilityRejection",
-          NOT_ARTICLE, REJECTION_BUCKET_BOUNDARY);
+                                NOT_ARTICLE, REJECTION_BUCKET_BOUNDARY);
     } else if (features.is_mobile_friendly) {
       UMA_HISTOGRAM_ENUMERATION("DomDistiller.DistillabilityRejection",
-          MOBILE_FRIENDLY, REJECTION_BUCKET_BOUNDARY);
+                                MOBILE_FRIENDLY, REJECTION_BUCKET_BOUNDARY);
     } else if (blacklisted) {
       UMA_HISTOGRAM_ENUMERATION("DomDistiller.DistillabilityRejection",
-          BLACKLISTED, REJECTION_BUCKET_BOUNDARY);
+                                BLACKLISTED, REJECTION_BUCKET_BOUNDARY);
     } else if (!long_article) {
       UMA_HISTOGRAM_ENUMERATION("DomDistiller.DistillabilityRejection",
-          TOO_SHORT, REJECTION_BUCKET_BOUNDARY);
+                                TOO_SHORT, REJECTION_BUCKET_BOUNDARY);
     } else {
       UMA_HISTOGRAM_ENUMERATION("DomDistiller.DistillabilityRejection",
-          NOT_REJECTED, REJECTION_BUCKET_BOUNDARY);
+                                NOT_REJECTED, REJECTION_BUCKET_BOUNDARY);
     }
   }
 
@@ -174,20 +174,18 @@
 
 }  // namespace
 
-DistillabilityAgent::DistillabilityAgent(
-    content::RenderFrame* render_frame)
-    : RenderFrameObserver(render_frame) {
-}
+DistillabilityAgent::DistillabilityAgent(content::RenderFrame* render_frame)
+    : RenderFrameObserver(render_frame) {}
 
-void DistillabilityAgent::DidMeaningfulLayout(
-    WebMeaningfulLayout layout_type) {
+void DistillabilityAgent::DidMeaningfulLayout(WebMeaningfulLayout layout_type) {
   if (layout_type != WebMeaningfulLayout::kFinishedParsing &&
       layout_type != WebMeaningfulLayout::kFinishedLoading) {
     return;
   }
 
   DCHECK(render_frame());
-  if (!render_frame()->IsMainFrame()) return;
+  if (!render_frame()->IsMainFrame())
+    return;
   DCHECK(render_frame()->GetWebFrame());
   WebDocument doc = render_frame()->GetWebFrame()->GetDocument();
   if (doc.IsNull() || doc.Body().IsNull())
@@ -196,15 +194,16 @@
     return;
 
   bool is_loaded = layout_type == WebMeaningfulLayout::kFinishedLoading;
-  if (!NeedToUpdate(is_loaded)) return;
+  if (!NeedToUpdate(is_loaded))
+    return;
 
   bool is_last = IsLast(is_loaded);
   // Connect to Mojo service on browser to notify page distillability.
   mojom::DistillabilityServicePtr distillability_service;
-  render_frame()->GetRemoteInterfaces()->GetInterface(
-      &distillability_service);
+  render_frame()->GetRemoteInterfaces()->GetInterface(&distillability_service);
   DCHECK(distillability_service);
-  if (!distillability_service.is_bound()) return;
+  if (!distillability_service.is_bound())
+    return;
   bool is_mobile_friendly = false;
   bool is_distillable = IsDistillablePage(doc, is_last, is_mobile_friendly);
   distillability_service->NotifyIsDistillable(is_distillable, is_last,
diff --git a/components/dom_distiller/content/renderer/distiller_native_javascript.cc b/components/dom_distiller/content/renderer/distiller_native_javascript.cc
index 10c012c..7493fff 100644
--- a/components/dom_distiller/content/renderer/distiller_native_javascript.cc
+++ b/components/dom_distiller/content/renderer/distiller_native_javascript.cc
@@ -64,8 +64,7 @@
 
 void DistillerNativeJavaScript::EnsureServiceConnected() {
   if (!distiller_js_service_ || !distiller_js_service_.is_bound()) {
-    render_frame_->GetRemoteInterfaces()->GetInterface(
-        &distiller_js_service_);
+    render_frame_->GetRemoteInterfaces()->GetInterface(&distiller_js_service_);
   }
 }
 
diff --git a/components/download/quarantine/BUILD.gn b/components/download/quarantine/BUILD.gn
index fafcb749..4ce7b5b 100644
--- a/components/download/quarantine/BUILD.gn
+++ b/components/download/quarantine/BUILD.gn
@@ -14,7 +14,6 @@
     "quarantine.h",
     "quarantine_features_win.cc",
     "quarantine_features_win.h",
-    "quarantine_linux.cc",
     "quarantine_mac.mm",
     "quarantine_win.cc",
   ]
@@ -36,8 +35,6 @@
 
 source_set("common") {
   sources = [
-    "common_linux.cc",
-    "common_linux.h",
     "common_mac.h",
     "common_mac.mm",
     "common_win.cc",
@@ -62,7 +59,6 @@
   sources = [
     "test_support.cc",
     "test_support.h",
-    "test_support_linux.cc",
     "test_support_mac.mm",
     "test_support_win.cc",
   ]
@@ -86,7 +82,6 @@
   testonly = true
 
   sources = [
-    "quarantine_linux_unittest.cc",
     "quarantine_mac_unittest.mm",
     "quarantine_win_unittest.cc",
   ]
diff --git a/components/download/quarantine/common_linux.cc b/components/download/quarantine/common_linux.cc
deleted file mode 100644
index 3674c8c..0000000
--- a/components/download/quarantine/common_linux.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/download/quarantine/common_linux.h"
-
-namespace download {
-
-const char kSourceURLExtendedAttrName[] = "user.xdg.origin.url";
-const char kReferrerURLExtendedAttrName[] = "user.xdg.referrer.url";
-
-}  // namespace download
diff --git a/components/download/quarantine/common_linux.h b/components/download/quarantine/common_linux.h
deleted file mode 100644
index 6b52b1b4..0000000
--- a/components/download/quarantine/common_linux.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_DOWNLOAD_QUARANTINE_COMMON_LINUX_H_
-#define COMPONENTS_DOWNLOAD_QUARANTINE_COMMON_LINUX_H_
-
-namespace download {
-
-// Attribute names to be used with setxattr and friends.
-//
-// The source URL attribute is part of the XDG standard.
-// The referrer URL attribute is not part of the XDG standard,
-// but it is used to keep the naming consistent.
-// http://freedesktop.org/wiki/CommonExtendedAttributes
-extern const char kSourceURLExtendedAttrName[];
-extern const char kReferrerURLExtendedAttrName[];
-
-}  // namespace download
-
-#endif  // COMPONENTS_DOWNLOAD_QUARANTINE_COMMON_LINUX_H_
diff --git a/components/download/quarantine/quarantine.cc b/components/download/quarantine/quarantine.cc
index 48a2c59..ac5b109 100644
--- a/components/download/quarantine/quarantine.cc
+++ b/components/download/quarantine/quarantine.cc
@@ -6,7 +6,7 @@
 
 #include "build/build_config.h"
 
-#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX)
+#if !defined(OS_WIN) && !defined(OS_MACOSX)
 
 namespace download {
 
@@ -19,4 +19,4 @@
 
 }  // namespace download
 
-#endif  // !WIN && !MAC && !LINUX
+#endif  // !WIN && !MAC
diff --git a/components/download/quarantine/quarantine_linux.cc b/components/download/quarantine/quarantine_linux.cc
deleted file mode 100644
index 8683056..0000000
--- a/components/download/quarantine/quarantine_linux.cc
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/download/quarantine/quarantine.h"
-
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/xattr.h>
-
-#include "base/files/file_path.h"
-#include "base/logging.h"
-#include "base/threading/scoped_blocking_call.h"
-#include "components/download/quarantine/common_linux.h"
-#include "url/gurl.h"
-
-namespace download {
-
-namespace {
-
-bool SetExtendedFileAttribute(const char* path,
-                              const char* name,
-                              const char* value,
-                              size_t value_size,
-                              int flags) {
-// On Chrome OS, there is no component that can validate these extended
-// attributes so there is no need to set them.
-#if !defined(OS_CHROMEOS)
-  base::ScopedBlockingCall scoped_blocking_call(base::BlockingType::MAY_BLOCK);
-  int result = setxattr(path, name, value, value_size, flags);
-  if (result) {
-    DPLOG(ERROR) << "Could not set extended attribute " << name << " on file "
-                 << path;
-    return false;
-  }
-#endif  // !defined(OS_CHROMEOS)
-  return true;
-}
-
-}  // namespace
-
-QuarantineFileResult QuarantineFile(const base::FilePath& file,
-                                    const GURL& source_url,
-                                    const GURL& referrer_url,
-                                    const std::string& client_guid) {
-  bool source_succeeded =
-      source_url.is_valid() &&
-      SetExtendedFileAttribute(file.value().c_str(), kSourceURLExtendedAttrName,
-                               source_url.spec().c_str(),
-                               source_url.spec().length(), 0);
-
-  // Referrer being empty is not considered an error. This could happen if the
-  // referrer policy resulted in an empty referrer for the download request.
-  bool referrer_succeeded =
-      !referrer_url.is_valid() ||
-      SetExtendedFileAttribute(
-          file.value().c_str(), kReferrerURLExtendedAttrName,
-          referrer_url.spec().c_str(), referrer_url.spec().length(), 0);
-  return source_succeeded && referrer_succeeded
-             ? QuarantineFileResult::OK
-             : QuarantineFileResult::ANNOTATION_FAILED;
-}
-
-}  // namespace download
diff --git a/components/download/quarantine/quarantine_linux_unittest.cc b/components/download/quarantine/quarantine_linux_unittest.cc
deleted file mode 100644
index 3216420..0000000
--- a/components/download/quarantine/quarantine_linux_unittest.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/download/quarantine/quarantine.h"
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/xattr.h>
-
-#include <algorithm>
-#include <sstream>
-#include <string>
-
-#include "base/files/file_path.h"
-#include "base/files/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/logging.h"
-#include "base/stl_util.h"
-#include "base/strings/string_split.h"
-#include "components/download/quarantine/common_linux.h"
-#include "components/download/quarantine/test_support.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "url/gurl.h"
-
-namespace download {
-namespace {
-
-using std::istringstream;
-using std::string;
-using std::vector;
-
-class QuarantineLinuxTest : public testing::Test {
- public:
-  QuarantineLinuxTest()
-      : source_url_("http://www.source.com"),
-        referrer_url_("http://www.referrer.com"),
-        is_xattr_supported_(false) {}
-
-  const base::FilePath& test_file() const { return test_file_; }
-
-  const base::FilePath& test_dir() const { return temp_dir_.GetPath(); }
-
-  const GURL& source_url() const { return source_url_; }
-
-  const GURL& referrer_url() const { return referrer_url_; }
-
-  bool is_xattr_supported() const { return is_xattr_supported_; }
-
- protected:
-  void SetUp() override {
-#if !defined(OS_CHROMEOS)
-    ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
-    ASSERT_TRUE(
-        base::CreateTemporaryFileInDir(temp_dir_.GetPath(), &test_file_));
-    int result =
-        setxattr(test_file_.value().c_str(), "user.test", "test", 4, 0);
-    is_xattr_supported_ = (!result) || (errno != ENOTSUP);
-#endif  // !defined(OS_CHROMEOS)
-    if (!is_xattr_supported_) {
-      LOG(WARNING) << "Test will be skipped because extended attributes are "
-                      "not supported on this OS/file system.";
-    }
-  }
-
-  void GetExtendedAttributeNames(vector<string>* attr_names) const {
-    ssize_t len = listxattr(test_file().value().c_str(), nullptr, 0);
-    if (len <= static_cast<ssize_t>(0))
-      return;
-    char* buffer = new char[len];
-    len = listxattr(test_file().value().c_str(), buffer, len);
-    *attr_names =
-        base::SplitString(string(buffer, len), std::string(1, '\0'),
-                          base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
-    delete[] buffer;
-  }
-
- private:
-  base::ScopedTempDir temp_dir_;
-  base::FilePath test_file_;
-  GURL source_url_;
-  GURL referrer_url_;
-  bool is_xattr_supported_;
-};
-
-}  // namespace
-
-TEST_F(QuarantineLinuxTest, CheckMetadataSetCorrectly) {
-  if (!is_xattr_supported())
-    return;
-  EXPECT_EQ(
-      QuarantineFileResult::OK,
-      QuarantineFile(test_file(), source_url(), referrer_url(), std::string()));
-  EXPECT_TRUE(IsFileQuarantined(test_file(), source_url(), referrer_url()));
-}
-
-TEST_F(QuarantineLinuxTest, SetMetadataMultipleTimes) {
-  if (!is_xattr_supported())
-    return;
-  GURL dummy_url("http://www.dummy.com");
-  EXPECT_EQ(QuarantineFileResult::OK,
-            QuarantineFile(test_file(), dummy_url, dummy_url, std::string()));
-  EXPECT_EQ(
-      QuarantineFileResult::OK,
-      QuarantineFile(test_file(), source_url(), referrer_url(), std::string()));
-  EXPECT_TRUE(IsFileQuarantined(test_file(), source_url(), referrer_url()));
-}
-
-TEST_F(QuarantineLinuxTest, InvalidSourceURLTest) {
-  if (!is_xattr_supported())
-    return;
-  GURL invalid_url;
-  vector<string> attr_names;
-  EXPECT_EQ(
-      QuarantineFileResult::ANNOTATION_FAILED,
-      QuarantineFile(test_file(), invalid_url, referrer_url(), std::string()));
-  GetExtendedAttributeNames(&attr_names);
-  EXPECT_FALSE(base::ContainsValue(attr_names, kSourceURLExtendedAttrName));
-  EXPECT_TRUE(base::ContainsValue(attr_names, kReferrerURLExtendedAttrName));
-}
-
-TEST_F(QuarantineLinuxTest, InvalidReferrerURLTest) {
-  if (!is_xattr_supported())
-    return;
-  GURL invalid_url;
-  vector<string> attr_names;
-  EXPECT_EQ(
-      QuarantineFileResult::OK,
-      QuarantineFile(test_file(), source_url(), invalid_url, std::string()));
-  GetExtendedAttributeNames(&attr_names);
-  EXPECT_FALSE(base::ContainsValue(attr_names, kReferrerURLExtendedAttrName));
-  EXPECT_TRUE(IsFileQuarantined(test_file(), source_url(), GURL()));
-}
-
-TEST_F(QuarantineLinuxTest, InvalidURLsTest) {
-  if (!is_xattr_supported())
-    return;
-  GURL invalid_url;
-  vector<string> attr_names;
-  EXPECT_EQ(
-      QuarantineFileResult::ANNOTATION_FAILED,
-      QuarantineFile(test_file(), invalid_url, invalid_url, std::string()));
-  GetExtendedAttributeNames(&attr_names);
-  EXPECT_FALSE(base::ContainsValue(attr_names, kSourceURLExtendedAttrName));
-  EXPECT_FALSE(base::ContainsValue(attr_names, kReferrerURLExtendedAttrName));
-  EXPECT_FALSE(IsFileQuarantined(test_file(), GURL(), GURL()));
-}
-
-TEST_F(QuarantineLinuxTest, IsFileQuarantined) {
-  if (!is_xattr_supported())
-    return;
-  base::FilePath does_not_exist = test_dir().AppendASCII("a.jar");
-  EXPECT_FALSE(IsFileQuarantined(does_not_exist, GURL(), GURL()));
-
-  base::FilePath no_annotations = test_dir().AppendASCII("b.jar");
-  ASSERT_EQ(5, base::WriteFile(no_annotations, "Hello", 5));
-  EXPECT_FALSE(IsFileQuarantined(no_annotations, GURL(), GURL()));
-
-  base::FilePath source_only = test_dir().AppendASCII("c.jar");
-  ASSERT_EQ(5, base::WriteFile(source_only, "Hello", 5));
-  ASSERT_EQ(QuarantineFileResult::OK,
-            QuarantineFile(source_only, source_url(), GURL(), std::string()));
-  EXPECT_TRUE(IsFileQuarantined(source_only, source_url(), GURL()));
-  EXPECT_TRUE(IsFileQuarantined(source_only, GURL(), GURL()));
-  EXPECT_TRUE(IsFileQuarantined(source_only, GURL(), referrer_url()));
-  EXPECT_FALSE(IsFileQuarantined(source_only, referrer_url(), GURL()));
-
-  base::FilePath fully_annotated = test_dir().AppendASCII("d.jar");
-  ASSERT_EQ(5, base::WriteFile(fully_annotated, "Hello", 5));
-  ASSERT_EQ(QuarantineFileResult::OK,
-            QuarantineFile(fully_annotated, source_url(), referrer_url(),
-                           std::string()));
-  EXPECT_TRUE(IsFileQuarantined(fully_annotated, GURL(), GURL()));
-  EXPECT_TRUE(IsFileQuarantined(fully_annotated, source_url(), GURL()));
-  EXPECT_TRUE(IsFileQuarantined(fully_annotated, source_url(), referrer_url()));
-  EXPECT_TRUE(IsFileQuarantined(fully_annotated, GURL(), referrer_url()));
-  EXPECT_FALSE(IsFileQuarantined(fully_annotated, source_url(), source_url()));
-  EXPECT_FALSE(
-      IsFileQuarantined(fully_annotated, referrer_url(), referrer_url()));
-}
-
-}  // namespace download
diff --git a/components/download/quarantine/test_support.cc b/components/download/quarantine/test_support.cc
index e158051ae..55ef062 100644
--- a/components/download/quarantine/test_support.cc
+++ b/components/download/quarantine/test_support.cc
@@ -6,7 +6,7 @@
 
 #include "build/build_config.h"
 
-#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX)
+#if !defined(OS_WIN) && !defined(OS_MACOSX)
 
 namespace download {
 
@@ -18,4 +18,4 @@
 
 }  // namespace download
 
-#endif  // !WIN && !MAC && !LINUX
+#endif  // !WIN && !MAC
diff --git a/components/download/quarantine/test_support_linux.cc b/components/download/quarantine/test_support_linux.cc
deleted file mode 100644
index 63f8020..0000000
--- a/components/download/quarantine/test_support_linux.cc
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/download/quarantine/test_support.h"
-
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/xattr.h>
-
-#include <string>
-
-#include "base/files/file_path.h"
-#include "base/files/file_util.h"
-#include "base/threading/scoped_blocking_call.h"
-#include "components/download/quarantine/common_linux.h"
-#include "url/gurl.h"
-
-namespace download {
-
-namespace {
-
-std::string GetExtendedFileAttribute(const char* path, const char* name) {
-  base::ScopedBlockingCall scoped_blocking_call(base::BlockingType::MAY_BLOCK);
-  ssize_t len = getxattr(path, name, nullptr, 0);
-  if (len <= 0)
-    return std::string();
-
-  std::vector<char> buffer(len);
-  len = getxattr(path, name, buffer.data(), buffer.size());
-  if (len < static_cast<ssize_t>(buffer.size()))
-    return std::string();
-  return std::string(buffer.begin(), buffer.end());
-}
-
-}  // namespace
-
-bool IsFileQuarantined(const base::FilePath& file,
-                       const GURL& source_url,
-                       const GURL& referrer_url) {
-  if (!base::PathExists(file))
-    return false;
-
-  std::string url_value = GetExtendedFileAttribute(file.value().c_str(),
-                                                   kSourceURLExtendedAttrName);
-  if (source_url.is_empty())
-    return !url_value.empty();
-
-  if (source_url != GURL(url_value))
-    return false;
-
-  return !referrer_url.is_valid() ||
-         GURL(GetExtendedFileAttribute(file.value().c_str(),
-                                       kReferrerURLExtendedAttrName)) ==
-             referrer_url;
-}
-
-}  // namespace download
diff --git a/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb
index 3f6e575..b1b1b6e8 100644
--- a/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb
+++ b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb
@@ -8,7 +8,7 @@
 <translation id="4115378294792113321">Циклама</translation>
 <translation id="5901630391730855834">Жута</translation>
 <translation id="6017514345406065928">Зелена</translation>
-<translation id="6042308850641462728">Још</translation>
+<translation id="6042308850641462728">Више</translation>
 <translation id="6727102863431372879">Постави</translation>
 <translation id="7535087603100972091">Вредност</translation>
 <translation id="7569983096843329377">Црна</translation>
diff --git a/components/invalidation/impl/fcm_invalidation_service.cc b/components/invalidation/impl/fcm_invalidation_service.cc
index 162a009..96b3f947 100644
--- a/components/invalidation/impl/fcm_invalidation_service.cc
+++ b/components/invalidation/impl/fcm_invalidation_service.cc
@@ -113,7 +113,7 @@
     return invalidator_->GetInvalidatorState();
   }
   DVLOG(2) << "Invalidator currently stopped";
-  return syncer::TRANSIENT_INVALIDATION_ERROR;
+  return syncer::STOPPED;
 }
 
 std::string FCMInvalidationService::GetInvalidatorClientId() const {
diff --git a/components/invalidation/public/invalidator_state.cc b/components/invalidation/public/invalidator_state.cc
index 84b5cbd..405a7ec 100644
--- a/components/invalidation/public/invalidator_state.cc
+++ b/components/invalidation/public/invalidator_state.cc
@@ -20,6 +20,8 @@
       return "INVALIDATOR_SHUTTING_DOWN";
     case SUBSCRIPTION_FAILURE:
       return "SUBSCRIPTION_FAILURE";
+    case STOPPED:
+      return "STOPPED";
   }
 }
 
diff --git a/components/invalidation/public/invalidator_state.h b/components/invalidation/public/invalidator_state.h
index 62431c2..c5a356b 100644
--- a/components/invalidation/public/invalidator_state.h
+++ b/components/invalidation/public/invalidator_state.h
@@ -29,7 +29,10 @@
   // The subscription to at least one topic has failed.
   SUBSCRIPTION_FAILURE = 4,
 
-  kMaxValue = SUBSCRIPTION_FAILURE
+  // Invalidator was stopped.
+  STOPPED = 5,
+
+  kMaxValue = STOPPED,
 };
 
 INVALIDATION_EXPORT const char* InvalidatorStateToString(
diff --git a/components/password_manager/core/browser/browser_save_password_progress_logger.cc b/components/password_manager/core/browser/browser_save_password_progress_logger.cc
index 36a3a7a..944a648 100644
--- a/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+++ b/components/password_manager/core/browser/browser_save_password_progress_logger.cc
@@ -4,6 +4,7 @@
 
 #include "components/password_manager/core/browser/browser_save_password_progress_logger.h"
 
+#include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
@@ -15,6 +16,7 @@
 #include "components/autofill/core/common/signatures_util.h"
 #include "components/password_manager/core/browser/log_manager.h"
 #include "components/password_manager/core/browser/password_form_manager.h"
+#include "components/password_manager/core/browser/password_form_metrics_recorder.h"
 #include "components/password_manager/core/browser/password_manager.h"
 
 using autofill::AutofillUploadContents;
@@ -77,6 +79,13 @@
   }
 }
 
+std::string FormSignatureToDebugString(autofill::FormSignature form_signature) {
+  return base::StrCat(
+      {NumberToString(form_signature), " - ",
+       NumberToString(
+           PasswordFormMetricsRecorder::HashFormSignature(form_signature))});
+}
+
 }  // namespace
 
 BrowserSavePasswordProgressLogger::BrowserSavePasswordProgressLogger(
@@ -93,7 +102,7 @@
   autofill::FormStructure form_structure(form.form_data);
   std::string message = GetStringFromID(label) + ": {\n";
   message += GetStringFromID(STRING_FORM_SIGNATURE) + ": " +
-             ScrubNonDigit(form_structure.FormSignatureAsStr()) + "\n";
+             FormSignatureToDebugString(form_structure.form_signature()) + "\n";
   message += GetStringFromID(STRING_SIGNON_REALM) + ": " +
              ScrubURL(GURL(form.signon_realm)) + "\n";
   message +=
@@ -112,7 +121,7 @@
     const autofill::FormStructure& form_structure) {
   std::string message = GetStringFromID(label) + ": {\n";
   message += GetStringFromID(STRING_FORM_SIGNATURE) + ": " +
-             ScrubNonDigit(form_structure.FormSignatureAsStr()) + "\n";
+             FormSignatureToDebugString(form_structure.form_signature()) + "\n";
   message += GetStringFromID(STRING_ORIGIN) + ": " +
              ScrubURL(form_structure.source_url()) + "\n";
   message += GetStringFromID(STRING_ACTION) + ": " +
@@ -217,8 +226,9 @@
     StringID label,
     const autofill::FormData& form) {
   std::string message = GetStringFromID(label) + ": {\n";
-  message += GetStringFromID(STRING_FORM_SIGNATURE) + ": " +
-             NumberToString(autofill::CalculateFormSignature(form)) + "\n";
+  message +=
+      GetStringFromID(STRING_FORM_SIGNATURE) + ": " +
+      FormSignatureToDebugString(autofill::CalculateFormSignature(form)) + "\n";
   message +=
       GetStringFromID(STRING_ORIGIN) + ": " + ScrubURL(form.origin) + "\n";
   message +=
diff --git a/components/password_manager/core/browser/password_store_signin_notifier.cc b/components/password_manager/core/browser/password_store_signin_notifier.cc
index 2b05ae5..217c0670 100644
--- a/components/password_manager/core/browser/password_store_signin_notifier.cc
+++ b/components/password_manager/core/browser/password_store_signin_notifier.cc
@@ -13,17 +13,6 @@
 
 PasswordStoreSigninNotifier::~PasswordStoreSigninNotifier() {}
 
-void PasswordStoreSigninNotifier::NotifySignin(const std::string& username,
-                                               const std::string& password) {
-  // After the full roll out of DICE, |password| may be empty
-  // if user clicks "Sync as ..." button in the sign-in promotion bubble.
-  if (store_ && !password.empty()) {
-    store_->SaveGaiaPasswordHash(
-        username, base::UTF8ToUTF16(password),
-        metrics_util::SyncPasswordHashChange::SAVED_ON_CHROME_SIGNIN);
-  }
-}
-
 void PasswordStoreSigninNotifier::NotifySignedOut(const std::string& username,
                                                   bool primary_account) {
   if (!store_)
diff --git a/components/password_manager/core/browser/password_store_signin_notifier.h b/components/password_manager/core/browser/password_store_signin_notifier.h
index ce3a8593..9c237c5 100644
--- a/components/password_manager/core/browser/password_store_signin_notifier.h
+++ b/components/password_manager/core/browser/password_store_signin_notifier.h
@@ -30,9 +30,6 @@
  protected:
   void set_store(PasswordStore* store) { store_ = store; }
 
-  // Passes sign-in to |store_|.
-  void NotifySignin(const std::string& username, const std::string& password);
-
   // Passes signed-out to |store_|.
   void NotifySignedOut(const std::string& username, bool primary_account);
 
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge.cc b/components/password_manager/core/browser/sync/password_sync_bridge.cc
index 5a2b1ca..fffe796 100644
--- a/components/password_manager/core/browser/sync/password_sync_bridge.cc
+++ b/components/password_manager/core/browser/sync/password_sync_bridge.cc
@@ -12,6 +12,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "components/autofill/core/common/password_form.h"
 #include "components/password_manager/core/browser/password_store_sync.h"
+#include "components/sync/model/metadata_batch.h"
 #include "components/sync/model/metadata_change_list.h"
 #include "components/sync/model/model_type_change_processor.h"
 #include "components/sync/model/mutable_data_batch.h"
@@ -134,6 +135,10 @@
     : ModelTypeSyncBridge(std::move(change_processor)),
       password_store_sync_(password_store_sync) {
   DCHECK(password_store_sync_);
+  // TODO(crbug.com/902349): Read the actual metadata from the PasswordStoreSync
+  // be introducing a new API to read them.
+  this->change_processor()->ModelReadyToSync(
+      std::make_unique<syncer::MetadataBatch>());
 }
 
 PasswordSyncBridge::~PasswordSyncBridge() = default;
diff --git a/components/policy/core/common/cloud/policy_header_service.cc b/components/policy/core/common/cloud/policy_header_service.cc
index 6b7bf02..90edefb9 100644
--- a/components/policy/core/common/cloud/policy_header_service.cc
+++ b/components/policy/core/common/cloud/policy_header_service.cc
@@ -4,13 +4,14 @@
 
 #include "components/policy/core/common/cloud/policy_header_service.h"
 
+#include <utility>
+
 #include "base/base64.h"
 #include "base/json/json_writer.h"
 #include "base/sequenced_task_runner.h"
 #include "base/values.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
-#include "net/http/http_request_headers.h"
 
 namespace {
 const char kUserDMTokenKey[] = "user_dmtoken";
@@ -35,14 +36,15 @@
   user_policy_store_->RemoveObserver(this);
 }
 
-void PolicyHeaderService::AddPolicyHeaders(
-    const GURL& url,
-    net::HttpRequestHeaders* extra_headers) const {
+void PolicyHeaderService::AddPolicyHeaders(const GURL& url,
+                                           AddHeaderFunction add_header) const {
   if (policy_header_.empty())
     return;
+
   if (url.spec().compare(0, server_url_.size(), server_url_) != 0)
     return;
-  extra_headers->SetHeader(kChromePolicyHeader, policy_header_);
+
+  std::move(add_header).Run(kChromePolicyHeader, policy_header_);
 }
 
 std::string PolicyHeaderService::CreateHeaderValue() {
diff --git a/components/policy/core/common/cloud/policy_header_service.h b/components/policy/core/common/cloud/policy_header_service.h
index 327daa92..5f339f55 100644
--- a/components/policy/core/common/cloud/policy_header_service.h
+++ b/components/policy/core/common/cloud/policy_header_service.h
@@ -9,16 +9,13 @@
 #include <string>
 #include <vector>
 
+#include "base/callback_forward.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/policy_export.h"
 #include "url/gurl.h"
 
-namespace net {
-class HttpRequestHeaders;
-}
-
 namespace policy {
 
 // Per-profile service used to keep track of policy changes.
@@ -33,10 +30,15 @@
                       CloudPolicyStore* user_policy_store);
   ~PolicyHeaderService() override;
 
-  // Update |*extra_headers| with the policy header if
-  // |url| matches |server_url_|. Otherwise |*extra_headers| remains unchanged.
-  void AddPolicyHeaders(const GURL& url,
-                        net::HttpRequestHeaders* extra_headers) const;
+  // Update navigation request headers with the policy header if the URL matches
+  // |server_url_|.
+  // Note: To avoid depending on content/public, a callback is used here.
+  // It correspond to NavigationHandle::SetRequestHeader(). It is called
+  // synchronously.
+  using AddHeaderFunction =
+      base::OnceCallback<void(const std::string& /* header_name*/,
+                              const std::string& /* header_value */)>;
+  void AddPolicyHeaders(const GURL& url, AddHeaderFunction add_header) const;
 
   // Overridden CloudPolicyStore::Observer methods:
   void OnStoreLoaded(CloudPolicyStore* store) override;
diff --git a/components/policy/core/common/cloud/policy_header_service_unittest.cc b/components/policy/core/common/cloud/policy_header_service_unittest.cc
index b66063eb..aa69034 100644
--- a/components/policy/core/common/cloud/policy_header_service_unittest.cc
+++ b/components/policy/core/common/cloud/policy_header_service_unittest.cc
@@ -53,38 +53,29 @@
     service_.reset();
   }
 
-  void ValidateHeader(const net::HttpRequestHeaders& headers,
-                      const std::string& expected) {
-    std::string header;
-    EXPECT_TRUE(headers.GetHeader(kPolicyHeaderName, &header));
-    EXPECT_EQ(header, expected);
-  }
-
-  void ValidateHeader(const net::HttpRequestHeaders& headers,
+  void ValidateHeader(const std::string& header_name,
+                      const std::string& header_value,
                       const std::string& expected_dmtoken,
                       const std::string& expected_policy_token) {
-    if (expected_dmtoken.empty()) {
-      EXPECT_TRUE(headers.IsEmpty());
-    } else {
-      // Read header.
-      std::string header;
-      EXPECT_TRUE(headers.GetHeader(kPolicyHeaderName, &header));
-      // Decode the base64 value into JSON.
-      std::string decoded;
-      base::Base64Decode(header, &decoded);
-      // Parse the JSON.
-      std::unique_ptr<base::Value> value = base::JSONReader::Read(decoded);
-      ASSERT_TRUE(value);
-      base::DictionaryValue* dict;
-      EXPECT_TRUE(value->GetAsDictionary(&dict));
-      // Read the values and verify them vs the expected values.
-      std::string dm_token;
-      dict->GetString("user_dmtoken", &dm_token);
-      EXPECT_EQ(dm_token, expected_dmtoken);
-      std::string policy_token;
-      dict->GetString("user_policy_token", &policy_token);
-      EXPECT_EQ(policy_token, expected_policy_token);
-    }
+    EXPECT_EQ(kPolicyHeaderName, header_name);
+
+    // Decode the base64 value into JSON.
+    std::string decoded;
+    base::Base64Decode(header_value, &decoded);
+
+    // Parse the JSON.
+    std::unique_ptr<base::Value> value = base::JSONReader::Read(decoded);
+    EXPECT_TRUE(value);
+    base::DictionaryValue* dict;
+    EXPECT_TRUE(value->GetAsDictionary(&dict));
+
+    // Read the values and verify them vs the expected values.
+    std::string dm_token;
+    dict->GetString("user_dmtoken", &dm_token);
+    EXPECT_EQ(dm_token, expected_dmtoken);
+    std::string policy_token;
+    dict->GetString("user_policy_token", &policy_token);
+    EXPECT_EQ(policy_token, expected_policy_token);
   }
 
   base::test::ScopedTaskEnvironment task_environment_;
@@ -93,6 +84,18 @@
   scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
 };
 
+void AddHeader(std::string* header_name,
+               std::string* header_value,
+               const std::string& name,
+               const std::string& value) {
+  *header_name = name;
+  *header_value = value;
+}
+
+void ExpectNoHeaderAdded(const std::string&, const std::string&) {
+  FAIL();
+}
+
 }  // namespace
 
 TEST_F(PolicyHeaderServiceTest, TestCreationAndShutdown) {
@@ -109,40 +112,43 @@
   policy->set_policy_token(expected_policy_token);
   user_store_.SetPolicy(std::move(policy));
   task_runner_->RunUntilIdle();
-
-  net::HttpRequestHeaders extra_headers;
-  service_->AddPolicyHeaders(GURL(kDMServerURL), &extra_headers);
-  ValidateHeader(extra_headers, expected_dmtoken, expected_policy_token);
+  std::string header_name, header_value;
+  service_->AddPolicyHeaders(
+      GURL(kDMServerURL),
+      base::BindOnce(AddHeader, base::Unretained(&header_name),
+                     base::Unretained(&header_value)));
+  ValidateHeader(header_name, header_value, expected_dmtoken,
+                 expected_policy_token);
 
   // Now blow away the policy data.
   user_store_.SetPolicy(std::unique_ptr<PolicyData>());
   task_runner_->RunUntilIdle();
-
-  net::HttpRequestHeaders extra_headers2;
-  service_->AddPolicyHeaders(GURL(kDMServerURL), &extra_headers2);
-  ValidateHeader(extra_headers2, "", "");
+  service_->AddPolicyHeaders(GURL(kDMServerURL),
+                             base::BindOnce(&ExpectNoHeaderAdded));
 }
 
 TEST_F(PolicyHeaderServiceTest, NoHeaderOnNonMatchingURL) {
   service_->SetHeaderForTest("new_header");
-  net::HttpRequestHeaders extra_headers;
-  service_->AddPolicyHeaders(GURL("http://non-matching.com"), &extra_headers);
-  EXPECT_TRUE(extra_headers.IsEmpty());
+  service_->AddPolicyHeaders(GURL("http://non-matching.com"),
+                             base::BindOnce(&ExpectNoHeaderAdded));
 }
 
 TEST_F(PolicyHeaderServiceTest, HeaderChange) {
   std::string new_header = "new_header";
   service_->SetHeaderForTest(new_header);
-  net::HttpRequestHeaders extra_headers;
-  service_->AddPolicyHeaders(GURL(kDMServerURL), &extra_headers);
-  ValidateHeader(extra_headers, new_header);
+  std::string header_name, header_value;
+  service_->AddPolicyHeaders(
+      GURL(kDMServerURL),
+      base::BindOnce(AddHeader, base::Unretained(&header_name),
+                     base::Unretained(&header_value)));
+  EXPECT_EQ(kPolicyHeaderName, header_name);
+  EXPECT_EQ(new_header, header_value);
 }
 
 TEST_F(PolicyHeaderServiceTest, ChangeToNoHeader) {
   service_->SetHeaderForTest("");
-  net::HttpRequestHeaders extra_headers;
-  service_->AddPolicyHeaders(GURL(kDMServerURL), &extra_headers);
-  EXPECT_TRUE(extra_headers.IsEmpty());
+  service_->AddPolicyHeaders(GURL(kDMServerURL),
+                             base::BindOnce(&ExpectNoHeaderAdded));
 }
 
 }  // namespace policy
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index af24d6e..74f903b4 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -11194,7 +11194,6 @@
       This policy has no effect on whether users can configure printers on individual devices.  It is intended to be supplementary to the configuration of printers by individual users.
 
       For Active Directory managed devices this policy supports expansion of <ph name="MACHINE_NAME_VARIABLE">${MACHINE_NAME[,pos[,count]]}</ph> to the Active Directory machine name or a substring of it. For example, if the machine name is <ph name="MACHINE_NAME_EXAMPLE">CHROMEBOOK</ph>, then <ph name="MACHINE_NAME_VARIABLE_EXAMPLE">${MACHINE_NAME,6,4}</ph> would be replaced by the 4 characters starting after the 6th position, i.e. <ph name="MACHINE_NAME_PART_EXAMPLE">BOOK</ph>. Note that the position is zero-based.
-      <ph name="MACHINE_NAME_VARIABLE_LOWERCASE">${machine_name}</ph> (lowercase) is deprecated in M71 and will be removed in M72.
       ''',
     },
     {
diff --git a/components/policy/resources/policy_templates_am.xtb b/components/policy/resources/policy_templates_am.xtb
index 95f2765..169128392 100644
--- a/components/policy/resources/policy_templates_am.xtb
+++ b/components/policy/resources/policy_templates_am.xtb
@@ -3273,7 +3273,6 @@
 
       ተጠቃሚዎች ይህን ቅንብር መቀየር ወይም መሻር አይችሉም።</translation>
 <translation id="8631434304112909927">እስከ ስሪት <ph name="UNTIL_VERSION" /> ድረስ</translation>
-<translation id="863319402127182273">ለAndroid መተግበሪያዎች ይህ መመሪያ በአብሮገነቡ ካሜራ ላይ ብቻ ነው ተጽዕኖ የሚኖረው። ይህ መመሪያ ወደ እውነት ከተዋቀረ ካሜራው አንድም ሳያስቀር ለሁሉም የAndroid መተግበሪያዎች ይሰናከላል።</translation>
 <translation id="8649763579836720255">የChrome ስርዓተ ክወና መሣሪያዎች አንድ መሣሪያ የተጠበቀ ይዘት ለማጫወት ብቁ መሆኑን የሚያስረግጥ በChrome ስርዓተ ክወና CA የሚሰጥ እውቅና ለማግኘት በርቀት ማስረገጥን (የተረጋገጠ መዳረሻ) መጠቀም ይችላሉ።  ይሄ ሂደት የሃርድዌር መጽደቅ መረጃ መሣሪያውን ልዩ በሆነ ሁኔታ ወደሚለየው Chrome ስርዓተ ክወና CA መላክን ያካትታል።
 
           ይህ ቅንብር ሐሰት ከሆነ መሣሪያው ለይዘት ጥበቃ የርቀት ማስረገጥ አይጠቀምም፣ እና መሣሪያው የተጠበቀ ይዘት ማጫወት ላይችል ይችላል።
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb
index d0ea3add..ba7c7bd4 100644
--- a/components/policy/resources/policy_templates_ar.xtb
+++ b/components/policy/resources/policy_templates_ar.xtb
@@ -3161,7 +3161,6 @@
 
       يتعذّر على المستخدمين تغيير هذا الإعداد أو إلغاؤه.</translation>
 <translation id="8631434304112909927">حتى الإصدار <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">‏بالنسبة لتطبيقات Android، تؤثر هذه السياسة على الكاميرا المدمجة فقط. عند تعيين هذه السياسة على "true"، يتم إيقاف الكاميرا لجميع تطبيقات Android، دون أي استثناءات.</translation>
 <translation id="8649763579836720255">‏يُمكن لأجهزة Chrome اسستخدام المصادقة عن بُعد (الدخول المتحقق منه) للحصول على شهادة صادرة عن المرجع المصدق لنظام التشغيل Chrome والتي تؤكد على أهلية الجهاز لتشغيل محتوى محمي. وتشتمل هذه العملية على إرسال معلومات توصية بالأجهزة إلى المرجع المصدق لنظام التشغيل Chrome والذي يتعرف بدوره على الجهاز بشكل فريد.
 
           إذا تم تعيين هذا الإعداد على "false"، فلن يستخدم الجهاز المصادقة عن بُعد لحماية المحتوى، وقد يتعذر على الجهاز تشغيل المحتوى المحمي.
diff --git a/components/policy/resources/policy_templates_bg.xtb b/components/policy/resources/policy_templates_bg.xtb
index 2962511..6986e8a4 100644
--- a/components/policy/resources/policy_templates_bg.xtb
+++ b/components/policy/resources/policy_templates_bg.xtb
@@ -3163,7 +3163,6 @@
 
 Потребителите не могат да променят или отменят тази настройка.</translation>
 <translation id="8631434304112909927">до версия <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Това правило засяга приложенията за Android само по отношение на вградената камера. Когато е зададено true, тя е деактивирана за абсолютно всички приложения за Android.</translation>
 <translation id="8649763579836720255">Устройствата с Chrome OS могат да използват отдалечено удостоверяване (потвърден достъп), за да получат сертификат, издаден от сертифициращия орган на Chrome OS, според който устройството отговаря на условията за възпроизвеждане на защитено съдържание. При този процес до този орган се изпраща информация за одобрение на хардуера, която служи за уникално идентифициране на устройството.
 
           Ако настройката е „false“, устройството няма да използва отдалечено удостоверяване с цел защита на съдържание и може да не е в състояние да възпроизвежда защитено съдържание.
diff --git a/components/policy/resources/policy_templates_bn.xtb b/components/policy/resources/policy_templates_bn.xtb
index 5ea7027b..e7947b06 100644
--- a/components/policy/resources/policy_templates_bn.xtb
+++ b/components/policy/resources/policy_templates_bn.xtb
@@ -3646,7 +3646,6 @@
 
       ব্যবহারকারী এই সেটিং পরিবর্তন বা ওভাররাইড করতে পারবেন না।</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" /> সংস্করণ অবধি</translation>
-<translation id="863319402127182273">Android অ্যাপ্লিকেশানগুলির জন্য, এই নীতিটি কেবলমাত্র অন্তর্ভুক্ত ক্যামেরাকে প্রভাবিত করে। এই নীতিটি সত্য হিসেবে সেট করা থাকলে, কোনো ব্যতিক্রম ছাড়াই Android অ্যাপ্লিকেশানগুলির জন্য ক্যামেরা অক্ষম করা হয়।</translation>
 <translation id="8649763579836720255">Chrome OS ডিভাইসগুলি Chrome OS CA-এর ইস্যু করা একটি সার্টিফিকেট পেতে রিমোট সার্টিফিকেট ব্যবহার করতে পারে, যা ডিভাইসটি যে সুরক্ষিত কন্টেন্ট প্লে করতে পারবে তার দাবি করে৷ এই প্রসেসে Chrome OS CA-তে হার্ডওয়্যার সমর্থন তথ্য পাঠানো জড়িত থাকে যা অনন্যভাবে ডিভাইসকে চিহ্নিত করে৷
 
 যদি এই সেটিংস ফলসে থাকে, তবে ডিভাইস কন্টেন্টর সুরক্ষার জন্য রিমোট সার্টিফিকেট ব্যবহার করবে না এবং ডিভাইস সুরক্ষিত কন্টেন্ট প্লে করতে বন্ধ হতে পারে৷
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb
index c4d264b..c5efeb4 100644
--- a/components/policy/resources/policy_templates_ca.xtb
+++ b/components/policy/resources/policy_templates_ca.xtb
@@ -3158,7 +3158,6 @@
 
       Els usuaris no poden modificar ni substituir aquesta opció.</translation>
 <translation id="8631434304112909927">fins a la versió <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">En el cas de les aplicacions per a Android, aquesta política afecta només la càmera integrada. Quan s'estableix en "true", es desactiva la càmera en totes les aplicacions per a Android, sense cap excepció.</translation>
 <translation id="8649763579836720255">Els dispositius amb Chrome OS poden utilitzar l'autenticació remota (accés verificat) per obtenir un certificat emès per la entitat emissora de certificats (CA) de Chrome OS que afirmi que el dispositiu és apte per reproduir contingut protegit. Aquest procés inclou l'enviament d'informació de ratificació del maquinari a la CA de Chrome OS que identifica el dispositiu de manera única.
 
           Si el paràmetre està configurat com a False, el dispositiu no farà servir l'autenticació remota de la protecció del contingut i pot ser que no pugui reproduir contingut protegit.
diff --git a/components/policy/resources/policy_templates_cs.xtb b/components/policy/resources/policy_templates_cs.xtb
index 8cbf1aa..53bc97d 100644
--- a/components/policy/resources/policy_templates_cs.xtb
+++ b/components/policy/resources/policy_templates_cs.xtb
@@ -3214,7 +3214,6 @@
 
 Uživatelé toto nastavení nemohou změnit ani přepsat.</translation>
 <translation id="8631434304112909927">naposledy ve verzi <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">U aplikací Android má tato zásada vliv pouze na vestavěný fotoaparát. Když je tato zásada nastavena na hodnotu True, je fotoaparát pro všechny aplikace Android bez výjimky zakázán.</translation>
 <translation id="8649763579836720255">Zařízení se systémem Chrome OS mohou pomocí vzdáleného ověření identity (ověřeného přístupu) získat certifikát vydaný certifikační autoritou Chrome OS, který hodnotí, zda je zařízení vhodné k přehrání chráněného obsahu. Proces zahrnuje odeslání informací o podpoře hardwaru certifikační autoritě Chrome OS, která zařízení jedinečně identifikuje.
 
           Pokud zásadu nastavíte na hodnotu False, zařízení nebude u chráněného obsahu používat vzdálené ověření identity, a chráněný obsah proto nemusí být možné přehrát.
diff --git a/components/policy/resources/policy_templates_da.xtb b/components/policy/resources/policy_templates_da.xtb
index 2319476..67fa49c 100644
--- a/components/policy/resources/policy_templates_da.xtb
+++ b/components/policy/resources/policy_templates_da.xtb
@@ -3203,7 +3203,6 @@
 
       Brugerne kan ikke ændre eller tilsidesætte denne indstilling.</translation>
 <translation id="8631434304112909927">indtil version <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">I Android-apps påvirker denne politik kun det indbyggede kamera. Når denne politik er angivet som Sand, deaktiveres kameraet i alle Android-apps uden undtagelser.</translation>
 <translation id="8649763579836720255">Chrome OS-enheder kan bruge ekstern attestation (bekræftet adgang) til at få udstedt et certifikat af Chrome OS CA, som bekræfter, at enheden er kvalificeret til at afspille beskyttet indhold. Denne proces involverer afsendelse af oplysninger om hardwaregodkendelse til Chrome OS CA, som identificerer enheden.
 
           Hvis denne indstilling er angivet som falsk, anvender enheden ikke ekstern attestation til indholdsbeskyttelse, og enheden kan muligvis ikke afspille beskyttet indhold.
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index 5b05b12..d6a80e7 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -3160,7 +3160,6 @@
 
 Nutzer können diese Einstellung weder ändern noch überschreiben.</translation>
 <translation id="8631434304112909927">Bis Version <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Bei Android-Apps betrifft diese Richtlinie nur die eingebaute Kamera. Wenn die Richtlinie auf "true" gesetzt ist, wird die Kamera ohne Ausnahme für alle Android-Apps deaktiviert.</translation>
 <translation id="8649763579836720255">Chrome OS-Geräte können mithilfe einer Remote-Bescheinigung für überprüften Zugriff ein von der Chrome OS-Zertifizierungsstelle herausgegebenes Zertifikat erhalten, das die Berechtigung des Geräts für die Wiedergabe geschützter Medien nachweist. Bei diesem Vorgang werden Informationen zur Bestätigung der Hardware an die Chrome OS-Zertifizierungsstelle gesendet, anhand derer das Gerät eindeutig identifiziert werden kann.
 
           Ist die Einstellung auf "false" gesetzt, verwendet das Gerät keine Remote-Bescheinigung für geschützte Medien und kann möglicherweise keine geschützten Medien wiedergeben.
diff --git a/components/policy/resources/policy_templates_el.xtb b/components/policy/resources/policy_templates_el.xtb
index c0a356c..564229f 100644
--- a/components/policy/resources/policy_templates_el.xtb
+++ b/components/policy/resources/policy_templates_el.xtb
@@ -3310,7 +3310,6 @@
 
       Δεν είναι δυνατή η αλλαγή ή η παράκαμψη αυτής της ρύθμισης από τους χρήστες.</translation>
 <translation id="8631434304112909927">μέχρι την έκδοση <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Για τις εφαρμογές Android, αυτή η πολιτική επηρεάζει μόνο την ενσωματωμένη κάμερα. Όταν αυτή η πολιτική οριστεί αληθής, η κάμερα απενεργοποιείται για όλες τις εφαρμογές Android, χωρίς εξαίρεση.</translation>
 <translation id="8649763579836720255">Οι συσκευές Chrome OS μπορούν να χρησιμοποιήσουν απομακρυσμένη διαβεβαίωση (Επαληθευμένη πρόσβαση), για να λάβουν ένα πιστοποιητικό που έχει εκδοθεί από την αρχή έκδοσης πιστοποιητικών του Chrome OS, το οποίο επιβεβαιώνει την καταλληλότητα της συσκευής για την αναπαραγωγή προστατευμένου περιεχομένου. Αυτή η διαδικασία περιλαμβάνει την αποστολή πληροφοριών έγκρισης υλικού στην αρχή έκδοσης πιστοποιητικών του Chrome OS οι οποίες προσδιορίζουν με μοναδικό τρόπο τη συσκευή.
 
           Αν η τιμή αυτής της ρύθμισης είναι false, η συσκευή δεν θα χρησιμοποιεί την απομακρυσμένη διαβεβαίωση για την προστασία του περιεχομένου και ενδέχεται να μην μπορεί να αναπαράγει προστατευμένο περιεχόμενο.
diff --git a/components/policy/resources/policy_templates_en-GB.xtb b/components/policy/resources/policy_templates_en-GB.xtb
index aa65059a..72fb861 100644
--- a/components/policy/resources/policy_templates_en-GB.xtb
+++ b/components/policy/resources/policy_templates_en-GB.xtb
@@ -3319,7 +3319,6 @@
 
       Users cannot change or override this setting.</translation>
 <translation id="8631434304112909927">until version <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">For Android apps, this policy affects the built-in camera only. When this policy is set to true, the camera is disabled for all Android apps, with no exceptions.</translation>
 <translation id="8649763579836720255">Chrome OS devices can use remote attestation (Verified Access) to get a certificate issued by the Chrome OS CA that asserts that the device is eligible to play protected content. This process involves sending hardware endorsement information to the Chrome OS CA which uniquely identifies the device.
 
           If this setting is false, the device will not use remote attestation for content protection and the device may be unable to play protected content.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 037758a..febc2045 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -3222,7 +3222,6 @@
 
       Los usuarios no pueden cambiar ni anular esta configuración.</translation>
 <translation id="8631434304112909927">hasta la versión <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Para las apps de Android, esta política solo afecta el uso de la cámara incorporada. Cuando esta política se establece como verdadera, la cámara queda inhabilitada para todas las apps de Android, sin excepciones.</translation>
 <translation id="8649763579836720255">Los dispositivos con Sistema operativo Chrome pueden utilizar la confirmación remota (acceso verificado) para obtener un certificado emitido por la entidad de certificación del Sistema operativo Chrome que afirme que el dispositivo es apto para reproducir contenido protegido. Este proceso implica el envío de información de aprobación del hardware a la entidad de certificación del Sistema operativo Chrome, la cual identifica el dispositivo de forma única.
 
           Si esta opción está establecida en False, el dispositivo no utilizará la confirmación remota para la protección del contenido y es posible que el dispositivo no pueda reproducir contenido protegido.
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index b8498475..136d07f 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -805,7 +805,7 @@
       Si no se establece esta política, se habilitará la opción.</translation>
 <translation id="2813281962735757923">Esta política controla los intervalos de tiempo durante los cuales el dispositivo <ph name="PRODUCT_OS_NAME" /> no tiene permiso para buscar actualizaciones automáticamente.
       Si a esta política se le asigna una lista de intervalos de tiempo que no esté vacía:
-      Los dispositivos no podrán buscar actualizaciones automáticamente durante los intervalos especificados. Por motivos de seguridad, los dispositivos que deban restaurarse o cuya versión del sistema operativo sea anterior a <ph name="PRODUCT_OS_NAME" /> no se verán afectados por esta política. Esta política no bloqueará las comprobaciones de actualizaciones solicitadas por los usuarios o administradores.
+      Los dispositivos no podrán buscar actualizaciones automáticamente durante los intervalos especificados. Por motivos de seguridad, los dispositivos que deban restaurarse, o cuya versión del sistema operativo sea anterior a <ph name="PRODUCT_OS_NAME" />, no se verán afectados por esta política. Esta política no bloqueará las comprobaciones de actualizaciones solicitadas por los usuarios o administradores.
       Si no se asigna ningún valor a esta política o no contiene ningún intervalo de tiempo:
       La política no bloqueará ninguna comprobación de actualizaciones automática, pero otras políticas podrían hacerlo. Esta función solo está habilitada en los dispositivos Chrome configurados como kioscos de inicio automático. Esta política no afectará a otros dispositivos.</translation>
 <translation id="2823870601012066791">Ubicación del registro de Windows para clientes de <ph name="PRODUCT_OS_NAME" />:</translation>
@@ -3290,7 +3290,6 @@
 
 Los usuarios no pueden cambiar ni anular esta opción.</translation>
 <translation id="8631434304112909927">hasta la versión <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">En el caso de las aplicaciones para Android, esta política solo afecta a la cámara integrada. Si se le asigna el valor true a esta política, la cámara se inhabilitará en todas las aplicaciones para Android, sin excepciones.</translation>
 <translation id="8649763579836720255">Los dispositivos Chrome OS pueden utilizar la confirmación remota (acceso verificado) para obtener un certificado emitido por la autoridad de certificación de Chrome OS que afirme que el dispositivo puede reproducir contenido protegido. Este proceso implica el envío de información de aprobación del hardware a la autoridad de certificación de Chrome OS que identifica el dispositivo de forma única.
 
           Si esta opción está establecida en False, el dispositivo no utilizará la confirmación remota para la protección del contenido y es posible que el dispositivo no pueda reproducir contenido protegido.
diff --git a/components/policy/resources/policy_templates_et.xtb b/components/policy/resources/policy_templates_et.xtb
index 90dc2eec..4a8be8a 100644
--- a/components/policy/resources/policy_templates_et.xtb
+++ b/components/policy/resources/policy_templates_et.xtb
@@ -3315,7 +3315,6 @@
 
       Kasutajad ei saa seadet muuta ega alistada.</translation>
 <translation id="8631434304112909927">versioonini <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Androidi rakenduste puhul mõjutab see reegel ainult sisseehitatud kaamerat. Kui selle reegli väärtuseks on määratud Tõene, on kaamera ilma eranditeta keelatud kõigi Androidi rakenduste puhul.</translation>
 <translation id="8649763579836720255">Chrome OS-i seadmed saavad kasutada kaugatesteerimist (kinnitatud juurdepääs), et saada Chrome OS CA välja antav sertifikaat, mis kinnitab seadme sobilikkust kaitstud sisu esitamiseks.  Protsess hõlmab riistvara kinnitusteabe saatmist Chrome OS CA-le seadme kordumatuks tuvastamiseks.
 
           Kui seade väärtuseks on Vale, ei kasuta seade sisu kaitsmiseks kaugatesteerimist ja seade ei pruugi saada kaitstud sisu esitada.
diff --git a/components/policy/resources/policy_templates_fa.xtb b/components/policy/resources/policy_templates_fa.xtb
index 2a4da90..90241627 100644
--- a/components/policy/resources/policy_templates_fa.xtb
+++ b/components/policy/resources/policy_templates_fa.xtb
@@ -3186,7 +3186,6 @@
 
       کاربران نمی‌توانند این تنظیم را تغییر دهند یا لغو کنند.</translation>
 <translation id="8631434304112909927">تا نسخه <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">‏برای برنامه‌های Android، این خط‌مشی فقط بر دوربین داخلی تأثیر می‌گذارد. وقتی این خط‌مشی روی درست تنظیم شده باشد، دوربین برای همه برنامه‌های Android (بدون استثنا) غیرفعال می‌شود.</translation>
 <translation id="8649763579836720255">‏دستگاه‌های سیستم عامل Chrome می‌توانند از گواهی ازراه‌دور (دسترسی تأیید شده) برای دریافت یک مجوز ارائه شده توسط Chrome OS CA که اثبات می‌کند دستگاه برای پخش محتوای محافظت شده واجد شرایط است، استفاده کنند. این فرآیند شامل ارسال اطلاعات تأییدیه سخت‌افزار به OS CA که به‌صورت منحصر به فرد دستگاه را شناسایی می‌کند، است.
 
           اگر این تنظیم «نادرست» باشد، دستگاه از گواهی ازراه‌دور برای محافظت از محتوا استفاده نخواهد کرد و ممکن است دستگاه قادر به پخش محتوای محافظت شده نباشد.
diff --git a/components/policy/resources/policy_templates_fi.xtb b/components/policy/resources/policy_templates_fi.xtb
index 5f0fe14..76e4d61 100644
--- a/components/policy/resources/policy_templates_fi.xtb
+++ b/components/policy/resources/policy_templates_fi.xtb
@@ -3211,7 +3211,6 @@
 
       Käyttäjät eivät voi muuttaa tai ohittaa tätä asetusta.</translation>
 <translation id="8631434304112909927">versioon <ph name="UNTIL_VERSION" /> saakka</translation>
-<translation id="863319402127182273">Android-sovellusten kohdalla tämä käytäntö vaikuttaa vain sisäänrakennettuun kameraan. Kun käytännön arvoksi on määritetty tosi, kamera ei ole minkään Android-sovellusten käytössä, ilman poikkeuksia.</translation>
 <translation id="8649763579836720255">Chrome-käyttöjärjestelmää käyttävät laitteet voivat käyttää etävahvistusta (vahvistetut käyttöoikeudet), jotta saavat Chrome-käyttöjärjestelmän CA:n lähettämän todistuksen, joka vahvistaa, että laitteella voi toistaa suojattua sisältöä. Tähän prosessiin kuuluu laitteistosuositusten lähettäminen Chrome-käyttöjärjestelmän CA:lle, joka tunnistaa jokaisen yksittäisen laitteen.
 
           Jos tämän asetuksen arvoksi on asetettu epätosi, laite ei käytä etävahvistusta sisällön suojaamiseen eikä laite välttämättä voi toistaa suojattua sisältöä.
diff --git a/components/policy/resources/policy_templates_fil.xtb b/components/policy/resources/policy_templates_fil.xtb
index 4b4b296..343f853 100644
--- a/components/policy/resources/policy_templates_fil.xtb
+++ b/components/policy/resources/policy_templates_fil.xtb
@@ -3315,7 +3315,6 @@
 
       Hindi maaaring baguhin o i-override ng mga user ang setting na ito.</translation>
 <translation id="8631434304112909927">hanggang bersyon <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Para sa mga Android app, nakakaapekto lang sa built-in na camera ang patakarang ito. Kapag nakatakda sa true ang patakarang ito, idi-disable ang camera para sa lahat ng Android app, nang walang exception.</translation>
 <translation id="8649763579836720255">Ang mga Chrome OS device ay maaaring gumamit ng malayuang attestation (Verified Access) upang kumuha ng certificate na ibinibigay ng Chrome OS CA na ihinahayag na karapat-dapat ang device na mag-play ng pinoprotektahang nilalaman.  Kabilang sa prosesong ito ang pagpapadala ng impormasyon sa pag-endorso sa hardware sa Chrome OS CA na natatanging tumutukoy sa device.
 
           Kung false ang setting na ito, hindi gagamit ng malayuang attestation ang device para sa pagprotekta sa nilalaman at maaaring hindi makapag-play ang device ng pinoprotektahang nilalaman.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index dc133de..dcb59ba3 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -3315,7 +3315,6 @@
 
       Les utilisateurs ne peuvent pas modifier ni remplacer ce paramètre.</translation>
 <translation id="8631434304112909927">jusqu'à la version <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Cette règle ne s'applique qu'à l'appareil photo intégré pour les applications Android. Lorsqu'elle est définie sur "True", l'appareil photo est désactivé pour toutes les applications Android sans exception.</translation>
 <translation id="8649763579836720255">Il est possible d'utiliser l'attestation à distance (accès vérifié) pour les appareils Chrome OS afin d'obtenir un certificat délivré par Chrome OS CA qui atteste que vous pouvez lire du contenu protégé sur cet appareil. Ce processus implique l'envoi d'informations relatives au matériel à Chrome OS CA qui permettent d'identifier l'appareil de façon unique.
 
           Si ce paramètre est défini sur "False", l'attestation à distance n'est pas utilisée pour la protection du contenu, et vous ne pourrez peut-être pas lire du contenu protégé.
diff --git a/components/policy/resources/policy_templates_gu.xtb b/components/policy/resources/policy_templates_gu.xtb
index 7c6418c..c28a74bd 100644
--- a/components/policy/resources/policy_templates_gu.xtb
+++ b/components/policy/resources/policy_templates_gu.xtb
@@ -3638,7 +3638,6 @@
 
       વપરાશકર્તાઓ આ સેટિંગને બદલી અથવા ઓવરરાઇડ કરી શકતા નથી.</translation>
 <translation id="8631434304112909927">વર્ઝન <ph name="UNTIL_VERSION" /> સુધી</translation>
-<translation id="863319402127182273">Android ઍપ્લિકેશનો માટે, આ નીતિ ફક્ત બિલ્ટ-ઇન કૅમેરાને જ પ્રભાવિત કરે છે. જ્યારે આ નીતિ true પર સેટ કરેલ હોય, ત્યારે વિના કોઈ અપવાદે તમામ Android ઍપ્લિકેશનો માટે કૅમેરો અક્ષમ કરવામાં આવે છે.</translation>
 <translation id="8649763579836720255">સુરક્ષિત સામગ્રી ચલાવવા માટે ડિવાઇસ પાત્ર છે તેની ખાતરી કરતાં Chrome OS ડિવાઇસ Chrome OS CA દ્વારા અપાતાં પ્રમાણપત્રને મેળવવા માટે દૂરસ્થ પ્રમાણન (ચકાસાયેલ ઍક્સેસ) નો ઉપયોગ કરી શકે છે. આ પ્રક્રિયામાં Chrome OS CA જે ડિવાઇસને અનન્ય રૂપે ઓળખે છે તેની પર હાર્ડવેર ભલામણ માહિતી મોકલવાનું શામેલ છે.
 
           જો આ સેટિંગ ફોલ્સ છે, તો સામગ્રી સુરક્ષા માટે ડિવાઇસ દૂરસ્થ પ્રમાણનનો ઉપયોગ કરશે નહીં અને ડિવાઇસ સુરક્ષિત સામગ્રી ચલાવવામાં અસમર્થ હોઈ શકે છે.
diff --git a/components/policy/resources/policy_templates_hi.xtb b/components/policy/resources/policy_templates_hi.xtb
index 7728d8fd..c6574e2 100644
--- a/components/policy/resources/policy_templates_hi.xtb
+++ b/components/policy/resources/policy_templates_hi.xtb
@@ -3317,7 +3317,6 @@
 
        उपयोगकर्ता इस सेटिंग में कोई बदलाव या तब्दीली नहीं कर सकते हैं.</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" /> वर्शन तक</translation>
-<translation id="863319402127182273">Android ऐप्लिकेशन के लिए, यह नीति केवल अंतर्निहित कैमरे को प्रभावित करती है. इस नीति के सही पर सेट होने पर, कैमरेे को बिना किसी अपवाद के, सभी Android ऐप्लिकेशन के लिए अक्षम कर दिया जाता है.</translation>
 <translation id="8649763579836720255">Chrome OS डिवाइस, Chrome OS CA द्वारा जारी किया गया प्रमाण-पत्र प्राप्त करने के लिए दूरस्थ प्रमाणीकरण (सत्यापित एक्सेस) का उपयोग कर सकते हैं जो इस बात पर ज़ोर देता है कि डिवाइस संरक्षित सामग्री चलाने के योग्य है.  इस प्रोसेस में Chrome OS CA को हार्डवेयर पृष्ठांकन जानकारी भेजना शामिल है जो डिवाइस की अद्वितीय रूप से पहचान करती है.
 
 यदि यह सेटिंग गलत है, तो डिवाइस सामग्री संरक्षण के लिए दूरस्थ प्रमाणीकरण का उपयोग नहीं करेगा और डिवाइस संरक्षित सामग्री नहीं चला सकता.
diff --git a/components/policy/resources/policy_templates_hr.xtb b/components/policy/resources/policy_templates_hr.xtb
index 28422a6..84632a0d 100644
--- a/components/policy/resources/policy_templates_hr.xtb
+++ b/components/policy/resources/policy_templates_hr.xtb
@@ -3199,7 +3199,6 @@
 
       Tu postavku korisnici ne mogu promijeniti niti nadjačati.</translation>
 <translation id="8631434304112909927">do verzije <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Za Android aplikacije to pravilo utječe samo na ugrađenu kameru. Kada se to pravilo postavi na True, kamera je onemogućena za sve Android aplikacije, bez iznimke.</translation>
 <translation id="8649763579836720255">Uređaji s OS-om Chrome mogu upotrebljavati daljinsku ovjeru (potvrđeni pristup) kako bi dobili certifikat koji izdaje tijelo za izdavanje certifikata OS-a Chrome koje potvrđuje da uređaj ispunjava uvjete za reprodukciju zaštićenog sadržaja. Taj proces uključuje slanje informacija o potvrdi hardvera tijelu za izdavanje certifikata OS-a Chrome koje jedinstveno identificira uređaj.
 
           Ako je ta postavka netočna, uređaj neće upotrebljavati daljinsku ovjeru za zaštitu sadržaja i uređaj možda neće moći reproducirati zaštićeni sadržaj.
diff --git a/components/policy/resources/policy_templates_hu.xtb b/components/policy/resources/policy_templates_hu.xtb
index a88dbf0..6c1fd16 100644
--- a/components/policy/resources/policy_templates_hu.xtb
+++ b/components/policy/resources/policy_templates_hu.xtb
@@ -3211,7 +3211,6 @@
 
       A felhasználók nem módosíthatják vagy bírálhatják felül ezt a beállítást.</translation>
 <translation id="8631434304112909927">a(z) <ph name="UNTIL_VERSION" /> verzióig</translation>
-<translation id="863319402127182273">Az Android-alkalmazások esetében ez a házirend csak a beépített kamerára vonatkozik. Ha a házirend beállítása igaz, akkor a kamera használata kivétel nélkül le van tiltva valamennyi Android-alkalmazás számára.</translation>
 <translation id="8649763579836720255">A Chrome OS-eszközök távoli hitelesítést (ellenőrzött hozzáférés) használhatnak, hogy a Chrome OS CA által kiállított tanúsítványt kapjanak, amely megerősíti, hogy az eszközön lejátszható védett tartalom is. A folyamat hardver-jóváhagyási információk küldését is magában foglalja a Chrome OS CA-nak, amely egyedileg beazonosítja az eszközt.
 
           Ha „hamis” értékre van állítva, az eszköz nem fog távoli hitelesítést használni a tartalomvédelem érdekében, és az eszközön valószínűleg nem lehet majd védett tartalmat lejátszani.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 77b7a70..8b35c595 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -3149,7 +3149,6 @@
 
 Pengguna tidak dapat mengubah atau mengganti setelan ini.</translation>
 <translation id="8631434304112909927">sampai versi <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Untuk aplikasi Android, kebijakan ini hanya memengaruhi kamera built-in. Jika kebijakan ini disetel ke true, kamera akan dinonaktifkan untuk semua aplikasi Android, tanpa pengecualian.</translation>
 <translation id="8649763579836720255">Perangkat Chrome OS dapat menggunakan atestasi jarak jauh (Akses Terverifikasi) untuk mendapatkan sertifikat yang diberikan oleh Chrome OS CA yang menyatakan bahwa perangkat tersebut memenuhi syarat untuk memutar konten yang dilindungi. Proses ini mencakup pengiriman informasi dukungan hardware ke Chrome OS CA yang mengidentifikasi perangkat tersebut secara unik.
 
           Jika disetel ke false, perangkat tidak akan menggunakan atestasi perlindungan konten jarak jauh dan tidak dapat memutar konten yang dilindungi.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 44cb4a9..1e10fec 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -3138,7 +3138,6 @@
 
       L'utente non può modificare o ignorare questa impostazione.</translation>
 <translation id="8631434304112909927">fino alla versione <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Nell'ambito delle app Android, questa norma influisce solo sulla fotocamera integrata. Se la norma viene impostata su true, la fotocamera viene disattivata su tutte le app Android, senza alcuna eccezione.</translation>
 <translation id="8649763579836720255">I dispositivi Chrome OS possono utilizzare un'attestazione remota (Accesso verificato) per ottenere un certificato emesso dalla CA di Chrome OS in cui si afferma che il dispositivo è idoneo a riprodurre contenuti protetti. Questo processo comporta l'invio alla CA di Chrome OS di informazioni di approvazione dell'hardware che identificano in modo univoco il dispositivo.
 
 Se questa impostazione viene impostata su false, il dispositivo non utilizzerà l'attestazione remota per la protezione dei contenuti e il dispositivo potrebbe non essere in grado di riprodurre i contenuti protetti.
diff --git a/components/policy/resources/policy_templates_iw.xtb b/components/policy/resources/policy_templates_iw.xtb
index 6bd0a40..dae2213b 100644
--- a/components/policy/resources/policy_templates_iw.xtb
+++ b/components/policy/resources/policy_templates_iw.xtb
@@ -3189,7 +3189,6 @@
 
       המשתמשים לא יכולים לשנות או לעקוף את ההגדרה הזו.</translation>
 <translation id="8631434304112909927">עד גרסה <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">‏באפליקציות Android, המדיניות הזו משפיעה רק על המצלמה המובנית. כשהמדיניות הזו מוגדרת כ-true, המצלמה מושבתת בכל אפליקציות Android, ללא חריגים.</translation>
 <translation id="8649763579836720255">‏מכשירים עם מערכת ההפעלה של Chrome יכולים להשתמש בעדות (גישה מאומתת) מרחוק לקבלת אישור שמונפק על ידי רשות האישורים של מערכת ההפעלה של Chrome, שמצהיר שהמכשיר רשאי להפעיל תוכן מוגן. תהליך זה כרוך בשליחה של פרטי תמיכה בחומרה לרשות האישורים של מערכת ההפעלה של Chrome, שמזהים את המכשיר באופן ייחודי.
 
           אם הגדרה זו מוגדרת ל-False, המכשיר לא ישתמש בעדות מרחוק להגנה על תוכן, וייתכן שהמכשיר לא יוכל להפעיל תוכן מוגן.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index 9f0c042..6a8ff9fa 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -3200,7 +3200,6 @@
 
       ユーザーがこの設定を変更またはオーバーライドすることはできません。</translation>
 <translation id="8631434304112909927">バージョン <ph name="UNTIL_VERSION" /> まで</translation>
-<translation id="863319402127182273">Android アプリに対しては、このポリシーは内蔵カメラにのみ適用されます。このポリシーを true に設定した場合、すべての Android アプリでは例外なくカメラが無効になります。</translation>
 <translation id="8649763579836720255">Chrome OS デバイスは、Chrome OS CA(デバイスが保護コンテンツを再生可能であることを証明)によって発行される証明書を取得するため、リモート認証(検証済みアクセス)を使用できます。これには、デバイスを特定するハードウェア署名情報を Chrome OS CA に送信する処理も含まれます。
 
           この設定を false にすると、デバイスはコンテンツ保護に関してリモート認証を使用しないため、保護コンテンツを再生できなくなります。
diff --git a/components/policy/resources/policy_templates_kn.xtb b/components/policy/resources/policy_templates_kn.xtb
index d63a62c..cb58ffc 100644
--- a/components/policy/resources/policy_templates_kn.xtb
+++ b/components/policy/resources/policy_templates_kn.xtb
@@ -3441,7 +3441,6 @@
 
      ಬಳಕೆದಾರರಿಗೆ ಈ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಿಸಲು ಅಥವಾ ಅತಿಕ್ರಮಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" /> ಆವೃತ್ತಿಯವರೆಗೂ</translation>
-<translation id="863319402127182273">Android ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ, ಈ ನೀತಿಯು ಅಂತರ್ನಿರ್ಮಿತ ಕ್ಯಾಮರಾ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಈ ನೀತಿಯನ್ನು ಸರಿ ಎಂದು ಹೊಂದಿಸಿದಾಗ, ಯಾವುದೇ ವಿನಾಯಿತಿಗಳಿಲ್ಲದೇ, ಎಲ್ಲಾ Android ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಕ್ಯಾಮರಾವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="8649763579836720255">ಸಾಧನವು ಸಂರಕ್ಷಿತ ವಿಷಯವನ್ನು ಪ್ಲೇ ಮಾಡಲು ಅರ್ಹವಾಗಿದೆ ಎಂದು ಪ್ರತಿಪಾದಿಸುವಂತಹ Chrome OS CA ಮೂಲಕ ನೀಡಲಾಗುವ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪಡೆದುಕೊಳ್ಳಲು, Chrome OS ಸಾಧನಗಳು ರಿಮೋಟ್ ದೃಢೀಕರಣವನ್ನು (ಪರಿಶೀಲಿಸಿರುವ ಪ್ರವೇಶ) ಬಳಸಬಹುದು. ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸಾಧನವನ್ನು ಅನನ್ಯವಾಗಿ ಗುರುತಿಸುವಂತಹ Chrome OS CA ಗೆ ಹಾರ್ಡ್‌ವೇರ್ ಒಡಂಬಡಿಕೆ ಮಾಹಿತಿಯನ್ನು ಕಳುಹಿಸುವುದನ್ನೂ ಒಳಗೊಂಡಿರುತ್ತದೆ.
 
           ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿದ್ದರೆ, ಸಾಧನಕ್ಕೆ ವಿಷಯ ಸಂರಕ್ಷಣೆಗಾಗಿ ರಿಮೋಟ್ ದೃಢೀಕರಣವನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಸಾಧನಕ್ಕೆ ಸಂರಕ್ಷಿತ ವಿಷಯವನ್ನು ಪ್ಲೇ ಮಾಡಲು ಸಾಧ್ಯವಾಗದಿರಬಹುದು.
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index a3633ef..8cd2a4a 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -3315,7 +3315,6 @@
 
       사용자는 이 설정을 변경하거나 재정의할 수 없습니다.</translation>
 <translation id="8631434304112909927">버전 <ph name="UNTIL_VERSION" /> 이하</translation>
-<translation id="863319402127182273">Android 앱의 경우 이 정책은 내장 카메라에만 영향을 줍니다. 이 정책이 true로 설정된 경우 카메라는 모든 앱에서 사용 중지되며 예외는 없습니다.</translation>
 <translation id="8649763579836720255">Chrome OS 기기는 기기에서 보호된 콘텐츠를 재생할 수 있음을 인증하는 Chrome OS CA에서 발행한 인증서를 받기 위해 원격 인증(인증된 액세스)을 사용할 수 있습니다.  이 프로세스는 기기를 고유하게 식별하는 Chrome OS CA로 하드웨어 보증 정보를 전송하는 과정을 포함합니다.
 
           false로 설정하면 기기는 콘텐츠 보호에 원격 인증을 사용하지 않고 기기에서 보호된 콘텐츠를 재생할 수 없게 됩니다.
diff --git a/components/policy/resources/policy_templates_lt.xtb b/components/policy/resources/policy_templates_lt.xtb
index 80d50a8..e14e3b0 100644
--- a/components/policy/resources/policy_templates_lt.xtb
+++ b/components/policy/resources/policy_templates_lt.xtb
@@ -3318,7 +3318,6 @@
 
       Naudotojai negali pakeisti ar nepaisyti šio nustatymo.</translation>
 <translation id="8631434304112909927">iki <ph name="UNTIL_VERSION" /> versijos</translation>
-<translation id="863319402127182273">„Android“ programose ši politika turi įtakos tik integruotam fotoaparatui. Kai ši politika nustatyta į „Tiesa“, fotoaparatas išjungiamas visose „Android“ programose be išimčių.</translation>
 <translation id="8649763579836720255">„Chrome“ OS įrenginiai gali naudoti nuotolinį patvirtinimą (patvirtinta prieiga), kad gautų „Chrome“ OS CA išduotą sertifikatą, pagal kurį nurodoma, kad įrenginys yra tinkamas paleisti apsaugotą turinį. Šis procesas apima aparatinės įrangos patvirtinimo informacijos siuntimą „Chrome“ OS CA, kuri unikaliai identifikuoja įrenginį.
 
           Jei šis nustatymas negalioja, įrenginys nenaudos nuotolinio turinio apsaugos patvirtinimo ir galbūt įrenginys negalės paleisti apsaugoto turinio.
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb
index f85e9e4..d121c79 100644
--- a/components/policy/resources/policy_templates_lv.xtb
+++ b/components/policy/resources/policy_templates_lv.xtb
@@ -3283,7 +3283,6 @@
 
       Lietotāji nevar mainīt vai ignorēt šo iestatījumu.</translation>
 <translation id="8631434304112909927">līdz <ph name="UNTIL_VERSION" /> versijai</translation>
-<translation id="863319402127182273">Android lietotnēs šī politika ietekmē tikai iebūvēto kameru. Kad šī politika ir iestatīta kā patiesa, kamera tiek atspējota visās Android lietotnēs bez izņēmuma.</translation>
 <translation id="8649763579836720255">Chrome OS ierīcēs var izmantot attālo apstiprināšanu (verificēta piekļuve), lai saņemtu Chrome OS sertifikāta izdevējiestādes izsniegtu sertifikātu, kas apstiprina, ka ierīcē ir atļauts atskaņot aizsargātu saturu. Šī procesa laikā aparatūras apstiprinājuma informācija tiek nosūtīta Chrome OS sertifikāta izdevējiestādei, kas unikāli identificē ierīci.
 
           Ja šis iestatījums ir “False”, ierīcē satura aizsardzībai netiks izmantota attālā apstiprināšana un, iespējams, nevarēs atskaņot aizsargāto saturu.
diff --git a/components/policy/resources/policy_templates_ml.xtb b/components/policy/resources/policy_templates_ml.xtb
index ee409c57..e842561 100644
--- a/components/policy/resources/policy_templates_ml.xtb
+++ b/components/policy/resources/policy_templates_ml.xtb
@@ -3569,7 +3569,6 @@
 
       ഉപയോക്താവിന് ഈ ക്രമീകരണം മാറ്റാനോ അസാധുവാക്കാനോ കഴിയില്ല.</translation>
 <translation id="8631434304112909927">പതിപ്പ് <ph name="UNTIL_VERSION" /> വരെ</translation>
-<translation id="863319402127182273">Android ആപ്‌സുകളിൽ ഈ നയം, അന്തർനിർമ്മിത ക്യാമറയ്‌ക്ക് മാത്രമേ ബാധകമാകൂ. ഈ നയം 'ശരി' എന്ന് സജ്ജമാക്കുമ്പോൾ, ഒഴിവാക്കലുകളില്ലാതെ എല്ലാ Android ആപ്‌സുകളിലും ഈ ക്യാമറ പ്രവർത്തനരഹിതമാക്കും.</translation>
 <translation id="8649763579836720255">പരിരക്ഷിത ഉള്ളടക്കം പ്ലേ ചെയ്യാൻ ഉപകരണം യോഗ്യമാണെന്ന് Chrome OS CA ഉറപ്പുനൽകുന്ന ഒരു സർട്ടിഫിക്കറ്റ് ലഭിക്കാൻ Chrome OS ഉപകരണങ്ങൾക്ക് വിദൂര അറ്റസ്‌റ്റേഷൻ (സ്ഥിരീകരിച്ച ആക്‌സസ്സ്) ഉപയോഗിക്കാനാകും. ഉപകരണത്തെ തനതായി തിരിച്ചറിയുന്ന ഹാർഡ്‌വെയർ എൻഡോഴ്‌സ്മെന്റ് വിവരം Chrome OS CA-യിലേക്ക് അയയ്‌ക്കുന്നതും ഈ പ്രോസസ്സിൽ ഉൾപ്പെടുന്നു.
 
           ഈ ക്രമീകരണം false ആണെങ്കിൽ, ഉപകരണം ഉള്ളടക്ക പരിരക്ഷയ്‌ക്ക് വിദൂര അറ്റസ്‌റ്റേഷൻ ഉപയോഗിക്കില്ല, ഒപ്പം ഉപകരണത്തിന് പരിരക്ഷിത ഉള്ളടക്കം പ്ലേ ചെയ്യാൻ കഴിയാതെവരാം.
diff --git a/components/policy/resources/policy_templates_mr.xtb b/components/policy/resources/policy_templates_mr.xtb
index b3fb848..68dec56 100644
--- a/components/policy/resources/policy_templates_mr.xtb
+++ b/components/policy/resources/policy_templates_mr.xtb
@@ -3569,7 +3569,6 @@
 
       वापरकर्ते हे सेटिंग बदलू शकणार नाही किंवा ओव्‍हरराइड करू शकणार नाही.</translation>
 <translation id="8631434304112909927">आवृत्ती <ph name="UNTIL_VERSION" /> पर्यंत</translation>
-<translation id="863319402127182273">Android अॅप्ससाठी, हे धोरण केवळ अंगभूत कॅमेर्‍यास प्रभावित करते. हे धोरण सत्य वर सेट केले असते तेव्हा, कोणत्याही अपवादांशिवाय कॅमेरा सर्व Android अॅप्ससाठी अक्षम केला जातो.</translation>
 <translation id="8649763579836720255">संरक्षित आशय प्ले करण्यासाठी डिव्हाइस पात्र असल्याचे ठासून सांगणार्‍या Chrome OS CA द्वारे जारी केलेले सर्टिफिकेट मिळण्यासाठी Chrome OS डिव्हाइसेस दूरस्थ अनुप्रमाणन (पडताळलेला अॅक्सेस) वापरू शकतात.  ही प्रक्रिया अनन्यपणे डिव्हाइस ओळखणार्‍या Chrome OS CA कडे हार्डवेअर सपोर्ट माहिती पाठविण्याचा समावेश करते.
 
           हे सेटिंग असत्य असल्यास, आशय संरक्षणासाठी डिव्हाइस दूरस्थ अनुप्रमाणन वापरणार नाही आणि संरक्षित आशय प्ले करण्यात डिव्हाइस अक्षम असू शकते.
diff --git a/components/policy/resources/policy_templates_ms.xtb b/components/policy/resources/policy_templates_ms.xtb
index 78367ff..70eca97 100644
--- a/components/policy/resources/policy_templates_ms.xtb
+++ b/components/policy/resources/policy_templates_ms.xtb
@@ -3314,7 +3314,6 @@
 
       Pengguna tidak boleh menukar atau membatalkan tetapan ini.</translation>
 <translation id="8631434304112909927">sehingga versi <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Untuk apl Android, dasar ini memberi kesan terhadap kamera terbina dalam sahaja. Apabila dasar ini ditetapkan kepada benar, kamera dilumpuhkan untuk semua apl Android tanpa pengecualian.</translation>
 <translation id="8649763579836720255">Peranti OS Chrome boleh menggunakan pembuktian jauh (Akses Disahkan) untuk mendapatkan perakuan yang dikeluarkan oleh CA OS Chrome yang menyatakan peranti layak memainkan kandungan yang dilindungi.  Proses ini melibatkan penghantaran maklumat sokongan kepada CA OS Chrome yang mengenal pasti peranti tersebut secara unik.
 
           Jika tetapan ini palsu, peranti tidak akan menggunakan pembuktian jauh untuk perlindungan kandungan dan peranti mungkin tidak dapat memainkan kandungan yang dilindungi.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index ee6808f2..eef12f7 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -3269,7 +3269,6 @@
 
       Gebruikers kunnen deze instelling niet wijzigen of overschrijven.</translation>
 <translation id="8631434304112909927">tot versie <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Voor Android-apps is dit beleid alleen van invloed op de ingebouwde camera. Wanneer dit beleid is ingesteld op 'True', wordt voor alle Android-apps, zonder uitzondering, de camera uitgeschakeld.</translation>
 <translation id="8649763579836720255">Chrome OS-apparaten kunnen externe verificatie (geverifieerde toegang) gebruiken om een certificaat te ontvangen dat is uitgegeven door de certificaatautoriteit voor Chrome OS en waarin het apparaat uniek wordt geïdentificeerd.
 
           Als deze instelling is ingesteld op 'False', gebruikt het apparaat geen externe verificatie om content te beveiligen en kan het apparaat beveiligde content mogelijk niet afspelen.
diff --git a/components/policy/resources/policy_templates_no.xtb b/components/policy/resources/policy_templates_no.xtb
index d84b4b5..ebb5ece 100644
--- a/components/policy/resources/policy_templates_no.xtb
+++ b/components/policy/resources/policy_templates_no.xtb
@@ -3262,7 +3262,6 @@
 
       Brukere kan ikke endre eller overstyre denne innstillingen.</translation>
 <translation id="8631434304112909927">frem til versjon <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">For Android-apper blir bare det innebygde kameraet påvirket av denne regelen. Når denne regelen er angitt som «true» (sann), slås kameraet av for alle Android-apper – uten unntak.</translation>
 <translation id="8649763579836720255">Chrome OS-enheter can bruke ekstern godkjenning (godkjent tilgang) for å få et sertifikat utstedt av Chrome OS CA, som bekrefter at enheten er kvalifisert til å spille av beskyttet innhold. Denne prosessen involverer sending av godkjenningsinformasjon for maskinvaren til Chrome OS CA, som unikt identifiserer enheten.
 
           Hvis denne innstillingen angis til «false», kommer ikke enheten til å bruke ekstern godkjenning for innholdsbeskyttelse, og enheten kan sannsynligvis ikke spille av beskyttet innhold.
diff --git a/components/policy/resources/policy_templates_pl.xtb b/components/policy/resources/policy_templates_pl.xtb
index e9a537f..8aed27b 100644
--- a/components/policy/resources/policy_templates_pl.xtb
+++ b/components/policy/resources/policy_templates_pl.xtb
@@ -3207,7 +3207,6 @@
 
       Użytkownicy nie mogą zmienić ani zastąpić tego ustawienia.</translation>
 <translation id="8631434304112909927">do wersji <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">W przypadku aplikacji na Androida ta zasada dotyczy tylko wbudowanego aparatu. Gdy zasada jest włączona, aparat jest wyłączony dla wszystkich aplikacji na Androida bez wyjątków.</translation>
 <translation id="8649763579836720255">Urządzenia z Chrome OS mogą używać zaświadczeń zdalnych (zweryfikowanego dostępu), by uzyskać certyfikat Chrome OS CA, który zaświadcza, że urządzenie jest uprawnione do odtwarzania materiałów chronionych. Ten proces obejmuje wysłanie do Chrome OS CA informacji polecających sprzęt, które jednoznacznie identyfikują urządzenie.
 
           Jeśli w tym ustawieniu wybierzesz wartość Fałsz, urządzenie nie będzie korzystać z zaświadczeń zdalnych do ochrony treści i może nie móc odtwarzać materiałów chronionych.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 9fa6e75..1f0b5ee 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -3195,7 +3195,6 @@
 
       Os usuários não poderão alterar ou modificar esta configuração.</translation>
 <translation id="8631434304112909927">até a versão <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Em apps Android, esta política afeta somente a câmera integrada. Quando esta política é definida como true, a câmera é desativada para todos os apps Android, sem exceções.</translation>
 <translation id="8649763579836720255">Os dispositivos Chrome OS podem usar atestado remoto (acesso confirmado) para receber um certificado emitido pelo Chrome OS CA que declare que o dispositivo é qualificado para reproduzir conteúdo protegido. Este processo envolve o envio de informações de endosso de hardware para o Chrome OS CA que identifiquem com exclusividade o dispositivo.
 
           Se essa configuração for falsa, o dispositivo não usará atestado remoto para proteção de conteúdo e o dispositivo pode ser incapaz de reproduzir conteúdo protegido.
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb
index f39cc07..32c6b05 100644
--- a/components/policy/resources/policy_templates_pt-PT.xtb
+++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -3214,7 +3214,6 @@
 
       Os utilizadores não podem alterar ou substituir esta definição.</translation>
 <translation id="8631434304112909927">até à versão <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Para aplicações para Android, esta política afeta apenas a câmara integrada. Se esta política for definida como verdadeira, a câmara é desativada para todas as aplicações para Android, sem exceções.</translation>
 <translation id="8649763579836720255">Os dispositivos Chrome OS podem utilizar a comprovação remota (Acesso confirmado) para obter um certificado emitido pela AC do Chrome OS que declara que o dispositivo é elegível para reproduzir conteúdo protegido. Este processo envolve o envio de informações de garantia de hardware para a AC do Chrome OS, que identifica de forma única o dispositivo.
 
           Se esta definição for falsa, o dispositivo não utilizará a comprovação remota para proteção de conteúdo e o dispositivo poderá não conseguir reproduzir conteúdo protegido.
diff --git a/components/policy/resources/policy_templates_ro.xtb b/components/policy/resources/policy_templates_ro.xtb
index ca24206..37bead1 100644
--- a/components/policy/resources/policy_templates_ro.xtb
+++ b/components/policy/resources/policy_templates_ro.xtb
@@ -3200,7 +3200,6 @@
 
       Utilizatorii nu pot modifica sau anula această setare.</translation>
 <translation id="8631434304112909927">până la versiunea <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">În cazul aplicațiilor Android, această politică afectează numai camera foto încorporată. Când politica este activată, camera foto este dezactivată pentru toate aplicațiile Android, fără excepții.</translation>
 <translation id="8649763579836720255">Dispozitivele care rulează sistemul de operare Chrome pot utiliza atestarea de la distanță (Acces verificat) pentru a obține un certificat emis de Autoritatea de certificare a sistemului de operare Chrome, care confirmă că dispozitivul este eligibil pentru a reda conținut protejat. Acest proces presupune trimiterea informațiilor privind garantarea hardware-ului la Autoritatea de certificare a sistemului de operare Chrome, care identifică în mod unic dispozitivul.
 
           Dacă setarea nu este activată, dispozitivul nu va utiliza atestarea de la distanță pentru protejarea conținutului, iar dispozitivul nu va putea reda conținutul protejat.
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index bbc4a929..34a95e4 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -3200,7 +3200,6 @@
 
 Пользователи не могут изменить или переопределить эту настройку.</translation>
 <translation id="8631434304112909927">до версии <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Для приложений Android это правило влияет только на встроенную камеру. Если вы задали значение True, для всех без исключения приложений Android камера будет недоступна.</translation>
 <translation id="8649763579836720255">Для получения сертификата, подтверждающего разрешение воспроизводить премиум-контент на устройствах с Chrome OS, Центр сертификации может проводить удаленную проверку (подтверждение права доступа). В рамках проверки в Центр сертификации Chrome OS отправляется информация об аппаратной части устройства, позволяющая определить его уникальный код.
 
           Если задано значение "false", удаленная проверка устройства не будет выполняться, а воспроизведение премиум-контента на устройстве может не поддерживаться.
diff --git a/components/policy/resources/policy_templates_sk.xtb b/components/policy/resources/policy_templates_sk.xtb
index 7453a5e..c1c7f9d 100644
--- a/components/policy/resources/policy_templates_sk.xtb
+++ b/components/policy/resources/policy_templates_sk.xtb
@@ -3277,7 +3277,6 @@
 
       Používatelia nemôžu toto nastavenie zmeniť ani prepísať.</translation>
 <translation id="8631434304112909927">po verziu <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">V prípade aplikácií pre Android toto pravidlo ovplyvňuje iba vstavaný fotoaparát. Keď je pravidlo nastavené na hodnotu True, fotoaparát je zakázaný pre všetky aplikácie pre Android (bez výnimiek).</translation>
 <translation id="8649763579836720255">Zariadenia OS Chrome môžu používať vzdialené overenie (overený prístup) na získanie certifikátu vydaného certifikačnou autoritou OS Chrome, ktorý potvrdzuje, že zariadenie môže prehrávať chránený obsah. Tento proces zahrnuje odoslanie informácií o hardvére certifikačnej autorite OS Chrome, ktoré dané zariadenie jedinečne identifikujú.
 
           Ak je toto nastavenie nastavené na hodnotu False, dané zariadenie nepoužije vzdialené overenie na ochranu obsahu a pravdepodobne nebude môcť prehrávať chránený obsah.
diff --git a/components/policy/resources/policy_templates_sl.xtb b/components/policy/resources/policy_templates_sl.xtb
index a2de1704..acc3b69 100644
--- a/components/policy/resources/policy_templates_sl.xtb
+++ b/components/policy/resources/policy_templates_sl.xtb
@@ -3320,7 +3320,6 @@
 
       Uporabniki te nastavitve ne morejo spremeniti ali preglasiti.</translation>
 <translation id="8631434304112909927">do različice <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Pri aplikacijah za Android ta pravilnik vpliva samo na vgrajen fotoaparat. Če je ta pravilnik omogočen, je fotoaparat brez izjem onemogočen pri vseh aplikacijah za Android.</translation>
 <translation id="8649763579836720255">Naprave Chrome OS lahko uporabljajo oddaljeno potrjevanje (potrjen dostop) za pridobitev potrdil, ki ga izda overitelj sistema Chrome OS, ki potrjuje, da je naprava primerna za predvajanje zaščitene vsebine. Pri tem postopku se overitelju sistema Chrome OS pošljejo potrditveni podatki strojne opreme, ki enolično določajo napravo.
 
           Če je ta možnost nastavljena na »false«, naprava za zaščito vsebine ne bo uporabljala oddaljenega potrjevanja in naprava morda ne bo mogla predvajati zaščitene vsebine.
diff --git a/components/policy/resources/policy_templates_sr.xtb b/components/policy/resources/policy_templates_sr.xtb
index d6c265e6..ec8832f 100644
--- a/components/policy/resources/policy_templates_sr.xtb
+++ b/components/policy/resources/policy_templates_sr.xtb
@@ -3326,7 +3326,6 @@
 
       Корисници не могу да промене ни замене ово подешавање.</translation>
 <translation id="8631434304112909927">до верзије <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">У случају Android апликација, ове смернице утичу само на уграђену камеру. Када се ове смернице подесе на „тачно“, камера је онемогућена за Android апликације, без изузетака.</translation>
 <translation id="8649763579836720255">Chrome ОС уређаји могу да користе даљинску проверу (верификовани приступ) да би им Центар за сертификате за Chrome ОС издао сертификат који потврђује да уређај испуњава услове за пуштање заштићеног садржаја. Овај процес подразумева слање информација о подршци за хардвер у Центар за сертификате за Chrome ОС који јединствено идентификује уређај.
 
           Ако је ово подешавање подешено на Нетачно, уређај неће користити даљинску проверу за заштиту садржаја и можда неће моћи да пушта заштићени садржај.
diff --git a/components/policy/resources/policy_templates_sv.xtb b/components/policy/resources/policy_templates_sv.xtb
index 8e94044..b6a41f4 100644
--- a/components/policy/resources/policy_templates_sv.xtb
+++ b/components/policy/resources/policy_templates_sv.xtb
@@ -3323,7 +3323,6 @@
 
       Användarna kan inte ändra eller åsidosätta inställningen.</translation>
 <translation id="8631434304112909927">till och med version <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">För Android-appar påverkar den här principen endast den inbyggda kameran. När principen är inställd på sant är kameran avstängd i alla Android-appar utan undantag.</translation>
 <translation id="8649763579836720255">Chrome OS-enheter kan använda fjärrstyrd attestering (verifierad åtkomst) för att få ett certifikat utfärdat av Chrome OS CA som intygar att enheten kvalificerar för att spela upp skyddat innehåll.  Processen innebär att skicka maskinvaruinformation till Chrome OS CA som unikt identifierar enheten.
 
           Om inställningen är Falskt kommer enheten inte att använda fjärrstyrd attestering för innehållsskydd och skyddat innehåll kanske inte kan spelas upp på enheten.
diff --git a/components/policy/resources/policy_templates_sw.xtb b/components/policy/resources/policy_templates_sw.xtb
index 2b05fc24..9b9d22b6 100644
--- a/components/policy/resources/policy_templates_sw.xtb
+++ b/components/policy/resources/policy_templates_sw.xtb
@@ -3243,7 +3243,6 @@
 
       Watumiaji hawawezi kubadilisha wala kubatilisha mipangilio hii.</translation>
 <translation id="8631434304112909927">mpaka toleo la <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Kwa programu za Android, sera hii inaathiri kamera iliyojengewa ndani pekee. Sera ikiwekwa kuwa ndivyo, kamera huzimwa kwa programu zote za Android, bila kuacha programu yoyote.</translation>
 <translation id="8649763579836720255">Vifaa vyenye Chrome OS vinaweza kutumia uwezo wa kuthibitisha kutoka mbali (Ufikiaji Uliothibitishwa) kupata cheti kilichotolewa na Chrome OS CA kinachothibitisha kuwa kifaa kimekubaliwa kucheza maudhui yanayolindwa. Utaratibu huu unahusisha kutumia Chrome OS CA maelezo maalum ya kuthibitisha maunzi yanayokitambua kifaa husika. 
 
         Kama mipangilio hii si ya kweli, kifaa hakitatumia uwezo wa kuthibitisha kutoka mbali kulinda maudhui na huenda kifaa hakitaweza kucheza maudhui yanayolindwa.
diff --git a/components/policy/resources/policy_templates_ta.xtb b/components/policy/resources/policy_templates_ta.xtb
index 1805e1d4..10a25b2 100644
--- a/components/policy/resources/policy_templates_ta.xtb
+++ b/components/policy/resources/policy_templates_ta.xtb
@@ -1255,7 +1255,7 @@
 
       இந்தக் கொள்கையை ‘சரி’ என அமைத்தால், சில URLகளை மாற்று உலாவியில் (எ.கா. Internet Explorer) திறக்க Chrome முயலும். <ph name="LEGACY_BROWSER_SUPPORT_POLICY_GROUP" /> குழுவிலுள்ள கொள்கைகளைப் பயன்படுத்தி இந்த அம்சம் உள்ளமைக்கப்பட்டுள்ளது.
 
-      இந்த அம்சம், <ph name="LEGACY_BROWSER_SUPPORT_EXTENSION_NAME" /> நீட்டிப்புக்கு மாற்றாகும். நீட்டிப்பிலுள்ள உள்ளமைவு இந்த அம்சத்திற்குப் பயன்படுத்தப்படும், எனினும் இதற்குப் பதிலாக Chrome கொள்கைகளைப் பயன்படுத்துமாறு பரிந்துரைக்கிறோம். இது எதிர்காலத்தில் சிறப்பான இணக்கத்தன்மையை உறுதிசெய்யும்.</translation>
+      இந்த அம்சம் <ph name="LEGACY_BROWSER_SUPPORT_EXTENSION_NAME" /> நீட்டிப்புக்கு மாற்றாகும். நீட்டிப்பிலுள்ள உள்ளமைவு இந்த அம்சத்திற்குப் பயன்படுத்தப்படும், எனினும் இதற்குப் பதிலாக Chrome கொள்கைகளைப் பயன்படுத்துமாறு பரிந்துரைக்கிறோம். இது எதிர்காலத்தில் சிறப்பான இணக்கத்தன்மையை உறுதிசெய்யும்.</translation>
 <translation id="3997519162482760140">SAML உள்நுழைவுப் பக்கங்களில் வீடியோ எடுக்கும் சாதனங்களுக்கு அணுகல் வழங்கப்படும் URLகள்</translation>
 <translation id="4001275826058808087">இந்தக் கொடியை Chrome OS இல் பதிவுசெய்தல் வழியாகச் சலுகைகளை மீட்டெடுக்க பயனர்களை அனுமதிக்கலாமா என்பதைக் கட்டுப்படுத்த நிறுவன சாதனங்களுக்கான IT நிர்வாகிகள் பயன்படுத்தலாம்.
 
@@ -2521,8 +2521,8 @@
       இந்தக் கொள்கை அமைக்கப்படாமல் விடப்பட்டால், பின்னணிப் பயன்முறை முதலில் முடக்கப்பட்டிருக்கும், பயனரால் உலாவி அமைப்புகளில் அதனைக் கட்டுப்படுத்த முடியும்.</translation>
 <translation id="7123266440503901785">பாதுகாப்பான புதுப்பிப்பு, நீட்டிப்புகளை நிறுவுதல் போன்றவற்றை <ph name="PRODUCT_NAME" /> வழங்குகிறது. எனினும், பாதுகாப்பற்ற கையொப்பம் அல்லது SHA1 போன்ற ஹேஷிங் அல்காரிதங்கள் மூலம் மட்டுமே Chrome இணைய அங்காடிக்கு வெளியே ஹோஸ்ட் செய்யப்பட்டுள்ள சில நீட்டிப்புகளின் உள்ளடக்கங்களைப் பாதுகாக்க முடியும். இந்தக் கொள்கை முடக்கப்படும்போது, Chrome அத்தகைய நீட்டிப்புகளைப் புதிதாக நிறுவவோ புதுப்பிக்கவோ அனுமதிக்காது (அதற்கு நீட்டிப்பு டெவெலப்பர்கள் அந்த நீட்டிப்பை வலுவான அல்காரிதங்களுடன் மீண்டும் உருவாக்க வேண்டும்). இந்தக் கொள்கை இயக்கப்பட்டிருக்கும்போது, அத்தகைய புதுப்பிப்புகளை நிறுவவும் புதுப்பிக்கவும் அனுமதிக்கப்படும்.
 
-          இந்தக் கொள்கை அமைக்கப்படாவிட்டால், கொள்கை இயக்கப்பட்டுள்ளபோது செயல்படக்கூடிய நடத்தைக்கு இயல்புநிலையாக அமைக்கப்படும்.
-          <ph name="PRODUCT_NAME" /> 75 முதல், இந்தக் கொள்கை அமைக்கப்படாவிட்டால், கொள்கை முடக்கப்பட்டுள்ளபோது செயல்படக்கூடிய நடத்தைக்கு இயல்புநிலையாக அமைக்கப்படும்.
+          இந்தக் கொள்கை அமைக்கப்படாவிட்டால் இயல்புநிலையாக இயக்கப்பட்டுள்ளது என்று கருதப்படும்.
+          <ph name="PRODUCT_NAME" /> 75 முதல், இந்தக் கொள்கை அமைக்கப்படாவிட்டால் இயல்புநிலையாக இயக்கப்பட்டுள்ளது என்று கருதப்படும்.
 
           <ph name="PRODUCT_NAME" /> 77 முதல், இந்தக் கொள்கை புறக்கணிக்கப்பட்டு, முடக்கப்பட்டதாகக் கருதப்படும்.</translation>
 <translation id="7126716959063786004">செயல் நிர்வாகியில் செயலாக்கங்களை முடிப்பதை இயக்கும்</translation>
@@ -3196,7 +3196,6 @@
 
       பயனர்களால் இந்த அமைப்பை மாற்றவோ மீறிச் செயல்படவோ முடியாது.</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" /> பதிப்பு வரை</translation>
-<translation id="863319402127182273">Android பயன்பாடுகளில், உள்ளமைக்கப்பட்ட கேமராவை மட்டும் இந்தக் கொள்கை பாதிக்கும். இந்தக் கொள்கை 'சரி' என அமைக்கப்பட்டிருக்கும் போது, விதிவிலக்குகள் இல்லாமல் எல்லா Android பயன்பாடுகளுக்கும் கேமரா முடக்கப்படும்.</translation>
 <translation id="8649763579836720255">சாதனம் பாதுகாக்கப்பட்ட உள்ளடக்கத்தை இயக்கலாம் என்பதை வலியுறுத்தும் Chrome OS CA ஆல் வழங்கப்பட்ட சான்றிதழைப் பெறுவதற்கு Chrome OS சாதனங்கள் தொலைநிலை சான்றொப்பத்தை (அணுகல் சரிபார்க்கப்பட்டது) பயன்படுத்தலாம். இந்தச் செயல்முறையில் வன்பொருள் பரிந்துரைப்புத் தகவலை Chrome OS CA க்கு அனுப்புதல் நிகழலாம், இது சாதனத்தைத் தனிப்பட்ட முறையில் அடையாளம் காட்டும்.
 
           இந்த அமைப்பு தவறானது எனில், உள்ளடக்கப் பாதுகாப்பிற்காக தொலைநிலை சான்றொப்பத்தைச் சாதனம் பயன்படுத்தாது, மேலும் பாதுகாக்கப்பட்ட உள்ளடக்கத்தைச் சாதனத்தால் இயக்க முடியாமல் போகலாம்.
diff --git a/components/policy/resources/policy_templates_te.xtb b/components/policy/resources/policy_templates_te.xtb
index 6b52a13..ca2202f 100644
--- a/components/policy/resources/policy_templates_te.xtb
+++ b/components/policy/resources/policy_templates_te.xtb
@@ -47,13 +47,13 @@
       ఒప్పుకు సెట్ చేస్తే లేదా సెట్ చేయకుంటే, గణాంకాలు నివేదించబడతాయి.</translation>
 <translation id="1046484220783400299">పరిమిత సమయం పాటు నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫారమ్ ఫీచ‌ర్‌ల‌ను ప్రారంభించండి</translation>
 <translation id="1047128214168693844">వినియోగదారుల యొక్క నిజ స్థానాన్ని ట్రాక్ చెయ్యడానికి ఏ సైట్‌ను అనుమతించవద్దు</translation>
-<translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> సైన్-ఇన్ స్క్రీన్‌లో అమలు చేయబడిన లొకేల్‌ను కాన్ఫిగర్ చేస్తుంది.
+<translation id="1049138910114524876"><ph name="PRODUCT_OS_NAME" /> సైన్-ఇన్ స్క్రీన్‌లో అమలు చేయబడే లొకేల్‌ను కాన్ఫిగర్ చేస్తుంది.
 
-      ఈ విధానాన్ని సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ ఎల్లప్పుడూ ఈ విధానం (విధానం ఫార్వర్డ్ అనుకూలత కోసం జాబితా లాగా నిర్వచించబడుతుంది) యొక్క మొదటి విలువ ద్వారా అందించబడే లొకేల్‌లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని సెట్ చేయకుంటే లేదా ఖాళీ జాబితాకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ చివరి వినియోగదారు సెషన్ యొక్క లొకేల్‌లో ప్రదర్శించబడుతుంది.  ఈ విధానాన్ని చెల్లని లొకేల్ విలువకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ డిఫాల్ట్ లొకేల్‌లో (ప్రస్తుతం, en-US) ప్రదర్శించబడుతుంది.</translation>
+      ఈ విధానాన్ని సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ ఎప్పుడూ ఈ విధానం (విధానం ఫార్వర్డ్ అనుకూలత కోసం జాబితా లాగా నిర్వచించబడుతుంది) యొక్క మొదటి విలువ ద్వారా అందించబడే లొకేల్‌లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని సెట్ చేయకపోతే లేదా ఖాళీ జాబితాకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ చివరి వినియోగదారు సెషన్ యొక్క లొకేల్‌లో ప్రదర్శించబడుతుంది. ఈ విధానాన్ని చెల్లని లొకేల్ విలువకు సెట్ చేస్తే, సైన్-ఇన్ స్క్రీన్ డిఫాల్ట్ లొకేల్‌లో (ప్రస్తుతం, en-US) ప్రదర్శించబడుతుంది.</translation>
 <translation id="1062011392452772310">పరికరం కోసం రిమోట్ ధృవీకరణను ప్రారంభించండి</translation>
 <translation id="1062407476771304334">భర్తీ చేయి</translation>
 <translation id="1079801999187584280">డెవలపర్ సాధనాల వినియోగాన్ని నిరాకరించండి</translation>
-<translation id="1087437665304381368">ఈ విధానం <ph name="PRODUCT_OS_NAME" /> డెవలపర్ మోడ్‌ని మాత్రమే నియంత్రిస్తుంది. మీరు Android డెవలపర్ ఎంపికలకు ప్రాప్యతను నిరోధించాలనుకుంటే, మీరు <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" /> విధానాన్ని సెట్ చేయాలి.</translation>
+<translation id="1087437665304381368">ఈ విధానం <ph name="PRODUCT_OS_NAME" /> డెవలపర్ మోడ్‌ని మాత్రమే నియంత్రిస్తుంది. మీరు Android డెవలపర్ ఎంపికలకు యాక్సెస్‌ను నిరోధించాలనుకుంటే, మీరు <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" /> విధానాన్ని సెట్ చేయాలి.</translation>
 <translation id="1093082332347834239">ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, రిమోట్ సహాయక హోస్ట్ <ph name="UIACCESS_PERMISSION_NAME" /> అనుమతులతో కూడిన ప్రక్రియలో అమలు చేయబడుతుంది. దీని వలన స్థానిక వినియోగదారు యొక్క డెస్క్‌టాప్‌పై ఉన్న నిర్వాహక సామర్థ్య విండోలతో రిమోట్ వినియోగదారులు పరస్పర చర్య చేయగలుగుతారు.
 
           ఈ సెట్టింగ్‌ను నిలిపివేసినా లేదా కాన్ఫిగర్ చేయకపోయినా, వినియోగదారు సందర్భానుసారం, రిమోట్ సహాయక హోస్ట్ అమలు చేయబడుతుంది మరియు రిమోట్ వినియోగదారులు డెస్క్‌టాప్‌పై ఉన్న నిర్వాహక సామర్థ్య విండోలతో పరస్పర చర్య చేయలేరు.</translation>
@@ -191,7 +191,7 @@
       ఈ విధానాన్ని తప్పున‌కు సెట్ చేస్తే, <ph name="PRODUCT_NAME" /> అతిథి ప్రొఫైల్‌లు ప్రారంభం కావ‌డానికి అనుమతించదు.</translation>
 <translation id="1363275621236827384">హార్డ్‌వేర్ ప్రొఫైల్‌ల కోసం Quirks Serverకు ప్రశ్నలను ప్రారంభించు</translation>
 <translation id="1384459581748403878">సూచన: <ph name="REFERENCE_URL" /></translation>
-<translation id="1387596372902085462">Symantec Corporation యొక్క Legacy PKI Infrastructureలో విశ్వసనీయతను ప్రారంభించాలా లేదా అన్న సూచిక</translation>
+<translation id="1387596372902085462">Symantec Corporation యొక్క Legacy PKI Infrastructureలో విశ్వసనీయతను ప్రారంభించాలో లేదో సూచిక</translation>
 <translation id="1393485621820363363">ఎంటర్‌ప్రైజ్ పరికరం ప్రింటర్‌లు ప్రారంభించబడ్డాయి</translation>
 <translation id="1397855852561539316">డిఫాల్ట్ శోధన ప్రదాత, URLను సిఫార్సు చేస్తుంది</translation>
 <translation id="1413936351612032792">Linux యాప్‌ల వినియోగం గురించి సమాచారాన్ని నివేదించండి</translation>
@@ -212,15 +212,15 @@
 
       ఈ విధానం <ph name="MS_AD_NAME" /> డొమైన్‌తో అనుబంధితమైన Windows సందర్భాలు లేదా పరికర నిర్వహణ కోసం నమోదైన Windows 10 Pro లేదా Enterprise సందర్భాలలో మాత్రమే అందుబాటులో ఉంటుంది.</translation>
 <translation id="1432194160771348078">
-      లాగిన్ స్క్రీన్‌లో వినియోగదారు ప్రమేయం లేకుండా నిశ్శబ్దంగా ఇన్‌స్టాల్ అయ్యే మరియు తిరిగి అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడని యాప్‌ల‌ జాబితాను పేర్కొంటుంది. యాప్‌ల‌ు అభ్యర్థించే అన్ని అనుమతులు వినియోగదారు ప్రమేయం లేకుండానే పరిపూర్ణంగా మంజూరు చేయబడతాయి. అలాగే యాప్ యొక్క భవిష్యత్తు వెర్ష‌న్‌లు అభ్యర్థించే ఏవైనా అదనపు అనుమతులు ఇవ్వబడతాయి.
+      లాగిన్ స్క్రీన్‌లో వినియోగదారు ప్రమేయం లేకుండా నిశ్శబ్దంగా ఇన్‌స్టాల్ అయ్యే మరియు తిరిగి అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడని యాప్‌ల జాబితాను పేర్కొంటుంది. యాప్‌లు అభ్యర్థించే అన్ని అనుమతులు వినియోగదారు ప్రమేయం లేకుండానే పరిపూర్ణంగా మంజూరు చేయబడతాయి, అలాగే యాప్ యొక్క భవిష్యత్తు వెర్షన్‌లు అభ్యర్థించే ఏవైనా అదనపు అనుమతులు ఇవ్వబడతాయి.
 
-భద్రతా మరియు గోప్యతా కారణాల కోసం ఈ విధానం ఉపయోగించి ఎక్స్‌టెన్ష‌న్‌లను ఇన్‌స్టాల్ చేయడం అనుమతించబడదు. అంతేగాక, స్థిరమైన ఛానెల్‌లో పరికరాలు <ph name="PRODUCT_NAME" />లో బండిల్ చేయబడిన వైట్‌లిస్ట్‌లోని యాప్‌ల‌ను మాత్రమే ఇన్‌స్టాల్ చేస్తాయి. ఈ షరతులకు అనుగుణంగా లేని ఏ అంశాలు అయినా విస్మరించబడతాయి.
+భద్రతా మరియు గోప్యతా కారణాల కోసం ఈ విధానం ఉపయోగించి ఎక్స్‌టెన్షన్‌లను ఇన్‌స్టాల్ చేయడం అనుమతించబడదు. అంతేగాక, స్థిరమైన ఛానెల్‌లో పరికరాలు <ph name="PRODUCT_NAME" />లో సమూహం చేయబడిన అనుమతి జాబితాలో యాప్‌లను మాత్రమే ఇన్‌స్టాల్ చేస్తాయి. ఈ షరతులకు అనుగుణంగా లేని ఏ అంశాలు అయినా విస్మరించబడతాయి.
 
-ఇంతకు ముందు నిర్బంధంగా ఇన్‌స్టాల్ చేసిన యాప్ ఈ జాబితా నుండి తీసివేయబడితే అది <ph name="PRODUCT_NAME" /> ద్వారా ఆటోమేటిక్‌గా అన్‌ఇన్‌స్టాల్ చేయబడుతుంది.
+ఇంతకుముందు నిర్బంధంగా ఇన్‌స్టాల్ చేసిన యాప్ ఈ జాబితా నుండి తీసివేయబడితే అది <ph name="PRODUCT_NAME" /> ద్వారా ఆటోమేటిక్‌గా అన్‌ఇన్‌స్టాల్ చేయబడుతుంది.
 
-విధానం యొక్క ప్రతి జాబితా అంశం సెమీకోలన్ (<ph name="SEMICOLON" />) ద్వారా వేరు చేయబడిన ఎక్స్‌టెన్ష‌న్‌ ID మరియు "అప్‌డేట్‌" URLలను కలిగి ఉండే స్ట్రింగ్. ఉదా. డెవలపర్ మోడ్‌లో ఉన్నప్పుడు <ph name="CHROME_EXTENSIONS_LINK" />లో కనుగొనబడే 32-అక్షరాల స్ట్రింగ్‌నే ఎక్స్‌టెన్ష‌న్‌ ID అంటారు. "అప్‌డేట్‌" URL <ph name="LINK_TO_EXTENSION_DOC1" />లో వివరించినట్లుగా అప్‌డేట్‌ మానిఫెస్ట్ XML పత్రాన్ని సూచించేది. ఈ విధానంలో సెట్ చేసిన "అప్‌డేట్‌" URL ప్రాథమిక ఇన‌స్ట‌లేష‌న్‌ కోసం మాత్రమే ఉపయోగించబడుతుందని; ఎక్స్‌టెన్ష‌న్‌ యొక్క త‌ర్వాతి అప్‌డేట్‌లు ఎక్స్‌టెన్ష‌న్‌ మానిఫెస్ట్‌‍లో సూచించిన అప్‌డేట్‌ URLను వినియోగిస్తాయని గమనించండి.
+విధానం యొక్క ప్రతి జాబితా అంశం సెమీకోలన్ (<ph name="SEMICOLON" />) ద్వారా వేరు చేయబడిన ఎక్స్‌టెన్షన్ ID మరియు "అప్‌డేట్" URLలను కలిగి ఉండే స్ట్రింగ్. ఉదా. డెవలపర్ మోడ్‌లో ఉన్నప్పుడు <ph name="CHROME_EXTENSIONS_LINK" />లో కనుగొనబడే 32-అక్షరాల స్ట్రింగ్‌నే ఎక్స్‌టెన్షన్ ID అంటారు. <ph name="LINK_TO_EXTENSION_DOC1" />లో వివరించినట్లుగా, "అప్‌డేట్" URL అనేది అప్‌డేట్ మానిఫెస్ట్ XML పత్రాన్ని సూచించాలి. ఈ విధానంలో సెట్ చేసిన "అప్‌డేట్" URL ప్రారంభ ఇన్‌స్టాలేషన్ కోసం మాత్రమే ఉపయోగించబడుతుందని; ఎక్స్‌టెన్షన్ యొక్క తర్వాతి అప్‌డేట్‌లు ఎక్స్‌టెన్షన్ మానిఫెస్ట్‌‍లో సూచించిన అప్‌డేట్ URLను వినియోగిస్తాయని గమనించండి.
 
-ఉదాహరణకు, <ph name="EXTENSION_POLICY_EXAMPLE" /> ప్రామాణిక Chrome వెబ్ స్టోర్ "అప్‌డేట్‌" URL నుండి <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" />యాప్‌ను ఇన్‌స్టాల్ చేస్తుంది. ఎక్స్‌టెన్ష‌న్‌లను హోస్ట్ చేయడం గురించి మరింత సమాచారం కోసం, ఈ లింక్‌ను చూడండి: <ph name="LINK_TO_EXTENSION_DOC2" />.</translation>
+ఉదాహరణకు, <ph name="EXTENSION_POLICY_EXAMPLE" /> ప్రామాణిక Chrome వెబ్ స్టోర్ "అప్‌డేట్" URL నుండి <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" />యాప్‌ను ఇన్‌స్టాల్ చేస్తుంది. ఎక్స్‌టెన్షన్‌లను హోస్ట్ చేయడం గురించి మరింత సమాచారం కోసం, ఈ లింక్‌ను చూడండి: <ph name="LINK_TO_EXTENSION_DOC2" />.</translation>
 <translation id="1435659902881071157">పరికరం-స్థాయి నెట్‌వర్క్ కాన్ఫిగరేషన్</translation>
 <translation id="1438739959477268107">డిఫాల్ట్ కీ జెనరేటర్ సెట్టింగ్</translation>
 <translation id="1454846751303307294">మిమ్మల్ని JavaScriptను అమలు చేయడానికి అనుమతించని సైట్‌లను పేర్కొనే url నమూనాల జాబితాను సెట్ చేసేందుకు అనుమతిస్తుంది. ఈ విధానం సెట్ చేయకుండా వదిలేస్తే 'DefaultJavaScriptSetting'ను సెట్ చేస్తే దాని నుండి లేదా ఇతరత్రా వినియోగదారు వ్యక్తిగత కాన్ఫిగరేషన్ నుండి సార్వజనీన డిఫాల్ట్ విలువ అన్ని సైట్‌లకు ఉపయోగించబడుతుంది.</translation>
@@ -304,7 +304,7 @@
       ఒకవేళ ఈ విధానాన్ని తప్పుకు సెట్ చేసినప్పుడు, ఎక్స్‌టెన్షన్‌లు మరియు ప్లగిన్‌లకు సంబంధించిన వివరాలు సేకరించబడవు.
 
       ఈ విధానం <ph name="CHROME_REPORTING_EXTENSION_NAME" />ని ప్రారంభించినప్పుడు, అలాగే మెషీన్‌ని <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />తో ప్రారంభించినప్పుడు మాత్రమే వర్తిస్తుంది.</translation>
-<translation id="1561424797596341174">రిమోట్ యాక్సెస్ హోస్ట్ యొక్క డీబగ్ బిల్డ్‌లను ఈ విధానం భర్తీ చేస్తుంది</translation>
+<translation id="1561424797596341174">విధానం రిమోట్ యాక్సెస్ హోస్ట్ యొక్క డీబగ్ బిల్డ్‌ల కోసం భర్తీ చేస్తుంది</translation>
 <translation id="1561967320164410511">వ్యక్తిగత ధృవీకరణ కోసం U2Fతో పాటు పొడిగింపులు</translation>
 <translation id="1574554504290354326">ఈ సెట్టింగ్ విస్మరించబడింది, దీనికి బదులుగా SafeBrowsingExtendedReportingEnabled ఉపయోగించండి. SafeBrowsingExtendedReportingEnabledని ప్రారంభించడం లేదా నిలిపివేయడం అంటే SafeBrowsingExtendedReportingOptInAllowed ఎంపికను తప్పు అని సెట్ చేయడంతో సమానం.
 
@@ -313,7 +313,7 @@
       సురక్షిత బ్రౌజింగ్ గురించి మరింత సమాచారం కోసం https://developers.google.com/safe-browsing చూడండి.</translation>
 <translation id="1583248206450240930"><ph name="PRODUCT_FRAME_NAME" />ని డిఫాల్ట్‌గా ఉపయోగించు</translation>
 <translation id="1599424828227887013">Android పరికరాల్లో పేర్కొనబడిన ప్రారంభ స్థానాల కోసం సైట్‌ను వేరు చేసే ప్రక్రియను ప్రారంభించండి</translation>
-<translation id="1608755754295374538">ప్రాంప్ట్ చేయబడకుండా ఆడియో క్యాప్చర్ పరికరాలకు ప్రాప్యత మంజూరు చేయబడే URLలు</translation>
+<translation id="1608755754295374538">ప్రాంప్ట్ చేయబడకుండా ఆడియో క్యాప్చర్ పరికరాలకు యాక్సెస్ మంజూరు చేయబడే URLలు</translation>
 <translation id="1615221548356595305">ఈ హోస్ట్‌లు క్లయింట్ సర్టిఫికెట్‌లను ఉపయోగిస్తున్నప్పటికీ కూడా HTTP/2 కనెక్షన్‌ల ఏకీకరణకు అనుమతించవచ్చు</translation>
 <translation id="1617235075406854669">బ్రౌజర్, డౌన్‌లోడ్ చరిత్ర తొలగింపును ప్రారంభించండి</translation>
 <translation id="163200210584085447">ఈ జాబితాలోని నమూనాలు అభ్యర్థిస్తున్న URL భద్రతా
@@ -339,7 +339,7 @@
 
       హెచ్చరిక: సాఫ్ట్‌వేర్ అప్‌డేట్‌లు మరియు కీలకమైన భద్రతా పరిష్కారాలను పొందనివ్వకుండా పరికరాన్ని నిరోధిస్తుంది. కనుక <ph name="PRODUCT_OS_NAME" /> వెర్ష‌న్‌ యొక్క నియంత్రణ అధికారాన్ని కియోస్క్ యాప్‌న‌కు కేటాయించడం సమర్ధ‌నీయం కాదు. <ph name="PRODUCT_OS_NAME" /> వెర్ష‌న్‌కు నియంత్రణ అధికారాన్ని కేటాయించడం వినియోగదారులను ఇబ్బందులకు గురిచేయవచ్చు.</translation>
 <translation id="1675002386741412210">లో మద్దతిస్తుంది:</translation>
-<translation id="1689963000958717134"><ph name="PRODUCT_OS_NAME" /> పరికరం యొక్క మొత్తం వినియోగదారులకు వ‌ర్తించేలా నెట్‌వర్క్ కాన్ఫిగరేషన్‌ను అందించ‌డానికి అనుమతిస్తుంది. నెట్‌వర్క్ కాన్ఫిగరేషన్ అనేది <ph name="ONC_SPEC_URL" />లో వివరించిన విధంగా ఓపెన్ నెట్‌వర్క్ కాన్ఫిగరేషన్ ఆకృతి ద్వారా నిర్వచించిన JSON-ఆకృతీకరణ స్ట్రింగ్</translation>
+<translation id="1689963000958717134"><ph name="PRODUCT_OS_NAME" /> పరికరం యొక్క మొత్తం వినియోగదారుల కోసం వర్తించడానికి నెట్‌వర్క్ కాన్ఫిగరేషన్‌ను అందిండానికి అనుమతిస్తుంది. నెట్‌వర్క్ కాన్ఫిగరేషన్ అనేది <ph name="ONC_SPEC_URL" />లో వివరించిన విధంగా ఓపెన్ నెట్‌వర్క్ కాన్ఫిగరేషన్ ఫార్మాట్ ద్వారా నిర్వచించిన JSON-ఫార్మాటింగ్ స్ట్రింగ్</translation>
 <translation id="1708496595873025510">వ్యత్యాసాల సీడ్‌ను పొందడంలో పరిమితిని సెట్ చేయండి</translation>
 <translation id="1717817358640580294">సెట్ చేయకుండా వదిలిపెడితే, Chrome క్లీన్అప్ అవాంఛిత సాఫ్ట్‌వేర్‌ను గుర్తిస్తే, అది స్కాన్ గురించిన మెటాడేటాను SafeBrowsingExtendedReportingEnabled ప్రకారం సెట్ చేసిన విధానానికి అనుగుణంగా Googleకి పంపుతుంది. ఆపై Chrome క్లీన్అప్ అవాంఛిత సాఫ్ట్‌వేర్‌ను తొలగించాలో లేదో వినియోగదారును అడుగుతుంది. వినియోగదారు క్లీన్అప్ ఫలితాలను Googleతో షేర్ చేసేలా ఎంచుకోవచ్చు, తద్వారా భవిష్యత్తులో అవాంఛిత సాఫ్ట్‌వేర్ గుర్తించడంలో సహాయం పొందవచ్చు. ఈ ఫలితాలలో ఫైల్ మెటాడేటా, ఆటోమేటిక్‌గా ఇన్‌స్టాల్ చేసిన ఎక్సెటెన్షన్‌లు, అలాగే Chrome గోప్యతా విధాన పత్రంలో వివరించిన విధంగా రిజిస్ట్రీ కీలు ఉంటాయి.
 
@@ -349,7 +349,7 @@
 
       ఈ విధానం <ph name="MS_AD_NAME" /> డొమైన్‌తో అనుబంధితమైన Windows సందర్భాలు లేదా పరికర నిర్వహణ కోసం నమోదైన Windows 10 Pro లేదా Enterprise సందర్భాలలో మాత్రమే అందుబాటులో ఉంటుంది.</translation>
 <translation id="172374442286684480">స్థానిక డేటాని సెట్ చేయడానికి అన్ని సైట్‌లను అనుమతించడం</translation>
-<translation id="1734716591049455502">రిమోట్ యాక్సెస్‌ ఎంపికలను కాన్ఫిగర్ చేయండి</translation>
+<translation id="1734716591049455502">రిమోట్ యాక్సెస్ ఎంపికలను కాన్ఫిగర్ చేయండి</translation>
 <translation id="1736269219679256369">SSL హెచ్చరిక పేజీ నుండి కొనసాగడాన్ని అనుమతిస్తుంది</translation>
 <translation id="1745780278307622857">విశ్వసనీయమైన మూలాధారం నుండి పొందే వాటిని సురక్షిత బ్రౌజింగ్ తనిఖీలు లేకుండానే డౌన్‌లోడ్ చేయాడానికి <ph name="PRODUCT_NAME" />ని అనుమతించాలో లేదో గుర్తించండి.
 
@@ -368,7 +368,7 @@
 
       విధానాన్ని <ph name="PRODUCT_OS_NAME" /> సేవా నిబంధనలను డౌన్‌లోడ్ చేయగల URLకు సెట్ చేయాలి. సేవా నిబంధనలు MIME రకం వచనం/సాదా అందించబడిన విధంగా సాదా వచనంగా ఉండాలి. మార్కప్ అనుమతించబడదు.</translation>
 <translation id="1750315445671978749">అన్ని డౌన్‌లోడ్‌లను బ్లాక్ చేయి</translation>
-<translation id="1781356041596378058">అలాగే, ఈ విధానం Android డెవలపర్ ఎంపికలకు కూడా యాక్సెస్‌ను నియంత్రిస్తుంది. మీరు ఈ విధానాన్ని 'ఒప్పు'గా సెట్ చేస్తే, వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయలేరు. మీరు ఈ విధానాన్ని 'తప్పు'గా సెట్ చేసినా, ఏదీ సెట్ చేయకపోయినా, Android సెట్టింగ్‌ల యాప్‌లో బిల్డ్ సంఖ్యపై ఏడుసార్లు నొక్కడం ద్వారా వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయగలరు.</translation>
+<translation id="1781356041596378058">అలాగే, ఈ విధానం Android డెవలపర్ ఎంపికలకు కూడా యాక్సెస్‌ను నియంత్రిస్తుంది. మీరు ఈ విధానాన్ని ఒప్పుకి సెట్ చేస్తే, వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయలేరు. మీరు ఈ విధానాన్ని తప్పుకి సెట్ చేసినా లేదా ఏదీ సెట్ చేయకపోయినా, Android సెట్టింగ్‌ల యాప్‌లో బిల్డ్ సంఖ్యపై ఏడుసార్లు నొక్కడం ద్వారా వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయగలరు.</translation>
 <translation id="1797233582739332495">పునఃప్రారంభం అవసరమని సూచించే పునరావృత ప్రాంప్ట్‌ను వినియోగదారుకు చూపండి</translation>
 <translation id="1798559516913615713">GPO కాష్ కాలవ్యవధి</translation>
 <translation id="1803646570632580723">లాంచర్‌లో చూపడానికి పిన్ చేసిన అనువర్తనాల జాబితా</translation>
@@ -405,7 +405,7 @@
 
       లేకుంటే, బగ్గీ సర్వర్‌కు అనుకూలత తప్పనిసరిగా ఉండేలా చూసుకోవాలంటే, ఈ విధానాన్ని "tls1.1"కి సెట్ చేయవచ్చు. ఇది తాత్కాలిక పరిష్కారం మాత్రమే, సర్వర్ సమస్యను వీలైనంత త్వరగా పరిష్కరించాల్సి ఉంటుంది.</translation>
 <translation id="1864269674877167562">ఈ విధానాన్ని ఖాళీ వాక్యానికి సెట్ చేస్తే లేదా కాన్ఫిగర్ చేయకుంటే, <ph name="PRODUCT_OS_NAME" /> వినియోగదారు సైన్ ఇన్ విధాన సమయంలో స్వీయపూర్తి ఎంపికను చూపదు.
-      ఈ విధానాన్ని డొమైన్ పేరును సూచించే వాక్యానికి సెట్ చేస్తే, <ph name="PRODUCT_OS_NAME" /> వినియోగదారు సైన్ ఇన్ చేసే సమయంలో డొమైన్ పేరు పొడిగింపు పేర్కొనాల్సిన శ్రమ లేకుండా కేవలం వారి వినియోగదారు పేరు మాత్రమే టైప్ చేసే వీలు కల్పిస్తూ స్వీయపూర్తి ఎంపికను చూపుతుంది.  వినియోగదారు ఈ డొమైన్ పేరు పొడిగింపును భర్తీ చేయగలుగుతారు.</translation>
+      ఈ విధానాన్ని డొమైన్ పేరును సూచించే వాక్యానికి సెట్ చేస్తే, <ph name="PRODUCT_OS_NAME" /> వినియోగదారు సైన్ ఇన్ చేసే సమయంలో డొమైన్ పేరు ఎక్స్‌టెన్షన్ పేర్కొనాల్సిన శ్రమ లేకుండా కేవలం వారి వినియోగదారు పేరు మాత్రమే టైప్ చేసే వీలు కల్పిస్తూ స్వీయపూర్తి ఎంపికను చూపుతుంది. వినియోగదారు ఈ డొమైన్ పేరు ఎక్స్‌టెన్షన్‌ను భర్తీ చేయగలుగుతారు.</translation>
 <translation id="1864382791685519617"><ph name="PRODUCT_NAME" />లో నెట్‌వర్క్ సూచనను ప్రారంభించడంతో పాటు, ఆ సెట్టింగ్‌ను మార్చకుండా వినియోగదారులను నిరోధిస్తుంది.
 
     ఇది వెబ్ పేజీల యొక్క DNS ప్రి-ఫెచింగ్‌తో పాటు TCP మరియు SSL పూర్వ కనెక్షన్ మరియు పూర్వ అమలును కూడా నియంత్రిస్తుంది.
@@ -415,7 +415,7 @@
       ఒకవేళ ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేస్తే, నెట్‌వర్క్ భావిసూచన ప్రారంభించబడుతుంది కానీ వినియోగదారు దాన్ని మార్చగలరు.</translation>
 <translation id="1865417998205858223">కీలక అనుమతులు</translation>
 <translation id="186719019195685253">AC శక్తిపై అమలవుతున్న సమయంలో ఇన్‌యాక్టివ్‌ ఆలస్యాన్ని చేరుకున్నప్పుడు తీసుకోవలసిన చర్య</translation>
-<translation id="187819629719252111">ఫైల్ ఎంపిక డైలాగ్‌లను ప్రదర్శించడానికి <ph name="PRODUCT_NAME" />ను అనుమతించడం ద్వారా మెషిన్‌లోని స్థానిక ఫైల్‌లకు యాక్సెస్‌ చేయ‌డానికి అనుమతిస్తుంది. మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, వినియోగదారులు ఫైల్ ఎంపిక డైలాగ్‌లను సాధారణంగా తెరవగలరు. మీరు ఈ సెట్టింగ్‌ను ఆపివేస్తే, వినియోగదారు పైల్ ఎంపిక డైలాగ్‌ను (బుక్‌మార్క్‌లను దిగుమతి చేయడం, ఫైల్‌లను అప్‌లోడ్ చేయడం, లింక్‌లను సేవ్ చేయడం, మొదలైనవి) చూపే ఒక చర్యను చేసినప్పుడు, బదులుగా ఒక సందేశం ప్రదర్శించబడుతుంది మరియు వినియోగదారు ఫైల్ ఎంపిక డైలాగ్‌లో రద్దు చేయి క్లిక్ చేసి ఉంటారని భావిస్తారు. ఈ సెట్టింగ్‌ను సెట్ చేయకపోతే, వినియోగదారులు ఫైల్ ఎంపిక డైలాగ్‌లను సాధారణంగా తెరవగలరు.</translation>
+<translation id="187819629719252111">ఫైల్ ఎంపిక డైలాగ్‌లను ప్రదర్శించడానికి <ph name="PRODUCT_NAME" />ను అనుమతించడం ద్వారా మెషీన్‌లోని స్థానిక ఫైల్‌లకు యాక్సెస్‌ను అనుమతిస్తుంది. మీరు ఈ సెట్టింగ్‌ని ప్రారంభిస్తే, వినియోగదారులు ఫైల్ ఎంపిక డైలాగ్‌లను సాధారణంగా తెరవగలరు. మీరు ఈ సెట్టింగ్‌ని ఆపివేస్తే, వినియోగదారు పైల్ ఎంపిక డైలాగ్‌ను (బుక్‌మార్క్‌లను దిగుమతి చేయడం, ఫైల్‌లను అప్‌లోడ్ చేయడం, లింక్‌లను సేవ్ చేయడం, మొదలైనవి) చూపే ఒక చర్యను చేసినప్పుడు, బదులుగా ఒక సందేశం ప్రదర్శించబడుతుంది మరియు వినియోగదారు ఫైల్ ఎంపిక డైలాగ్‌లో రద్దు చేయి క్లిక్ చేసి ఉంటారని భావిస్తారు. ఈ సెట్టింగ్‌ను సెట్ చేయకపోతే, వినియోగదారులు ఫైల్ ఎంపిక డైలాగ్‌లను సాధారణంగా తెరవగలరు.</translation>
 <translation id="1885782360784839335">పూర్తి-ట్యాబ్ ప్రచార కంటెంట్‌ను ప్రదర్శించడాన్ని ప్రారంభించండి</translation>
 <translation id="1888871729456797026">డెస్క్‌టాప్‌లో క్లౌడ్ విధానం యొక్క నమోదు టోకెన్</translation>
 <translation id="1897365952389968758">JavaScriptని అమలు చేయ్డడానికి అన్ని సైట్‌లని అనుమతించు</translation>
@@ -472,7 +472,7 @@
 <translation id="1962273523772270623">Google సేవల నుండి WebRTC ఈవెంట్ లాగ్‌ల సేకరణను అనుమతించండి</translation>
 <translation id="1964634611280150550">అజ్ఞాత మోడ్ నిలిపివేయబడింది</translation>
 <translation id="1964802606569741174">ఈ విధానం Android YouTube యాప్ మీద‌ ఎలాంటి ప్రభావాన్ని చూపదు. YouTubeలో సురక్షిత మోడ్ అమలు చేయదలిస్తే, Android YouTube యాప్ ఇన‌స్ట‌లేష‌న్‌ అనుమతించకూడదు.</translation>
-<translation id="1969212217917526199">రిమోట్ యాక్సెస్ హోస్ట్ యొక్క డీబగ్ బిల్డ్‌లలో విధానాలను ఈ విధానం భర్తీ చేస్తుంది.
+<translation id="1969212217917526199">రిమోట్ యాక్సెస్ హోస్ట్ డీబగ్ బిల్డ్‌లలో విధానాలను భర్తీ చేస్తుంది.
 
           విలువ విధాన విలువ మ్యాపింగ్‌లకు విధానం పేరు యొక్క JSON నిఘంటువు లాగా అన్వయించబడుతుంది.</translation>
 <translation id="1969808853498848952">ప్రమాణీకరణ అవసరమైన ప్లగ్ఇన్‌లను ఎల్లప్పుడూ అమలు చేయండి (విస్మరించబడింది)</translation>
@@ -497,12 +497,12 @@
       ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేసినప్పుడు <ph name="PRODUCT_NAME" /> 3 గంటల డిఫాల్ట్ విలువను ఉపయోగిస్తుంది.
 
       ప్లాట్‌ఫారమ్ విధాన నోటిఫికేషన్‌లకు మద్దతు ఇచ్చే పక్షంలో, అత్యంత తరచుగా రిఫ్రెష్‌లు చేయడాన్ని నివారించడానికి రిఫ్రెష్ జాప్యం 24 గంటలకు సెట్ చేయబడుతుందని గమనించండి (ఈ సందర్భంలో అన్ని డిఫాల్ట్‌లు మరియు ఈ విధానం విలువ విస్మరించబడతాయి). ఎందుకంటే విధానంలో మార్పులు జరిగినప్పుడు విధాన నోటిఫికేషన్‌లు ఆటోమేటిక్‌గా రిఫ్రెష్ కావ‌డానికి అవకాశం ఉంటుంది.</translation>
-<translation id="2024476116966025075">రిమోట్ యాక్సెస్‌ క్లయింట్‌ల కోసం అవసరమైన డొమైన్ పేరును కాన్ఫిగర్ చేయండి</translation>
+<translation id="2024476116966025075">రిమోట్ యాక్సెస్ క్లయింట్‌ల కోసం అవసరమైన డొమైన్ పేరును కాన్ఫిగర్ చేయండి</translation>
 <translation id="2030905906517501646">డిఫాల్ట్ శోధన ప్రదాత కీవర్డ్</translation>
 <translation id="203096360153626918">ఈ విధానం Android అనువర్తనాలపై ఎలాంటి ప్రభావాన్ని చూపదు. ఈ విధానాన్ని <ph name="FALSE" />కి సెట్ చేసినప్పటికీ అవి పూర్తి స్క్రీన్ మోడ్‌లో ప్రవేశించగలవు.</translation>
 <translation id="2043770014371753404">నిలిపివేయబడిన ఎంటర్‌ప్రైజ్ ప్రింటర్‌లు</translation>
 <translation id="2057317273526988987">జాబితాలోని URLలకు యాక్సెస్‌ను అనుమతించండి</translation>
-<translation id="2061810934846663491">రిమోట్ యాక్సెస్‌ హోస్ట్‌ల కోసం అవసరమైన డొమైన్ పేర్లను కాన్ఫిగర్ చేస్తుంది</translation>
+<translation id="2061810934846663491">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం అవసరమైన డొమైన్ పేర్లను కాన్ఫిగర్ చేస్తుంది</translation>
 <translation id="206623763829450685"><ph name="PRODUCT_NAME" /> మద్దతు ఇచ్చే HTTP ప్రామాణీకరణ స్కీమ్‌లను పేర్కొంటుంది.
 
           సంభావ్య విలువలు ''basic', 'digest', 'ntlm' మరియు 'negotiate'. బహుళ విలువలను కామాలతో వేరు చేయండి.
@@ -578,21 +578,21 @@
 <translation id="2166472654199325139">పెద్దలకు మాత్రమే విషయాల సైట్‌లను ఫిల్టర్ చేయవద్దు</translation>
 <translation id="2168397434410358693">AC శక్తితో అమలవుతున్నప్పుడు నిష్క్రియ ఆలస్యం</translation>
 <translation id="2170233653554726857">WPAD ఆప్టిమైజేషన్‌ను ప్రారంభించండి</translation>
-<translation id="2176565653304920879">ఈ విధానాన్ని సెట్ చేసినప్పుడు, ఆటోమేటిక్ సమయ మండలి గుర్తింపు విధానం సెట్టింగ్ విలువను బట్టి క్రింది మార్గాల్లో ఒక విధంగా ఉంటుంది:
+<translation id="2176565653304920879">ఈ విధానాన్ని సెట్ చేసినప్పుడు, ఆటోమేటిక్‌ సమయ మండలి గుర్తింపు విధానం సెట్టింగ్ విలువను బట్టి క్రింది మార్గాల్లో ఒక విధంగా ఉంటుంది:
 
-      TimezoneAutomaticDetectionUsersDecideకి సెట్ చేస్తే, వినియోగదారులు chrome://settingsలో సాధారణ నియంత్రణలను ఉపయోగించి స్వయంచాలక సమయ మండలి గుర్తింపును నియంత్రించగలుగుతారు.
+      TimezoneAutomaticDetectionUsersDecideకి సెట్ చేస్తే, వినియోగదారులు chrome://settingsలో సాధారణ నియంత్రణలను ఉపయోగించి ఆటోమేటిక్‌ సమయ మండలి గుర్తింపును నియంత్రించగలుగుతారు.
 
-      TimezoneAutomaticDetectionDisabledకి సెట్ చేస్తే, chrome://settingsలో ఆటోమేటిక్ సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆఫ్‌లో ఉంటుంది.
+      TimezoneAutomaticDetectionDisabledకి సెట్ చేస్తే, chrome://settingsలో ఆటోమేటిక్‌ సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్‌ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆఫ్‌లో ఉంటుంది.
 
-      TimezoneAutomaticDetectionIPOnlyకి సెట్ చేస్తే, chrome://settingsలో సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆన్‌లో ఉంటుంది. సమయ మండలి గుర్తింపు స్థానాన్ని నిశ్చయించడానికి కేవలం IP ఆధారిత పద్ధతిని ఉపయోగిస్తుంది.
+      TimezoneAutomaticDetectionIPOnlyకి సెట్ చేస్తే, chrome://settingsలో సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్‌ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆన్‌లో ఉంటుంది. సమయ మండలి గుర్తింపు స్థానాన్ని నిశ్చయించడానికి కేవలం IP ఆధారిత పద్ధతిని ఉపయోగిస్తుంది.
 
-      TimezoneAutomaticDetectionSendWiFiAccessPointsకి సెట్ చేస్తే, chrome://settingsలో సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆన్‌లో ఉంటుంది. స్పష్టమైన సమయ మండలి గుర్తింపు కోసం అందుబాటులోని WiFi యాక్సెస్ పాయింట్‌ల జాబితా ఎల్లప్పుడూ భౌగోళిక స్థాన API సర్వర్‌కి పంపబడుతుంది.
+      TimezoneAutomaticDetectionSendWiFiAccessPointsకి సెట్ చేస్తే, chrome://settingsలో సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్‌ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆన్‌లో ఉంటుంది. స్పష్టమైన సమయ మండలి గుర్తింపు కోసం అందుబాటులోని WiFi యాక్సెస్ పాయింట్‌ల జాబితా ఎల్లప్పుడూ భౌగోళిక స్థాన API సర్వర్‌కి పంపబడుతుంది.
 
-      TimezoneAutomaticDetectionSendAllLocationInfoకి సెట్ చేస్తే, chrome://settingsలో సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆన్‌లో ఉంటుంది. స్పష్టమైన సమయ మండలి గుర్తింపు కోసం స్థాన సమాచారం (WiFi యాక్సెస్-పాయింట్‌లు, చేరుకోదగిన సెల్ టవర్‌లు, GPS వంటివి) సర్వర్‌కు పంపబడుతుంది.
+      TimezoneAutomaticDetectionSendAllLocationInfoకి సెట్ చేస్తే, chrome://settingsలో సమయ మండలి నియంత్రణలు నిలిపివేయబడతాయి. ఆటోమేటిక్‌ సమయ మండలి గుర్తింపు ఎల్లప్పుడూ ఆన్‌లో ఉంటుంది. స్పష్టమైన సమయ మండలి గుర్తింపు కోసం స్థాన సమాచారం (WiFi యాక్సెస్‌-పాయింట్‌లు, చేరుకోదగిన సెల్ టవర్‌లు, GPS వంటివి) సర్వర్‌కు పంపబడుతుంది.
 
       ఈ విధానాన్ని సెట్ చేయకుంటే, ఇది TimezoneAutomaticDetectionUsersDecide సెట్ చేసినట్లు వ్యవహరిస్తుంది.
 
-      SystemTimezone విధానాన్ని సెట్ చేస్తే, ఇది ఈ విధానాన్ని భర్తీ చేస్తుంది. ఈ సందర్భంలో ఆటోమేటిక్ సమయ మండలి గుర్తింపు పూర్తిగా నిలిపివేయబడుతుంది.</translation>
+      SystemTimezone విధానాన్ని సెట్ చేస్తే, ఇది ఈ విధానాన్ని భర్తీ చేస్తుంది. ఈ సందర్భంలో ఆటోమేటిక్‌ సమయ మండలి గుర్తింపు పూర్తిగా నిలిపివేయబడుతుంది.</translation>
 <translation id="2178899310296064282">YouTubeలో కనీసం మధ్యస్థ పరిమిత మోడ్‌ను అమలు చేయండి</translation>
 <translation id="2182291258410176649">బ్యాకప్‌ను ప్రారంభించి, పునరుద్ధరించాలో లేదో వినియోగదారు నిర్ణయిస్తారు</translation>
 <translation id="2183294522275408937">త్వరిత అన్‌లాక్‌ను ఉపయోగించడం కొనసాగించేందుకు లాక్ స్క్రీన్ పాస్‌వర్డ్ నమోదును ఎంత తరచుగా అభ్యర్థించాలో ఈ సెట్టింగ్ నియంత్రిస్తుంది. లాక్ స్క్రీన్‌‌లోకి ప్రవేశించిన ప్రతిసారి, చివరి పాస్‌వర్డ్ నమోదు ఈ సెట్టింగ్ కంటే ఎక్కువైతే, లాక్ స్క్రీన్‌లోకి ప్రవేశించినప్పుడు త్వరిత అన్‌లాక్ అందుబాటులో ఉండదు. ఈ కాలవ్యవధిలో వినియోగదారులు లాక్ స్క్రీన్‌పై ఉండవలసి ఉంటుంది, వినియోగదారు తప్పు పాస్‌వర్డ్ నమోదు చేసిన తరువాత సారి లేదా లాక్ స్క్రీన్‌కు తిరిగి నమోదు చేసినప్పుడు ఏది ముందుగా జరిగితే అప్పుడు పాస్‌వర్డ్ అభ్యర్థించబడుతుంది.
@@ -610,12 +610,12 @@
 
       కియోస్క్ యాప్‌లకు ఈ విధానం వర్తించదు - ఇవి ఆటోమేటిక్‌గా తరలించబడతాయి. ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేసినట్లయితే, 'DisallowArc'ను ఎంచుకున్నట్లు పరికరం ప్రవర్తిస్తుంది.</translation>
 <translation id="2195032660890227692">ఈ విధానం <ph name="PRODUCT_NAME" /> 68లో తీసివేయబడింది మరియు <ph name="ARC_BR_POLICY_NAME" /> ద్వారా భర్తీ చేయబడింది.</translation>
-<translation id="219720814106081560">ప్రారంభించబడితే లేదా కాన్ఫిగర్ చేయబడకపోతే (డిఫాల్ట్), ప్రాంప్ట్ చేయబడకుండా యాక్సెస్‌ మంజూరు అయ్యే VideoCaptureAllowedUrls జాబితాలో కాన్ఫిగర్ చేయబడిన URLల కోసం మినహా వీడియో క్యాప్చర్ యాక్సెస్‌ కోసం వినియోగదారు ప్రాంప్ట్ చేయబడతారు.
+<translation id="219720814106081560">ప్రారంభించబడితే లేదా కాన్ఫిగర్ చేయబడకపోతే (డిఫాల్ట్), ప్రాంప్ట్ చేయబడకుండా యాక్సెస్ మంజూరు అయ్యే VideoCaptureAllowedUrls జాబితాలో కాన్ఫిగర్ చేయబడిన URLల కోసం మినహా వీడియో క్యాప్చర్ యాక్సెస్ కోసం వినియోగదారు ప్రాంప్ట్ చేయబడతారు.
 
       
-ఈ విధానాన్ని నిలిపివేసినప్పుడు, వినియోగదారు ఎప్పటికీ ప్రాంప్ట్ చేయబడరు. వీడియో క్యాప్చర్ VideoCaptureAllowedUrlsలో కాన్ఫిగర్ చేయబడిన URLలకు మాత్రమే అందుబాటులో ఉంటుంది.
+ఈ విధానాన్ని నిలిపివేసినప్పుడు, వినియోగదారు ఎప్పటికీ ప్రాంప్ట్ చేయబడరు మరియు వీడియో క్యాప్చర్ VideoCaptureAllowedUrlsలో కాన్ఫిగర్ చేయబడిన URLలకు మాత్రమే అందుబాటులో ఉంటుంది.
 
-ఈ విధానం అంత‌ర్గ‌త‌ కెమెరాను మాత్రమే కాకుండా అన్ని రకాల వీడియో ఇన్‌పుట్‌లను ప్రభావితం చేస్తుంది.</translation>
+ఈ విధానం అంతర్నిర్మిత కెమెరాను మాత్రమే కాకుండా అన్ని రకాల వీడియో ఇన్‌పుట్‌లను ప్రభావితం చేస్తుంది.</translation>
 <translation id="2201555246697292490">స్థానిక సందేశ పద్ధతి వైట్‌లిస్ట్‌ను కాన్ఫిగర్ చేయండి</translation>
 <translation id="2204753382813641270">అర స్వయంచాలకంగా దాచబడటాన్ని నియంత్రించు</translation>
 <translation id="2208976000652006649">POSTని ఉపయోగించే శోధన URL కోసం పారామీటర్‌లు</translation>
@@ -626,11 +626,11 @@
 <translation id="2231817271680715693">మొదటి అమలులోనే డిఫాల్ట్ బ్రౌజర్ నుండి బ్రౌజింగ్ చరిత్రను దిగుమతి చేయి</translation>
 <translation id="2236488539271255289">స్థానిక డేటాని సెట్ చెయ్యడానికి ఏ సైట్‌ని అనుమతించవద్దు</translation>
 <translation id="2240879329269430151">వెబ్‌సైట్‌లు పాప్-అప్‌లు చూపడానికి అనుమతించాలో, లేదో అని సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. పాప్‌అప్‌లను ప్రదర్శించడానికి అన్ని వెబ్‌సైట్‌లను అనుమతించవచ్చు లేదా నిరాకరించవచ్చు. ఈ విధానం సెట్ చేయకుండా వదిలివేస్తే, 'BlockPopups' ఉపయోగించబడుతుంది మరియు దీన్ని వినియోగదారు మార్పుచేయగలుగుతారు.</translation>
-<translation id="2255326053989409609">ఈ సెట్టింగ్‌ను ప్రారంభించడం వలన వెబ్ పేజీలు గ్రాఫిక్స్ ప్రాసెసింగ్ యూనిట్‌ను (GPU) యాక్సెస్‌ చేయకుండా నిరోధించబడతాయి. ప్రత్యేకించి, వెబ్ పేజీలు WebGL APIని యాక్సెస్‌ చేయలేవు. ప్లగిన్‌లు పెప్పర్ 3డి APIని ఉపయోగించలేవు.
+<translation id="2255326053989409609">ఈ సెట్టింగ్‌ను ప్రారంభించడం వలన వెబ్ పేజీలు గ్రాఫిక్స్ ప్రాసెసింగ్ యూనిట్‌ని (GPU) యాక్సెస్ చేయకుండా నిరోధించబడతాయి. ప్రత్యేకించి, వెబ్ పేజీలు WebGL APIని యాక్సెస్ చేయలేవు మరియు ప్లగిన్‌లు పెప్పర్ 3డి APIని ఉపయోగించలేవు.
 
-ఈ సెట్టింగ్‌ను ఆపివేయడం లేదా సెట్ చేయకుండా విడిచిపెడితే, WebGL APIని ఉపయోగించడానికి వెబ్ పేజీలు మరియు పెప్పర్ 3డి APIని ఉపయోగించడానికి ప్లగిన్‌లు అనుమతించబడే అవ‌కాశం ఎక్కువ‌గా ఉంటుంది. ఈ APIలను ఉపయోగించడానికి అనుమతించబడే బ్రౌజర్‌ యొక్క డిఫాల్ట్ సెట్టింగ్‌లకు ఆదేశ లైన్‌ అంశాలు ఇప్పటికీ అవసరం.
+ఈ సెట్టింగ్‌ని ఆపివేయడం లేదా సెట్ చేయకుండా విడిచిపెడితే, WebGL APIని ఉపయోగించడానికి వెబ్ పేజీలు సమర్థవంతంగా మరియు పెప్పర్ 3డి APIని ఉపయోగించడానికి ప్లగిన్‌లు అనుమతించబడతాయి. ఈ APIలని ఉపయోగించడానికి అనుమతించబడడానికి బ్రౌజర్‌ యొక్క డిఫాల్ట్ సెట్టింగ్‌లకు ఆదేశ పంక్తి అంశాలు ఇప్పటికీ అవసరం.
 
-HardwareAccelerationModeEnabledను తప్పుగా సెట్ చేస్తే, Disable3DAPIs విస్మరించబడుతుంది. ఇది Disable3DAPIsను ఒప్పున‌కు సెట్ చేయడంతో సమానం అవుతుంది.</translation>
+HardwareAccelerationModeEnabledని తప్పుగా సెట్ చేస్తే, Disable3DAPIs విస్మరించబడుతుంది మరియు ఇది Disable3DAPIsని ఒప్పుకు సెట్ చేయడంతో సమానం అవుతుంది.</translation>
 <translation id="2269319728625047531">సైన్-ఇన్ చేస్తున్న సమయంలో సింక్ సమ్మతిని ప్రదర్శించడం ప్రారంభిస్తుంది</translation>
 <translation id="2274864612594831715">ఈ విధానం వర్చువల్ కీబోర్డ్‌ను ప్రారంభించడాన్ని ChromeOSలో ఇన్‌పుట్ పరికరం లాగా కాన్ఫిగర్ చేస్తుంది. వినియోగదారులు ఈ విధానాన్ని అధిగ‌మించ‌లేరు.
 
@@ -696,7 +696,7 @@
       ఈ విధానాన్ని సెట్ చేయకపోతే లేదా 'ఒప్పు'గా సెట్ చేస్తే మరియు పరికర-స్థానిక ఖాతాను సున్నా-ఆలస్యపు స్వీయ-లాగిన్‌కు కాన్ఫిగర్ చేస్తే, <ph name="PRODUCT_OS_NAME" /> స్వీయ-లాగిన్‌ను తప్పించి, లాగిన్ స్క్రీన్‌ను చూపడం కోసం కీబోర్డ్ షార్ట్‌కట్ Ctrl+Alt+Sని ఆమోదిస్తుంది.
 
       ఈ విధానాన్ని 'తప్పు'గా సెట్ చేస్తే, సున్నా-ఆలస్యపు స్వీయ-లాగిన్ (కాన్ఫిగర్ చేసి ఉంటే) తప్పించబడదు.</translation>
-<translation id="2463365186486772703">అప్లికేషన్ భాష</translation>
+<translation id="2463365186486772703">అప్లికేషన్ లొకేల్</translation>
 <translation id="2466131534462628618">క్యాప్టివ్ పోర్టల్ ప్రామాణీకరణ ప్రాక్సీని విస్మరిస్తుంది</translation>
 <translation id="2482676533225429905">స్థానిక సందేశ పద్ధతి</translation>
 <translation id="2483146640187052324">ఏ నెట్‌వర్క్ కనెక్షన్‌‍‌లో అయినా నెట్‌వర్క్ చర్యలను అంచనా వేయగల సామర్థ్యం</translation>
@@ -713,9 +713,9 @@
       ఈ విధానాన్ని సెట్ చేయకుంటే, ప్రమాణపత్రం పారదర్శకత ద్వారా బహిరంగపరచాల్సిన ఏదైనా ప్రమాణపత్రం, ప్రమాణపత్రం పారదర్శకత విధానానికి అనుగుణంగా బహిరంగపరచని పక్షంలో అవిశ్వసనీయమైనదిగా పరిగణించబడుతుంది.</translation>
 <translation id="2488010520405124654">ఆఫ్‌లైన్‌లో ఉన్నప్పుడు నెట్‌వర్క్ కాన్ఫిగరేషన్ ప్రాంప్ట్‌ను ప్రారంభించండి.
 
-      ఈ విధానాన్ని సెట్ చేయకపోతే లేదా ఒప్పుకు సెట్ చేస్తే మరియు పరికర-స్థానిక ఖాతా సున్నా ఆలస్యపు స్వీయ-లాగిన్ కోసం కాన్ఫిగర్ చేయబడితే మరియు పరికరం ఇంటర్నెట్‌కు యాక్సెస్‌ను కలిగి ఉండకపోతే, <ph name="PRODUCT_OS_NAME" /> నెట్‌వర్క్ కాన్ఫిగరేషన్ ప్రాంప్ట్‌ను చూపుతుంది.
+      ఈ విధానాన్ని సెట్ చేయకపోతే లేదా 'ఒప్పు'గా సెట్ చేస్తే మరియు పరికర-స్థానిక ఖాతా సున్నా ఆలస్యపు స్వీయ-లాగిన్ కోసం కాన్ఫిగర్ చేయబడితే మరియు పరికరం ఇంటర్నెట్‌కు యాక్సెస్‌ను కలిగి ఉండకపోతే, <ph name="PRODUCT_OS_NAME" /> నెట్‌వర్క్ కాన్ఫిగరేషన్ ప్రాంప్ట్‌ను చూపుతుంది.
 
-      ఈ విధానాన్ని తప్పుకు సెట్ చేస్తే, నెట్‌వర్క్ కాన్ఫిగరేషన్ ప్రాంప్ట్‌కు బదులుగా లోప సందేశం ప్రదర్శించబడుతుంది.</translation>
+      ఈ విధానాన్ని 'తప్పు'గా సెట్ చేస్తే, నెట్‌వర్క్ కాన్ఫిగరేషన్ ప్రాంప్ట్‌కు బదులుగా ఎర్రర్ సందేశం ప్రదర్శించబడుతుంది.</translation>
 <translation id="2498238926436517902">అరను ఎల్లప్పుడూ స్వయంచాలకంగా దాచు</translation>
 <translation id="2514328368635166290">డిఫాల్ట్ శోధన ప్రదాత యొక్క ఇష్టమైన చిహ్నం URLను పేర్కొంటుంది. ఈ విధానం ఐచ్ఛికం. సెట్ చేయకపోతే, శోధన ప్రదాతకు చిహ్నం ఉండదు. ఈ విధానం 'DefaultSearchProviderEnabled' విధానం ప్రారంభించబడినప్పుడు మాత్రమే పరిగణించబడుతుంది.</translation>
 <translation id="2516600974234263142"><ph name="PRODUCT_NAME" />లో ముద్రించడాన్ని ప్రారంభిస్తుంది మరియు వినియోగదారులు ఈ సెట్టింగ్‌ను మార్చకుండా నిరోధిస్తుంది.
@@ -746,7 +746,7 @@
 <translation id="2548572254685798999">సురక్షిత బ్రౌజింగ్‌కి సంబంధించిన వివరాలను నివేదించడం</translation>
 <translation id="2550593661567988768">సింప్లెక్స్ ముద్రణ మాత్రమే</translation>
 <translation id="2552966063069741410">సమయ మండలి</translation>
-<translation id="2562339630163277285">తక్షణ ఫలితాలను అందించడానికి ఉపయోగించాల్సిన శోధన ఇంజిన్ URLను పేర్కొంటుంది. URLలో <ph name="SEARCH_TERM_MARKER" /> అనే స్ట్రింగ్ ఉండాలి, ఇది ప్రశ్న సమయంలో వినియోగదారు అప్పటివరకు నమోదు చేసిన వచనంతో భర్తీ చేస్తుంది.
+<translation id="2562339630163277285">తక్షణ ఫలితాలను అందించడానికి ఉపయోగించాల్సిన శోధన ఇంజిన్ URLను పేర్కొంటుంది. URLలో <ph name="SEARCH_TERM_MARKER" /> అనే స్ట్రింగ్ ఉంటుంది, ఇది ప్రశ్న సమయంలో వినియోగదారు అప్పటివరకు నమోదు చేసిన వచనంతో భర్తీ చేస్తుంది.
 
           ఈ విధానం ఐచ్ఛికం. సెట్ చేయకపోతే, తక్షణ శోధన ఫలితాలు ఏవీ అందించబడవు.
 
@@ -798,7 +798,7 @@
 <translation id="2647069081229792812">బుక్‌మార్క్ సవరణని ప్రారంభించండి లేదా నిలిపివేయండి</translation>
 <translation id="2649896281375932517">వినియోగదారులను నిర్ణయించుకోనివ్వండి</translation>
 <translation id="2650049181907741121">వినియోగదారు మూతను మూసివేసినప్పుడు తీసుకోవలసిన చర్య</translation>
-<translation id="2655233147335439767">డిఫాల్ట్ శోధనను చేస్తున్నప్పుడు ఉపయోగించాల్సిన శోధన ఇంజిన్ URLను పేర్కొంటుంది. URLలో '<ph name="SEARCH_TERM_MARKER" />' అనే స్ట్రింగ్ ఉండాలి, ఇది ప్రశ్న సమయంలో వినియోగదారు వెతికే పదాలతో భర్తీ చేయబడుతుంది.
+<translation id="2655233147335439767">డిఫాల్ట్ శోధనను చేస్తున్నప్పుడు ఉపయోగించాల్సిన శోధన ఇంజిన్ URLను పేర్కొంటుంది. URLలో '<ph name="SEARCH_TERM_MARKER" />' అనే స్ట్రింగ్ ఉంటుంది, ఇది ప్రశ్న సమయంలో వినియోగదారు శోధించే పదాలతో భర్తీ చేయబడుతుంది.
 
           Google శోధన URLను ఇలా పేర్కొనవచ్చు: <ph name="GOOGLE_SEARCH_URL" />.
 
@@ -847,7 +847,7 @@
 <translation id="2762164719979766599">లాగిన్ స్క్రీన్‌పై చూపబడే పరికర-స్థానిక ఖాతాల జాబితాను పేర్కొంటుంది.
 
       ప్రతి జాబితా నమోదు విభిన్న పరికర-స్థానిక ఖాతాలను వేరుగా చెప్పడానికి అంతర్గతంగా ఉపయోగించబడే ఐడెంటిఫైయర్‌ను పేర్కొంటుంది.</translation>
-<translation id="2769952903507981510">రిమోట్ యాక్సెస్‌ హోస్ట్‌ల కోసం అవసరమైన డొమైన్ పేరును కాన్ఫిగర్ చేస్తుంది</translation>
+<translation id="2769952903507981510">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం అవసరమైన డొమైన్ పేరును కాన్ఫిగర్ చేస్తుంది</translation>
 <translation id="2787173078141616821">Android స్థితిని గురించి సమాచారాన్ని నివేదిస్తుంది</translation>
 <translation id="2799297758492717491">URL నమూనాల వైట్‌లిస్ట్‌లో మీడియా స్వీయ ప్లేని అనుమతించండి</translation>
 <translation id="2801230735743888564">పరికరం ఆఫ్‌లైన్‌లో ఉన్నప్పుడు డైనోసార్ ఈస్టర్ ఎగ్ గేమ్ ఆడటానికి వినియోగదారులను అనుమతిస్తుంది.
@@ -857,7 +857,7 @@
 
       విధానాన్ని ఒప్పు అని సెట్ చేసినట్లయితే లేదా అస్సలు సెట్ చేయనట్లయితే, వినియోగదారులు తమ స్వంత స్థానిక ప్రింటర్‌లను జోడించగలరు, కాన్ఫిగర్ చేయగలరు మరియు వాటిని ఉపయోగించి ముద్రించగలరు.
 
-      విధానాన్ని తప్పు అని సెట్ చేసినట్లయితే, వినియోగదారులు తమ స్వంత స్థానిక ప్రింటర్‌లను జోడించలేరు మరియు కాన్ఫిగర్ చేయలేరు. మునుపు కాన్ఫిగర్ చేయబడిన స్థానిక ప్రింటర్‌లు వేటినైనా ఉపయోగించి కూడా వారు ముద్రించలేరు.
+      విధానాన్ని తప్పు అని సెట్ చేసినట్లయితే, వినియోగదారులు తమ స్వంత స్థానిక ప్రింటర్‌లను జోడించలేరు మరియు కాన్ఫిగర్ చేయలేరు. వారు మునుపు కాన్ఫిగర్ చేయబడిన స్థానిక ప్రింటర్‌లు వేటినైనా ఉపయోగించి కూడా ముద్రించలేరు.
       </translation>
 <translation id="2805707493867224476">పాప్-అప్‌లను చూపించడానికి అన్ని సైట్‌లను అనుమతించు</translation>
 <translation id="2808013382476173118">రిమోట్ క్లయింట్‌లు ఈ మెషీన్‌కు కనెక్షన్‌ను ఏర్పాటు చేయడానికి ప్రయత్నిస్తున్నప్పుడు STUN సర్వర్‌ల వినియోగాన్ని ప్రారంభిస్తుంది.
@@ -899,7 +899,7 @@
 <translation id="2890645751406497668">పేర్కొనబడిన విక్రేత మరియు ఉత్పత్తి IDలతో USB పరికరాలకు కనెక్ట్ చేయడానికి ఈ సైట్‌లకు అనుమతిని ఆటోమేటిక్‌గా మంజూరు చేయండి.</translation>
 <translation id="2892414556511568464">ముద్రణ డూప్లెక్స్ మోడ్‌ను నియంత్రిస్తుంది. సెట్ చేయని విధానం మరియు ఖాళీ సెట్‌లు పరిమితి లేనివిగా పరిగణించబడతాయి.</translation>
 <translation id="2893546967669465276">నిర్వహణ సర్వర్‌కు సిస్టమ్ లాగ్‌లను పంపుతుంది</translation>
-<translation id="2899002520262095963">ఈ విధానం ద్వారా సెట్ చేయబడిన నెట్‌వర్క్ కాన్ఫిగరేషన్‌లు మరియు CA సర్టిఫికెట్‌లను Android యాప్‌లు ఉపయోగించవచ్చు, కానీ కొన్ని కాన్ఫిగరేషన్ ఎంపికలను మాత్రం యాక్సెస్ చేయలేవు.</translation>
+<translation id="2899002520262095963">Android యాప్‌లు ఈ విధానం ద్వారా సెట్ చేయబడిన నెట్‌వర్క్ కాన్ఫిగరేషన్‌లు మరియు CA ప్రమాణపత్రాలను ఉపయోగించవచ్చు, కానీ కొన్ని కాన్ఫిగరేషన్ ఎంపికలకు యాక్సెస్ కలిగి ఉండవు.</translation>
 <translation id="290002216614278247">క్లయింట్ సమయం లేదా రోజులోని వినియోగ కోటా ఆధారంగా వినియోగదారు సెషన్‌ని లాక్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
 
           |time_window_limit| వినియోగదారు సెషన్ లాక్ చేయాల్సిన రోజువారీ విండోని పేర్కొంటుంది. మేము వారంలో ప్రతిరోజుకి ఒక నిబంధనకు మాత్రమే మద్దతు ఇస్తాము, కాబట్టి |entries| శ్రేణి పరిమాణంలో 0-7 మధ్య ఉండవచ్చు. |starts_at| మరియు |ends_at| విండో పరిమితిలో ప్రారంభం మరియు ముగింపుగా ఉన్నాయి, |ends_at| అనేది |starts_at| కంటే చిన్నదిగా ఉన్నట్లైతే |time_limit_window| తర్వాతి రోజు ముగుస్తుందని అర్థం. |last_updated_millis| అనేది ఈ నమోదుని చివరిసారిగా అప్‌డేట్ చేసిన UTC సమయ ముద్ర, సమయ ముద్ర పూర్ణాంకంగా సరిపోదు కాబట్టి ఇది స్ట్రింగ్‌గా పంపబడుతుంది.
@@ -928,12 +928,12 @@
       TLS డొమైన్-బౌండ్ స‌ర్టిఫికెట్‌ల‌ ఎక్స్‌టెన్ష‌న్‌ ప్రారంభించబడాలో లేదో పేర్కొంటుంది.
 
       పరీక్షించడం కోసం TLS డొమైన్-బౌండ్ స‌ర్టిఫికెట్‌ల‌ ఎక్స్‌టెన్ష‌న్‌ను ప్రారంభించడానికి ఈ సెట్టింగ్ ఉపయోగించబడుతుంది.  ఈ ప్రయోగాత్మక సెట్టింగ్ భవిష్యత్తులో తీసివేయబడుతుంది.</translation>
-<translation id="2957506574938329824">వెబ్ బ్లూటూత్ API ద్వారా బ్లూటూత్ పరికరాలకు యాక్సెస్ అభ్యర్థించడానికి ఏ సైట్‌ను అనుమతించవద్దు</translation>
+<translation id="2957506574938329824">వెబ్ బ్లూటూత్ API ద్వారా బ్లూటూత్ పరికరాలకు యాక్సెస్‌ను అభ్యర్థించడానికి సైట్ ఏదీ అనుమతించవద్దు</translation>
 <translation id="2957513448235202597"><ph name="HTTP_NEGOTIATE" /> ప్రమాణీకరణ కోసం ఖాతా రకం</translation>
-<translation id="2959469725686993410">ఎల్లవేళలా సమయ మండలిని నిశ్చయిస్తున్నప్పుడు WiFi ప్రాప్యత పాయింట్‌లను సర్వర్‌కు పంపండి</translation>
+<translation id="2959469725686993410">ఎల్లవేళలా సమయ మండలిని నిశ్చయిస్తున్నప్పుడు WiFi యాక్సెస్ పాయింట్‌లను సర్వర్‌కు పంపండి</translation>
 <translation id="2959898425599642200">ప్రాక్సీ బైపాస్ నియమాలు</translation>
 <translation id="2960128438010718932">కొత్త అప్‌డేట్‌ను వర్తింపజేయడానికి స్టేజింగ్ షెడ్యూల్</translation>
-<translation id="2960691910306063964">రిమోట్ యాక్సెస్‌ హోస్ట్‌ల కోసం PIN రహిత ప్ర‌మాణీకరణను ప్రారంభిస్తుంది లేదా నిలిపివేస్తుంది</translation>
+<translation id="2960691910306063964">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం PIN రహిత ప్రామాణీకరణను ప్రారంభిస్తుంది లేదా నిలిపివేస్తుంది</translation>
 <translation id="2976002782221275500">బ్యాటరీ శక్తితో అమలవుతున్నప్పుడు ఎంత సమయం పాటు వినియోగదారు ఇన్‌పుట్ లేకుంటే స్క్రీన్ కాంతి త‌గ్గుతుందో పేర్కొంటుంది.
 
           ఈ విధానాన్ని సున్నా కంటే ఎక్కువ విలువకు సెట్ చేసినప్పుడు, ఇది <ph name="PRODUCT_OS_NAME" /> స్క్రీన్‌‍ కాంతిని త‌గ్గించ‌డానికి ముందు తప్పనిసరిగా వినియోగదారు ఎంత సమయం పాటు ఇన్‌యాక్టివ్‌గా ఉండాలో పేర్కొంటుంది.
@@ -969,7 +969,7 @@
       ఒకవేళ ఏ ఒక్క అంశం కూడా ${url}ని కలిగి లేకుంటే, URL ఆదేశ- పంక్తి వరుస చివరన జత చేయబడుతుంది.
 
       ఆవరణ వేరియబుల్‌లు విస్తరించబడ్డాయి. Windowsలో, %ABC% అనేది ABC ఆవరణ వేరియబుల్‌తో భర్తీ చేయబడుతుంది. అయితే Mac OS Xలో మరియు Linuxలలో, ${ABC} అనేది ABC ఆవరణ వేరియబుల్‌తో భర్తీ చేయబడుతుంది.</translation>
-<translation id="3048744057455266684">ఈ విధానాన్ని సెట్ చేసి ఉండి, ఓమ్నిబాక్స్ నుండి సూచించబడిన శోధన URL యొక్క ప్రశ్న స్ట్రింగ్ లేదా భాగం ఐడెంటిఫైయర్‌లో ఈ పారామీటర్ ఉంటే, సూచనలో ముడి శోధన URLకు బదులుగా శోధన పదాలు మరియు శోధన ప్రదాత చూపబడతాయి.
+<translation id="3048744057455266684">ఈ విధానాన్ని సెట్ చేసినప్పుడు, ఓమ్నిబాక్స్ నుండి సూచించబడిన శోధన URL యొక్క ప్రశ్న స్ట్రింగ్ లేదా భాగం ఐడెంటిఫైయర్‌లో ఈ పారామీటర్ ఉంటే, సూచనలో ముడి శోధన URLకు బదులుగా శోధన పదాలు మరియు శోధన ప్రదాత చూపబడతాయి.
 
           ఈ విధానం ఐచ్ఛికం. సెట్ చేయకుంటే, శోధన పద భర్తీ అమలు చేయబడదు.
 
@@ -1019,7 +1019,7 @@
 
 ఈ సెట్టింగ్‌ను సెట్ చేయకుండా వదిలేస్తే <ph name="PRODUCT_NAME" /> వినియోగదారు స్థాయి స్థానిక సందేశ హోస్ట్‌ల వినియోగాన్ని అనుమతిస్తుంది.</translation>
 <translation id="3185009703220253572"><ph name="SINCE_VERSION" />వ సంస్కరణ నుండి</translation>
-<translation id="3187220842205194486">Android అనువర్తనాలు కార్పొరేట్ కీలకు ప్రాప్యత పొందలేవు. ఈ విధానం వాటిపై ఎలాంటి ప్రభావాన్ని చూపదు.</translation>
+<translation id="3187220842205194486">Android యాప్‌లు కార్పొరేట్ కీలకు యాక్సెస్ పొందలేవు. ఈ విధానం వాటిపై ఎలాంటి ప్రభావాన్ని చూపదు.</translation>
 <translation id="3201273385265130876"><ph name="PRODUCT_NAME" /> ద్వారా ఉపయోగించబడే ప్రాక్సీ సర్వర్‌ను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రాక్సీ సెట్టింగ్‌లను మార్చనీయకుండా వినియోగదారులను నిరోధిస్తుంది.
 
           మీరు ప్రాక్సీ సర్వర్‌ను ఎప్పటికీ ఉపయోగించకూడదని, ఎల్లప్పుడూ నేరుగా కనెక్ట్ చేయాలని ఎంచుకుంటే, అన్ని ఇతర ఎంపికలు విస్మరింపబడతాయి.
@@ -1066,15 +1066,15 @@
       ఈ సెట్టింగ్ ప్రారంభించబడినా లేదా కాన్ఫిగర్ చేయకపోయినా, వినియోగదారులు వారి Google ఖాతాతో ప్రామాణీకరణ ద్వారా క్లౌడ్ ప్రింట్ ప్రాక్సీని ప్రారంభించవచ్చు.
 
       ఈ సెట్టింగ్‌ను నిలిపివేస్తే, వినియోగదారులు ప్రాక్సీని ప్రారంభించలేరు మరియు మెషీన్ దాని ప్రింటర్‌లను <ph name="CLOUD_PRINT_NAME" />తో షేర్ చేయడానికి అనుమతించబడదు.</translation>
-<translation id="3307746730474515290">ఏయే యాప్‌/ఎక్స్‌టెన్ష‌న్‌ రకాలను ఇన్‌స్టాల్ చేసేందుకు అనుమతించాలో నియంత్రిస్తుంది మరియు అమలు సమయ యాక్సెస్‌ను పరిమితం చేస్తుంది.
+<translation id="3307746730474515290">ఏయే ఆప్/ఎక్సటెన్షన్ రకాలను ఇన్‌స్టాల్ చేసేందుకు అనుమతించాలో నియంత్రిస్తుంది మరియు అమలు సమయ ఆక్సెస్‌ని పరిమితం చేస్తుంది.
 
-          <ph name="PRODUCT_NAME" />లో ఇన్‌స్టాల్ చేయగల ఎక్స్‌టెన్ష‌న్‌/యాప్‌‌ల రకాలను మరియు అవి పరస్పర చర్య చేయగల హోస్ట్‌లను ఈ సెట్టింగ్ అనుమతిస్తుంది. విలువ అనేది స్ట్రింగ్‌ల‌ జాబితా. ఇందులోని ప్రతిదీ కింది వాటిలో ఒకటి అయి ఉండాలి: "ఎక్స్‌టెన్ష‌న్‌", "థీమ్", "వినియోగదారు_స్క్రిప్ట్", "హోస్ట్ చేసిన_యాప్‌", "ప్యాకేజీలోని_లెగసీ_యాప్‌", "ప్లాట్‌ఫారమ్_యాప్‌". ఈ రకాలకు సంబంధించిన మరింత సమాచారం కావాలంటే, <ph name="PRODUCT_NAME" /> ఎక్స్‌టెన్ష‌న్‌ల పత్రాలను చూడండి.
+          <ph name="PRODUCT_NAME" />లో ఇన్‌స్టాల్ చేయగల ఎక్సటెన్షన్/యాప్‌ల రకాలను మరియు అవి పరస్పర చర్య చేయగల హోస్ట్‌లను ఈ సెట్టింగ్ అనుమతిస్తుంది. విలువ అనేది పదబంధాల జాబితా, ప్రతి దానిలో కింది వాటిలో ఒకటి ఉండాలి: "ఎక్సటెన్షన్", "థీమ్", "వినియోగదారు_స్క్రిప్ట్", "హోస్ట్ చేసిన_ఆప్", "ప్యాకేజీలోని_లెగసీ_ఆప్", "ప్లాట్‌ఫారమ్_ఆప్". ఈ రకాలకు సంబంధించిన మరింత సమాచారం కావాలంటే, <ph name="PRODUCT_NAME" /> ఎక్సటెన్షన్‌ల పత్రాలను చూడండి.
 
-          గ‌మ‌నిక‌: ఈ విధానం కారణంగా యాప్‌‌లు మరియు ఎక్స్‌టెన్ష‌న్‌లు ExtensionInstallForcelist ద్వారా నిర్బంధంగా ఇన్‌స్టాల్ చేయబడేలా కూడా ప్రభావం పడుతుంది.
+          గమనించండి, ఈ విధానం కారణంగా ఆప్‌లు మరియు ఎక్సటెన్షన్‌లు ExtensionInstallForcelist ద్వారా నిర్బంధంగా ఇన్‌స్టాల్ చేయబడేలా కూడా ప్రభావం పడుతుంది.
 
-          ఈ సెట్టింగ్‌ను కాన్ఫిగర్ చేస్తే, జాబితాలో లేని రకాన్ని కలిగిన ఎక్స్‌టెన్ష‌న్‌లు/యాప్‌‌లు ఇన్‌స్టాల్ చేయబడవు.
+          ఈ సెట్టింగ్‌ని కాన్ఫిగర్ చేస్తే, జాబితాలో లేని రకాన్ని కలిగిన ఎక్సటెన్షన్‌లు/ఆప్‌లు ఇన్‌స్టాల్ చేయబడవు.
 
-          ఈ సెట్టింగ్‌లు కాన్ఫిగర్ చేయకుండా వదిలివేస్తే, ఆమోదించగల ఎక్స్‌టెన్ష‌న్‌/యాప్‌ రకాలపై పరిమితులు విధించబడవు.</translation>
+          ఈ సెట్టింగ్‌లు కాన్ఫిగర్ చేయకుండా వదిలివేస్తే, ఆమోదించగల ఎక్సటెన్షన్/ఆప్ రకాలపై పరిమితులు విధించబడవు.</translation>
 <translation id="3322771899429619102">కీ ఉత్పాదనను ఉపయోగించడానికి అనుమతించబడే సైట్‌లను పేర్కొనే url నమూనాల జాబితాను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఒకవేళ url నమూనా 'KeygenBlockedForUrls'లో ఉంటే, అది ఈ మినహాయింపులను అధిగ‌మిస్తుంది.
 
           ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, అన్ని సైట్‌ల కోసం 'DefaultKeygenSetting' విధానం సెట్ చేసి ఉంటే, దాని నుండి లేదా వినియోగదారు వ్యక్తిగత కాన్ఫిగరేషన్ నుండి సార్వజనీన డిఫాల్ట్ విలువ ఉపయోగించబడుతుంది.</translation>
@@ -1185,7 +1185,7 @@
 Quirks Serverని సంప్రదించి, అందుబాటులో ఉన్న పక్షంలో కాన్ఫిగరేషన్ ఫైల్‌లను డౌన్‌లోడ్ చేసి, ఆపై వాటిని పరికరంలో నిల్వ చేస్తుంది. అటువంటి ఫైల్‌లు జోడించబడిన మానిటర్‌ల డిస్‌ప్లే నాణ్యతను మెరుగుపరచడం మొదలైన వాటి కోసం ఉపయోగించబడవచ్చు.</translation>
 <translation id="3524204464536655762">WebUSB API ద్వారా USB పరికరాలకు యాక్సెస్‌ని అభ్యర్థించడానికి ఏ సైట్‌నీ అనుమతించదు</translation>
 <translation id="3526752951628474302">మోనోక్రోమ్ ముద్రణ మాత్రమే</translation>
-<translation id="3528000905991875314">ప్రత్యామ్నాయ ఎర్ర‌ర్‌ పేజీలను ప్రారంభించు</translation>
+<translation id="3528000905991875314">ప్రత్యామ్నాయ ఎర్రర్ పేజీలని ప్రారంభించు</translation>
 <translation id="3545457887306538845">డెవలపర్ సాధనాలను ఎక్కడ ఉపయోగించవచ్చో నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తుంది.
 
       ఒకవేళ ఈ విధానాన్ని 'DeveloperToolsDisallowedForForceInstalledExtensions' (విలువ 0, ఇదే డిఫాల్ట్‌గా ఉండేది) ఎంపికకు సెట్ చేస్తే, డెవలపర్ సాధనాలు మరియు JavaScript కన్సోల్‌ను సాధారణ రీతిలో యాక్సెస్ చేయవచ్చు, కానీ ఎంటర్‌ప్రైజ్ విధానంలో ఇన్‌స్టాల్ అయిన ఎక్సెటెన్షన్‌ల సందర్భంలో వాటిని యాక్సెస్ చేయలేరు.
@@ -1251,9 +1251,9 @@
 <translation id="3758249152301468420">డెవలపర్ ఉపకరణాలని ఆపివేయి</translation>
 <translation id="3764248359515129699">జాబితాలోని లెగసీ సర్టిఫికెట్ అధికారాల కోసం సర్టిఫికెట్ పారదర్శకత ఆవశ్యకాల అమలును నిలిపివేస్తుంది.
 
-      పేర్కొన్న subjectPublicKeyInfo హాష్‌లు ఉన్న సర్టిఫికెట్‌లను కలిగి ఉన్న సర్టిఫికెట్ చైన్‌ల కోసం, సర్టిఫికెట్ పారదర్శకత బహిర్గతం ఆవశ్యకాలను నిలిపివేయడాన్ని ఈ విధానం అనుమతిస్తుంది. ఎంటర్‌ప్రైజ్ హోస్ట్‌ల కోసం ఇది పబ్లిక్‌గా సక్రమమైన రీతిలో బహిరంగపరచబడని అవిశ్వసనీయమైన సర్టిఫికెట్‌లను ఉపయోగించడానికి అనుమతిస్తుంది.
+      పేర్కొన్న subjectPublicKeyInfo హాష్‌లు ఉన్న సర్టిఫికెట్‌లను కలిగి ఉన్న సర్టిఫికెట్ చైన్‌ల కోసం సర్టిఫికెట్ పారదర్శకతను బహిర్గతం ఆవశ్యకాలను నిలిపివేయడాన్ని ఈ విధానం అనుమతిస్తుంది. ఎంటర్‌ప్రైజ్ హోస్ట్‌ల కోసం ఇది పబ్లిక్‌గా సక్రమమైన రీతిలో బహిరంగపరచబడని అవిశ్వసనీయమైన సర్టిఫికెట్‌లను ఉపయోగించడానికి అనుమతిస్తుంది.
 
-      ఈ విధానం సెట్ చేయబడినప్పుడు సర్టిఫికెట్ పారదర్శకత అమలు నిలిపివేయడానికి, హాష్ తప్పనిసరిగా లెగసీ సర్టిఫికెట్ అధికారం (CA) లాగా గుర్తించబడిన CA సర్టిఫికెట్‌లో కనిపిస్తున్న subjectPublicKeyInfoగా ఉండాలి. లెగసీ CA అనేది <ph name="PRODUCT_NAME" /> ద్వారా మద్దతు ఉన్న ఒకటి లేదా మరిన్ని ఆపరేటింగ్ సిస్టమ్‌ల ద్వారా పబ్లిక్‌గా విశ్వసించబడిన CA, కానీ Android ఓపెన్ సోర్స్ ప్రాజెక్ట్ లేదా <ph name="PRODUCT_OS_NAME" /> ద్వారా విశ్వసించినది కాదు.
+      ఈ విధానం సెట్ చేయబడినప్పుడు, సర్టిఫికెట్ పారదర్శకత అమలును నిలిపివేయడానికి, హాష్ తప్పనిసరిగా లెగసీ సర్టిఫికెట్ అధికారం (CA) లాగా గుర్తించబడిన CA సర్టిఫికెట్‌లో కనిపిస్తున్న subjectPublicKeyInfoగా ఉండాలి. లెగసీ CA అనేది <ph name="PRODUCT_NAME" /> ద్వారా మద్దతు ఉన్న ఒకటి లేదా మరిన్ని ఆపరేటింగ్ సిస్టమ్‌ల ద్వారా పబ్లిక్‌గా విశ్వసించబడిన CA, కానీ Android ఓపెన్ సోర్స్ ప్రాజెక్ట్ లేదా <ph name="PRODUCT_OS_NAME" /> ద్వారా విశ్వసించినది కాదు.
 
       subjectPublicKeyInfo హాష్ అనేది అల్గారిథమ్ పేరు, "/" అక్షరం మరియు పేర్కొన్న సర్టిఫికెట్ యొక్క DER-ఎన్‌కోడెడ్ subjectPublicKeyInfoకు వర్తింపజేయబడిన హాష్ అల్గారిథమ్ యొక్క Base64 ఎన్‌కోడింగ్‍‌తో పాటు పేర్కొనబడుతుంది. ఈ Base64 ఎన్‌కోడింగ్ అనేది SPKI వేలిముద్రలా, RFC 7469, విభాగం 2.4లో నిర్వచించిన విధంగా ఉండే ఫార్మాట్. గుర్తించబడని హాష్ అల్గారిథమ్‌లు విస్మరించబడతాయి. ఈ సమయంలో మద్దతు ఉన్న ఒకే ఒక అల్గారిథమ్ "sha256".
 
@@ -1297,12 +1297,12 @@
           మీరు ఈ విధానాన్ని సెట్ చేస్తే, వినియోగదారులు దీన్ని మార్చలేరు లేదా అధిగ‌మించ‌లేరు.
 
           ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, స్క్రీన్‌పైన‌ కీబోర్డ్ ప్రారంభంలో నిలిపివేయబడుతుంది కానీ వినియోగదారు ఎప్పుడైనా ప్రారంభించవచ్చు.</translation>
-<translation id="382476126209906314">రిమోట్ యాక్సెస్‌ హోస్ట్‌ల కోసం TalkGadget ప్రిఫిక్స్‌ను కాన్ఫిగర్ చేస్తుంది</translation>
-<translation id="3831376478177535007">ఈ సెట్టింగ్ ప్రారంభించబడినట్లయితే, <ph name="PRODUCT_NAME" /> Symantec Corporation యొక్క Legacy PKI ఆపరేషన్స్ ద్వారా జారీ చేయబడిన సర్టిఫికేట్‌లను విశ్వసించడానికి అనుమతిస్తుంది, అయితే అవి విజయవంతంగా ధృవీకరించబడాలి మరియు CA సర్టిఫికేట్‌కి అనుబంధంగా ఉండాలి.
+<translation id="382476126209906314">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం TalkGadget ఆదిప్రత్యయాన్ని కాన్ఫిగర్ చేస్తుంది</translation>
+<translation id="3831376478177535007">ఈ సెట్టింగ్‌ను ప్రారంభించినట్లయితే, <ph name="PRODUCT_NAME" /> Symantec Corporation యొక్క Legacy PKI ఆపరేషన్స్ ద్వారా జారీ చేయబడిన సర్టిఫికెట్‌లను విశ్వసించడానికి అనుమతిస్తుంది, అయితే అవి విజయవంతంగా ధృవీకరించబడాలి మరియు CA సర్టిఫికెట్‌కు అనుబంధంగా ఉండాలి.
 
-      ఈ విధానం ఆపరేటింగ్ సిస్టమ్‌ ఇప్పటికీ Symantec యొక్క లెగసీ ఇన్‌ఫ్రాస్ట్రక్చర్ జారీ చేసిన సర్టిఫికేట్‌లను గుర్తించడం పై ఆధారపడి ఉంటుందని గమనించండి. OS అప్‌డేట్ కారణంగా అటువంటి సర్టిఫికేట్‌ల OS నిర్వహణ మారినట్లయితే, ఆపై ఈ విధానం ప్రభావం చూపదు. ఆ తర్వాత, లెగసీ Symantec సర్టిఫికేట్‌ల నుండి మార్పిడి చేయడం కోసం ఎంటర్‌ప్రైజ్‌లకు మరింత సమయం ఇవ్వడం కోసం ఈ విధంగా ఒక తాత్కాలిక సేవ లాగా అందుబాటులో ఉంటుంది. 1 జనవరి 2019న లేదా కొంచెం అటుఇటుగా ఈ విధానం తీసివేయబడుతుంది.
+      ఈ విధానం ఆపరేటింగ్ సిస్టమ్‌ ఇప్పటికీ Symantec యొక్క లెగసీ ఇన్‌ఫ్రాస్ట్రక్చర్ జారీ చేసిన సర్టిఫికెట్‌లను గుర్తించడం పై ఆధారపడి ఉంటుందని గమనించండి. OS అప్‌డేట్ కారణంగా అటువంటి సర్టిఫికెట్‌ల OS నిర్వహణ మారినట్లయితే, ఆపై ఈ విధానం ప్రభావం చూపదు. ఆ తర్వాత, లెగసీ Symantec సర్టిఫికెట్‌ల నుండి మార్పిడి చేయడం కోసం ఎంటర్‌ప్రైజ్‌లకు మరింత సమయం ఇవ్వడం కోసం ఈ విధంగా ఒక తాత్కాలిక సేవ లాగా అందుబాటులో ఉంటుంది. 1 జనవరి 2019న లేదా కొంచెం అటుఇటుగా ఈ విధానం తీసివేయబడుతుంది.
 
-      ఈ విధానాన్ని సెట్ చేయకుంటే లేదా తప్పు లాగా సెట్ చేసినట్లయితే, పబ్లిక్‌గా ప్రకటించిన విస్మరణ షెడ్యూల్‌ని <ph name="PRODUCT_NAME" /> అనుసరిస్తుంది.
+      ఈ విధానాన్ని సెట్ చేయకుంటే లేదా తప్పు లాగా సెట్ చేసినట్లయితే, పబ్లిక్‌గా ప్రకటించిన విస్మరణ షెడ్యూల్‌ను <ph name="PRODUCT_NAME" /> అనుసరిస్తుంది.
 
       ఈ విస్మరణకు సంబంధించిన మరిన్ని వివరాల కోసం https://g.co/chrome/symantecpkicertsని చూడండి.</translation>
 <translation id="383466854578875212">బ్లాక్‌లిస్ట్‌కు లోబడి ఉండనవసరం లేని స్థానిక సందేశ పద్ధతి హోస్ట్‌లను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది.
@@ -1331,7 +1331,7 @@
 
           Google సూచిత URLను ఇలా పేర్కొనవచ్చు: <ph name="GOOGLE_SUGGEST_SEARCH_URL" />.
 
-          'DefaultSearchProviderEnabled' విధానాన్ని ప్రారంభించినప్పుడు మాత్రమే ఈ విధానం వర్తిస్తుంది.</translation>
+          'DefaultSearchProviderEnabled' విధానాన్ని ప్రారంభించినప్పుడు మాత్రమే ఈ విధానం పరిగణించబడుతుంది.</translation>
 <translation id="3864129983143201415">వినియోగదారు సెషన్‌లో అనుమతించాల్సిన భాషలను కాన్ఫిగర్ చేయండి</translation>
 <translation id="3866249974567520381">వివరణ</translation>
 <translation id="3868347814555911633">ఈ విధానం రిటైల్ మోడ్‌లో మాత్రమే యాక్టివ్‌గా ఉంటుంది.
@@ -1391,11 +1391,11 @@
 <translation id="3984028218719007910">లాగ్ అవుట్ చేసిన తర్వాత స్థానిక ఖాతా డేటాను <ph name="PRODUCT_OS_NAME" /> ఉంచుతుందో లేదో నిర్ధారిస్తుంది. ఒప్పున‌కు సెట్ చేయబడితే, <ph name="PRODUCT_OS_NAME" /> ద్వారా నిరంతర ఖాతాలు ఉండబడవు. వినియోగదారు సెషన్ నుండి మొత్తం డేటా, లాగ్ అవుట్ చేయబడిన తర్వాత విస్మరించబ‌డుతుంది. ఈ విధానం తప్పున‌కు సెట్ చేయబడితే లేదా కాన్ఫిగర్ చేయబడితే, పరికరం స్థానిక వినియోగదారు డేటాను ఉంచవచ్చు (ఎన్‌క్రిప్ట్ చేయ‌బ‌డుతుంది).</translation>
 <translation id="398475542699441679">లెగసీ బ్రౌజర్ మద్దతును ప్రారంభించాలో లేదో ఈ విధానం నియంత్రిస్తుంది.
 
-      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేసినప్పుడు లేదా తప్పుకు సెట్ చేసినప్పుడు, Chrome నిర్దేశిత URLలను ప్రత్యామ్నాయ బ్రౌజర్‌లో ప్రారంభించడానికి ప్రయత్నించదు.
+      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేసినప్పుడు లేదా తప్పునకు సెట్ చేసినప్పుడు, Chrome నిర్దేశిత URLలను ప్రత్యామ్నాయ బ్రౌజర్‌లో ప్రారంభించడానికి ప్రయత్నించదు.
 
-      ఈ విధానాన్ని ఒప్పుకు సెట్ చేసినప్పుడు, Chrome కొన్ని URLలను (Internet Explorer లాంటి) ప్రత్యామ్నాయ బ్రౌజర్‌లో ప్రారంభించడానికి ప్రయత్నిస్తుంది. ఈ ఫీచర్ <ph name="LEGACY_BROWSER_SUPPORT_POLICY_GROUP" /> గుంపులోని విధానాలను ఉపయోగించి కాన్ఫిగర్ చేయబడుతుంది.
+      ఈ విధానాన్ని ఒప్పునకు సెట్ చేసినప్పుడు, Chrome కొన్ని URLలను (Internet Explorer లాంటి) ప్రత్యామ్నాయ బ్రౌజర్‌లో ప్రారంభించడానికి ప్రయత్నిస్తుంది. ఈ ఫీచర్ <ph name="LEGACY_BROWSER_SUPPORT_POLICY_GROUP" /> గుంపులోని విధానాలను ఉపయోగించి కాన్ఫిగర్ చేయబడుతుంది.
 
-      ఈ ఫీచర్ <ph name="LEGACY_BROWSER_SUPPORT_EXTENSION_NAME" /> ఎక్స్‌టెన్షన్‌ను భర్తీ చేస్తుంది. ఎక్స్‌టెన్షన్ నుండి కాన్ఫిగరేషన్ ఈ ఫీచర్‌కు అమలు చేయబడుతుంది, కానీ దానికి బదులుగా Chrome విధానాలను ఉపయోగించాల్సిందిగా బలంగా సూచిస్తున్నాము. ఇది భవిష్యత్తులో మెరుగైన అనుకూలత సామర్థ్యం అందించడానికి అవకాశం ఉంటుంది.</translation>
+      ఈ ఫీచర్ <ph name="LEGACY_BROWSER_SUPPORT_EXTENSION_NAME" /> ఎక్స్‌టెన్షన్‌ను భర్తీ చేస్తుంది. ఎక్స్‌టెన్షన్ నుండి కాన్ఫిగరేషన్ ఈ ఫీచర్‌కు అమలు చేయబడుతుంది, కానీ దానికి బదులుగా Chrome విధానాలను ఉపయోగించాల్సిందిగా గట్టిగా సూచిస్తున్నాము. ఇది భవిష్యత్తులో మెరుగైన అనుకూలత సామర్థ్యం అందించడానికి అవకాశం ఉంటుంది.</translation>
 <translation id="3997519162482760140">SAML లాగిన్ పేజీల్లో వీడియో సంగ్రహణ పరికరాలకు యాక్సెస్ మంజూరు చేయబడే URLలు</translation>
 <translation id="4001275826058808087">Chrome OS నమోదు ద్వారా ఆఫర్‌లను రీడీమ్ చేయడానికి వినియోగదారులను అనుమతించాలా లేదా అనేదాన్ని నియంత్రించడానికి ఎంటర్‌ప్రైజ్ పరికరాల కోసం IT నిర్వాహకులు ఈ ఫ్లాగ్‌ను ఉపయోగించవచ్చు .
 
@@ -1443,9 +1443,9 @@
           విధానం విలువను మిల్లీసెకన్లలో పేర్కొనాలి.</translation>
 <translation id="4105989332710272578">జాబితాలోని URLల కోసం ప్రమాణపత్రం పారదర్శకత అమలును నిలిపివేయండి</translation>
 <translation id="4121350739760194865">యాప్ ప్రచారాలు కొత్త ట్యాబ్ పేజీలో కనిపించడాన్ని నిరోధించండి</translation>
-<translation id="4125606414556046117">ఈ విధానం వినియోగదారు కోసం డెస్క్‌టాప్‌పై మరియు లాగిన్ స్క్రీన్ బ్యాక్‌గ్రౌండ్‌లో చూపబడే వాల్‌పేపర్ చిత్రాన్ని కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. <ph name="PRODUCT_OS_NAME" /> వాల్‌పేపర్ చిత్రాన్ని డౌన్‌లోడ్ చేసుకోగల URLను పేర్కొనడం ద్వారా విధానం సెట్ చేయబడుతుంది. డౌన్‌లోడ్ సమగ్రతను ధృవీకరించడానికి క్రిప్టోగ్రాఫిక్ హాష్ ఉపయోగించబడుతుంది. చిత్రం తప్పనిసరిగా JPEG ఫార్మాట్‌లో ఉండాలి. దీని పరిమాణం 16MBని మించకూడదు. URL తప్పనిసరిగా ఎటువంటి ప్రామాణీకరణ లేకుండా యాక్సెస్‌ చేసే విధంగా ఉండాలి.
+<translation id="4125606414556046117">ఈ విధానం వినియోగదారు కోసం డెస్క్‌టాప్‌పై మరియు లాగిన్ స్క్రీన్ నేపథ్యంలో చూపబడే వాల్‌పేపర్ చిత్రాన్ని కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. <ph name="PRODUCT_OS_NAME" /> వాల్‌పేపర్ చిత్రాన్ని డౌన్‌లోడ్ చేసుకోగల URLను పేర్కొనడం ద్వారా విధానం సెట్ చేయబడుతుంది మరియు డౌన్‌లోడ్‌ను ధృవీకరించడానికి క్రిప్టోగ్రాఫిక్ హాష్ ఉపయోగించబడుతుంది. చిత్రం తప్పనిసరిగా JPEG ఫార్మాట్‌లో ఉండాలి, దీని పరిమాణం 16MBని మించకూడదు. URL తప్పనిసరిగా ఎటువంటి ప్రమాణీకరణ లేకుండా యాక్సెస్ చేసే విధంగా ఉండాలి.
 
-వాల్‌పేపర్ చిత్రం డౌన్‌లోడ్ చేయబడుతుంది. కాష్ చేయబడుతుంది. URL లేదా హాష్ మారినప్పుడల్లా అది మళ్లీ డౌన్‌లోడ్ చేయబడుతుంది.
+వాల్‌పేపర్ చిత్రం డౌన్‌లోడ్ చేయబడి కాష్ చేయబడుతుంది. URL లేదా హాష్ మారినప్పుడల్లా అది మళ్లీ డౌన్‌లోడ్ చేయబడుతుంది.
 
 విధానాన్ని కింది స్కీమాకు కట్టుబడి ఉండే విధంగా JSON ఫార్మాట్‌లో URL మరియు హాష్‌ను వ్యక్తపరిచే స్ట్రింగ్ రూపంలో పేర్కొనాలి:
       {
@@ -1465,25 +1465,25 @@
 ఈ విధానాన్ని సెట్ చేస్తే, <ph name="PRODUCT_OS_NAME" /> వాల్‌పేపర్‌ చిత్రాన్ని డౌన్‌లోడ్ చేస్తుంది మరియు ఉపయోగిస్తుంది.
 
       
-మీరు ఈ విధానాన్ని సెట్ చేస్తే, వినియోగదారులు దీన్ని మార్చలేరు లేదా అధిగ‌మించ‌లేరు.
+మీరు ఈ విధానాన్ని సెట్ చేస్తే, వినియోగదారులు దీనిని మార్చలేరు లేదా భర్తీ చేయలేరు.
 
-విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, వినియోగదారు డెస్క్‌టాప్‌పై మరియు లాగిన్ స్క్రీన్ బ్యాక్‌గ్రౌండ్‌లో ప్రదర్శించడం కోసం చిత్రాన్ని ఎంచుకోవచ్చు.</translation>
+విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, వినియోగదారు డెస్క్‌టాప్‌పై మరియు లాగిన్ స్క్రీన్ నేపథ్యంలో ప్రదర్శించడం కోసం చిత్రాన్ని ఎంచుకోవచ్చు.</translation>
 <translation id="412697421478384751">లాక్ స్క్రీన్‌ పిన్‌కు వినియోగదారులు బలహీనమైన పిన్‌లను సెట్ చేయగలిగేలా అనుమతించండి</translation>
 <translation id="4138655880188755661">సమయ పరిమితి</translation>
 <translation id="4150201353443180367">డిస్‌ప్లే</translation>
 <translation id="4157003184375321727">OS మరియు ఫర్మ్‌వేర్ వెర్షన్‌ను నివేదించు</translation>
 <translation id="4157594634940419685">స్థానిక CUPS ప్రింటర్‌లకు యాక్సెస్‌ని అనుమతించండి</translation>
-<translation id="4163705126749612234">రిమోట్ యాక్సెస్‌ క్లయింట్‌లపై విధించబడే అవసరమైన క్లయింట్ డొమైన్ పేరును కాన్ఫిగర్ చేస్తుంది. దాన్ని మార్చనీయకుండా వినియోగదారులను నిరోధిస్తుంది.
+<translation id="4163705126749612234">రిమోట్ యాక్సెస్ క్లయింట్‌లపై విధించబడే అవసరమైన క్లయింట్ డొమైన్ పేరుని కాన్ఫిగర్ చేస్తుంది మరియు దాన్ని మార్చనీయకుండా వినియోగదారులను నిరోధిస్తుంది.
 
-ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు కేవలం నిర్దిష్ట డొమైన్‌లలో ఒక దానిలోని క్లయింట్‌లు మాత్రమే హోస్ట్‌కు కనెక్ట్ అవగలగుతాయి.
+ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు కేవలం నిర్దిష్ట డొమైన్‌లలో ఒకదానిలోని క్లయింట్‌లు మాత్రమే హోస్ట్‌కి కనెక్ట్ అవగలగుతాయి.
 
-ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, కనెక్షన్ రకం కోసం డిఫాల్ట్ విధానం వర్తింపజేయబడుతుంది. రిమోట్ సహాయం కోసం, ఏ డొమైన్‌లోని క్లయింట్‌లు అయినా హోస్ట్‌కు కనెక్ట్ చేయడానికి ఇది అనుమతిస్తుంది; ఏ సమయంలోనైనా రిమోట్ యాక్సెస్‌ కోసం, హోస్ట్ యజమాని మాత్రమే కనెక్ట్ చేయగలరు.
+ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, కనెక్షన్ రకం కోసం డిఫాల్ట్ విధానం వర్తింపజేయబడుతుంది. రిమోట్ సహాయం కోసం, ఏ డొమైన్‌లోని క్లయింట్‌లు అయినా హోస్ట్‌కి కనెక్ట్ చేయడానికి ఇది అనుమతిస్తుంది; ఏ సమయంలోనైనా రిమోట్ యాక్సెస్ కోసం, హోస్ట్ యజమాని మాత్రమే కనెక్ట్ చేయగలరు.
 
-ఒకవేళ ఉంటే ఈ సెట్టింగ్ RemoteAccessHostClientDomainని అధిగ‌మిస్తుంది.
+ఒకవేళ ఉంటే ఈ సెట్టింగ్ RemoteAccessHostClientDomainని భర్తీ చేస్తుంది.
 
-RemoteAccessHostDomainListను కూడా చూడండి.</translation>
+RemoteAccessHostDomainListని కూడా చూడండి.</translation>
 <translation id="4183229833636799228">డిఫాల్ట్ <ph name="FLASH_PLUGIN_NAME" /> సెట్టింగ్</translation>
-<translation id="4192388905594723944">రిమోట్ యాక్సెస్‌ క్లయింట్ ప్రామాణీకరణ టోకెన్‌ను ధృవీకరించే URL</translation>
+<translation id="4192388905594723944">రిమోట్ యాక్సెస్ క్లయింట్ ప్రామాణీకరణ టోకెన్‌ని ధృవీకరించే URL</translation>
 <translation id="4203389617541558220">ఆటోమేటిక్‌ రీబూట్‌లను షెడ్యూల్ చేయడం ద్వారా పరికరం యొక్క లభ్యతను పరిమితం చేయండి.
 
       ఈ విధానాన్ని సెట్ చేసినప్పుడు, ఇది ఆటోమేటిక్‌ రీబూట్ షెడ్యూల్ చేయబడిన తర్వాత పరికరం యొక్క లభ్యత నిడివిని నిర్దేశిస్తుంది.
@@ -1500,7 +1500,7 @@
 <translation id="4203879074082863035">వైట్‌లిస్ట్‌లో ఉన్న ప్రింటర్‌లు మాత్రమే వినియోగదారులకు చూపబడతాయి</translation>
 <translation id="420512303455129789">హోస్ట్‌కు యాక్సెస్ అనుమతించాలో (ఒప్పు) లేదా బ్లాక్ చేయాలో (తప్పు) పేర్కొనే బులియన్ ఫ్లాగ్‌కు URLలను మ్యాప్ చేసే నిఘంటువు.
 
-          ఈ విధానం <ph name="PRODUCT_NAME" /> యొక్క అంతర్గత వినియోగానికి మాత్రమే.</translation>
+          ఈ విధానం <ph name="PRODUCT_NAME" /> యొక్క అంతర్గత ఉపయోగానికి మాత్రమే.</translation>
 <translation id="4224610387358583899">స్క్రీన్ లాక్ ఆలస్యాలు</translation>
 <translation id="423797045246308574">కీ జ‌న‌రేష‌న్‌ను ఉపయోగించడానికి అనుమతించబడని సైట్‌లను పేర్కొనే url నమూనాల జాబితాను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఒకవేళ url నమూనా 'KeygenAllowedForUrls'లో ఉంటే, ఈ విధానం ఈ మినహాయింపులను అధిగ‌మిస్తుంది.
 
@@ -1566,9 +1566,9 @@
       సున్నా లేదా మరిన్ని నిర్హేతుక అక్షరాలతో సరిపోల్చడానికి వైల్డ్‌కార్డ్ అక్షరం '*'ని ఉపయోగించండి. పలాయన అక్షరం '\' అయితే, వాస్తవ '*' లేదా '\' అక్షరాలతో సరిపోల్చడానికి, మీరు వాటి ముందు '\' ఉంచండి.
 
      ఒకవేళ ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, ఆపై పరికరంలోని అన్ని Google ఖాతాలు <ph name="PRODUCT_NAME" />లో కనిపిస్తాయి.</translation>
-<translation id="4360826270668210664">ఈ విధానాన్ని సెట్ చేస్తే, రిమోట్ యాక్సెస్‌ హోస్ట్‌ కనెక్ట్ అయ్యే క్రమంలో క్లయింట్‌లు ఈ URL నుండి ప్రామాణీకరణ టోకెన్‌ను పొందేలా ప్రామాణీకరించడం అవసరం. ఖచ్చితంగా RemoteAccessHostTokenValidationUrlతో కలయికలో ఉపయోగించాలి.
+<translation id="4360826270668210664">ఈ విధానాన్ని సెట్ చేస్తే, రిమోట్ యాక్సెస్ హోస్ట్‌ కనెక్ట్ అయ్యే క్రమంలో క్లయింట్‌లు ఈ URL నుండి ప్రమాణీకరణ టోకెన్‌ను పొందేలా ప్రామాణీకరించడం అవసరం. ఖచ్చితంగా RemoteAccessHostTokenValidationUrlతో కలయికలో ఉపయోగించాలి.
 
-ఈ ఫీచ‌ర్‌ ప్రస్తుతం సర్వర్ త‌ర‌ఫున‌ నిలిపివేయబడింది.</translation>
+ఈ ఫీచర్ ప్రస్తుతం సర్వర్ తరపున నిలిపివేయబడింది.</translation>
 <translation id="436581050240847513">పరికర నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను నివేదించండి</translation>
 <translation id="4372704773119750918">బహుళప్రొఫైల్ (ప్రాథమికం లేదా రెండవది)లో భాగం కావడానికి ఎంటర్‌ప్రైజ్ వినియోగదారుని అనుమతించవద్దు</translation>
 <translation id="4377599627073874279">అన్ని చిత్రాలని చూపించడానికి అన్ని సైట్‌లని అనుమతించు</translation>
@@ -1593,20 +1593,20 @@
 <translation id="4439132805807595336">PluginVmని అమలు చేయడానికి ఈ పరికరాన్ని సిద్ధం చేస్తుంది.
 
       ఒకవేళ ఈ విధానాన్ని తప్పుకు సెట్ చేసినా చేయకున్నా,<ph name="PLUGIN_VM_NAME" /> ఈ పరికరంలో ప్రారంభించబడదు. ఒకవేళ ఒప్పుకు సెట్ చేస్తే, <ph name="PLUGIN_VM_NAME" /> ఈ పరికరంలో ప్రారంభించబడి ఇతర సెట్టింగ్‌లు అనుమతి ఇచ్చినంత సేపు నడుస్తుంది. <ph name="PLUGIN_VM_ALLOWED_POLICY_NAME" /> ఒప్పుకు సెట్ చేసి, <ph name="PLUGIN_VM_LICENSE_KEY_POLICY_NAME" /> మరియు <ph name="PLUGIN_VM_IMAGE_POLICY_NAME" />లను <ph name="PLUGIN_VM_NAME" />కి అనుకూలంగా సెట్ చేసినప్పుడు మాత్రమే అమలు అవుతుంది.</translation>
-<translation id="4439336120285389675">నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫారమ్ ఫీచ‌ర్‌ల‌లో తాత్కాలికంగా మళ్లీ ప్రారంభించాల్సిన వాటి జాబితాను పేర్కొంటుంది.
+<translation id="4439336120285389675">నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫామ్ ఫీచర్‌లలో తాత్కాలికంగా మళ్లీ ప్రారంభించాల్సిన వాటి జాబితాను పేర్కొంటుంది.
 
-      ఈ విధానం వలన నిర్వాహకులు పరిమిత సమయం పాటు నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫారమ్ ఫీచ‌ర్‌ల‌ను మళ్లీ ప్రారంభించగల సామర్థ్యం పొందుతారు. స్ట్రింగ్ ట్యాగ్ ద్వారా ఫీచ‌ర్‌లు గుర్తించబడతాయి. ఈ విధానం ద్వారా పేర్కొనబడిన జాబితాలో చేర్చబడిన ట్యాగ్‌లకు సంబంధించిన ఫీచ‌ర్‌లు మళ్లీ ప్రారంభించబడతాయి.
+      ఈ విధానం వలన నిర్వాహకులు పరిమిత సమయం పాటు నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫామ్ ఫీచర్‌లను మళ్లీ ప్రారంభించగల సామర్థ్యం పొందుతారు. ఫీచర్‌లు స్ట్రింగ్ ట్యాగ్ ద్వారా గుర్తించబడతాయి మరియు ఈ విధానం ద్వారా పేర్కొనబడిన జాబితాలో చేర్చబడిన ట్యాగ్‌లకు సంబంధించిన ఫీచర్‌లు మళ్లీ ప్రారంభించబడతాయి.
 
-      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే లేదా జాబితా ఖాళీగా ఉంటే లేదా మద్దతు ఉన్న స్ట్రింగ్ ట్యాగ్‌ల్లో ఒకదానితో సరిపోలకుంటే, నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫారమ్ ఫీచ‌ర్‌లు అన్నీ అలాగే నిలిపివేయబడి ఉంటాయి.
+      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే లేదా జాబితా ఖాళీగా ఉంటే లేదా మద్దతు ఉన్న స్ట్రింగ్ ట్యాగ్‌లలో ఒకదానితో సరిపోలకుంటే, అన్ని నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫామ్ ఫీచర్‌లు అలాగే నిలిపివేయబడి ఉంటాయి.
 
-      ఎగువ ప్లాట్‌ఫారమ్‌ల్లో విధానానికి మద్దతు ఉన్నప్పుడు, విధానం అనుమతించే ఫీచ‌ర్ కొన్ని ప్లాట్‌ఫారమ్‌ల్లో మాత్ర‌మే అందుబాటులో ఉండవచ్చు. నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫారమ్ ఫీచ‌ర్‌లు అన్నీ మళ్లీ ప్రారంభించబడవు. దిగువ స్పష్టంగా జాబితా చేసినవి మాత్రమే పరిమిత సమయం పాటు ఉండగలవు, ఇవి ప్రతి లక్షణానికి భిన్నంగా ఉంటాయి. స్ట్రింగ్ ట్యాగ్ సాధారణ ఆకృతి [DeprecatedFeatureName]_EffectiveUntil[yyyymmdd]. ఒక‌ సూచనగా, మీరు https://bit.ly/blinkintentsలో వెబ్ ప్లాట్‌ఫారమ్ లక్షణాల మార్పుల ఉద్దేశాన్ని తెలుసుకోవచ్చు.
+      విధానానికి ఎగువ ప్లాట్‌ఫామ్‌లలో మద్దతు ఉన్నప్పుడు, విధానం అనుమతించే ఫీచర్ కొన్ని ప్లాట్‌ఫామ్‌లలో అందుబాటులో ఉండవచ్చు. అన్ని నిలిపివేయబడిన వెబ్ ప్లాట్‌ఫామ్ ఫీచర్‌లు మళ్లీ ప్రారంభించబడవు. దిగువ స్పష్టంగా జాబితా చేసినవి మాత్రమే పరిమిత సమయం పాటు ఉండగలవు, ఇవి ఒక్కో ఫీచర్‌కు భిన్నంగా ఉంటాయి. స్ట్రింగ్ ట్యాగ్ సాధారణ ఫార్మాట్ [DeprecatedFeatureName]_EffectiveUntil[yyyymmdd] లాగా ఉండాలి. సూచనగా, మీరు https://bit.ly/blinkintentsలో వెబ్ ప్లాట్‌ఫామ్ ఫీచర్‌ల మార్పుల ఉద్దేశాన్ని తెలుసుకోవచ్చు.
       </translation>
 <translation id="4442582539341804154">పరికరం యాక్టివ్‌గా లేన‌ప్పుడు లేదా తాత్కాలికంగా నిలిపివేయబడినపుడు లాక్ చేయబడుతుంది</translation>
 <translation id="4449545651113180484">స్క్రీన్‌ను సవ్యదిశలో 270 డిగ్రీల మేర తిప్పండి</translation>
 <translation id="4454820008017317557"><ph name="PRODUCT_NAME" /> సాధనాల బార్ చిహ్నన్ని చూపించు</translation>
 <translation id="4467952432486360968">మూడవ పార్టీ కుక్కీలని బ్లాక్ చెయ్యి</translation>
 <translation id="4474167089968829729">పాస్‌వర్డ్ మేనేజ‌ర్‌లో పాస్‌వర్డ్‌లను సేవ్ చేయడం ప్రారంభించండి</translation>
-<translation id="4476769083125004742">ఈ విధానాన్ని <ph name="BLOCK_GEOLOCATION_SETTING" />కి సెట్ చేస్తే, Android యాప్‌లు స్థాన సమాచారాన్ని యాక్సెస్‌ చేయలేవు. మీరు ఈ విధానాన్ని మరే ఇతర విలువకు సెట్ చేసినా లేదా దేనికీ సెట్ చేయకపోయినా, Android యాప్ స్థాన సమాచారాన్ని యాక్సెస్‌ చేయాలని అనుకున్నప్పుడు వినియోగదారు సమ్మతిని అడగడం జరుగుతుంది.</translation>
+<translation id="4476769083125004742">ఈ విధానాన్ని <ph name="BLOCK_GEOLOCATION_SETTING" />కి సెట్ చేస్తే, Android యాప్‌లు స్థాన సమాచారాన్ని యాక్సెస్ చేయలేవు. మీరు ఈ విధానాన్ని మరే ఇతర విలువకు సెట్ చేసినా లేదా దేనికీ సెట్ చేయకపోయినా, Android యాప్ స్థాన సమాచారాన్ని యాక్సెస్ చేయాలనుకున్నప్పుడు వినియోగదారు సమ్మతిని అడగడం జరుగుతుంది.</translation>
 <translation id="4480694116501920047">నిర్బంధ సురక్షిత శోధన</translation>
 <translation id="4482640907922304445"><ph name="PRODUCT_NAME" /> టూల్‌బార్‌లో హోమ్ బటన్‌ను చూపిస్తుంది. మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, హోమ్ బటన్ ఎప్పుడూ చూపబడుతుంది. మీరు ఈ సెట్టింగ్‌ను ఆపివేస్తే, హోమ్ బటన్ ఎప్పటికీ చూపించబడదు. మీరు ఈ సెట్టింగ్‌ను ప్రారంభించినా లేదా ఆపివేసినా, వినియోగదారులు <ph name="PRODUCT_NAME" />లో ఈ సెట్టింగ్‌ను మార్చలేరు లేదా భర్తీ చేయలేరు. ఈ విధానాన్ని సెట్ చేయకుండా వదిలి పెట్టడం వలన హోమ్ బటన్‌ను చూపించాలో లేదో అనే దానిని ఎంచుకోవడానికి వినియోగదారు అనుమతించబడతారు.</translation>
 <translation id="4483649828988077221">ఆటోమేటిక్ అప్‌డేట్‌ను నిలిపివేయండి</translation>
@@ -1639,11 +1639,11 @@
 <translation id="4541530620466526913">పరికర-స్థానిక ఖాతాలు</translation>
 <translation id="4544079461524242527"><ph name="PRODUCT_NAME" /> కోసం ఎక్స్‌టెన్షన్ నిర్వహణ సెట్టింగ్‌ను కాన్ఫిగర్ చేస్తుంది.
 
-          ఈ విధానం ఇప్పటికే ఉనికిలో ఉన్న ఏవైనా ఎక్స్‌టెన్షన్ సంబంధిత విధానాల ద్వారా నియంత్రించబడిన సెట్టింగ్‌లతో సహా బహుళ సెట్టింగ్‌లను నియంత్రిస్తుంది. ఈ విధానంతో పాటు మరేవైనా సంప్రదాయక విధానాలు సెట్ చేసి ఉంటే ఇదే పరిగణనలోకి తీసుకోబడుతుంది.
+          ఈ విధానం ఇప్పటికే ఉనికిలో ఉన్న ఏవైనా ఎక్స్‌టెన్షన్ సంబంధిత విధానాల ద్వారా నియంత్రించబడిన సెట్టింగ్‌లతో సహా బహుళ సెట్టింగ్‌లను నియంత్రిస్తుంది. ఈ విధానంతో పాటు మరేవైనా లెగసీ విధానాలను సెట్ చేసి ఉన్నా కూడా, ఈ విధానమే పరిగణనలోకి తీసుకోబడుతుంది.
 
-          ఈ విధానం దీని కాన్ఫిగరేషన్‌కు ఎక్స్‌టెన్షన్ IDని లేదా అప్‌డేట్ URLని అనుబంధిస్తుంది. ఎక్స్‌టెన్షన్ IDతో, కాన్ఫిగరేషన్ పేర్కొన్న ఎక్స్‌టెన్షన్‌కు మాత్రమే వర్తింపజేయబడుతుంది. ప్రత్యేక ID <ph name="DEFAULT_SCOPE" /> కోసం డిఫాల్ట్ కాన్ఫిగరేషన్‌ను సెట్ చేయవచ్చు, ఇది ఈ విధానంలో అనుకూల కాన్ఫిగరేషన్ సెట్ చేయని అన్ని ఎక్స్‌టెన్షన్‌లకు వర్తిస్తుంది. అప్‌డేట్ URLతో, <ph name="LINK_TO_EXTENSION_DOC1" />లో వివరించిన విధంగా ఈ ఎక్స్‌టెన్షన్ మానిఫెస్ట్‌లో పేర్కొన్న సరిగ్గా అదేవిధమైన అప్‌డేట్ URL గల అన్ని ఎక్స్‌టెన్షన్‌లకు కాన్ఫిగరేషన్ వర్తింపజేయబడుతుంది.
+          ఈ విధానం దీని కాన్ఫిగరేషన్‌కు ఎక్స్‌టెన్షన్ IDని లేదా అప్‌డేట్ urlను అనుబంధిస్తుంది. ఎక్స్‌టెన్షన్ IDతో, కాన్ఫిగరేషన్ పేర్కొన్న ఎక్స్‌టెన్షన్‌కు మాత్రమే వర్తింపజేయబడుతుంది. ప్రత్యేక ID <ph name="DEFAULT_SCOPE" /> కోసం డిఫాల్ట్ కాన్ఫిగరేషన్‌ను సెట్ చేయవచ్చు, ఇది ఈ విధానంలో అనుకూల కాన్ఫిగరేషన్ సెట్ చేయని అన్ని ఎక్స్‌టెన్షన్‌లకు వర్తిస్తుంది. అప్‌డేట్ URLతో, <ph name="LINK_TO_EXTENSION_DOC1" />లో వివరించిన విధంగా ఈ ఎక్స్‌టెన్షన్ మానిఫెస్ట్‌లో పేర్కొన్న సరిగ్గా అదేవిధమైన అప్‌డేట్ URL గల అన్ని ఎక్స్‌టెన్షన్‌లకు కాన్ఫిగరేషన్ వర్తింపజేయబడుతుంది.
 
-          ఈ విధానంలో ఉండగల సెట్టింగ్‌లు మరియు నిర్మాణం యొక్క పూర్తి వివరణ కోసం దయచేసి https://www.chromium.org/administrators/policy-list-3/extension-settings-fullని సందర్శించండి
+          ఈ విధానంలో ఉండగల సెట్టింగ్‌లు మరియు నిర్మాణం యొక్క పూర్తి వివరణ కోసం దయచేసి https://www.chromium.org/administrators/policy-list-3/extension-settings-full సందర్శించండి
           </translation>
 <translation id="4554651132977135445">వినియోగదారు విధానం లూప్‌బ్యాక్ ప్రాసెసింగ్ మోడ్</translation>
 <translation id="4554841826517980623">నెట్‌వర్క్‌లో షేర్‌లను కనుగొనడానికి <ph name="PRODUCT_NAME" /> కోసం <ph name="NETBIOS_PROTOCOL" /> నెట్‌వర్క్ ఫైల్ షేర్‌లు ఫీచర్‌ను ఉపయోగించాలో లేదో ఈ విధానం నియంత్రిస్తుంది.
@@ -1653,7 +1653,7 @@
 <translation id="4555850956567117258">వినియోగదారు కోసం రిమోట్ ధృవీకరణను ప్రారంభించండి</translation>
 <translation id="4557134566541205630">డిఫాల్ట్ శోధన ప్రదాత కొత్త ట్యాబ్ పేజీ URL</translation>
 <translation id="4567137030726189378">డెవలపర్ సాధనాల వినియోగాన్ని అనుమతించండి</translation>
-<translation id="4578912515887794133">ఈ సెట్టింగ్ ప్రారంభించబడితే, రిమోట్ యాక్సెస్ హోస్ట్ స్థానిక వినియోగదారు పేరు (హోస్ట్‌తో అనుబంధించబడినది) మరియు హోస్ట్ యజమాని లాగా నమోదు చేయబడిన Google ఖాతా పేరును (అంటే హోస్ట్ యజమాని యొక్క Google ఖాతా "johndoe@example.com" అయితే, "johndoe" ఖాతా పేరుగా పరిగణించబడుతుంది) సరిపోల్చుతుంది. హోస్ట్ యజమాని పేరు హోస్ట్‌తో అనుబంధించబడిన స్థానిక వినియోగదారు పేరుకు భిన్నంగా ఉంటే రిమోట్ యాక్సెస్ హోస్ట్ ప్రారంభించబడదు. పేర్కొన్న డొమైన్‌తో (అంటే "example.com") అనుబంధించబడిన హోస్ట్ యజమాని Google ఖాతాను కూడా అమలు చేయడానికి RemoteAccessHostMatchUsername విధానాన్ని తప్పనిసరిగా RemoteAccessHostDomainతో కలిపి ఉపయోగించబడుతుంది.
+<translation id="4578912515887794133">ఈ సెట్టింగ్ ప్రారంభించబడితే, రిమోట్ యాక్సెస్ హోస్ట్ స్థానిక వినియోగదారు పేరు (హోస్ట్ అనుబంధించబడిన) మరియు హోస్ట్ యజమాని లాగా నమోదు చేయబడిన Google ఖాతా పేరును (అంటే హోస్ట్ యజమాని "johndoe@example.com" Google ఖాతా అయితే, "johndoe" ఖాతా పేరుగా పరిగణించబడుతుంది) సరిపోల్చుతుంది. హోస్ట్ యజమాని పేరు హోస్ట్ అనుబంధించబడిన స్థానిక వినియోగదారు పేరుకు భిన్నంగా ఉంటే రిమోట్ యాక్సెస్ హోస్ట్ ప్రారంభించబడదు. పేర్కొన్న డొమైన్‌తో (అంటే "example.com") అనుబంధించబడిన హోస్ట్ యజమాని Google ఖాతాను కూడా అమలు చేయడానికి RemoteAccessHostMatchUsername విధానాన్ని తప్పనిసరిగా RemoteAccessHostDomainతో కలిపి ఉపయోగించబడుతుంది.
 
 ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకుంటే, రిమోట్ యాక్సెస్ హోస్ట్ ఏ స్థానిక వినియోగదారుతో అయినా అనుబంధించబడుతుంది.</translation>
 <translation id="4600786265870346112">పెద్ద కర్సర్‌ను ప్రారంభించండి</translation>
@@ -1696,14 +1696,14 @@
 <translation id="4680961954980851756">స్వీయపూర్తిని ప్రారంభించు</translation>
 <translation id="4703402283970867140">స్క్రీన్ పూర్తిగా మసకబారేంత వరకు సమయాన్ని పెంచేందుకు స్మార్ట్ కాంతివిహీనత మోడల్‌ను ప్రారంభించవచ్చు</translation>
 <translation id="4722122254122249791">నిర్దేశిత‌ మూలాల కోసం సైట్‌ను వేరు చేయడం ప్రారంభించండి</translation>
-<translation id="4722399051042571387">తప్పున‌కు సెట్ చేస్తే, వినియోగదారులు బలహీనమైన, సులభంగా ఊహించగల PINలను సెట్ చేయలేరు.
+<translation id="4722399051042571387">'తప్పు'గా సెట్ చేస్తే, వినియోగదారులు బలహీనమైన మరియు సులభంగా ఊహించగల PINలను సెట్ చేయలేరు.
 
           బలహీనమైన PINలకు ఇవి కొన్ని ఉదాహరణలు: మొత్తంగా ఒకే అంకెను కలిగిన PINలు (1111), 1తో పెరిగే క్రమంలో అంకెలు గల PINలు (1234), 1తో తగ్గే క్రమంలో అంకెలు గల PINలు (4321) మరియు చాలా సాధారణంగా ఉపయోగించే PINలు.
 
-          డిఫాల్ట్‌గా, PIN బలహీనంగా ఉన్నట్లు పరిగణించిన పక్షంలో వినియోగదారులు ఎర్ర‌ర్‌ను కాకుండా హెచ్చరికను పొందుతారు.</translation>
+          డిఫాల్ట్‌గా, PIN బలహీనంగా ఉన్నట్లు పరిగణించిన పక్షంలో వినియోగదారులు ఎర్రర్‌ను కాకుండా హెచ్చరికను పొందుతారు.</translation>
 <translation id="4723829699367336876">రిమోట్ యాక్సెస్ క్లయింట్ నుండి ఫైర్‌వాల్ ట్రావెర్సల్‌ను ప్రారంభించండి</translation>
 <translation id="4725528134735324213">Android బ్యాకప్ సేవను ప్రారంభించండి</translation>
-<translation id="4725801978265372736">స్థానిక వినియోగదారు పేరు మరియు రిమోట్ యాక్సెస్ హోస్ట్ యజమాని పేరు తప్పనిసరిగా సరిపోలాలి</translation>
+<translation id="4725801978265372736">స్థానిక వినియోగదారు పేరు మరియు రిమోట్ యాక్సెస్ హోస్ట్ యజమాని పేరు తప్పనిసరిగా సరిపోలడం ఆవశ్యకం</translation>
 <translation id="4733471537137819387">ఏకీకరణ HTTP అధికార సంబంధించిన విధానాలు.</translation>
 <translation id="4744190513568488164"><ph name="PRODUCT_NAME" /> అధికారం ఇవ్వబడే సర్వర్‌లు.
 
@@ -1845,10 +1845,10 @@
 
           డిఫాల్ట్‌గా అన్ని ఎక్స్‌టెన్ష‌న్‌లు వైట్‌లిస్ట్‌గా చేయ‌బడ్డాయి. కానీ అన్ని ఎక్స్‌టెన్ష‌న్‌లు, విధానం ప్రకారం బ్లాక్‌లిస్ట్‌ అయితే, వైట్‌లిస్ట్‌ ఆ విధానాన్ని అధిగ‌మించ‌డానికి ఉపయోగించబడుతుంది.</translation>
 <translation id="519247340330463721">సురక్షిత బ్రౌజింగ్ సంబంధిత విధానాలను కాన్ఫిగర్ చేయండి.</translation>
-<translation id="5192837635164433517"><ph name="PRODUCT_NAME" />లో రుపొందించబడిన ప్రత్యామ్నాయ ఎర్ర‌ర్‌ పేజీల వినియోగాన్ని ప్రారంభిస్తుంది  ('పేజీ కనుగొనబడలేదు' వంటివి). వినియోగదారులు ఈ సెట్టింగ్‌ను మార్చకుండా నిరోధిస్తుంది. మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, ప్రత్యామ్నాయ ఎర్ర‌ర్‌ పేజీలు ఉపయోగించబడతాయి. మీరు ఈ సెట్టింగ్‌ను ఆపివేస్తే, ప్రత్యామ్నాయ ఎర్ర‌ర్‌ పేజీలు ఉపయోగించబడవు. మీరు ప్రారంభించినా లేదా ఆపివేసినా, వినియోగదారులు <ph name="PRODUCT_NAME" />లో ఈ సెట్టింగ్‌ను మార్చలేరు లేదా అధిగ‌మించ‌లేరు. ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేస్తే, ఇది ప్రారంభించబడుతుంది కానీ వినియోగదారు దీనిని మార్చగలరు.</translation>
+<translation id="5192837635164433517"><ph name="PRODUCT_NAME" />లో రుపొందించబడిన ప్రత్యామ్నాయ ఎర్రర్ పేజీల వినియోగాన్ని ప్రారంభిస్తుంది  ('పేజీ కనుగొనబడలేదు' వంటివి) మరియు వినియోగదారులు ఈ సెట్టింగ్‌ను మార్చకుండా నిరోధిస్తుంది. మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, ప్రత్యామ్నాయ ఎర్రర్ పేజీలు ఉపయోగించబడతాయి. మీరు ఈ సెట్టింగ్‌ను ఆపివేస్తే, ప్రత్యామ్నాయ ఎర్రర్ పేజీలు ఉపయోగించబడవు. మీరు ప్రారంభించినా లేదా ఆపివేసినా, వినియోగదారులు <ph name="PRODUCT_NAME" />లో ఈ సెట్టింగ్‌ను మార్చలేరు లేదా భర్తీ చేయలేరు. ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేస్తే, ఇది ప్రారంభించబడుతుంది కానీ వినియోగదారు దీనిని మార్చగలరు.</translation>
 <translation id="5196805177499964601">డెవలపర్ మోడ్‌ను బ్లాక్ చేయండి.
 
-      ఈ విధానాన్ని 'ఒప్పు'గా సెట్ చేసి ఉంటే, <ph name="PRODUCT_OS_NAME" /> డెవలపర్ మోడ్‌లోకి బూట్ అవకుండా పరికరాన్ని నిరోధిస్తుంది. సిస్టమ్ బూట్ చేయడానికి అనుమతించదు మరియు డెవలపర్ స్విచ్ ఆన్ చేయబడినప్పుడు స్క్రీన్‌పై ఎర్రర్ డైలాగ్‌ను చూపుతుంది.
+      ఈ విధానాన్ని 'ఒప్పు'గా సెట్ చేసి ఉంటే, <ph name="PRODUCT_OS_NAME" /> డెవలపర్ మోడ్‌లోకి బూట్ అవ్వకుండా పరికరాన్ని నిరోధిస్తుంది. సిస్టమ్ బూట్ చేయడానికి అనుమతించదు మరియు డెవలపర్ స్విచ్ ఆన్ చేయబడినప్పుడు స్క్రీన్‌పై ఎర్రర్ డైలాగ్‌ను చూపుతుంది.
 
       ఈ విధానాన్ని సెట్ చేయకపోతే లేదా 'తప్పు'గా సెట్ చేసి ఉంటే, పరికరంలో డెవలపర్ మోడ్ అలాగే అందుబాటులో ఉంటుంది.</translation>
 <translation id="520403427390290017">ట్యాబ్ లైఫ్‌సైకిల్‌ల ఫీచర్ ద్వారా CPU మెమరీని అలాగే దానితో పాటుగా ఎక్కువ సేపటి నుంచి రన్ అవుతూ, నిరుపయోగంగా ఉన్న ట్యాబ్‌లలో దాగి ఉన్న మెమోరీని, విడుదల చేయడానికి ట్యాబ్‌లను ముందుగా కుదింపు చేసి, అక్కడికక్కడే స్తంభింపజేస్తుంది ఆపై వాటిని తొలగిస్తుంది.
@@ -1895,22 +1895,22 @@
 <translation id="5247006254130721952">హానికరమైన డౌన్‌లోడ్‌లను బ్లాక్ చేయి</translation>
 <translation id="5248863213023520115"><ph name="MS_AD_NAME" /> సర్వర్ నుండి Kerberos టిక్కెట్‌ను అభ్యర్థిస్తున్నప్పుడు అనుమతించబడే ఎన్‌క్రిప్షన్ రకాలను సెట్ చేస్తుంది.
 
-      విధానాన్ని 'అన్ని'కి సెట్ చేస్తే, ఎన్‌క్రిప్షన్ రకాలు రెండూ 'aes256-cts-hmac-sha1-96' మరియు 'aes128-cts-hmac-sha1-96', అలాగే RC4 ఎన్‌క్రిప్షన్ రకం 'rc4-hmac' అనుమతించబడతాయి. సర్వర్ రెండు రకాలకూ మద్దతు ఇచ్చేట్లయితే AES ఎన్‌క్రిప్షన్‌కు ప్రాధాన్యత ఇవ్వబడుతుంది. RC4 అసురక్షితమైనదిగా పరిగణించబడుతుంది. AES ఎన్‌క్రిప్షన్‌కు మద్దతు ఇవ్వడం కోసం అవకాశం ఉంటే సర్వర్ తిరిగి కాన్ఫిగర్ చేయాలని గమనించండి.
+      విధానాన్ని 'అన్నీ'కి సెట్ చేస్తే, ఎన్‌క్రిప్షన్ రకాలు రెండూ 'aes256-cts-hmac-sha1-96' మరియు 'aes128-cts-hmac-sha1-96', అలాగే RC4 ఎన్‌క్రిప్షన్ రకం 'rc4-hmac' అనుమతించబడతాయి. సర్వర్ రెండు రకాలకూ మద్దతు ఇచ్చేట్లయితే AES ఎన్‌క్రిప్షన్‌కు ప్రాధాన్యత ఇవ్వబడుతుంది. RC4 అసురక్షితమైనదిగా పరిగణించబడుతుంది మరియు AES ఎన్‌క్రిప్షన్‌కు మద్దతివ్వడం కోసం అవకాశం ఉంటే సర్వర్ తిరిగి కాన్ఫిగర్ చేయాలని గమనించండి.
 
       విధానాన్ని 'శక్తివంతమైనది'కి సెట్ చేసినా లేదా సెట్ చేయకుండా వదిలివేసినా, కేవలం AES ఎన్‌క్రిప్షన్ రకాలు మాత్రమే అనుమతించబడతాయి.
 
-      విధానాన్ని 'లెగసీ'కి సెట్ చేస్తే, కేవలం RC4 ఎన్‌క్రిప్షన్ రకం మాత్రమే అనుమతించబడుతుంది. ఈ ఎంపిక అసురక్షితమైనది మరియు చాలా నిర్దిష్ట పరిస్థితుల్లో మాత్రమే అవసరమవుతుంది.
+      విధానాన్ని 'లెగసీ'కి సెట్ చేస్తే, కేవలం RC4 ఎన్‌క్రిప్షన్ రకం మాత్రమే అనుమతించబడుతుంది. ఈ ఎంపిక అసురక్షితమైనది మరియు చాలా నిర్దిష్ట పరిస్థితులలో మాత్రమే అవసరమవుతుంది.
 
       అలాగే https://wiki.samba.org/index.php/Samba_4.6_Features_added/changed#Kerberos_client_encryption_types కూడా చూడండి.</translation>
 <translation id="5255162913209987122">సిఫార్సు చేయవచ్చు</translation>
 <translation id="527237119693897329">లోడ్ చేయకూడని స్థానిక సందేశ పద్ధతి హోస్ట్‌లను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది.
 
-          '*' యొక్క నిరోధిత జాబితా విలువ అన్ని స్థానిక సందేశ పద్ధతి హోస్ట్‌లు ప్రత్యేకించి అనుమతి జాబితాలో జాబితా చేయబడకపోతే అవి నిరోధిత జాబితాలో ఉంచబడతాయని సూచిస్తుంది.
+          '*' యొక్క నిరోధిత జాబితా విలువ అన్ని స్థానిక సందేశ పద్ధతి హోస్ట్‌లు ప్రత్యేకించి వైట్‌లిస్ట్‌లో జాబితా చేయబడకపోతే అవి నిరోధిత జాబితాలో ఉంచబడతాయని సూచిస్తుంది.
 
-          ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే <ph name="PRODUCT_NAME" /> ఇన్‌స్టాల్ చేయబడిన అన్ని స్థానిక సందేశ పద్ధతి హోస్ట్‌లను లోడ్ చేస్తుంది.</translation>
-<translation id="5272684451155669299">ఒప్పు అయితే, వినియోగదారు <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> ద్వారా <ph name="CHALLENGE_USER_KEY_FUNCTION" /> ఉపయోగించి గోప్యత CAకి దాని గుర్తింపును రిమోట్ విధానంలో ధృవీకరించడానికి Chrome పరికరాల్లో హార్డ్‌వేర్‌ను ఉపయోగించవచ్చు.
+          ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే <ph name="PRODUCT_NAME" /> ఇన్‌స్టాల్ చేసిన అన్ని స్థానిక సందేశ పద్ధతి హోస్ట్‌లను లోడ్ చేస్తుంది.</translation>
+<translation id="5272684451155669299">ఒప్పు అయితే, వినియోగదారు <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> ద్వారా <ph name="CHALLENGE_USER_KEY_FUNCTION" /> ఉపయోగించి గోప్యత CAకి దాని గుర్తింపును రిమోట్ విధానంలో ధృవీకరించడానికి Chrome పరికరాలలో హార్డ్‌వేర్‌ను ఉపయోగించవచ్చు.
 
-          దీన్ని తప్పున‌కు సెట్ చేస్తే లేదా ఏదీ సెట్ చేయకుంటే, APIకి కాల్‌లు, ఎర్ర‌ర్‌ కోడ్‌తో విఫలమవుతాయి.</translation>
+          దీనిని 'తప్పు'గా సెట్ చేస్తే లేదా ఏదీ సెట్ చేయకుంటే, APIకి కాల్‌లు ఎర్రర్ కోడ్‌తో విఫలమవుతాయి.</translation>
 <translation id="5277806246014825877">Crostiniని అమలు చేయడానికి ఈ వినియోగదారును అనుమతించండి.
 
       విధానాన్ని తప్పుకు సెట్ చేస్తే, వినియోగదారుకు Crostini ప్రారంభించబడదు.
@@ -1920,7 +1920,7 @@
 <translation id="5283457834853986457">ప్లగ్‌ఇన్ శోధినిని ఆపివేయండి (త్వరలో నిలిపివేయబడుతోంది)</translation>
 <translation id="5288772341821359899">విధానాన్ని సెట్ చేస్తే, WebRTC ఉపయోగించే UDP పోర్ట్ పరిధి పేర్కొన్న పోర్ట్ విరామానికి (ముగింపు పాయింట్‌లతో) పరిమితం చేయబడుతుంది.
 
-      విధానాన్ని సెట్ చేయకపోతే, లేదంటే ఖాళీ స్ట్రింగ్ లేదా చెల్లని పోర్ట్ పరిధికి సెట్ చేస్తే, WebRTC అందుబాటులో ఉన్న ఏదైనా UDP పోర్ట్‌ని ఉపయోగించడానికి అనుమతించబడుతుంది.</translation>
+      విధానాన్ని సెట్ చేయకపోతే, లేదంటే ఖాళీ స్ట్రింగ్ లేదా చెల్లని పోర్ట్ పరిధికి సెట్ చేస్తే, WebRTC అందుబాటులో ఉన్న ఏదైనా UDP పోర్ట్‌ను ఉపయోగించడానికి అనుమతించబడుతుంది.</translation>
 <translation id="5290940294294002042">వినియోగదారు ప్రారంభించగల లేదా ఆపివేయగల ప్లగ్‌ఇన్‌ల జాబితాను పేర్కొను</translation>
 <translation id="5304269353650269372">బ్యాటరీ శక్తితో అమలు అవుతున్నప్పుడు ఒక హెచ్చరిక డైలాగ్ చూపబడిన తర్వాత వినియోగదారు ఇన్‌పుట్ లేకుండా సమయ నిడివిని పేర్కొంటుంది.
 
@@ -1962,11 +1962,11 @@
       విధానాన్ని ఒప్పుకి సెట్ చేస్తే, స్థితి సమాచారం నివేదించబడుతుంది.
 
       ఈ విధానం Android అనువర్తనాలను ప్రారంభించినప్పుడు మాత్రమే వర్తిస్తుంది.</translation>
-<translation id="5395271912574071439">ఒక కనెక్షన్ ప్రోగ్రెస్‌లో ఉన్నప్పుడు రిమోట్ యాక్సెస్ హోస్ట్‌లను అందించడం ప్రారంభిస్తుంది.
+<translation id="5395271912574071439">ఒక కనెక్షన్ ప్రోగ్రెస్‌లో ఉన్నప్పుడు రిమోట్ యాక్సెస్ హోస్ట్‌లను అందించడాన్ని ప్రారంభిస్తుంది.
 
           ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, ఒక రిమోట్ కనెక్షన్ ప్రోగ్రెస్‌లో ఉన్నప్పుడు భౌతిక హోస్ట్ యొక్క ఇన్‌పుట్ మరియు అవుట్‌పుట్ పరికరాలు నిలిపివేయబడతాయి.
 
-          ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు స్థానిక మరియు రిమోట్ వినియోగదారులు దీనిని షేర్ చేసేటప్పుడు హోస్ట్‌తో పరస్పర చర్య చేయవచ్చు.</translation>
+          ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు స్థానిక మరియు రిమోట్ వినియోగదారులు దీన్ని షేర్ చేసేటప్పుడు హోస్ట్‌తో పరస్పర చర్య చేయవచ్చు.</translation>
 <translation id="5396049152026347991">VPN కనెక్షన్‌లను నిర్వహించడానికి వినియోగదారుని అనుమతించండి.
 
       ఈ విధానాన్ని తప్పు అని సెట్ చేస్తే, VPN కనెక్షన్‌లను డిస్‌కనెక్ట్ చేయడానికి లేదా సవరించడాన్ని వినియోగదారుని అనుమతించే అన్ని <ph name="PRODUCT_NAME" /> వినియోగదారు ఇంటర్ఫేస్‌లు నిలిపివేయబడతాయి. 
@@ -1978,12 +1978,13 @@
       "VPNని ఎల్లప్పుడూ ఆన్‌లో ఉంచు" ఫీచర్‌తో పాటు ఉపయోగించడం కోసం ఈ విధానం రూపొందించబడింది, బూట్ చేసినప్పుడు VPN కనెక్షన్‌ని ఏర్పాటు చేయాలో లేదో నిర్ణయించడానికి ఇది నిర్వాహకులను అనుమతిస్తుంది.</translation>
 <translation id="5405289061476885481"><ph name="PRODUCT_OS_NAME" /> సైన్-ఇన్ స్క్రీన్‌లో అనుమతించబడే కీబోర్డ్ లేఅవుట్‌లను కాన్ఫిగర్ చేస్తుంది.
 
-      ఈ విధానాన్ని ఇన్‌పుట్ పద్ధతి ఐడెంటిఫైయర్‌ల జాబితాకు సెట్ చేస్తే, అందించిన ఇన్‌పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్‌లో అందుబాటులో ఉంటాయి. మొదట అందించిన ఇన్‌పుట్ పద్ధతి ముందుగానే ఎంచుకోబడుతుంది. సైన్-ఇన్ స్క్రీన్‌లో వినియోగదారు ప్రదర్శన చిత్రం కర్సర్ ఉంచినప్పుడు, ఈ విధానం ద్వారా అందించబడిన ఇన్‌పుట్ పద్ధతులకు అదనంగా వినియోగదారు ఇటీవల ఉపయోగించిన ఇన్‌పుట్ పద్ధతి అందుబాటులో ఉంటుంది. ఈ విధానాన్ని సెట్ చేయకుంటే, సైన్-ఇన్ స్క్రీన్‌లోని ఇన్‌పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్ ప్రదర్శించబడే లొకేల్ నుండి గ్రహించబడతాయి. చెల్లుబాటు కాని ఇన్‌పుట్ పద్ధతి ఐడెంటిఫైయర్‌ల విలువలు విస్మరించబడతాయి.</translation>
-<translation id="5412057811596122582">ప్రారంభించబడితే లేదా కాన్ఫిగర్ చేయబడకపోతే (డిఫాల్ట్), ప్రాంప్ట్ చేయబడకుండా యాక్సెస్‌ మంజూరు అయ్యే AudioCaptureAllowedUrls జాబితాలో కాన్ఫిగర్ చేయబడిన URLల కోసం మినహా ఆడియో క్యాప్చర్ యాక్సెస్‌ కోసం వినియోగదారు ప్రాంప్ట్ చేయబడతారు.
-      
-ఈ విధానాన్ని నిలిపివేసినప్పుడు, వినియోగదారు ఎప్పటికీ ప్రాంప్ట్ చేయబడరు. ఆడియో క్యాప్చర్ AudioCaptureAllowedUrlsలో కాన్ఫిగర్ చేయబడిన URLలకు మాత్రమే అందుబాటులో ఉంటుంది.
+      ఈ విధానాన్ని ఇన్‌పుట్ పద్ధతి ఐడెంటిఫైయర్‌ల జాబితాకు సెట్ చేస్తే, అందించిన ఇన్‌పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్‌లో అందుబాటులో ఉంటాయి. మొదట అందించిన ఇన్‌పుట్ పద్ధతి ముందుగానే ఎంచుకోబడుతుంది. సైన్-ఇన్ స్క్రీన్‌లో వినియోగదారు ప్రదర్శన చిత్రం కర్సర్ ఉంచినప్పుడు, ఈ విధానం ద్వారా అందించబడిన ఇన్‌పుట్ పద్ధతులకు అదనంగా వినియోగదారు అత్యంత ఇటీవల ఉపయోగించిన ఇన్‌పుట్ పద్ధతి అందుబాటులో ఉంటుంది. ఈ విధానాన్ని సెట్ చేయకుంటే, సైన్-ఇన్ స్క్రీన్‌లోని ఇన్‌పుట్ పద్ధతులు సైన్-ఇన్ స్క్రీన్ ప్రదర్శించబడే లొకేల్ నుండి గ్రహించబడతాయి. చెల్లుబాటు కాని ఇన్‌పుట్ పద్ధతి ఐడెంటిఫైయర్‌ల విలువలు విస్మరించబడతాయి.</translation>
+<translation id="5412057811596122582">ప్రారంభించబడితే లేదా కాన్ఫిగర్ చేయబడకపోతే (డిఫాల్ట్), ప్రాంప్ట్ చేయబడకుండా యాక్సెస్ మంజూరు అయ్యే AudioCaptureAllowedUrls జాబితాలో కాన్ఫిగర్ చేయబడిన URLల కోసం మినహా ఆడియో క్యాప్చర్ యాక్సెస్ కోసం వినియోగదారు ప్రాంప్ట్ చేయబడతారు.
 
-ఈ విధానం అంత‌ర్గ‌త‌ మైక్రోఫోన్‌ను మాత్రమే కాకుండా అన్ని రకాల ఆడియో ఇన్‌పుట్‌లను ప్రభావితం చేస్తుంది.</translation>
+      
+ఈ విధానాన్ని నిలిపివేసినప్పుడు, వినియోగదారు ఎప్పటికీ ప్రాంప్ట్ చేయబడరు మరియు ఆడియో క్యాప్చర్ AudioCaptureAllowedUrlsలో కాన్ఫిగర్ చేయబడిన URLలకు మాత్రమే అందుబాటులో ఉంటుంది.
+
+ఈ విధానం అంతర్నిర్మిత మైక్రోఫోన్‌ను మాత్రమే కాకుండా అన్ని రకాల ఆడియో ఇన్‌పుట్‌లను ప్రభావితం చేస్తుంది.</translation>
 <translation id="5422643441807528365"><ph name="PLUGIN_VM_NAME" /> లైసెన్స్ కీ</translation>
 <translation id="5423001109873148185">ఈ విధానాన్ని ప్రారంభించినట్లయితే, ప్రస్తుత డిఫాల్ట్ బ్రౌజర్ నుండి బలవంతంగా శోధన ఇంజిన్‌లను దిగుమతి చేస్తుంది. ప్రారంభించబడితే, ఈ విధానం దిగుమతి డైలాగ్‌ను కూడా ప్రభావితం చేస్తుంది. ఆపివేయబడితే, డిఫాల్ట్ శోధన ఇంజిన్ దిగుమతి చేయబడదు. ఇది సెట్ చేయకపోతే, వినియోగదారు దిగుమతి చేయాలా అని అడగబడతారు లేదా దిగుమతి ఆటోమేటిక్‌గా జరగవచ్చు.</translation>
 <translation id="5423197884968724595">Android వెబ్ వీక్షణ పరిమితి పేరు:</translation>
@@ -1993,7 +1994,7 @@
 ఈ సెట్టింగ్‌ను ఆపివేయడం బ్రౌజర్ చిరునామా బార్‌లోని డొమైన్‌కు చెందని వెబ్ పేజీ మూలకాలచే సెట్ చేయడానికి కుక్కీలను అనుమతిస్తుంది మరియు ఈ సెట్టింగ్‌ను మార్చనీయకుండా వినియోగదారులను నిరోధిస్తుంది.
 
 ఈ విధానం సెట్ చేయబడి ఉండకోపోతే, మూడవ పక్షం కుక్కీలు ప్రారంభించబడతాయి కానీ వినియోగదారు దీన్ని మార్చగలుగుతారు.</translation>
-<translation id="5442026853063570579">ఈ విధానం Android డెవలపర్ ఎంపికలకు యాక్సెస్‌ను కూడా నియంత్రిస్తుంది. ఒకవేళ మీరు ఈ విధానాన్ని 'DeveloperToolsDisallowed' (విలువ 2) ఎంపికకు సెట్ చేస్తే, వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయలేరు. ఈ విధానాన్ని మరొక విలువకు సెట్ చేస్తే లేదా ఏదీ సెట్ చేయకుంటే, Android సెట్టింగ్‌ల యాప్‌లో బిల్డ్ సంఖ్యపై ఏడుసార్లు నొక్కడం ద్వారా వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయగలరు.</translation>
+<translation id="5442026853063570579">ఈ విధానం Android డెవలపర్ ఎంపికలకు యాక్సెస్‌ను కూడా నియంత్రిస్తుంది. ఒకవేళ మీరు ఈ విధానాన్ని 'DeveloperToolsDisallowed' (విలువ 2) ఎంపికకు సెట్ చేస్తే, వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయలేరు. అలాగే, మీరు ఈ విధానాన్ని మరొక విలువకు సెట్ చేస్తే లేదా ఏదీ సెట్ చేయకుంటే, Android సెట్టింగ్‌ల యాప్‌లో బిల్డ్ సంఖ్యపై ఏడుసార్లు నొక్కడం ద్వారా వినియోగదారులు డెవలపర్ ఎంపికలను యాక్సెస్ చేయగలరు.</translation>
 <translation id="5447306928176905178">మెమరీ సమాచారాన్ని (JS అత్యధిక పరిమాణం) పేజీకి నివేదించడాన్ని ప్రారంభించండి (నిలిపివేయబడింది)</translation>
 <translation id="5457065417344056871">బ్రౌజర్‌లో అతిథి మోడ్‌ను ప్రారంభిస్తుంది</translation>
 <translation id="5457924070961220141"><ph name="PRODUCT_FRAME_NAME" /> ఇన్‌స్టాల్ చేసినప్పుడు, అమలు అయ్యే డిఫాల్ట్ HTMLను కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ విధానం హోస్ట్ బ్రౌజర్ రెండ‌ర్‌ చేయడానికి అనుమతించేలా సెట్ చేయకుండా వదలివేస్తే డిఫాల్ట్ సెట్టింగ్ ఉపయోగించబడుతుంది. కానీ మీరు దీన్ని ఐచ్ఛికంగా అధిగ‌మించ‌వ‌చ్చు. <ph name="PRODUCT_FRAME_NAME" /> HTML పేజీలను డిఫాల్ట్‌గా అమలు చేస్తుంది.</translation>
@@ -2133,7 +2134,7 @@
       ఒకవేళ విధానాన్ని 0కి సెట్ చేస్తే, ప్రామాణీకరణ డేటా కాషింగ్ ఆఫ్ చేయబడుతుంది. ఇది అనుబంధిత వినియోగాదారుల సైన్-ఇన్‌ని గణనీయ స్థాయిలో నెమ్మది చేయవచ్చు, ఎందుకంటే రీమ్ నిర్దిష్టమైన డేటాను ప్రతి ఒక్క సైన్-ఇన్‌లో పొందాల్సి ఉంటుంది.
 
       రీమ్ డేటా తాత్కాలిక వినియోగారులకు సంబంధించి కూడా సేకరించబడుతుందని గుర్తుంచుకోండి. తాత్కాలిక వినియోగాదరుల రీమ్‌ని ట్రేస్ చేయడం నిరోధించాలనుకుంటే కాష్‌ని ఆఫ్ చేయాల్సి ఉంటుంది.</translation>
-<translation id="570062449808736508">ఈ విధానం ఒక ఖాళీ-కాని స్ట్రింగ్‌కి సెట్ చేసినప్పుడు, WebView ఇవ్వబడిన అధీకృత పేరుతో కంటెంట్ ప్రదాత నుండి URL ఆంక్షలను చదువుతుంది.</translation>
+<translation id="570062449808736508">ఈ విధానం ఒక ఖాళీ-కాని స్ట్రింగ్‌కు సెట్ చేసినప్పుడు, WebView ఇవ్వబడిన అధీకృత పేరుతో కంటెంట్ ప్రదాత నుండి URL ఆంక్షలను చదువుతుంది.</translation>
 <translation id="5701714006401683963">ఈ విధానాన్ని తప్పు అని సెట్ చేస్తే, నిర్వహించబడిన అతిథి సెషన్ https://support.google.com/chrome/a/answer/3017014 - ప్రామాణిక "పబ్లిక్ సెషన్"లో డాక్యుమెంట్ చేసిన విధంగా ప్రవర్తిస్తుంది.
 
       ఈ విధానాన్ని ఒప్పు అని సెట్ చేస్తే లేదా సెట్ చేయకుండా వదిలేస్తే, నిర్వహించబడే అతిథి సెషన్ "నిర్వహిత సెషన్" ప్రవర్తనను కొనసాగిస్తుంది, ఇది సాధారణ "పబ్లిక్ సెషన్‌ల" కోసం ఉన్న పలు పరిమితులను అధిగమిస్తుంది.
@@ -2203,15 +2204,15 @@
 <translation id="5868414965372171132">వినియోగదారు-స్థాయి నెట్‌వర్క్ కాన్ఫిగరేషన్</translation>
 <translation id="5879014913445067283"><ph name="NETBIOS_NAME" /> ద్వారా నెట్‌వర్క్ ఫైల్ షేర్‌ ఆచూకీ శోధనను నియంత్రిస్తుంది</translation>
 <translation id="5883015257301027298">డిఫాల్ట్ కుక్కీల సెట్టింగ్</translation>
-<translation id="5887414688706570295">రిమోట్ యాక్సెస్‌ హోస్ట్‌లు ఉపయోగించే TalkGadget ప్రీఫిక్స్‌ను కాన్ఫిగర్ చేస్తుంది. వినియోగదారులు దీన్ని మార్చకుండా నిరోధిస్తుంది.
+<translation id="5887414688706570295">రిమోట్ యాక్సెస్ హోస్ట్‌లు ఉపయోగించే TalkGadget ఆది ప్రత్యయాన్ని కాన్ఫిగర్ చేస్తుంది మరియు వినియోగదారులు దీన్ని మార్చకుండా నిరోధిస్తుంది.
 
-          పేర్కొని ఉంటే, ఈ ప్రీఫిక్స్‌ TalkGadget కోసం పూర్తి డొమైన్ పేరును సృష్టించడానికి ఆధార TalkGadget పేరుకు ముందు జోడించబడుతుంది. ఆధార TalkGadget డొమైన్ పేరు '.talkgadget.google.com'.
+          పేర్కొని ఉంటే, ఈ ఆది ప్రత్యయం TalkGadget కోసం పూర్తి డొమైన్ పేరును సృష్టించడానికి ఆధార TalkGadget పేరుకు ముందు జోడించబడుతుంది. ఆధార TalkGadget డొమైన్ పేరు '.talkgadget.google.com'.
 
-          ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు హోస్ట్‌లు TalkGadgetను యాక్సెస్‌ చేసేటప్పుడు డిఫాల్ట్ డొమైన్ పేరుకు బదులుగా అనుకూల డొమైన్ పేరును ఉపయోగిస్తాయి.
+          ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు హోస్ట్‌లు TalkGadgetను యాక్సెస్ చేసేటప్పుడు డిఫాల్ట్ డొమైన్ పేరుకు బదులుగా అనుకూల డొమైన్ పేరును ఉపయోగిస్తాయి.
 
           ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు అన్ని హోస్ట్‌ల కోసం డిఫాల్ట్ TalkGadget డొమైన్ పేరు ('chromoting-host.talkgadget.google.com') ఉపయోగించబడుతుంది.
 
-          ఈ విధానం సెట్టింగ్ వలన రిమోట్ యాక్సెస్‌ క్లయింట్‌లు ప్రభావితం కావు. అవి ఎల్లప్పుడూ TalkGadgetను యాక్సెస్‌ చేయడానికి 'chromoting-client.talkgadget.google.com'ను ఉపయోగిస్తాయి.</translation>
+          ఈ విధానం సెట్టింగ్ వలన రిమోట్ యాక్సెస్ క్లయింట్‌లు ప్రభావితం కావు. అవి ఎల్లప్పుడూ TalkGadgetను యాక్సెస్ చేయడానికి 'chromoting-client.talkgadget.google.com'ను ఉపయోగిస్తాయి.</translation>
 <translation id="5893553533827140852">ఈ సెట్టింగ్ ప్రారంభించబడితే, gnubby ప్రామాణీకరణ అభ్యర్థనలు రిమోట్ హోస్ట్ కనెక్షన్‌లో ప్రాక్సీ చేయబడతాయి.
 
           ఈ సెట్టింగ్ నిలిపివేయబడితే లేదా కాన్ఫిగర్ చేయబడకపోతే, gnubby ప్రామాణీకరణ అభ్యర్థనలు ప్రాక్సీ చేయబడవు.</translation>
@@ -2379,15 +2380,15 @@
           ఈ విధానాన్ని సెట్ చేయకుంటే, 'DefaultPluginsSetting' విధానం సెట్ చేయబడి ఉంటే దాని నుండి లేదా వినియోగదారు యొక్క వ్యక్తిగత కాన్ఫిగరేషన్ నుండి సార్వజనీన డిఫాల్ట్ విలువ అన్ని సైట్‌ల కోసం ఉపయోగించబడుతుంది.</translation>
 <translation id="6190022522129724693">డిఫాల్ట్ పాప్‌అప్‌ల సెట్టింగ్</translation>
 <translation id="6190367314942602985">వినియోగదారు గుర్తింపు సమాచారాన్ని నివేదించండి</translation>
-<translation id="6197453924249895891">ఎక్స్‌టెన్ష‌న్‌ల కోసం కార్పొరేట్ కీల యాక్సెస్‌ను మంజూరు చేస్తుంది.
+<translation id="6197453924249895891">ఎక్సటెన్షన్‌ల కోసం కార్పొరేట్ కీల యాక్సెస్‌ను మంజూరు చేస్తుంది.
 
-      కీలు నిర్వాహిత ఖాతాలో chrome.enterprise.platformKeys API ఉపయోగించి రూపొందించబడితే కార్పొరేట్ వినియోగం కోసం నిర్దేశించబడతాయి. వేరొక మార్గంలో దిగుమతి చేయబడిన లేదా రూపొందించబడిన కీలు కార్పొరేట్ వినియోగం కోసం నిర్దేశించబడవు.
+      కీలు నిర్వహిత ఖాతాలో chrome.enterprise.platformKeys API ఉపయోగించి రూపొందించబడితే కార్పొరేట్ వినియోగం కోసం నిర్దేశించబడతాయి. వేరొక మార్గంలో దిగుమతి చేయబడిన లేదా రూపొందించబడిన కీలు కార్పొరేట్ వినియోగం కోసం నిర్దేశించబడవు.
 
-      కార్పొరేట్ వినియోగం కోసం నిర్దేశించిన కీలకు యాక్సెస్‌ కేవలం ఈ విధానం ప్రకారం మాత్రమే నియంత్రించబడుతుంది. వినియోగదారు ఎక్స్‌టెన్ష‌న్‌లకు లేదా వాటి నుండి కార్పొరేట్ కీల యాక్సెస్‌ను మంజూరు చేయలేరు లేదా ఉపసంహరించలేరు.
+      కార్పొరేట్ వినియోగం కోసం నిర్దేశించిన కీలకు యాక్సెస్ కేవలం ఈ విధానం ప్రకారం మాత్రమే నియంత్రించబడుతుంది. వినియోగదారు ఎక్సటెన్షన్‌లకు లేదా వాటి నుండి కార్పొరేట్ కీల యాక్సెస్‌ను మంజూరు చేయలేరు లేదా ఉపసంహరించలేరు.
 
-      డిఫాల్ట్‌గా ఎక్స్‌టెన్ష‌న్‌ కార్పొరేట్ వినియోగం కోసం నిర్దేశించిన కీని ఉపయోగించలేదు, ఇలా చేయడం ఆ ఎక్స్‌టెన్ష‌న్‌ కోసం allowCorporateKeyUsageను తప్పున‌కు సెట్ చేయడంతో సమానం.
+      డిఫాల్ట్‌గా ఎక్సటెన్షన్ కార్పొరేట్ వినియోగం కోసం నిర్దేశించిన కీని ఉపయోగించలేదు, ఇలా చేయడం ఆ ఎక్సటెన్షన్ కోసం allowCorporateKeyUsageని తప్పుకు సెట్ చేయడంతో సమానం.
 
-      ఎక్స్‌టెన్ష‌న్‌ కోసం allowCorporateKeyUsageను ఒప్పున‌కు సెట్ చేస్తే మాత్రమే, ఇది అనియంత్రిత డేటాకు సైన్ చేయడానికి కార్పొరేట్ వినియోగం కోసం గుర్తుపెట్టిన ఏ ప్లాట్‌ఫామ్ కీని అయినా ఉపయోగించగలుగుతుంది. ఎక్స్‌టెన్ష‌న్‌, దాడి చేసే వారికి వ్యతిరేకంగా కీకి సురక్షిత యాక్సెస్‌ కలిగి ఉన్నట్లు విశ్వసిస్తే మాత్రమే ఈ అనుమతిని మంజూరు చేయాలి.</translation>
+      ఎక్సటెన్షన్ కోసం allowCorporateKeyUsageని ఒప్పుకు సెట్ చేస్తే మాత్రమే, ఇది అనియంత్రిత డేటాకు సైన్ చేయడానికి కార్పొరేట్ వినియోగం కోసం గుర్తుపెట్టిన ఏ ప్లాట్‌ఫారమ్ కీని అయినా ఉపయోగించగలుగుతుంది. ఎక్సటెన్షన్ దాడి చేసేవారికి వ్యతిరేకంగా కీకి సురక్షిత యాక్సెస్ కలిగి ఉన్నట్లు విశ్వసిస్తే మాత్రమే ఈ అనుమతిని మంజూరు చేయాలి.</translation>
 <translation id="6208896993204286313"><ph name="PRODUCT_NAME" /> విధాన సమాచారాన్ని నివేదించండి</translation>
 <translation id="6210259502936598222">OS మరియు <ph name="PRODUCT_NAME" /> వెర్షన్ సమాచారాన్ని నివేదించండి</translation>
 <translation id="6211428344788340116">పరికరం కార్యకలాప సమయాలను నివేదించండి.
@@ -2503,13 +2504,13 @@
 
           విధానం విలువను మిల్లీసెకన్లలో పేర్కొనాలి. విలువలు ఇన్‌యాక్టివ్‌ ఆలస్యం కంటే తక్కువగా ఉండేలా అమర్చబడతాయి.</translation>
 <translation id="6536600139108165863">పరికరం షట్‌డౌన్ అయితే ఆటోమేటిక్‌గా రీబూట్ చేస్తుంది</translation>
-<translation id="6539246272469751178">ఈ విధానం Android యాప్‌ల‌పై ఎలాంటి ప్రభావం చూపదు. Android యాప్‌లు ఎల్లప్పుడూ డిఫాల్ట్ డౌన్‌లోడ్‌ల డైరెక్టరీని ఉపయోగిస్తాయి మరియు <ph name="PRODUCT_OS_NAME" /> ద్వారా డిఫాల్ట్-యేతర డౌన్‌లోడ్‌ల డైరెక్టరీలోకి డౌన్‌లోడ్ చేసిన ఫైల్‌లు వేటినీ యాక్సెస్‌ చేయలేవు.</translation>
+<translation id="6539246272469751178">ఈ విధానం Android యాప్‌లపై ఎలాంటి ప్రభావం చూపదు. Android యాప్‌లు ఎల్లప్పుడూ డిఫాల్ట్ డౌన్‌లోడ్‌ల డైరెక్టరీని ఉపయోగిస్తాయి మరియు <ph name="PRODUCT_OS_NAME" /> ద్వారా డిఫాల్ట్-యేతర డౌన్‌లోడ్‌ల డైరెక్టరీలోకి డౌన్‌లోడ్ చేసిన ఫైల్‌లు వేటినీ యాక్సెస్ చేయలేవు.</translation>
 <translation id="654303922206238013">ecryptfs కోసం బదిలీ వ్యూహం</translation>
 <translation id="6544897973797372144">ఈ విధానం ఒప్పుకు సెట్ చేయబడితే మరియు ChromeOsReleaseChannel విధానం పేర్కొనబడకపోతే నమోదు అవుతున్న డొమైన్ వినియోగదారులు పరికరం యొక్క విడుదల ఛానెల్‌ను మార్చడానికి అనుమతించబడతారు. ఈ విధానం తప్పుకు సెట్ చేయబడితే పరికరం చివరిగా సెట్ చేయబడిన ఛానెల్‌లో లాక్ చేయబడుతుంది.
 
       వినియోగదారు ఎంచుకున్న ఛానెల్ ChromeOsReleaseChannel విధానం ద్వారా భర్తీ చేయబడుతుంది, కానీ పరకరంలో ఇన్‌స్టాల్ చేసిన దానికన్నా విధానం ఛానెల్ అధిక స్థిరంగా ఉంటే, ఎక్కువ స్థిరమైన ఛానెల్ సంస్కరణ ఇన్‌స్టాల్ చేసిన దానికన్నా ఎక్కువ సంస్కరణ సంఖ్యను చేరుకున్న తర్వాత మాత్రమే ఛానెల్ మారుతుంది.</translation>
 <translation id="6553143066970470539">స్క్రీన్ ప్రకాశం శాతం</translation>
-<translation id="6559057113164934677">కెమెరా మరియు మైక్రోఫోన్‌ను ప్రాప్యత చేయడానికి ఏ సైట్‌ని అనుమతించవద్దు</translation>
+<translation id="6559057113164934677">కెమెరా మరియు మైక్రోఫోన్‌ను యాక్సెస్ చేయడానికి ఏ సైట్‌ని అనుమతించవద్దు</translation>
 <translation id="6561396069801924653">సిస్టమ్ ట్రే మెనూలో యాక్సెస్ ఎంపికలను చూపు</translation>
 <translation id="6563458316362153786">802.11r త్వరిత పరివర్తనను ప్రారంభించండి</translation>
 <translation id="6565312346072273043">స్క్రీన్‌లో కీబోర్డ్ యాక్సెస్‌ సౌల‌భ్య ఫీచ‌ర్‌ యొక్క డిఫాల్ట్ స్థితిని లాగిన్ స్క్రీన్‌లో సెట్ చేయండి.
@@ -2525,7 +2526,7 @@
 <translation id="6598235178374410284">వినియోగదారు అవతార్ చిత్రం</translation>
 <translation id="6603004149426829878">ఎల్లవేళలా సమయ మండలిని నిశ్చయిస్తున్నప్పుడు ఏవైనా అందుబాటులో ఉన్న స్థాన సిగ్నల్‌లను సర్వర్‌కు పంపండి</translation>
 <translation id="6628120204569232711">నిల్వ పరిస్థితిని నివేదించు</translation>
-<translation id="6628646143828354685">సమీప బ్లూటూత్ పరికరాలకు ప్రాప్యతను పొందడానికి వెబ్‌సైట్‌లను అనుమతించాలో వద్దో సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రాప్యతను పూర్తిగా బ్లాక్ చేయవచ్చు లేదా వెబ్‌సైట్ సమీప బ్లూటూత్ పరికరాలకు ప్రాప్యత పొందాలనుకునే ప్రతిసారీ వినియోగదారుని అడిగేలా చేయవచ్చు.
+<translation id="6628646143828354685">సమీప బ్లూటూత్ పరికరాలకు యాక్సెస్‌ను పొందడానికి వెబ్‌సైట్‌లను అనుమతించాలో వద్దో సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. యాక్సెస్‌ను పూర్తిగా బ్లాక్ చేయవచ్చు లేదా వెబ్‌సైట్ సమీప బ్లూటూత్ పరికరాలకు యాక్సెస్ పొందాలనుకునే ప్రతిసారీ వినియోగదారుని అడిగేలా చేయవచ్చు.
 
           ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేస్తే, '3' ఉపయోగించబడుతుంది మరియు వినియోగదారు దీన్ని మార్చగలరు.</translation>
 <translation id="663685822663765995">ముద్రణ రంగు మోడ్‌ని పరిమితం చేయండి</translation>
@@ -2535,13 +2536,13 @@
           తప్పున‌కు సెట్ చేస్తే లేదా కాన్ఫిగర్ చేయకపోతే, పర్యవేక్షించబడే వినియోగదారు సృష్టి మరియు లాగిన్ నిలిపివేయబడతాయి. ప్రస్తుతం ఉన్న పర్యవేక్షించబడే వినియోగదారులందరూ దాచబడతారు.
 
           గమనిక: వినియోగదారు మరియు ఎంటర్‌ప్రైజ్ పరికరాల డిఫాల్ట్ ప్రవర్తన భిన్నంగా ఉంటుంది: వినియోగదారు పరికరాల్లో పర్యవేక్షించబడే వినియోగదారులు డిఫాల్ట్‌గా ప్రారంభించబడతారు. కానీ ఎంటర్‌ప్రైజ్ పరికరాల్లో వారు డిఫాల్ట్‌గా నిలిపివేయబడతారు.</translation>
-<translation id="6649397154027560979">ఈ విధానం విస్మరించబడింది, దయచేసి బదులుగా URLBlacklistని ఉపయోగించండి.
+<translation id="6649397154027560979">ఈ విధానం విస్మరించబడింది, దయచేసి బదులుగా URLBlacklistను ఉపయోగించండి.
 
       <ph name="PRODUCT_NAME" />లో జాబితా చేయబడిన ప్రోటోకాల్ స్కీమ్‌లను నిలిపివేస్తుంది.
 
       ఈ జాబితా నుండి స్కీమ్‌ను ఉపయోగిస్తున్న URLలు లోడ్ కావు మరియు నావిగేట్ చేయబడవు.
 
-      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే లేదా జాబితా ఖాళీగా ఉంటే అన్ని స్కీమ్‌లు <ph name="PRODUCT_NAME" />లో యాక్సెస్చేయబడతాయి.</translation>
+      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే లేదా జాబితా ఖాళీగా ఉంటే అన్ని స్కీమ్‌లు <ph name="PRODUCT_NAME" />లో యాక్సెస్ చేయబడతాయి.</translation>
 <translation id="6652197835259177259">స్థానికంగా నిర్వహించబడే వినియోగదారుల సెట్టింగ్‌లు</translation>
 <translation id="6658245400435704251">సర్వర్‌కు అప్‌డేట్ మొదటిసారి విడుదల చేయబడిన సమయం నుండి అప్‌డేట్ యొక్క డౌన్‌లోడ్‌ను గరిష్టంగా ఎన్ని సెకన్ల వరకు పరికరం నియమరహితంగా ఆలస్యం చేయగలదో ఆ సెకన్ల సంఖ్యను నిర్దేశిస్తుంది. ఈ సమయంలో ఒక భాగం పరికరం గోడ గడియార సమయం దృష్ట్యా మరియు మిగిలిన భాగం అప్‌డేట్ తనిఖీల సంఖ్య దృష్ట్యా వేచి ఉండవచ్చు. ఏ సందర్భంలో అయినా, స్కాటర్ నిర్దిష్ట సమయ మొత్తానికి అప్పర్ బౌండ్ చేయబడుతుంది అందువల్ల అప్‌డేట్‌ను డౌన్‌లోడ్ చేయడానికి వేచి ఉండి పరికరం ఎప్పటికీ స్తంభించదు.</translation>
 <translation id="6665670272107384733">త్వరిత అన్‌లాక్‌ను ఉపయోగించడానికి వినియోగదారు పాస్‌వర్డ్‌ను ఎంత తరచుగా నమోదు చేయాలో సెట్ చేయండి</translation>
@@ -2549,18 +2550,18 @@
 
           ఈ విధానాన్ని సెట్ చేయకుంటే, 'DefaultWebUsbGuardSetting' విధానం సెట్ చేయబడి ఉంటే దాని నుండి లేదా వినియోగదారు యొక్క వ్యక్తిగత కాన్ఫిగరేషన్ నుండి గ్లోబల్ డిఫాల్ట్ విలువ అన్ని సైట్‌ల కోసం ఉపయోగించబడుతుంది.
 
-          ఈ విధానంలోని URL నమూనాలు WebUsbAskForUrls ద్వారా కాన్ఫిగర్ చేసిన వాటికి విరుద్ధంగా ఉండకూడదు. ఒక URL రెండింటితో సరిపోలితే రెండు విధానాల్లో దేనికి ప్రాధాన్యం ఇవ్వబడుతుందో ముందుగా పేర్కొనడం సాధ్యం కాదు.</translation>
+          ఈ విధానంలోని URL నమూనాలు WebUsbAskForUrls ద్వారా కాన్ఫిగర్ చేసిన వాటికి విరుద్ధంగా ఉండకూడదు. ఒక URL రెండింటితో సరిపోలితే రెండు విధానాల్లో దేనికి ప్రాధాన్యత ఇవ్వబడుతుందో ముందుగా పేర్కొనడం సాధ్యం కాదు.</translation>
 <translation id="6689792153960219308">హార్డ్‌వేర్ స్థితిని నివేదిస్తుంది</translation>
 <translation id="6698632841807204978">మోనోక్రోమ్ ముద్రణని ప్రారంభించండి</translation>
-<translation id="6699880231565102694">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం రెండు-దశల ప్రమాణీకరణను ప్రారంభిస్తుంది</translation>
+<translation id="6699880231565102694">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం రెండు-కారక ప్రామాణీకరణను ప్రారంభిస్తుంది</translation>
 <translation id="6731757988219967594">పెద్దలకు మాత్రమే విషయాల కంటెంట్ కోసం అగ్రశ్రేణి స్థాయి సైట్‌లను ఫిల్టర్ చేయండి (కానీ పొందుపరిచిన iframesను తప్ప)</translation>
 <translation id="6734521799274931721">ChromeOS లభ్యత కోసం నెట్‌వర్క్ ఫైల్ షేర్‌లను నియంత్రిస్తుంది</translation>
 <translation id="6735701345096330595">అందుబాటులో ఉన్న భాష‌ల స్పెల్‌చెక్‌ను నిర్బంధంగా ప్రారంభించండి</translation>
 <translation id="673699536430961464">ఈ సెట్టింగ్ వలన వినియోగదారులు వారి <ph name="PRODUCT_OS_NAME" /> పరికరంలో సైన్ ఇన్ చేసిన తర్వాత వారి బ్రౌజర్ విండోలలోని కంటెంట్ ప్రదేశంలో Google ఖాతాల మధ్య మారడానికి అనుమతించబడతారు.
 
-      ఒకవేళ ఈ విధానాన్ని తప్పున‌కు సెట్ చేస్తే, అజ్ఞాతేతర బ్రౌజర్ కంటెంట్ ప్రదేశంలో వేరే ఖాతాకు సైన్ ఇన్ చేయడం అనుమతించబడదు.
+      ఒకవేళ ఈ విధానాన్ని తప్పుకు సెట్ చేస్తే, అజ్ఞాతేతర బ్రౌజర్ కంటెంట్ ప్రదేశంలో వేరే ఖాతాకు సైన్ ఇన్ చేయడం అనుమతించబడదు.
 
-      ఒకవేళ ఈ విధానాన్ని సెట్ చేయకున్నా లేదా ఒప్పున‌కు సెట్ చేసినా, డిఫాల్ట్ ప్రవర్తన ఉపయోగించబడుతుంది: బ్రౌజర్ కంటెంట్ ప్రదేశంలో వేరే ఖాతాకు సైన్ ఇన్ చేయడం అనుమతించబడుతుంది. కానీ పిల్లల ఖాతాలకు మాత్రం అనుమతించబడదు, అజ్ఞాతేతర కంటెంట్ ప్రదేశంలో బ్లాక్ చేయబడుతుంది.
+      ఒకవేళ ఈ విధానాన్ని సెట్ చేయకున్నా లేదా ఒప్పుకు సెట్ చేసినా, డిఫాల్ట్ ప్రవర్తన ఉపయోగించబడుతుంది: బ్రౌజర్ కంటెంట్ ప్రదేశంలో వేరే ఖాతాకు సైన్ ఇన్ చేయడం అనుమతించబడుతుంది, కానీ పిల్లల ఖాతాలకు మాత్రం అనుమతించబడదు, అజ్ఞాతేతర కంటెంట్ ప్రదేశంలో బ్లాక్ చేయబడుతుంది.
 
       ఒకవేళ అజ్ఞాత మోడ్ ద్వారా వేరే ఖాతాకు సైన్ ఇన్ చేయడం అనుమతించకూడదనుకుంటే, IncognitoModeAvailability విధానాన్ని ఉపయోగించి ఆ మోడ్‌ను బ్లాక్ చేయడం పరిశీలించండి.
 
@@ -2581,7 +2582,7 @@
 కాన్ఫిగర్ చేయబడకుంటే లేక ప్రారంభించబడితే (ఒప్పుగా సెట్ చేసి ఉంటే) <ph name="PRODUCT_NAME" /> ఉత్పత్తి సమాచారం అందించడం కోసం వినియోగదారులకు పూర్తి-ట్యాబ్ కంటెంట్‌ను చూపించవచ్చు.
 నిలిపివేస్తే (తప్పుకు సెట్ చేసి ఉంటే) <ph name="PRODUCT_NAME" /> ఉత్పత్తి సమాచారం అందించడం కోసం వినియోగదారులకు పూర్తి-ట్యాబ్ కంటెంట్‌ను చూపించదు.
 ఈ సెట్టింగ్ <ph name="PRODUCT_NAME" />లో సైన్-ఇన్ చేసేందుకు తోడ్పడేందుకు, డిఫాల్ట్ బ్రౌజర్‌గా ఎంచుకునేందుకు లేదా ఉత్పాదన ఫీచర్‌లు వారికి వివరించే స్వాగత పేజీల ప్రదర్శనను నియంత్రిస్తుంది.</translation>
-<translation id="6766216162565713893">సమీప బ్లూటూత్ పరికరానికి ప్రాప్యతను మంజూరు చేయడం కోసం వినియోగదారుని అడగటానికి సైట్‌లను అనుమతించండి</translation>
+<translation id="6766216162565713893">సమీప బ్లూటూత్ పరికరానికి యాక్సెస్‌ను మంజూరు చేయడం కోసం వినియోగదారుని అడగటానికి సైట్‌లను అనుమతించండి</translation>
 <translation id="6770454900105963262">యాక్టివ్ కియోస్క్ సెషన్‌ల గురించి సమాచారాన్ని నివేదిస్తుంది</translation>
 <translation id="6786747875388722282">ఎక్స్‌టెన్షన్‌లు</translation>
 <translation id="6786967369487349613">రోమింగ్ ప్రొఫైల్ డైరెక్టరీని సెట్ చేయండి</translation>
@@ -2748,7 +2749,7 @@
 
           ఈ విధానాన్ని సెట్ చేయకుంటే, 'DefaultWebUsbGuardSetting' విధానం సెట్ చేయబడి ఉంటే దాని నుండి లేదా వినియోగదారు యొక్క వ్యక్తిగత కాన్ఫిగరేషన్ నుండి సార్వజనీన డిఫాల్ట్ విలువ అన్ని సైట్‌ల కోసం ఉపయోగించబడుతుంది.
 
-          ఈ విధానంలోని URL ఆకృతులు WebUsbBlockedForUrls ద్వారా కాన్ఫిగర్ చేసిన వాటికి విరుద్ధంగా ఉండకూడదు. ఒక URL రెండింటితో సరిపోలితే రెండు విధానాల్లో దేనికి ప్రాధాన్యం ఇవ్వబడుతుందో ముందుగా పేర్కొనడం సాధ్యం కాదు.</translation>
+          ఈ విధానంలోని URL ఆకృతులు WebUsbBlockedForUrls ద్వారా కాన్ఫిగర్ చేసిన వాటికి విరుద్ధంగా ఉండకూడదు. ఒక URL రెండింటితో సరిపోలితే రెండు విధానాల్లో దేనికి ప్రాధాన్యత ఇవ్వబడుతుందో ముందుగా పేర్కొనడం సాధ్యం కాదు.</translation>
 <translation id="7106631983877564505"><ph name="PRODUCT_OS_NAME" /> పరికరాలు ఇన్‌యాక్టివ్‌గా ఉన్నప్పుడు లేదా తాత్కాలికంగా నిలిపివేయబడినప్పుడు లాక్‌ను ప్రారంభిస్తుంది.
 
       మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, పరికరాన్ని నిద్రావస్థ నుండి అన్‌లాక్ చేయడానికి పాస్‌వర్డ్‌ను అందించమని వినియోగదారులను అడుగుతుంది.
@@ -2771,9 +2772,9 @@
 <translation id="7123266440503901785">ఎక్స్‌టెన్షన్‌ల సురక్షిత అప్‌డేట్, ఇన్‌స్టాలేషన్ కోసం <ph name="PRODUCT_NAME" /> అందిస్తుంది. అయితే, Chrome వెబ్‌స్టోర్ వెలుపల హోస్ట్ చేయబడే కొన్ని ఎక్స్‌టెన్షన్‌ల కంటెంట్ SHA1 లాంటి అసురక్షితమైన సైనింగ్ లేదా హ్యాషింగ్ అల్గారిథమ్‌ల ద్వారా మాత్రమే రక్షించబడవచ్చు . ఈ విధానాన్ని నిలిపివేసినప్పుడు, (ఎక్స్‌టెన్షన్ డెవలపర్‌లు శక్తివంతమైన అల్గారిథమ్‌లతో ఎక్స్‌టెన్షన్‌ను తిరిగి రూపొందించే వరకు) అలాంటి ఎక్స్‌టెన్షన్‌ల తాజా ఇన్‌స్టాలేషన్, అప్‌డేట్‌లు Chrome ద్వారా అనుమతించబడవు. ఈ విధానాన్ని ప్రారంభించినప్పుడు, అలాంటి ఎక్స్‌టెన్షన్‌ల ఇన్‌స్టాలేషన్, అప్‌డేట్‌లు అనుమతించబడవు.
 
           దీనిని సెట్ చేయనప్పుడు, ఇది ప్రారంభిత ప్రవర్తనకు డిఫాల్ట్‌గా ఉంచబడుతుంది.
-          <ph name="PRODUCT_NAME" /> 75లో ప్రారంభించినప్పుడు, దీనిని సెట్ చేయకపోతే నిలిపివేత ప్రవర్తనకు డిఫాల్ట్‌గా ఉంచబడుతుంది.
+          <ph name="PRODUCT_NAME" /> 75వ వెర్షన్ నుండి, దీనిని సెట్ చేయకపోతే నిలిపివేత ప్రవర్తనకు డిఫాల్ట్‌గా ఉంచబడుతుంది.
 
-          <ph name="PRODUCT_NAME" /> 77లో ప్రారంభించినప్పుడు, ఈ విధానం విస్మరించబడుతుంది, నిలిపివేసినట్లుగా పరిగణించబడుతుంది.</translation>
+          <ph name="PRODUCT_NAME" /> 77వ వెర్షన్ నుండి ఈ విధానం విస్మరించబడుతుంది, నిలిపివేసినట్లుగా పరిగణించబడుతుంది.</translation>
 <translation id="7126716959063786004">టాస్క్ మేనేజర్‌లో ప్రాసెస్‌లను ముగించడాన్ని ప్రారంభించండి</translation>
 <translation id="7127892035367404455">లక్ష్య వెర్షన్‌కి ఉపసంహరించండి</translation>
 <translation id="7128918109610518786"><ph name="PRODUCT_OS_NAME" /> లాంచర్ బార్‌లో పిన్ చేసిన అప్లికేషన్‌ల వలె చూపే యాప్‌ల ఐడెంటిఫైయర్‌లను జాబితా చేస్తుంది.
@@ -2781,7 +2782,7 @@
       ఈ విధానం కాన్ఫిగర్ చేయబడి ఉంటే, అప్లికేషన్‌ల సెట్ స్థిరంగా ఉంటుంది మరియు వినియోగదారు మార్చలేరు.
 
       ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేస్తే, వినియోగదారు లాంచర్‌లో పిన్ చేసిన యాప్‌ల జాబితాను మార్చవచ్చు.</translation>
-<translation id="7132877481099023201">ప్రాంప్ట్ చేయబడకుండా వీడియో క్యాప్చర్ పరికరాలకు ప్రాప్యత మంజూరు చేయబడే URLలు</translation>
+<translation id="7132877481099023201">ప్రాంప్ట్ చేయబడకుండా వీడియో క్యాప్చర్ పరికరాలకు యాక్సెస్ మంజూరు చేయబడే URLలు</translation>
 <translation id="7138678301420049075">ఇతర</translation>
 <translation id="7158064522994309072">URLలను వేరే ఏదైనా బ్రౌజర్‌లో తెరిచేందుకు ఎలాంటి ఆదేశాలను ఉపయోగించాలో నియంత్రిస్తుంది.
 
@@ -2806,7 +2807,7 @@
 <translation id="7194407337890404814">డిఫాల్ట్ శోధన ప్రదాత పేరు</translation>
 <translation id="7199304109870655950">Chrome రిమోట్ డెస్క్‌టాప్ హోస్ట్‌లో రిమోట్ యాక్సెస్ ఎంపికలను కాన్ఫిగర్ చేస్తుంది.
 
-Chrome రిమోట్ డెస్క్‌టాప్ హోస్ట్ అనేది వినియోగదారు Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ను ఉపయోగించి కనెక్ట్ కావాలనుకుంటున్న లక్ష్య మెషీన్‌లో అమలయ్యే స్థానిక సేవ. స్థానిక సేవ ప్యాకేజీ చేయబడి ఉంటుంది మరియు <ph name="PRODUCT_NAME" /> బ్రౌజర్ నుండి వేరుగా అమలు చేయబడుతుంది.
+Chrome రిమోట్ డెస్క్‌టాప్ హోస్ట్ అనేది వినియోగదారు Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ని ఉపయోగించి కనెక్ట్ కావాలనుకుంటున్న లక్ష్య మెషీన్‌లో అమలయ్యే స్థానిక సేవ. స్థానిక సేవ ప్యాకేజీ చేయబడి ఉంటుంది మరియు <ph name="PRODUCT_NAME" /> బ్రౌజర్ నుండి వేరుగా అమలు చేయబడుతుంది.
 
 Chrome రిమోట్ డెస్క్‌టాప్ హోస్ట్ ఇన్‌స్టాల్ చేయని పక్షంలో ఈ విధానాలు విస్మరించబడతాయి.</translation>
 <translation id="7202925763179776247">డౌన్‌లోడ్ పరిమితులను అనుమతించు</translation>
@@ -2851,7 +2852,7 @@
 
           ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, లాగిన్ స్క్రీన్ మొదట చూపబడినప్పుడు స్క్రీన్ మాగ్నిఫైయర్ నిలిపివేయబడుతుంది. వినియోగదారులు ఎప్పుడైనా స్క్రీన్ మాగ్నిఫైయర్‌ను ప్రారంభించవచ్చు లేదా నిలిపివేయవచ్చు. లాగిన్ స్క్రీన్‌లో దాని స్థితి వినియోగదారుల మధ్య అలాగే కొనసాగుతుంది.</translation>
 <translation id="7249828445670652637">ARC యాప్‌లకు <ph name="PRODUCT_OS_NAME" /> CA స‌ర్టిఫికెట్‌ల‌ను ప్రారంభించండి</translation>
-<translation id="7258823566580374486">రిమోట్ యాక్సెస్‌ హోస్ట్‌లను నిరోధించ‌డాన్ని ప్రారంభించడం</translation>
+<translation id="7258823566580374486">రిమోట్ యాక్సెస్ హోస్ట్‌లను అందించడాన్ని ప్రారంభించడం</translation>
 <translation id="7260277299188117560">ఆటోమేటిక్ అప్‌డేట్ p2p ప్రారంభించబడింది</translation>
 <translation id="7261252191178797385">పరికర వాల్‌పేపర్ చిత్రం</translation>
 <translation id="7264704483008663819">ఈ విధానం M68లో విస్మరించబడుతుంది. దానికి బదులుగా దయచేసి DeveloperToolsAvailability ఉపయోగించండి.
@@ -2877,7 +2878,7 @@
 
 ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, డిఫాల్ట్ అనేది ఎంటర్‌ప్రైజ్ నిర్వాహిత వినియోగదారులకు అనుమతించబడదు. కానీ నిర్వహించబడని వినియోగదారులకు అనుమతించబడుతుంది.</translation>
 <translation id="7295019613773647480">పర్యవేక్షించబడే వినియోగదారులను ప్రారంభించు</translation>
-<translation id="7301543427086558500">శోధన ఇంజిన్ నుండి శోధన పదాలను సంగ్రహించడానికి ఉపయోగించబడే ప్రత్యామ్నాయ URLల జాబితాను నిర్దేశిస్తుంది. URLలలో <ph name="SEARCH_TERM_MARKER" /> స్ట్రింగ్ ఉండాలి, దానిని ఉపయోగించి శోధన పదాలు సంగ్రహించబడతాయి.
+<translation id="7301543427086558500">శోధన ఇంజిన్ నుండి శోధన పదాలను సంగ్రహించడానికి ఉపయోగించబడే ప్రత్యామ్నాయ URLల జాబితాను నిర్దేశిస్తుంది. శోధన పదాలను సంగ్రహించడానికి ఉపయోగించబడే స్ట్రింగ్ <ph name="SEARCH_TERM_MARKER" /> అనేది, URLలలో ఉండాలి.
 
           ఈ విధానం ఐచ్ఛికం. సెట్ చేయకపోతే, శోధన పదాలను సంగ్రహించడానికి ఏ ప్రత్యామ్నాయ urlలు ఉపయోగించబడవు.
 
@@ -2960,7 +2961,7 @@
 
       విధానాన్ని సెట్ చేయకుంటే లేదా తప్పుకు సెట్ చేస్తే, <ph name="TLS_FALSE_START" /> ప్రారంభించబడుతుంది. దీన్ని ఒప్పుకు సెట్ చేస్తే, <ph name="TLS_FALSE_START" /> నిలిపివేయబడుతుంది.</translation>
 <translation id="7433714841194914373">'క్రోమ్ త‌క్ష‌ణం' ప్రారంభించు</translation>
-<translation id="7434202861148928348">రిమోట్ యాక్సెస్‌ క్లయింట్‌ల కోసం అవసరమైన డొమైన్ పేర్లను కాన్ఫిగర్ చేయండి</translation>
+<translation id="7434202861148928348">రిమోట్ యాక్సెస్ క్లయింట్‌ల కోసం అవసరమైన డొమైన్ పేర్లను కాన్ఫిగర్ చేయండి</translation>
 <translation id="7443061725198440541">ఒకవేళ ఈ విధానాన్ని సెట్ చేయకున్నా లేదా ప్రారంభించినా, వినియోగదారు అక్షరదోష తనిఖీ ఉపయోగించడానికి అనుమతించబడతారు.
 
       ఒకవేళ ఈ విధానాన్ని నిలిపివేసినట్లయితే, వినియోగదారు అక్షరదోష తనిఖీ ఉపయోగించడానికి అనుమతించబడరు. ఈ విధానాన్ని నిలిపివేసినప్పుడు SpellcheckLanguage విధానం కూడా విస్మరించబడుతుంది.
@@ -2971,7 +2972,7 @@
 <translation id="7469554574977894907">శోధన సిఫార్సులని ప్రారంభించండి</translation>
 <translation id="7474249562477552702">స్థానిక విశ్వసనీయ యాంకర్ల ద్వారా మంజూరు చేయబడిన SHA-1 సంతకం గల ప్రమాణపత్రాలను అనుమతించాలో లేదో నిశ్చయించండి</translation>
 <translation id="7485481791539008776">డిఫాల్ట్ ప్రింట‌ర్‌ ఎంపిక నియమాలు</translation>
-<translation id="7485730741952775732">ఈ విధానాన్ని సెట్ చేస్తే, రిమోట్ యాక్సెస్ హోస్ట్ కనెక్షన్‌లను ఆమోదించే క్రమంలో రిమోట్ యాక్సెస్ క్లయింట్‌ల నుండి ప్రమాణీకరణ టోకెన్‌లను ధృవీకరించడానికి ఈ URLను ఉపయోగిస్తుంది. తప్పనిసరిగా RemoteAccessHostTokenUrlతో కలయికలో ఉపయోగించాలి.
+<translation id="7485730741952775732">ఈ విధానాన్ని సెట్ చేస్తే, రిమోట్ యాక్సెస్ హోస్ట్ కనెక్షన్‌లను ఆమోదించే క్రమంలో రిమోట్ యాక్సెస్ క్లయింట్‌ల నుండి ప్రమాణీకరణ టోకెన్‌లను ధృవీకరించడానికి ఈ URLని ఉపయోగిస్తుంది. తప్పనిసరిగా RemoteAccessHostTokenUrlతో కలయికలో ఉపయోగించాలి.
 
 ఈ ఫీచర్ ప్రస్తుతం సర్వర్ తరపున నిలిపివేయబడింది.</translation>
 <translation id="749556411189861380">నమోదిత పరికరాల OS మరియు ఫర్మ్‌వేర్ వెర్షన్‌ను నివేదించండి.
@@ -3021,9 +3022,9 @@
 <translation id="7604169113182304895">Android అనువర్తనాలు ఈ జాబితాకి ప్రాధాన్యత ఇవ్వడానికి స్వచ్ఛందంగా ఎంచుకోగలవు. మీరు దానికి ప్రాధాన్యత ఇవ్వడానికి వాటిని నిర్బంధం చేయలేరు.</translation>
 <translation id="7612157962821894603"><ph name="PRODUCT_NAME" /> స్టార్ట్-అప్ సమయంలో వర్తింపజేయాల్సిన సిస్టమ్ విస్తృత ఫ్లాగ్‌లు</translation>
 <translation id="7614663184588396421">ఆపివేయబడిన ప్రోటోకాల్ పథకాల జాబితా</translation>
-<translation id="7617319494457709698">ఈ విధానం రిమోట్ ధృవీకరణ కోసం <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> ఫంక్ష‌న్‌ <ph name="CHALLENGE_USER_KEY_FUNCTION" />ను ఉపయోగించడానికి అనుమతించే ఎక్స్‌టెన్ష‌న్‌లను పేర్కొంటుంది. APIని ఉపయోగించడానికి ఎక్స్‌టెన్ష‌న్‌లు తప్పనిసరిగా ఈ జాబితాకు జోడించబడాలి.
+<translation id="7617319494457709698">ఈ విధానం రిమోట్ ధృవీకరణ కోసం <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> కార్యనిర్వాహకత <ph name="CHALLENGE_USER_KEY_FUNCTION" />ను ఉపయోగించడానికి అనుమతించే ఎక్స్‌టెన్షన్‌లను పేర్కొంటుంది. APIని ఉపయోగించడానికి ఎక్స్‌టెన్షన్‌లు తప్పనిసరిగా ఈ జాబితాకు జోడించబడాలి.
 
-          జాబితాలో ఎక్స్‌టెన్ష‌న్‌ లేకపోతే లేదా జాబితాను సెట్ చేయకుండా ఉంటే, APIకి చేసే కాల్, ఎర్ర‌ర్‌ కోడ్‌తో విఫలమవుతుంది.</translation>
+          జాబితాలో ఎక్స్‌టెన్షన్ లేకపోతే లేదా జాబితాను సెట్ చేయకుండా ఉంటే, APIకి చేసే కాల్, ఎర్రర్ కోడ్‌తో విఫలమవుతుంది.</translation>
 <translation id="7618907117929117943">ప్రస్తుత OS వెర్షన్, లక్ష్య వెర్షన్ కంటే తాజాది అయి ఉండి దాటినట్లయితే, ఉపసంహరించడం ద్వారా పరికర స్థాయి కాన్ఫిగరేషన్‌ను కొనసాగించడం (నెట్‌వర్క్ ఆధారాలతో సహా) సాధ్యమయితే, ఉపసంహరించి, లక్ష్య వెర్షన్‌నే కొనసాగించండి, అంతే కాక ఉపసంహరణ తర్వాత OOBEని దాటవేయండి. సాధ్యం కానట్లయితే  (లక్ష్య వెర్షన్ డేటా పునరుద్ధరణకు మద్దతు ఇవ్వకపోతే లేదా మరో దిశలో-అనుకూలం కాని మార్పు జరిగినట్లైతే) ఉపసంహరించడం తిరిగి చేయవద్దు లేదా రద్దు చేయవద్దు.
 
 <ph name="PRODUCT_OS_NAME" /> యొక్క 70వ వెర్షన్ మరియు అంతకంటే తాజా వాటికి మద్దతు ఉంది. పాత క్లయింట్‌ల విషయంలో, ఉపసంహరణ నిలిపివేయబడిందని ఈ విలువ సూచిస్తుంది.</translation>
@@ -3041,9 +3042,7 @@
       ఈ విధానాన్ని సెట్ చేయకుంటే, చిన్నారి వినియోగదారు పరికరంలో తల్లి/తండ్రి యాక్సెస్ కోడ్‌ని ధృవీకరించలేరు.</translation>
 <translation id="7625444193696794922">ఈ పరికరం లాక్ చేయబడాల్సిన విడుదల ఛానెల్‌ను పేర్కొంటుంది.</translation>
 <translation id="7632724434767231364">GSSAPI లైబ్రరీ పేరు</translation>
-<translation id="7635471475589566552"><ph name="PRODUCT_NAME" />లో యాప్ లొకేల్‌ను కాన్ఫిగర్ చేస్తుంది. వినియోగదారులు లొకేల్‌ను మార్చనివ్వకుండా నిరోధిస్తుంది. 
-          మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, <ph name="PRODUCT_NAME" /> పేర్కొన్న లొకేల్‌ను ఉపయోగిస్తుంది. కాన్ఫిగర్ చేసిన లొకేల్ మద్దతివ్వకపోతే, బదులుగా 'en-US' ఉపయోగించబడుతుంది. 
-       ఈ సెట్టింగ్‌ను ఆపివేసినా లేదా సెట్ చేయకపోయినా, <ph name="PRODUCT_NAME" /> వినియోగదారు-పేర్కొన్న ప్రాధాన్య లొకేల్‌ను (కాన్ఫిగర్ చేసి ఉంటే), సిస్టమ్ లొకేల్‌ను లేదా ఫాల్‌బ్యాక్ 'en-US' లొకేల్‌ను ఉపయోగిస్తుంది.</translation>
+<translation id="7635471475589566552"><ph name="PRODUCT_NAME" />లో యాప్ లొకేల్‌ను కాన్ఫిగర్ చేస్తుంది మరియు వినియోగదారులు లొకేల్‌ను మార్చనివ్వకుండా నిరోధిస్తుంది. మీరు ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, <ph name="PRODUCT_NAME" /> పేర్కొన్న లొకేల్‌ను ఉపయోగిస్తుంది. కాన్ఫిగర్ చేసిన లొకేల్ మద్దతివ్వకపోతే, బదులుగా 'en-US' ఉపయోగించబడుతుంది. ఈ సెట్టింగ్‌ను ఆపివేసినా లేదా సెట్ చేయకపోయినా, <ph name="PRODUCT_NAME" /> వినియోగదారు-పేర్కొన్న ప్రాధాన్య లొకేల్‌ను (కాన్ఫిగర్ చేసి ఉంటే), సిస్టమ్ లొకేల్‌ను లేదా ఫాల్‌బ్యాక్ 'en-US' లొకేల్‌ను ఉపయోగిస్తుంది.</translation>
 <translation id="7641363659597330616">వినియోగదారులు భద్రతా నిర్ణయాన్ని అతిక్రమించకుండా ఉండే విధంగా <ph name="PRODUCT_NAME" /> పూర్తిగా బ్లాక్ చేసే డౌన్‌లోడ్‌ల రకాన్ని కాన్ఫిగర్ చేస్తుంది.
 
       మీరు ఈ విధానాన్ని సెట్ చేస్తే, <ph name="PRODUCT_NAME" /> నిర్దిష్ట రకాల డౌన్‌లోడ్‌లను నిరోధిస్తుంది మరియు భద్రతా హెచ్చరికలను అతిక్రమించకుండా వినియోగదారులను అడ్డుకుంటుంది.
@@ -3089,8 +3088,8 @@
 <translation id="7701341006446125684">యాప్‌లు, ఎక్స్‌టెన్ష‌న్‌ల కాష్ పరిమాణాన్ని (బైట్‌ల‌లో) సెట్ చేస్తుంది</translation>
 <translation id="7709537117200051035">హోస్ట్‌కు యాక్సెస్ అనుమతించాలో (ఒప్పు) లేదా బ్లాక్ చేయాలో (తప్పు) పేర్కొనే బులియన్ ఫ్లాగ్‌కు హోస్ట్‌పేర్లను మ్యాప్ చేసే నిఘంటువు.
 
-          ఈ విధానం <ph name="PRODUCT_NAME" /> యొక్క అంతర్గత వినియోగానికి మాత్రమే.</translation>
-<translation id="7712109699186360774">సైట్ కెమెరా మరియు/లేదా మైక్రోఫోన్‌ను ప్రాప్యత చేయాలనుకునే ప్రతి సారీ అడుగు</translation>
+          ఈ విధానం <ph name="PRODUCT_NAME" /> యొక్క అంతర్గత ఉపయోగానికి మాత్రమే.</translation>
+<translation id="7712109699186360774">సైట్ కెమెరా మరియు/లేదా మైక్రోఫోన్‌ను యాక్సెస్ చేయాలనుకునే ప్రతి సారీ అడుగు</translation>
 <translation id="7713608076604149344">డౌన్‌లోడ్ పరిమితులు</translation>
 <translation id="7715711044277116530">ప్రెజెంటేషన్ మోడ్‌లో స్క్రీన్ కాంతివిహీనత ఆలస్యాన్ని లెక్కించే శాతం</translation>
 <translation id="7717938661004793600"><ph name="PRODUCT_OS_NAME" /> యాక్సెస్‌ ఫీచ‌ర్‌ల‌ను కాన్ఫిగర్ చేయండి.</translation>
@@ -3102,11 +3101,11 @@
 
       ఈ విధానం సెట్ చేయకపోతే, డిఫాల్ట్‌యేతర పోర్ట్‌ల్లో HTTP/0.9 నిలిపివేయబడుతుంది.</translation>
 <translation id="7747447585227954402"><ph name="PRODUCT_OS_NAME" />లో <ph name="PLUGIN_VM_NAME" />ను ఉపయోగించడానికి పరికరాలకు అనుమతించు</translation>
-<translation id="7749402620209366169">రిమోట్ యాక్సెస్‌ హోస్ట్‌ల కోసం వినియోగదారు-నిర్దిష్ట PINకు బదులుగా రెండు-ద‌శ‌ల‌ ప్రామాణీకరణను ప్రారంభిస్తుంది.
+<translation id="7749402620209366169">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం వినియోగదారు-నిర్దిష్ట PINకు బదులుగా రెండు-కారక ప్రామాణీకరణను ప్రారంభిస్తుంది.
 
-          ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు వినియోగదారులు హోస్ట్‌ను యాక్సెస్‌ చేసేటప్పుడు తప్పనిసరిగా ఒక చెల్లుబాటు అయ్యే రెండు-ద‌శ‌ల‌ కోడ్‌ను అందించాలి.
+          ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు వినియోగదారులు హోస్ట్‌ను యాక్సెస్ చేసేటప్పుడు తప్పనిసరిగా ఒక చెల్లుబాటు అయ్యే రెండు-కారక కోడ్‌ను అందించాలి.
 
-          ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు రెండు-ద‌శ‌ల‌ ప్రామాణీకరణ ప్రారంభించబడదు. వినియోగదారు-నిర్దిష్ట PINను కలిగి ఉన్న డిఫాల్ట్ ప్రవర్తన ఉపయోగించబడుతుంది.</translation>
+          ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు రెండు-కారకం ప్రారంభించబడదు మరియు వినియోగదారు-నిర్దిష్ట PINను కలిగి ఉన్న డిఫాల్ట్ ప్రవర్తన ఉపయోగించబడుతుంది.</translation>
 <translation id="7750991880413385988">కొత్త‌ ట్యాబ్ పేజీని తెరవండి</translation>
 <translation id="7754704193130578113">ప్రతి ఫైల్‌ను డౌన్‌లోడ్ చేసే ముందు ఎక్కడ సేవ్ చెయ్యాలో అడుగు</translation>
 <translation id="7761446981238915769">లాగిన్ స్క్రీన్‌లో ఇన్‌స్టాల్ చేసిన యాప్‌ల జాబితాను కాన్ఫిగర్ చేయండి</translation>
@@ -3145,9 +3144,9 @@
 
       ఈ విధానం తప్పుకు సెట్ చేయబడినా లేదా కాన్ఫిగర్ చేయకపోయినా, వినియోగదారులు భౌతికంగా వ్రాయగలిగే బాహ్య నిల్వ పరికరాల ఫైల్‌లను సృష్టించగలరు మరియు సవరించగలరు.
 
-      ఈ విధానంతో పోల్చినప్పుడు, ExternalStorageDisabled విధానానికి ప్రాముఖ్యత ఇవ్వబడుతుంది  - ExternalStorageDisabled ఒప్పుకు సెట్ చేయబడినట్లయితే, బాహ్య నిల్వకు అన్ని యాక్సెస్‌లు నిలిపివేయబడతాయి, పర్యవసానంగా ఈ విధానం విస్మరించబడుతుంది.
+     ఈ విధానంతో పోల్చినప్పుడు, ExternalStorageDisabled విధానానికి ప్రాముఖ్యత ఇవ్వబడుతుంది  - ExternalStorageDisabled ఒప్పుకు సెట్ చేయబడినట్లయితే, బాహ్య నిల్వకు అన్ని యాక్సెస్‌లు నిలిపివేయబడతాయి, పర్యవసానంగా ఈ విధానం విస్మరించబడుతుంది.
 
-      ఈ విధానాన్ని డైనమిక్ రిఫ్రెష్ చేయడానికి M56 మరియు తర్వాతి వెర్షన్‌లలో మద్దతు ఉంటుంది.</translation>
+   ఈ విధానం యొక్క చలనశీల పునశ్చరణకు M56 మరియు తదుపరి వాటిలో మద్దతు ఉంటుంది.</translation>
 <translation id="7831595031698917016">చెల్ల‌ని విధానాన్ని స్వీకరించడం మరియు పరికర నిర్వహణ సేవ నుండి కొత్త విధానాన్ని పొందడం మధ్య గరిష్ఠ‌ ఆలస్యాన్ని మిల్లీసెకన్లలో పేర్కొంటుంది.
 
       ఈ విధానాన్ని సెట్ చేయడం వలన డిఫాల్ట్ విలువ అయిన 5000 మిల్లీసెకన్లు భర్తీ చేయబడుతుంది. ఈ విధానం కోసం చెల్లుబాటు అయ్యే విలువలు 1000 (1 సెకను) నుండి 300000 (5 నిమిషాల) పరిధిలో ఉంటాయి. ఈ పరిధిలో లేని ఏ విలువలు అయినా సంబంధిత సరిహద్దుకు పరిమితం చేయబడతాయి.
@@ -3207,7 +3206,7 @@
 ఈ విధానాన్ని సెట్ చేయకుండా వదిలివేస్తే, ఇది ప్రారంభించబడుతుంది కానీ వినియోగదారు దీనిని మార్చగలరు.</translation>
 <translation id="7953256619080733119">నిర్వహించబడే వినియోగదారు మాన్యువల్ మినహాయింపు హోస్ట్‌లు</translation>
 <translation id="7958537754689366707">పాస్‌వర్డ్ నమోదు ప్రతి పన్నెండు గంటలకు అవసరమవుతుంది</translation>
-<translation id="7961779417826583251">జాబితాలోని లెగసీ సర్టిఫికేట్ అధికారాల కోసం సర్టిఫికేట్ పారదర్శకత అమలును నిలిపివేయండి</translation>
+<translation id="7961779417826583251">జాబితాలోని లెగసీ సర్టిఫికెట్ అధికారాల కోసం సర్టిఫికెట్ పారదర్శకత అమలును నిలిపివేయండి</translation>
 <translation id="7974114691960514888">ఈ విధానానికి మద్దతు లేదు. రిమోట్ క్లయింట్‌కు కనెక్ట్ అవుతున్నప్పుడు, STUN మరియు రిల్వే సర్వర్‌ల వినియోగాన్ని ప్రారంభిస్తుంది. ఈ సెట్టింగ్ ప్రారంభించబడి ఉంటే, ఈ మెషీన్ రిమోట్ హోస్ట్ మెషీన్‌లు ఫైర్‌వైల్ ద్వారా వేరు చేయబడినా కూడా కనుగొంటుంది మరియు వాటికి కనెక్ట్ చేస్తుంది. ఈ సెట్టింగ్ ఆపివేయబడి మరియు బయటకు వెళ్లే UDP కనెక్షన్‌లు ఫైర్‌వాల్ ద్వారా ఫిల్టర్ చేయబడి ఉంటే, అప్పుడు ఈ మెషీన్ స్థానిక నెట్‌వర్క్‌లోని హోస్ట్ మెషీన్‌లకు మాత్రమే కనెక్ట్ చేస్తుంది.</translation>
 <translation id="7976157349247117979"><ph name="PRODUCT_NAME" /> గమ్యస్థానం పేరు</translation>
 <translation id="7980227303582973781">ప్రత్యేక పరిమితులు లేవు</translation>
@@ -3240,7 +3239,7 @@
 <translation id="8044493735196713914">పరికర బూట్ మోడ్‌ను నివేదిస్తుంది</translation>
 <translation id="8050080920415773384">స్థానిక ముద్రణ</translation>
 <translation id="8053580360728293758">డిఫాల్ట్ ముద్రణ రంగు మోడ్‌ను భర్తీ చేస్తుంది. మోడ్ అందుబాటులో లేనట్లయితే ఈ విధానం విస్మరించబడుతుంది.</translation>
-<translation id="8059164285174960932">రిమోట్ యాక్సెస్‌ క్లయింట్‌లు వారి ప్రామాణీకరణ టోకెన్‌ను పొందే URL</translation>
+<translation id="8059164285174960932">రిమోట్ యాక్సెస్ క్లయింట్‌లు వారి ప్రామాణీకరణ టోకెన్‌ను పొందే URL</translation>
 <translation id="806280865577636339">ఈ విధానాన్ని ఒప్పుకి సెట్ చేస్తే, యాక్సెస్ ఎంపికలు ఎల్లప్పుడూ సిస్టమ్ ట్రే మెనూలో కనిపిస్తాయి.
 
 ఈ విధానాన్ని తప్పుకి సెట్ చేస్తే, యాక్సెస్ ఎంపికలు ఎప్పటికీ సిస్టమ్ ట్రే మెనూలో కనిపించవు.
@@ -3297,7 +3296,7 @@
 <translation id="8140204717286305802">నెట్‌వర్క్ ఇంటర్‌ఫేస్‌ల జాబితాను వాటి రకాలు మరియు హార్డ్‌వేర్ చిరునామాలతో సర్వర్‌కు నివేదించండి.
 
       విధానాన్ని తప్పుకు సెట్ చేస్తే, ఇంటర్‌ఫేస్ జాబితా నివేదించబడదు.</translation>
-<translation id="8141795997560411818">ఈ విధానం Android Google డిస్క్ యాప్‌ను ఉపయోగించకుండా వినియోగదారుని నిరోధించలేదు. మీరు Google డిస్క్‌కు యాక్సెస్‌ నిరోధించాలనుకుంటే, మీరు Android Google డిస్క్ యాప్ యొక్క ఇన‌స్ట‌లేష‌న్‌‌ను కూడా అనుమతించకూడదు.</translation>
+<translation id="8141795997560411818">ఈ విధానం Android Google డిస్క్ యాప్‌ని ఉపయోగించకుండా వినియోగదారుని నిరోధించలేదు. మీరు Google డిస్క్‌కి యాక్సెస్ నిరోధించాలనుకుంటే, మీరు Android Google డిస్క్ యాప్ యొక్క ఇన్‌స్టాలేషన్‌ను కూడా అనుమతించకూడదు.</translation>
 <translation id="8142894094385450823">నిర్వహిత సెషన్ కోసం సిఫార్సు చేసిన లొకేల్‌లను సెట్ చేస్తుంది</translation>
 <translation id="8146727383888924340">Chrome OS నమోదు ద్వారా ఆఫర్‌లను రీడీమ్ చేయడానికి వినియోగదారులను అనుమతించండి</translation>
 <translation id="8148785525797916822"><ph name="PRODUCT_NAME" /> ప్రస్తుతం మద్దతు లేని కంప్యూటర్ లేదా ఆపరేటింగ్ సిస్టమ్‌లో అమలవుతున్నప్పుడు కనిపించే హెచ్చరికను ఆపివేస్తుంది.</translation>
@@ -3325,7 +3324,7 @@
 
       ఈ జాబితా యొక్క నమోదుల ఆకృతి కోసం URL నిరోధిత జాబితా విధానం వివరణను చూడండి.
 
-      ఈ విధానాన్ని పరిమిత నిరోధిత జాబితాలకు మినహాయింపులను తెరవడానికి ఉపయోగించవచ్చు. ఉదాహరణకు, '*'ను అన్ని అభ్యర్థనలను బ్లాక్ చేయడానికి నిరోధిత జాబితాకు జోడించవచ్చు మరియు పరిమిత URLల జాబితాకు యాక్సెస్ను అనుమతించడానికి ఈ విధానాన్ని ఉపయోగించవచ్చు. దీన్ని నిర్దిష్ట స్కీమ్‌లు, ఇతర డొమైన్‌ల యొక్క సబ్‌డొమైన్‌లు, పోర్ట్‌లు లేదా నిర్దిష్ట పథాలకు మినహాయింపులను తెరవడానికి ఉపయోగించవచ్చు.
+      ఈ విధానాన్ని పరిమిత నిరోధిత జాబితాలకు మినహాయింపులను తెరవడానికి ఉపయోగించవచ్చు. ఉదాహరణకు, '*'ను అన్ని అభ్యర్థనలను బ్లాక్ చేయడానికి నిరోధిత జాబితాకు జోడించవచ్చు మరియు పరిమిత URLల జాబితాకు యాక్సెస్‌ను అనుమతించడానికి ఈ విధానాన్ని ఉపయోగించవచ్చు. దీన్ని నిర్దిష్ట స్కీమ్‌లు, ఇతర డొమైన్‌ల యొక్క సబ్‌డొమైన్‌లు, పోర్ట్‌లు లేదా నిర్దిష్ట పథాలకు మినహాయింపులను తెరవడానికి ఉపయోగించవచ్చు.
 
       URL బ్లాక్ చేయబడిందో లేదా అనుమతించబడిందో అత్యంత నిర్దిష్ట ఫిల్టర్ నిశ్చయిస్తుంది. నిరోధిత జాబితా కంటే అనుమతి జాబితాకు ప్రాధాన్యత ఉంటుంది.
 
@@ -3338,7 +3337,7 @@
 <translation id="8244525275280476362">విధాన అప్రామాణీకరణ తర్వాత పొందడంలో గరిష్ట ఆలస్యం</translation>
 <translation id="8256688113167012935">సంబంధిత పరికర-స్థానిక ఖాతాకు లాగిన్ స్క్రీన్‌పై <ph name="PRODUCT_OS_NAME" /> చూపే ఖాతా పేరును నియంత్రిస్తుంది.
 
-      ఈ విధానాన్ని సెట్ చేస్తే, లాగిన్ స్క్రీన్ సంబంధిత పరికర-స్థానిక ఖాతా కోసం చిత్ర-ఆధారిత లాగిన్ ఎంపికలో పేర్కొన్న వాక్యాన్ని ఉపయోగిస్తుంది.
+      ఈ విధానాన్ని సెట్ చేస్తే, లాగిన్ స్క్రీన్ సంబంధిత పరికర-స్థానిక ఖాతా కోసం చిత్ర-ఆధారిత లాగిన్ ఎంపికలో పేర్కొన్న స్ట్రింగ్‌ను ఉపయోగిస్తుంది.
 
       ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, <ph name="PRODUCT_OS_NAME" /> లాగిన్ స్క్రీన్‌పై ప్రదర్శన పేరుగా పరికర-స్థానిక ఖాతా యొక్క ఇమెయిల్ ఖాతా IDని ఉపయోగిస్తుంది.
 
@@ -3546,8 +3545,7 @@
 
       వినియోగదారులు ఈ సెట్టింగ్‌ను మార్చలేరు లేదా భర్తీ చేయలేరు.</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" />వ సంస్కరణ నుండి</translation>
-<translation id="863319402127182273">Android అనువర్తనాల కోసం, ఈ విధానం అంతర్నిర్మిత కెమెరాపై మాత్రమే ప్రభావం చూపుతుంది. ఈ విధానాన్ని ఒప్పుకి సెట్ చేసినప్పుడు, మినహాయింపులు లేకుండా, కెమెరా అన్ని Android అనువర్తనాల కోసం నిలిపివేయబడుతుంది.</translation>
-<translation id="8649763579836720255">రక్షిత కంటెంట్‌ను ప్లే చేయడం కోసం పరికరానికి అర్హత ఉందని నిశ్చితంగా చెప్పే Chrome OS CA జారీ చేసిన ప్రమాణపత్రాన్ని పొందడానికి Chrome OS పరికరాలు రిమోట్ ప్రామాణీకరణ (ధృవీకరించబడిన యాక్సెస్)ను ఉపయోగించవచ్చు. ఈ ప్రక్రియలో హార్డ్‌వేర్ ప్రామాణీకరణ సమాచారాన్ని, పరికరాన్ని ప్రత్యేకంగా గుర్తించే Chrome OS CAకు పంపడం జరుగుతుంది.
+<translation id="8649763579836720255">రక్షిత కంటెంట్‌ను ప్లే చేయడం కోసం పరికరానికి అర్హత ఉందని నిశ్చితంగా చెప్పే Chrome OS CA జారీ చేసిన ప్రమాణపత్రాన్ని పొందడానికి Chrome OS పరికరాలు రిమోట్ ప్రామాణీకరణ (ధృవీకరించబడిన యాక్సెస్)ను ఉపయోగించవచ్చు. ఈ ప్రాసెస్‌లో హార్డ్‌వేర్ ప్రామాణీకరణ సమాచారాన్ని పరికరాన్ని ప్రత్యేకంగా గుర్తించే Chrome OS CAకు పంపే ప్రక్రియ ఉంటుంది.
 
           ఈ సెట్టింగ్ తప్పు అయితే, పరికరం కంటెంట్ రక్షణ కోసం రిమోట్ ప్రామాణీకరణను ఉపయోగించదు మరియు పరికరం రక్షిత కంటెంట్‌ను ప్లే చేయలేకపోవచ్చు.
 
@@ -3650,9 +3648,9 @@
 
       ప్రస్తుతం మద్దతు ఇస్తున్న భాషలు: af, bg, ca, cs, da, de, el, en-AU, en-CA, en-GB, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, fa, fo, fr, he, hi, hr, hu, id, it, ko, lt, lv, nb, nl, pl, pt-BR, pt-PT, ro, ru, sh, sk, sl, sq, sr, sv, ta, tg, tr, uk, vi.</translation>
 <translation id="8906768759089290519">అతిథి మోడ్‌ని ప్రారంభించు</translation>
-<translation id="8908294717014659003">మీడియా క్యాప్చ‌ర్‌ పరికరాలకు యాక్సెస్‌ను పొందడానికి వెబ్‌సైట్‌లు అనుమతించబడ్డాయో లేదో సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. మీడియా క్యాప్చ‌ర్‌ పరికరాలకు యాక్సెస్‌ డిఫాల్ట్‌గా అనుమతించబడుతుంది. లేదా వెబ్‌సైట్, మీడియా క్యాప్చ‌ర్‌ పరికరాలకు యాక్సెస్‌ను పొందాలనుకునే ప్రతిసారి వినియోగదారుని అడుగుతుంది.
+<translation id="8908294717014659003">మీడియా సంగ్రహక పరికరాలకు యాక్సెస్‌ను పొందడానికి వెబ్‌సైట్‌లు అనుమతించబడ్డాయో లేదో సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. మీడియా సంగ్రహక పరికరాలకు యాక్సెస్ డిఫాల్ట్‌గా అనుమతించబడుతుంది లేదా వెబ్‌సైట్ మీడియా సంగ్రహక పరికరాలకు యాక్సెస్‌ను పొందాలనుకునే ప్రతిసారీ వినియోగదారుని అడుగుతుంది.
 
-          ఈ విధానం సెట్ చేయకుండా వదిలివేయబడితే, 'PromptOnAccess' ఉపయోగించబడుతుంది. వినియోగదారు దీన్ని మార్చగలరు.</translation>
+          ఈ విధానం సెట్ చేయకుండా వదిలివేయబడితే, 'PromptOnAccess' ఉపయోగించబడుతుంది మరియు వినియోగదారు దీన్ని మార్చగలరు.</translation>
 <translation id="8909280293285028130">AC శక్తితో అమలవుతున్నప్పుడు ఎంత సమయం పాటు వినియోగదారు ఇన్‌పుట్ లేకుంటే స్క్రీన్ లాక్ చేయబడుతుందో పేర్కొంటుంది.
 
           ఈ విధానాన్ని సున్నా కంటే ఎక్కువ విలువకు సెట్ చేసినప్పుడు, ఇది <ph name="PRODUCT_OS_NAME" /> స్క్రీన్‌ను లాక్ చేయడానికి ముందు తప్పనిసరిగా వినియోగదారు ఎంత సమయం పాటు ఇన్‌యాక్టివ్‌గా ఉండాలో పేర్కొంటుంది.
@@ -3722,9 +3720,9 @@
       సరిపోల్చబడతాయి.  సరిపోలినది కనుగొనబడితే, ఆడియో సంగ్రహణ
       పరికరాలకు ఎలాంటి ప్రేరేపణ లేకుండా యాక్సెస్ మంజూరు చేయబడుతుంది.
 
-      గమనిక: సంస్కరణ 45 వరకు, ఈ విధానానికి కియోస్క్ మోడ్‌లో మాత్రమే మద్దతు ఇవ్వబడింది.</translation>
+      గమనిక: వెర్షన్‌ 45 వరకు, ఈ విధానానికి కియోస్క్ మోడ్‌లో మాత్రమే మద్దతు ఇవ్వబడింది.</translation>
 <translation id="8970205333161758602"><ph name="PRODUCT_FRAME_NAME" /> నిలిపివేత ప్రాంప్ట్‌ను నియంత్రించండి</translation>
-<translation id="8976248126101463034">రిమోట్ ప్రాప్యత హోస్ట్‌ల కోసం gnubby ప్రామాణీకరణను అనుమతిస్తుంది</translation>
+<translation id="8976248126101463034">రిమోట్ యాక్సెస్ హోస్ట్‌ల కోసం gnubby ప్రామాణీకరణను అనుమతిస్తుంది</translation>
 <translation id="8976531594979650914">సిస్టమ్ డిఫాల్ట్ ప్రింటర్‌ను డిఫాల్ట్‌గా ఉపయోగించండి</translation>
 <translation id="8992176907758534924">చిత్రాలని చూపించడానికి ఏ సైట్‌ని అనుమతించవద్దు</translation>
 <translation id="9013875414788074110">లాగిన్ సమయంలో, <ph name="PRODUCT_OS_NAME" /> సర్వర్ (ఆన్‌లైన్)కు అనుగుణంగా లేదా కాష్ చేయబడిన పాస్‌వర్డ్ (ఆఫ్‌లైన్)ను ఉపయోగించి ప్రామాణీకరించవచ్చు.
@@ -3736,9 +3734,9 @@
 ఈ విధానం SAMLను ఉపయోగించి ప్రామాణీకరించబడిన వినియోగదారులను మాత్రమే ప్రభావితం చేస్తుంది.
 
 విధానం విలువను సెకన్లలో పేర్కొనాలి.</translation>
-<translation id="9027787254195333560">ఈ విధానం లాగిన్ స్క్రీన్‌లో వినియోగదారుని సూచించే అవతార్ చిత్రాన్ని కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. <ph name="PRODUCT_OS_NAME" /> అవతార్ చిత్రాన్ని ఏ URL నుండి డౌన్‌లోడ్ చేయాలో పేర్కొనడం ద్వారా విధానం సెట్ చేయబడుతుంది మరియు డౌన్‌లోడ్ సమగ్రతను ధృవీకరించడానికి క్రిప్టోగ్రాఫిక్ హాష్ ఉపయోగించబడుతుంది. చిత్రం తప్పనిసరిగా JPEG ఫార్మాట్‌లో ఉండాలి, దీని పరిమాణం ఎట్టి పరిస్థితుల్లోనూ 512kB మించకూడదు. URL తప్పనిసరిగా ఎటువంటి ప్రామాణీకరణ లేకుండానే యాక్సెస్‌ చేయగలిగేలా ఉండాలి.
+<translation id="9027787254195333560">ఈ విధానం లాగిన్ స్క్రీన్‌లో వినియోగదారుని సూచించే అవతార్ చిత్రాన్ని కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. <ph name="PRODUCT_OS_NAME" /> అవతార్ చిత్రాన్ని ఏ URL నుండి డౌన్‌లోడ్ చేయాలో పేర్కొనడం ద్వారా విధానం సెట్ చేయబడుతుంది మరియు డౌన్‌లోడ్‌ను ధృవీకరించడానికి క్రిప్టోగ్రాఫిక్ హాష్ ఉపయోగించబడుతుంది. చిత్రం తప్పనిసరిగా JPEG ఫార్మాట్‌లో ఉండాలి, దీని పరిమాణం ఎట్టి పరిస్థితులలోనూ 512kB మించకూడదు. URL తప్పనిసరిగా ఎటువంటి ప్రమాణీకరణ లేకుండానే యాక్సెస్ చేయగలిగేలా ఉండాలి.
 
-అవతార్ చిత్రం డౌన్‌లోడ్ చేయబడింది మరియు కాష్ చేయబడింది. URL లేదా హాష్ మారిన ప్రతిసారి ఇది మళ్లీ డౌన్‌లోడ్ చేయబడుతుంది.
+అవతార్ చిత్రం డౌన్‌లోడ్ చేయబడి కాష్ చేయబడుతుంది. URL లేదా హాష్ మారిన ప్రతిసారి ఇది మళ్లీ డౌన్‌లోడ్ చేయబడుతుంది.
 
 విధానం కింది స్కీమాకు అనుగుణంగా ఉంటూ URL మరియు హాష్‌ను JSON ఫార్మాట్‌లో వ్యక్తపరిచే స్ట్రింగ్ రూపంలో పేర్కొనాలి:
       {
@@ -3757,9 +3755,9 @@
 
 ఈ విధానాన్ని సెట్ చేస్తే, <ph name="PRODUCT_OS_NAME" /> అవతార్ చిత్రాన్ని డౌన్‌లోడ్ చేసి, ఉపయోగిస్తుంది.
 
-మీరు ఈ విధానాన్ని సెట్ చేస్తే, వినియోగదారులు దీన్ని మార్చలేరు లేదా అధిగ‌మించ‌లేరు.
+మీరు ఈ విధానాన్ని సెట్ చేస్తే, వినియోగదారులు దీనిని మార్చలేరు లేదా భర్తీ చేయలేరు.
 
-విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, వినియోగదారు లాగిన్ స్క్రీన్‌పై వారిని సూచించే అవతార్ చిత్రాన్ని ఎంచుకోవచ్చు.</translation>
+విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, లాగిన్ స్క్రీన్‌పై వినియోగదారును సూచించే అవతార్ చిత్రాన్ని వారు ఎంచుకోవచ్చు.</translation>
 <translation id="9035964157729712237">ఆమోదంకానిజాబితా నుండి మినహాయింపుకి పొడిగింపు IDలు</translation>
 <translation id="9039822628127365650">ఈ విధానాన్ని సెట్ చేసినప్పుడు, ఇది సెషన్‌ను ముగిస్తూ వినియోగదారు స్వయంచాలకంగా లాగ్‌అవుట్ అయ్యే సమయ నిడివిని పేర్కొంటుంది. సిస్టమ్ ట్రేలో చూపబడిన కౌంట్‌డౌన్ టైమర్ ద్వారా వినియోగదారుకు మిగిలిన సమయం గురించి సమాచారం అందించబడుతుంది.
 
@@ -3768,7 +3766,7 @@
 మీరు ఈ విధానాన్ని సెట్ చేస్తే, వినియోగదారులు దీన్ని మార్చలేరు లేదా భర్తీ చేయలేరు.
 
 విధానం విలువను మిల్లీసెకన్లలో పేర్కొనాలి. విలువలు 30 సెకన్ల నుండి 24 గంటల పరిధికి పరిమితి చేయబడ్డాయి.</translation>
-<translation id="9042911395677044526"><ph name="PRODUCT_OS_NAME" /> పరికరానికి ఒక్కో వినియోగదారుకు వర్తించడానికి నెట్‌వర్క్ కాన్ఫిగరేషన్‌ను సెట్ చేయడానికి అనుమతిస్తుంది. నెట్‌వర్క్ కాన్ఫిగరేషన్ అనేది <ph name="ONC_SPEC_URL" />లో వివరించిన విధంగా తెరిచిన నెట్‌వర్క్ కాన్ఫిగరేషన్ ఆకృతి ద్వారా నిర్వించిన JSON-ఆకృతీకరణ స్ట్రింగ్</translation>
+<translation id="9042911395677044526"><ph name="PRODUCT_OS_NAME" /> పరికరానికి ఒక్కో వినియోగదారుకు వర్తించడానికి నెట్‌వర్క్ కాన్ఫిగరేషన్‌ను సెట్ చేయడానికి అనుమతిస్తుంది. నెట్‌వర్క్ కాన్ఫిగరేషన్ అనేది <ph name="ONC_SPEC_URL" />లో వివరించిన విధంగా తెరిచిన నెట్‌వర్క్ కాన్ఫిగరేషన్ ఫార్మాట్ ద్వారా నిర్వచించిన JSON-ఫార్మాటింగ్ స్ట్రింగ్</translation>
 <translation id="906631898352326790">
       విధానం ప్రారంభించబడినట్లయితే, కామాతో వేరు చేసిన జాబితాలో పేర్కొనే ప్రతి ఒక్క ప్రారంభ స్థానంలో దాని స్వంత ప్రక్రియ అమలు చేయబడుతుంది. ఇది ఉపడొమైన్‌లతో పేర్కొనబడిన మూలాలను కూడా వేరు చేస్తుంది; ఉదా. https://example.com/ను నిర్దిష్టంగా పేర్కొన్నప్పుడు https://foo.example.com/ కూడా https://example.com/ సైట్‌లో భాగంగా వేరు చేయబడుతుంది.
       ఈ విధానం నిలిపివేయబడితే, IsolateOrigins మరియు SitePerProcessల ఫీచర్‌లు నిలిపివేయబడతాయి. వినియోగదారులు ఇప్పటికీ IsolateOriginsను ఆదేశ-పంక్తి ఫ్లాగ్‌ల ద్వారా మాన్యువల్‌గా ప్రారంభించగలుగుతారు.
@@ -3777,15 +3775,15 @@
 
       గమనిక: ఈ విధానం Androidలో వర్తించదు. Androidలో IsolateOrigins ప్రారంభించడానికి, IsolateOriginsAndroid విధాన సెట్టింగ్‌ను ఉపయోగించండి.
       </translation>
-<translation id="9072600218500597787">రిమోట్ యాక్సెస్ హోస్ట్‌లపై విధించబడే అవసరమైన హోస్ట్ పేర్లను కాన్ఫిగర్ చేస్తుంది మరియు వినియోగదారులు దీనిని మార్చకుండా నిరోధిస్తుంది.
+<translation id="9072600218500597787">రిమోట్ యాక్సెస్ హోస్ట్‌లపై విధించబడే అవసరమైన హోస్ట్ పేర్లను కాన్ఫిగర్ చేస్తుంది మరియు వినియోగదారులు దీన్ని మార్చనీయకుండా నిరోధిస్తుంది.
 
 ఈ సెట్టింగ్‌ను ప్రారంభిస్తే, అప్పుడు నిర్దిష్ట డొమైన్ పేరులో నమోదు అయిన ఖాతాలను ఉపయోగించి మాత్రమే హోస్ట్‌లు షేర్ చేయబడతాయి.
 
-ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు ఏ ఖాతానైనా ఉపయోగించి హోస్ట్‌లను షేర్ చేయవచ్చు.
+ఈ సెట్టింగ్‌ను నిలిపివేస్తే లేదా సెట్ చేయకపోతే, అప్పుడు ఏ ఖాతానైనా ఉపయోగించి హోస్ట్‌లు షేర్ చేయబడతాయి.
 
-ఒకవేళ ఉంటే ఈ సెట్టింగ్ RemoteAccessHostDomainను భర్తీ చేస్తుంది.
+ఒకవేళ ఉంటే ఈ సెట్టింగ్ RemoteAccessHostDomainని భర్తీ చేస్తుంది.
 
-RemoteAccessHostClientDomainListను కూడా చూడండి.</translation>
+RemoteAccessHostClientDomainListని కూడా చూడండి.</translation>
 <translation id="9077227880520270584">పరికర-స్థానిక ఖాతా ఆటో-లాగిన్ టైమర్</translation>
 <translation id="9084985621503260744">శక్తి నిర్వహణను వీడియో కార్యాచరణ ప్రభావితం చేయాలో లేదో పేర్కొనడం</translation>
 <translation id="9088433379343318874">పర్యవేక్షించబడే వినియోగదారు కంటెంట్ ప్రదాతను ప్రారంభించండి</translation>
@@ -3833,7 +3831,7 @@
       ఈ విధానాన్ని తక్కువ విలువకు సెట్ చేస్తే శాశ్వత ప్రభావం ఉంటుంది: విధానాన్ని తిరిగి అధిక విలువకు రీసెట్ చేసినా కూడా పరికరాన్ని మునుపటి వెర్షన్‌లకు తిరిగి మార్చడం కుదరకపోవచ్చు.
 
       అసలైన పునరుద్ధరణ అవ‌కాశాలు, బోర్డ్ మరియు క్లిష్టమైన దాడి ప్యాచ్‍‍‌లపై కూడా ఆధారపడవచ్చు.</translation>
-<translation id="913195841488580904">URL ల జాబితాకు యాక్సెస్‌ను నిరోధించండి.</translation>
+<translation id="913195841488580904">URL ల జాబితాకు ప్రాప్తిని నిరోధించండి.</translation>
 <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> ప్రాక్సీ ప్రారంభించు</translation>
 <translation id="9136399279941091445">పేర్కొన్న పరికర విధానాలు విడుదల చేయబడినప్పుడు తీరిక వేళల విరామాలు</translation>
 <translation id="9147029539363974059">సిస్టమ్ లాగ్‌లను పర్యవేక్షించేందుకు నిర్వాహకులను అనుమతించడానికి
@@ -3875,7 +3873,7 @@
       ఈ విధానాన్ని ClientCertificate (విలువ 1)కి సెట్ చేసినప్పుడు, SAML ద్వారా లాగిన్ చేసే కొత్తగా జోడించబడిన వినియోగదారుల కోసం క్లయింట్ సర్టిఫికేట్ ప్రమాణీకరణ ఉపయోగించబడుతుంది. అటువంటి వినియోగదారుల కోసం పాస్‌వర్డ్‌లు ఉపయోగించబడవు మరియు వారి కాష్ చేయబడిన స్థానిక డేటా, సంబంధిత క్రిప్టోగ్రాఫిక్ కీలను ఉపయోగించి రక్షించబడుతుంది. ఉదాహరణకు, స్మార్ట్ కార్డ్ ఆధారిత వినియోగదారు ప్రమాణీకరణను కాన్ఫిగర్ చేయడానికి ఈ సెట్టింగ్ అనుమతిస్తుంది (DeviceLoginScreenAppInstallList విధానం ద్వారా స్మార్ట్ కార్డ్ మిడిల్‌వేర్ యాప్‌లను ఇన్‌స్టాల్ చేయాలని గుర్తుంచుకోండి).
 
       SAMLని ఉపయోగించి ప్రమాణీకరించే వినియోగదారులపై మాత్రమే ఈ విధానం ప్రభావం చూపుతుంది.</translation>
-<translation id="9213347477683611358">పరికరంలోకి ఏ వినియోగదారు కూడా ఇంకా సైన్ ఇన్ చేయనట్లయితే, లాగిన్ స్క్రీన్‌పై చూపబడే పరికర-స్థాయి వాల్‌పేపర్ చిత్రాన్ని కాన్ఫిగర్ చేస్తుంది. Chrome OS పరికరం వాల్‌పేపర్‌ చిత్రాన్ని డౌన్‌లోడ్ చేయగల URLను మరియు డౌన్‌లోడ్ సమగ్రత ధృవీకరణకు ఉపయోగించడానికి క్రిప్టోగ్రాఫిక్ హ్యాష్‌ను పేర్కొనడం ద్వారా విధానం సెట్ చేయబడుతుంది. చిత్రం తప్పనిసరిగా JPEG ఫార్మాట్‌లో ఉండాలి. దీని పరిమాణం ఎట్టి పరిస్థితుల్లోనూ 16MB మించకూడదు. URL తప్పనిసరిగా ఎటువంటి ప్రామాణీకరణ లేకుండానే యాక్సెస్‌ చేయగలిగేలా ఉండాలి. వాల్‌పేపర్ చిత్రం డౌన్‌లోడ్ చేయబడుతుంది. కాష్ చేయబడుతుంది. URL లేదా హ్యాష్ మారినప్పుడల్లా మళ్లీ డౌన్‌లోడ్ చేయబడుతుంది.
+<translation id="9213347477683611358">పరికరంలోకి ఏ వినియోగదారూ ఇంకా సైన్ ఇన్ చేయనట్లయితే, లాగిన్ స్క్రీన్‌పై చూపబడే పరికర-స్థాయి వాల్‌పేపర్ చిత్రాన్ని కాన్ఫిగర్ చేస్తుంది. విధానం Chrome OS పరికరం వాల్‌పేపర్‌ చిత్రాన్ని డౌన్‌లోడ్ చేయగల URLను మరియు డౌన్‌లోడ్ యొక్క ధృవీకరణకు ఉపయోగించడానికి క్రిప్టోగ్రాఫిక్ హ్యాష్‌ను పేర్కొనడం ద్వారా సెట్ చేయబడుతుంది. చిత్రం తప్పనిసరిగా JPEG ఫార్మాట్‌లో ఉండాలి, దీని పరిమాణం ఎట్టి పరిస్థితులలోనూ 16MB మించకూడదు. URL తప్పనిసరిగా ఎటువంటి ప్రామాణీకరణ లేకుండానే యాక్సెస్ చేయగలిగేలా ఉండాలి. వాల్‌పేపర్ చిత్రం డౌన్‌లోడ్ చేయబడి కాష్ చేయబడుతుంది. URL లేదా హ్యాష్ మారినప్పుడల్లా మళ్లీ డౌన్‌లోడ్ చేయబడుతుంది.
 
       విధానాన్ని URL మరియు హ్యాష్‌ను JSON ఫార్మాట్‌లో వ్యక్తపరిచే స్ట్రింగ్ లాగా పేర్కొనాలి, ఉదా.,
       {
@@ -3883,9 +3881,9 @@
         "hash": "examplewallpaperhash"
       }
 
-      పరికరం వాల్‌పేపర్ విధానాన్ని సెట్ చేస్తే, పరికరంలోకి ఏ వినియోగదారు ఇంకా సైన్ ఇన్ చేయనప్పుడు Chrome OS పరికరం లాగిన్ స్క్రీన్‌పై ఉండే వాల్‌పేపర్ చిత్రాన్ని డౌన్‌లోడ్ చేసి, ఉపయోగిస్తుంది. వినియోగదారు లాగిన్ అయిన తర్వాత, వినియోగదారు యొక్క వాల్‌పేపర్ విధానం అమలులోకి వస్తుంది.
+      పరికరం వాల్‌పేపర్ విధానాన్ని సెట్ చేస్తే, పరికరంలోకి ఏ వినియోగదారూ ఇంకా సైన్ ఇన్ చేయనప్పుడు Chrome OS పరికరం లాగిన్ స్క్రీన్‌పై ఉండే వాల్‌పేపర్ చిత్రాన్ని డౌన్‌లోడ్ చేసి, ఉపయోగిస్తుంది. వినియోగదారు లాగిన్ అయిన తర్వాత, వినియోగదారు యొక్క వాల్‌పేపర్ విధానం అమలులోకి వస్తుంది.
 
-      పరికరం వాల్‌పేపర్ విధానం సెట్ చేయకుంటే, వినియోగదారు యొక్క వాల్‌పేపర్ విధానం సెట్ చేయబడినప్పుడు ఏమి చూపాలి అనేది వినియోగదారు యొక్క వాల్‌పేపర్ విధానంపై ఆధారపడి ఉంటుంది.</translation>
+      పరికర వాల్‌పేపర్ విధానం సెట్ చేయకుంటే, వినియోగదారు యొక్క వాల్‌పేపర్ విధానం సెట్ చేయబడినప్పుడు ఏమి చూపాలి అనేది వినియోగదారు యొక్క వాల్‌పేపర్ విధానంపై ఆధారపడి ఉంటుంది.</translation>
 <translation id="9217154963008402249">పర్యవేక్షిత నెట్‌వర్క్ ప్యాకెట్‌ల సమయ వ్యవధి</translation>
 <translation id="922540222991413931">ఎక్స్‌టెన్ష‌న్‌ను, యాప్‌ను, వినియోగదారు స్క్రిప్ట్ ఇన్‌స్టాల్ సోర్స్‌లను కాన్ఫిగర్ చేయండి</translation>
 <translation id="924557436754151212">మొదటి అమలులోనే డిఫాల్ట్ బ్రౌజర్ నుండి సేవ్ చేయబడిన పాస్‌వర్డ్‌లను దిగుమతి చేయి</translation>
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 37dd215f2..c1b50f9 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -3200,7 +3200,6 @@
 
       ผู้ใช้จะเปลี่ยนหรือลบล้างการตั้งค่านี้ไม่ได้</translation>
 <translation id="8631434304112909927">จนถึงรุ่น <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">สำหรับแอป Android นโยบายนี้มีผลต่อกล้องถ่ายรูปในตัวเท่านั้น เมื่อตั้งค่านโยบายนี้เป็น True กล้องจะถูกปิดใช้สำหรับแอป Android ทุกแอปโดยไม่มีข้อยกเว้น</translation>
 <translation id="8649763579836720255">อุปกรณ์ Chrome OS สามารถใช้การรับรองจากระยะไกล (การเข้าถึงที่ยืนยันแล้ว) เพื่อรับใบรับรองที่ออกโดย Chrome OS CA ที่รับรองว่าอุปกรณ์มีสิทธิ์เล่นเนื้อหาที่ได้รับความคุ้มครอง  ขั้นตอนนี้เกี่ยวข้องกับการส่งข้อมูลการรับรองฮาร์ดแวร์ไปยัง Chrome OS CA ที่ระบุอุปกรณ์โดยไม่ซ้ำกัน
 
           หากการตั้งค่านี้เป็น "เท็จ" อุปกรณ์จะไม่ใช้การรับรองจากระยะไกลสำหรับการปกป้องเนื้อหาและอุปกรณ์อาจไม่สามารถเล่นเนื้อหาที่ได้รับความคุ้มครองได้
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index 54f0f8c..d8ac795 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -3268,7 +3268,6 @@
 
       Kullanıcılar bu ayarı değiştiremez veya geçersiz kılamaz.</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" /> sürümüne kadar</translation>
-<translation id="863319402127182273">Bu politika, Android uygulamalarında sadece dahili kamerayı etkiler. Politika doğru (true) seçeneğine ayarlandığında, kamera kullanımı istisnasız olarak tüm Android uygulamalarında devre dışı bırakılır.</translation>
 <translation id="8649763579836720255">Chrome OS cihazları, cihazın korumalı içerikleri oynatabileceğini onaylayan Chrome OS CA'sı (sertifika yetkilisi) tarafından yayınlanan bir sertifika almak için uzaktan onay (Doğrulanmış Erişim) işlevini kullanabilir. Bu işlem Chrome OS CA'ya, cihazı benzersiz şekilde tanımlayan donanım onay bilgilerinin gönderilmesini içerir.
 
           Bu ayar yanlış seçeneğine ayarlanırsa cihaz, içerik koruma için uzaktan onay işlevini kullanmaz ve korumalı içeriği oynatamaz.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 5bc04ce6..dfe1ced6 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -3216,7 +3216,6 @@
 
       Користувачі не можуть змінити або замінити це налаштування.</translation>
 <translation id="8631434304112909927">до версії <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">У додатках Android це правило стосується лише вбудованої камери. Коли для правила встановлено значення "true", камеру вимкнено для всіх додатків Android.</translation>
 <translation id="8649763579836720255">Пристрої ОС Chrome можуть використовувати віддалене засвідчення (перевірений доступ), щоб отримувати сертифікат, виданий ЦС ОС Chrome, який підтверджує, що пристрій може відтворювати захищений вміст. Ця процедура передбачає надсилання інформації схвалення апаратного забезпечення в ЦС ОС Chrome, яка унікально ідентифікує пристрій.
 
           Якщо для цього параметра встановлено значення "false", пристрій не використовуватиме віддалене засвідчення для захисту вмісту й, можливо, не зможе відтворювати захищений вміст.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index a0dcece8..552a0d4e 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -3306,7 +3306,6 @@
 
       Người dùng không thể thay đổi hoặc ghi đè tùy chọn cài đặt này.</translation>
 <translation id="8631434304112909927">cho đến phiên bản <ph name="UNTIL_VERSION" /></translation>
-<translation id="863319402127182273">Đối với các ứng dụng Android, chính sách này chỉ ảnh hưởng đến máy ảnh được tích hợp sẵn. Khi chính sách này được đặt thành true thì máy ảnh sẽ bị tắt cho tất cả ứng dụng Android mà không có ngoại lệ nào.</translation>
 <translation id="8649763579836720255">Thiết bị Chrome OS có thể sử dụng chứng thực từ xa (Quyền truy cập đã xác minh) để nhận được chứng chỉ do Chrome OS CA phát hành khẳng định rằng thiết bị đủ điều kiện để phát nội dung được bảo vệ. Quy trình này bao gồm gửi thông tin chứng thực phần cứng tới Chrome OS CA xác định duy nhất thiết bị.
 
           Nếu cài đặt này là false, thiết bị sẽ không sử dụng chứng thực từ xa để bảo vệ nội dung và thiết bị không thể phát nội dung được bảo vệ.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index 4ecf051..3c4efde 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -3104,7 +3104,6 @@
 
       用户无法更改或替换此设置。</translation>
 <translation id="8631434304112909927">到版本 <ph name="UNTIL_VERSION" /> 为止</translation>
-<translation id="863319402127182273">对于 Android 应用,此政策仅会影响内置摄像头。当此政策设为 true 时,系统会针对所有 Android 应用(无一例外)停用摄像头。</translation>
 <translation id="8649763579836720255">Chrome 操作系统设备可使用远程凭证(经验证的访问凭证)来获取由 Chrome OS CA 颁发的证书,以证明该设备符合播放受保护内容的条件。此过程涉及向 Chrome OS CA 发送用于唯一标识设备的硬件背书信息。
 
           如果该设置为 False,设备将不使用远程凭证来保护内容,并且设备可能无法播放受保护内容。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 36a4430..d4978db 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -3134,7 +3134,6 @@
 
       使用者無法變更或覆寫這項設定。</translation>
 <translation id="8631434304112909927">到第 <ph name="UNTIL_VERSION" /> 版為止</translation>
-<translation id="863319402127182273">這項政策對 Android 應用程式的影響僅限於內建攝影機。將這項政策設為 true 時,所有 Android 應用程式皆無法使用攝影機,沒有任何例外。</translation>
 <translation id="8649763579836720255">當 Chrome 作業系統 CA 判斷裝置可播放受保護內容,Chrome 作業系統裝置可以使用遠端證明 (已驗證存取權) 取得其所發出的憑證。在此過程中,系統會傳送硬體簽署資訊到識別裝置的 Chrome 作業系統 CA。
 
           如果設定為 False,裝置將不會針對受保護內容使用遠端證明,並且無法播放受保護內容。
diff --git a/components/signin/core/browser/about_signin_internals.cc b/components/signin/core/browser/about_signin_internals.cc
index ad8dd06..5711c61 100644
--- a/components/signin/core/browser/about_signin_internals.cc
+++ b/components/signin/core/browser/about_signin_internals.cc
@@ -22,12 +22,14 @@
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
 #include "components/signin/core/browser/account_tracker_service.h"
+#include "components/signin/core/browser/gaia_cookie_manager_service.h"
 #include "components/signin/core/browser/profile_oauth2_token_service.h"
 #include "components/signin/core/browser/signin_client.h"
 #include "components/signin/core/browser/signin_internals_util.h"
 #include "components/signin/core/browser/signin_switches.h"
 #include "google_apis/gaia/oauth2_token_service_delegate.h"
 #include "net/base/backoff_entry.h"
+#include "services/identity/public/cpp/accounts_in_cookie_jar_info.h"
 #include "services/identity/public/cpp/identity_manager.h"
 
 namespace {
@@ -303,7 +305,6 @@
   identity_manager_->AddObserver(this);
   identity_manager_->AddDiagnosticsObserver(this);
   token_service_->AddDiagnosticsObserver(this);
-  cookie_manager_service_->AddObserver(this);
 }
 
 void AboutSigninInternals::Shutdown() {
@@ -311,7 +312,6 @@
   identity_manager_->RemoveObserver(this);
   identity_manager_->RemoveDiagnosticsObserver(this);
   token_service_->RemoveDiagnosticsObserver(this);
-  cookie_manager_service_->RemoveObserver(this);
 }
 
 void AboutSigninInternals::NotifyObservers() {
@@ -445,22 +445,22 @@
   NotifyObservers();
 }
 
-void AboutSigninInternals::OnGaiaAccountsInCookieUpdated(
-    const std::vector<gaia::ListedAccount>& gaia_accounts,
-    const std::vector<gaia::ListedAccount>& signed_out_account,
+void AboutSigninInternals::OnAccountsInCookieUpdated(
+    const identity::AccountsInCookieJarInfo& accounts_in_cookie_jar_info,
     const GoogleServiceAuthError& error) {
   if (error.state() != GoogleServiceAuthError::NONE)
     return;
 
   auto cookie_info = std::make_unique<base::ListValue>();
 
-  for (size_t i = 0; i < gaia_accounts.size(); ++i) {
-    AddCookieEntry(cookie_info.get(), gaia_accounts[i].raw_email,
-                   gaia_accounts[i].gaia_id,
-                   gaia_accounts[i].valid ? "Valid" : "Invalid");
+  for (const auto& signed_in_account :
+       accounts_in_cookie_jar_info.signed_in_accounts) {
+    AddCookieEntry(cookie_info.get(), signed_in_account.raw_email,
+                   signed_in_account.gaia_id,
+                   signed_in_account.valid ? "Valid" : "Invalid");
   }
 
-  if (gaia_accounts.size() == 0) {
+  if (accounts_in_cookie_jar_info.signed_in_accounts.size() == 0) {
     AddCookieEntry(cookie_info.get(), "No Accounts Present.", std::string(),
                    std::string());
   }
diff --git a/components/signin/core/browser/about_signin_internals.h b/components/signin/core/browser/about_signin_internals.h
index 5ce029f..5a5ed9d 100644
--- a/components/signin/core/browser/about_signin_internals.h
+++ b/components/signin/core/browser/about_signin_internals.h
@@ -14,7 +14,6 @@
 #include "base/observer_list.h"
 #include "base/values.h"
 #include "components/keyed_service/core/keyed_service.h"
-#include "components/signin/core/browser/gaia_cookie_manager_service.h"
 #include "components/signin/core/browser/signin_client.h"
 #include "components/signin/core/browser/signin_error_controller.h"
 #include "google_apis/gaia/oauth2_token_service.h"
@@ -22,9 +21,11 @@
 
 namespace identity {
 class IdentityManager;
+struct AccountsInCookieJarInfo;
 }
 
 class AccountTrackerService;
+class GaiaCookieManagerService;
 class PrefRegistrySimple;
 class ProfileOAuth2TokenService;
 class SigninClient;
@@ -38,7 +39,6 @@
 class AboutSigninInternals
     : public KeyedService,
       public OAuth2TokenService::DiagnosticsObserver,
-      public GaiaCookieManagerService::Observer,
       SigninErrorController::Observer,
       identity::IdentityManager::Observer,
       identity::IdentityManager::DiagnosticsObserver {
@@ -96,10 +96,9 @@
   //  }
   std::unique_ptr<base::DictionaryValue> GetSigninStatus();
 
-  // GaiaCookieManagerService::Observer implementations.
-  void OnGaiaAccountsInCookieUpdated(
-      const std::vector<gaia::ListedAccount>& gaia_accounts,
-      const std::vector<gaia::ListedAccount>& signed_out_accounts,
+  // identity::IdentityManager::Observer implementations.
+  void OnAccountsInCookieUpdated(
+      const identity::AccountsInCookieJarInfo& accounts_in_cookie_jar_info,
       const GoogleServiceAuthError& error) override;
 
  private:
diff --git a/components/signin/core/browser/account_info.cc b/components/signin/core/browser/account_info.cc
index 8fc7837..efcea11 100644
--- a/components/signin/core/browser/account_info.cc
+++ b/components/signin/core/browser/account_info.cc
@@ -40,6 +40,20 @@
 // This must be a string which can never be a valid picture URL.
 const char kNoPictureURLFound[] = "NO_PICTURE_URL";
 
+CoreAccountInfo::CoreAccountInfo() = default;
+
+CoreAccountInfo::~CoreAccountInfo() = default;
+
+CoreAccountInfo::CoreAccountInfo(const CoreAccountInfo& other) = default;
+
+CoreAccountInfo::CoreAccountInfo(CoreAccountInfo&& other) noexcept = default;
+
+CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) =
+    default;
+
+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept =
+    default;
+
 AccountInfo::AccountInfo() = default;
 
 AccountInfo::~AccountInfo() = default;
@@ -86,10 +100,9 @@
   return modified;
 }
 
-AccountId AccountIdFromAccountInfo(const AccountInfo& account_info) {
-  if (account_info.IsEmpty())
+AccountId AccountIdFromAccountInfo(const CoreAccountInfo& account_info) {
+  if (account_info.email.empty() || account_info.gaia.empty())
     return EmptyAccountId();
 
-  DCHECK(!account_info.email.empty() && !account_info.gaia.empty());
   return AccountId::FromUserEmailGaiaId(account_info.email, account_info.gaia);
 }
diff --git a/components/signin/core/browser/account_info.h b/components/signin/core/browser/account_info.h
index 9be08af..c98529c 100644
--- a/components/signin/core/browser/account_info.h
+++ b/components/signin/core/browser/account_info.h
@@ -16,22 +16,38 @@
 // Value representing no picture URL associated with an account.
 extern const char kNoPictureURLFound[];
 
-// Information about a specific account.
-struct AccountInfo {
+// Stores the basic information about an account that is always known
+// about the account (from the moment it is added to the system until
+// it is removed). It will unfrequently, if ever, change.
+struct CoreAccountInfo {
+  CoreAccountInfo();
+  ~CoreAccountInfo();
+
+  CoreAccountInfo(const CoreAccountInfo& other);
+  CoreAccountInfo(CoreAccountInfo&& other) noexcept;
+
+  CoreAccountInfo& operator=(const CoreAccountInfo& other);
+  CoreAccountInfo& operator=(CoreAccountInfo&& other) noexcept;
+
+  std::string account_id;
+  std::string gaia;
+  std::string email;
+
+  bool is_under_advanced_protection = false;
+};
+
+// Stores all the information known about an account. Part of the information
+// may only become available asynchronously.
+struct AccountInfo : public CoreAccountInfo {
   AccountInfo();
   ~AccountInfo();
 
-  // Copy/move constructors and assignment operators are defined out-of-line
-  // as they are identified as complex by clang plugin.
   AccountInfo(const AccountInfo& other);
   AccountInfo(AccountInfo&& other) noexcept;
 
   AccountInfo& operator=(const AccountInfo& other);
   AccountInfo& operator=(AccountInfo&& other) noexcept;
 
-  std::string account_id;  // The account ID used by OAuth2TokenService.
-  std::string gaia;
-  std::string email;
   std::string full_name;
   std::string given_name;
   std::string hosted_domain;
@@ -39,7 +55,6 @@
   std::string picture_url;
   gfx::Image account_image;
   bool is_child_account = false;
-  bool is_under_advanced_protection = false;
 
   // Returns true if all fields in the account info are empty.
   bool IsEmpty() const;
@@ -53,6 +68,6 @@
 };
 
 // Returns AccountID populated from |account_info|.
-AccountId AccountIdFromAccountInfo(const AccountInfo& account_info);
+AccountId AccountIdFromAccountInfo(const CoreAccountInfo& account_info);
 
 #endif  // COMPONENTS_SIGNIN_CORE_BROWSER_ACCOUNT_INFO_H_
diff --git a/components/signin/core/browser/account_reconcilor_unittest.cc b/components/signin/core/browser/account_reconcilor_unittest.cc
index 4ea81bf2..2d29bae 100644
--- a/components/signin/core/browser/account_reconcilor_unittest.cc
+++ b/components/signin/core/browser/account_reconcilor_unittest.cc
@@ -304,7 +304,7 @@
   DiceTestSigninClient test_signin_client_;
   FakeProfileOAuth2TokenService token_service_;
   AccountTrackerService account_tracker_;
-  FakeGaiaCookieManagerService cookie_manager_service_;
+  GaiaCookieManagerService cookie_manager_service_;
   FakeSigninManagerForTesting signin_manager_;
   identity::IdentityTestEnvironment identity_test_env_;
   std::unique_ptr<MockAccountReconcilor> mock_reconcilor_;
@@ -354,9 +354,15 @@
     : account_consistency_(signin::AccountConsistencyMethod::kDisabled),
       test_signin_client_(&pref_service_),
       token_service_(&pref_service_),
-      cookie_manager_service_(&token_service_,
-                              &test_signin_client_,
-                              &test_url_loader_factory_),
+      cookie_manager_service_(
+          &token_service_,
+          &test_signin_client_,
+          base::BindRepeating(
+              [](network::TestURLLoaderFactory* test_url_loader_factory)
+                  -> scoped_refptr<network::SharedURLLoaderFactory> {
+                return test_url_loader_factory->GetSafeWeakWrapper();
+              },
+              &test_url_loader_factory_)),
 #if defined(OS_CHROMEOS)
       signin_manager_(&test_signin_client_, &token_service_, &account_tracker_),
 #else
@@ -368,7 +374,8 @@
       identity_test_env_(&account_tracker_,
                          &token_service_,
                          &signin_manager_,
-                         &cookie_manager_service_) {
+                         &cookie_manager_service_,
+                         &test_url_loader_factory_) {
   AccountTrackerService::RegisterPrefs(pref_service_.registry());
   ProfileOAuth2TokenService::RegisterProfilePrefs(pref_service_.registry());
   SigninManagerBase::RegisterProfilePrefs(pref_service_.registry());
diff --git a/components/signin/core/browser/fake_gaia_cookie_manager_service.cc b/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
index 4fd61bc..a568d86 100644
--- a/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
+++ b/components/signin/core/browser/fake_gaia_cookie_manager_service.cc
@@ -35,30 +35,14 @@
     OAuth2TokenService* token_service,
     SigninClient* client,
     network::TestURLLoaderFactory* test_url_loader_factory)
-    : FakeGaiaCookieManagerService(
+    : GaiaCookieManagerService(
           token_service,
           client,
-          test_url_loader_factory,
-          base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
-              test_url_loader_factory)) {}
+          base::BindRepeating(&GetSharedURLLoaderFactory,
+                              test_url_loader_factory->GetSafeWeakWrapper())),
+      test_url_loader_factory_(test_url_loader_factory) {}
 
-FakeGaiaCookieManagerService::FakeGaiaCookieManagerService(
-    OAuth2TokenService* token_service,
-    SigninClient* client,
-    network::TestURLLoaderFactory* test_url_loader_factory,
-    scoped_refptr<network::WeakWrapperSharedURLLoaderFactory>
-        shared_url_loader_factory)
-    : GaiaCookieManagerService(token_service,
-                               client,
-                               base::BindRepeating(&GetSharedURLLoaderFactory,
-                                                   shared_url_loader_factory)),
-      test_url_loader_factory_(test_url_loader_factory),
-      shared_url_loader_factory_(shared_url_loader_factory) {}
-
-FakeGaiaCookieManagerService::~FakeGaiaCookieManagerService() {
-  if (shared_url_loader_factory_)
-    shared_url_loader_factory_->Detach();
-}
+FakeGaiaCookieManagerService::~FakeGaiaCookieManagerService() {}
 
 void FakeGaiaCookieManagerService::SetListAccountsResponseHttpNotFound() {
   signin::SetListAccountsResponseHttpNotFound(test_url_loader_factory_);
diff --git a/components/signin/core/browser/fake_gaia_cookie_manager_service.h b/components/signin/core/browser/fake_gaia_cookie_manager_service.h
index 9da87b9..874987e 100644
--- a/components/signin/core/browser/fake_gaia_cookie_manager_service.h
+++ b/components/signin/core/browser/fake_gaia_cookie_manager_service.h
@@ -13,10 +13,6 @@
 #include "components/signin/core/browser/list_accounts_test_utils.h"
 #include "services/network/test/test_url_loader_factory.h"
 
-namespace network {
-class WeakWrapperSharedURLLoaderFactory;
-}
-
 class FakeGaiaCookieManagerService : public GaiaCookieManagerService {
  public:
   // Convenience constructor overload which uses the SharedURLLoaderFactory from
@@ -50,22 +46,11 @@
                                           const std::string& gaia_id2);
 
  private:
-  // Internal constructor which does the actual construction.
-  FakeGaiaCookieManagerService(
-      OAuth2TokenService* token_service,
-      SigninClient* client,
-      network::TestURLLoaderFactory* test_url_loader_factory,
-      scoped_refptr<network::WeakWrapperSharedURLLoaderFactory>
-          shared_url_loader_factory);
-
   // Provides a fake response for calls to /ListAccounts.
   // Owned by the client if passed in via the constructor that takes in this
   // pointer; null otherwise.
   network::TestURLLoaderFactory* test_url_loader_factory_ = nullptr;
 
-  scoped_refptr<network::WeakWrapperSharedURLLoaderFactory>
-      shared_url_loader_factory_;
-
   DISALLOW_COPY_AND_ASSIGN(FakeGaiaCookieManagerService);
 };
 
diff --git a/components/signin/core/browser/signin_manager_unittest.cc b/components/signin/core/browser/signin_manager_unittest.cc
index 145a959..5cb99d8 100644
--- a/components/signin/core/browser/signin_manager_unittest.cc
+++ b/components/signin/core/browser/signin_manager_unittest.cc
@@ -77,9 +77,7 @@
   SigninManagerTest()
       : test_signin_client_(&user_prefs_),
         token_service_(&user_prefs_),
-        cookie_manager_service_(&token_service_,
-                                &test_signin_client_,
-                                &test_url_loader_factory_),
+        cookie_manager_service_(&token_service_, &test_signin_client_),
         account_consistency_(signin::AccountConsistencyMethod::kDisabled) {
     AccountFetcherService::RegisterPrefs(user_prefs_.registry());
     AccountTrackerService::RegisterPrefs(user_prefs_.registry());
@@ -162,8 +160,7 @@
   TestSigninClient test_signin_client_;
   FakeProfileOAuth2TokenService token_service_;
   AccountTrackerService account_tracker_;
-  network::TestURLLoaderFactory test_url_loader_factory_;
-  FakeGaiaCookieManagerService cookie_manager_service_;
+  GaiaCookieManagerService cookie_manager_service_;
   FakeAccountFetcherService account_fetcher_;
   std::unique_ptr<SigninManager> manager_;
   TestSigninManagerObserver test_observer_;
diff --git a/components/signin/ios/browser/account_consistency_service_unittest.mm b/components/signin/ios/browser/account_consistency_service_unittest.mm
index 1a7a24a..d8275f82 100644
--- a/components/signin/ios/browser/account_consistency_service_unittest.mm
+++ b/components/signin/ios/browser/account_consistency_service_unittest.mm
@@ -93,11 +93,11 @@
 };
 
 // Mock GaiaCookieManagerService to catch call to ForceOnCookieChangeProcessing.
-// It isn't an actual mock as it is not desirable to extend a Mock from a Fake.
-class CustomGaiaCookieManagerService : public FakeGaiaCookieManagerService {
+// TODO(https://crbug.com/907782): Update this to use gmock.
+class CustomGaiaCookieManagerService : public GaiaCookieManagerService {
  public:
   CustomGaiaCookieManagerService()
-      : FakeGaiaCookieManagerService(nullptr, nullptr),
+      : GaiaCookieManagerService(nullptr, nullptr),
         calls_to_force_on_cookie_change_processing_(0) {}
 
   uint8_t CallsToForceOnCookieChangeProcessing() {
diff --git a/components/strings/components_chromium_strings_te.xtb b/components/strings/components_chromium_strings_te.xtb
index 26077cf..c31a056 100644
--- a/components/strings/components_chromium_strings_te.xtb
+++ b/components/strings/components_chromium_strings_te.xtb
@@ -16,7 +16,8 @@
           &gt;
           LAN సెట్టింగ్‌లకు వెళ్లండి
           మరియు "మీ LAN కోసం ప్రాక్సీ సర్వర్‌ను ఉపయోగించండి" చెక్‌బాక్స్‌ ఎంపికను తీసివేయండి.</translation>
-<translation id="48558539577516920">Chromium మీ నెట్‌వర్క్‌ను యాక్సెస్ చేయగలిగేలా, ఫైర్‌వాల్ లేదా యాంటీవైరస్ సెట్టింగ్‌లలో అనుమతిని ఇవ్వండి.</translation>
+<translation id="48558539577516920">మీ ఫైర్‌వాల్ లేదా యాంటీవైరస్ సెట్టింగ్‌ల్లో నెట్‌వర్క్‌ను యాక్సెస్ చేయడానికి
+        Chromiumను అనుమతించండి.</translation>
 <translation id="580822234363523061">Chromium మెను &gt;
           <ph name="SETTINGS_TITLE" />
           &gt;
diff --git a/components/strings/components_google_chrome_strings_te.xtb b/components/strings/components_google_chrome_strings_te.xtb
index 3b398e4..20215ed 100644
--- a/components/strings/components_google_chrome_strings_te.xtb
+++ b/components/strings/components_google_chrome_strings_te.xtb
@@ -7,7 +7,8 @@
 <translation id="2874156562296220396"><ph name="BEGIN_LINK_CHROMIUM" />Chromium<ph name="END_LINK_CHROMIUM" /> ఓపెన్ సోర్స్ ప్రాజెక్ట్‌ మరియు ఇతర <ph name="BEGIN_LINK_OSS" />ఓపెన్ సోర్స్ సాఫ్ట్‌వేర్<ph name="END_LINK_OSS" />లపై Google Chrome ఎంతగానో ఆధారపడుతుంది.</translation>
 <translation id="3140883423282498090">మీ మార్పులు మీరు Google Chromeను మళ్లీ ప్రారంభించినప్పుడు ప్రభావాన్ని చూపుతాయి.</translation>
 <translation id="3444832043240812445">మీరు <ph name="BEGIN_LINK" />క్రాష్‌ నివేదికను ప్రారంభించినపుడు<ph name="END_LINK" /> ఈ పేజీ మీ ఇటీవలి క్రాష్‌ల సమాచారాన్ని మాత్రమే చూపిస్తుంది.</translation>
-<translation id="3875312571075912821">Chrome మీ నెట్‌వర్క్‌ను యాక్సెస్ చేయగలిగేలా, ఫైర్‌వాల్ లేదా యాంటీవైరస్ సెట్టింగ్‌లలో అనుమతిని ఇవ్వండి.</translation>
+<translation id="3875312571075912821">మీ ఫైర్‌వాల్ లేదా యాంటీవైరస్ సెట్టింగ్‌ల్లో నెట్‌వర్క్‌ను యాక్సెస్ చేయడానికి
+          Chromeను అనుమతించండి.</translation>
 <translation id="4010643444566880169">Chrome OS దాని ప్రాథమిక సెటప్‌ను పూర్తి చేయలేదు.</translation>
 <translation id="4853578032408195113">మీరు సురక్షితమైన Google Chrome పేజీని వీక్షిస్తున్నారు</translation>
 <translation id="6011049234605203654">          Chrome మెను &gt;
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index af0de30e..e8f7e1b 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -453,7 +453,7 @@
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />Proxy, Firewall und DNS-Konfiguration prüfen<ph name="END_LINK" /></translation>
 <translation id="372429172604983730">Anwendungen, die diesen Fehler verursachen können, sind Antivirensoftware, Firewalls, Webfilter- oder Proxy-Software.</translation>
 <translation id="3736520371357197498">Wenn Sie die Sicherheitsrisiken kennen, können Sie <ph name="BEGIN_LINK" />diese unsichere Website aufrufen<ph name="END_LINK" />, bevor die gefährlichen Programme entfernt wurden.</translation>
-<translation id="3739623965217189342">Von Ihnen kopierter Link</translation>
+<translation id="3739623965217189342">Von mir kopierter Link</translation>
 <translation id="3744899669254331632">Sie können <ph name="SITE" /> zurzeit nicht aufrufen, weil die Website verschlüsselte Anmeldedaten gesendet hat, die von Chromium nicht verarbeitet werden können. Netzwerkfehler und Angriffe sind in der Regel nur vorübergehend, sodass die Seite wahrscheinlich später wieder funktioniert.</translation>
 <translation id="3745099705178523657">Nach erfolgter Bestätigung werden die Kartendetails Ihres Google-Kontos an diese Website weitergegeben.</translation>
 <translation id="3748148204939282805">Hacker könnten auf <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> etwa versuchen, Sie zur Installation von Software oder zur Herausgabe von Daten wie Passwörtern, Telefonnummern oder Kreditkartendetails zu bewegen. <ph name="BEGIN_LEARN_MORE_LINK" />Weitere Informationen<ph name="END_LEARN_MORE_LINK" /></translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index ed97e39..0b00c0d 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -669,7 +669,7 @@
 <translation id="5179510805599951267"><ph name="ORIGINAL_LANGUAGE" /> में नहीं है? इस गड़बड़ी की रिपोर्ट करें</translation>
 <translation id="5190835502935405962">बुकमार्क बार</translation>
 <translation id="5201306358585911203">इस पेज पर एम्बेड किए गए पेज का कहना है कि</translation>
-<translation id="5205222826937269299">नाम आवश्यक है</translation>
+<translation id="5205222826937269299">नाम ज़रूरी है</translation>
 <translation id="5215116848420601511">Google Pay का इस्तेमाल करने वाले भुगतान के तरीके और पते</translation>
 <translation id="5222812217790122047">ईमेल आवश्यक है</translation>
 <translation id="5230733896359313003">शिपिंग पता</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index a17e8d6..9455ff3 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -29,11 +29,11 @@
 <translation id="112840717907525620">విధాన కాష్ సరిపోయింది</translation>
 <translation id="1150979032973867961">ఈ సర్వర్ <ph name="DOMAIN" /> అని నిరూపించుకోలేకపోయింది; దీని భద్రతా స‌ర్టిఫికెట్‌ను మీ కంప్యూటర్ ఆపరేటింగ్ సిస్టమ్ విశ్వసించలేదు. ఇది తప్పుగా కాన్ఫిగర్ చేయడం వలన లేదా దాడి చేసే వ్యక్తి మీ కనెక్షన్‌కు అంతరాయం కలిగించడం వలన జరిగి ఉండవచ్చు.</translation>
 <translation id="1151972924205500581">పాస్‌వర్డ్ అవసరం</translation>
-<translation id="1152921474424827756"><ph name="URL" /> యొక్క <ph name="BEGIN_LINK" />కాష్ చేయబడిన కాపీ<ph name="END_LINK" />ని ప్రాప్యత చేయండి</translation>
+<translation id="1152921474424827756"><ph name="URL" /> యొక్క <ph name="BEGIN_LINK" />కాష్ చేయబడిన కాపీ<ph name="END_LINK" />ని యాక్సెస్ చేయండి</translation>
 <translation id="1156303062776767266">మీరు స్థానిక లేదా షేర్ చేసిన ఫైల్‌ను చూస్తున్నారు</translation>
 <translation id="1158211211994409885"><ph name="HOST_NAME" /> ఊహించని విధంగా కనెక్షన్‌ను మూసివేసింది.</translation>
 <translation id="1161325031994447685">Wi-Fiకి మళ్లీ కనెక్ట్ చేయడం</translation>
-<translation id="1165039591588034296">లోపం</translation>
+<translation id="1165039591588034296">ఎర్రర్</translation>
 <translation id="1173894706177603556">పేరుమార్చు</translation>
 <translation id="1175364870820465910">&amp;ముద్రించు...</translation>
 <translation id="1181037720776840403">తీసివేయి</translation>
@@ -51,7 +51,7 @@
 <translation id="124116460088058876">మరిన్ని భాషలు</translation>
 <translation id="1250759482327835220">తర్వాతిసారి మరింత వేగంగా చెల్లించడానికి, మీ కార్డ్, పేరు మరియు బిల్లింగ్ చిరునామాను మీ Google ఖాతాకు సేవ్ చేయండి.</translation>
 <translation id="1253921432148366685"><ph name="TYPE_1" />, <ph name="TYPE_2" /> (సమకాలీకరించబడ్డాయి)</translation>
-<translation id="1256368399071562588">&lt;p&gt;మీరు ఏదైనా వెబ్‌సైట్‌ని తెరవడానికి ప్రయత్నించినప్పుడు, అది తెరవబడకుంటే, ముందుగా ఈ సమస్య నివారణ ప్రక్రియ దశలను ఉపయోగించి ఎర్రర్‌ని పరిష్కరించడానికి ప్రయత్నించండి:&lt;/p&gt;
+<translation id="1256368399071562588">&lt;p&gt;మీరు ఏదైనా వెబ్‌సైట్‌ను తెరవడానికి ప్రయత్నించినప్పుడు, అది తెరుచుకోకపోతే, ముందుగా ఈ పరిష్కార ప్రక్రియ దశలను ఉపయోగించి ఎర్రర్‌ను పరిష్కరించడానికి ప్రయత్నించండి:&lt;/p&gt;
     &lt;ol&gt;
     &lt;li&gt;వెబ్ చిరునామాలో అక్షరక్రమ దోషాలు ఉన్నాయేమో తనిఖీ చేయండి.&lt;/li&gt;
     &lt;li&gt;మీ ఇంటర్నెట్ కనెక్షన్ సరిగ్గానే పని చేస్తున్నట్లు నిర్ధారించుకోండి.&lt;/li&gt;
@@ -87,7 +87,7 @@
 <translation id="139305205187523129"><ph name="HOST_NAME" /> డేటా ఏదీ పంపలేదు.</translation>
 <translation id="1405567553485452995">లేత ఆకుపచ్చ రంగు</translation>
 <translation id="1407135791313364759">అన్నీ తెరువు</translation>
-<translation id="1413809658975081374">గోప్యతా లోపం</translation>
+<translation id="1413809658975081374">గోప్యతా ఎర్రర్</translation>
 <translation id="14171126816530869"><ph name="LOCALITY" /> వద్ద <ph name="ORGANIZATION" /> యొక్క గుర్తింపు <ph name="ISSUER" />చే ధ్రువీకరించబడింది.</translation>
 <translation id="1426410128494586442">అవును</translation>
 <translation id="1430915738399379752">ముద్రించు</translation>
@@ -112,7 +112,7 @@
       &lt;p&gt;దయచేసి &lt;strong&gt;సెట్టింగ్‌లు&lt;/strong&gt; యాప్ యొక్క &lt;strong&gt;సాధారణం&lt;/strong&gt; విభాగంలో తేదీ మరియు సమయాన్ని సర్దుబాటు చేయండి.&lt;/p&gt;</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">ఈ వెబ్ పేజీని ప్రదర్శిస్తున్నప్పుడు ఏదో తప్పు జరిగింది.</translation>
-<translation id="1592005682883173041">స్థానిక డేటా ప్రాప్యత</translation>
+<translation id="1592005682883173041">స్థానిక డేటా యాక్సెస్</translation>
 <translation id="1594030484168838125">ఎంచుకోండి</translation>
 <translation id="161042844686301425">నీలి ఆకుపచ్చ</translation>
 <translation id="1618822247301510817">మీరు కాపీ చేసిన చిత్రం</translation>
@@ -170,10 +170,10 @@
 <translation id="192020519938775529">{COUNT,plural, =0{ఏమీ లేవు}=1{1 సైట్}other{# సైట్‌లు}}</translation>
 <translation id="1927235823738766038">ఆమోదించే క్రెడిట్ మరియు డెబిట్ కార్డ్‌లు</translation>
 <translation id="194030505837763158"><ph name="LINK" />కి వెళ్లండి</translation>
-<translation id="1945968466830820669">మీరు మీ సంస్థ ఖాతాకు యాక్సెస్‌ను కోల్పోవచ్చు. లేదా గుర్తింపు స‌మాచారం చౌర్యానికి గురికావచ్చు. Chromium మీరు ఇప్పుడే మీ పాస్‌వర్డ్‌ను మార్చాల్సిందిగా సిఫార్సు చేస్తోంది.</translation>
+<translation id="1945968466830820669">మీరు మీ సంస్థ యొక్క ఖాతాకు యాక్సెస్‌ని కోల్పోవచ్చు లేదా గుర్తింపు చౌర్యానికి గురికావచ్చు. Chromium మీరు ఇప్పుడే మీ పాస్‌వర్డ్‌ని మార్చాల్సిందిగా సిఫార్సు చేస్తోంది.</translation>
 <translation id="1948773908305951926">ఆమోదించబడిన ప్రీపెయిడ్ కార్డ్‌లు</translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> బుక్‌మార్క్‌లు</translation>
-<translation id="1973335181906896915">శ్రేణిగా రూపొందించడంలో లోపం</translation>
+<translation id="1973335181906896915">శ్రేణిగా రూపొందించడంలో ఎర్రర్</translation>
 <translation id="1974060860693918893">ఆధునిక</translation>
 <translation id="1978555033938440688">ఫర్మ్‌వేర్ వెర్షన్‌</translation>
 <translation id="1981206234434200693">Chrome బ్రౌజింగ్ చరిత్ర డేటాని తీసివేయి</translation>
@@ -202,7 +202,7 @@
 <translation id="2148613324460538318">కార్డ్‌ని జోడించు</translation>
 <translation id="2154054054215849342">సమకాలీకరణ మీ డొమైన్‌కు అందుబాటులో లేదు</translation>
 <translation id="2154484045852737596">కార్డ్‌ను సవరించండి</translation>
-<translation id="2166049586286450108">పూర్తి నిర్వాహక ప్రాప్యత</translation>
+<translation id="2166049586286450108">పూర్తి నిర్వాహక యాక్సెస్</translation>
 <translation id="2166378884831602661">ఈ సైట్ సురక్షితమైన కనెక్షన్‌ను అందించలేదు</translation>
 <translation id="2181821976797666341">విధానాలు</translation>
 <translation id="2183608646556468874">ఫోన్ నంబర్</translation>
@@ -216,12 +216,12 @@
 <translation id="2230458221926704099"><ph name="BEGIN_LINK" />విశ్లేషణల యాప్‌<ph name="END_LINK" />ను ఉపయోగించి మీ కనెక్షన్‌ను సరి చేయండి</translation>
 <translation id="2239100178324503013">ఇప్పుడే పంపండి</translation>
 <translation id="225207911366869382">ఈ విధానం కోసం ఈ విలువ తగ్గించబడింది.</translation>
-<translation id="2262243747453050782">HTTP లోపం</translation>
+<translation id="2262243747453050782">HTTP ఎర్రర్</translation>
 <translation id="2263079731045660823">Chrome సెట్టింగ్‌లలో క్రెడిట్ కార్డ్ స్వీయ పూరింపు సమాచారాన్ని అప్‌డేట్ చేయండి</translation>
 <translation id="2270484714375784793">ఫోన్ నంబర్</translation>
 <translation id="2283340219607151381">చిరునామాలను సేవ్ చేసి, పూరించండి</translation>
 <translation id="2292556288342944218">మీ ఇంటర్నెట్ యాక్సెస్ బ్లాక్ చేయబడింది</translation>
-<translation id="2316887270356262533">1 MB కంటే తక్కువ స్థలాన్ని ఖాళీ చేస్తుంది. మీ తరువాత సందర్శనలో కొన్ని సైట్‌లు మరింత నెమ్మదిగా లోడ్ కావచ్చు.</translation>
+<translation id="2316887270356262533">1 MB కంటే తక్కువ స్థలాన్ని ఖాళీ చేస్తుంది. కొన్ని సైట్‌లను మీరు తర్వాతిసారి సందర్శించేటప్పుడు, అవి మరింత నెమ్మదిగా లోడ్ కావచ్చు.</translation>
 <translation id="2317259163369394535"><ph name="DOMAIN" />కి వినియోగదారు పేరు మరియు పాస్‌వర్డ్ అవసరం.</translation>
 <translation id="2317583587496011522">డెబిట్ కార్డ్‌లు ఆమోదించబడతాయి.</translation>
 <translation id="2330137317877982892"><ph name="CREDIT_CARD" />, గడువు <ph name="EXPIRATION_DATE_ABBR" />న ముగుస్తుంది</translation>
@@ -274,7 +274,7 @@
 <translation id="2634124572758952069"><ph name="HOST_NAME" /> యొక్క సర్వర్ IP చిరునామా కనుగొనబడలేదు.</translation>
 <translation id="2639739919103226564">స్థితి: </translation>
 <translation id="2649204054376361687"><ph name="CITY" />, <ph name="COUNTRY" /></translation>
-<translation id="2650446666397867134">ఫైల్‌కు ప్రాప్యత తిరస్కరించబడింది</translation>
+<translation id="2650446666397867134">ఫైల్‌కు యాక్సెస్ తిరస్కరించబడింది</translation>
 <translation id="2653659639078652383">సమర్పించు</translation>
 <translation id="2666117266261740852">ఇతర ట్యాబ్‌లు లేదా అనువర్తనాలను మూసివేయండి</translation>
 <translation id="267371737713284912">చర్యరద్దు చేయడం కోసం <ph name="MODIFIER_KEY_DESCRIPTION" /> నొక్కండి</translation>
@@ -347,7 +347,7 @@
 <translation id="31207688938192855"><ph name="BEGIN_LINK" />కనెక్టివిటీ సమస్య విశ్లేషణలను అమలు చేయడం ప్రయత్నించండి<ph name="END_LINK" />.</translation>
 <translation id="3137507986424712703">{COUNT,plural, =0{ఏమీ లేవు}=1{1 ఖాతా సైన్ ఇన్ డేటా}other{# ఖాతాల సైన్ ఇన్ డేటా}}</translation>
 <translation id="3145945101586104090">ప్రతిస్పందనను డీకోడ్ చేయడంలో విఫలమైంది</translation>
-<translation id="3150653042067488994">తాత్కాలిక సర్వర్ లోపం</translation>
+<translation id="3150653042067488994">తాత్కాలిక సర్వర్ ఎర్రర్</translation>
 <translation id="3154506275960390542">ఈ పేజీలో ఉన్న ఫారమ్‌ని సురక్షితంగా సమర్పించలేకపోవచ్చు. బదిలీ చేయబడే సమయంలో మీరు పంపే డేటాని ఇతరులు వీక్షించవచ్చు లేదా సర్వర్ స్వీకరించే డేటాని మార్చడం కోసం హ్యాకర్‌లు దీనిని సవరించవచ్చు.</translation>
 <translation id="3157931365184549694">పునరుద్ధరించు</translation>
 <translation id="3162559335345991374">మీరు ఉపయోగిస్తున్న Wi-Fiకి మీరు దాని లాగిన్ పేజీని సందర్శించడం అవసరం.</translation>
@@ -387,10 +387,10 @@
           <ph name="LIST_ITEM" />ఫారమ్‌లలో నమోదు చేసిన సమాచారం
         <ph name="END_LIST" /></translation>
 <translation id="3366477098757335611">కార్డ్‌లను చూడండి</translation>
-<translation id="3369192424181595722">గడియారం లోపం</translation>
+<translation id="3369192424181595722">గడియారం ఎర్రర్</translation>
 <translation id="337363190475750230">కేటాయింపు తీసివేయబడింది</translation>
-<translation id="3377188786107721145">విధాన అన్వయ లోపం</translation>
-<translation id="3380365263193509176">తెలియని లోపం</translation>
+<translation id="3377188786107721145">విధాన అన్వయ ఎర్రర్</translation>
+<translation id="3380365263193509176">తెలియని ఎర్రర్</translation>
 <translation id="3380864720620200369">క్లయింట్ ID:</translation>
 <translation id="3387261909427947069">చెల్లింపు పద్ధతులు</translation>
 <translation id="3391030046425686457">బట్వాడా చిరునామా</translation>
@@ -435,7 +435,7 @@
 <translation id="362276910939193118">పూర్తి చరిత్రను చూపించు</translation>
 <translation id="3623476034248543066">విలువను చూపండి</translation>
 <translation id="3630155396527302611">ఇప్పటికే ఇది నెట్‌వర్క్‌ను యాక్సెస్ చేయడానికి అనుమతించబడిన ప్రోగ్రామ్ లాగా జాబితా చేయబడి ఉంటే,
-      దీనిని జాబితా నుండి తీసివేసి, ఆపై మళ్లీ జోడించి ప్రయత్నించండి.</translation>
+      దీన్ని జాబితా నుండి తీసివేసి, ఆపై మళ్లీ జోడించి ప్రయత్నించండి.</translation>
 <translation id="3650584904733503804">ప్రామాణీకరణ విజయవంతం అయింది</translation>
 <translation id="3655670868607891010">మీరు దీన్ని తరచుగా చూస్తుంటే, ఈ <ph name="HELP_LINK" />ని ప్రయత్నించండి.</translation>
 <translation id="3658742229777143148">పునర్విమర్శ</translation>
@@ -452,13 +452,13 @@
 <translation id="3714780639079136834">మొబైల్ డేటా లేదా Wi-Fiని ఆన్ చేయడం</translation>
 <translation id="3715597595485130451">Wi-Fiకి కనెక్ట్ చేయండి</translation>
 <translation id="3717027428350673159"><ph name="BEGIN_LINK" />ప్రాక్సీ, ఫైర్‌వాల్ మరియు DNS కాన్ఫిగరేషన్‌ను తనిఖీ చేయడం<ph name="END_LINK" /></translation>
-<translation id="372429172604983730">ఈ ఎర్రర్‌కు దారితీసే అప్లికేషన్‌లలో యాంటీవైరస్, ఫైర్‌వాల్ మరియు వెబ్ ఫిల్టరింగ్ లేదా ప్రాక్సీ సాఫ్ట్‌వేర్ ఉండవచ్చు.</translation>
+<translation id="372429172604983730">యాంటీవైరస్, ఫైర్‌వాల్ మరియు వెబ్ ఫిల్టరింగ్ లేదా ప్రాక్సీ సాఫ్ట్‌వేర్ వంటి అప్లికేషన్‌లు ఈ ఎర్రర్‌కు దారితీయవచ్చు.</translation>
 <translation id="3736520371357197498">మీ భద్రతకు వాటిల్లే ఆపదల గురించి మీకు అర్థం అయ్యి ఉంటే, ప్రమాదకరమైన ప్రోగ్రామ్‌లు తీసివేయబడటానికి ముందే <ph name="BEGIN_LINK" />ఈ అసురక్షితమైన సైట్‌ను సందర్శించవచ్చు<ph name="END_LINK" />.</translation>
 <translation id="3739623965217189342">మీరు కాపీ చేసిన లింక్</translation>
 <translation id="3744899669254331632">మీరు సందర్శించాలనుకుంటున్న <ph name="SITE" /> వెబ్‌సైట్, Chromium ప్రాసెస్ చేయలేని చిందరవందరైన ఆధారాలను పంపినందున ప్రస్తుతం దానిని సందర్శించలేరు. నెట్‌వర్క్ ఎర్రర్‌లు మరియు దాడులు సాధారణంగా తాత్కాలికంగా మాత్రమే ఉంటాయి, కాబట్టి ఈ పేజీ బహుశా తర్వాత పని చేయవచ్చు.</translation>
 <translation id="3745099705178523657">మీరు నిర్ధారించిన తర్వాత, మీ Google ఖాతా నుండి కార్డ్ వివరాలు ఈ సైట్‌తో షేర్ చేయబడతాయి.</translation>
 <translation id="3748148204939282805"><ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" />లోని హ్యాకర్‌లు మిమ్మల్ని సాఫ్ట్‌వేర్ ఇన్‌స్టాల్ చేసే విధంగా లేదా మీ వ్యక్తిగత సమాచారాన్ని (ఉదాహరణకు, పాస్‌వర్డ్‌లు, ఫోన్ నంబర్‌లు లేదా క్రెడిట్ కార్డ్‌లు) బహిర్గతం చేసే విధంగా మిమ్మల్ని మాయ చేయవచ్చు. <ph name="BEGIN_LEARN_MORE_LINK" />మరింత తెలుసుకోండి<ph name="END_LEARN_MORE_LINK" /></translation>
-<translation id="375403751935624634">సర్వర్ లోపం వల్ల అనువాదం విఫలమైంది.</translation>
+<translation id="375403751935624634">సర్వర్ ఎర్రర్ వల్ల అనువాదం విఫలమైంది.</translation>
 <translation id="3759461132968374835">మీకు ఇటీవల నివేదించిన క్రాష్‌లు లేవు. క్రాష్‌ నివేదన నిలిపివేసినపుడు ఏర్పడే క్రాష్‌లు ఇక్కడ కనిపించవు.</translation>
 <translation id="3761718714832595332">స్థితిని దాచు</translation>
 <translation id="3765032636089507299">సురక్షిత బ్రౌజింగ్ పేజీ నిర్మాణంలో ఉంది.</translation>
@@ -494,7 +494,7 @@
 <translation id="4030383055268325496">&amp;జోడించడాన్ని రద్దు చేయి</translation>
 <translation id="4058922952496707368">కీ "<ph name="SUBKEY" />": <ph name="ERROR" /></translation>
 <translation id="4067947977115446013">చెల్లుబాటు అయ్యే చిరునామాను జోడించండి</translation>
-<translation id="4072486802667267160">మీ ఆర్డర్‌ను ప్రాసెస్ చేస్తున్నప్పుడు లోపం ఏర్పడింది. దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="4072486802667267160">మీ ఆర్డర్‌ను ప్రాసెస్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది. దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="4075732493274867456">క్లయింట్ మరియు సర్వర్ ఒకే SSL ప్రోటోకాల్ వెర్షన్ లేదా సైఫర్ సూట్‌కు మద్దతివ్వవు.</translation>
 <translation id="4079302484614802869">ప్రాక్సీ కాన్ఫిగరేషన్ స్థిరమైన ప్రాక్సీ సర్వర్‌లను కాకుండా, ఒక .pac స్క్రిప్ట్ URLను ఉపయోగించడానికి సెట్ చేయబడింది.</translation>
 <translation id="4098354747657067197">ముందు వంచనాత్మక సైట్ ఉంది</translation>
@@ -519,20 +519,20 @@
 <translation id="4220128509585149162">క్రాష్‌లు</translation>
 <translation id="422022731706691852"><ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> లోని హ్యాకర్‌లు మీ బ్రౌజింగ్ అనుభవానికి హాని కలిగించే ప్రోగ్రామ్‌లను ఇన్‌స్టాల్ చేసే విధంగా (ఉదాహరణకు, మీ హోం పేజీని మార్చడం లేదా మీరు సందర్శించే సైట్‌లలో అదనపు ప్రకటనలు చూపడం ద్వారా) మిమ్మల్ని మాయచేసే ప్రయత్నం చేయవచ్చు. <ph name="BEGIN_LEARN_MORE_LINK" />మరింత తెలుసుకోండి<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="4221630205957821124">&lt;h4&gt;1వ దశ: పోర్టల్‌కు సైన్ ఇన్ చేయండి&lt;/h4&gt;
-    &lt;p&gt;కెఫేలు లేదా విమానాశ్రయాలు వంటి స్థలాల్లో ఉన్న Wi-Fi నెట్‌వర్క్‌ల కోసం మీరు సైన్ ఇన్ చేయాల్సి ఉంటుంది. సైన్ ఇన్ పేజీని చూడటానికి, &lt;code&gt;http://&lt;/code&gt;ని ఉపయోగించే పేజీని సందర్శించండి.&lt;/p&gt;
+    &lt;p&gt;కెఫేలు లేదా విమానాశ్రయాల వంటి స్థలాలలో ఉన్న Wi-Fi నెట్‌వర్క్‌ల కోసం మీరు సైన్ ఇన్ చేయాల్సి ఉంటుంది. సైన్ ఇన్ పేజీని చూడటానికి, &lt;code&gt;http://&lt;/code&gt;ని ఉపయోగించే పేజీని సందర్శించండి.&lt;/p&gt;
     &lt;ol&gt;
     &lt;li&gt;&lt;code&gt;http://&lt;/code&gt;తో ప్రారంభమయ్యే ఏదైనా వెబ్‌సైట్‌లోకి వెళ్లండి, ఉదాహరణకు, &lt;a href="http://example.com" target="_blank"&gt;http://example.com&lt;/a&gt;.&lt;/li&gt;
-    &lt;li&gt;తెరవబడే సైన్-ఇన్ పేజీలో, ఇంటర్నెట్‌ని ఉపయోగించడం కోసం సైన్ ఇన్ చేయండి.&lt;/li&gt;
+    &lt;li&gt;తెరుచుకునే సైన్-ఇన్ పేజీలో, ఇంటర్నెట్‌ను ఉపయోగించడం కోసం సైన్ ఇన్ చేయండి.&lt;/li&gt;
     &lt;/ol&gt;
     &lt;h4&gt;2వ దశ: అజ్ఞాత మోడ్‌లో పేజీని తెరవండి (కంప్యూటర్ మాత్రమే)&lt;/h4&gt;
     &lt;p&gt;మీరు సందర్శిస్తున్న పేజీని అజ్ఞాత విండోలో తెరవండి.&lt;/p&gt;
-    &lt;p&gt;పేజీ తెరవబడినట్లయితే, Chrome ఎక్స్‌టెన్షన్ సరిగ్గా పని చేయడం లేదని అర్థం. ఎర్రర్‌ని పరిష్కరించడానికి, ఎక్స్‌టెన్షన్‌ని ఆఫ్ చేయండి.&lt;/p&gt;
-    &lt;h4&gt;3వ దశ: మీ ఆపరేటింగ్ సిస్టమ్‌ని అప్‌డేట్ చేయండి&lt;/h4&gt;
+    &lt;p&gt;పేజీ తెరుచుకుందంటే, Chrome ఎక్స్‌టెన్షన్ సరిగ్గా పని చేయడం లేదని అర్థం. ఎర్రర్‌ను పరిష్కరించడానికి, ఎక్స్‌టెన్షన్‌ను ఆఫ్ చేయండి.&lt;/p&gt;
+    &lt;h4&gt;3వ దశ: మీ ఆపరేటింగ్ సిస్టమ్‌ను అప్‌డేట్ చేయండి&lt;/h4&gt;
     &lt;p&gt;మీ పరికరం తాజాగా ఉన్నట్లు నిర్ధారించుకోండి.&lt;/p&gt;
-    &lt;h4&gt;4వ దశ: మీ యాంటీవైరస్‌ని తాత్కాలికంగా ఆఫ్ చేయండి&lt;/h4&gt;
-    &lt;p&gt;"HTTPS రక్షణ" లేదా "HTTPS స్కానింగ్" వంటివి అందించే యాంటీవైరస్‌ సాఫ్ట్‌వేర్‌ని మీరు ఉపయోగిస్తున్నట్లయితే మీకు ఈ ఎర్రర్ కనిపిస్తుంది. Chrome మీకు భద్రతను అందించకుండా యాంటీవైరస్ నివారిస్తోంది.&lt;/p&gt;
-    &lt;p&gt;సమస్యను పరిష్కరించడానికి, మీ యాంటీవైరస్ సాఫ్ట్‌వేర్‌ని ఆఫ్ చేయండి. సాఫ్ట్‌వేర్‌ని ఆఫ్ చేసిన తర్వాత పేజీ పని చేసినట్లయితే, మీరు సురక్షిత సైట్‌లను ఉపయోగించేటప్పుడు ఈ సాఫ్ట్‌వేర్‌ని ఆఫ్ చేయండి.&lt;/p&gt;
-    &lt;p&gt;మీ పని పూర్తయిన తర్వాత మీ యాంటీవైరస్ ప్రోగ్రామ్‌ని తిరిగి ఆన్ చేయడం మర్చిపోవద్దు.&lt;/p&gt;
+    &lt;h4&gt;4వ దశ: మీ యాంటీవైరస్‌ను తాత్కాలికంగా ఆఫ్ చేయండి&lt;/h4&gt;
+    &lt;p&gt;"HTTPS రక్షణ" లేదా "HTTPS స్కానింగ్" వంటివి అందించే యాంటీవైరస్‌ సాఫ్ట్‌వేర్‌ను మీరు ఉపయోగిస్తున్నట్లయితే మీకు ఈ ఎర్రర్ కనిపిస్తుంది. Chrome మీకు భద్రతను అందించకుండా యాంటీవైరస్ నివారిస్తోంది.&lt;/p&gt;
+    &lt;p&gt;సమస్యను పరిష్కరించడానికి, మీ యాంటీవైరస్ సాఫ్ట్‌వేర్‌ను ఆఫ్ చేయండి. సాఫ్ట్‌వేర్‌ను ఆఫ్ చేసిన తర్వాత పేజీ పని చేసినట్లయితే, మీరు సురక్షిత సైట్‌లను ఉపయోగించేటప్పుడు ఈ సాఫ్ట్‌వేర్‌ను ఆఫ్ చేయండి.&lt;/p&gt;
+    &lt;p&gt;మీ పని పూర్తయిన తర్వాత మీ యాంటీవైరస్ ప్రోగ్రామ్‌ను తిరిగి ఆన్ చేయడం మర్చిపోవద్దు.&lt;/p&gt;
     &lt;h4&gt;5వ దశ: అదనపు సహాయాన్ని పొందండి&lt;/h4&gt;
     &lt;p&gt;ఇప్పటికీ మీకు ఎర్రర్ కనిపిస్తున్నట్లయితే, వెబ్‌సైట్ యజమానిని సంప్రదించండి.&lt;/p&gt;</translation>
 <translation id="4226937834893929579"><ph name="BEGIN_LINK" />నెట్‌వర్క్ సమస్య విశ్లేషణలను అమలు చేయడం ప్రయత్నించండి<ph name="END_LINK" />.</translation>
@@ -568,7 +568,7 @@
 <translation id="443673843213245140">ప్రాక్సీని ఉపయోగించడం ఆపివేయబడింది కానీ స్పష్టమైన ప్రాక్సీ కాన్ఫిగరేషన్ పేర్కొనబడింది.</translation>
 <translation id="445100540951337728">ఆమోదించబడిన డెబిట్ కార్డ్‌లు</translation>
 <translation id="4482953324121162758">ఈ సైట్ అనువదించబడదు.</translation>
-<translation id="4506176782989081258">ధృవీకరణ లోపం: <ph name="VALIDATION_ERROR" /></translation>
+<translation id="4506176782989081258">ధృవీకరణ ఎర్రర్: <ph name="VALIDATION_ERROR" /></translation>
 <translation id="4506599922270137252">సిస్టమ్ నిర్వాహకుడిని సంప్రదించడం</translation>
 <translation id="450710068430902550">నిర్వాహకుడితో భాగస్వామ్యం</translation>
 <translation id="4515275063822566619">కార్డ్‌లు, చిరునామాలు- Chrome నుండి, మీ Google ఖాతా (<ph name="ACCOUNT_EMAIL" />) నుండి పొందినవి. మీరు <ph name="BEGIN_LINK" />సెట్టింగ్‌లు<ph name="END_LINK" />లో వాటిని నిర్వహించవచ్చు.</translation>
@@ -603,7 +603,7 @@
 <translation id="4758311279753947758">సంప్రదింపు సమాచారాన్ని జోడించు</translation>
 <translation id="4759118997339041434">చెల్లింపు స్వీయపూరణ నిలిపివేయబడింది</translation>
 <translation id="4764776831041365478"><ph name="URL" /> వద్ద వెబ్‌పేజీ తాత్కాలికంగా తెరుచుకోవటం లేదు లేదా అది క్రొత్త వెబ్ చిరునామాకు శాశ్వతంగా తరలించబడి ఉండవచ్చు.</translation>
-<translation id="4771973620359291008">తెలియని లోపం ఒకటి ఏర్పడింది.</translation>
+<translation id="4771973620359291008">తెలియని ఎర్రర్ ఒకటి ఏర్పడింది.</translation>
 <translation id="4785689107224900852">ఈ టాబ్‌కు మారండి</translation>
 <translation id="4792143361752574037">సెషన్ ఫైల్‌లను యాక్సెస్ చేస్తున్నప్పుడు సమస్య ఏర్పడింది. ప్రస్తుతానికి డిస్క్‌లో సేవ్ చేయడం నిలిపివేయబడింది. దయచేసి మళ్లీ ప్రయత్నించడం కోసం పేజీని తిరిగి లోడ్ చేయండి.</translation>
 <translation id="4798078619018708837">మీ కార్డ్ వివరాలను అప్‌డేట్ చేయడానికి <ph name="CREDIT_CARD" /> కార్డ్ గడువు ముగింపు తేదీ, CVCని నమోదు చేయండి. మీరు నిర్ధారించిన తర్వాత, మీ Google ఖాతా నుండి కార్డ్ వివరాలు ఈ సైట్‌తో షేర్ చేయబడతాయి.</translation>
@@ -659,13 +659,13 @@
 <translation id="5128122789703661928">ఈ పేరు కలిగిన సెషన్‌ని తొలగించలేరు.</translation>
 <translation id="5135404736266831032">చిరునామాలను నిర్వహించండి...</translation>
 <translation id="5141240743006678641">మీ Google ఆధారాలతో సింక్ చేయ‌బ‌డిన పాస్‌వర్డ్‌లను ఎన్‌క్రిప్ట్ చేయండి</translation>
-<translation id="5145883236150621069">విధాన ప్రతిస్పందనలో ఎర్ర‌ర్‌ కోడ్ ఉంది</translation>
+<translation id="5145883236150621069">విధాన ప్రతిస్పందనలో ఎర్రర్ కోడ్ ఉంది</translation>
 <translation id="5159010409087891077">కొత్త అజ్ఞాత విండోలో పేజీని తెరవండి (⇧⌘N)</translation>
 <translation id="516920405563544094"><ph name="CREDIT_CARD" /> కార్డ్ CVCని నమోదు చేయండి. మీరు నిర్ధారించిన తర్వాత, మీ Google ఖాతా నుండి కార్డ్ వివరాలు ఈ సైట్‌తో షేర్ చేయబడతాయి.</translation>
-<translation id="5169827969064885044">మీరు మీ సంస్థ ఖాతాకు యాక్సెస్‌ను కోల్పోవచ్చు. లేదా గుర్తింపు స‌మాచారం చౌర్యానికి గురికావచ్చు. మీరు ఇప్పుడే మీ పాస్‌వర్డ్‌ను మార్చాల్సిందిగా Chrome సిఫార్సు చేస్తోంది.</translation>
+<translation id="5169827969064885044">మీరు మీ సంస్థ యొక్క ఖాతాకు యాక్సెస్‌ని కోల్పోవచ్చు లేదా గుర్తింపు చౌర్యానికి గురికావచ్చు. Chrome మీరు ఇప్పుడే మీ పాస్‌వర్డ్‌ని మార్చాల్సిందిగా సిఫార్సు చేస్తోంది.</translation>
 <translation id="5171045022955879922">URLను వెతకండి లేదా టైప్ చేయండి</translation>
 <translation id="5172758083709347301">మెషీన్</translation>
-<translation id="5179510805599951267">ఈ పేజీ <ph name="ORIGINAL_LANGUAGE" /> భాషలో లేదా? ఈ ఎర్రర్‌ను నివేదించండి</translation>
+<translation id="5179510805599951267"><ph name="ORIGINAL_LANGUAGE" />లో లేదా? ఈ ఎర్రర్‌ను నివేదించండి</translation>
 <translation id="5190835502935405962">బుక్‌మార్క్‌ల బార్</translation>
 <translation id="5201306358585911203">ఈ పేజీలోని పొందుపరిచిన పేజీ ఇలా చెబుతోంది</translation>
 <translation id="5205222826937269299">పేరు ఆవశ్యకం</translation>
@@ -677,7 +677,7 @@
 <translation id="5285570108065881030">సేవ్ చేసిన అన్ని పాస్‌వర్డ్‌లను చూపు</translation>
 <translation id="5287240709317226393">కుక్కీలను చూపించు</translation>
 <translation id="5288108484102287882">విధాన విలువల క్రమబద్ధీకరణ హెచ్చరికలను జారీ చేసింది</translation>
-<translation id="5299298092464848405">విధానాన్ని అన్వయించడంలో లోపం</translation>
+<translation id="5299298092464848405">విధానాన్ని అన్వయించడంలో ఎర్రర్</translation>
 <translation id="5300589172476337783">చూపించు</translation>
 <translation id="5308380583665731573">కనెక్ట్ చేయండి</translation>
 <translation id="5308689395849655368">క్రాష్ నివేదిక నిలిపివేయ‌బడింది.</translation>
@@ -697,7 +697,7 @@
 <translation id="5421136146218899937">బ్రౌజింగ్ డేటాను క్లియర్ చేయి...</translation>
 <translation id="5430298929874300616">బుక్‌మార్క్‌ను తీసివేయండి</translation>
 <translation id="5431657950005405462">మీ ఫైల్ కనుగొనబడలేదు</translation>
-<translation id="5439770059721715174">"<ph name="ERROR_PATH" />"లో స్కీమా ప్రామాణీకరణ లోపం: <ph name="ERROR" /></translation>
+<translation id="5439770059721715174">"<ph name="ERROR_PATH" />"లో స్కీమా ప్రామాణీకరణ ఎర్రర్: <ph name="ERROR" /></translation>
 <translation id="5452270690849572955">ఈ <ph name="HOST_NAME" /> పేజీ కనుగొనబడలేదు</translation>
 <translation id="5455374756549232013">చెల్లని విధాన సమయముద్ర</translation>
 <translation id="5457113250005438886">చెల్లదు</translation>
@@ -836,7 +836,7 @@
 <translation id="6328639280570009161">నెట్‌వర్క్ సూచనను నిలిపివేసి ప్రయత్నించండి</translation>
 <translation id="6328784461820205019">"మీ కనెక్షన్ ప్రైవేట్ కాదు" లేదా "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" లేదా "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" లేదా "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" లేదా "&lt;span class="error-code"&gt;ERR_CERT_SYMANTEC_LEGACY&lt;/span&gt;" లేదా "SSL సర్టిఫికెట్ ఎర్రర్"</translation>
 <translation id="6328786501058569169">ఈ సైట్ మోసపూరితమైనది</translation>
-<translation id="6337133576188860026"><ph name="SIZE" /> కంటే తక్కువ స్థలాన్ని ఖాళీ చేస్తుంది. మీ తరువాత సందర్శనలో కొన్ని సైట్‌లు మరింత నెమ్మదిగా లోడ్ కావచ్చు.</translation>
+<translation id="6337133576188860026"><ph name="SIZE" /> కంటే తక్కువ స్థలాన్ని ఖాళీ చేస్తుంది. కొన్ని సైట్‌లను మీరు తర్వాతిసారి సందర్శించేటప్పుడు, అవి మరింత నెమ్మదిగా లోడ్ కావచ్చు.</translation>
 <translation id="6337534724793800597">పేరు ద్వారా విధానాలను ఫిల్టర్ చేయి</translation>
 <translation id="6358450015545214790">దీని అర్ధం ఏమిటి?</translation>
 <translation id="6383221683286411806">కొనసాగించడం వల్ల ఛార్జ్‌లు చెల్లించాల్సి రావచ్చు.</translation>
@@ -880,7 +880,7 @@
 <translation id="671076103358959139">నమోదు టోకెన్:</translation>
 <translation id="6711464428925977395">ప్రాక్సీ సర్వర్‌లో ఏదో తప్పు ఉంది లేదా చిరునామా సరైనది కాదు.</translation>
 <translation id="6723740634201835758">మీ Google ఖాతాలో</translation>
-<translation id="674375294223700098">తెలియని సర్వర్ ప్రమాణపత్రం లోపం.</translation>
+<translation id="674375294223700098">తెలియని సర్వర్ సర్టిఫికెట్ ఎర్రర్.</translation>
 <translation id="6744009308914054259">కనెక్షన్ కోసం వేచి ఉన్నప్పుడు, మీరు ఆఫ్‌లైన్ కథనాలను చదవడానికి డౌన్‌లోడ్‌లను సందర్శించవచ్చు.</translation>
 <translation id="6753269504797312559">విధానం విలువ</translation>
 <translation id="6757797048963528358">మీ పరికరం నిద్రావస్థకి వెళ్లింది.</translation>
@@ -920,7 +920,7 @@
 <translation id="6979440798594660689">మ్యూట్ (డిఫాల్ట్)</translation>
 <translation id="6984479912851154518">బాహ్య అప్లికేషన్ ద్వారా చెల్లించడానికి ప్రైవేట్ మోడ్ నుండి నిష్క్రమిస్తోంది. కొనసాగించాలా?</translation>
 <translation id="6989763994942163495">అధునాతన సెట్టింగ్‌లను చూపించు...</translation>
-<translation id="6996312675313362352">ఎల్లప్పుడూ <ph name="ORIGINAL_LANGUAGE" /> భాషలోది అనువదించు</translation>
+<translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" />భాషలోని కంటెంట్‌ను ఎల్లప్పుడూ  అనువదించు</translation>
 <translation id="7012363358306927923">చైనా యూనియన్ పే</translation>
 <translation id="7016992613359344582">ఈ ఛార్జ్‌లు ఒకే సారి చెల్లించేవి లేదా పునరావృతంగా చెల్లించాల్సినవి కావచ్చు మరియు స్పష్టంగా పేర్కొనబడకపోవచ్చు.</translation>
 <translation id="7029809446516969842">పాస్‌వర్డ్‌లు</translation>
@@ -949,7 +949,7 @@
 <translation id="7180611975245234373">రిఫ్రెష్ చేయి</translation>
 <translation id="7182878459783632708">విధానాలను సెట్ చేయలేదు</translation>
 <translation id="7186367841673660872">ఈ పేజీ<ph name="ORIGINAL_LANGUAGE" />నుండి<ph name="LANGUAGE_LANGUAGE" />కు అనువదించబడింది</translation>
-<translation id="7192203810768312527"><ph name="SIZE" />ని ఖాళీ చేస్తుంది. మీ తరువాత సందర్శనలో కొన్ని సైట్‌లు మరింత నెమ్మదిగా లోడ్ కావచ్చు.</translation>
+<translation id="7192203810768312527"><ph name="SIZE" />ని ఖాళీ చేస్తుంది. కొన్ని సైట్‌లను మీరు తర్వాతిసారి సందర్శించేటప్పుడు, అవి మరింత నెమ్మదిగా లోడ్ కావచ్చు.</translation>
 <translation id="719464814642662924">వీసా</translation>
 <translation id="7210863904660874423"><ph name="HOST_NAME" /> భద్రతా ప్రమాణాలకు కట్టుబడి లేదు.</translation>
 <translation id="721197778055552897">ఈ సమస్య గురించి <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి <ph name="END_LINK" />.</translation>
@@ -962,7 +962,7 @@
 అదనపు వివరాలు:
 <ph name="DEBUG_INFO" /></translation>
 <translation id="725866823122871198">మీ కంప్యూటర్ తేదీ మరియు సమయం (<ph name="DATE_AND_TIME" />) తప్పుగా ఉన్నందున <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />కు ఒక ప్రైవేట్ కనెక్షన్‌ను ఏర్పాటు చేయడం వీలుకాలేదు.</translation>
-<translation id="7260504762447901703">ప్రాప్యతను ఉపసంహరించు</translation>
+<translation id="7260504762447901703">యాక్సెస్‌ను ఉపసంహరించు</translation>
 <translation id="7271803869921933038">ఆమోదించే ప్రీపెయిడ్ కార్డ్‌లు</translation>
 <translation id="7275334191706090484">నిర్వహించబడిన బుక్‌మార్క్‌లు</translation>
 <translation id="7298195798382681320">సిఫార్సు చేయబడినవి</translation>
@@ -989,7 +989,7 @@
       &lt;li&gt;&lt;strong&gt;ప్రారంభ రకం&lt;/strong&gt;లో, &lt;strong&gt;నిలిపివేయబడింది&lt;/strong&gt; ఎంచుకోండి
       &lt;li&gt;&lt;strong&gt;సేవా స్థితి&lt;/strong&gt;లో, &lt;strong&gt;ఆపివేయి&lt;/strong&gt;ని క్లిక్ చేయండి
       &lt;li&gt;&lt;strong&gt;వర్తింపజేయి&lt;/strong&gt;ని క్లిక్ చేసి, ఆపై &lt;strong&gt;సరే&lt;/strong&gt; క్లిక్ చేయండి
-      &lt;li&gt;మీ కంప్యూటర్ నుండి శాశ్వతంగా సాఫ్ట్‌వేర్‌ను ఎలా తొలగించాలో తెలుసుకోవడానికి &lt;a href="https://support.google.com/chrome/answer/6098869"&gt;Chrome సహాయ కేంద్రం&lt;/a&gt;ని సందర్శించండి
+      &lt;li&gt;సాఫ్ట్‌వేర్‌ను మీ కంప్యూటర్ నుండి శాశ్వతంగా ఎలా తొలగించాలో తెలుసుకోవడానికి &lt;a href="https://support.google.com/chrome/answer/6098869"&gt;Chrome సహాయ కేంద్రం&lt;/a&gt;ను సందర్శించండి
       &lt;/ol&gt;</translation>
 <translation id="7416351320495623771">పాస్‌వర్డ్‌లను నిర్వహించండి…</translation>
 <translation id="7419106976560586862">ప్రొఫైల్ పాథ్‌</translation>
@@ -1120,7 +1120,7 @@
 <translation id="8130693978878176684">నేను ఇక సహాయం చేయలేను, మీ స్వంతంగా కొనసాగించండి.</translation>
 <translation id="8131740175452115882">నిర్ధారించు</translation>
 <translation id="8149426793427495338">మీ కంప్యూటర్ నిద్రావస్థకి వెళ్లింది.</translation>
-<translation id="8150722005171944719"><ph name="URL" />లో ఫైల్ చదవగలిగేది కాదు. దీన్ని తీసివేసి ఉండవచ్చు, తరలించి ఉండవచ్చు లేదా ఫైల్ అనుమతులు ప్రాప్యతను నిరోధిస్తుండవచ్చు.</translation>
+<translation id="8150722005171944719"><ph name="URL" />లో ఫైల్ చదవగలిగేది కాదు. దీన్ని తీసివేసి ఉండవచ్చు, తరలించి ఉండవచ్చు లేదా ఫైల్ అనుమతులు యాక్సెస్‌ను నిరోధిస్తుండవచ్చు.</translation>
 <translation id="8175796834047840627">మీరు సైన్ ఇన్ చేశారు కనుక మీ కార్డ్‌లను మీ Google ఖాతాలో సేవ్ చేసుకునే చక్కని అవకాశాన్ని Chrome మీకు అందిస్తోంది. అలాగే మీరు ఈ చర్యను సెట్టింగ్‌లలోకి వెళ్లి మార్చుకోవచ్చు.</translation>
 <translation id="8184538546369750125">సార్వజనీన డిఫాల్ట్‌ను ఉపయోగించు (అనుమతించు)</translation>
 <translation id="8194797478851900357">&amp;తరలించడాన్ని రద్దు చేయి</translation>
@@ -1147,8 +1147,8 @@
 <translation id="8294431847097064396">మూలం</translation>
 <translation id="8298115750975731693">మీరు ఉపయోగిస్తున్న Wi-Fi (<ph name="WIFI_NAME" />)కి మీరు <ph name="BEGIN_BOLD" /><ph name="LOGIN_URL" /><ph name="END_BOLD" />ను సందర్శించడం అవసరం.</translation>
 <translation id="8308427013383895095">నెట్‌వర్క్ కనెక్షన్‌తో సమస్య ఉన్నందున అనువాదం విఫలమైంది.</translation>
-<translation id="8311129316111205805">సెషన్‌ని లోడ్ చేయి</translation>
-<translation id="8332188693563227489"><ph name="HOST_NAME" />కి ప్రాప్యత నిరాకరించబడింది</translation>
+<translation id="8311129316111205805">సెషన్‌ను లోడ్ చేయి</translation>
+<translation id="8332188693563227489"><ph name="HOST_NAME" />కి యాక్సెస్ నిరాకరించబడింది</translation>
 <translation id="8340095855084055290"><ph name="EXPIRATION_MONTH" />/<ph name="EXPIRATION_YEAR" /></translation>
 <translation id="834457929814110454">మీ భద్రతకు వాటిల్లే ఆపదల గురించి మీకు అర్థం అయ్యి ఉంటే, హానికర ప్రోగ్రామ్‌లు తీసివేయబడటానికి ముందే మీరు <ph name="BEGIN_LINK" />ఈ సైట్‌ను సందర్శించవచ్చు<ph name="END_LINK" />.</translation>
 <translation id="8349305172487531364">బుక్‌మార్క్‌ల పట్టీ</translation>
@@ -1207,7 +1207,7 @@
 <translation id="8763927697961133303">USB పరికరం</translation>
 <translation id="8768895707659403558">మీ కార్డ్‌లను మీ అన్ని పరికరాలలో ఉపయోగించాలంటే, <ph name="SIGN_IN_LINK" />.</translation>
 <translation id="8790007591277257123">&amp;తొలగించడాన్ని పునరావృతం చేయి</translation>
-<translation id="8792621596287649091">మీరు మీ <ph name="ORG_NAME" /> ఖాతాకు యాక్సెస్‌ను కోల్పోవచ్చు. లేదా గుర్తింపు స‌మాచారం చోరీకి గురి కావచ్చు. మీ పాస్‌వర్డ్‌ను ఇప్పుడే రీసెట్ చేయాల్సిందిగా Chromium సిఫార్సు చేస్తోంది.</translation>
+<translation id="8792621596287649091">మీరు మీ <ph name="ORG_NAME" /> ఖాతాకు యాక్సెస్‌ని కోల్పోవచ్చు లేదా గుర్తింపు చోరీకి గురి కావచ్చు. మీ పాస్‌వర్డ్‌ని ఇప్పుడే రీసెట్ చేయాల్సిందిగా Chromium సిఫార్సు చేస్తోంది.</translation>
 <translation id="8800988563907321413">మీ సమీపంలోని సూచనలు ఇక్కడ కనిపిస్తాయి</translation>
 <translation id="8820817407110198400">బుక్‌మార్క్‌లు</translation>
 <translation id="883848425547221593">ఇతర బుక్‌మార్క్‌లు:</translation>
@@ -1215,7 +1215,7 @@
 <translation id="884923133447025588">ఏ రద్దు విధానం కనుగొనబడలేదు.</translation>
 <translation id="885730110891505394">Googleతో భాగస్వామ్యం</translation>
 <translation id="8858065207712248076">మీరు మీ <ph name="BEGIN_BOLD" /><ph name="ORG_NAME" /><ph name="END_BOLD" /> పాస్‌వర్డ్‌ని ఇతర సైట్‌లలో తిరిగి ఉపయోగించినట్లయితే దీనిని రీసెట్ చేయాల్సిందిగా Chrome సిఫార్సు చేస్తోంది.</translation>
-<translation id="8866481888320382733">విధాన సెట్టింగ్‌లను అన్వయించడంలో లోపం</translation>
+<translation id="8866481888320382733">విధాన సెట్టింగ్‌లను అన్వయించడంలో ఎర్రర్</translation>
 <translation id="8870413625673593573">ఇటీవల మూసివేసినవి</translation>
 <translation id="8874824191258364635">చెల్లుబాటు అయ్యే కార్డ్ నంబర్‌ను నమోదు చేయండి</translation>
 <translation id="8891727572606052622">చెల్లని ప్రాక్సీ మోడ్.</translation>
@@ -1243,8 +1243,8 @@
 <translation id="9020200922353704812">కార్డ్ బిల్లింగ్ చిరునామా అవసరం</translation>
 <translation id="9020542370529661692">ఈ పేజీ <ph name="TARGET_LANGUAGE" />కి అనువదించబడింది</translation>
 <translation id="9025348182339809926">(చెల్లదు)</translation>
-<translation id="9035022520814077154">భద్రతా లోపం</translation>
-<translation id="9038649477754266430">పేజీలను మరింత శీఘ్రంగా లోడ్ చేయడానికి సూచన సేవను ఉపయోగించండి</translation>
+<translation id="9035022520814077154">భద్రతా ఎర్రర్</translation>
+<translation id="9038649477754266430">పేజీలను మరింత త్వరగా లోడ్ చేయడానికి సూచన సేవను ఉపయోగించండి</translation>
 <translation id="9039213469156557790">అలాగే, ఈ పేజీలో సురక్షితం కాని ఇతర వనరులు ఉన్నాయి. ఈ వనరులను బదిలీ చేస్తున్నప్పుడు ఇతరులు చూడగలరు మరియు దాడికి పాల్పడేవారు పేజీ ప్రవర్తనను మార్చేలా వీటిని సవరించగలరు.</translation>
 <translation id="9045525010788763347"><ph name="RESULT_MODIFIED_DATE" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="9049981332609050619">మీరు <ph name="DOMAIN" />ను చేరుకోవడానికి ప్రయత్నించారు. కానీ సర్వర్ ఒక చెల్లుబాటులో లేని సర్టిఫికెట్‌ను అందించింది.</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index b21bcc2..80fc500 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -36,7 +36,7 @@
 <translation id="1165039591588034296">错误</translation>
 <translation id="1173894706177603556">重命名</translation>
 <translation id="1175364870820465910">打印(&amp;P)...</translation>
-<translation id="1181037720776840403">移除</translation>
+<translation id="1181037720776840403">删除</translation>
 <translation id="1197088940767939838">橙色</translation>
 <translation id="1201402288615127009">下一页</translation>
 <translation id="1201895884277373915">来自该网站的更多内容</translation>
diff --git a/components/sync/engine_impl/model_type_worker.cc b/components/sync/engine_impl/model_type_worker.cc
index 92fd51f..faba91b5 100644
--- a/components/sync/engine_impl/model_type_worker.cc
+++ b/components/sync/engine_impl/model_type_worker.cc
@@ -331,15 +331,15 @@
     // TODO(crbug.com/902349): Once passwords are fully migrated to USS and this
     // feature toggle isn't needed anymore, make sure to remove the
     // "+components/sync/driver", from "components/sync/engine_impl/DEPS"
-    if (base::FeatureList::IsEnabled(switches::kSyncUSSPasswords)) {
+    if (base::FeatureList::IsEnabled(switches::kSyncPseudoUSSPasswords)) {
+      data.specifics = specifics;
+    } else {
       // Full-blown USS implementation requires the password to be decrypted at
       // the worker.
       if (!DecryptPasswordSpecifics(*cryptographer, specifics,
                                     &data.specifics)) {
         return FAILED_TO_DECRYPT;
       }
-    } else {
-      data.specifics = specifics;
     }
     response_data->entity = data.PassToPtr();
     return SUCCESS;
@@ -586,7 +586,9 @@
         ++it;
         continue;
       }
-      if (base::FeatureList::IsEnabled(switches::kSyncUSSPasswords)) {
+      if (base::FeatureList::IsEnabled(switches::kSyncPseudoUSSPasswords)) {
+        specifics = data->specifics;
+      } else {
         // Full-blown USS implementation requires the password to be decrypted
         // at the worker.
         if (!DecryptPasswordSpecifics(*cryptographer_, data->specifics,
@@ -594,8 +596,6 @@
           ++it;
           continue;
         }
-      } else {
-        specifics = data->specifics;
       }
     } else {
       DCHECK(data->specifics.has_encrypted());
diff --git a/components/sync/engine_impl/model_type_worker_unittest.cc b/components/sync/engine_impl/model_type_worker_unittest.cc
index a5fd1ee..b74578e0 100644
--- a/components/sync/engine_impl/model_type_worker_unittest.cc
+++ b/components/sync/engine_impl/model_type_worker_unittest.cc
@@ -1674,9 +1674,7 @@
 
 // Similar to EncryptedCommit but tests PASSWORDS specifically, which use a
 // different encryption mechanism.
-TEST_F(ModelTypeWorkerPasswordsTest, EncryptedPasswordCommit) {
-  const std::string kEncryptedPasswordBlob = "encryptedpasswordblob";
-
+TEST_F(ModelTypeWorkerPasswordsTest, PasswordCommit) {
   NormalInitialize();
 
   EXPECT_EQ(0U, processor()->GetNumUpdateResponses());
@@ -1689,8 +1687,9 @@
             processor()->GetNthUpdateState(0).encryption_key_name());
 
   EntitySpecifics specifics;
-  specifics.mutable_password()->mutable_encrypted()->set_blob(
-      kEncryptedPasswordBlob);
+  sync_pb::PasswordSpecificsData* password_data =
+      specifics.mutable_password()->mutable_client_only_encrypted_data();
+  password_data->set_signon_realm("signon_realm");
 
   // Normal commit request stuff.
   processor()->SetCommitRequest(GenerateCommitRequest(kHash1, specifics));
@@ -1703,8 +1702,6 @@
   EXPECT_FALSE(tag1_entity.specifics().has_encrypted());
   EXPECT_TRUE(tag1_entity.specifics().has_password());
   EXPECT_TRUE(tag1_entity.specifics().password().has_encrypted());
-  EXPECT_EQ(kEncryptedPasswordBlob,
-            tag1_entity.specifics().password().encrypted().blob());
 
   // The title should be overwritten.
   EXPECT_EQ(tag1_entity.name(), "encrypted");
@@ -1735,14 +1732,13 @@
   // Test its basic features and the value of encryption_key_name.
   ASSERT_TRUE(processor()->HasUpdateResponse(kHash1));
   UpdateResponseData update = processor()->GetUpdateResponse(kHash1);
-  EXPECT_TRUE(update.entity->specifics.password().has_encrypted());
-  EXPECT_EQ(encrypted_specifics.password().encrypted().key_name(),
-            update.entity->specifics.password().encrypted().key_name());
-  EXPECT_EQ(encrypted_specifics.password().encrypted().blob(),
-            update.entity->specifics.password().encrypted().blob());
+  EXPECT_FALSE(update.entity->specifics.password().has_encrypted());
   EXPECT_FALSE(update.entity->specifics.has_encrypted());
-  EXPECT_FALSE(
+  ASSERT_TRUE(
       update.entity->specifics.password().has_client_only_encrypted_data());
+  EXPECT_EQ(kPassword, update.entity->specifics.password()
+                           .client_only_encrypted_data()
+                           .password_value());
 }
 
 // Similar to ReceiveDecryptableEntities but for PASSWORDS, which have a custom
@@ -1812,16 +1808,14 @@
   EXPECT_EQ(1U, processor()->GetNumUpdateResponses());
   ASSERT_TRUE(processor()->HasUpdateResponse(kHash1));
   UpdateResponseData update = processor()->GetUpdateResponse(kHash1);
-  // Password should remain unencrypted when sent to the processor.
+  // Password should now be decrypted and sent to the processor.
   EXPECT_TRUE(update.entity->specifics.has_password());
-  EXPECT_TRUE(update.entity->specifics.password().has_encrypted());
-  EXPECT_EQ(encrypted_specifics.password().encrypted().key_name(),
-            update.entity->specifics.password().encrypted().key_name());
-  EXPECT_EQ(encrypted_specifics.password().encrypted().blob(),
-            update.entity->specifics.password().encrypted().blob());
-  EXPECT_FALSE(update.entity->specifics.has_encrypted());
-  EXPECT_FALSE(
+  EXPECT_FALSE(update.entity->specifics.password().has_encrypted());
+  ASSERT_TRUE(
       update.entity->specifics.password().has_client_only_encrypted_data());
+  EXPECT_EQ(kPassword, update.entity->specifics.password()
+                           .client_only_encrypted_data()
+                           .password_value());
 }
 
 }  // namespace syncer
diff --git a/components/sync/engine_impl/non_blocking_type_commit_contribution.cc b/components/sync/engine_impl/non_blocking_type_commit_contribution.cc
index d0ae42f..94c2a2df 100644
--- a/components/sync/engine_impl/non_blocking_type_commit_contribution.cc
+++ b/components/sync/engine_impl/non_blocking_type_commit_contribution.cc
@@ -231,7 +231,16 @@
 
   // Encrypt the specifics and hide the title if necessary.
   if (commit_proto->specifics().has_password()) {
-    if (base::FeatureList::IsEnabled(switches::kSyncUSSPasswords)) {
+    if (base::FeatureList::IsEnabled(switches::kSyncPseudoUSSPasswords)) {
+      // If explicit encryption is enabled, password metadata fields must be
+      // cleared. See documentation in password_specifics.proto.
+      if (IsExplicitPassphrase(passphrase_type_)) {
+        commit_proto->mutable_specifics()
+            ->mutable_password()
+            ->clear_unencrypted_metadata();
+      }
+      commit_proto->set_name("encrypted");
+    } else {
       DCHECK(cryptographer_);
       const sync_pb::PasswordSpecifics& password_specifics =
           commit_proto->specifics().password();
@@ -252,15 +261,6 @@
       DCHECK(result);
       *commit_proto->mutable_specifics() = std::move(encrypted_password);
       commit_proto->set_name("encrypted");
-    } else {
-      // If explicit encryption is enabled, password metadata fields must be
-      // cleared. See documentation in password_specifics.proto.
-      if (IsExplicitPassphrase(passphrase_type_)) {
-        commit_proto->mutable_specifics()
-            ->mutable_password()
-            ->clear_unencrypted_metadata();
-      }
-      commit_proto->set_name("encrypted");
     }
   } else if (cryptographer_) {
     if (commit_proto->has_specifics()) {
diff --git a/components/sync/engine_impl/non_blocking_type_commit_contribution_unittest.cc b/components/sync/engine_impl/non_blocking_type_commit_contribution_unittest.cc
index 274ca8d..da378b1 100644
--- a/components/sync/engine_impl/non_blocking_type_commit_contribution_unittest.cc
+++ b/components/sync/engine_impl/non_blocking_type_commit_contribution_unittest.cc
@@ -8,6 +8,8 @@
 
 #include "base/base64.h"
 #include "base/sha1.h"
+#include "components/sync/base/cryptographer.h"
+#include "components/sync/base/fake_encryptor.h"
 #include "components/sync/base/hash_util.h"
 #include "components/sync/base/model_type.h"
 #include "components/sync/base/unique_position.h"
@@ -41,7 +43,7 @@
   return specifics;
 }
 
-TEST(NonBlockingTypeCommitContribution, PopulateCommitProtoDefault) {
+TEST(NonBlockingTypeCommitContributionTest, PopulateCommitProtoDefault) {
   const int64_t kBaseVersion = 7;
   base::Time creation_time =
       base::Time::UnixEpoch() + base::TimeDelta::FromDays(1);
@@ -84,7 +86,7 @@
   EXPECT_EQ(0, entity.position_in_parent());
 }
 
-TEST(NonBlockingTypeCommitContribution, PopulateCommitProtoBookmark) {
+TEST(NonBlockingTypeCommitContributionTest, PopulateCommitProtoBookmark) {
   const int64_t kBaseVersion = 7;
   base::Time creation_time =
       base::Time::UnixEpoch() + base::TimeDelta::FromDays(1);
@@ -135,16 +137,18 @@
 
 // Verifies how PASSWORDS protos are committed on the wire, making sure the data
 // is properly encrypted except for password metadata.
-TEST(NonBlockingTypeCommitContribution,
+TEST(NonBlockingTypeCommitContributionTest,
      PopulateCommitProtoPasswordWithoutCustomPassphrase) {
-  const std::string kEncryptedPasswordBlob = "encryptedpasswordblob";
   const std::string kMetadataUrl = "http://foo.com";
+  const std::string kSignonRealm = "signon_realm";
   const int64_t kBaseVersion = 7;
 
   EntityData data;
   data.client_tag_hash = kTag;
-  data.specifics.mutable_password()->mutable_encrypted()->set_blob(
-      kEncryptedPasswordBlob);
+  sync_pb::PasswordSpecificsData* password_data =
+      data.specifics.mutable_password()->mutable_client_only_encrypted_data();
+  password_data->set_signon_realm(kSignonRealm);
+
   data.specifics.mutable_password()->mutable_unencrypted_metadata()->set_url(
       kMetadataUrl);
 
@@ -157,10 +161,14 @@
 
   base::ObserverList<TypeDebugInfoObserver>::Unchecked observers;
   DataTypeDebugInfoEmitter debug_info_emitter(PASSWORDS, &observers);
+
+  FakeEncryptor fake_encryptor;
+  Cryptographer cryptographer(&fake_encryptor);
+  cryptographer.AddKey({KeyDerivationParams::CreateForPbkdf2(), "dummy"});
+
   NonBlockingTypeCommitContribution contribution(
       PASSWORDS, sync_pb::DataTypeContext(), {request_data},
-      /*worker=*/nullptr,
-      /*cryptographer*/ nullptr, PassphraseType::IMPLICIT_PASSPHRASE,
+      /*worker=*/nullptr, &cryptographer, PassphraseType::IMPLICIT_PASSPHRASE,
       &debug_info_emitter,
       /*only_commit_specifics=*/false);
 
@@ -179,10 +187,9 @@
   EXPECT_FALSE(entity.deleted());
   EXPECT_FALSE(entity.specifics().has_encrypted());
   EXPECT_TRUE(entity.specifics().has_password());
-  EXPECT_EQ(kEncryptedPasswordBlob,
-            entity.specifics().password().encrypted().blob());
-  EXPECT_EQ(kMetadataUrl,
+  EXPECT_EQ(kSignonRealm,
             entity.specifics().password().unencrypted_metadata().url());
+  EXPECT_FALSE(entity.specifics().password().encrypted().blob().empty());
   EXPECT_TRUE(entity.parent_id_string().empty());
   EXPECT_FALSE(entity.unique_position().has_custom_compressed_v1());
   EXPECT_EQ(0, entity.position_in_parent());
@@ -190,16 +197,18 @@
 
 // Same as above but uses CUSTOM_PASSPHRASE. In this case, field
 // |unencrypted_metadata| should be cleared.
-TEST(NonBlockingTypeCommitContribution,
+TEST(NonBlockingTypeCommitContributionTest,
      PopulateCommitProtoPasswordWithCustomPassphrase) {
-  const std::string kEncryptedPasswordBlob = "encryptedpasswordblob";
   const std::string kMetadataUrl = "http://foo.com";
+  const std::string kSignonRealm = "signon_realm";
   const int64_t kBaseVersion = 7;
 
   EntityData data;
   data.client_tag_hash = kTag;
-  data.specifics.mutable_password()->mutable_encrypted()->set_blob(
-      kEncryptedPasswordBlob);
+  sync_pb::PasswordSpecificsData* password_data =
+      data.specifics.mutable_password()->mutable_client_only_encrypted_data();
+  password_data->set_signon_realm(kSignonRealm);
+
   data.specifics.mutable_password()->mutable_unencrypted_metadata()->set_url(
       kMetadataUrl);
 
@@ -212,10 +221,14 @@
 
   base::ObserverList<TypeDebugInfoObserver>::Unchecked observers;
   DataTypeDebugInfoEmitter debug_info_emitter(PASSWORDS, &observers);
+
+  FakeEncryptor fake_encryptor;
+  Cryptographer cryptographer(&fake_encryptor);
+  cryptographer.AddKey({KeyDerivationParams::CreateForPbkdf2(), "dummy"});
+
   NonBlockingTypeCommitContribution contribution(
       PASSWORDS, sync_pb::DataTypeContext(), {request_data},
-      /*worker=*/nullptr,
-      /*cryptographer*/ nullptr, PassphraseType::CUSTOM_PASSPHRASE,
+      /*worker=*/nullptr, &cryptographer, PassphraseType::CUSTOM_PASSPHRASE,
       &debug_info_emitter,
       /*only_commit_specifics=*/false);
 
@@ -234,8 +247,7 @@
   EXPECT_FALSE(entity.deleted());
   EXPECT_FALSE(entity.specifics().has_encrypted());
   EXPECT_TRUE(entity.specifics().has_password());
-  EXPECT_EQ(kEncryptedPasswordBlob,
-            entity.specifics().password().encrypted().blob());
+  EXPECT_FALSE(entity.specifics().password().encrypted().blob().empty());
   EXPECT_FALSE(entity.specifics().password().has_unencrypted_metadata());
   EXPECT_TRUE(entity.parent_id_string().empty());
   EXPECT_FALSE(entity.unique_position().has_custom_compressed_v1());
diff --git a/components/sync/model_impl/client_tag_based_model_type_processor.cc b/components/sync/model_impl/client_tag_based_model_type_processor.cc
index 4fe3c57..c76a24ef 100644
--- a/components/sync/model_impl/client_tag_based_model_type_processor.cc
+++ b/components/sync/model_impl/client_tag_based_model_type_processor.cc
@@ -750,7 +750,8 @@
   if (!data.is_deleted() && bridge_->SupportsGetClientTag() &&
       client_tag_hash !=
           GenerateSyncableHash(type_, bridge_->GetClientTag(data))) {
-    DLOG(WARNING) << "Received unexpected client tag hash: " << client_tag_hash;
+    DLOG(WARNING) << "Received unexpected client tag hash: " << client_tag_hash
+                  << " for " << ModelTypeToString(type_);
     return nullptr;
   }
 
@@ -760,7 +761,8 @@
   if (entity == nullptr && data.is_deleted()) {
     // Local entity doesn't exist and update is tombstone.
     DLOG(WARNING) << "Received remote delete for a non-existing item."
-                  << " client_tag_hash: " << client_tag_hash;
+                  << " client_tag_hash: " << client_tag_hash << " for "
+                  << ModelTypeToString(type_);
     return nullptr;
   }
 
@@ -987,7 +989,8 @@
     }
     if (update.entity->is_deleted()) {
       DLOG(WARNING) << "Ignoring tombstone found during initial update: "
-                    << "client_tag_hash = " << client_tag_hash;
+                    << "client_tag_hash = " << client_tag_hash << " for "
+                    << ModelTypeToString(type_);
       continue;
     }
     if (bridge_->SupportsGetClientTag() &&
@@ -995,7 +998,7 @@
             GenerateSyncableHash(
                 type_, bridge_->GetClientTag(update.entity.value()))) {
       DLOG(WARNING) << "Received unexpected client tag hash: "
-                    << client_tag_hash;
+                    << client_tag_hash << " for " << ModelTypeToString(type_);
       continue;
     }
 
diff --git a/components/sync/protocol/history_delete_directive_specifics.proto b/components/sync/protocol/history_delete_directive_specifics.proto
index cc907d6..9b7dd18 100644
--- a/components/sync/protocol/history_delete_directive_specifics.proto
+++ b/components/sync/protocol/history_delete_directive_specifics.proto
@@ -23,6 +23,7 @@
   // delete directive must be ignored.
   optional GlobalIdDirective global_id_directive = 1;
   optional TimeRangeDirective time_range_directive = 2;
+  optional UrlDirective url_directive = 3;
 }
 
 message GlobalIdDirective {
@@ -45,3 +46,15 @@
   // The time on or before which entries must be deleted.
   optional int64 end_time_usec = 2;
 }
+
+message UrlDirective {
+  // Both fields below must be filled in.  Otherwise, this delete directive
+  // must be ignored.
+
+  // The URL that should be removed from history.
+  optional string url = 1;
+
+  // The time on or before which entries must be deleted.
+  // In microseconds since the Unix epoch.
+  optional int64 end_time_usec = 2;
+}
diff --git a/components/sync/protocol/proto_value_conversions.cc b/components/sync/protocol/proto_value_conversions.cc
index fdaff75..0c2ba2a 100644
--- a/components/sync/protocol/proto_value_conversions.cc
+++ b/components/sync/protocol/proto_value_conversions.cc
@@ -355,6 +355,7 @@
 IMPLEMENT_PROTO_TO_VALUE(ThemeSpecifics)
 IMPLEMENT_PROTO_TO_VALUE(TimeRangeDirective)
 IMPLEMENT_PROTO_TO_VALUE(TypedUrlSpecifics)
+IMPLEMENT_PROTO_TO_VALUE(UrlDirective)
 IMPLEMENT_PROTO_TO_VALUE(UserConsentSpecifics)
 IMPLEMENT_PROTO_TO_VALUE(UserEventSpecifics)
 IMPLEMENT_PROTO_TO_VALUE(WalletMaskedCreditCard)
diff --git a/components/sync/protocol/proto_value_conversions.h b/components/sync/protocol/proto_value_conversions.h
index c2c688e..6e51ebd 100644
--- a/components/sync/protocol/proto_value_conversions.h
+++ b/components/sync/protocol/proto_value_conversions.h
@@ -71,6 +71,7 @@
 class ThemeSpecifics;
 class TimeRangeDirective;
 class TypedUrlSpecifics;
+class UrlDirective;
 class UserConsentSpecifics;
 class UserEventSpecifics;
 class WalletMaskedCreditCard;
@@ -261,6 +262,9 @@
 std::unique_ptr<base::DictionaryValue> TypedUrlSpecificsToValue(
     const sync_pb::TypedUrlSpecifics& typed_url_specifics);
 
+std::unique_ptr<base::DictionaryValue> UrlDirectiveToValue(
+    const sync_pb::UrlDirective& time_range_directive);
+
 std::unique_ptr<base::DictionaryValue> UserConsentSpecificsToValue(
     const sync_pb::UserConsentSpecifics& user_consent_specifics);
 
diff --git a/components/sync/protocol/proto_visitors.h b/components/sync/protocol/proto_visitors.h
index 055376d7..1470387f 100644
--- a/components/sync/protocol/proto_visitors.h
+++ b/components/sync/protocol/proto_visitors.h
@@ -523,6 +523,7 @@
 VISIT_PROTO_FIELDS(const sync_pb::HistoryDeleteDirectiveSpecifics& proto) {
   VISIT(global_id_directive);
   VISIT(time_range_directive);
+  VISIT(url_directive);
 }
 
 VISIT_PROTO_FIELDS(const sync_pb::HistoryDeleteDirectives& proto) {
@@ -912,6 +913,11 @@
   VISIT_ENUM(interaction);
 }
 
+VISIT_PROTO_FIELDS(const sync_pb::UrlDirective& proto) {
+  VISIT(url);
+  VISIT(end_time_usec);
+}
+
 // TODO(vitaliii): Delete once UserEventSpecifics::UserConsent is completely
 // deprecated.
 VISIT_PROTO_FIELDS(const sync_pb::UserEventSpecifics::UserConsent& proto) {
diff --git a/components/sync_sessions/local_session_event_handler_impl.cc b/components/sync_sessions/local_session_event_handler_impl.cc
index 957624c..bf7d848 100644
--- a/components/sync_sessions/local_session_event_handler_impl.cc
+++ b/components/sync_sessions/local_session_event_handler_impl.cc
@@ -304,7 +304,7 @@
 
   int current_index = tab_delegate->GetCurrentEntryIndex();
   const GURL new_url = tab_delegate->GetVirtualURLAtIndex(current_index);
-  if (new_url != old_url) {
+  if (current_index >= 0 && new_url != old_url) {
     delegate_->OnFaviconVisited(
         new_url, tab_delegate->GetFaviconURLAtIndex(current_index));
   }
diff --git a/components/translate/core/browser/translate_infobar_delegate.cc b/components/translate/core/browser/translate_infobar_delegate.cc
index 2c643695..aa2cb72 100644
--- a/components/translate/core/browser/translate_infobar_delegate.cc
+++ b/components/translate/core/browser/translate_infobar_delegate.cc
@@ -118,6 +118,7 @@
 }
 
 void TranslateInfoBarDelegate::Translate() {
+  DCHECK_NE(original_language_code(), target_language_code());
   ui_delegate_.Translate();
 }
 
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
index 6199952..8ca8828b 100644
--- a/content/browser/accessibility/browser_accessibility.cc
+++ b/content/browser/accessibility/browser_accessibility.cc
@@ -924,18 +924,59 @@
   return offscreen;
 }
 
-std::set<int32_t> BrowserAccessibility::GetReverseRelations(
-    ax::mojom::IntAttribute attr,
-    int32_t dst_id) {
-  DCHECK(manager_);
-  return manager_->ax_tree()->GetReverseRelations(attr, dst_id);
+std::set<ui::AXPlatformNode*> BrowserAccessibility::GetNodesForNodeIdSet(
+    const std::set<int32_t>& ids) {
+  std::set<ui::AXPlatformNode*> nodes;
+  for (int32_t node_id : ids) {
+    if (ui::AXPlatformNode* node = GetFromNodeID(node_id)) {
+      nodes.insert(node);
+    }
+  }
+  return nodes;
 }
 
-std::set<int32_t> BrowserAccessibility::GetReverseRelations(
-    ax::mojom::IntListAttribute attr,
-    int32_t dst_id) {
+ui::AXPlatformNode* BrowserAccessibility::GetTargetNodeForRelation(
+    ax::mojom::IntAttribute attr) {
+  DCHECK(ui::IsNodeIdIntAttribute(attr));
+
+  if (!node_)
+    return nullptr;
+
+  int target_id;
+  if (!GetData().GetIntAttribute(attr, &target_id))
+    return nullptr;
+
+  return GetFromNodeID(target_id);
+}
+
+std::set<ui::AXPlatformNode*> BrowserAccessibility::GetTargetNodesForRelation(
+    ax::mojom::IntListAttribute attr) {
+  DCHECK(ui::IsNodeIdIntListAttribute(attr));
+
+  std::vector<int32_t> target_ids;
+  if (!GetIntListAttribute(attr, &target_ids))
+    return std::set<ui::AXPlatformNode*>();
+
+  std::set<int32_t> target_id_set(target_ids.begin(), target_ids.end());
+  return GetNodesForNodeIdSet(target_id_set);
+}
+
+std::set<ui::AXPlatformNode*> BrowserAccessibility::GetReverseRelations(
+    ax::mojom::IntAttribute attr) {
   DCHECK(manager_);
-  return manager_->ax_tree()->GetReverseRelations(attr, dst_id);
+  DCHECK(node_);
+  DCHECK(ui::IsNodeIdIntAttribute(attr));
+  return GetNodesForNodeIdSet(
+      manager_->ax_tree()->GetReverseRelations(attr, GetData().id));
+}
+
+std::set<ui::AXPlatformNode*> BrowserAccessibility::GetReverseRelations(
+    ax::mojom::IntListAttribute attr) {
+  DCHECK(manager_);
+  DCHECK(node_);
+  DCHECK(ui::IsNodeIdIntListAttribute(attr));
+  return GetNodesForNodeIdSet(
+      manager_->ax_tree()->GetReverseRelations(attr, GetData().id));
 }
 
 const ui::AXUniqueId& BrowserAccessibility::GetUniqueId() const {
diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h
index 7c5699e..b30c3ae 100644
--- a/content/browser/accessibility/browser_accessibility.h
+++ b/content/browser/accessibility/browser_accessibility.h
@@ -8,6 +8,8 @@
 #include <cstdint>
 
 #include <map>
+#include <set>
+#include <string>
 #include <utility>
 #include <vector>
 
@@ -386,10 +388,14 @@
   bool AccessibilityPerformAction(const ui::AXActionData& data) override;
   bool ShouldIgnoreHoveredStateForTesting() override;
   bool IsOffscreen() const override;
-  std::set<int32_t> GetReverseRelations(ax::mojom::IntAttribute attr,
-                                        int32_t dst_id) override;
-  std::set<int32_t> GetReverseRelations(ax::mojom::IntListAttribute attr,
-                                        int32_t dst_id) override;
+  ui::AXPlatformNode* GetTargetNodeForRelation(
+      ax::mojom::IntAttribute attr) override;
+  std::set<ui::AXPlatformNode*> GetTargetNodesForRelation(
+      ax::mojom::IntListAttribute attr) override;
+  std::set<ui::AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntAttribute attr) override;
+  std::set<ui::AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntListAttribute attr) override;
   bool IsOrderedSetItem() const override;
   bool IsOrderedSet() const override;
   int32_t GetPosInSet() const override;
@@ -424,6 +430,11 @@
 
   gfx::Rect GetPageBoundsPastEndOfText() const;
 
+  // Given a set of node ids, return the nodes in this delegate's tree to
+  // which they correspond.
+  std::set<ui::AXPlatformNode*> GetNodesForNodeIdSet(
+      const std::set<int32_t>& ids);
+
   // A unique ID, since node IDs are frame-local.
   ui::AXUniqueId unique_id_;
 
diff --git a/content/browser/accessibility/browser_accessibility_auralinux.cc b/content/browser/accessibility/browser_accessibility_auralinux.cc
index 3d63387a..d41f3fa 100644
--- a/content/browser/accessibility/browser_accessibility_auralinux.cc
+++ b/content/browser/accessibility/browser_accessibility_auralinux.cc
@@ -4,6 +4,7 @@
 
 #include "content/browser/accessibility/browser_accessibility_auralinux.h"
 
+#include "content/browser/accessibility/browser_accessibility_manager.h"
 #include "ui/accessibility/platform/ax_platform_node_auralinux.h"
 
 namespace content {
@@ -54,4 +55,15 @@
   return true;
 }
 
+ui::AXPlatformNode* BrowserAccessibilityAuraLinux::GetFromNodeID(int32_t id) {
+  if (!instance_active())
+    return nullptr;
+
+  BrowserAccessibility* accessibility = manager_->GetFromID(id);
+  if (!accessibility)
+    return nullptr;
+
+  return ToBrowserAccessibilityAuraLinux(accessibility)->GetNode();
+}
+
 }  // namespace content
diff --git a/content/browser/accessibility/browser_accessibility_auralinux.h b/content/browser/accessibility/browser_accessibility_auralinux.h
index ba263d9..ac38ccd4 100644
--- a/content/browser/accessibility/browser_accessibility_auralinux.h
+++ b/content/browser/accessibility/browser_accessibility_auralinux.h
@@ -32,6 +32,7 @@
   void OnDataChanged() override;
   bool IsNative() const override;
   gfx::NativeViewAccessible GetNativeViewAccessible() override;
+  ui::AXPlatformNode* GetFromNodeID(int32_t id) override;
 
  private:
   // Give BrowserAccessibility::Create access to our constructor.
diff --git a/content/browser/contacts/contacts_provider_android.cc b/content/browser/contacts/contacts_provider_android.cc
index f698eda..4fc2199 100644
--- a/content/browser/contacts/contacts_provider_android.cc
+++ b/content/browser/contacts/contacts_provider_android.cc
@@ -9,12 +9,15 @@
 #include <utility>
 #include <vector>
 
+#include "base/android/jni_string.h"
 #include "base/callback.h"
+#include "components/url_formatter/elide_url.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
 #include "content/public/browser/web_contents.h"
 #include "jni/ContactsDialogHost_jni.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "ui/android/window_android.h"
+#include "url/origin.h"
 
 namespace content {
 
@@ -29,6 +32,10 @@
   if (!web_contents->GetTopLevelNativeWindow())
     return;
 
+  formatted_origin_ = url_formatter::FormatUrlForSecurityDisplay(
+      render_frame_host->GetLastCommittedOrigin().GetURL(),
+      url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC);
+
   dialog_.Reset(Java_ContactsDialogHost_create(
       env, web_contents->GetTopLevelNativeWindow()->GetJavaObject(),
       reinterpret_cast<intptr_t>(this)));
@@ -54,8 +61,9 @@
   callback_ = std::move(callback);
 
   JNIEnv* env = base::android::AttachCurrentThread();
-  Java_ContactsDialogHost_showDialog(env, dialog_, multiple, include_names,
-                                     include_emails, include_tel);
+  Java_ContactsDialogHost_showDialog(
+      env, dialog_, multiple, include_names, include_emails, include_tel,
+      base::android::ConvertUTF16ToJavaString(env, formatted_origin_));
 }
 
 void ContactsProviderAndroid::AddContact(
diff --git a/content/browser/contacts/contacts_provider_android.h b/content/browser/contacts/contacts_provider_android.h
index 9276052..60ed785 100644
--- a/content/browser/contacts/contacts_provider_android.h
+++ b/content/browser/contacts/contacts_provider_android.h
@@ -7,6 +7,7 @@
 
 #include "base/android/jni_array.h"
 #include "base/android/scoped_java_ref.h"
+#include "base/strings/string16.h"
 #include "content/browser/contacts/contacts_provider.h"
 #include "content/common/content_export.h"
 #include "third_party/blink/public/mojom/contacts/contacts_manager.mojom.h"
@@ -56,6 +57,10 @@
   // The list of contacts to return.
   std::vector<blink::mojom::ContactInfoPtr> contacts_;
 
+  // The origin that the contacts data will be shared with. Formatted for
+  // display with the scheme omitted.
+  base::string16 formatted_origin_;
+
   DISALLOW_COPY_AND_ASSIGN(ContactsProviderAndroid);
 };
 
diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc
index 26c8b9ff..6ba36d9 100644
--- a/content/browser/frame_host/navigation_request.cc
+++ b/content/browser/frame_host/navigation_request.cc
@@ -168,7 +168,6 @@
 // blink::FrameFetchContext::addAdditionalRequestHeaders.
 void AddAdditionalRequestHeaders(
     net::HttpRequestHeaders* headers,
-    net::HttpRequestHeaders embedder_additional_headers,
     const GURL& url,
     FrameMsg_Navigate_Type::Value navigation_type,
     BrowserContext* browser_context,
@@ -193,9 +192,6 @@
       headers->SetHeaderIfMissing("Save-Data", "on");
   }
 
-  // Attach additional request headers specified by embedder.
-  headers->MergeFrom(std::move(embedder_additional_headers));
-
   // Tack an 'Upgrade-Insecure-Requests' header to outgoing navigational
   // requests, as described in
   // https://w3c.github.io/webappsec/specs/upgrade/#feature-detect
@@ -558,13 +554,6 @@
   // Only add specific headers when creating a NavigationRequest before the
   // network request is made, not at commit time.
   if (!is_for_commit) {
-    int additional_load_flags = 0;
-    net::HttpRequestHeaders embedder_additional_headers;
-    // TODO(https://crbug.com/919432): Remove this method.
-    GetContentClient()->browser()->NavigationRequestStarted(
-        frame_tree_node->frame_tree_node_id(), common_params_.url,
-        &embedder_additional_headers, &additional_load_flags);
-
     BrowserContext* browser_context =
         frame_tree_node_->navigator()->GetController()->GetBrowserContext();
     if (browser_context->GetClientHintsControllerDelegate()) {
@@ -575,12 +564,9 @@
       headers.MergeFrom(client_hints_headers);
     }
 
-    begin_params_->load_flags |= additional_load_flags;
-
     headers.AddHeadersFromString(begin_params_->headers);
     AddAdditionalRequestHeaders(
-        &headers, std::move(embedder_additional_headers), common_params_.url,
-        common_params_.navigation_type,
+        &headers, common_params_.url, common_params_.navigation_type,
         frame_tree_node_->navigator()->GetController()->GetBrowserContext(),
         common_params.method, user_agent_override,
         common_params_.has_user_gesture, common_params.initiator_origin,
@@ -1619,11 +1605,6 @@
     modified_headers.MergeFrom(client_hints_extra_headers);
   }
 
-  // TODO(https://crbug.com/919432): Remove this method.
-  GetContentClient()->browser()->NavigationRequestRedirected(
-      frame_tree_node_->frame_tree_node_id(), common_params_.url,
-      &modified_headers);
-
   loader_->FollowRedirect(std::move(removed_headers),
                           std::move(modified_headers),
                           common_params_.previews_state);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 15871fc3..2f2d84a 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -351,57 +351,6 @@
 // Allow us to only run the trial in the first renderer.
 bool has_done_stun_trials = false;
 
-// Globally tracks all existing RenderProcessHostImpl instances.
-//
-// TODO(https://crbug.com/813045): Remove this.
-class RenderProcessMemoryDumpProvider
-    : public base::trace_event::MemoryDumpProvider {
- public:
-  RenderProcessMemoryDumpProvider() {
-    base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
-        this, "RenderProcessHost", base::ThreadTaskRunnerHandle::Get());
-  }
-
-  ~RenderProcessMemoryDumpProvider() override {
-    base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider(
-        this);
-  }
-
-  void AddHost(RenderProcessHostImpl* host) {
-    hosts_.emplace(host, base::Time::Now());
-  }
-
-  void RemoveHost(RenderProcessHostImpl* host) { hosts_.erase(host); }
-
- private:
-  // base::trace_event::MemoryDumpProvider:
-  bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
-                    base::trace_event::ProcessMemoryDump* pmd) override {
-    for (auto& iter : hosts_) {
-      auto* host = iter.first;
-      base::trace_event::MemoryAllocatorDump* dump = pmd->CreateAllocatorDump(
-          base::StringPrintf("mojo/render_process_host/0x%" PRIxPTR,
-                             reinterpret_cast<uintptr_t>(host)));
-      dump->AddScalar("is_initialized",
-                      base::trace_event::MemoryAllocatorDump::kUnitsObjects,
-                      host->is_initialized() ? 1 : 0);
-      dump->AddScalar("age",
-                      base::trace_event::MemoryAllocatorDump::kUnitsObjects,
-                      (base::Time::Now() - iter.second).InSeconds());
-    }
-    return true;
-  }
-
-  std::map<RenderProcessHostImpl*, base::Time> hosts_;
-
-  DISALLOW_COPY_AND_ASSIGN(RenderProcessMemoryDumpProvider);
-};
-
-RenderProcessMemoryDumpProvider& GetMemoryDumpProvider() {
-  static base::NoDestructor<RenderProcessMemoryDumpProvider> tracker;
-  return *tracker;
-}
-
 // the global list of all renderer processes
 base::LazyInstance<base::IDMap<RenderProcessHost*>>::Leaky g_all_hosts =
     LAZY_INSTANCE_INITIALIZER;
@@ -416,7 +365,7 @@
   void RegisterProcess(const std::string& site, RenderProcessHost* process) {
     // There could already exist a site to process mapping due to races between
     // two WebContents with blank SiteInstances. If that occurs, keeping the
-    // exising entry and not overwriting it is a predictable behavior that is
+    // existing entry and not overwriting it is a predictable behavior that is
     // safe.
     auto i = map_.find(site);
     if (i == map_.end())
@@ -1649,8 +1598,6 @@
         std::make_unique<BrowserGpuClientDelegate>(), id, tracing_id,
         base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO})));
   }
-
-  GetMemoryDumpProvider().AddHost(this);
 }
 
 // static
@@ -1723,8 +1670,6 @@
                              base::BindOnce(&RemoveShaderInfo, GetID()));
   }
 
-  GetMemoryDumpProvider().RemoveHost(this);
-
   if (cleanup_corb_exception_for_plugin_upon_destruction_)
     RemoveCorbExceptionForPluginOnUIThread(GetID());
 }
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc
index e4401765..e8e65f4 100644
--- a/content/browser/tracing/background_tracing_manager_impl.cc
+++ b/content/browser/tracing/background_tracing_manager_impl.cc
@@ -509,10 +509,6 @@
     config.SetTraceBufferSizeInEvents(20000);
 #endif
 
-  is_tracing_ = TracingControllerImpl::GetInstance()->StartTracing(
-      config, base::BindOnce(&BackgroundTracingManagerImpl::OnStartTracingDone,
-                             base::Unretained(this), preset));
-
   // Activate the categories immediately. StartTracing eventually does this
   // itself, but asynchronously via PostTask, and in the meantime events will be
   // dropped. This ensures that we start recording events for those categories
@@ -524,6 +520,10 @@
     base::trace_event::TraceLog::GetInstance()->SetEnabled(config, modes);
   }
 
+  is_tracing_ = TracingControllerImpl::GetInstance()->StartTracing(
+      config, base::BindOnce(&BackgroundTracingManagerImpl::OnStartTracingDone,
+                             base::Unretained(this), preset));
+
   RecordBackgroundTracingMetric(RECORDING_ENABLED);
 }
 
diff --git a/content/browser/tracing/cast_tracing_agent.cc b/content/browser/tracing/cast_tracing_agent.cc
index 597c377..7a263c6 100644
--- a/content/browser/tracing/cast_tracing_agent.cc
+++ b/content/browser/tracing/cast_tracing_agent.cc
@@ -279,14 +279,13 @@
 
 // tracing::mojom::Agent. Called by Mojo internals on the UI thread.
 void CastTracingAgent::StartTracing(const std::string& config,
-                                    base::TimeTicks coordinator_time,
-                                    Agent::StartTracingCallback callback) {
+                                    base::TimeTicks coordinator_time) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
   DCHECK(!session_);
   session_ = std::make_unique<CastSystemTracingSession>(worker_task_runner_);
   session_->StartTracing(
       config, base::BindOnce(&CastTracingAgent::StartTracingCallbackProxy,
-                             base::Unretained(this), std::move(callback)));
+                             base::Unretained(this)));
 }
 
 void CastTracingAgent::StopAndFlush(tracing::mojom::RecorderPtr recorder) {
@@ -306,12 +305,10 @@
 }
 
 void CastTracingAgent::StartTracingCallbackProxy(
-    Agent::StartTracingCallback callback,
     bool success) {
   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
   if (!success)
     session_.reset();
-  std::move(callback).Run(success);
 }
 
 void CastTracingAgent::HandleTraceData(chromecast::SystemTracer::Status status,
diff --git a/content/browser/tracing/cast_tracing_agent.h b/content/browser/tracing/cast_tracing_agent.h
index 7b90f2a..8d59d1c 100644
--- a/content/browser/tracing/cast_tracing_agent.h
+++ b/content/browser/tracing/cast_tracing_agent.h
@@ -33,12 +33,10 @@
 
   // tracing::mojom::Agent. Called by Mojo internals on the UI thread.
   void StartTracing(const std::string& config,
-                    base::TimeTicks coordinator_time,
-                    Agent::StartTracingCallback callback) override;
+                    base::TimeTicks coordinator_time) override;
   void StopAndFlush(tracing::mojom::RecorderPtr recorder) override;
 
-  void StartTracingCallbackProxy(Agent::StartTracingCallback callback,
-                                 bool success);
+  void StartTracingCallbackProxy(bool success);
   void HandleTraceData(chromecast::SystemTracer::Status status,
                        std::string trace_data);
 
diff --git a/content/browser/tracing/cros_tracing_agent.cc b/content/browser/tracing/cros_tracing_agent.cc
index d9e25fe..4f45515 100644
--- a/content/browser/tracing/cros_tracing_agent.cc
+++ b/content/browser/tracing/cros_tracing_agent.cc
@@ -228,13 +228,12 @@
 
 // tracing::mojom::Agent. Called by Mojo internals on the UI thread.
 void CrOSTracingAgent::StartTracing(const std::string& config,
-                                    base::TimeTicks coordinator_time,
-                                    Agent::StartTracingCallback callback) {
+                                    base::TimeTicks coordinator_time) {
   DCHECK(!session_);
   session_ = std::make_unique<CrOSSystemTracingSession>();
   session_->StartTracing(
       config, base::BindOnce(&CrOSTracingAgent::StartTracingCallbackProxy,
-                             base::Unretained(this), std::move(callback)));
+                             base::Unretained(this)));
 }
 
 void CrOSTracingAgent::StopAndFlush(tracing::mojom::RecorderPtr recorder) {
@@ -247,11 +246,9 @@
 }
 
 void CrOSTracingAgent::StartTracingCallbackProxy(
-    Agent::StartTracingCallback callback,
     bool success) {
   if (!success)
     session_.reset();
-  std::move(callback).Run(success);
 }
 
 void CrOSTracingAgent::RecorderProxy(
diff --git a/content/browser/tracing/cros_tracing_agent.h b/content/browser/tracing/cros_tracing_agent.h
index 289db7c..91ae13c 100644
--- a/content/browser/tracing/cros_tracing_agent.h
+++ b/content/browser/tracing/cros_tracing_agent.h
@@ -32,12 +32,10 @@
 
   // tracing::mojom::Agent. Called by Mojo internals on the UI thread.
   void StartTracing(const std::string& config,
-                    base::TimeTicks coordinator_time,
-                    Agent::StartTracingCallback callback) override;
+                    base::TimeTicks coordinator_time) override;
   void StopAndFlush(tracing::mojom::RecorderPtr recorder) override;
 
-  void StartTracingCallbackProxy(Agent::StartTracingCallback callback,
-                                 bool success);
+  void StartTracingCallbackProxy(bool success);
   void RecorderProxy(const scoped_refptr<base::RefCountedString>& events);
 
   std::unique_ptr<CrOSSystemTracingSession> session_;
diff --git a/content/browser/tracing/tracing_controller_browsertest.cc b/content/browser/tracing/tracing_controller_browsertest.cc
index 21e45b16..1a5b3ff 100644
--- a/content/browser/tracing/tracing_controller_browsertest.cc
+++ b/content/browser/tracing/tracing_controller_browsertest.cc
@@ -130,29 +130,6 @@
   }
 };
 
-class WaitForTraceLogEnabled
-    : public base::trace_event::TraceLog::EnabledStateObserver {
- public:
-  WaitForTraceLogEnabled() {
-    base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver(this);
-  }
-
-  ~WaitForTraceLogEnabled() override {
-    base::trace_event::TraceLog::GetInstance()->RemoveEnabledStateObserver(
-        this);
-  }
-
-  void Wait() { wait_for_tracelog_.Run(); }
-
-  // TraceLog::EnabledStateObserver overrides:
-  void OnTraceLogEnabled() override { wait_for_tracelog_.Quit(); }
-
-  void OnTraceLogDisabled() override {}
-
- private:
-  base::RunLoop wait_for_tracelog_;
-};
-
 class TracingControllerTest : public ContentBrowserTest {
  public:
   TracingControllerTest() {}
@@ -246,11 +223,9 @@
       TraceConfig config;
       if (enable_systrace)
         config.EnableSystrace();
-      WaitForTraceLogEnabled wait_for_tracelog;
       bool result = controller->StartTracing(config, std::move(callback));
       ASSERT_TRUE(result);
       run_loop.Run();
-      wait_for_tracelog.Wait();
       EXPECT_EQ(enable_recording_done_callback_count(), 1);
     }
 
@@ -292,11 +267,9 @@
       TraceConfig config = TraceConfig();
       config.EnableArgumentFilter();
 
-      WaitForTraceLogEnabled wait_for_tracelog;
       bool result = controller->StartTracing(config, std::move(callback));
       ASSERT_TRUE(result);
       run_loop.Run();
-      wait_for_tracelog.Wait();
       EXPECT_EQ(enable_recording_done_callback_count(), 1);
     }
 
@@ -333,12 +306,10 @@
       TracingController::StartTracingDoneCallback callback =
           base::BindOnce(&TracingControllerTest::StartTracingDoneCallbackTest,
                          base::Unretained(this), run_loop.QuitClosure());
-      WaitForTraceLogEnabled wait_for_tracelog;
       bool result =
           controller->StartTracing(TraceConfig(), std::move(callback));
       ASSERT_TRUE(result);
       run_loop.Run();
-      wait_for_tracelog.Wait();
       EXPECT_EQ(enable_recording_done_callback_count(), 1);
     }
 
@@ -370,12 +341,10 @@
       TracingController::StartTracingDoneCallback callback =
           base::BindOnce(&TracingControllerTest::StartTracingDoneCallbackTest,
                          base::Unretained(this), run_loop.QuitClosure());
-      WaitForTraceLogEnabled wait_for_tracelog;
       bool result =
           controller->StartTracing(TraceConfig(), std::move(callback));
       ASSERT_TRUE(result);
       run_loop.Run();
-      wait_for_tracelog.Wait();
       EXPECT_EQ(enable_recording_done_callback_count(), 1);
     }
 
diff --git a/content/browser/tracing/tracing_controller_impl.cc b/content/browser/tracing/tracing_controller_impl.cc
index bfc85215..beed93a 100644
--- a/content/browser/tracing/tracing_controller_impl.cc
+++ b/content/browser/tracing/tracing_controller_impl.cc
@@ -116,16 +116,22 @@
 }
 
 TracingControllerImpl::TracingControllerImpl()
-    : delegate_(GetContentClient()->browser()->GetTracingDelegate()) {
+    : delegate_(GetContentClient()->browser()->GetTracingDelegate()),
+      weak_ptr_factory_(this) {
   DCHECK(!g_tracing_controller);
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   // Deliberately leaked, like this class.
   base::FileTracing::SetProvider(new FileTracingProviderImpl);
   AddAgents();
+  base::trace_event::TraceLog::GetInstance()->AddAsyncEnabledStateObserver(
+      weak_ptr_factory_.GetWeakPtr());
   g_tracing_controller = this;
 }
 
-TracingControllerImpl::~TracingControllerImpl() = default;
+TracingControllerImpl::~TracingControllerImpl() {
+  base::trace_event::TraceLog::GetInstance()->RemoveAsyncEnabledStateObserver(
+      this);
+}
 
 void TracingControllerImpl::AddAgents() {
   tracing::TracedProcessImpl::GetInstance()->SetTaskRunner(
@@ -327,20 +333,32 @@
   trace_config_ =
       std::make_unique<base::trace_event::TraceConfig>(trace_config);
 
+  start_tracing_done_ = std::move(callback);
   ConnectToServiceIfNeeded();
-  coordinator_->StartTracing(
-      trace_config.ToString(),
-      base::BindOnce(
-          [](StartTracingDoneCallback callback, bool success) {
-            if (!callback.is_null())
-              std::move(callback).Run();
-          },
-          std::move(callback)));
+  coordinator_->StartTracing(trace_config.ToString());
+
+  if (start_tracing_done_ &&
+      (base::trace_event::TraceLog::GetInstance()->IsEnabled() ||
+       !trace_config.process_filter_config().IsEnabled(
+           base::Process::Current().Pid()))) {
+    // If we're already tracing, or if the current process is excluded from the
+    // process filter, we'll never receive a callback from the TraceLog, so then
+    // we just run the callback right away.
+    std::move(start_tracing_done_).Run();
+  }
+
   // TODO(chiniforooshan): The actual success value should be sent by the
   // callback asynchronously.
   return true;
 }
 
+void TracingControllerImpl::OnTraceLogEnabled() {
+  if (start_tracing_done_)
+    std::move(start_tracing_done_).Run();
+}
+
+void TracingControllerImpl::OnTraceLogDisabled() {}
+
 bool TracingControllerImpl::StopTracing(
     const scoped_refptr<TraceDataEndpoint>& trace_data_endpoint) {
   return StopTracing(std::move(trace_data_endpoint), "");
diff --git a/content/browser/tracing/tracing_controller_impl.h b/content/browser/tracing/tracing_controller_impl.h
index dbb0b86..5a6f9e6 100644
--- a/content/browser/tracing/tracing_controller_impl.h
+++ b/content/browser/tracing/tracing_controller_impl.h
@@ -12,6 +12,8 @@
 
 #include "base/callback_forward.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/weak_ptr.h"
+#include "base/trace_event/trace_log.h"
 #include "content/common/content_export.h"
 #include "content/public/browser/tracing_controller.h"
 #include "mojo/public/cpp/system/data_pipe_drainer.h"
@@ -36,8 +38,10 @@
 class TracingDelegate;
 class TracingUI;
 
-class TracingControllerImpl : public TracingController,
-                              public mojo::DataPipeDrainer::Client {
+class TracingControllerImpl
+    : public TracingController,
+      public mojo::DataPipeDrainer::Client,
+      public base::trace_event::TraceLog::AsyncEnabledStateObserver {
  public:
   // Create an endpoint for dumping the trace data to a callback.
   CONTENT_EXPORT static scoped_refptr<TraceDataEndpoint> CreateCallbackEndpoint(
@@ -83,6 +87,10 @@
   void OnDataAvailable(const void* data, size_t num_bytes) override;
   void OnDataComplete() override;
 
+  // base::trace_event::TraceLog::AsyncEnabledStateObserver
+  void OnTraceLogEnabled() override;
+  void OnTraceLogDisabled() override;
+
   void OnMetadataAvailable(base::Value metadata);
 
   void CompleteFlush();
@@ -91,6 +99,7 @@
   std::vector<std::unique_ptr<tracing::BaseAgent>> agents_;
   std::unique_ptr<TracingDelegate> delegate_;
   std::unique_ptr<base::trace_event::TraceConfig> trace_config_;
+  StartTracingDoneCallback start_tracing_done_;
   std::unique_ptr<mojo::DataPipeDrainer> drainer_;
   scoped_refptr<TraceDataEndpoint> trace_data_endpoint_;
   std::unique_ptr<base::DictionaryValue> filtered_metadata_;
@@ -98,6 +107,8 @@
   bool is_data_complete_ = false;
   bool is_metadata_available_ = false;
 
+  // NOTE: Weak pointers must be invalidated before all other member variables.
+  base::WeakPtrFactory<TracingControllerImpl> weak_ptr_factory_;
   DISALLOW_COPY_AND_ASSIGN(TracingControllerImpl);
 };
 
diff --git a/content/browser/webrtc/webrtc_audio_browsertest.cc b/content/browser/webrtc/webrtc_audio_browsertest.cc
index 538577a8b..74116973 100644
--- a/content/browser/webrtc/webrtc_audio_browsertest.cc
+++ b/content/browser/webrtc/webrtc_audio_browsertest.cc
@@ -76,25 +76,29 @@
 IN_PROC_BROWSER_TEST_P(WebRtcAudioBrowserTest,
                        CanMakeVideoCallAndThenRenegotiateToAudio) {
   MakeAudioDetectingPeerConnectionCall(
-      "callAndRenegotiateToAudio({audio: true, video:true}, {audio: true});");
+      "callAndRenegotiateToAudio({audio: {echoCancellation: {exact: false}}, "
+      "video:true}, {audio: {echoCancellation: {exact: false}}});");
 }
 
 IN_PROC_BROWSER_TEST_P(WebRtcAudioBrowserTest,
                        EstablishAudioVideoCallAndEnsureAudioIsPlaying) {
   MakeAudioDetectingPeerConnectionCall(
-      "callAndEnsureAudioIsPlaying({audio:true, video:true});");
+      "callAndEnsureAudioIsPlaying({audio: {echoCancellation: {exact: false}}, "
+      "video:true});");
 }
 
 IN_PROC_BROWSER_TEST_P(WebRtcAudioBrowserTest,
                        EstablishAudioOnlyCallAndEnsureAudioIsPlaying) {
   MakeAudioDetectingPeerConnectionCall(
-      "callAndEnsureAudioIsPlaying({audio:true});");
+      "callAndEnsureAudioIsPlaying({audio:{echoCancellation: {exact: "
+      "false}}});");
 }
 
 IN_PROC_BROWSER_TEST_P(WebRtcAudioBrowserTest,
                        EstablishIsac16KCallAndEnsureAudioIsPlaying) {
   MakeAudioDetectingPeerConnectionCall(
-      "callWithIsac16KAndEnsureAudioIsPlaying({audio:true});");
+      "callWithIsac16KAndEnsureAudioIsPlaying({audio:{echoCancellation: "
+      "{exact: false}}});");
 }
 
 IN_PROC_BROWSER_TEST_P(WebRtcAudioBrowserTest,
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
index 78443144..6b61bcb2 100644
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -124,6 +124,9 @@
       base::FeatureList::IsEnabled(
           features::kBlinkHeapUnifiedGarbageCollection));
 
+  WebRuntimeFeatures::EnableBlinkHeapCollectLiveNonNodeWrappers(
+      base::FeatureList::IsEnabled(features::kCollectLiveNonNodeWrappers));
+
   if (base::FeatureList::IsEnabled(features::kBloatedRendererDetection))
     WebRuntimeFeatures::EnableBloatedRendererDetection(true);
 
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContactsDialogHost.java b/content/public/android/java/src/org/chromium/content/browser/ContactsDialogHost.java
index f4d4ef8..8ba92bc 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContactsDialogHost.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContactsDialogHost.java
@@ -42,8 +42,8 @@
     }
 
     @CalledByNative
-    private void showDialog(
-            boolean multiple, boolean includeNames, boolean includeEmails, boolean includeTel) {
+    private void showDialog(boolean multiple, boolean includeNames, boolean includeEmails,
+            boolean includeTel, String formattedOrigin) {
         if (mWindowAndroid.getActivity().get() == null) {
             nativeEndWithPermissionDenied(mNativeContactsProviderAndroid);
             return;
@@ -51,7 +51,7 @@
 
         if (mWindowAndroid.hasPermission(Manifest.permission.READ_CONTACTS)) {
             if (!UiUtils.showContactsPicker(mWindowAndroid.getActivity().get(), this, multiple,
-                        includeNames, includeEmails, includeTel)) {
+                        includeNames, includeEmails, includeTel, formattedOrigin)) {
                 nativeEndWithPermissionDenied(mNativeContactsProviderAndroid);
             }
             return;
@@ -68,7 +68,8 @@
                             && TextUtils.equals(permissions[0], Manifest.permission.READ_CONTACTS)
                             && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                         if (!UiUtils.showContactsPicker(mWindowAndroid.getActivity().get(), this,
-                                    multiple, includeNames, includeEmails, includeTel)) {
+                                    multiple, includeNames, includeEmails, includeTel,
+                                    formattedOrigin)) {
                             nativeEndWithPermissionDenied(mNativeContactsProviderAndroid);
                         }
                     } else {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 6d141289..80c4bae 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -550,27 +550,6 @@
       BrowserContext* browser_context,
       blink::mojom::RendererPreferences* out_prefs);
 
-  // DEPRECATED, Please use the NavigationHandle to modify headers.
-  // See https://crbug.com/919432.
-  //
-  // Allow the embedder to return additional headers that should be sent when
-  // fetching |url| as well as add extra load flags.
-  virtual void NavigationRequestStarted(int frame_tree_node_id,
-                                        const GURL& url,
-                                        net::HttpRequestHeaders* extra_headers,
-                                        int* extra_load_flags) {}
-
-  // DEPRECATED. Please use the NavigationHandle to modify headers.
-  // See https://crbug.com/919432.
-  //
-  // Allow the embedder to modify headers for a redirect. If non-nullopt,
-  // |*modified_headers| is applied to the request headers after updating them
-  // for the redirect.
-  virtual void NavigationRequestRedirected(
-      int frame_tree_node_id,
-      const GURL& url,
-      net::HttpRequestHeaders* modified_headers) {}
-
   // Allow the embedder to control if the given cookie can be read.
   // This is called on the IO thread.
   virtual bool AllowGetCookie(const GURL& url,
diff --git a/content/public/browser/tracing_controller.h b/content/public/browser/tracing_controller.h
index c2e3e98d..51151438 100644
--- a/content/public/browser/tracing_controller.h
+++ b/content/public/browser/tracing_controller.h
@@ -75,8 +75,9 @@
   // Tracing begins immediately locally, and asynchronously on child processes
   // as soon as they receive the StartTracing request.
   //
-  // Once all child processes have acked to the StartTracing request,
-  // StartTracingDoneCallback will be called back.
+  // Once tracing is enabled in the current process and trace events can be
+  // emitted (unless excluded from the config), StartTracingDoneCallback will
+  // be called back.
   //
   // |category_filter| is a filter to control what category groups should be
   // traced. A filter can have an optional '-' prefix to exclude category groups
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
index 2da863fd..356e045 100644
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -110,6 +110,11 @@
 #endif
 };
 
+// When CollectLiveNonNodeWrappers is enabled, live non-Node wrappers that are
+// re-creatable will get collected by V8's minor garbage collector.
+const base::Feature kCollectLiveNonNodeWrappers{
+    "CollectLiveNonNodeWrappers", base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Enables the compositing of fixed position content that is opaque and can
 // preserve LCD text.
 const base::Feature kCompositeOpaqueFixedPosition{
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
index ad7d79b..6ea67f3 100644
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -35,6 +35,7 @@
 CONTENT_EXPORT extern const base::Feature kBrotliEncoding;
 CONTENT_EXPORT extern const base::Feature kCacheInlineScriptCode;
 CONTENT_EXPORT extern const base::Feature kCanvas2DImageChromium;
+CONTENT_EXPORT extern const base::Feature kCollectLiveNonNodeWrappers;
 CONTENT_EXPORT extern const base::Feature kCompositeOpaqueFixedPosition;
 CONTENT_EXPORT extern const base::Feature kCompositeOpaqueScrollers;
 CONTENT_EXPORT extern const base::Feature kCrashReporting;
diff --git a/content/public/test/test_renderer_host.h b/content/public/test/test_renderer_host.h
index 17e189fe..878dac4 100644
--- a/content/public/test/test_renderer_host.h
+++ b/content/public/test/test_renderer_host.h
@@ -108,10 +108,6 @@
                                           const GURL& url,
                                           ui::PageTransition transition) = 0;
 
-  // If set, future loads will have |mime_type| set as the mime type.
-  // If not set, the mime type will default to "text/html".
-  virtual void SetContentsMimeType(const std::string& mime_type) = 0;
-
   // Calls OnBeforeUnloadACK on this RenderFrameHost with the given parameter.
   virtual void SendBeforeUnloadACK(bool proceed) = 0;
 
diff --git a/content/public/test/unittest_test_suite.cc b/content/public/test/unittest_test_suite.cc
index 788e922..5d1c4b9 100644
--- a/content/public/test/unittest_test_suite.cc
+++ b/content/public/test/unittest_test_suite.cc
@@ -36,18 +36,6 @@
   std::string disabled =
       command_line->GetSwitchValueASCII(switches::kDisableFeatures);
 
-  // Unit tests don't currently work with the Network Service enabled.
-  // base::TestSuite will reset the FeatureList, so modify the underlying
-  // CommandLine object to disable the network service when it's parsed again.
-  disabled += ",NetworkService";
-  base::CommandLine new_command_line(command_line->GetProgram());
-  base::CommandLine::SwitchMap switches = command_line->GetSwitches();
-  switches.erase(switches::kDisableFeatures);
-  new_command_line.AppendSwitchASCII(switches::kDisableFeatures, disabled);
-  for (const auto& iter : switches)
-    new_command_line.AppendSwitchNative(iter.first, iter.second);
-  *base::CommandLine::ForCurrentProcess() = new_command_line;
-
   // The TaskScheduler created by the test launcher is never destroyed.
   // Similarly, the FeatureList created here is never destroyed so it
   // can safely be accessed by the TaskScheduler.
@@ -59,7 +47,6 @@
 #if defined(OS_FUCHSIA)
   // Use headless ozone platform on Fuchsia by default.
   // TODO(crbug.com/865172): Remove this flag.
-  command_line = base::CommandLine::ForCurrentProcess();
   if (!command_line->HasSwitch(switches::kOzonePlatform))
     command_line->AppendSwitchASCII(switches::kOzonePlatform, "headless");
 #endif
diff --git a/content/renderer/media/webrtc/rtc_peer_connection_handler.cc b/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
index 7b41c97..ec41e007 100644
--- a/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
+++ b/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
@@ -849,7 +849,6 @@
   void OnIceConnectionChange(
       PeerConnectionInterface::IceConnectionState new_state) override {}
   void OnStandardizedIceConnectionChange(
-
       PeerConnectionInterface::IceConnectionState new_state) override {
     if (!main_thread_->BelongsToCurrentThread()) {
       main_thread_->PostTask(
diff --git a/content/test/data/accessibility/aria/aria-errormessage-expected-win.txt b/content/test/data/accessibility/aria/aria-errormessage-expected-win.txt
index 1b901b5..50ca76e 100644
--- a/content/test/data/accessibility/aria/aria-errormessage-expected-win.txt
+++ b/content/test/data/accessibility/aria/aria-errormessage-expected-win.txt
@@ -1,5 +1,5 @@
 ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE n_relations=0
 ++IA2_ROLE_SECTION n_relations=0
 ++++ROLE_SYSTEM_TEXT FOCUSABLE IA2_STATE_INVALID_ENTRY n_relations=1
-++IA2_ROLE_PARAGRAPH n_relations=0
+++IA2_ROLE_PARAGRAPH n_relations=1
 ++++ROLE_SYSTEM_STATICTEXT name='Error' n_relations=0
\ No newline at end of file
diff --git a/content/test/data/accessibility/html/form-validation-message-expected-win.txt b/content/test/data/accessibility/html/form-validation-message-expected-win.txt
index 0e4d21c8..de9c8af7 100644
--- a/content/test/data/accessibility/html/form-validation-message-expected-win.txt
+++ b/content/test/data/accessibility/html/form-validation-message-expected-win.txt
@@ -1,6 +1,6 @@
-ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
-++IA2_ROLE_FORM
-++++IA2_ROLE_LABEL
-++++++ROLE_SYSTEM_STATICTEXT name='Pet name:'
-++++ROLE_SYSTEM_TEXT name='Pet name:' FOCUSABLE IA2_STATE_INVALID_ENTRY IA2_STATE_REQUIRED
-++ROLE_SYSTEM_ALERT name='Please enter pet name'
\ No newline at end of file
+ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE n_relations=0
+++IA2_ROLE_FORM n_relations=0
+++++IA2_ROLE_LABEL n_relations=1
+++++++ROLE_SYSTEM_STATICTEXT name='Pet name:' n_relations=0
+++++ROLE_SYSTEM_TEXT name='Pet name:' FOCUSABLE IA2_STATE_INVALID_ENTRY IA2_STATE_REQUIRED n_relations=2
+++ROLE_SYSTEM_ALERT name='Please enter pet name' n_relations=1
diff --git a/content/test/data/accessibility/html/form-validation-message.html b/content/test/data/accessibility/html/form-validation-message.html
index 616f4ab..011db68 100644
--- a/content/test/data/accessibility/html/form-validation-message.html
+++ b/content/test/data/accessibility/html/form-validation-message.html
@@ -1,6 +1,7 @@
 <!--
 @BLINK-ALLOW:live*
 @BLINK-ALLOW:container*
+@WIN-ALLOW:n_relations*
 @MAC-ALLOW:AXSubrole=AXApplicationAlert
 -->
 <!DOCTYPE html>
diff --git a/content/test/gpu/gpu_tests/gpu_integration_test.py b/content/test/gpu/gpu_tests/gpu_integration_test.py
index 9f991d50..3527644 100644
--- a/content/test/gpu/gpu_tests/gpu_integration_test.py
+++ b/content/test/gpu/gpu_tests/gpu_integration_test.py
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 import logging
+import os
 
 from telemetry.testing import serially_executed_browser_test_case
 from telemetry.util import screenshot
@@ -61,6 +62,12 @@
       browser_args = []
     cls._finder_options = cls._original_finder_options.Copy()
     browser_options = cls._finder_options.browser_options
+
+    # Enable browser log on Windows to debug the crash (crbug.com/917211).
+    # TODO: remove this once the bug is addressed.
+    if os.name == 'nt':
+      browser_options.logging_verbosity = browser_options.VERBOSE_LOGGING
+
     # A non-sandboxed, 15-seconds-delayed gpu process is currently running in
     # the browser to collect gpu info. A command line switch is added here to
     # skip this gpu process for all gpu integration tests to prevent any
diff --git a/content/test/gpu/gpu_tests/pixel_expectations.py b/content/test/gpu/gpu_tests/pixel_expectations.py
index 6ee446c..180113ce 100644
--- a/content/test/gpu/gpu_tests/pixel_expectations.py
+++ b/content/test/gpu/gpu_tests/pixel_expectations.py
@@ -49,16 +49,11 @@
     # TODO(vmiura) check / generate reference images for Android devices
     self.Fail('Pixel_SolidColorBackground', ['mac', 'android'], bug=624256)
 
-    # TODO(wangxianzhu): This is commented out temporarily because of the entry
-    # for crbug.com/836884.
-    # self.Fail('Pixel_CSSFilterEffects', ['mac', ('nvidia', 0xfe9)],
-    #     bug=690277)
+    self.Fail('Pixel_CSSFilterEffects', ['mac', ('nvidia', 0xfe9)], bug=690277)
 
     # Became flaky on 10.13.6. When it flakes, it flakes 3 times, so
     # mark failing, unfortunately.
-    # TODO(wangxianzhu): This is commented out temporarily because of the entry
-    # for crbug.com/836884.
-    # self.Fail('Pixel_CSSFilterEffects', ['highsierra', 'amd'], bug=872423)
+    self.Fail('Pixel_CSSFilterEffects', ['highsierra', 'amd'], bug=872423)
 
     # TODO(kbr): flakily timing out on this configuration.
     self.Flaky('*', ['linux', 'intel', 'debug'], bug=648369)
@@ -121,12 +116,6 @@
     self.Flaky('Pixel_BackgroundImage',
         ['android', ('qualcomm', 'Adreno (TM) 418')], bug=883500)
 
-    # TODO(wangxianzhu): Re-enable after and rebaselining
-    self.Fail('Pixel_CSSFilterEffects', bug=836884)
-    self.Fail('Pixel_CSSFilterEffects_NoOverlays', bug=836884)
-    self.Fail('Pixel_2DCanvasWebGL', bug=836884)
-    self.Fail('Pixel_CSS3DBlueBox', bug=836884)
-
     # Fails on Mac Pro FYI Release (AMD)
     self.Fail('Pixel_Video_MP4',
         ['mac', ('amd', 0x679e)], bug=925744)
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc
index 7fb1713..600fd6e 100644
--- a/content/test/test_render_frame_host.cc
+++ b/content/test/test_render_frame_host.cc
@@ -70,7 +70,6 @@
                           false),
       child_creation_observer_(delegate ? delegate->GetAsWebContents()
                                         : nullptr),
-      contents_mime_type_("text/html"),
       simulate_history_list_was_cleared_(false),
       last_commit_was_error_page_(false) {}
 
@@ -161,7 +160,7 @@
   params.should_update_history = true;
   params.did_create_new_entry = !is_auto_subframe;
   params.gesture = NavigationGestureUser;
-  params.contents_mime_type = contents_mime_type_;
+  params.contents_mime_type = "text/html";
   params.method = "GET";
   params.http_status_code = 200;
   params.socket_address.set_host("2001:db8::1");
@@ -195,10 +194,6 @@
   }
 }
 
-void TestRenderFrameHost::SetContentsMimeType(const std::string& mime_type) {
-  contents_mime_type_ = mime_type;
-}
-
 void TestRenderFrameHost::SendBeforeUnloadACK(bool proceed) {
   base::TimeTicks now = base::TimeTicks::Now();
   OnBeforeUnloadACK(proceed, now, now);
@@ -303,7 +298,7 @@
     scoped_refptr<net::HttpResponseHeaders> response_headers =
         new net::HttpResponseHeaders(std::string());
     response_headers->AddHeader(std::string("Content-Type: ") +
-                                contents_mime_type_);
+                                params->contents_mime_type);
     GetNavigationHandle()->set_response_headers_for_testing(response_headers);
   }
 
@@ -565,7 +560,7 @@
   params->did_create_new_entry = did_create_new_entry;
   params->should_replace_current_entry = should_replace_entry;
   params->gesture = NavigationGestureUser;
-  params->contents_mime_type = contents_mime_type_;
+  params->contents_mime_type = "text/html";
   params->method = "GET";
   params->http_status_code = response_code;
   params->socket_address.set_host("2001:db8::1");
diff --git a/content/test/test_render_frame_host.h b/content/test/test_render_frame_host.h
index cde7c0f..3087b95 100644
--- a/content/test/test_render_frame_host.h
+++ b/content/test/test_render_frame_host.h
@@ -73,7 +73,6 @@
                                   bool did_create_new_entry,
                                   const GURL& url,
                                   ui::PageTransition transition) override;
-  void SetContentsMimeType(const std::string& mime_type) override;
   void SendBeforeUnloadACK(bool proceed) override;
   void SimulateSwapOutACK() override;
   void SimulateFeaturePolicyHeader(
@@ -269,8 +268,6 @@
 
   TestRenderFrameHostCreationObserver child_creation_observer_;
 
-  std::string contents_mime_type_;
-
   // See set_simulate_history_list_was_cleared() above.
   bool simulate_history_list_was_cleared_;
 
diff --git a/extensions/shell/installer/linux/BUILD.gn b/extensions/shell/installer/linux/BUILD.gn
index 09f39443..1636733 100644
--- a/extensions/shell/installer/linux/BUILD.gn
+++ b/extensions/shell/installer/linux/BUILD.gn
@@ -49,7 +49,8 @@
     stripped_file,
   ]
   args = [
-    rebase_path("//third_party/eu-strip/bin/eu-strip", root_build_dir),
+    rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip",
+                root_build_dir),
     "-o",
     rebase_path(stripped_file, root_build_dir),
     "-f",
diff --git a/extensions/strings/extensions_strings_te.xtb b/extensions/strings/extensions_strings_te.xtb
index 82263d5..faa7dae 100644
--- a/extensions/strings/extensions_strings_te.xtb
+++ b/extensions/strings/extensions_strings_te.xtb
@@ -7,26 +7,26 @@
 <translation id="1420684932347524586">అరె! RSA ప్రైవేట్ కీని రాండమ్‌గా రూపొందించడంలో విఫలమైంది.</translation>
 <translation id="1445572445564823378">ఈ పొడిగింపు <ph name="PRODUCT_NAME" />ను మందగింప చేస్తోంది. <ph name="PRODUCT_NAME" /> యొక్క పనితీరును పునరుద్ధరించడానికి మీరు దీన్ని ఆపివేయాలి.</translation>
 <translation id="1468038450257740950">WebGLకి మద్దతు లేదు.</translation>
-<translation id="149347756975725155">'<ph name="ICON" />' ఎక్స్‌టెన్ష‌న్‌ చిహ్నాన్ని లోడ్ చేయడం సాధ్యపడదు.</translation>
-<translation id="1803557475693955505">నేపథ్య పేజీ '<ph name="BACKGROUND_PAGE" />' లోడ్ చేయబడలేదు.</translation>
+<translation id="149347756975725155">'<ph name="ICON" />' ఎక్స్‌టెన్షన్ చిహ్నాన్ని లోడ్ చేయడం సాధ్యపడలేదు.</translation>
+<translation id="1803557475693955505">నేపథ్య పేజీ '<ph name="BACKGROUND_PAGE" />'ను లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="2159915644201199628">ఈ చిత్రం డీకోడ్ చేయబడదు: '<ph name="IMAGE_NAME" />'</translation>
 <translation id="2350172092385603347">స్థానికీకరణ ఉపయోగించబడుతుంది, అయితే మానిఫెస్ట్‌లో default_localeను పేర్కొనలేదు.</translation>
 <translation id="2576842806987913196">ఈ పేరుతో ఇప్పటికే CRX ఫైల్ ఉంది.</translation>
 <translation id="2753617847762399167">చట్టవిరుద్ధ పాథ్‌ (ఖచ్చితంగా లేదా '..'కు సంబంధిత): '<ph name="IMAGE_PATH" />'</translation>
-<translation id="2785530881066938471">కంటెంట్ స్క్రిప్ట్‌కు '<ph name="RELATIVE_PATH" />' ఫైల్‌ను లోడ్ చేయలేకపోయింది. ఇది UTF-8 ఫార్మాట్‌లో ఎన్‌కోడ్ చేయబడలేదు.</translation>
+<translation id="2785530881066938471">కంటెంట్ స్క్రిప్ట్ కోసం '<ph name="RELATIVE_PATH" />' ఫైల్‌ను లోడ్ చేయలేకపోయింది. ఈ ఫైల్ UTF-8లో ఎన్‌కోడ్ కాలేదు.</translation>
 <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ఎక్స్‌టెన్షన్‌ ID "<ph name="EXTENSION_ID" />") నిర్వాహకుల ద్వారా బ్లాక్ చేయబడింది. <ph name="ADMIN_INFO" /></translation>
 <translation id="2988488679308982380">ప్యాకేజీని ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు: '<ph name="ERROR_CODE" />'</translation>
 <translation id="3115238746683532089"><ph name="VENDOR_ID" /> విక్రేత నుండి తెలియని ఉత్పత్తి <ph name="PRODUCT_ID" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="3144135466825225871">crx ఫైల్ భర్తీ విఫలమైంది. ఫైల్ వినియోగంలో ఉందా అని తనిఖీ చేయండి.</translation>
 <translation id="3163201441334626963"><ph name="VENDOR_ID" /> నుండి <ph name="PRODUCT_ID" /> తెలియని ఉత్పత్తి</translation>
-<translation id="3302709122321372472">కంటెంట్ స్క్రిప్ట్‌కు '<ph name="RELATIVE_PATH" />' cssను లోడ్ చేయడం సాధ్యపడలేదు.</translation>
+<translation id="3302709122321372472">కంటెంట్ స్క్రిప్ట్ కోసం css '<ph name="RELATIVE_PATH" />'ను లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="3369521687965833290">ఎక్స్‌టెన్‌షన్ అన్‌ప్యాక్ చేయబడదు.  ఒక ఎక్స్‌టెన్‌షన్‌‌ను సురక్షితంగా అన్‌ప్యాక్ చేయడానికి, మీ ప్రొఫైల్ డైరెక్టరీకి ఒక డ్రైవ్ అక్షరంతో ప్రారంభమయ్యే మరియు జంక్షన్, మౌంట్ పాయింట్ లేదా సింలింక్ ఉండని పాథ్‌ తప్పనిసరిగా ఉండాలి.  మీ ప్రొఫైల్‌కు అటువంటి పాథ్‌ లేదు.</translation>
 <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="3466070586188012397"><ph name="VENDOR_ID" /> విక్రేత నుండి <ph name="PRODUCT_NAME" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="3561217442734750519">ప్రైవేట్ కీ కోసం ఇన్‌పుట్ విలువ తప్పనిసరిగా చెల్లుబాటు అయ్యే పాథ్‌గా ఉండాలి.</translation>
-<translation id="388442998277590542">ఎంపికల పేజీ '<ph name="OPTIONS_PAGE" />'ని లోడ్ చెయ్యడం సాధ్యం కాలేదు.</translation>
-<translation id="3984413272403535372">పొడిగింపుకు సంతకం చేసేటప్పుడు లోపం.</translation>
-<translation id="39964277676607559">కంటెంట్ స్క్రిప్ట్‌కు '<ph name="RELATIVE_PATH" />' javascript లోడ్ చేయడం సాధ్యపడలేదు.</translation>
+<translation id="388442998277590542">ఎంపికల పేజీ '<ph name="OPTIONS_PAGE" />'ను లోడ్ చేయడం సాధ్యం కాలేదు.</translation>
+<translation id="3984413272403535372">ఎక్స్‌టెన్షన్‌కు సంతకం చేసేటప్పుడు ఎర్రర్.</translation>
+<translation id="39964277676607559">కంటెంట్ స్క్రిప్ట్‌ కోసం JavaScript '<ph name="RELATIVE_PATH" />'ను లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="4115165561519362854">ఈ మెషీన్ నిర్వాహకుడికి <ph name="EXTENSION_NAME" /> కనీస సంస్కరణ అయిన <ph name="EXTENSION_VERSION" /> ఉండటం అవసరం. ఇది ఆ సంస్కరణకు (లేదా తదుపరి దానికి) నవీకరించే వరకు ప్రారంభించబడదు.</translation>
 <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' పరిచయ పేజీని లోడ్ చేయడం సాధ్యపడలేదు.</translation>
 <translation id="471800408830181311">ప్రైవేట్ కీని అవుట్‌పుట్ చేయడంలో విఫలమైంది.</translation>
@@ -48,8 +48,8 @@
 <translation id="6391538222494443604">ఇన్‌పుట్ డైరెక్టరీ తప్పనిసరిగా ఉనికిలో ఉండాలి.</translation>
 <translation id="641087317769093025">పొడిగింపు అన్‌జిప్ చేయబడదు</translation>
 <translation id="6413453408918378296">చిహ్నం తగినంత బాగా కనిపించడం లేదు '<ph name="ICON" />'.</translation>
-<translation id="6542618148162044354">"<ph name="APP_NAME" />" మీ ఒకటి లేదా అంతకంటే ఎక్కువ పరికరాలకు ప్రాప్యతను అభ్యర్థిస్తోంది:</translation>
-<translation id="657064425229075395">నేపథ్య స్క్రిప్ట్ '<ph name="BACKGROUND_SCRIPT" />'ను లోడ్ చేయడం సాధ్యం కాలేదు.</translation>
+<translation id="6542618148162044354">"<ph name="APP_NAME" />" మీ ఒకటి లేదా అంతకంటే ఎక్కువ పరికరాలకు యాక్సెస్‌ను అభ్యర్థిస్తోంది:</translation>
+<translation id="657064425229075395">'<ph name="BACKGROUND_SCRIPT" />' నేపథ్య స్క్రిప్ట్‌ను లోడ్ చేయడం సాధ్యం కాలేదు.</translation>
 <translation id="6580950983454333167"><ph name="VENDOR_NAME" /> నుండి <ph name="PRODUCT_NAME" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="6731255991101203740">దీనిలో అన్‌జిప్ చేయడానికి  డైరెక్టరీ సృష్టించబడదు: '<ph name="DIRECTORY_PATH" />'</translation>
 <translation id="677806580227005219">Mime హ్యాండ్లర్: <ph name="MIMEHANDLERVIEW_TAG_NAME" /></translation>
@@ -65,7 +65,7 @@
 <translation id="8284835137979141223"><ph name="VENDOR_NAME" /> నుండి <ph name="PRODUCT_NAME" /></translation>
 <translation id="8517576857589387417">మానిఫెస్ట్ ఫైల్ లేదు లేదా చదవడం సాధ్యం కాదు</translation>
 <translation id="8636666366616799973">ప్యాకేజీ చెల్లనిది. వివరాలు: '<ph name="ERROR_MESSAGE" />'.</translation>
-<translation id="8761756413268424715">"<ph name="APP_NAME" />" మీ పరికరాల్లో ఒకదానికి ప్రాప్యతను అభ్యర్థిస్తోంది:</translation>
+<translation id="8761756413268424715">"<ph name="APP_NAME" />" మీ పరికరాలలో ఒకదానికి యాక్సెస్‌ను అభ్యర్థిస్తోంది:</translation>
 <translation id="8885905466771744233">నిర్థారించిన ఎక్సటెన్షన్‌కు ఇప్పటికే ప్రైవేట్ కీ ఉంది. ఆ కీని మళ్ళీ ఉపయోగించండి లేదా దాన్ని మొదట తొలగించండి.</translation>
 <translation id="907841381057066561">ప్యాకేజింగ్ సమయంలో తాత్కాలిక జిప్ ఫైల్‌ను సృష్టించడంలో విఫలమైంది.</translation>
 <translation id="941543339607623937">చెల్లని ప్రైవేట్ కీ.</translation>
diff --git a/infra/config/global/cr-buildbucket.cfg b/infra/config/global/cr-buildbucket.cfg
index 6bc86f8b..81f6c50c 100644
--- a/infra/config/global/cr-buildbucket.cfg
+++ b/infra/config/global/cr-buildbucket.cfg
@@ -3207,6 +3207,7 @@
     builders { mixins: "chromeos-try" name: "chromeos-amd64-generic-cfi-thin-lto-rel" }
     builders { mixins: "chromeos-try" name: "chromeos-amd64-generic-rel" }
     builders { mixins: "chromeos-try" name: "chromeos-daisy-rel" }
+    builders { mixins: "chromeos-try" name: "chromeos-kevin-compile-rel" }
     builders { mixins: "chromeos-try" name: "chromeos-kevin-rel" }
     builders { mixins: "chromeos-try" name: "linux-chromeos-compile-dbg" }
     builders { mixins: "chromeos-try" name: "linux-chromeos-dbg" }
diff --git a/infra/config/global/luci-milo.cfg b/infra/config/global/luci-milo.cfg
index ef6205e1..3db9a5e1 100644
--- a/infra/config/global/luci-milo.cfg
+++ b/infra/config/global/luci-milo.cfg
@@ -3918,6 +3918,9 @@
     name: "buildbucket/luci.chromium.try/chromeos-daisy-rel"
   }
   builders {
+    name: "buildbucket/luci.chromium.try/chromeos-kevin-compile-rel"
+  }
+  builders {
     name: "buildbucket/luci.chromium.try/chromeos-kevin-rel"
   }
   builders {
diff --git a/ios/chrome/app/BUILD.gn b/ios/chrome/app/BUILD.gn
index fae5e35..4c49cf9 100644
--- a/ios/chrome/app/BUILD.gn
+++ b/ios/chrome/app/BUILD.gn
@@ -214,6 +214,7 @@
     "//ios/chrome/browser/ui/promos",
     "//ios/chrome/browser/ui/settings",
     "//ios/chrome/browser/ui/settings:settings_root",
+    "//ios/chrome/browser/ui/settings/google_services",
     "//ios/chrome/browser/ui/signin_interaction",
     "//ios/chrome/browser/ui/tab_grid",
     "//ios/chrome/browser/ui/tab_grid:tab_grid_ui",
diff --git a/ios/chrome/app/main_controller.mm b/ios/chrome/app/main_controller.mm
index 662916c7..c77ab8c3b 100644
--- a/ios/chrome/app/main_controller.mm
+++ b/ios/chrome/app/main_controller.mm
@@ -123,7 +123,7 @@
 #import "ios/chrome/browser/ui/main/view_controller_swapping.h"
 #import "ios/chrome/browser/ui/orientation_limiting_navigation_controller.h"
 #import "ios/chrome/browser/ui/promos/signin_promo_view_controller.h"
-#import "ios/chrome/browser/ui/settings/google_services_navigation_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.h"
 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
 #import "ios/chrome/browser/ui/signin_interaction/signin_interaction_coordinator.h"
 #include "ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.h"
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb
index ee35cc4..6a6f841 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_te.xtb
@@ -8,9 +8,8 @@
 <translation id="1472013873724362412">మీ ఖాతా Chromiumలో పని చేయదు. దయచేసి మీ డొమైన్ నిర్వాహకుడిని సంప్రదించండి. లేదా సైన్ ఇన్ చేయడానికి సాధారణ Google ఖాతాను ఉపయోగించండి.</translation>
 <translation id="1736662517232558588">Chromium డేటా తీసేసింది</translation>
 <translation id="1838412507805038478">Chromium ఈ వెబ్‌సైట్ ప్రమాణపత్రాన్ని <ph name="ISSUER" /> జారీ చేసినట్లు ధృవీకరించింది.</translation>
-<translation id="1843424232666537147">ఇంటర్నెట్ డేటాను నిర్వహించడంలో, వెబ్ పేజీలను త్వరగా లోడ్ చేయగలగడంలో మీకు సహాయపడే ఫీచ‌ర్‌లను Chromium కలిగి ఉంది.
-<ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
-<translation id="2075400798887076382">మీరు మీ కంప్యూటర్‌లో తెరిచిన ట్యాబ్‌లను ఇక్కడి నుండే యాక్సెస్ చేయండి. మీ కంప్యూటర్‌లో Chromiumను తెరిచి, మెనూకు వెళ్లి, “Chromiumకు సైన్ ఇన్ చేయి…” ఎంచుకోండి</translation>
+<translation id="1843424232666537147">మీ ఇంటర్నెట్ డేటాను నిర్వహించడంలో మరియు మీరు వెబ్ పేజీలను త్వరగా లోడ్ చేయగలగడంలో మీకు సహాయపడే ఫీచర్‌లు Chromiumలో ఉన్నాయి. <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
+<translation id="2075400798887076382">మీరు మీ కంప్యూటర్‌లో తెరిచిన ట్యాబ్‌లను ఇక్కడి నుండే యాక్సెస్ చేయండి. మీ కంప్యూటర్‌లో Chromiumని తెరిచి, మెనుకి వెళ్లి, “Chromiumకి సైన్ ఇన్ చేయి…” ఎంచుకోండి</translation>
 <translation id="2168108852149185974">కొన్ని యాడ్-ఆన్‌లు Chromium క్రాష్ అయ్యేలా చేసాయి. దయచేసి వీటిని అన్‌ఇన్‌స్టాల్ చేయండి:</translation>
 <translation id="2178608107313874732">Chromium ప్రస్తుతం మీ కెమెరాను ఉపయోగించలేదు</translation>
 <translation id="2195025571279539885">మీరు తరువాత సారి సందర్శించినప్పుడు Chromium ఈ సైట్‌లోని <ph name="LANGUAGE_NAME" /> పేజీలను అనువదించే సదుపాయాన్ని అందించాలని కోరుకుంటున్నారా?</translation>
@@ -22,7 +21,7 @@
 <translation id="3413120535237193088">మీ అన్ని పరికరాల్లో మీ బుక్‌మార్క్‌లను పొందడానికి, Chromiumకి సైన్ ఇన్ చేయండి.</translation>
 <translation id="3473048256428424907">Chromium QR స్కానర్‌ని ఆన్ చేయండి</translation>
 <translation id="3605252743693911722">మీ పరికరాలన్నింటిలో మీ బుక్‌మార్క్‌లు, పాస్‌వర్డ్‌లు మరియు మరిన్నింటిని పొందడం కోసం Chromiumకు సైన్ ఇన్ చేయండి.</translation>
-<translation id="3805899903892079518">మీ ఫోటోలు లేదా వీడియోలకు Chromium యాక్సెస్‌ను కలిగి లేదు. iOS సెట్టింగ్‌లు &gt; గోప్యత &gt; ఫోటోలులో యాక్సెస్‌ను ప్రారంభించండి.</translation>
+<translation id="3805899903892079518">Chromium మీ ఫోటోలు లేదా వీడియోలకు యాక్సెస్‌ను కలిగి లేదు. iOS సెట్టింగ్‌లు &gt; గోప్యత &gt; ఫోటోల్లో యాక్సెస్‌ను ప్రారంభించండి.</translation>
 <translation id="4024541897090868497">మీ అన్ని పరికరాల్లో మీ ట్యాబ్‌లను పొందడం కోసం, Chromiumకి సైన్ ఇన్ చేయండి.</translation>
 <translation id="4157467675761413638">Chromium చిట్కా. మరిన్ని ట్యాబ్ ఎంపికల కోసం, మీ స్క్రీన్‌లో పైన కానీ దిగువన కానీ ఉండే సాధనాల బార్‌లో ట్యాబ్‌లను చూపు బటన్‌ను నొక్కి పట్టుకోండి.</translation>
 <translation id="4241912885070669028">మీరు <ph name="SIGNOUT_MANAGED_DOMAIN" /> నిర్వహణలో ఉన్న ఖాతా నుండి సైన్ అవుట్ చేస్తున్నారు. దీని వలన మీ Chromium డేటా ఈ పరికరం నుండి తొలగించబడుతుంది, కానీ మీ డేటా మీ Google ఖాతాలో అలాగే ఉంటుంది.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb
index 0998aa0..c9c010d 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_te.xtb
@@ -24,7 +24,7 @@
 <translation id="384394811301901750">Google Chrome ప్రస్తుతం మీ కెమెరాను ఉపయోగించలేదు</translation>
 <translation id="3870154837782082782">Google Inc.</translation>
 <translation id="3980220367029651214">మీరు సింక్ ఖాతాలను <ph name="USER_EMAIL1" /> నుండి <ph name="USER_EMAIL2" />కి మారుస్తున్నారు. ఇప్పటికే ఉన్న మీ Chrome డేటా <ph name="DOMAIN" /> నిర్వహణలో ఉంది. దీని వలన మీ డేటా ఈ పరికరం నుండి తొలగించబడుతుంది, కానీ మీ డేటా <ph name="USER_EMAIL1" />లో అలాగే ఉంటుంది.</translation>
-<translation id="3988789688219830639">మీ ఫోటోలు లేదా వీడియోలకు Google Chrome యాక్సెస్‌ను కలిగి లేదు. iOS సెట్టింగ్‌లు &gt; గోప్యత &gt; ఫోటోలులో యాక్సెస్‌ను ప్రారంభించండి.</translation>
+<translation id="3988789688219830639">Google Chrome మీ ఫోటోలు లేదా వీడియోలకు యాక్సెస్‌ను కలిగి లేదు. iOS సెట్టింగ్‌లు &gt; గోప్యత &gt; ఫోటోల్లో యాక్సెస్‌ను ప్రారంభించండి.</translation>
 <translation id="4099578267706723511">Googleకు వినియోగ గణాంకాలు, క్రాష్ నివేదికలను పంపడం ద్వారా Chromeను మెరుగుపరచడంలో సహాయపడండి.</translation>
 <translation id="415767770115540173">మీ స్థానం ఆధారంగా Chromeలో మెరుగైన Google అనుభవాన్ని పొందండి.</translation>
 <translation id="424864128008805179">Chrome నుండి సైన్ అవుట్ చేయాలా?</translation>
@@ -36,7 +36,7 @@
 <translation id="5639704535586432836">సెట్టింగ్‌లు &gt; గోప్యత &gt; కెమెరా &gt; Google Chromeని తెరిచి, కెమెరాను ఆన్ చేయండి.</translation>
 <translation id="5642200033778930880">Google Chrome విభజన వీక్షణ మోడ్‌లో మీ కెమెరాను ఉపయోగించలేదు</translation>
 <translation id="5854621639439811139">Chrome చిట్కా. వెనకకు, ముందుకు మరియు శోధన వంటి కొన్ని బటన్‌లు ఇప్పుడు మీ స్క్రీన్ దిగువున ఉన్నాయి.</translation>
-<translation id="6036420186814142909">ఇంటర్నెట్ డేటాను నిర్వహించడంలో, వెబ్ పేజీలను త్వరగా లోడ్ చేయగలగడంలో మీకు సహాయపడే ఫీచ‌ర్‌లను Google Chrome కలిగి ఉంది.
+<translation id="6036420186814142909">మీ ఇంటర్నెట్ డేటాను నిర్వహించడంలో మరియు మీరు వెబ్ పేజీలను త్వరగా లోడ్ చేయగలగడంలో మీకు సహాయపడే ఫీచర్‌లు Google Chromeలో ఉన్నాయి.
 <ph name="BEGIN_LINK" />మరింత తెలుసుకోండి<ph name="END_LINK" /></translation>
 <translation id="6573431926118603307">మీరు మీ ఇతర పరికరాల్లోని Chromeలో తెరిచిన ట్యాబ్‌లు ఇక్కడ చూపబడతాయి.</translation>
 <translation id="6600954340915313787">Chromeకి కాపీ చేయబడింది</translation>
@@ -46,7 +46,7 @@
 <translation id="7165736900384873061">Google Chrome QR స్కానర్‌ని వినియోగించండి</translation>
 <translation id="7172660552945675509">చిట్కా: <ph name="BEGIN_LINK" />Chromeను మీ డాక్‌కు తరలించండి<ph name="END_LINK" /></translation>
 <translation id="7173660919484573146">Chrome మీ పాస్‌వర్డ్‌లను ప్రమాణీకరణ ఉన్న వారు మాత్రమే యాక్సెస్ చేస్తున్నట్లు నిర్ధారించడం కోసం ఫేస్ IDని ఉపయోగిస్తుంది.</translation>
-<translation id="7265369419224458312">మీరు మీ కంప్యూటర్‌లో తెరిచిన ట్యాబ్‌లను ఇక్కడి నుండే యాక్సెస్ చేయండి. మీ కంప్యూటర్‌లో Chromeను తెరిచి, మెనూకు వెళ్లి, “Chromeకు సైన్ ఇన్ చేయి…” ఎంచుకోండి</translation>
+<translation id="7265369419224458312">మీరు మీ కంప్యూటర్‌లో తెరిచిన ట్యాబ్‌లను ఇక్కడి నుండే యాక్సెస్ చేయండి. మీ కంప్యూటర్‌లో Chromeని తెరిచి, మెనుకి వెళ్లి, “Chromeకి సైన్ ఇన్ చేయి…” ఎంచుకోండి</translation>
 <translation id="728488472449859922">Google Chrome QR స్కానర్‌ని ఆన్ చేయండి</translation>
 <translation id="7400722733683201933">Google Chrome గురించి</translation>
 <translation id="7437998757836447326">Chrome నుండి సైన్ అవుట్ చేయండి</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index 2a1675b3..48b8e77 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">ይቅርታ፣ ወደ መለያዎ መግባት ላይ ችግር ነበር።</translation>
 <translation id="5737974891429562743">የመለያ መግቢያ ዝርዝሮች ጊዜ ያለፈባቸው ናቸው። ስምረትን ለመጀመር ያዘምኑ።</translation>
 <translation id="5738887413654608789">ይህ በእርስዎ ያሉበት ስፍራ አካባቢ ላይ በመመርኮዝ ተዛማጅነት ያላቸው የድር ገጾችን እንዲያገኙ ያስችልዎታል።</translation>
-<translation id="5771816112378578655">ጭነቱ በሂደት ላይ…</translation>
 <translation id="5816228676161003208">ይህ እርስዎ ድምፅዎን ተጠቅመው በበለጠ ፍጥነት እንዲፈልጉ ያስችልዎታል።</translation>
 <translation id="5846482154967366008">የፍለጋ ፕሮግራም</translation>
 <translation id="5854790677617711513">ከ30 ቀናት በላይ የቆየ</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">ተጨማሪ</translation>
 <translation id="605721222689873409">ዓዓ</translation>
 <translation id="6066301408025741299">ይቅር ለማለት መታ ያድርጉ።</translation>
+<translation id="6108923351542677676">ማዋቀር በሂደት ላይ…</translation>
 <translation id="6122191549521593678">መስመር ላይ</translation>
 <translation id="6127379762771434464">ንጥል ተወግዷል</translation>
 <translation id="6136914049981179737">ከሰከንዶች በፊት</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index d89d35a..6bb736fd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">عذرًا، حدثت مشكلة أثناء تسجيل الدخول إلى حسابك.</translation>
 <translation id="5737974891429562743">تفاصيل تسجيل الدخول إلى الحساب قديمة. يمكنك التحديث لبدء المزامنة.</translation>
 <translation id="5738887413654608789">يتيح لك هذا اكتشاف صفحات الويب ذات الصلة حسب الأشياء المحيطة بك.</translation>
-<translation id="5771816112378578655">الإعداد قيد التقديم...</translation>
 <translation id="5816228676161003208">هذا يتيح لك البحث بشكلٍ أسرع باستخدام صوتك.</translation>
 <translation id="5846482154967366008">محرك بحث</translation>
 <translation id="5854790677617711513">مرّ عليها أكثر من 30 يومًا</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">المزيد</translation>
 <translation id="605721222689873409">العام</translation>
 <translation id="6066301408025741299">انقر للإلغاء.</translation>
+<translation id="6108923351542677676">الإعداد قيد التقدّم…</translation>
 <translation id="6122191549521593678">متصل</translation>
 <translation id="6127379762771434464">أُزيلَ عنصر</translation>
 <translation id="6136914049981179737">قبل ثانية</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index 889d20a3..6708e13f5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">За съжаление при влизането в профила ви възникна проблем.</translation>
 <translation id="5737974891429562743">Данните за вход в профила не са актуални. Актуализирайте ги, за да започне синхронизирането.</translation>
 <translation id="5738887413654608789">Това ви позволява да откривате подходящи уеб страници въз основа на заобикалящата ви среда.</translation>
-<translation id="5771816112378578655">Извършва се настройка...</translation>
 <translation id="5816228676161003208">Това ви позволява да търсите по-бързо посредством гласа си.</translation>
 <translation id="5846482154967366008">Търсеща машина</translation>
 <translation id="5854790677617711513">По-стари от 30 дни</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Още</translation>
 <translation id="605721222689873409">ГГ</translation>
 <translation id="6066301408025741299">Докоснете, за да анулирате.</translation>
+<translation id="6108923351542677676">Извършва се настройване…</translation>
 <translation id="6122191549521593678">Онлайн</translation>
 <translation id="6127379762771434464">Елементът бе премахнат</translation>
 <translation id="6136914049981179737">Току-що</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index 2733a4a7..2f64cf4d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -283,7 +283,6 @@
 <translation id="5728700505257787410">দুঃখিত, আপনার অ্যাকাউন্টে প্রবেশ করার সময় একটি সমস্যা হয়েছে৷</translation>
 <translation id="5737974891429562743">অ্যাকাউন্ট সাইন-ইনের বিশদ বিবরণ পুরনো হয়ে গেছে। সিঙ্ক শুরু করার জন্য আপডেট করুন।</translation>
 <translation id="5738887413654608789">এই আদেশটি আপনার পারিপার্শ্বিক পরিবেশের উপর নির্ভর করে ওয়েব পৃষ্ঠার খোঁজ করতে দেয়।</translation>
-<translation id="5771816112378578655">সেটআপ চলছে...</translation>
 <translation id="5816228676161003208">এটি আপনাকে আপনার ভয়েস ব্যবহার করে আরও দ্রুত সার্চ করতে দেয়।</translation>
 <translation id="5846482154967366008">সার্চ ইঞ্জিন</translation>
 <translation id="5854790677617711513">৩০ দিনের বেশি পুরনো</translation>
@@ -310,6 +309,7 @@
 <translation id="6042308850641462728">আরও</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">বাতিল করতে আলতো চাপুন৷</translation>
+<translation id="6108923351542677676">সেটআপ চলছে...</translation>
 <translation id="6122191549521593678">অনলাইন</translation>
 <translation id="6127379762771434464">আইটেম সরানো হয়েছে</translation>
 <translation id="6136914049981179737">সেকেন্ড আগে</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index ac1e3f89..ebb27b3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">S'ha produït un problema en iniciar la sessió al vostre compte.</translation>
 <translation id="5737974891429562743">Actualitza les dades d'inici de sessió del compte per iniciar la sincronització.</translation>
 <translation id="5738887413654608789">Això et permet detectar pàgines web rellevants del teu entorn.</translation>
-<translation id="5771816112378578655">Configuració en curs...</translation>
 <translation id="5816228676161003208">Això et permet fer cerques més de pressa amb la veu.</translation>
 <translation id="5846482154967366008">Motor de cerca</translation>
 <translation id="5854790677617711513">Anterior a 30 dies</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Més</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Toca per cancel·lar.</translation>
+<translation id="6108923351542677676">Configuració en curs...</translation>
 <translation id="6122191549521593678">En línia</translation>
 <translation id="6127379762771434464">S'ha suprimit l'element</translation>
 <translation id="6136914049981179737">Fa segons</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index 026f9ad..4f03241 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Litujeme, při přihlašování k vašemu účtu se vyskytl problém.</translation>
 <translation id="5737974891429562743">Přihlašovací údaje k účtu jsou zastaralé. Chcete-li zahájit synchronizaci, aktualizujte je.</translation>
 <translation id="5738887413654608789">Umožňuje vám objevovat relevantní webové stránky na základě vašeho okolí.</translation>
-<translation id="5771816112378578655">Probíhá nastavování...</translation>
 <translation id="5816228676161003208">Toto umožňuje vyhledávat rychleji hlasem.</translation>
 <translation id="5846482154967366008">Vyhledávač</translation>
 <translation id="5854790677617711513">Starší než 30 dnů</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Více</translation>
 <translation id="605721222689873409">RR</translation>
 <translation id="6066301408025741299">Stahování zrušíte klepnutím.</translation>
+<translation id="6108923351542677676">Probíhá nastavování…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Položka byla odstraněna</translation>
 <translation id="6136914049981179737">před chvílí</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 482b392..bb725583 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Der var et problem med at logge ind på din konto.</translation>
 <translation id="5737974891429562743">Loginoplysningerne for kontoen er forældede. Opdater dem for at påbegynde synkroniseringen.</translation>
 <translation id="5738887413654608789">Dette giver dig mulighed for at opdage relevante websider baseret på dine omgivelser.</translation>
-<translation id="5771816112378578655">Konfigurationen er i gang...</translation>
 <translation id="5816228676161003208">Dette gør søgning ved hjælp af din stemme hurtigere.</translation>
 <translation id="5846482154967366008">Søgemaskine</translation>
 <translation id="5854790677617711513">Ældre end 30 dage</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mere</translation>
 <translation id="605721222689873409">ÅÅ</translation>
 <translation id="6066301408025741299">Tryk for at annullere.</translation>
+<translation id="6108923351542677676">Konfigurationen er i gang...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Elementet blev fjernet</translation>
 <translation id="6136914049981179737">Sek. siden</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index 9e86f1e..84be52b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Beim Anmelden in Ihrem Konto ist ein Fehler aufgetreten.</translation>
 <translation id="5737974891429562743">Die Anmeldeinformationen für das Konto sind veraltet. Aktualisieren Sie sie zur Synchronisierung.</translation>
 <translation id="5738887413654608789">Dann können Sie relevante Webseiten zu Objekten in Ihrer Umgebung entdecken.</translation>
-<translation id="5771816112378578655">Einrichtung läuft...</translation>
 <translation id="5816228676161003208">Per Spracheingabe können Sie noch schneller suchen.</translation>
 <translation id="5846482154967366008">Suchmaschine</translation>
 <translation id="5854790677617711513">Älter als 30 Tage</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mehr</translation>
 <translation id="605721222689873409">JJ</translation>
 <translation id="6066301408025741299">Zum Abbrechen tippen</translation>
+<translation id="6108923351542677676">Einrichtung läuft...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Eintrag entfernt</translation>
 <translation id="6136914049981179737">Vor Sek.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index 389724ee..ad263d6c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Παρουσιάστηκε πρόβλημα με τη σύνδεση στον λογαριασμό σας.</translation>
 <translation id="5737974891429562743">Τα στοιχεία σύνδεσης λογαριασμού δεν είναι ενημερωμένα. Ενημερώστε τα για να ξεκινήσει ο συγχρονισμός.</translation>
 <translation id="5738887413654608789">Αυτό σας επιτρέπει να ανακαλύψετε σχετικές ιστοσελίδες βάσει του περιβάλλοντός σας.</translation>
-<translation id="5771816112378578655">Ρύθμιση σε εξέλιξη...</translation>
 <translation id="5816228676161003208">Σας επιτρέπει να πραγματοποιείτε ταχύτερη αναζήτηση με φωνητικές εντολές.</translation>
 <translation id="5846482154967366008">Μηχανή αναζήτησης</translation>
 <translation id="5854790677617711513">Παλαιότερο από 30 ημέρες</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Περισσότερα</translation>
 <translation id="605721222689873409">ΕΕ</translation>
 <translation id="6066301408025741299">Πατήστε για ακύρωση.</translation>
+<translation id="6108923351542677676">Ρύθμιση σε εξέλιξη…</translation>
 <translation id="6122191549521593678">Συνδεδεμένο</translation>
 <translation id="6127379762771434464">Το στοιχείο καταργήθηκε</translation>
 <translation id="6136914049981179737">Δευτ.πριν</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
index a363130..177c2cb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Sorry, there was a problem signing in to your account.</translation>
 <translation id="5737974891429562743">Account sign-in details are out of date. Update to start sync.</translation>
 <translation id="5738887413654608789">This lets you discover relevant web pages based on your surroundings.</translation>
-<translation id="5771816112378578655">Setup in progress...</translation>
 <translation id="5816228676161003208">This lets you search faster using your voice.</translation>
 <translation id="5846482154967366008">Search Engine</translation>
 <translation id="5854790677617711513">Older than 30 days</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">More</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">Tap to cancel.</translation>
+<translation id="6108923351542677676">Setup in progress…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Item removed</translation>
 <translation id="6136914049981179737">Seconds ago</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
index 22f8f0a3..50eef0e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Se produjo un error al acceder a tu cuenta.</translation>
 <translation id="5737974891429562743">Los detalles de acceso de la cuenta están desactualizados. Actualízalos para comenzar la sincronización.</translation>
 <translation id="5738887413654608789">Esta capacidad te permite descubrir páginas web relevantes en función de tu entorno.</translation>
-<translation id="5771816112378578655">Configuración en progreso...</translation>
 <translation id="5816228676161003208">Te permite realizar búsquedas más rápidas con tu voz.</translation>
 <translation id="5846482154967366008">Motor de búsqueda</translation>
 <translation id="5854790677617711513">Hace más de 30 días</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Más</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Toca para cancelar.</translation>
+<translation id="6108923351542677676">Configuración en curso…</translation>
 <translation id="6122191549521593678">En línea</translation>
 <translation id="6127379762771434464">Se eliminó el elemento</translation>
 <translation id="6136914049981179737">Hace seg.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index e123c268..f817620 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Error al iniciar sesión en tu cuenta</translation>
 <translation id="5737974891429562743">Información de inicio de sesión de la cuenta obsoleta. Actualízala para iniciar la sincronización.</translation>
 <translation id="5738887413654608789">Esto te permite descubrir páginas web relevantes según lo que te rodea.</translation>
-<translation id="5771816112378578655">Configuración en curso...</translation>
 <translation id="5816228676161003208">Esto te permite hacer búsquedas más rápido con tu voz.</translation>
 <translation id="5846482154967366008">Buscador</translation>
 <translation id="5854790677617711513">Más de 30 días</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Más</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Toca para cancelar.</translation>
+<translation id="6108923351542677676">Configuración en curso…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Elemento quitado</translation>
 <translation id="6136914049981179737">Hace segundos</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 7c2391f..c8ce0c4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Kahjuks ilmnes kontole sisselogimisel probleem.</translation>
 <translation id="5737974891429562743">Konto sisselogimisandmed on aegunud. Värskendage andmeid sünkroonimise alustamiseks.</translation>
 <translation id="5738887413654608789">See võimaldab teil ümbruskonna järgi asjakohaseid veebilehti avastada.</translation>
-<translation id="5771816112378578655">Seadistus käimas...</translation>
 <translation id="5816228676161003208">See võimaldab häälkäskluste abil kiiremini otsida.</translation>
 <translation id="5846482154967366008">Otsingumootor</translation>
 <translation id="5854790677617711513">Vanemad kui 30 päeva</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Rohkem</translation>
 <translation id="605721222689873409">aa</translation>
 <translation id="6066301408025741299">Tühistamiseks puudutage.</translation>
+<translation id="6108923351542677676">Seadistamine on pooleli ...</translation>
 <translation id="6122191549521593678">Onlain</translation>
 <translation id="6127379762771434464">Üksus eemaldati</translation>
 <translation id="6136914049981179737">Sek. eest</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index df14edd..64d23ce 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">متأسفیم، مشکلی در ورود به حساب شما وجود داشت.</translation>
 <translation id="5737974891429562743">جزئیات ورود به سیستم قدیمی است. برای شروع همگام‌سازی، به‌روزرسانی کنید.</translation>
 <translation id="5738887413654608789">با این کار می‌توانید صفحه‌های وب مرتبط را براساس محیط اطرافتان کاوش کنید.</translation>
-<translation id="5771816112378578655">راه‌اندازی در حال انجام...</translation>
 <translation id="5816228676161003208">این کار به شما اجازه می‌دهد با استفاده از صدایتان سریع‌تر جستجو کنید.</translation>
 <translation id="5846482154967366008">موتور جستجو</translation>
 <translation id="5854790677617711513">قدیمی‌تر از ۳۰ روز</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">بیشتر</translation>
 <translation id="605721222689873409">سال</translation>
 <translation id="6066301408025741299">برای لغو ضربه بزنید.</translation>
+<translation id="6108923351542677676">تنظیم در حال انجام است...</translation>
 <translation id="6122191549521593678">آنلاین</translation>
 <translation id="6127379762771434464">مورد برداشته شد</translation>
 <translation id="6136914049981179737">ثانیه‌هایی قبل</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index 9425dc6..b1063686 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Tiliin kirjautuminen epäonnistui.</translation>
 <translation id="5737974891429562743">Tilin kirjautumistiedot ovat vanhentuneet. Aloita synkronointi päivittämällä.</translation>
 <translation id="5738887413654608789">Tämän avulla voit löytää sinua ympäröiviin asioihin liittyviä verkkosivuja.</translation>
-<translation id="5771816112378578655">Synkronointia valmistellaan...</translation>
 <translation id="5816228676161003208">Tämän avulla voit hakea tietoja nopeammin puhumalla.</translation>
 <translation id="5846482154967366008">Hakukone</translation>
 <translation id="5854790677617711513">Yli 30 päivää vanhat</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Lisää</translation>
 <translation id="605721222689873409">VV</translation>
 <translation id="6066301408025741299">Peruuta napauttamalla.</translation>
+<translation id="6108923351542677676">Synkronointia valmistellaan…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Kohde poistettu</translation>
 <translation id="6136914049981179737">Hetki sitten</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index 0b89a7b..1718bbc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Paumanhin, may problema sa pag-sign in sa iyong account.</translation>
 <translation id="5737974891429562743">Luma na ang mga detalye ng pag-sign in sa account. I-update upang simulan ang pag-sync.</translation>
 <translation id="5738887413654608789">Nagbibigay-daan ito sa iyo na tumuklas ng mga nauugnay na web page batay sa iyong paligid.</translation>
-<translation id="5771816112378578655">Kasalukuyang Nag-se-setup...</translation>
 <translation id="5816228676161003208">Binibigyang-daan ka nito upang mas mabilis na makapaghanap gamit ang iyong boses.</translation>
 <translation id="5846482154967366008">Search Engine</translation>
 <translation id="5854790677617711513">Mas matagal sa 30 araw</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Higit pa</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">Pindutin upang kanselahin.</translation>
+<translation id="6108923351542677676">Kasalukuyang sine-setup…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Inalis ang item</translation>
 <translation id="6136914049981179737">Segundo</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index fee3945..eefcac83 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Désolé, problème lors de la connexion à votre compte.</translation>
 <translation id="5737974891429562743">Informations de connexion au compte obsolètes. Mettez-les à jour pour lancer la synchronisation.</translation>
 <translation id="5738887413654608789">Vous permet de découvrir les pages Web pertinentes en fonction de votre environnement.</translation>
-<translation id="5771816112378578655">Configuration en cours...</translation>
 <translation id="5816228676161003208">Cela vous permet d'effectuer des recherches plus rapidement en utilisant la recherche vocale.</translation>
 <translation id="5846482154967366008">Moteur de recherche</translation>
 <translation id="5854790677617711513">Datant de plus de 30 jours</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Plus</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Appuyez sur l'écran pour annuler.</translation>
+<translation id="6108923351542677676">Configuration en cours…</translation>
 <translation id="6122191549521593678">En ligne</translation>
 <translation id="6127379762771434464">Élément supprimé</translation>
 <translation id="6136914049981179737">À l'instant.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index 35c2599f..d602496 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">માફ કરશો, તમારા એકાઉન્ટમાં સાઇન ઇન કરવામાં સમસ્યા હતી.</translation>
 <translation id="5737974891429562743">એકાઉન્ટ સાઇન ઇન વિગતો જૂની થઈ ગઈ છે. સિંકને પ્રારંભ કરવા માટે અપડેટ કરો.</translation>
 <translation id="5738887413654608789">આ તમને તમારી આસપાસના વાતાવરણના આધારે સંગત વેબ પૃષ્ઠોની શોધ કરવા દે છે.</translation>
-<translation id="5771816112378578655">સેટઅપની પ્રક્રિયા ચાલુ છે...</translation>
 <translation id="5816228676161003208">આ તમને તમારા અવાજનો ઉપયોગ કરીને વધુ ઝડપથી શોધવા દે છે.</translation>
 <translation id="5846482154967366008">શોધ એન્જિન</translation>
 <translation id="5854790677617711513">30 દિવસ કરતા જૂનો</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">વધુ</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">રદ કરવા માટે ટેપ કરો.</translation>
+<translation id="6108923351542677676">સેટઅપની પ્રક્રિયા ચાલુ છે...</translation>
 <translation id="6122191549521593678">ઓનલાઇન</translation>
 <translation id="6127379762771434464">આઇટમ દૂર કરી</translation>
 <translation id="6136914049981179737">સેકંડ પહેલાં</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 912521f3..e15b6b18 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">क्षमा करें, आपके खाते में प्रवेश करने में समस्या थी.</translation>
 <translation id="5737974891429562743">खाता प्रवेश के विवरण पुराने हैं. समन्वयन प्रारंभ करने के लिए अपडेट करें.</translation>
 <translation id="5738887413654608789">इससे आप अपने आस-पास की चीज़ों पर आधारित वेब पृष्ठों की खोज कर सकते हैं.</translation>
-<translation id="5771816112378578655">सेटअप प्रगति में है...</translation>
 <translation id="5816228676161003208">इससे आप अपनी आवाज़ का उपयोग करके तेज़ी से खोज सकते हैं.</translation>
 <translation id="5846482154967366008">खोज इंजन</translation>
 <translation id="5854790677617711513">30 दिनों से ज़्यादा पुराना</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">और ज़्यादा</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">रद्द करने के लिए टैप करें.</translation>
+<translation id="6108923351542677676">सेटअप प्रगति में है…</translation>
 <translation id="6122191549521593678">ऑनलाइन</translation>
 <translation id="6127379762771434464">आइटम निकाला गया</translation>
 <translation id="6136914049981179737">कुछ सेकंड पहले</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 6473204..0b4f73f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Došlo je do problema prilikom prijave na vaš račun.</translation>
 <translation id="5737974891429562743">Pojedinosti prijave na račun su zastarjele. Ažurirajte ih da biste pokrenuli sinkronizaciju.</translation>
 <translation id="5738887413654608789">To vam omogućuje da otkrijete relevantne web-stranice na temelju svojeg okruženja.</translation>
-<translation id="5771816112378578655">Postavljanje je u tijeku...</translation>
 <translation id="5816228676161003208">To vam omogućuje brže pretraživanje uz upotrebu glasa.</translation>
 <translation id="5846482154967366008">Tražilica</translation>
 <translation id="5854790677617711513">Starije od 30 dana</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Više</translation>
 <translation id="605721222689873409">GG</translation>
 <translation id="6066301408025741299">Dotaknite da biste otkazali.</translation>
+<translation id="6108923351542677676">Postavljanje je u tijeku…</translation>
 <translation id="6122191549521593678">Na mreži</translation>
 <translation id="6127379762771434464">Stavka je uklonjena</translation>
 <translation id="6136914049981179737">Prije nekoliko sek.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index 03ca895..29a480d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">A fiókjába történő bejelentkezés során hiba történt.</translation>
 <translation id="5737974891429562743">A fiók bejelentkezési adatai elavultak. Frissítsen a szinkronizálás megkezdéséhez.</translation>
 <translation id="5738887413654608789">Lehetővé teszi a felhasználó számára, hogy közvetlen környezete alapján fedezzen fel releváns weboldalakat.</translation>
-<translation id="5771816112378578655">A telepítés folyamatban...</translation>
 <translation id="5816228676161003208">Lehetővé teszi a gyorsabb keresést a hangalapú keresés használatával.</translation>
 <translation id="5846482154967366008">Keresőmotor</translation>
 <translation id="5854790677617711513">30 napnál régebbi</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Továbbiak</translation>
 <translation id="605721222689873409">ÉÉ</translation>
 <translation id="6066301408025741299">Érintse meg a visszavonáshoz</translation>
+<translation id="6108923351542677676">A telepítés folyamatban...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Elem eltávolítva</translation>
 <translation id="6136914049981179737">Néhány másodperce</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 7f22dfeb..a7cdb6c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Maaf, terjadi masalah saat masuk ke akun Anda.</translation>
 <translation id="5737974891429562743">Detail proses masuk akun sudah tidak berlaku lagi. Perbarui untuk memulai sinkronisasi.</translation>
 <translation id="5738887413654608789">Hal ini memungkinkan Anda menemukan halaman web yang relevan berdasarkan berbagai hal di sekitar.</translation>
-<translation id="5771816112378578655">Penyiapan sedang berlangsung...</translation>
 <translation id="5816228676161003208">Hal ini memungkinkan Anda menelusuri lebih cepat menggunakan suara.</translation>
 <translation id="5846482154967366008">Mesin Telusur</translation>
 <translation id="5854790677617711513">Lebih dari 30 hari</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Lainnya</translation>
 <translation id="605721222689873409">TT</translation>
 <translation id="6066301408025741299">Ketuk untuk membatalkan.</translation>
+<translation id="6108923351542677676">Penyiapan sedang berlangsung...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Item dihapus</translation>
 <translation id="6136914049981179737">Detik lalu</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index ab6a27a9..6bd5f3b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Spiacenti, problema durante l'accesso all'account.</translation>
 <translation id="5737974891429562743">I dati di accesso dell'account sono obsoleti. Aggiorna per avviare la sincronizzazione.</translation>
 <translation id="5738887413654608789">Puoi trovare pagine web pertinenti basate sui dintorni.</translation>
-<translation id="5771816112378578655">Configurazione in corso...</translation>
 <translation id="5816228676161003208">In questo modo puoi eseguire ricerche più veloci con la voce.</translation>
 <translation id="5846482154967366008">Motore di ricerca</translation>
 <translation id="5854790677617711513">Oltre 30 giorni fa</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Più</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Tocca per annullare.</translation>
+<translation id="6108923351542677676">Configurazione in corso…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Elemento rimosso</translation>
 <translation id="6136914049981179737">Secondi fa</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 747e1464..5fe1608 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">מצטערים, אירעה בעיה בכניסה לחשבון שלך.</translation>
 <translation id="5737974891429562743">פרטי הכניסה לחשבון אינם עדכניים. עדכן כדי להפעיל את הסינכרון.</translation>
 <translation id="5738887413654608789">‏תקשורת Bluetooth מאפשרת לך למצוא אתרי אינטרנט רלוונטיים לפי המיקום שלך.</translation>
-<translation id="5771816112378578655">ההתקנה מתבצעת...</translation>
 <translation id="5816228676161003208">אישור זה מאפשר לך לחפש מהר יותר בעזרת דיבור.</translation>
 <translation id="5846482154967366008">מנוע חיפוש</translation>
 <translation id="5854790677617711513">לפני יותר מ-30 ימים</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">עוד</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">הקש כדי לבטל.</translation>
+<translation id="6108923351542677676">ההגדרה מתבצעת…</translation>
 <translation id="6122191549521593678">מקוון</translation>
 <translation id="6127379762771434464">הפריט הוסר</translation>
 <translation id="6136914049981179737">שניות</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index c74bda4..612caa8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">アカウントへのログイン中に問題が発生しました。</translation>
 <translation id="5737974891429562743">アカウントのログイン情報が古くなっています。同期を開始するには更新してください。</translation>
 <translation id="5738887413654608789">この機能を使用すると、周囲で発信されているデータを受信して関連のあるウェブページを表示することができます。</translation>
-<translation id="5771816112378578655">セットアップ中...</translation>
 <translation id="5816228676161003208">音声を使ってより速く検索できます。</translation>
 <translation id="5846482154967366008">検索エンジン</translation>
 <translation id="5854790677617711513">30 日以上経過</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">もっと見る</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">タップしてキャンセルします。</translation>
+<translation id="6108923351542677676">設定しています...</translation>
 <translation id="6122191549521593678">オンライン</translation>
 <translation id="6127379762771434464">アイテムを削除しました</translation>
 <translation id="6136914049981179737">数秒前</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index b5aaedf..92edf64 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">ಕ್ಷಮಿಸಿ, ನಿಮ್ಮ ಖಾತೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ.</translation>
 <translation id="5737974891429562743">ಖಾತೆಯ ಸೈನ್-ಇನ್ ವಿವರಗಳು ಹಳೆಯದಾಗಿವೆ. ಸಿಂಕ್ ಪ್ರಾರಂಭಿಸಲು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ.</translation>
 <translation id="5738887413654608789">ನಿಮ್ಮ ಸುತ್ತಲಿನಲ್ಲಿರುವುದನ್ನು ಆಧರಿಸಿ, ಸಂಬಂಧಿಸಿದ ವೆಬ್ ಪುಟಗಳನ್ನು ಅನ್ವೇಷಿಸಲು ಇದು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.</translation>
-<translation id="5771816112378578655">ಸೆಟಪ್ ಪ್ರಗತಿಯಲ್ಲಿದೆ...</translation>
 <translation id="5816228676161003208">ಇದು ನಿಮ್ಮ ಧ್ವನಿ ಬಳಸಿಕೊಂಡು ವೇಗವಾಗಿ ಹುಡುಕಲು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.</translation>
 <translation id="5846482154967366008">ಹುಡುಕಾಟ ಎಂಜಿನ್</translation>
 <translation id="5854790677617711513">30 ದಿನಗಳಿಗಿಂತ ಹಳೆಯದು</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">ಇನ್ನಷ್ಟು</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">ರದ್ದುಮಾಡಲು ಟ್ಯಾಪ್‌ ಮಾಡಿ</translation>
+<translation id="6108923351542677676">ಸೆಟಪ್ ಪ್ರಗತಿಯಲ್ಲಿದೆ...</translation>
 <translation id="6122191549521593678">ಆನ್‌ಲೈನ್</translation>
 <translation id="6127379762771434464">ಐಟಂ ತೆಗೆದುಹಾಕಲಾಗಿದೆ</translation>
 <translation id="6136914049981179737">ಸೆಕೆಂಡ್ ಹಿಂದೆ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
index 81adea2b..336c163 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">죄송합니다. 계정에 로그인하는 중에 문제가 발생했습니다.</translation>
 <translation id="5737974891429562743">계정 로그인 세부정보가 오래되었습니다. 업데이트하여 동기화를 시작하세요.</translation>
 <translation id="5738887413654608789">이를 통해 사용자의 주변 환경을 토대로 관련 웹 페이지를 발견할 수 있습니다.</translation>
-<translation id="5771816112378578655">설정 진행 중...</translation>
 <translation id="5816228676161003208">액세스를 허용하면 음성으로 더 빨리 검색할 수 있습니다.</translation>
 <translation id="5846482154967366008">검색엔진</translation>
 <translation id="5854790677617711513">30일 이상 전</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">더보기</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">취소하려면 탭하세요.</translation>
+<translation id="6108923351542677676">설정 진행 중...</translation>
 <translation id="6122191549521593678">온라인</translation>
 <translation id="6127379762771434464">항목 삭제됨</translation>
 <translation id="6136914049981179737">초 전</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index 05aacdd..21492fb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Apgailestaujame, prisijungiant prie paskyros kilo problema.</translation>
 <translation id="5737974891429562743">Išsami paskyros prisijungimo informacija pasenusi. Atnaujinkite, kad pradėtumėte sinchronizuoti.</translation>
 <translation id="5738887413654608789">Tai naudodami galite atrasti aktualių tinklalapių, kurie teikiami atsižvelgiant į aplinką.</translation>
-<translation id="5771816112378578655">Vykdomas nustatymas...</translation>
 <translation id="5816228676161003208">Galite ieškoti greičiau balsu.</translation>
 <translation id="5846482154967366008">Paieškos variklis</translation>
 <translation id="5854790677617711513">Senesni nei 30 dienų</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Daugiau</translation>
 <translation id="605721222689873409">MM</translation>
 <translation id="6066301408025741299">Palieskite, jei norite atšaukti.</translation>
+<translation id="6108923351542677676">Nustatoma…</translation>
 <translation id="6122191549521593678">Prisijungęs</translation>
 <translation id="6127379762771434464">Elementas pašalintas</translation>
 <translation id="6136914049981179737">Prieš sek.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index 79695f6..0572601 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Diemžēl, pierakstoties kontā, radās problēma.</translation>
 <translation id="5737974891429562743">Konta pieteikuminformācija ir novecojusi. Atjauniniet to, lai sāktu sinhronizāciju.</translation>
 <translation id="5738887413654608789">Tādējādi varat atklāt atbilstošas tīmekļa lapas, pamatojoties uz datiem par jūsu apkārtni.</translation>
-<translation id="5771816112378578655">Notiek iestatīšana...</translation>
 <translation id="5816228676161003208">Varat meklēt ātrāk, izmantojot balsi.</translation>
 <translation id="5846482154967366008">Meklētājprogramma</translation>
 <translation id="5854790677617711513">Vecāki par 30 dienām</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Vairāk</translation>
 <translation id="605721222689873409">GG</translation>
 <translation id="6066301408025741299">Pieskarieties, lai atceltu.</translation>
+<translation id="6108923351542677676">Notiek iestatīšana...</translation>
 <translation id="6122191549521593678">Tiešsaistē</translation>
 <translation id="6127379762771434464">Vienums ir noņemts</translation>
 <translation id="6136914049981179737">Pirms sek.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index bbbe23b..9fabc525 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">ക്ഷമിക്കണം, നിങ്ങളുടെ അക്കൗണ്ടിൽ സൈൻ ഇൻ ചെയ്യുന്നതിൽ ഒരു പ്രശ്‌നമുണ്ടായി.</translation>
 <translation id="5737974891429562743">അക്കൗണ്ട് സൈൻ ഇൻ വിശദാംശങ്ങൾ കാലഹരണപ്പെട്ടു. സമന്വയിപ്പിക്കാൻ തുടങ്ങുന്നതിന് അപ്‌ഡേറ്റുചെയ്യുക.</translation>
 <translation id="5738887413654608789">നിങ്ങളുടെ ചുറ്റുമുള്ള കാര്യങ്ങളെ അടിസ്ഥാനമാക്കി ആനുകാലികമായ വെബ് പേജുകൾ കണ്ടെത്താൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.</translation>
-<translation id="5771816112378578655">സജ്ജമാക്കല്‍‌ പുരോഗതിയിലാണ്...</translation>
 <translation id="5816228676161003208">നിങ്ങളുടെ ശബ്‌ദം ഉപയോഗിച്ച് കൂടുതൽ വേഗത്തിൽ തിരയാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.</translation>
 <translation id="5846482154967366008">തിരയൽ എഞ്ചിൻ</translation>
 <translation id="5854790677617711513">30 ദിവസത്തിൽ കൂടുതൽ പഴക്കമുള്ളത്</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">കൂടുതൽ</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">റദ്ദാക്കുന്നതിന് ടാപ്പുചെയ്യുക.</translation>
+<translation id="6108923351542677676">സജ്ജീകരണം പുരോഗതിയിലാണ്...</translation>
 <translation id="6122191549521593678">ഓൺലൈൻ</translation>
 <translation id="6127379762771434464">ഇനം നീക്കംചെയ്‌തു</translation>
 <translation id="6136914049981179737">സെക്കൻഡ് മുമ്പ്</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index fdebd370..08984c78 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -283,7 +283,6 @@
 <translation id="5728700505257787410">क्षमस्व, आपल्या खात्यामध्ये साइन इन करताना काहीतरी समस्या आली.</translation>
 <translation id="5737974891429562743">खाते साइन इन तपशील कालबाह्य झाले आहेत. सिंक सुरू करण्यासाठी अपडेट करा.</translation>
 <translation id="5738887413654608789">हे तुम्हाला आपल्या सभोवतालच्या गोष्टींवर आधारित संबंधित वेब पेज शोधू देते.</translation>
-<translation id="5771816112378578655">सेटअप प्रक्रियेत आहे...</translation>
 <translation id="5816228676161003208">हे तुम्हाला तुमचा व्‍हॉइस वापरून अधिक जलद शोधू देते.</translation>
 <translation id="5846482154967366008">शोध इंजिन</translation>
 <translation id="5854790677617711513">30 दिवसांपेक्षा जुना</translation>
@@ -310,6 +309,7 @@
 <translation id="6042308850641462728">अधिक</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">रद्द करण्यासाठी टॅप करा.</translation>
+<translation id="6108923351542677676">सेटअप प्रगती पथावर आहे...</translation>
 <translation id="6122191549521593678">ऑनलाइन</translation>
 <translation id="6127379762771434464">आयटम काढला</translation>
 <translation id="6136914049981179737">सेकंदांपूर्वी</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index eb7f2d02..4826a67 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Maaf, terdapat masalah untuk log masuk ke akaun anda.</translation>
 <translation id="5737974891429562743">Butiran log masuk akaun sudah lapuk. Sila kemas kini untuk memulakan penyegerakan.</translation>
 <translation id="5738887413654608789">Langkah ini membolehkan anda menemui halaman web yang berkaitan berdasarkan persekitaran anda.</translation>
-<translation id="5771816112378578655">Penyediaan sedang dijalankan...</translation>
 <translation id="5816228676161003208">Langkah ini membolehkan anda mencari dengan lebih cepat menggunakan suara anda.</translation>
 <translation id="5846482154967366008">Enjin Carian</translation>
 <translation id="5854790677617711513">Lebih lama daripada 30 hari</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Lagi</translation>
 <translation id="605721222689873409">TT</translation>
 <translation id="6066301408025741299">Ketik untuk membatalkan.</translation>
+<translation id="6108923351542677676">Persediaan sedang berjalan...</translation>
 <translation id="6122191549521593678">Dalam talian</translation>
 <translation id="6127379762771434464">Item dialih keluar</translation>
 <translation id="6136914049981179737">Bbrp saat lalu</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index f822c983..27ad076 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Er is een probleem opgetreden met het inloggen op je account.</translation>
 <translation id="5737974891429562743">De inloggegevens voor het account zijn verouderd. Voer een update uit om te synchroniseren.</translation>
 <translation id="5738887413654608789">Hiermee kun je relevante webpagina's vinden op basis van je omgeving.</translation>
-<translation id="5771816112378578655">Instellen wordt uitgevoerd...</translation>
 <translation id="5816228676161003208">Hiermee kun je sneller zoeken met je stem.</translation>
 <translation id="5846482154967366008">Zoekmachine</translation>
 <translation id="5854790677617711513">Ouder dan 30 dagen</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Meer</translation>
 <translation id="605721222689873409">JJ</translation>
 <translation id="6066301408025741299">Tik om te annuleren.</translation>
+<translation id="6108923351542677676">Instellen wordt uitgevoerd...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Item verwijderd</translation>
 <translation id="6136914049981179737">Sec. geleden</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index 7738940e..9cb607f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Det oppsto et problem ved pålogging til kontoen din.</translation>
 <translation id="5737974891429562743">Påloggingsdetaljene for kontoen er utdatert. Oppdater for å starte synkroniseringen.</translation>
 <translation id="5738887413654608789">Med denne kan du oppdage relevante nettsider basert på omgivelsene dine.</translation>
-<translation id="5771816112378578655">Konfigurasjon pågår ...</translation>
 <translation id="5816228676161003208">Dette gjør at du kan søke raskere ved å bruke stemmen.</translation>
 <translation id="5846482154967366008">Søkemotor</translation>
 <translation id="5854790677617711513">Eldre enn 30 dager</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mer</translation>
 <translation id="605721222689873409">ÅÅ</translation>
 <translation id="6066301408025741299">Trykk for å avbryte.</translation>
+<translation id="6108923351542677676">Konfigurasjon pågår …</translation>
 <translation id="6122191549521593678">Pålogget</translation>
 <translation id="6127379762771434464">Elementet ble fjernet</translation>
 <translation id="6136914049981179737">For noen sekunder siden</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index f0e42cc..a20ac3f3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Niestety, wystąpił problem z zalogowaniem się na konto.</translation>
 <translation id="5737974891429562743">Dane logowania na konto są nieaktualne. Zaktualizuj je, by rozpocząć synchronizację.</translation>
 <translation id="5738887413654608789">Pozwoli Ci to odkrywać strony internetowe dotyczące rzeczy z Twojego otoczenia.</translation>
-<translation id="5771816112378578655">Trwa konfigurowanie...</translation>
 <translation id="5816228676161003208">Umożliwia szybsze wyszukiwanie głosowe.</translation>
 <translation id="5846482154967366008">Wyszukiwarka</translation>
 <translation id="5854790677617711513">Sprzed ponad 30 dni</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Więcej</translation>
 <translation id="605721222689873409">RR</translation>
 <translation id="6066301408025741299">Kliknij, by anulować.</translation>
+<translation id="6108923351542677676">Trwa konfigurowanie…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Element został usunięty</translation>
 <translation id="6136914049981179737">Przed chwilą</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
index 7f50aa3..84f24a10 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Houve um problema durante o login em sua conta.</translation>
 <translation id="5737974891429562743">Os detalhes de login da conta estão desatualizados. Atualize-os para iniciar a sincronização.</translation>
 <translation id="5738887413654608789">Isso permite que você descubra páginas da Web relevantes com base nos seus arredores.</translation>
-<translation id="5771816112378578655">Configuração em andamento...</translation>
 <translation id="5816228676161003208">Isso permite que você pesquise mais rapidamente usando sua voz.</translation>
 <translation id="5846482154967366008">Mecanismo de pesquisa</translation>
 <translation id="5854790677617711513">Com mais de 30 dias</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mais</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Toque para cancelar.</translation>
+<translation id="6108923351542677676">Configuração em andamento...</translation>
 <translation id="6122191549521593678">On-line</translation>
 <translation id="6127379762771434464">Item removido</translation>
 <translation id="6136914049981179737">Segundos atrás</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
index ebaab74..8481106 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Lamentamos, mas houve um problema ao iniciar sessão na sua conta.</translation>
 <translation id="5737974891429562743">Os detalhes de início de sessão na conta estão desatualizados. Atualize-os para iniciar a sincronização.</translation>
 <translation id="5738887413654608789">Isto permite descobrir páginas Web relevantes com base no ambiente à sua volta.</translation>
-<translation id="5771816112378578655">Configuração em curso...</translation>
 <translation id="5816228676161003208">Isto permite-lhe pesquisar mais rapidamente com a sua voz.</translation>
 <translation id="5846482154967366008">Motor de Pesquisa</translation>
 <translation id="5854790677617711513">Com mais de 30 dias</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mais</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Toque para cancelar.</translation>
+<translation id="6108923351542677676">Configuração em curso…</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Item removido</translation>
 <translation id="6136914049981179737">Há segundos</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index 7463925..d4b8b61 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">A apărut o problemă de conectare la cont.</translation>
 <translation id="5737974891429562743">Datele de conectare la cont sunt învechite. Actualizează pentru a începe sincronizarea.</translation>
 <translation id="5738887413654608789">Astfel, poți descoperi pagini web relevante în funcție de lucrurile din jurul tău.</translation>
-<translation id="5771816112378578655">Se configurează...</translation>
 <translation id="5816228676161003208">Astfel, cauți mai rapid folosindu-ți vocea.</translation>
 <translation id="5846482154967366008">Motor de căutare</translation>
 <translation id="5854790677617711513">Mai vechi de 30 de zile</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mai multe</translation>
 <translation id="605721222689873409">AA</translation>
 <translation id="6066301408025741299">Atinge pentru a anula.</translation>
+<translation id="6108923351542677676">Configurare în curs...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Elementul a fost eliminat</translation>
 <translation id="6136914049981179737">Secunde</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 7cdd2fa..68b674e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Не удалось войти в аккаунт.</translation>
 <translation id="5737974891429562743">Данные для входа в аккаунт устарели. Чтобы начать синхронизацию, обновите их.</translation>
 <translation id="5738887413654608789">Вы сможете узнавать о сайтах, связанных с объектами вокруг вас.</translation>
-<translation id="5771816112378578655">Идет настройка...</translation>
 <translation id="5816228676161003208">Это нужно, чтобы использовать голосовой поиск</translation>
 <translation id="5846482154967366008">Поисковая система</translation>
 <translation id="5854790677617711513">Сохраненные более 30 дней назад</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Ещё</translation>
 <translation id="605721222689873409">ГГ</translation>
 <translation id="6066301408025741299">Нажмите, чтобы отменить загрузку</translation>
+<translation id="6108923351542677676">Настройка…</translation>
 <translation id="6122191549521593678">Онлайн</translation>
 <translation id="6127379762771434464">Быстрая ссылка удалена</translation>
 <translation id="6136914049981179737">только что</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index b1ba8b1..7419636 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Je nám ľúto, pri prihlasovaní do účtu sa vyskytol problém.</translation>
 <translation id="5737974891429562743">Informácie o prihlásení do účtu sú neaktuálne. Ak chcete spustiť synchronizáciu, aktualizujte ich.</translation>
 <translation id="5738887413654608789">Umožní vám to objavovať relevantné webové stránky na základe objektov vo vašom okolí.</translation>
-<translation id="5771816112378578655">Inštaluje sa...</translation>
 <translation id="5816228676161003208">Umožňuje rýchlejšie vyhľadávania pomocou hlasu.</translation>
 <translation id="5846482154967366008">Vyhľadávací nástroj</translation>
 <translation id="5854790677617711513">Staršie ako 30 dní</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Viac</translation>
 <translation id="605721222689873409">RR</translation>
 <translation id="6066301408025741299">Sťahovanie zrušíte klepnutím.</translation>
+<translation id="6108923351542677676">Inštaluje sa...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Položka bola odstránená</translation>
 <translation id="6136914049981179737">Pred chvíľou</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index efc88cbe..13d38c1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -280,7 +280,6 @@
 <translation id="5728700505257787410">Žal je bila pri prijavi v račun težava.</translation>
 <translation id="5737974891429562743">Account sign-in details are out of date. Update to start sync.</translation>
 <translation id="5738887413654608789">To vam omogoča odkrivanje pomembnih spletnih strani glede na vašo okolico.</translation>
-<translation id="5771816112378578655">Poteka nastavitev ...</translation>
 <translation id="5816228676161003208">S tem je mogoče hitreje iskati z glasom.</translation>
 <translation id="5846482154967366008">Iskalnik</translation>
 <translation id="5854790677617711513">Starejše od 30 dni</translation>
@@ -307,6 +306,7 @@
 <translation id="6042308850641462728">Več</translation>
 <translation id="605721222689873409">LL</translation>
 <translation id="6066301408025741299">Dotaknite se, da prekinete.</translation>
+<translation id="6108923351542677676">Poteka nastavitev …</translation>
 <translation id="6122191549521593678">Dosegljiv</translation>
 <translation id="6127379762771434464">Element odstranjen</translation>
 <translation id="6136914049981179737">Pred sek.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index a0f72be..fb8f9a6e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Жао нам је, дошло је до проблема при пријављивању на налог.</translation>
 <translation id="5737974891429562743">Подаци за пријављивање на налог су застарели. Ажурирајте их да бисте започели синхронизацију.</translation>
 <translation id="5738887413654608789">Ово вам омогућава да откријете релевантне веб-странице на основу окружења.</translation>
-<translation id="5771816112378578655">Подешавање је у току...</translation>
 <translation id="5816228676161003208">Ово вам омогућава да брже претражујте помоћу гласа.</translation>
 <translation id="5846482154967366008">Претраживач</translation>
 <translation id="5854790677617711513">Старије од 30 дана</translation>
@@ -306,9 +305,10 @@
 <translation id="6021332621416007159">Отвори у...</translation>
 <translation id="6039429417015973673"><ph name="TITLE" />, <ph name="PUBLISHER_INFORMATION" />, <ph name="PUBLICATION_DATE" /></translation>
 <translation id="6040143037577758943">Затвори</translation>
-<translation id="6042308850641462728">Још</translation>
+<translation id="6042308850641462728">Више</translation>
 <translation id="605721222689873409">ГГ</translation>
 <translation id="6066301408025741299">Додирните да бисте отказали.</translation>
+<translation id="6108923351542677676">Подешавање је у току...</translation>
 <translation id="6122191549521593678">Онлајн</translation>
 <translation id="6127379762771434464">Уклонили сте ставку</translation>
 <translation id="6136914049981179737">Малопре</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index 45bf0917..38005f43 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Det gick inte att logga in på ditt konto.</translation>
 <translation id="5737974891429562743">Inloggningsuppgifterna för kontot är inte aktuella. Starta synkroniseringen genom att uppdatera.</translation>
 <translation id="5738887413654608789">Detta gör det möjligt att upptäcka relevanta webbsidor utifrån din omgivning.</translation>
-<translation id="5771816112378578655">Konfigurationen pågår...</translation>
 <translation id="5816228676161003208">Det här gör att du kan söka snabbare med hjälp av rösten.</translation>
 <translation id="5846482154967366008">Sökmotor</translation>
 <translation id="5854790677617711513">Äldre än 30 dagar</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Mer</translation>
 <translation id="605721222689873409">ÅÅ</translation>
 <translation id="6066301408025741299">Avbryt genom att trycka här.</translation>
+<translation id="6108923351542677676">Konfigurationen pågår ...</translation>
 <translation id="6122191549521593678">Online</translation>
 <translation id="6127379762771434464">Objektet har tagits bort</translation>
 <translation id="6136914049981179737">Nyss</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
index 306b7d5..06b814c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Samahani, kulikuwa na tatizo wakati wa kuingia kwenye akaunti yako.</translation>
 <translation id="5737974891429562743">Maelezo ya kuingia kwenye akaunti hayatumiki tena. Sasisha ili uanze kusawazisha.</translation>
 <translation id="5738887413654608789">Hii inakuwezesha kugundua kurasa za wavuti zinazokufaa kulingana na mazingira yako.</translation>
-<translation id="5771816112378578655">Usanidi unaendelea...</translation>
 <translation id="5816228676161003208">Hii hukuwezesha kutafuta haraka kwa kutamka.</translation>
 <translation id="5846482154967366008">Mtambo wa Kutafuta</translation>
 <translation id="5854790677617711513">Iliyohifadhiwa kwa zaidi ya siku 30</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Zaidi</translation>
 <translation id="605721222689873409">MK</translation>
 <translation id="6066301408025741299">Gusa ili kughairi.</translation>
+<translation id="6108923351542677676">Usanidi unaendelea...</translation>
 <translation id="6122191549521593678">Mtandaoni</translation>
 <translation id="6127379762771434464">Kipengee kimeondolewa</translation>
 <translation id="6136914049981179737">Sekunde chache</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index de1fa955..8f7df65e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">மன்னிக்கவும், உங்கள் கணக்கில் உள்நுழைவதில் பிழை.</translation>
 <translation id="5737974891429562743">கணக்கு உள்நுழைவு விவரங்கள் காலாவதியாகிவிட்டன. ஒத்திசைவைத் தொடங்க, புதுப்பிக்கவும்.</translation>
 <translation id="5738887413654608789">இதன் மூலம், உங்களைச் சுற்றியுள்ளவற்றின் அடிப்படையில் தொடர்புடைய இணையப் பக்கங்களைக் கண்டறியலாம்.</translation>
-<translation id="5771816112378578655">அமைவு செயலிலுள்ளது...</translation>
 <translation id="5816228676161003208">இதன் மூலம் உங்கள் குரலைப் பயன்படுத்தி வேகமாகத் தேடலாம்.</translation>
 <translation id="5846482154967366008">தேடல் இன்ஜின்</translation>
 <translation id="5854790677617711513">30 நாட்களுக்கு முந்தையவை</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">மேலும்</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">ரத்துசெய்ய தட்டவும்.</translation>
+<translation id="6108923351542677676">அமைவு செயலிலுள்ளது...</translation>
 <translation id="6122191549521593678">ஆன்லைன்</translation>
 <translation id="6127379762771434464">உருப்படி அகற்றப்பட்டது</translation>
 <translation id="6136914049981179737">வினாடிகள் முன்பு</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb
index 44d80125..ca0fbfc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -11,7 +11,7 @@
 <translation id="1112015203684611006">ముద్రణ విఫలమైంది.</translation>
 <translation id="1125564390852150847">కొత్త ట్యాబ్‌ను సృష్టించండి.</translation>
 <translation id="1145536944570833626">ఇప్పటికే ఉన్న డేటాను తొలగించండి.</translation>
-<translation id="1165039591588034296">లోపం</translation>
+<translation id="1165039591588034296">ఎర్రర్</translation>
 <translation id="1172898394251786223">తర్వాతి ఫీల్డ్</translation>
 <translation id="1176932207622159128">చిత్రాన్ని సేవ్ చేయడం సాధ్యపడదు</translation>
 <translation id="1181037720776840403">తీసివేయి</translation>
@@ -96,7 +96,7 @@
 <translation id="2523184218357549926">మీరు సందర్శించే పేజీల URLలను Googleకి పంపుతుంది</translation>
 <translation id="2523363575747517183">ఈ వెబ్‌సైట్ మరో అప్లికేషన్‌ను తెరవడానికి పలుసార్లు ప్రయత్నిస్తోంది.</translation>
 <translation id="2529021024822217800">అన్నీ తెరువు</translation>
-<translation id="2572712655377361602">మీ ఫోటోలకు యాక్సెస్‌ను ఒక పరికర విధానం బ్లాక్ చేసింది</translation>
+<translation id="2572712655377361602">ఒక పరికర విధానం మీ ఫోటోలకు యాక్సెస్‌ను బ్లాక్ చేసింది</translation>
 <translation id="2584132361465095047">ఖాతాను జోడించు…</translation>
 <translation id="2625189173221582860">పాస్‌వర్డ్ కాపీ చేయబడింది</translation>
 <translation id="2648803196158606475">చదివిన వాటిని తొలగించు</translation>
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">క్షమించండి, మీ ఖాతాకు సైన్ ఇన్ చేయడంలో సమస్య ఉంది.</translation>
 <translation id="5737974891429562743">ఖాతా సైన్-ఇన్ వివరాలు పాతవి. సింక్‌ను ప్రారంభించడానికి అప్‌డేట్ చేయండి.</translation>
 <translation id="5738887413654608789">దీని వలన మీరు మీ పరిసరాల ఆధారంగా సంబంధిత వెబ్‌ పేజీలను కనుగొనగలుగుతారు.</translation>
-<translation id="5771816112378578655">సెటప్ పురోగమనంలో ఉంది...</translation>
 <translation id="5816228676161003208">దీని వలన మీ వాయిస్‌ను ఉపయోగించి వేగంగా వెతకగలుగుతారు.</translation>
 <translation id="5846482154967366008">శోధన ఇంజిన్</translation>
 <translation id="5854790677617711513">30 రోజుల కన్నా పాతవి</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">మరింత</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">రద్దు చేయడానికి నొక్కండి.</translation>
+<translation id="6108923351542677676">సెటప్ ప్రోగ్రెస్‌లో ఉంది...</translation>
 <translation id="6122191549521593678">ఆన్‌లైన్</translation>
 <translation id="6127379762771434464">అంశాన్ని తీసివేసారు</translation>
 <translation id="6136914049981179737">సెకన్ల క్రితం</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index 44d7813..e289f498 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">ขออภัย เกิดปัญหาในการลงชื่อเข้าใช้บัญชีของคุณ</translation>
 <translation id="5737974891429562743">รายละเอียดการลงชื่อเข้าใช้บัญชีล้าสมัยแล้ว โปรดอัปเดตเพื่อเริ่มการซิงค์</translation>
 <translation id="5738887413654608789">วิธีนี้ช่วยให้คุณค้นพบหน้าเว็บที่เกี่ยวข้องโดยอิงตามสิ่งที่อยู่รอบตัวคุณ</translation>
-<translation id="5771816112378578655">กำลังดำเนินการตั้งค่า...</translation>
 <translation id="5816228676161003208">ช่วยให้คุณค้นหาได้เร็วขึ้นโดยใช้เสียง</translation>
 <translation id="5846482154967366008">เครื่องมือค้นหา</translation>
 <translation id="5854790677617711513">เกิน 30 วัน</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">เพิ่มเติม</translation>
 <translation id="605721222689873409">ปป</translation>
 <translation id="6066301408025741299">แตะเพื่อยกเลิก</translation>
+<translation id="6108923351542677676">กำลังดำเนินการตั้งค่า…</translation>
 <translation id="6122191549521593678">ออนไลน์</translation>
 <translation id="6127379762771434464">นำรายการออกแล้ว</translation>
 <translation id="6136914049981179737">วินาทีแล้ว</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index e23eb53f..8a67bc4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Maalesef hesabınızda oturum açmayla ilgili bir sorun oldu.</translation>
 <translation id="5737974891429562743">Hesap oturum açma ayrıntıları eski. Senkronizasyonu başlatmak için güncelleyin.</translation>
 <translation id="5738887413654608789">Bu işlem çevrenizdeki öğelere dayalı olarak ilgili web sayfalarını keşfetmenize olanak sağlar.</translation>
-<translation id="5771816112378578655">Kurulum devam ediyor...</translation>
 <translation id="5816228676161003208">Böylece, sesinizi kullanarak daha hızlı arama yapabilirsiniz.</translation>
 <translation id="5846482154967366008">Arama Motoru</translation>
 <translation id="5854790677617711513">30 günden daha eski</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Daha fazla</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">İptal etmek için hafifçe vurun.</translation>
+<translation id="6108923351542677676">Kurulum devam ediyor…</translation>
 <translation id="6122191549521593678">Çevrimiçi</translation>
 <translation id="6127379762771434464">Öğe kaldırıldı</translation>
 <translation id="6136914049981179737">Sn. önce</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index 190630e..2682223 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Під час входу в обліковий запис виникла проблема.</translation>
 <translation id="5737974891429562743">Дані для входу в обліковий запис застаріли. Оновіть їх, щоб почати синхронізацію.</translation>
 <translation id="5738887413654608789">Ви зможете знаходити відповідні веб-сторінки на основі об’єктів поблизу.</translation>
-<translation id="5771816112378578655">Виконується налаштування..</translation>
 <translation id="5816228676161003208">Ви зможете швидше шукати голосом.</translation>
 <translation id="5846482154967366008">Пошукова система</translation>
 <translation id="5854790677617711513">Понад 30 днів тому</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Більше</translation>
 <translation id="605721222689873409">РР</translation>
 <translation id="6066301408025741299">Торкніться, щоб скасувати.</translation>
+<translation id="6108923351542677676">Виконується налаштування…</translation>
 <translation id="6122191549521593678">Онлайн</translation>
 <translation id="6127379762771434464">Веб-сайт видалено</translation>
 <translation id="6136914049981179737">Мить тому</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index 1650289..b2354f1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">Rất tiếc, đã xảy ra sự cố khi đăng nhập tài khoản của bạn.</translation>
 <translation id="5737974891429562743">Thông tin chi tiết để đăng nhập tài khoản đã lỗi thời. Hãy cập nhật để bắt đầu đồng bộ hóa.</translation>
 <translation id="5738887413654608789">Tính năng này cho phép bạn khám phá các trang web có liên quan dựa trên những thứ xung quanh bạn.</translation>
-<translation id="5771816112378578655">Đang thiết lập...</translation>
 <translation id="5816228676161003208">Điều này cho phép bạn tìm kiếm nhanh hơn bằng giọng nói.</translation>
 <translation id="5846482154967366008">Công cụ tìm kiếm</translation>
 <translation id="5854790677617711513">Đã tồn tại hơn 30 ngày</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">Xem thêm</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">Nhấn để hủy.</translation>
+<translation id="6108923351542677676">Đang thiết lập…</translation>
 <translation id="6122191549521593678">Trực tuyến</translation>
 <translation id="6127379762771434464">Đã xóa mục</translation>
 <translation id="6136914049981179737">Giây trước</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 a29f194..2358766 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -14,7 +14,7 @@
 <translation id="1165039591588034296">错误</translation>
 <translation id="1172898394251786223">下一个字段</translation>
 <translation id="1176932207622159128">无法保存图片</translation>
-<translation id="1181037720776840403">移除</translation>
+<translation id="1181037720776840403">删除</translation>
 <translation id="1201530049782216880">打开新的无痕式标签页</translation>
 <translation id="1209206284964581585">暂时隐藏</translation>
 <translation id="1219674500290482172">无法连接到互联网。</translation>
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">很抱歉,登录您的帐号时出现问题。</translation>
 <translation id="5737974891429562743">帐号登录详细信息已过期,请进行更新以开始同步。</translation>
 <translation id="5738887413654608789">这样可让您找到与目前周遭环境相关的网页。</translation>
-<translation id="5771816112378578655">正在设置...</translation>
 <translation id="5816228676161003208">这样,您就可以使用语音更快速地进行搜索。</translation>
 <translation id="5846482154967366008">搜索引擎</translation>
 <translation id="5854790677617711513">30 天之前的</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">更多</translation>
 <translation id="605721222689873409">YY</translation>
 <translation id="6066301408025741299">点按可取消。</translation>
+<translation id="6108923351542677676">正在设置…</translation>
 <translation id="6122191549521593678">在线</translation>
 <translation id="6127379762771434464">该项已移除</translation>
 <translation id="6136914049981179737">几秒前</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
index e594ead..da36f9c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -282,7 +282,6 @@
 <translation id="5728700505257787410">很抱歉,登入您的帳戶時發生問題。</translation>
 <translation id="5737974891429562743">帳戶登入詳細資訊過舊。請先更新,再開始進行同步處理。</translation>
 <translation id="5738887413654608789">可讓你找到與目前周遭環境相關的網頁。</translation>
-<translation id="5771816112378578655">設定中...</translation>
 <translation id="5816228676161003208">可讓你使用語音搜尋功能,查詢資訊更方便。</translation>
 <translation id="5846482154967366008">搜尋引擎</translation>
 <translation id="5854790677617711513">超過 30 天前</translation>
@@ -309,6 +308,7 @@
 <translation id="6042308850641462728">更多</translation>
 <translation id="605721222689873409">年</translation>
 <translation id="6066301408025741299">輕觸即可取消。</translation>
+<translation id="6108923351542677676">設定中…</translation>
 <translation id="6122191549521593678">線上</translation>
 <translation id="6127379762771434464">已移除項目</translation>
 <translation id="6136914049981179737">幾秒前</translation>
diff --git a/ios/chrome/browser/signin/identity_test_environment_chrome_browser_state_adaptor.cc b/ios/chrome/browser/signin/identity_test_environment_chrome_browser_state_adaptor.cc
index bda8de2..17a3a59 100644
--- a/ios/chrome/browser/signin/identity_test_environment_chrome_browser_state_adaptor.cc
+++ b/ios/chrome/browser/signin/identity_test_environment_chrome_browser_state_adaptor.cc
@@ -91,7 +91,6 @@
                   browser_state)),
           static_cast<FakeSigninManager*>(
               ios::SigninManagerFactory::GetForBrowserState(browser_state)),
-          static_cast<FakeGaiaCookieManagerService*>(
-              ios::GaiaCookieManagerServiceFactory::GetForBrowserState(
-                  browser_state)),
+          ios::GaiaCookieManagerServiceFactory::GetForBrowserState(
+              browser_state),
           IdentityManagerFactory::GetForBrowserState(browser_state)) {}
diff --git a/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm b/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm
index 9bee2a3..05927e1 100644
--- a/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm
+++ b/ios/chrome/browser/sync/ios_chrome_synced_tab_delegate.mm
@@ -81,7 +81,7 @@
 GURL IOSChromeSyncedTabDelegate::GetFaviconURLAtIndex(int i) const {
   DCHECK_GE(i, 0);
   NavigationItem* item = GetPossiblyPendingItemAtIndex(web_state_, i);
-  return (item->GetFavicon().valid ? item->GetFavicon().url : GURL());
+  return (item && item->GetFavicon().valid ? item->GetFavicon().url : GURL());
 }
 
 ui::PageTransition IOSChromeSyncedTabDelegate::GetTransitionAtIndex(
diff --git a/ios/chrome/browser/translate/BUILD.gn b/ios/chrome/browser/translate/BUILD.gn
index b38fefa..26760ce2 100644
--- a/ios/chrome/browser/translate/BUILD.gn
+++ b/ios/chrome/browser/translate/BUILD.gn
@@ -19,6 +19,8 @@
     "never_translate_infobar_controller.mm",
     "translate_accept_languages_factory.cc",
     "translate_accept_languages_factory.h",
+    "translate_infobar_controller.h",
+    "translate_infobar_controller.mm",
     "translate_infobar_delegate_observer_bridge.h",
     "translate_infobar_delegate_observer_bridge.mm",
     "translate_infobar_tags.h",
diff --git a/ios/chrome/browser/translate/chrome_ios_translate_client.mm b/ios/chrome/browser/translate/chrome_ios_translate_client.mm
index 447c61e0..6972f1b 100644
--- a/ios/chrome/browser/translate/chrome_ios_translate_client.mm
+++ b/ios/chrome/browser/translate/chrome_ios_translate_client.mm
@@ -33,6 +33,7 @@
 #import "ios/chrome/browser/translate/language_selection_handler.h"
 #import "ios/chrome/browser/translate/never_translate_infobar_controller.h"
 #include "ios/chrome/browser/translate/translate_accept_languages_factory.h"
+#import "ios/chrome/browser/translate/translate_infobar_controller.h"
 #import "ios/chrome/browser/translate/translate_message_infobar_controller.h"
 #import "ios/chrome/browser/translate/translate_option_selection_handler.h"
 #include "ios/chrome/browser/translate/translate_ranker_factory.h"
@@ -96,6 +97,16 @@
 
 std::unique_ptr<infobars::InfoBar> ChromeIOSTranslateClient::CreateInfoBar(
     std::unique_ptr<translate::TranslateInfoBarDelegate> delegate) const {
+  if (base::FeatureList::IsEnabled(translate::kCompactTranslateInfobarIOS)) {
+    TranslateInfoBarController* controller = [[TranslateInfoBarController alloc]
+        initWithInfoBarDelegate:delegate.get()];
+    controller.languageSelectionHandler = language_selection_handler_;
+    controller.translateOptionSelectionHandler =
+        translate_option_selection_handler_;
+    controller.translateNotificationHandler = translate_notification_handler_;
+    return std::make_unique<InfoBarIOS>(controller, std::move(delegate));
+  }
+
   translate::TranslateStep step = delegate->translate_step();
 
   InfoBarController* controller;
diff --git a/ios/chrome/browser/translate/translate_infobar_controller.h b/ios/chrome/browser/translate/translate_infobar_controller.h
new file mode 100644
index 0000000..e265d8a2
--- /dev/null
+++ b/ios/chrome/browser/translate/translate_infobar_controller.h
@@ -0,0 +1,36 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_INFOBAR_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_INFOBAR_CONTROLLER_H_
+
+#include "ios/chrome/browser/infobars/infobar_controller.h"
+
+@protocol LanguageSelectionHandler;
+@protocol TranslateNotificationHandler;
+@protocol TranslateOptionSelectionHandler;
+namespace translate {
+class TranslateInfoBarDelegate;
+}
+
+// Acts as a UIViewController for TranslateInfoBarView. Creates the infobar view
+// and handles user actions.
+@interface TranslateInfoBarController : InfoBarController
+
+- (instancetype)initWithInfoBarDelegate:
+    (translate::TranslateInfoBarDelegate*)infoBarDelegate
+    NS_DESIGNATED_INITIALIZER;
+
+@property(nonatomic, weak) id<LanguageSelectionHandler>
+    languageSelectionHandler;
+
+@property(nonatomic, weak) id<TranslateOptionSelectionHandler>
+    translateOptionSelectionHandler;
+
+@property(nonatomic, weak) id<TranslateNotificationHandler>
+    translateNotificationHandler;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_TRANSLATE_TRANSLATE_INFOBAR_CONTROLLER_H_
diff --git a/ios/chrome/browser/translate/translate_infobar_controller.mm b/ios/chrome/browser/translate/translate_infobar_controller.mm
new file mode 100644
index 0000000..fea3d620
--- /dev/null
+++ b/ios/chrome/browser/translate/translate_infobar_controller.mm
@@ -0,0 +1,366 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/translate/translate_infobar_controller.h"
+
+#import <UIKit/UIKit.h>
+
+#include <stddef.h>
+#include <memory>
+
+#include "base/logging.h"
+#include "base/mac/foundation_util.h"
+#include "base/optional.h"
+#include "base/strings/sys_string_conversions.h"
+#include "components/strings/grit/components_strings.h"
+#include "components/translate/core/browser/translate_infobar_delegate.h"
+#import "ios/chrome/browser/infobars/infobar_controller+protected.h"
+#include "ios/chrome/browser/infobars/infobar_controller_delegate.h"
+#include "ios/chrome/browser/translate/language_selection_context.h"
+#include "ios/chrome/browser/translate/language_selection_delegate.h"
+#include "ios/chrome/browser/translate/language_selection_handler.h"
+#import "ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.h"
+#include "ios/chrome/browser/translate/translate_option_selection_delegate.h"
+#include "ios/chrome/browser/translate/translate_option_selection_handler.h"
+#import "ios/chrome/browser/ui/translate/translate_infobar_view.h"
+#import "ios/chrome/browser/ui/translate/translate_infobar_view_delegate.h"
+#include "ios/chrome/browser/ui/translate/translate_notification_delegate.h"
+#include "ios/chrome/browser/ui/translate/translate_notification_handler.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/gfx/image/image.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+namespace {
+
+// Whether langugage selection popup menu is offered; and whether it is to
+// select the source or the target language.
+typedef NS_ENUM(NSInteger, LanguageSelectionState) {
+  LanguageSelectionStateNone,
+  LanguageSelectionStateSource,
+  LanguageSelectionStateTarget,
+};
+
+// Various user actions to keep track of.
+typedef NS_OPTIONS(NSUInteger, UserAction) {
+  UserActionNone = 0,
+  UserActionTranslate = 1 << 0,
+  UserActionRevert = 1 << 1,
+  UserActionAlwaysTranslate = 1 << 2,
+  UserActionNeverTranslateLanguage = 1 << 3,
+  UserActionNeverTranslateSite = 1 << 4,
+  UserActionExpandMenu = 1 << 5,
+};
+
+}  // namespace
+
+@interface TranslateInfoBarController () <LanguageSelectionDelegate,
+                                          TranslateInfobarDelegateObserving,
+                                          TranslateInfobarViewDelegate,
+                                          TranslateNotificationDelegate,
+                                          TranslateOptionSelectionDelegate> {
+  std::unique_ptr<TranslateInfobarDelegateObserverBridge>
+      _translateInfobarDelegateObserver;
+}
+
+// Overrides superclass property.
+@property(nonatomic, readonly)
+    translate::TranslateInfoBarDelegate* infoBarDelegate;
+
+@property(nonatomic, weak) TranslateInfobarView* infobarView;
+
+// Indicates whether langugage selection popup menu is offered; and whether it
+// is to select the source or the target language.
+@property(nonatomic, assign) LanguageSelectionState languageSelectionState;
+
+// Tracks user actions.
+@property(nonatomic, assign) UserAction userAction;
+
+// The source language name.
+@property(nonatomic, readonly) NSString* sourceLanguage;
+
+// The target language name.
+@property(nonatomic, readonly) NSString* targetLanguage;
+
+@end
+
+@implementation TranslateInfoBarController
+
+@dynamic infoBarDelegate;
+
+#pragma mark - InfoBarControllerProtocol
+
+- (instancetype)initWithInfoBarDelegate:
+    (translate::TranslateInfoBarDelegate*)infoBarDelegate {
+  self = [super initWithInfoBarDelegate:infoBarDelegate];
+  if (self) {
+    _translateInfobarDelegateObserver =
+        std::make_unique<TranslateInfobarDelegateObserverBridge>(
+            infoBarDelegate, self);
+    _userAction = UserActionNone;
+  }
+  return self;
+}
+
+- (UIView*)infobarView {
+  TranslateInfobarView* infobarView =
+      [[TranslateInfobarView alloc] initWithFrame:CGRectZero];
+  infobarView.sourceLanguage = self.sourceLanguage;
+  infobarView.targetLanguage = self.targetLanguage;
+  infobarView.delegate = self;
+  _infobarView = infobarView;
+  return infobarView;
+}
+
+#pragma mark - TranslateInfobarDelegateObserving
+
+- (void)translateInfoBarDelegate:(translate::TranslateInfoBarDelegate*)delegate
+          didChangeTranslateStep:(translate::TranslateStep)step
+                   withErrorType:(translate::TranslateErrors::Type)errorType {
+  switch (step) {
+    case translate::TranslateStep::TRANSLATE_STEP_BEFORE_TRANSLATE:
+      _infobarView.state = TranslateInfobarViewStateBeforeTranslate;
+      break;
+    case translate::TranslateStep::TRANSLATE_STEP_TRANSLATING:
+      _infobarView.state = TranslateInfobarViewStateTranslating;
+      break;
+    case translate::TranslateStep::TRANSLATE_STEP_AFTER_TRANSLATE:
+      _infobarView.state = TranslateInfobarViewStateAfterTranslate;
+      break;
+    case translate::TranslateStep::TRANSLATE_STEP_NEVER_TRANSLATE:
+      // Noop.
+      break;
+    case translate::TranslateStep::TRANSLATE_STEP_TRANSLATE_ERROR:
+      _infobarView.state = TranslateInfobarViewStateBeforeTranslate;
+  }
+}
+
+- (BOOL)translateInfoBarDelegateDidDismissWithoutInteraction:
+    (translate::TranslateInfoBarDelegate*)delegate {
+  return self.userAction == UserActionNone;
+}
+
+#pragma mark - TranslateInfobarViewDelegate
+
+- (void)translateInfobarViewDidTapSourceLangugage:
+    (TranslateInfobarView*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionRevert;
+
+  self.infoBarDelegate->RevertWithoutClosingInfobar();
+  _infobarView.state = TranslateInfobarViewStateBeforeTranslate;
+}
+
+- (void)translateInfobarViewDidTapTargetLangugage:
+    (TranslateInfobarView*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionTranslate;
+
+  self.infoBarDelegate->Translate();
+}
+
+- (void)translateInfobarViewDidTapOptions:(TranslateInfobarView*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionExpandMenu;
+
+  [self showTranslateOptionSelector];
+}
+
+- (void)translateInfobarViewDidTapDismiss:(TranslateInfobarView*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.infoBarDelegate->InfoBarDismissed();
+  self.delegate->RemoveInfoBar();
+}
+
+#pragma mark - LanguageSelectionDelegate
+
+- (void)languageSelectorSelectedLanguage:(std::string)languageCode {
+  if (self.languageSelectionState == LanguageSelectionStateSource) {
+    self.infoBarDelegate->UpdateOriginalLanguage(languageCode);
+    _infobarView.sourceLanguage = self.sourceLanguage;
+  } else {
+    self.infoBarDelegate->UpdateTargetLanguage(languageCode);
+    _infobarView.targetLanguage = self.targetLanguage;
+  }
+  self.languageSelectionState = LanguageSelectionStateNone;
+
+  self.infoBarDelegate->Translate();
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+}
+
+- (void)languageSelectorClosedWithoutSelection {
+  self.languageSelectionState = LanguageSelectionStateNone;
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+}
+
+#pragma mark - TranslateOptionSelectionDelegate
+
+- (void)popupMenuTableViewControllerDidSelectTargetLanguageSelector:
+    (PopupMenuTableViewController*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionExpandMenu;
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+
+  self.languageSelectionState = LanguageSelectionStateTarget;
+  [self showLanguageSelector];
+}
+
+- (void)popupMenuTableViewControllerDidSelectAlwaysTranslateSourceLanguage:
+    (PopupMenuTableViewController*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionAlwaysTranslate;
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+
+  if (self.infoBarDelegate->ShouldAlwaysTranslate()) {
+    self.infoBarDelegate->ToggleAlwaysTranslate();
+  } else {
+    [self.translateNotificationHandler
+        showAlwaysTranslateLanguageNotificationWithDelegate:self
+                                             sourceLanguage:self.sourceLanguage
+                                             targetLanguage:
+                                                 self.targetLanguage];
+  }
+}
+
+- (void)popupMenuTableViewControllerDidSelectNeverTranslateSourceLanguage:
+    (PopupMenuTableViewController*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionNeverTranslateLanguage;
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+
+  if (self.infoBarDelegate->IsTranslatableLanguageByPrefs()) {
+    [self.translateNotificationHandler
+        showNeverTranslateLanguageNotificationWithDelegate:self
+                                            sourceLanguage:self.sourceLanguage];
+  }
+}
+
+- (void)popupMenuTableViewControllerDidSelectNeverTranslateSite:
+    (PopupMenuTableViewController*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionNeverTranslateSite;
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+
+  if (!self.infoBarDelegate->IsSiteBlacklisted()) {
+    [self.translateNotificationHandler
+        showNeverTranslateSiteNotificationWithDelegate:self];
+  }
+}
+
+- (void)popupMenuTableViewControllerDidSelectSourceLanguageSelector:
+    (PopupMenuTableViewController*)sender {
+  if ([self shouldIgnoreUserInteraction])
+    return;
+
+  self.userAction |= UserActionExpandMenu;
+
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+
+  self.languageSelectionState = LanguageSelectionStateSource;
+  [self showLanguageSelector];
+}
+
+- (void)popupMenuPresenterDidCloseWithoutSelection:(PopupMenuPresenter*)sender {
+  [_infobarView updateUIForPopUpMenuDisplayed:NO];
+}
+
+#pragma mark - TranslateNotificationDelegate
+
+- (void)translateNotificationHandlerDidDismissAlwaysTranslateLanguage:
+    (id<TranslateNotificationHandler>)sender {
+  self.infoBarDelegate->ToggleAlwaysTranslate();
+  self.infoBarDelegate->Translate();
+}
+
+- (void)translateNotificationHandlerDidDismissNeverTranslateLanguage:
+    (id<TranslateNotificationHandler>)sender {
+  self.infoBarDelegate->ToggleTranslatableLanguageByPrefs();
+  self.delegate->RemoveInfoBar();
+}
+
+- (void)translateNotificationHandlerDidDismissNeverTranslateSite:
+    (id<TranslateNotificationHandler>)sender {
+  self.infoBarDelegate->ToggleSiteBlacklist();
+  self.delegate->RemoveInfoBar();
+}
+
+#pragma mark - Properties
+
+- (NSString*)sourceLanguage {
+  return base::SysUTF16ToNSString(
+      self.infoBarDelegate->original_language_name());
+}
+
+- (NSString*)targetLanguage {
+  return base::SysUTF16ToNSString(self.infoBarDelegate->target_language_name());
+}
+
+#pragma mark - Private
+
+- (void)showTranslateOptionSelector {
+  [self.translateOptionSelectionHandler
+      showTranslateOptionSelectorWithInfoBarDelegate:self.infoBarDelegate
+                                            delegate:self];
+  [_infobarView updateUIForPopUpMenuDisplayed:YES];
+}
+
+- (void)showLanguageSelector {
+  int originalLanguageIndex = -1;
+  int targetLanguageIndex = -1;
+  for (size_t i = 0; i < self.infoBarDelegate->num_languages(); ++i) {
+    if (self.infoBarDelegate->language_code_at(i) ==
+        self.infoBarDelegate->original_language_code()) {
+      originalLanguageIndex = i;
+    }
+    if (self.infoBarDelegate->language_code_at(i) ==
+        self.infoBarDelegate->target_language_code()) {
+      targetLanguageIndex = i;
+    }
+  }
+  DCHECK_GE(originalLanguageIndex, 0);
+  DCHECK_GE(targetLanguageIndex, 0);
+
+  size_t selectedIndex;
+  size_t disabledIndex;
+  if (self.languageSelectionState == LanguageSelectionStateSource) {
+    selectedIndex = originalLanguageIndex;
+    disabledIndex = targetLanguageIndex;
+  } else {
+    selectedIndex = targetLanguageIndex;
+    disabledIndex = originalLanguageIndex;
+  }
+  LanguageSelectionContext* context =
+      [LanguageSelectionContext contextWithLanguageData:self.infoBarDelegate
+                                           initialIndex:selectedIndex
+                                       unavailableIndex:disabledIndex];
+  [self.languageSelectionHandler showLanguageSelectorWithContext:context
+                                                        delegate:self];
+  [_infobarView updateUIForPopUpMenuDisplayed:YES];
+}
+
+@end
diff --git a/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.h b/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.h
index 87c1ffc..ca64b29 100644
--- a/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.h
+++ b/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.h
@@ -15,7 +15,7 @@
           didChangeTranslateStep:(translate::TranslateStep)step
                    withErrorType:(translate::TranslateErrors::Type)errorType;
 
-- (BOOL)translateInfoBarDelegateIsDeclinedByUser:
+- (BOOL)translateInfoBarDelegateDidDismissWithoutInteraction:
     (translate::TranslateInfoBarDelegate*)delegate;
 
 @end
diff --git a/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.mm b/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.mm
index 8d116e1..81535221 100644
--- a/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.mm
+++ b/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.mm
@@ -29,6 +29,6 @@
 }
 
 BOOL TranslateInfobarDelegateObserverBridge::IsDeclinedByUser() {
-  return [owner_
-      translateInfoBarDelegateIsDeclinedByUser:translate_infobar_delegate_];
+  return [owner_ translateInfoBarDelegateDidDismissWithoutInteraction:
+                     translate_infobar_delegate_];
 }
diff --git a/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge_unittest.mm b/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge_unittest.mm
index cb4440b..d6943d0 100644
--- a/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge_unittest.mm
+++ b/ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge_unittest.mm
@@ -102,7 +102,7 @@
 
 @property(nonatomic) translate::TranslateErrors::Type errorType;
 
-@property(nonatomic) BOOL onIsDeclinedByUserCalled;
+@property(nonatomic) BOOL onDidDismissWithoutInteractionCalled;
 
 @end
 
@@ -118,9 +118,9 @@
   self.errorType = errorType;
 }
 
-- (BOOL)translateInfoBarDelegateIsDeclinedByUser:
+- (BOOL)translateInfoBarDelegateDidDismissWithoutInteraction:
     (translate::TranslateInfoBarDelegate*)delegate {
-  self.onIsDeclinedByUserCalled = YES;
+  self.onDidDismissWithoutInteractionCalled = YES;
   return YES;
 }
 
@@ -176,8 +176,9 @@
 }
 
 // Tests that |IsDeclinedByUser| call is forwarded by the observer bridge.
-TEST_F(TranslateInfobarDelegateObserverBridgeTest, IsDeclinedByUser) {
-  ASSERT_FALSE(GetDelegateObserver().onIsDeclinedByUserCalled);
+TEST_F(TranslateInfobarDelegateObserverBridgeTest,
+       DidDismissWithoutInteraction) {
+  ASSERT_FALSE(GetDelegateObserver().onDidDismissWithoutInteractionCalled);
   GetObserverBridge()->IsDeclinedByUser();
-  EXPECT_TRUE(GetDelegateObserver().onIsDeclinedByUserCalled);
+  EXPECT_TRUE(GetDelegateObserver().onDidDismissWithoutInteractionCalled);
 }
diff --git a/ios/chrome/browser/ui/BUILD.gn b/ios/chrome/browser/ui/BUILD.gn
index 096f975..efe2005 100644
--- a/ios/chrome/browser/ui/BUILD.gn
+++ b/ios/chrome/browser/ui/BUILD.gn
@@ -345,7 +345,7 @@
     "//ios/chrome/browser/ui/reading_list",
     "//ios/chrome/browser/ui/sad_tab",
     "//ios/chrome/browser/ui/sad_tab:coordinator",
-    "//ios/chrome/browser/ui/settings/sync_utils",
+    "//ios/chrome/browser/ui/settings/sync/utils",
     "//ios/chrome/browser/ui/snackbar",
     "//ios/chrome/browser/ui/static_content",
     "//ios/chrome/browser/ui/tabs",
diff --git a/ios/chrome/browser/ui/browser_view_controller.h b/ios/chrome/browser/ui/browser_view_controller.h
index 1934a92..cabf42b 100644
--- a/ios/chrome/browser/ui/browser_view_controller.h
+++ b/ios/chrome/browser/ui/browser_view_controller.h
@@ -9,7 +9,7 @@
 
 #import "base/ios/block_types.h"
 #import "ios/chrome/browser/ui/page_info/requirements/page_info_presentation.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_presenter.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_presenter.h"
 #import "ios/chrome/browser/ui/toolbar/toolbar_coordinator_delegate.h"
 #import "ios/chrome/browser/ui/url_loader.h"
 #import "ios/public/provider/chrome/browser/voice/logo_animation_controller.h"
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
index 916fa71..2496c62 100644
--- a/ios/chrome/browser/ui/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -42,6 +42,7 @@
 #include "ios/chrome/browser/first_run/first_run.h"
 #import "ios/chrome/browser/geolocation/omnibox_geolocation_controller.h"
 #import "ios/chrome/browser/language/url_language_histogram_factory.h"
+#import "ios/chrome/browser/metrics/new_tab_page_uma.h"
 #import "ios/chrome/browser/metrics/size_class_recorder.h"
 #include "ios/chrome/browser/metrics/tab_usage_recorder.h"
 #import "ios/chrome/browser/ntp/new_tab_page_tab_helper.h"
@@ -156,7 +157,11 @@
 #import "ios/chrome/browser/ui/voice/text_to_speech_playback_controller.h"
 #import "ios/chrome/browser/ui/voice/text_to_speech_playback_controller_factory.h"
 #include "ios/chrome/browser/upgrade/upgrade_center.h"
+#import "ios/chrome/browser/url_loading/url_loading_notifier.h"
+#import "ios/chrome/browser/url_loading/url_loading_notifier_factory.h"
+#import "ios/chrome/browser/url_loading/url_loading_observer_bridge.h"
 #import "ios/chrome/browser/url_loading/url_loading_util.h"
+#import "ios/chrome/browser/voice/voice_search_navigations_tab_helper.h"
 #import "ios/chrome/browser/web/blocked_popup_tab_helper.h"
 #import "ios/chrome/browser/web/image_fetch_tab_helper.h"
 #import "ios/chrome/browser/web/load_timing_tab_helper.h"
@@ -369,7 +374,8 @@
                                      TabModelObserver,
                                      TabStripPresentation,
                                      ToolbarHeightProviderForFullscreen,
-                                     UIGestureRecognizerDelegate> {
+                                     UIGestureRecognizerDelegate,
+                                     URLLoadingObserver> {
   // The dependency factory passed on initialization.  Used to vend objects used
   // by the BVC.
   BrowserViewControllerDependencyFactory* _dependencyFactory;
@@ -486,6 +492,8 @@
 
   // Bridges C++ WebStateObserver methods to this BrowserViewController.
   std::unique_ptr<web::WebStateObserverBridge> _webStateObserverBridge;
+
+  std::unique_ptr<UrlLoadingObserverBridge> _URLLoadingObserverBridge;
 }
 
 // Activates/deactivates the object. This will enable/disable the ability for
@@ -1852,6 +1860,11 @@
       std::make_unique<AllWebStateObservationForwarder>(
           self.tabModel.webStateList, _webStateObserverBridge.get());
 
+  _URLLoadingObserverBridge = std::make_unique<UrlLoadingObserverBridge>(self);
+  UrlLoadingNotifier* urlLoadingNotifier =
+      ios::UrlLoadingNotifierFactory::GetForBrowserState(_browserState);
+  urlLoadingNotifier->AddObserver(_URLLoadingObserverBridge.get());
+
   NSUInteger count = self.tabModel.count;
   for (NSUInteger index = 0; index < count; ++index)
     [self installDelegatesForTab:[self.tabModel tabAtIndex:index]];
@@ -3391,13 +3404,47 @@
   }
 }
 
-#pragma mark - CRWWebStateObserver methods.
+#pragma mark - URLLoadingObserver
 
-- (void)webState:(web::WebState*)webState
-    didStartNavigation:(web::NavigationContext*)navigation {
+// TODO(crbug.com/907527): consider moving these separate functional blurbs
+// closer to their main component (using localized observers)
+
+- (void)tabWillOpenURL:(GURL)URL
+        transitionType:(ui::PageTransition)transitionType {
   [_bookmarkInteractionController dismissBookmarkModalControllerAnimated:YES];
+
+  WebStateList* webStateList = self.tabModel.webStateList;
+  web::WebState* current_web_state = webStateList->GetActiveWebState();
+  DCHECK(current_web_state);
+  if (transitionType & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) {
+    bool isExpectingVoiceSearch =
+        VoiceSearchNavigationTabHelper::FromWebState(current_web_state)
+            ->IsExpectingVoiceSearch();
+    new_tab_page_uma::RecordActionFromOmnibox(
+        self.browserState, URL, transitionType, isExpectingVoiceSearch);
+  }
 }
 
+- (void)tabDidOpenURL:(GURL)URL
+       transitionType:(ui::PageTransition)transitionType {
+  // Deactivate the NTP immediately on a load to hide the NTP quickly, but
+  // after calling -LoadURLWithParams.  Otherwise, if the webState has never
+  // been visible (such as during startup with an NTP), it's possible the
+  // webView can trigger a unnecessary load for chrome://newtab.
+  if (URL.GetOrigin() != kChromeUINewTabURL) {
+    WebStateList* webStateList = self.tabModel.webStateList;
+    web::WebState* current_web_state = webStateList->GetActiveWebState();
+
+    NewTabPageTabHelper* NTPHelper =
+        NewTabPageTabHelper::FromWebState(current_web_state);
+    if (NTPHelper && NTPHelper->IsActive()) {
+      NTPHelper->Deactivate();
+    }
+  }
+}
+
+#pragma mark - CRWWebStateObserver methods.
+
 // TODO(crbug.com/918934): This call to closeFindInPage incorrectly triggers for
 // all navigations, not just navigations in the active WebState.
 - (void)webState:(web::WebState*)webState
diff --git a/ios/chrome/browser/ui/first_run/BUILD.gn b/ios/chrome/browser/ui/first_run/BUILD.gn
index 3671ff1..4f7c023b 100644
--- a/ios/chrome/browser/ui/first_run/BUILD.gn
+++ b/ios/chrome/browser/ui/first_run/BUILD.gn
@@ -40,7 +40,7 @@
     "//ios/chrome/browser/ui/material_components",
     "//ios/chrome/browser/ui/promos",
     "//ios/chrome/browser/ui/settings",
-    "//ios/chrome/browser/ui/settings/sync_utils",
+    "//ios/chrome/browser/ui/settings/sync/utils",
     "//ios/chrome/browser/ui/settings/utils",
     "//ios/chrome/browser/ui/util",
     "//ios/chrome/common",
diff --git a/ios/chrome/browser/ui/first_run/first_run_util.mm b/ios/chrome/browser/ui/first_run/first_run_util.mm
index b35b5bca6..4043c6d5 100644
--- a/ios/chrome/browser/ui/first_run/first_run_util.mm
+++ b/ios/chrome/browser/ui/first_run/first_run_util.mm
@@ -19,7 +19,7 @@
 #include "ios/chrome/browser/signin/identity_manager_factory.h"
 #include "ios/chrome/browser/tabs/tab.h"
 #include "ios/chrome/browser/ui/first_run/first_run_histograms.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/settings/utils/settings_utils.h"
 #include "ios/chrome/browser/ui/util/ui_util.h"
 #include "ios/web/public/web_thread.h"
diff --git a/ios/chrome/browser/ui/infobars/BUILD.gn b/ios/chrome/browser/ui/infobars/BUILD.gn
index a157317..f9619dc 100644
--- a/ios/chrome/browser/ui/infobars/BUILD.gn
+++ b/ios/chrome/browser/ui/infobars/BUILD.gn
@@ -21,7 +21,7 @@
     "//ios/chrome/browser/ui/commands",
     "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
     "//ios/chrome/browser/ui/infobars/presentation",
-    "//ios/chrome/browser/ui/settings/sync_utils",
+    "//ios/chrome/browser/ui/settings/sync/utils",
     "//ios/chrome/browser/ui/signin_interaction/public",
     "//ios/chrome/browser/ui/translate",
     "//ios/chrome/browser/upgrade",
diff --git a/ios/chrome/browser/ui/infobars/infobar_container_mediator.mm b/ios/chrome/browser/ui/infobars/infobar_container_mediator.mm
index a884fa5..3c4ce9a 100644
--- a/ios/chrome/browser/ui/infobars/infobar_container_mediator.mm
+++ b/ios/chrome/browser/ui/infobars/infobar_container_mediator.mm
@@ -11,7 +11,7 @@
 #import "ios/chrome/browser/tabs/tab_model_observer.h"
 #import "ios/chrome/browser/ui/authentication/re_signin_infobar_delegate.h"
 #import "ios/chrome/browser/ui/infobars/infobar_container_consumer.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #include "ios/chrome/browser/upgrade/upgrade_center.h"
 #import "ios/chrome/browser/web/tab_id_tab_helper.h"
 #import "ios/chrome/browser/web_state_list/web_state_list.h"
diff --git a/ios/chrome/browser/ui/recent_tabs/BUILD.gn b/ios/chrome/browser/ui/recent_tabs/BUILD.gn
index d932eff..0a31daa9 100644
--- a/ios/chrome/browser/ui/recent_tabs/BUILD.gn
+++ b/ios/chrome/browser/ui/recent_tabs/BUILD.gn
@@ -72,7 +72,7 @@
     "//ios/chrome/browser/ui/authentication/cells",
     "//ios/chrome/browser/ui/commands",
     "//ios/chrome/browser/ui/context_menu",
-    "//ios/chrome/browser/ui/settings/sync_utils",
+    "//ios/chrome/browser/ui/settings/sync/utils",
     "//ios/chrome/browser/ui/signin_interaction/public",
     "//ios/chrome/browser/ui/table_view",
     "//ios/chrome/browser/ui/table_view:presentation",
diff --git a/ios/chrome/browser/ui/recent_tabs/recent_tabs_table_view_controller.mm b/ios/chrome/browser/ui/recent_tabs/recent_tabs_table_view_controller.mm
index a23ff88..fa951894 100644
--- a/ios/chrome/browser/ui/recent_tabs/recent_tabs_table_view_controller.mm
+++ b/ios/chrome/browser/ui/recent_tabs/recent_tabs_table_view_controller.mm
@@ -33,8 +33,8 @@
 #import "ios/chrome/browser/ui/recent_tabs/recent_tabs_presentation_delegate.h"
 #import "ios/chrome/browser/ui/recent_tabs/recent_tabs_table_view_controller_delegate.h"
 #include "ios/chrome/browser/ui/recent_tabs/synced_sessions.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_presenter.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_presenter.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/signin_interaction/public/signin_presenter.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_activity_indicator_header_footer_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_cells_constants.h"
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn
index 9df8e1c2..c86701a8 100644
--- a/ios/chrome/browser/ui/settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -41,8 +41,6 @@
   sources = [
     "about_chrome_table_view_controller.h",
     "about_chrome_table_view_controller.mm",
-    "accounts_table_view_controller.h",
-    "accounts_table_view_controller.mm",
     "bandwidth_management_table_view_controller.h",
     "bandwidth_management_table_view_controller.mm",
     "block_popups_table_view_controller.h",
@@ -51,30 +49,10 @@
     "content_settings_table_view_controller.mm",
     "dataplan_usage_table_view_controller.h",
     "dataplan_usage_table_view_controller.mm",
-    "google_services_navigation_coordinator.h",
-    "google_services_navigation_coordinator.mm",
-    "google_services_settings_command_handler.h",
-    "google_services_settings_consumer.h",
-    "google_services_settings_coordinator.h",
-    "google_services_settings_coordinator.mm",
-    "google_services_settings_mediator.h",
-    "google_services_settings_mediator.mm",
-    "google_services_settings_service_delegate.h",
-    "google_services_settings_view_controller.h",
-    "google_services_settings_view_controller.mm",
-    "google_services_settings_view_controller_model_delegate.h",
     "handoff_table_view_controller.h",
     "handoff_table_view_controller.mm",
     "import_data_table_view_controller.h",
     "import_data_table_view_controller.mm",
-    "manage_sync_settings_consumer.h",
-    "manage_sync_settings_coordinator.h",
-    "manage_sync_settings_coordinator.mm",
-    "manage_sync_settings_mediator.h",
-    "manage_sync_settings_mediator.mm",
-    "manage_sync_settings_table_view_controller.h",
-    "manage_sync_settings_table_view_controller.mm",
-    "manage_sync_settings_view_controller_model_delegate.h",
     "material_cell_catalog_view_controller.h",
     "material_cell_catalog_view_controller.mm",
     "privacy_table_view_controller.h",
@@ -84,14 +62,6 @@
     "settings_navigation_controller.mm",
     "settings_table_view_controller.h",
     "settings_table_view_controller.mm",
-    "sync_create_passphrase_table_view_controller.h",
-    "sync_create_passphrase_table_view_controller.mm",
-    "sync_encryption_passphrase_table_view_controller.h",
-    "sync_encryption_passphrase_table_view_controller.mm",
-    "sync_encryption_table_view_controller.h",
-    "sync_encryption_table_view_controller.mm",
-    "sync_settings_collection_view_controller.h",
-    "sync_settings_collection_view_controller.mm",
     "table_cell_catalog_view_controller.h",
     "table_cell_catalog_view_controller.mm",
     "translate_table_view_controller.h",
@@ -122,7 +92,6 @@
     "//base:i18n",
     "//components/autofill/core/browser",
     "//components/autofill/core/common",
-    "//components/browser_sync",
     "//components/browsing_data/core",
     "//components/content_settings/core/browser",
     "//components/content_settings/core/common",
@@ -141,7 +110,6 @@
     "//components/search_engines",
     "//components/signin/core/browser",
     "//components/strings",
-    "//components/sync",
     "//components/translate/core/browser",
     "//components/translate/core/common",
     "//components/unified_consent",
@@ -182,8 +150,10 @@
     "//ios/chrome/browser/ui/settings/autofill",
     "//ios/chrome/browser/ui/settings/cells",
     "//ios/chrome/browser/ui/settings/clear_browsing_data",
+    "//ios/chrome/browser/ui/settings/google_services",
     "//ios/chrome/browser/ui/settings/password",
-    "//ios/chrome/browser/ui/settings/sync_utils",
+    "//ios/chrome/browser/ui/settings/sync",
+    "//ios/chrome/browser/ui/settings/sync/utils",
     "//ios/chrome/browser/ui/settings/utils",
     "//ios/chrome/browser/ui/signin_interaction",
     "//ios/chrome/browser/ui/signin_interaction/public",
@@ -209,7 +179,6 @@
     "//url",
   ]
   public_deps = [
-    ":settings_root",
     "//ios/chrome/browser/ui/collection_view/cells",
   ]
   allow_circular_includes_from = [ "//ios/chrome/browser/ui/authentication" ]
@@ -234,7 +203,6 @@
     ":settings_root",
     "//base",
     "//components/autofill/core/browser",
-    "//components/browser_sync",
     "//components/browser_sync:test_support",
     "//components/keyed_service/core",
     "//components/pref_registry",
@@ -248,6 +216,7 @@
     "//ios/chrome/browser/signin",
     "//ios/chrome/browser/signin:test_support",
     "//ios/chrome/browser/sync",
+    "//ios/chrome/browser/sync",
     "//ios/chrome/browser/sync:test_support",
     "//ios/chrome/browser/ui/settings/password",
     "//ios/chrome/browser/ui/table_view:test_support",
@@ -272,10 +241,6 @@
     "settings_navigation_controller_unittest.mm",
     "settings_root_collection_view_controller_unittest.mm",
     "settings_root_table_view_controller_unittest.mm",
-    "sync_create_passphrase_table_view_controller_unittest.mm",
-    "sync_encryption_passphrase_table_view_controller_unittest.mm",
-    "sync_encryption_table_view_controller_unittest.mm",
-    "sync_settings_collection_view_controller_unittest.mm",
     "translate_table_view_controller_unittest.mm",
     "voice_search_table_view_controller_unittest.mm",
   ]
@@ -286,7 +251,6 @@
     "//base",
     "//base/test:test_support",
     "//components/autofill/core/common",
-    "//components/browser_sync:test_support",
     "//components/content_settings/core/browser",
     "//components/google/core/browser",
     "//components/handoff",
@@ -316,14 +280,12 @@
     "//ios/chrome/browser/signin",
     "//ios/chrome/browser/signin:test_support",
     "//ios/chrome/browser/sync",
-    "//ios/chrome/browser/sync:test_support",
     "//ios/chrome/browser/translate",
     "//ios/chrome/browser/ui/collection_view",
     "//ios/chrome/browser/ui/collection_view:test_support",
     "//ios/chrome/browser/ui/collection_view/cells",
     "//ios/chrome/browser/ui/icons",
     "//ios/chrome/browser/ui/settings/cells",
-    "//ios/chrome/browser/ui/settings/sync_utils",
     "//ios/chrome/browser/ui/table_view",
     "//ios/chrome/browser/ui/table_view:test_support",
     "//ios/chrome/browser/ui/util",
@@ -352,7 +314,6 @@
   configs += [ "//build/config/compiler:enable_arc" ]
   testonly = true
   sources = [
-    "accounts_table_egtest.mm",
     "block_popups_egtest.mm",
     "settings_egtest.mm",
     "signin_settings_egtest.mm",
@@ -410,29 +371,3 @@
     "XCTest.framework",
   ]
 }
-
-source_set("unified_consent_eg_tests") {
-  configs += [ "//build/config/compiler:enable_arc" ]
-  testonly = true
-  sources = [
-    "google_services_settings_egtest.mm",
-  ]
-
-  deps = [
-    ":settings",
-    "//base",
-    "//base/test:test_support",
-    "//components/prefs",
-    "//ios/chrome/app/strings:ios_chromium_strings_grit",
-    "//ios/chrome/app/strings:ios_strings_grit",
-    "//ios/chrome/browser/browser_state",
-    "//ios/chrome/browser/ui/authentication:eg_test_support",
-    "//ios/chrome/test/app:test_support",
-    "//ios/chrome/test/earl_grey:test_support",
-    "//ui/base",
-  ]
-  libs = [
-    "UIKit.framework",
-    "XCTest.framework",
-  ]
-}
diff --git a/ios/chrome/browser/ui/settings/google_services/BUILD.gn b/ios/chrome/browser/ui/settings/google_services/BUILD.gn
new file mode 100644
index 0000000..cebd0dc
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/google_services/BUILD.gn
@@ -0,0 +1,116 @@
+# Copyright 2019 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("google_services") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  sources = [
+    "accounts_table_view_controller.h",
+    "accounts_table_view_controller.mm",
+    "google_services_navigation_coordinator.h",
+    "google_services_navigation_coordinator.mm",
+    "google_services_settings_command_handler.h",
+    "google_services_settings_consumer.h",
+    "google_services_settings_coordinator.h",
+    "google_services_settings_coordinator.mm",
+    "google_services_settings_mediator.h",
+    "google_services_settings_mediator.mm",
+    "google_services_settings_service_delegate.h",
+    "google_services_settings_view_controller.h",
+    "google_services_settings_view_controller.mm",
+    "google_services_settings_view_controller_model_delegate.h",
+    "manage_sync_settings_consumer.h",
+    "manage_sync_settings_coordinator.h",
+    "manage_sync_settings_coordinator.mm",
+    "manage_sync_settings_mediator.h",
+    "manage_sync_settings_mediator.mm",
+    "manage_sync_settings_table_view_controller.h",
+    "manage_sync_settings_table_view_controller.mm",
+    "manage_sync_settings_view_controller_model_delegate.h",
+  ]
+  deps = [
+    "//base",
+    "//components/metrics",
+    "//components/prefs",
+    "//components/strings",
+    "//components/sync",
+    "//components/unified_consent",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser/browser_state",
+    "//ios/chrome/browser/signin",
+    "//ios/chrome/browser/sync",
+    "//ios/chrome/browser/ui:feature_flags",
+    "//ios/chrome/browser/ui/alert_coordinator",
+    "//ios/chrome/browser/ui/authentication",
+    "//ios/chrome/browser/ui/authentication/cells",
+    "//ios/chrome/browser/ui/commands",
+    "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
+    "//ios/chrome/browser/ui/icons",
+    "//ios/chrome/browser/ui/list_model",
+    "//ios/chrome/browser/ui/settings:settings_root",
+    "//ios/chrome/browser/ui/settings/cells",
+    "//ios/chrome/browser/ui/settings/sync",
+    "//ios/chrome/browser/ui/settings/sync/utils",
+    "//ios/chrome/browser/ui/settings/utils",
+    "//ios/chrome/browser/ui/signin_interaction",
+    "//ios/chrome/browser/ui/table_view",
+    "//ios/public/provider/chrome/browser",
+    "//ios/public/provider/chrome/browser/images",
+    "//ios/public/provider/chrome/browser/signin",
+    "//services/identity/public/objc",
+    "//ui/base",
+  ]
+}
+
+source_set("eg_tests") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  testonly = true
+  sources = [
+    "accounts_table_egtest.mm",
+  ]
+  deps = [
+    ":google_services",
+    "//components/browser_sync",
+    "//components/strings",
+    "//components/sync",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser/browser_state",
+    "//ios/chrome/browser/ntp_snippets",
+    "//ios/chrome/browser/signin",
+    "//ios/chrome/browser/sync",
+    "//ios/chrome/browser/ui/authentication:eg_test_support",
+    "//ios/chrome/browser/ui/authentication/cells",
+    "//ios/chrome/test/app:test_support",
+    "//ios/chrome/test/earl_grey:test_support",
+    "//ios/public/provider/chrome/browser/signin:test_support",
+    "//ui/base",
+  ]
+}
+
+source_set("unified_consent_eg_tests") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  testonly = true
+  sources = [
+    "google_services_settings_egtest.mm",
+  ]
+
+  deps = [
+    ":google_services",
+    "//base",
+    "//base/test:test_support",
+    "//components/prefs",
+    "//ios/chrome/app/strings:ios_chromium_strings_grit",
+    "//ios/chrome/app/strings:ios_strings_grit",
+    "//ios/chrome/browser/browser_state",
+    "//ios/chrome/browser/ui/authentication:eg_test_support",
+    "//ios/chrome/test/app:test_support",
+    "//ios/chrome/test/earl_grey:test_support",
+    "//ui/base",
+  ]
+  libs = [
+    "UIKit.framework",
+    "XCTest.framework",
+  ]
+}
diff --git a/ios/chrome/browser/ui/settings/accounts_table_egtest.mm b/ios/chrome/browser/ui/settings/google_services/accounts_table_egtest.mm
similarity index 100%
rename from ios/chrome/browser/ui/settings/accounts_table_egtest.mm
rename to ios/chrome/browser/ui/settings/google_services/accounts_table_egtest.mm
diff --git a/ios/chrome/browser/ui/settings/accounts_table_view_controller.h b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h
similarity index 86%
rename from ios/chrome/browser/ui/settings/accounts_table_view_controller.h
rename to ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h
index 04f429c..3ec038d 100644
--- a/ios/chrome/browser/ui/settings/accounts_table_view_controller.h
+++ b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.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 IOS_CHROME_BROWSER_UI_SETTINGS_ACCOUNTS_TABLE_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_ACCOUNTS_TABLE_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_ACCOUNTS_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_ACCOUNTS_TABLE_VIEW_CONTROLLER_H_
 
 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_root_table_view_controller.h"
@@ -42,4 +42,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_ACCOUNTS_TABLE_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_ACCOUNTS_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/accounts_table_view_controller.mm b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/accounts_table_view_controller.mm
rename to ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm
index c3d845c9..8500a42 100644
--- a/ios/chrome/browser/ui/settings/accounts_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
 
 #import "base/mac/foundation_util.h"
 #include "base/metrics/user_metrics.h"
@@ -28,8 +28,8 @@
 #import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
 #import "ios/chrome/browser/ui/icons/chrome_icon.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_text_item.h"
-#import "ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/signin_interaction/signin_interaction_coordinator.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_detail_text_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_text_header_footer_item.h"
diff --git a/ios/chrome/browser/ui/settings/google_services_navigation_coordinator.h b/ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.h
similarity index 67%
rename from ios/chrome/browser/ui/settings/google_services_navigation_coordinator.h
rename to ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.h
index 3208f72..d532f86 100644
--- a/ios/chrome/browser/ui/settings/google_services_navigation_coordinator.h
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.h
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_NAVIGATION_COORDINATOR_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_NAVIGATION_COORDINATOR_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_NAVIGATION_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_NAVIGATION_COORDINATOR_H_
 
 #import "ios/chrome/browser/ui/coordinators/chrome_coordinator.h"
 
 @class GoogleServicesNavigationCoordinator;
 
 // GoogleServicesNavigationCoordinator delegate.
-@protocol GoogleServicesNavigationCoordinatorDelegate<NSObject>
+@protocol GoogleServicesNavigationCoordinatorDelegate <NSObject>
 
 // Called when the user closed GoogleServicesNavigationCoordinator.
 - (void)googleServicesNavigationCoordinatorDidClose:
@@ -27,4 +27,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_NAVIGATION_COORDINATOR_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_NAVIGATION_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_navigation_coordinator.mm b/ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.mm
similarity index 92%
rename from ios/chrome/browser/ui/settings/google_services_navigation_coordinator.mm
rename to ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.mm
index d3c4265..7ac6853 100644
--- a/ios/chrome/browser/ui/settings/google_services_navigation_coordinator.mm
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.mm
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/google_services_navigation_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_navigation_coordinator.h"
 
 #include "base/logging.h"
 #include "components/strings/grit/components_strings.h"
 #import "ios/chrome/browser/ui/icons/chrome_icon.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.h"
 #include "ui/base/l10n/l10n_util_mac.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_command_handler.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_command_handler.h
similarity index 70%
rename from ios/chrome/browser/ui/settings/google_services_settings_command_handler.h
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_command_handler.h
index 38bce9c..c5bba14c 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_command_handler.h
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_command_handler.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 IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_COMMAND_HANDLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_COMMAND_HANDLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_COMMAND_HANDLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_COMMAND_HANDLER_H_
 
 // Protocol to communicate user actions from the mediator to its coordinator.
 @protocol GoogleServicesSettingsCommandHandler <NSObject>
@@ -28,4 +28,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_COMMAND_HANDLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_COMMAND_HANDLER_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_consumer.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_consumer.h
similarity index 74%
rename from ios/chrome/browser/ui/settings/google_services_settings_consumer.h
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_consumer.h
index 6793577..3e613f2 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_consumer.h
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_consumer.h
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_CONSUMER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_CONSUMER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_CONSUMER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_CONSUMER_H_
 
 #import <UIKit/UIKit.h>
 
 #import "ios/chrome/browser/ui/table_view/table_view_model.h"
 
 // Consumer protocol for Google services settings.
-@protocol GoogleServicesSettingsConsumer<NSObject>
+@protocol GoogleServicesSettingsConsumer <NSObject>
 
 // Returns the table view model.
 @property(nonatomic, strong, readonly)
@@ -33,4 +33,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_CONSUMER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_CONSUMER_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_coordinator.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.h
similarity index 77%
rename from ios/chrome/browser/ui/settings/google_services_settings_coordinator.h
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.h
index 0eed524..64733f1 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_coordinator.h
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.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 IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_COORDINATOR_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_COORDINATOR_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_COORDINATOR_H_
 
 #import "ios/chrome/browser/ui/coordinators/chrome_coordinator.h"
 
@@ -32,4 +32,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_COORDINATOR_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_coordinator.mm b/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm
similarity index 93%
rename from ios/chrome/browser/ui/settings/google_services_settings_coordinator.mm
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm
index 3a9997e..118400c 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_coordinator.mm
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/google_services_settings_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.h"
 
 #include "base/mac/foundation_util.h"
 #include "ios/chrome/browser/application_context.h"
@@ -14,11 +14,11 @@
 #include "ios/chrome/browser/sync/sync_setup_service_factory.h"
 #import "ios/chrome/browser/ui/authentication/authentication_flow.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_command_handler.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_mediator.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_view_controller.h"
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_command_handler.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.h"
 #import "ios/chrome/browser/ui/signin_interaction/signin_interaction_coordinator.h"
 #include "ios/chrome/browser/ui/ui_feature_flags.h"
 
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_egtest.mm b/ios/chrome/browser/ui/settings/google_services/google_services_settings_egtest.mm
similarity index 97%
rename from ios/chrome/browser/ui/settings/google_services_settings_egtest.mm
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_egtest.mm
index 3956ef6..b6868bb4 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_egtest.mm
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_egtest.mm
@@ -111,8 +111,8 @@
 // exist in the cell.
 - (GREYElementInteraction*)cellElementInteractionWithTitleID:(int)titleID
                                                 detailTextID:(int)detailTextID {
-  id<GREYMatcher> cellMatcher =
-      [self cellMatcherWithTitleID:titleID detailTextID:detailTextID];
+  id<GREYMatcher> cellMatcher = [self cellMatcherWithTitleID:titleID
+                                                detailTextID:detailTextID];
   return [self elementInteractionWithGreyMatcher:cellMatcher];
 }
 
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_mediator.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.h
similarity index 71%
rename from ios/chrome/browser/ui/settings/google_services_settings_mediator.h
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.h
index 052495e1..ba35981 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_mediator.h
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.h
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_MEDIATOR_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_MEDIATOR_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_MEDIATOR_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_MEDIATOR_H_
 
 #import <UIKit/UIKit.h>
 
-#import "ios/chrome/browser/ui/settings/google_services_settings_consumer.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_service_delegate.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_view_controller.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_view_controller_model_delegate.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_consumer.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_service_delegate.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller_model_delegate.h"
 
 class AuthenticationService;
 @protocol GoogleServicesSettingsCommandHandler;
@@ -56,4 +56,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_MEDIATOR_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_mediator.mm b/ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/google_services_settings_mediator.mm
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.mm
index 3af00e9..671d156 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_mediator.mm
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/google_services_settings_mediator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_mediator.h"
 
 #include "base/auto_reset.h"
 #include "base/mac/foundation_util.h"
@@ -21,8 +21,8 @@
 #import "ios/chrome/browser/ui/settings/cells/settings_image_detail_text_item.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_multiline_detail_item.h"
 #import "ios/chrome/browser/ui/settings/cells/sync_switch_item.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_command_handler.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_command_handler.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/settings/utils/observable_boolean.h"
 #import "ios/chrome/browser/ui/settings/utils/pref_backed_boolean.h"
 #include "ios/chrome/grit/ios_chromium_strings.h"
diff --git a/ios/chrome/browser/ui/settings/google_services/google_services_settings_service_delegate.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_service_delegate.h
new file mode 100644
index 0000000..1717d67
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_service_delegate.h
@@ -0,0 +1,22 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_SERVICE_DELEGATE_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_SERVICE_DELEGATE_H_
+
+@class SyncSwitchItem;
+@class TableViewItem;
+
+// Protocol to handle user actions from the Google services settings view.
+@protocol GoogleServicesSettingsServiceDelegate <NSObject>
+
+// Called when the UISwitch from the SyncSwitchItem is toggled.
+- (void)toggleSwitchItem:(SyncSwitchItem*)switchItem withValue:(BOOL)value;
+
+// Called when cell is tapped.
+- (void)didSelectItem:(TableViewItem*)item;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_SERVICE_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_view_controller.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h
similarity index 76%
rename from ios/chrome/browser/ui/settings/google_services_settings_view_controller.h
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h
index 5a537de..95cb9d6 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_view_controller.h
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_H_
 
 #import "ios/chrome/browser/ui/settings/settings_root_table_view_controller.h"
 
-#import "ios/chrome/browser/ui/settings/google_services_settings_consumer.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_consumer.h"
 
 @class GoogleServicesSettingsViewController;
 @protocol GoogleServicesSettingsServiceDelegate;
@@ -15,7 +15,7 @@
 
 // Delegate for presentation events related to
 // GoogleServicesSettingsViewController.
-@protocol GoogleServicesSettingsViewControllerPresentationDelegate<NSObject>
+@protocol GoogleServicesSettingsViewControllerPresentationDelegate <NSObject>
 
 // Called when the view controller is removed from its parent.
 - (void)googleServicesSettingsViewControllerDidRemove:
@@ -40,4 +40,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_view_controller.mm b/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.mm
similarity index 92%
rename from ios/chrome/browser/ui/settings/google_services_settings_view_controller.mm
rename to ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.mm
index 9a6c298a..5b6dd94 100644
--- a/ios/chrome/browser/ui/settings/google_services_settings_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.mm
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/google_services_settings_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h"
 
 #include "base/mac/foundation_util.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_cell.h"
 #import "ios/chrome/browser/ui/settings/cells/sync_switch_item.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_service_delegate.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_view_controller_model_delegate.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_service_delegate.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller_model_delegate.h"
 #include "ios/chrome/grit/ios_strings.h"
 #include "ui/base/l10n/l10n_util_mac.h"
 
diff --git a/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller_model_delegate.h b/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller_model_delegate.h
new file mode 100644
index 0000000..9eea87f
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller_model_delegate.h
@@ -0,0 +1,20 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
+
+@class GoogleServicesSettingsViewController;
+
+// Delegate for GoogleServicesSettingsViewController instance, to manage the
+// model.
+@protocol GoogleServicesSettingsViewControllerModelDelegate <NSObject>
+
+// Called when the model should be loaded.
+- (void)googleServicesSettingsViewControllerLoadModel:
+    (GoogleServicesSettingsViewController*)controller;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_consumer.h b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_consumer.h
similarity index 64%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_consumer.h
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_consumer.h
index b5c7de99..dd967731 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_consumer.h
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_consumer.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 IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_CONSUMER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_CONSUMER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_CONSUMER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_CONSUMER_H_
 
 #import <UIKit/UIKit.h>
 
@@ -18,4 +18,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_CONSUMER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_CONSUMER_H_
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.h b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.h
similarity index 73%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.h
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.h
index 3eba09a3..c62d3a8 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.h
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.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 IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_COORDINATOR_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_COORDINATOR_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_COORDINATOR_H_
 
 #import "ios/chrome/browser/ui/coordinators/chrome_coordinator.h"
 
@@ -25,4 +25,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_COORDINATOR_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.mm b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.mm
similarity index 84%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.mm
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.mm
index 73662393..558573fa 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.mm
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.mm
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_coordinator.h"
 
 #include "base/logging.h"
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_mediator.h"
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
diff --git a/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.h b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.h
new file mode 100644
index 0000000..3dfd53e
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.h
@@ -0,0 +1,22 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_MEDIATOR_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_MEDIATOR_H_
+
+#import <UIKit/UIKit.h>
+
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_consumer.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_view_controller_model_delegate.h"
+
+// Mediator for the manager sync settings.
+@interface ManageSyncSettingsMediator
+    : NSObject <ManageSyncSettingsTableViewControllerModelDelegate>
+
+// Consumer.
+@property(nonatomic, weak) id<ManageSyncSettingsConsumer> consumer;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_mediator.mm b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm
similarity index 89%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_mediator.mm
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm
index 98f2411..50fb37f 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_mediator.mm
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm
@@ -2,13 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_mediator.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.h"
 
 #include "base/logging.h"
 #include "ios/chrome/browser/sync/sync_setup_service.h"
 #import "ios/chrome/browser/ui/list_model/list_model.h"
 #import "ios/chrome/browser/ui/settings/cells/sync_switch_item.h"
-#import "ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.h"
 #include "ios/chrome/grit/ios_chromium_strings.h"
 #include "ios/chrome/grit/ios_strings.h"
 #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.h b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.h
similarity index 74%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.h
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.h
index 8b46d2a..c57361f 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.h
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_TABLE_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_TABLE_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_TABLE_VIEW_CONTROLLER_H_
 
 #import "ios/chrome/browser/ui/settings/settings_root_table_view_controller.h"
 
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_consumer.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_consumer.h"
 
 @class ManageSyncSettingsTableViewController;
 @protocol ManageSyncSettingsTableViewControllerModelDelegate;
@@ -36,4 +36,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_TABLE_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.mm b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.mm
similarity index 83%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.mm
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.mm
index 1ad84ac..a779e548 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.mm
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.h"
 
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_view_controller_model_delegate.h"
+#import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_view_controller_model_delegate.h"
 #include "ios/chrome/grit/ios_strings.h"
 #include "ui/base/l10n/l10n_util_mac.h"
 
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_view_controller_model_delegate.h b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_view_controller_model_delegate.h
similarity index 61%
rename from ios/chrome/browser/ui/settings/manage_sync_settings_view_controller_model_delegate.h
rename to ios/chrome/browser/ui/settings/google_services/manage_sync_settings_view_controller_model_delegate.h
index ec40581f..f62b9bc 100644
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_view_controller_model_delegate.h
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_view_controller_model_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 IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
 
 @protocol ManageSyncSettingsConsumer;
 
@@ -17,4 +17,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_MANAGE_SYNC_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_service_delegate.h b/ios/chrome/browser/ui/settings/google_services_settings_service_delegate.h
deleted file mode 100644
index 9597534..0000000
--- a/ios/chrome/browser/ui/settings/google_services_settings_service_delegate.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_SERVICE_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_SERVICE_DELEGATE_H_
-
-@class SyncSwitchItem;
-@class TableViewItem;
-
-// Protocol to handle user actions from the Google services settings view.
-@protocol GoogleServicesSettingsServiceDelegate<NSObject>
-
-// Called when the UISwitch from the SyncSwitchItem is toggled.
-- (void)toggleSwitchItem:(SyncSwitchItem*)switchItem withValue:(BOOL)value;
-
-// Called when cell is tapped.
-- (void)didSelectItem:(TableViewItem*)item;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_SERVICE_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/settings/google_services_settings_view_controller_model_delegate.h b/ios/chrome/browser/ui/settings/google_services_settings_view_controller_model_delegate.h
deleted file mode 100644
index c6ed617..0000000
--- a/ios/chrome/browser/ui/settings/google_services_settings_view_controller_model_delegate.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
-
-@class GoogleServicesSettingsViewController;
-
-// Delegate for GoogleServicesSettingsViewController instance, to manage the
-// model.
-@protocol GoogleServicesSettingsViewControllerModelDelegate<NSObject>
-
-// Called when the model should be loaded.
-- (void)googleServicesSettingsViewControllerLoadModel:
-    (GoogleServicesSettingsViewController*)controller;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_GOOGLE_SERVICES_SETTINGS_VIEW_CONTROLLER_MODEL_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/settings/manage_sync_settings_mediator.h b/ios/chrome/browser/ui/settings/manage_sync_settings_mediator.h
deleted file mode 100644
index 6103c24..0000000
--- a/ios/chrome/browser/ui/settings/manage_sync_settings_mediator.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_MEDIATOR_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_MEDIATOR_H_
-
-#import <UIKit/UIKit.h>
-
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_consumer.h"
-#import "ios/chrome/browser/ui/settings/manage_sync_settings_view_controller_model_delegate.h"
-
-// Mediator for the manager sync settings.
-@interface ManageSyncSettingsMediator
-    : NSObject <ManageSyncSettingsTableViewControllerModelDelegate>
-
-// Consumer.
-@property(nonatomic, weak) id<ManageSyncSettingsConsumer> consumer;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_MANAGE_SYNC_SETTINGS_MEDIATOR_H_
diff --git a/ios/chrome/browser/ui/settings/privacy_table_view_controller.mm b/ios/chrome/browser/ui/settings/privacy_table_view_controller.mm
index 80a6e14c..4aaa800 100644
--- a/ios/chrome/browser/ui/settings/privacy_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/privacy_table_view_controller.mm
@@ -22,13 +22,13 @@
 #include "ios/chrome/browser/chrome_url_constants.h"
 #include "ios/chrome/browser/experimental_flags.h"
 #include "ios/chrome/browser/pref_names.h"
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_cells_constants.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_detail_item.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_cell.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_item.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_collection_view_controller.h"
 #import "ios/chrome/browser/ui/settings/dataplan_usage_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/handoff_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
 #import "ios/chrome/browser/ui/settings/utils/pref_backed_boolean.h"
diff --git a/ios/chrome/browser/ui/settings/settings_navigation_controller.mm b/ios/chrome/browser/ui/settings/settings_navigation_controller.mm
index b0c8ab7..14cf9d4a0 100644
--- a/ios/chrome/browser/ui/settings/settings_navigation_controller.mm
+++ b/ios/chrome/browser/ui/settings/settings_navigation_controller.mm
@@ -12,17 +12,17 @@
 #import "ios/chrome/browser/ui/icons/chrome_icon.h"
 #import "ios/chrome/browser/ui/keyboard/UIKeyCommand+Chrome.h"
 #import "ios/chrome/browser/ui/material_components/utils.h"
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/autofill/autofill_credit_card_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/autofill/autofill_profile_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_coordinator.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_view_controller.h"
 #import "ios/chrome/browser/ui/settings/import_data_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/password/passwords_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_root_collection_view_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h"
 #import "ios/chrome/browser/ui/settings/utils/settings_utils.h"
 #include "ios/chrome/browser/ui/ui_feature_flags.h"
 #include "ios/chrome/browser/ui/util/ui_util.h"
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 c1be3b0..be34aff4 100644
--- a/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
@@ -40,7 +40,6 @@
 #import "ios/chrome/browser/ui/authentication/signin_promo_view_mediator.h"
 #import "ios/chrome/browser/ui/commands/settings_main_page_commands.h"
 #import "ios/chrome/browser/ui/settings/about_chrome_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/autofill/autofill_credit_card_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/autofill/autofill_profile_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/bandwidth_management_table_view_controller.h"
@@ -50,12 +49,13 @@
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_item.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_text_item.h"
 #import "ios/chrome/browser/ui/settings/content_settings_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/google_services_settings_coordinator.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/google_services/google_services_settings_coordinator.h"
 #import "ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.h"
 #import "ios/chrome/browser/ui/settings/password/passwords_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/privacy_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/search_engine_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/settings/table_cell_catalog_view_controller.h"
 #import "ios/chrome/browser/ui/settings/utils/pref_backed_boolean.h"
 #import "ios/chrome/browser/ui/settings/voice_search_table_view_controller.h"
diff --git a/ios/chrome/browser/ui/settings/sync/BUILD.gn b/ios/chrome/browser/ui/settings/sync/BUILD.gn
new file mode 100644
index 0000000..7400f1d
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/sync/BUILD.gn
@@ -0,0 +1,93 @@
+# Copyright 2019 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("sync") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  sources = [
+    "sync_create_passphrase_table_view_controller.h",
+    "sync_create_passphrase_table_view_controller.mm",
+    "sync_encryption_passphrase_table_view_controller.h",
+    "sync_encryption_passphrase_table_view_controller.mm",
+    "sync_encryption_table_view_controller.h",
+    "sync_encryption_table_view_controller.mm",
+    "sync_settings_collection_view_controller.h",
+    "sync_settings_collection_view_controller.mm",
+  ]
+  deps = [
+    "//base",
+    "//components/autofill/core/common",
+    "//components/browser_sync",
+    "//components/google/core/common",
+    "//components/prefs",
+    "//components/strings",
+    "//components/sync",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser/browser_state",
+    "//ios/chrome/browser/signin",
+    "//ios/chrome/browser/sync",
+    "//ios/chrome/browser/ui:feature_flags",
+    "//ios/chrome/browser/ui:feature_flags",
+    "//ios/chrome/browser/ui/authentication",
+    "//ios/chrome/browser/ui/collection_view",
+    "//ios/chrome/browser/ui/collection_view/cells",
+    "//ios/chrome/browser/ui/colors",
+    "//ios/chrome/browser/ui/commands",
+    "//ios/chrome/browser/ui/settings:settings_root",
+    "//ios/chrome/browser/ui/settings/cells",
+    "//ios/chrome/browser/ui/settings/cells/legacy",
+    "//ios/chrome/browser/ui/settings/sync/utils",
+    "//ios/chrome/browser/ui/settings/utils",
+    "//ios/chrome/browser/ui/table_view",
+    "//ios/chrome/browser/ui/table_view/cells",
+    "//ios/chrome/browser/ui/util",
+    "//ios/public/provider/chrome/browser",
+    "//ios/public/provider/chrome/browser/signin",
+    "//services/identity/public/objc",
+    "//ui/base",
+    "//url",
+  ]
+}
+
+source_set("unit_tests") {
+  configs += [ "//build/config/compiler:enable_arc" ]
+  testonly = true
+  sources = [
+    "sync_create_passphrase_table_view_controller_unittest.mm",
+    "sync_encryption_passphrase_table_view_controller_unittest.mm",
+    "sync_encryption_table_view_controller_unittest.mm",
+    "sync_settings_collection_view_controller_unittest.mm",
+  ]
+  deps = [
+    ":sync",
+    "//base/test:test_support",
+    "//base/test:test_support",
+    "//components/autofill/core/common",
+    "//components/browser_sync:test_support",
+    "//components/google/core/common",
+    "//components/strings",
+    "//components/sync_preferences",
+    "//components/sync_preferences:test_support",
+    "//components/unified_consent",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser/browser_state:test_support",
+    "//ios/chrome/browser/prefs",
+    "//ios/chrome/browser/prefs:browser_prefs",
+    "//ios/chrome/browser/sync",
+    "//ios/chrome/browser/sync:test_support",
+    "//ios/chrome/browser/ui/collection_view",
+    "//ios/chrome/browser/ui/collection_view:test_support",
+    "//ios/chrome/browser/ui/settings:test_support",
+    "//ios/chrome/browser/ui/settings/cells",
+    "//ios/chrome/browser/ui/settings/cells/legacy",
+    "//ios/chrome/browser/ui/settings/sync/utils",
+    "//ios/chrome/browser/ui/table_view:test_support",
+    "//ios/web/public/test",
+    "//testing/gtest",
+    "//ui/base",
+  ]
+}
diff --git a/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.h b/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.h
new file mode 100644
index 0000000..96d04e6
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.h
@@ -0,0 +1,19 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_CREATE_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_CREATE_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
+
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
+
+// Controller to allow user to specify encryption passphrase for Sync.
+@interface SyncCreatePassphraseTableViewController
+    : SyncEncryptionPassphraseTableViewController
+@end
+
+@interface SyncCreatePassphraseTableViewController (UsedForTesting)
+@property(nonatomic, readonly) UITextField* confirmPassphrase;
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_CREATE_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.mm b/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.mm
rename to ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.mm
index 2e76c426..55362f9 100644
--- a/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.h"
 
 #import <UIKit/UIKit.h>
 
diff --git a/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller_unittest.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller_unittest.mm
rename to ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller_unittest.mm
index ce38029..42ff795 100644
--- a/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.h"
 
 #import <UIKit/UIKit.h>
 
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h b/ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h
similarity index 90%
rename from ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h
rename to ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h
index fc5e13b..db8c20f 100644
--- a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h
+++ b/ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.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 IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_ENCRYPTION_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_ENCRYPTION_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_ENCRYPTION_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_ENCRYPTION_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
 
 #import <UIKit/UIKit.h>
 
@@ -86,4 +86,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_ENCRYPTION_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_ENCRYPTION_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.mm b/ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.mm
rename to ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.mm
index 2e2c3ce3..040d501 100644
--- a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
 
 #include <memory>
 
@@ -26,7 +26,7 @@
 #import "ios/chrome/browser/ui/settings/cells/card_multiline_item.h"
 #import "ios/chrome/browser/ui/settings/cells/passphrase_error_item.h"
 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/settings/utils/settings_utils.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_link_header_footer_item.h"
 #include "ios/chrome/browser/ui/ui_feature_flags.h"
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller_unittest.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller_unittest.mm
rename to ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller_unittest.mm
index 3da6f0bd..9f8e3bf 100644
--- a/ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
 
 #import <UIKit/UIKit.h>
 
@@ -22,7 +22,7 @@
 #import "ios/chrome/browser/ui/settings/cells/byo_textfield_item.h"
 #import "ios/chrome/browser/ui/settings/cells/card_multiline_item.h"
 #import "ios/chrome/browser/ui/settings/passphrase_table_view_controller_test.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "testing/gtest_mac.h"
 #include "testing/platform_test.h"
 #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.h b/ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.h
similarity index 76%
rename from ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.h
rename to ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.h
index 4787f22..b54b41f 100644
--- a/ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.h
+++ b/ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.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 IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_ENCRYPTION_TABLE_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_ENCRYPTION_TABLE_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_ENCRYPTION_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_ENCRYPTION_TABLE_VIEW_CONTROLLER_H_
 
 #import "ios/chrome/browser/ui/settings/settings_root_table_view_controller.h"
 
@@ -24,4 +24,4 @@
 
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_ENCRYPTION_TABLE_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_ENCRYPTION_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.mm b/ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.mm
similarity index 96%
rename from ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.mm
rename to ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.mm
index 975ac81..b581e61 100644
--- a/ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.h"
 
 #include <memory>
 
@@ -19,8 +19,8 @@
 #include "ios/chrome/browser/sync/profile_sync_service_factory.h"
 #import "ios/chrome/browser/sync/sync_observer_bridge.h"
 #import "ios/chrome/browser/ui/settings/cells/encryption_item.h"
-#import "ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_create_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/utils/settings_utils.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_cells_constants.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_item.h"
diff --git a/ios/chrome/browser/ui/settings/sync_encryption_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller_unittest.mm
similarity index 97%
rename from ios/chrome/browser/ui/settings/sync_encryption_table_view_controller_unittest.mm
rename to ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller_unittest.mm
index 1049522..2b0336d 100644
--- a/ios/chrome/browser/ui/settings/sync_encryption_table_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.h"
 
 #include <memory>
 
diff --git a/ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h b/ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h
similarity index 85%
rename from ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h
rename to ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h
index 9a4ec22b..e3e1601 100644
--- a/ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h
+++ b/ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.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 IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
+#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
 
 #import "ios/chrome/browser/ui/settings/settings_root_collection_view_controller.h"
 
@@ -42,4 +42,4 @@
 - (BOOL)shouldDisplayEncryptionError;
 @end
 
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_SYNC_SETTINGS_COLLECTION_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.mm b/ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.mm
rename to ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.mm
index 6763bf6..80441430 100644
--- a/ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h"
 
 #include <memory>
 
@@ -40,9 +40,9 @@
 #import "ios/chrome/browser/ui/settings/cells/settings_text_item.h"
 #import "ios/chrome/browser/ui/settings/cells/text_and_error_item.h"
 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_encryption_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_passphrase_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_encryption_table_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
 #include "ios/chrome/grit/ios_strings.h"
 #import "ios/public/provider/chrome/browser/chrome_browser_provider.h"
@@ -457,8 +457,8 @@
 
 - (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView
                  cellForItemAtIndexPath:(NSIndexPath*)indexPath {
-  UICollectionViewCell* cell =
-      [super collectionView:collectionView cellForItemAtIndexPath:indexPath];
+  UICollectionViewCell* cell = [super collectionView:collectionView
+                              cellForItemAtIndexPath:indexPath];
   NSInteger itemType =
       [self.collectionViewModel itemTypeForIndexPath:indexPath];
 
@@ -779,10 +779,11 @@
 
 - (void)updateCollectionView {
   __weak SyncSettingsCollectionViewController* weakSelf = self;
-  [self.collectionView performBatchUpdates:^{
-    [weakSelf updateCollectionViewInternal];
-  }
-                                completion:nil];
+  [self.collectionView
+      performBatchUpdates:^{
+        [weakSelf updateCollectionViewInternal];
+      }
+               completion:nil];
 }
 
 - (void)updateCollectionViewInternal {
diff --git a/ios/chrome/browser/ui/settings/sync_settings_collection_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller_unittest.mm
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_settings_collection_view_controller_unittest.mm
rename to ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller_unittest.mm
index 94d9c77..f997dd2c 100644
--- a/ios/chrome/browser/ui/settings/sync_settings_collection_view_controller_unittest.mm
+++ b/ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h"
 
 #include <memory>
 
@@ -30,7 +30,7 @@
 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
 #import "ios/chrome/browser/ui/settings/cells/legacy/legacy_sync_switch_item.h"
 #import "ios/chrome/browser/ui/settings/cells/text_and_error_item.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #include "ios/chrome/grit/ios_strings.h"
 #include "ios/web/public/test/test_web_thread_bundle.h"
 #import "testing/gtest_mac.h"
diff --git a/ios/chrome/browser/ui/settings/sync_utils/BUILD.gn b/ios/chrome/browser/ui/settings/sync/utils/BUILD.gn
similarity index 98%
rename from ios/chrome/browser/ui/settings/sync_utils/BUILD.gn
rename to ios/chrome/browser/ui/settings/sync/utils/BUILD.gn
index e3476a1..b08652bd 100644
--- a/ios/chrome/browser/ui/settings/sync_utils/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/sync/utils/BUILD.gn
@@ -4,7 +4,7 @@
 
 import("//ios/public/provider/chrome/browser/build_config.gni")
 
-source_set("sync_utils") {
+source_set("utils") {
   configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
     "sync_error_infobar_delegate.h",
diff --git a/ios/chrome/browser/ui/settings/sync_utils/DEPS b/ios/chrome/browser/ui/settings/sync/utils/DEPS
similarity index 100%
rename from ios/chrome/browser/ui/settings/sync_utils/DEPS
rename to ios/chrome/browser/ui/settings/sync/utils/DEPS
diff --git a/ios/chrome/browser/ui/settings/sync_utils/OWNERS b/ios/chrome/browser/ui/settings/sync/utils/OWNERS
similarity index 100%
rename from ios/chrome/browser/ui/settings/sync_utils/OWNERS
rename to ios/chrome/browser/ui/settings/sync/utils/OWNERS
diff --git a/ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.h b/ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.h
similarity index 100%
rename from ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.h
rename to ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.h
diff --git a/ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.mm b/ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.mm
similarity index 95%
rename from ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.mm
rename to ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.mm
index c9f5dbb..49c0ae3 100644
--- a/ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.mm
+++ b/ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.mm
@@ -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 "ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.h"
+#include "ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.h"
 
 #import <UIKit/UIKit.h>
 
@@ -19,8 +19,8 @@
 #include "ios/chrome/browser/sync/profile_sync_service_factory.h"
 #include "ios/chrome/browser/sync/sync_setup_service.h"
 #include "ios/chrome/browser/sync/sync_setup_service_factory.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_presenter.h"
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_presenter.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
diff --git a/ios/chrome/browser/ui/settings/sync_utils/sync_fake_server_egtest.mm b/ios/chrome/browser/ui/settings/sync/utils/sync_fake_server_egtest.mm
similarity index 99%
rename from ios/chrome/browser/ui/settings/sync_utils/sync_fake_server_egtest.mm
rename to ios/chrome/browser/ui/settings/sync/utils/sync_fake_server_egtest.mm
index ca049ad8..2633103 100644
--- a/ios/chrome/browser/ui/settings/sync_utils/sync_fake_server_egtest.mm
+++ b/ios/chrome/browser/ui/settings/sync/utils/sync_fake_server_egtest.mm
@@ -365,7 +365,8 @@
   const GURL URL1 = web::test::HttpServer::MakeUrl("http://page1");
   const GURL URL2 = web::test::HttpServer::MakeUrl("http://page2");
   std::map<GURL, std::string> responses = {
-      {URL1, std::string("page 1")}, {URL2, std::string("page 2")},
+      {URL1, std::string("page 1")},
+      {URL2, std::string("page 2")},
   };
   web::test::SetUpSimpleHttpServer(responses);
 
diff --git a/ios/chrome/browser/ui/settings/sync_utils/sync_presenter.h b/ios/chrome/browser/ui/settings/sync/utils/sync_presenter.h
similarity index 100%
rename from ios/chrome/browser/ui/settings/sync_utils/sync_presenter.h
rename to ios/chrome/browser/ui/settings/sync/utils/sync_presenter.h
diff --git a/ios/chrome/browser/ui/settings/sync_utils/sync_util.h b/ios/chrome/browser/ui/settings/sync/utils/sync_util.h
similarity index 100%
rename from ios/chrome/browser/ui/settings/sync_utils/sync_util.h
rename to ios/chrome/browser/ui/settings/sync/utils/sync_util.h
diff --git a/ios/chrome/browser/ui/settings/sync_utils/sync_util.mm b/ios/chrome/browser/ui/settings/sync/utils/sync_util.mm
similarity index 97%
rename from ios/chrome/browser/ui/settings/sync_utils/sync_util.mm
rename to ios/chrome/browser/ui/settings/sync/utils/sync_util.mm
index ff904f4..d0b47a7 100644
--- a/ios/chrome/browser/ui/settings/sync_utils/sync_util.mm
+++ b/ios/chrome/browser/ui/settings/sync/utils/sync_util.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ios/chrome/browser/ui/settings/sync_utils/sync_util.h"
+#import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 
 #include "base/metrics/histogram_macros.h"
 #include "components/infobars/core/infobar_manager.h"
@@ -13,7 +13,7 @@
 #include "ios/chrome/browser/sync/sync_setup_service_factory.h"
 #import "ios/chrome/browser/tabs/tab.h"
 #import "ios/chrome/browser/ui/commands/show_signin_command.h"
-#include "ios/chrome/browser/ui/settings/sync_utils/sync_error_infobar_delegate.h"
+#include "ios/chrome/browser/ui/settings/sync/utils/sync_error_infobar_delegate.h"
 #include "ios/chrome/grit/ios_chromium_strings.h"
 #include "ios/chrome/grit/ios_strings.h"
 #include "ui/base/l10n/l10n_util.h"
diff --git a/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.h b/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.h
deleted file mode 100644
index ae42f73..0000000
--- a/ios/chrome/browser/ui/settings/sync_create_passphrase_table_view_controller.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_CREATE_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_CREATE_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
-
-#import "ios/chrome/browser/ui/settings/sync_encryption_passphrase_table_view_controller.h"
-
-// Controller to allow user to specify encryption passphrase for Sync.
-@interface SyncCreatePassphraseTableViewController
-    : SyncEncryptionPassphraseTableViewController
-@end
-
-@interface SyncCreatePassphraseTableViewController (UsedForTesting)
-@property(nonatomic, readonly) UITextField* confirmPassphrase;
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_SYNC_CREATE_PASSPHRASE_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/webui/BUILD.gn b/ios/chrome/browser/ui/webui/BUILD.gn
index e78566c3..8ab4e77 100644
--- a/ios/chrome/browser/ui/webui/BUILD.gn
+++ b/ios/chrome/browser/ui/webui/BUILD.gn
@@ -100,6 +100,7 @@
     "//ios/chrome/browser/ui/webui/net_export",
     "//ios/chrome/browser/ui/webui/sync_internals",
     "//ios/web",
+    "//services/identity/public/cpp",
     "//url",
   ]
 }
diff --git a/ios/chrome/browser/ui/webui/signin_internals_ui_ios.cc b/ios/chrome/browser/ui/webui/signin_internals_ui_ios.cc
index 2407733..eaee199 100644
--- a/ios/chrome/browser/ui/webui/signin_internals_ui_ios.cc
+++ b/ios/chrome/browser/ui/webui/signin_internals_ui_ios.cc
@@ -7,13 +7,14 @@
 #include "base/hash.h"
 #include "components/grit/components_resources.h"
 #include "components/signin/core/browser/about_signin_internals.h"
-#include "components/signin/core/browser/gaia_cookie_manager_service.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #include "ios/chrome/browser/chrome_url_constants.h"
 #include "ios/chrome/browser/signin/about_signin_internals_factory.h"
-#include "ios/chrome/browser/signin/gaia_cookie_manager_service_factory.h"
+#include "ios/chrome/browser/signin/identity_manager_factory.h"
 #include "ios/web/public/web_ui_ios_data_source.h"
 #include "ios/web/public/webui/web_ui_ios.h"
+#include "services/identity/public/cpp/accounts_in_cookie_jar_info.h"
+#include "services/identity/public/cpp/identity_manager.h"
 
 namespace {
 
@@ -75,15 +76,13 @@
       std::vector<const base::Value*> args{&status};
       web_ui()->CallJavascriptFunction(
           "chrome.signin.getSigninInfo.handleReply", args);
-      std::vector<gaia::ListedAccount> cookie_accounts;
-      GaiaCookieManagerService* cookie_manager_service =
-          ios::GaiaCookieManagerServiceFactory::GetForBrowserState(
-              browser_state);
-      std::vector<gaia::ListedAccount> signed_out_accounts;
-      if (cookie_manager_service->ListAccounts(&cookie_accounts,
-                                               &signed_out_accounts)) {
-        about_signin_internals->OnGaiaAccountsInCookieUpdated(
-            cookie_accounts, signed_out_accounts,
+      identity::IdentityManager* identity_manager =
+          IdentityManagerFactory::GetForBrowserState(browser_state);
+      identity::AccountsInCookieJarInfo accounts_in_cookie_jar =
+          identity_manager->GetAccountsInCookieJar();
+      if (accounts_in_cookie_jar.accounts_are_fresh) {
+        about_signin_internals->OnAccountsInCookieUpdated(
+            accounts_in_cookie_jar,
             GoogleServiceAuthError(GoogleServiceAuthError::NONE));
       }
 
diff --git a/ios/chrome/browser/url_loading/BUILD.gn b/ios/chrome/browser/url_loading/BUILD.gn
index 2c8a832..eaee360c 100644
--- a/ios/chrome/browser/url_loading/BUILD.gn
+++ b/ios/chrome/browser/url_loading/BUILD.gn
@@ -5,21 +5,25 @@
 source_set("url_loading") {
   configs += [ "//build/config/compiler:enable_arc" ]
   sources = [
+    "url_loading_notifier.h",
+    "url_loading_notifier.mm",
+    "url_loading_notifier_factory.cc",
+    "url_loading_notifier_factory.h",
+    "url_loading_observer_bridge.h",
+    "url_loading_observer_bridge.mm",
     "url_loading_util.h",
     "url_loading_util.mm",
   ]
   deps = [
     "//base",
+    "//components/keyed_service/ios",
     "//components/sessions",
     "//ios/chrome/browser",
     "//ios/chrome/browser/browser_state",
-    "//ios/chrome/browser/metrics:metrics_internal",
-    "//ios/chrome/browser/ntp",
     "//ios/chrome/browser/prerender",
     "//ios/chrome/browser/sessions",
     "//ios/chrome/browser/tabs",
     "//ios/chrome/browser/ui",
-    "//ios/chrome/browser/voice",
     "//ios/chrome/browser/web",
     "//ios/chrome/browser/web_state_list",
     "//ios/web/public",
diff --git a/ios/chrome/browser/url_loading/url_loading_notifier.h b/ios/chrome/browser/url_loading/url_loading_notifier.h
new file mode 100644
index 0000000..a433d92
--- /dev/null
+++ b/ios/chrome/browser/url_loading/url_loading_notifier.h
@@ -0,0 +1,56 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_NOTIFIER_H_
+#define IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_NOTIFIER_H_
+
+#include "base/lazy_instance.h"
+#include "base/memory/ptr_util.h"
+#include "base/observer_list.h"
+#include "components/keyed_service/core/keyed_service.h"
+#include "ui/base/page_transition_types.h"
+#include "url/gurl.h"
+
+class UrlLoadingObserverBridge;
+
+// A class containing static functions to notify observers of url loading
+// state change.
+class UrlLoadingNotifier : public KeyedService {
+ public:
+  // Creates a UrlLoadingNotifier.
+  explicit UrlLoadingNotifier();
+  ~UrlLoadingNotifier() override;
+
+  // Adds |observer| to the list of observers.
+  void AddObserver(UrlLoadingObserverBridge* observer);
+
+  // Removes |observer| from the list of observers.
+  void RemoveObserver(UrlLoadingObserverBridge* observer);
+
+  // The loader will open |url| in the current tab. Next state will be
+  // one of: TabFailedToOpenUrl, TabDidPrerenderUrl,
+  // TabDidReloadUrl or TabDidOpenUrl.
+  void TabWillOpenUrl(const GURL& url, ui::PageTransition transition_type);
+
+  // The loader didn't succeed opening the requested |url|. Reason
+  // can, for example be an incognito mismatch or an induced crash.
+  // It is possible that the url was opened, but in another tab.
+  void TabFailedToOpenUrl(const GURL& url, ui::PageTransition transition_type);
+
+  // The loader replaced the load with a prerendering.
+  void TabDidPrerenderUrl(const GURL& url, ui::PageTransition transition_type);
+
+  // The loader reloaded the |url| in the current tab.
+  void TabDidReloadUrl(const GURL& url, ui::PageTransition transition_type);
+
+  // The loader initiated the |url| loading successfully.
+  void TabDidOpenUrl(const GURL& url, ui::PageTransition transition_type);
+
+ private:
+  base::ObserverList<UrlLoadingObserverBridge>::Unchecked observers_;
+
+  DISALLOW_COPY_AND_ASSIGN(UrlLoadingNotifier);
+};
+
+#endif  // IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_NOTIFIER_H_
diff --git a/ios/chrome/browser/url_loading/url_loading_notifier.mm b/ios/chrome/browser/url_loading/url_loading_notifier.mm
new file mode 100644
index 0000000..5a461487
--- /dev/null
+++ b/ios/chrome/browser/url_loading/url_loading_notifier.mm
@@ -0,0 +1,54 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/url_loading/url_loading_notifier.h"
+
+#import "ios/chrome/browser/url_loading/url_loading_observer_bridge.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+UrlLoadingNotifier::UrlLoadingNotifier() {}
+UrlLoadingNotifier::~UrlLoadingNotifier() {}
+
+void UrlLoadingNotifier::AddObserver(UrlLoadingObserverBridge* observer) {
+  observers_.AddObserver(observer);
+}
+
+void UrlLoadingNotifier::RemoveObserver(UrlLoadingObserverBridge* observer) {
+  observers_.RemoveObserver(observer);
+}
+
+void UrlLoadingNotifier::TabWillOpenUrl(const GURL& url,
+                                        ui::PageTransition transition_type) {
+  for (auto& observer : observers_)
+    observer.TabWillOpenUrl(url, transition_type);
+}
+
+void UrlLoadingNotifier::TabFailedToOpenUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  for (auto& observer : observers_)
+    observer.TabFailedToOpenUrl(url, transition_type);
+}
+
+void UrlLoadingNotifier::TabDidPrerenderUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  for (auto& observer : observers_)
+    observer.TabDidPrerenderUrl(url, transition_type);
+}
+
+void UrlLoadingNotifier::TabDidReloadUrl(const GURL& url,
+                                         ui::PageTransition transition_type) {
+  for (auto& observer : observers_)
+    observer.TabDidReloadUrl(url, transition_type);
+}
+
+void UrlLoadingNotifier::TabDidOpenUrl(const GURL& url,
+                                       ui::PageTransition transition_type) {
+  for (auto& observer : observers_)
+    observer.TabDidOpenUrl(url, transition_type);
+}
diff --git a/ios/chrome/browser/url_loading/url_loading_notifier_factory.cc b/ios/chrome/browser/url_loading/url_loading_notifier_factory.cc
new file mode 100644
index 0000000..4a8008c
--- /dev/null
+++ b/ios/chrome/browser/url_loading/url_loading_notifier_factory.cc
@@ -0,0 +1,50 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ios/chrome/browser/url_loading/url_loading_notifier_factory.h"
+
+#include "base/no_destructor.h"
+#include "components/keyed_service/ios/browser_state_dependency_manager.h"
+#include "ios/chrome/browser/browser_state/browser_state_otr_helper.h"
+#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
+#include "ios/chrome/browser/url_loading/url_loading_notifier.h"
+#include "ios/chrome/browser/url_loading/url_loading_notifier_factory.h"
+
+namespace ios {
+
+// static
+UrlLoadingNotifier* UrlLoadingNotifierFactory::GetForBrowserState(
+    ios::ChromeBrowserState* browser_state) {
+  return static_cast<UrlLoadingNotifier*>(
+      GetInstance()->GetServiceForBrowserState(browser_state, true));
+}
+
+// static
+UrlLoadingNotifierFactory* UrlLoadingNotifierFactory::GetInstance() {
+  static base::NoDestructor<UrlLoadingNotifierFactory> instance;
+  return instance.get();
+}
+
+UrlLoadingNotifierFactory::UrlLoadingNotifierFactory()
+    : BrowserStateKeyedServiceFactory(
+          "UrlLoadingNotifier",
+          BrowserStateDependencyManager::GetInstance()) {
+  // TODO(crbug.com/907527): add when available:
+  // DependsOn(UrlLoadingServiceFactory::GetInstance());
+}
+
+UrlLoadingNotifierFactory::~UrlLoadingNotifierFactory() {}
+
+std::unique_ptr<KeyedService>
+UrlLoadingNotifierFactory::BuildServiceInstanceFor(
+    web::BrowserState* context) const {
+  return std::make_unique<UrlLoadingNotifier>();
+}
+
+web::BrowserState* UrlLoadingNotifierFactory::GetBrowserStateToUse(
+    web::BrowserState* context) const {
+  return GetBrowserStateOwnInstanceInIncognito(context);
+}
+
+}  // namespace ios
diff --git a/ios/chrome/browser/url_loading/url_loading_notifier_factory.h b/ios/chrome/browser/url_loading/url_loading_notifier_factory.h
new file mode 100644
index 0000000..508e9f6
--- /dev/null
+++ b/ios/chrome/browser/url_loading/url_loading_notifier_factory.h
@@ -0,0 +1,45 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_NOTIFIER_FACTORY_H_
+#define IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_NOTIFIER_FACTORY_H_
+
+#include <memory>
+
+#include "base/macros.h"
+#include "base/no_destructor.h"
+#include "components/keyed_service/ios/browser_state_keyed_service_factory.h"
+
+class UrlLoadingNotifier;
+
+namespace ios {
+
+class ChromeBrowserState;
+
+// Singleton that owns all UrlLoadingNotifiers and associates them with
+// ios::ChromeBrowserState.
+class UrlLoadingNotifierFactory : public BrowserStateKeyedServiceFactory {
+ public:
+  static UrlLoadingNotifier* GetForBrowserState(
+      ios::ChromeBrowserState* browser_state);
+
+  static UrlLoadingNotifierFactory* GetInstance();
+
+ private:
+  friend class base::NoDestructor<UrlLoadingNotifierFactory>;
+
+  UrlLoadingNotifierFactory();
+  ~UrlLoadingNotifierFactory() override;
+
+  std::unique_ptr<KeyedService> BuildServiceInstanceFor(
+      web::BrowserState* context) const override;
+  web::BrowserState* GetBrowserStateToUse(
+      web::BrowserState* context) const override;
+
+  DISALLOW_COPY_AND_ASSIGN(UrlLoadingNotifierFactory);
+};
+
+}  // namespace ios
+
+#endif  // IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_NOTIFIER_FACTORY_H_
diff --git a/ios/chrome/browser/url_loading/url_loading_observer_bridge.h b/ios/chrome/browser/url_loading/url_loading_observer_bridge.h
new file mode 100644
index 0000000..d66f8dba
--- /dev/null
+++ b/ios/chrome/browser/url_loading/url_loading_observer_bridge.h
@@ -0,0 +1,63 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_OBSERVER_BRIDGE_H_
+#define IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_OBSERVER_BRIDGE_H_
+
+#import <Foundation/Foundation.h>
+
+#include "ui/base/page_transition_types.h"
+#include "url/gurl.h"
+
+// Objective-C equivalent of the UrlLoadingObserverBridge class.
+@protocol URLLoadingObserver <NSObject>
+@optional
+
+// The loader will open |URL| in the current tab. Next state will be
+// one of: tabFailedToOpenURL, tabDidPrerenderURL,
+// tabDidReloadURL or tabDidOpenURL.
+// Invoked by UrlLoadingObserverBridge::TabWillOpenUrl.
+- (void)tabWillOpenURL:(GURL)URL
+        transitionType:(ui::PageTransition)transitionType;
+
+// The loader didn't succeed opening the requested |URL|. Reason
+// can, for example be an incognito mismatch or an induced crash.
+// It is possible that the url was opened, but in another tab.
+// Invoked by UrlLoadingObserverBridge::TabFailedToOpenUrl.
+- (void)tabFailedToOpenURL:(GURL)URL
+            transitionType:(ui::PageTransition)transitionType;
+
+// The loader replaced the load with a prerendering.
+// Invoked by UrlLoadingObserverBridge::TabDidPrerenderUrl.
+- (void)tabDidPrerenderURL:(GURL)URL
+            transitionType:(ui::PageTransition)transitionType;
+
+// The loader reloaded the |URL| in the current tab.
+// Invoked by UrlLoadingObserverBridge::TabDidReloadUrl.
+- (void)tabDidReloadURL:(GURL)URL
+         transitionType:(ui::PageTransition)transitionType;
+
+// The loader initiated the |url| loading successfully.
+// Invoked by UrlLoadingObserverBridge::TabDidOpenUrl.
+- (void)tabDidOpenURL:(GURL)URL
+       transitionType:(ui::PageTransition)transitionType;
+
+@end
+
+// Observer used to update listeners of change of state in url loading.
+class UrlLoadingObserverBridge {
+ public:
+  UrlLoadingObserverBridge(id<URLLoadingObserver> owner);
+
+  void TabWillOpenUrl(const GURL& url, ui::PageTransition transition_type);
+  void TabFailedToOpenUrl(const GURL& url, ui::PageTransition transition_type);
+  void TabDidPrerenderUrl(const GURL& url, ui::PageTransition transition_type);
+  void TabDidReloadUrl(const GURL& url, ui::PageTransition transition_type);
+  void TabDidOpenUrl(const GURL& url, ui::PageTransition transition_type);
+
+ private:
+  __weak id<URLLoadingObserver> owner_;
+};
+
+#endif  // IOS_CHROME_BROWSER_URL_LOADING_URL_LOADING_OBSERVER_BRIDGE_H_
diff --git a/ios/chrome/browser/url_loading/url_loading_observer_bridge.mm b/ios/chrome/browser/url_loading/url_loading_observer_bridge.mm
new file mode 100644
index 0000000..9adc9ce
--- /dev/null
+++ b/ios/chrome/browser/url_loading/url_loading_observer_bridge.mm
@@ -0,0 +1,54 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/url_loading/url_loading_observer_bridge.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+UrlLoadingObserverBridge::UrlLoadingObserverBridge(id<URLLoadingObserver> owner)
+    : owner_(owner) {}
+
+void UrlLoadingObserverBridge::TabWillOpenUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  if ([owner_ respondsToSelector:@selector(tabWillOpenURL:transitionType:)]) {
+    [owner_ tabWillOpenURL:url transitionType:transition_type];
+  }
+}
+
+void UrlLoadingObserverBridge::TabFailedToOpenUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  if ([owner_ respondsToSelector:@selector(tabFailedToOpenURL:
+                                               transitionType:)]) {
+    [owner_ tabFailedToOpenURL:url transitionType:transition_type];
+  }
+}
+
+void UrlLoadingObserverBridge::TabDidPrerenderUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  if ([owner_ respondsToSelector:@selector(tabDidPrerenderURL:
+                                               transitionType:)]) {
+    [owner_ tabDidPrerenderURL:url transitionType:transition_type];
+  }
+}
+
+void UrlLoadingObserverBridge::TabDidReloadUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  if ([owner_ respondsToSelector:@selector(tabDidReloadURL:transitionType:)]) {
+    [owner_ tabDidReloadURL:url transitionType:transition_type];
+  }
+}
+
+void UrlLoadingObserverBridge::TabDidOpenUrl(
+    const GURL& url,
+    ui::PageTransition transition_type) {
+  if ([owner_ respondsToSelector:@selector(tabDidOpenURL:transitionType:)]) {
+    [owner_ tabDidOpenURL:url transitionType:transition_type];
+  }
+}
diff --git a/ios/chrome/browser/url_loading/url_loading_util.mm b/ios/chrome/browser/url_loading/url_loading_util.mm
index b55028d..ed31d50 100644
--- a/ios/chrome/browser/url_loading/url_loading_util.mm
+++ b/ios/chrome/browser/url_loading/url_loading_util.mm
@@ -9,14 +9,13 @@
 #include "components/sessions/core/tab_restore_service_helper.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #include "ios/chrome/browser/chrome_url_constants.h"
-#import "ios/chrome/browser/metrics/new_tab_page_uma.h"
-#import "ios/chrome/browser/ntp/new_tab_page_tab_helper.h"
 #import "ios/chrome/browser/prerender/prerender_service.h"
 #import "ios/chrome/browser/prerender/prerender_service_factory.h"
 #include "ios/chrome/browser/sessions/ios_chrome_tab_restore_service_factory.h"
 #include "ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios.h"
 #include "ios/chrome/browser/sessions/tab_restore_service_delegate_impl_ios_factory.h"
-#import "ios/chrome/browser/voice/voice_search_navigations_tab_helper.h"
+#import "ios/chrome/browser/url_loading/url_loading_notifier.h"
+#import "ios/chrome/browser/url_loading/url_loading_notifier_factory.h"
 #import "ios/chrome/browser/web/load_timing_tab_helper.h"
 #import "ios/chrome/browser/web_state_list/web_state_list.h"
 #import "ios/web/public/web_state/web_state.h"
@@ -94,6 +93,7 @@
   restoreService->RestoreEntryById(delegate, session_id, disposition);
 }
 
+// TODO(crbug.com/907527): make this into a url loading service in this folder.
 URLLoadResult LoadURL(const ChromeLoadParams& chrome_params,
                       ios::ChromeBrowserState* browser_state,
                       WebStateList* web_state_list,
@@ -103,16 +103,10 @@
     return URLLoadResult::SWITCH_TO_TAB;
   }
 
-  web::WebState* current_web_state = web_state_list->GetActiveWebState();
-  DCHECK(current_web_state);
-  if (params.transition_type & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) {
-    bool isExpectingVoiceSearch =
-        VoiceSearchNavigationTabHelper::FromWebState(current_web_state)
-            ->IsExpectingVoiceSearch();
-    new_tab_page_uma::RecordActionFromOmnibox(browser_state, params.url,
-                                              params.transition_type,
-                                              isExpectingVoiceSearch);
-  }
+  UrlLoadingNotifier* urlLoadingNotifier =
+      ios::UrlLoadingNotifierFactory::GetForBrowserState(browser_state);
+
+  urlLoadingNotifier->TabWillOpenUrl(params.url, params.transition_type);
 
   // NOTE: This check for the Crash Host URL is here to avoid the URL from
   // ending up in the history causing the app to crash at every subsequent
@@ -121,6 +115,7 @@
     InduceBrowserCrash(params.url);
     // Under a debugger, the app can continue working even after the CHECK.
     // Adding a return avoids adding the crash url to history.
+    urlLoadingNotifier->TabFailedToOpenUrl(params.url, params.transition_type);
     return URLLoadResult::INDUCED_CRASH;
   }
 
@@ -131,15 +126,20 @@
   if (prerenderService &&
       prerenderService->MaybeLoadPrerenderedURL(
           params.url, params.transition_type, web_state_list, restorer)) {
+    urlLoadingNotifier->TabDidPrerenderUrl(params.url, params.transition_type);
     return URLLoadResult::LOADED_PRERENDER;
   }
 
   // Some URLs are not allowed while in incognito.  If we are in incognito and
   // load a disallowed URL, instead create a new tab not in the incognito state.
   if (browser_state->IsOffTheRecord() && !IsURLAllowedInIncognito(params.url)) {
+    urlLoadingNotifier->TabFailedToOpenUrl(params.url, params.transition_type);
     return URLLoadResult::DISALLOWED_IN_INCOGNITO;
   }
 
+  web::WebState* current_web_state = web_state_list->GetActiveWebState();
+  DCHECK(current_web_state);
+
   BOOL typedOrGeneratedTransition =
       PageTransitionCoreTypeIs(params.transition_type,
                                ui::PAGE_TRANSITION_TYPED) ||
@@ -156,22 +156,13 @@
                                ui::PAGE_TRANSITION_RELOAD)) {
     current_web_state->GetNavigationManager()->Reload(
         web::ReloadType::NORMAL, true /* check_for_repost */);
+    urlLoadingNotifier->TabDidReloadUrl(params.url, params.transition_type);
     return URLLoadResult::RELOADED;
   }
 
   current_web_state->GetNavigationManager()->LoadURLWithParams(params);
 
-  // Deactivate the NTP immediately on a load to hide the NTP quickly, but after
-  // calling -LoadURLWithParams. Otherwise, if the webState has never been
-  // visible (such as during startup with an NTP), it's possible the webView can
-  // trigger a unnecessary load for chrome://newtab.
-  if (params.url.GetOrigin() != kChromeUINewTabURL) {
-    NewTabPageTabHelper* NTPHelper =
-        NewTabPageTabHelper::FromWebState(current_web_state);
-    if (NTPHelper && NTPHelper->IsActive()) {
-      NTPHelper->Deactivate();
-    }
-  }
+  urlLoadingNotifier->TabDidOpenUrl(params.url, params.transition_type);
 
   return URLLoadResult::NORMAL_LOAD;
 }
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn
index ab92131..7a3808b5 100644
--- a/ios/chrome/test/BUILD.gn
+++ b/ios/chrome/test/BUILD.gn
@@ -230,6 +230,7 @@
     "//ios/chrome/browser/ui/settings/cells/legacy:unit_tests",
     "//ios/chrome/browser/ui/settings/clear_browsing_data:unit_tests",
     "//ios/chrome/browser/ui/settings/password:unit_tests",
+    "//ios/chrome/browser/ui/settings/sync:unit_tests",
     "//ios/chrome/browser/ui/side_swipe:unit_tests",
     "//ios/chrome/browser/ui/snackbar:unit_tests",
     "//ios/chrome/browser/ui/static_content:unit_tests",
diff --git a/ios/chrome/test/earl_grey/BUILD.gn b/ios/chrome/test/earl_grey/BUILD.gn
index e9a20c3a..54f38a1 100644
--- a/ios/chrome/test/earl_grey/BUILD.gn
+++ b/ios/chrome/test/earl_grey/BUILD.gn
@@ -72,6 +72,7 @@
     "//ios/chrome/browser/ui/settings:eg_tests",
     "//ios/chrome/browser/ui/settings/autofill:eg_tests",
     "//ios/chrome/browser/ui/settings/clear_browsing_data:eg_tests",
+    "//ios/chrome/browser/ui/settings/google_services:eg_tests",
     "//ios/chrome/browser/ui/settings/password:eg_tests",
   ]
 }
@@ -109,7 +110,7 @@
     "//ios/chrome/browser/ui/recent_tabs:eg_tests",
     "//ios/chrome/browser/ui/sad_tab:eg_tests",
     "//ios/chrome/browser/ui/safe_mode:eg_tests",
-    "//ios/chrome/browser/ui/settings/sync_utils:eg_tests",
+    "//ios/chrome/browser/ui/settings/sync/utils:eg_tests",
     "//ios/chrome/browser/ui/side_swipe:eg_tests",
     "//ios/chrome/browser/ui/signin_interaction:eg_tests",
     "//ios/chrome/browser/ui/tabs:eg_tests",
@@ -202,7 +203,7 @@
 
 chrome_ios_eg_test("ios_chrome_unified_consent_egtests") {
   deps = [
-    "//ios/chrome/browser/ui/settings:unified_consent_eg_tests",
+    "//ios/chrome/browser/ui/settings/google_services:unified_consent_eg_tests",
   ]
 }
 
@@ -246,6 +247,8 @@
     "//ios/chrome/browser/ui/settings:settings",
     "//ios/chrome/browser/ui/settings/cells",
     "//ios/chrome/browser/ui/settings/clear_browsing_data",
+    "//ios/chrome/browser/ui/settings/google_services",
+    "//ios/chrome/browser/ui/settings/sync",
     "//ios/chrome/browser/ui/static_content",
     "//ios/chrome/browser/ui/table_view/cells",
     "//ios/chrome/browser/ui/toolbar/buttons",
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
index 457d8ad..2a06b68 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
@@ -8,8 +8,8 @@
 #include "components/strings/grit/components_strings.h"
 #import "ios/chrome/browser/ui/history/history_ui_constants.h"
 #import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_ui_constants.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/privacy_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_table_view_controller.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_url_item.h"
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.mm b/ios/chrome/test/earl_grey/chrome_matchers.mm
index 1dfaf332..679f7c4 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.mm
+++ b/ios/chrome/test/earl_grey/chrome_matchers.mm
@@ -22,15 +22,15 @@
 #import "ios/chrome/browser/ui/payments/payment_request_picker_view_controller.h"
 #import "ios/chrome/browser/ui/payments/payment_request_view_controller.h"
 #import "ios/chrome/browser/ui/popup_menu/popup_menu_constants.h"
-#import "ios/chrome/browser/ui/settings/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/cells/clear_browsing_data_constants.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_cell.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_item.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_collection_view_controller.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_ui_constants.h"
+#import "ios/chrome/browser/ui/settings/google_services/accounts_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/import_data_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_table_view_controller.h"
-#import "ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h"
+#import "ios/chrome/browser/ui/settings/sync/sync_settings_collection_view_controller.h"
 #import "ios/chrome/browser/ui/static_content/static_html_view_controller.h"
 #import "ios/chrome/browser/ui/toolbar/public/toolbar_constants.h"
 #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
diff --git a/ios/web/navigation/navigation_manager_impl.h b/ios/web/navigation/navigation_manager_impl.h
index d39b230..283c1379 100644
--- a/ios/web/navigation/navigation_manager_impl.h
+++ b/ios/web/navigation/navigation_manager_impl.h
@@ -238,6 +238,9 @@
   // items.
   void WillRestore(size_t item_count);
 
+  // Some app-specific URLs need to be rewritten to about: scheme.
+  void RewriteItemURLIfNecessary(NavigationItem* item) const;
+
   // Creates a NavigationItem using the given properties, where |previous_url|
   // is the URL of the navigation just prior to the current one. If
   // |url_rewriters| is not nullptr, apply them before applying the permanent
diff --git a/ios/web/navigation/navigation_manager_impl.mm b/ios/web/navigation/navigation_manager_impl.mm
index 84b091f63..d0ea0e2 100644
--- a/ios/web/navigation/navigation_manager_impl.mm
+++ b/ios/web/navigation/navigation_manager_impl.mm
@@ -441,6 +441,18 @@
   UMA_HISTOGRAM_COUNTS_100(kRestoreNavigationItemCount, item_count);
 }
 
+void NavigationManagerImpl::RewriteItemURLIfNecessary(
+    NavigationItem* item) const {
+  GURL url = item->GetURL();
+  if (web::BrowserURLRewriter::GetInstance()->RewriteURLIfNecessary(
+          &url, browser_state_)) {
+    // |url| must be set first for -SetVirtualURL to not no-op.
+    GURL virtual_url = item->GetURL();
+    item->SetURL(url);
+    item->SetVirtualURL(virtual_url);
+  }
+}
+
 std::unique_ptr<NavigationItemImpl>
 NavigationManagerImpl::CreateNavigationItemWithRewriters(
     const GURL& url,
diff --git a/ios/web/navigation/session_storage_builder.mm b/ios/web/navigation/session_storage_builder.mm
index fece19fc..a3dd74b 100644
--- a/ios/web/navigation/session_storage_builder.mm
+++ b/ios/web/navigation/session_storage_builder.mm
@@ -69,16 +69,9 @@
     std::unique_ptr<NavigationItemImpl> item_impl =
         item_storage_builder.BuildNavigationItemImpl(item_storages[index]);
 
-    // Some app-specific URLs need to be rewritten to about: scheme.
-    GURL url = item_impl->GetURL();
-    if (web::BrowserURLRewriter::GetInstance()->RewriteURLIfNecessary(
-            &url, web_state->GetBrowserState())) {
-      // |url| must be set first for -SetVirtualURL to not no-op.
-      GURL virtual_url = item_impl->GetURL();
-      item_impl->SetURL(url);
-      item_impl->SetVirtualURL(virtual_url);
-    }
-
+    web::NavigationManagerImpl* navigation_manager =
+        web_state->navigation_manager_.get();
+    navigation_manager->RewriteItemURLIfNecessary(item_impl.get());
     items[index] = std::move(item_impl);
   }
   web_state->navigation_manager_->Restore(storage.lastCommittedItemIndex,
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl.mm b/ios/web/navigation/wk_based_navigation_manager_impl.mm
index 778a599..a083c47 100644
--- a/ios/web/navigation/wk_based_navigation_manager_impl.mm
+++ b/ios/web/navigation/wk_based_navigation_manager_impl.mm
@@ -518,6 +518,9 @@
   // (restore_session.html) into the web view. The session history is encoded
   // in the query parameter. When loaded, restore_session.html parses the
   // session history and replays them into the web view using History API.
+  for (size_t index = 0; index < items.size(); ++index) {
+    RewriteItemURLIfNecessary(items[index].get());
+  }
 
   // TODO(crbug.com/771200): Retain these original NavigationItems restored from
   // storage and associate them with new WKBackForwardListItems created after
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm b/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
index 144a3c6..a65b410d 100644
--- a/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
+++ b/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
@@ -56,6 +56,7 @@
     GURL::Replacements scheme_replacements;
     scheme_replacements.SetSchemeStr(kTestWebUIScheme);
     *url = url->ReplaceComponents(scheme_replacements);
+    return true;
   }
   return false;
 }
@@ -609,10 +610,13 @@
   EXPECT_FALSE(manager_->CanGoToOffset(2));
 }
 
-// Tests that non-empty session history can be restored.
+// Tests that non-empty session history can be restored, and are re-written if
+// necessary.
 TEST_F(WKBasedNavigationManagerTest, RestoreSessionWithHistory) {
+  manager_->AddTransientURLRewriter(&WebUIUrlRewriter);
   auto item0 = std::make_unique<NavigationItemImpl>();
-  item0->SetURL(GURL("http://www.0.com"));
+  GURL url(url::SchemeHostPort(kSchemeToRewrite, "test", 0).Serialize());
+  item0->SetURL(url);
   item0->SetTitle(base::ASCIIToUTF16("Test Website 0"));
   auto item1 = std::make_unique<NavigationItemImpl>();
   item1->SetURL(GURL("http://www.1.com"));
@@ -632,11 +636,12 @@
   GURL pending_url = pending_item->GetURL();
   EXPECT_TRUE(pending_url.SchemeIsFile());
   EXPECT_EQ("restore_session.html", pending_url.ExtractFileName());
-  EXPECT_EQ("http://www.0.com/", pending_item->GetVirtualURL());
+  EXPECT_EQ(url.spec(), pending_item->GetVirtualURL());
   EXPECT_EQ("Test Website 0", base::UTF16ToUTF8(pending_item->GetTitle()));
 
   EXPECT_EQ("{\"offset\":0,\"titles\":[\"Test Website 0\",\"\"],"
-            "\"urls\":[\"http://www.0.com/\",\"http://www.1.com/\"]}",
+            "\"urls\":[\"about:blank?for=testwebui%3A%2F%2Ftest%2F\","
+            "\"http://www.1.com/\"]}",
             ExtractRestoredSession(pending_url));
 
   // Check that cached visible item is returned.
diff --git a/ios/web_view/internal/sync/cwv_sync_controller_unittest.mm b/ios/web_view/internal/sync/cwv_sync_controller_unittest.mm
index b635afe..d3936e4d 100644
--- a/ios/web_view/internal/sync/cwv_sync_controller_unittest.mm
+++ b/ios/web_view/internal/sync/cwv_sync_controller_unittest.mm
@@ -14,7 +14,6 @@
 #include "components/browser_sync/profile_sync_service_mock.h"
 #include "components/signin/core/browser/account_tracker_service.h"
 #include "components/signin/core/browser/device_id_helper.h"
-#include "components/signin/core/browser/fake_gaia_cookie_manager_service.h"
 #include "components/signin/core/browser/fake_profile_oauth2_token_service.h"
 #include "components/signin/core/browser/fake_signin_manager.h"
 #include "components/signin/core/browser/signin_error_controller.h"
@@ -94,9 +93,7 @@
         token_service_(browser_state_.GetPrefs(),
                        std::unique_ptr<ProfileOAuth2TokenServiceIOSDelegate>(
                            token_service_delegate_)),
-        gaia_cookie_manager_service_(&token_service_,
-                                     &signin_client_,
-                                     &test_url_loader_factory_),
+        gaia_cookie_manager_service_(&token_service_, &signin_client_),
         signin_manager_(&signin_client_,
                         &token_service_,
                         &account_tracker_service_,
@@ -159,10 +156,7 @@
 
   FakeProfileOAuth2TokenService token_service_;
 
-  // test_url_loader_factory_ is declared before gaia_cookie_manager_service_
-  // to guarantee that the former outlives the latter.
-  network::TestURLLoaderFactory test_url_loader_factory_;
-  FakeGaiaCookieManagerService gaia_cookie_manager_service_;
+  GaiaCookieManagerService gaia_cookie_manager_service_;
   FakeSigninManager signin_manager_;
   identity::IdentityTestEnvironment identity_test_env_;
   SigninErrorController signin_error_controller_;
diff --git a/media/audio/win/audio_low_latency_input_win.cc b/media/audio/win/audio_low_latency_input_win.cc
index 8594260..eae18e603 100644
--- a/media/audio/win/audio_low_latency_input_win.cc
+++ b/media/audio/win/audio_low_latency_input_win.cc
@@ -85,27 +85,42 @@
 
   const SampleFormat kSampleFormat = kSampleFormatS16;
 
-  // Set up the desired output format specified by the client.
+  // The clients asks for an input stream specified by |params|. Start by
+  // setting up an input device format according to the same specification.
+  // If all goes well during the upcoming initialization, this format will not
+  // change. However, under some circumstances, minor changes can be required
+  // to fit the current input audio device. If so, a FIFO and/or and audio
+  // converter might be needed to ensure that the output format of this stream
+  // matches what the client asks for.
   DVLOG(1) << params.AsHumanReadableString();
-  WAVEFORMATEX* format = &output_format_.Format;
+  WAVEFORMATEX* format = &input_format_.Format;
   format->wFormatTag = WAVE_FORMAT_EXTENSIBLE;
   format->nChannels = params.channels();
   format->nSamplesPerSec = params.sample_rate();
   format->wBitsPerSample = SampleFormatToBitsPerChannel(kSampleFormat);
   format->nBlockAlign = (format->wBitsPerSample / 8) * format->nChannels;
   format->nAvgBytesPerSec = format->nSamplesPerSec * format->nBlockAlign;
+
+  // Add the parts which are unique to WAVE_FORMAT_EXTENSIBLE which can be
+  // required in combination with e.g. multi-channel microphone arrays.
   format->cbSize = sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX);
-
-  // Add the parts which are unique to WAVE_FORMAT_EXTENSIBLE.
-  output_format_.Samples.wValidBitsPerSample = format->wBitsPerSample;
-  output_format_.dwChannelMask =
+  input_format_.Samples.wValidBitsPerSample = format->wBitsPerSample;
+  input_format_.dwChannelMask =
       CoreAudioUtil::GetChannelConfig(device_id, eCapture);
-  output_format_.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
+  input_format_.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
 
-  // Set the input (capture) format to the desired output format. In most cases,
-  // it will be used unchanged.
-  input_format_ = output_format_;
-  DVLOG(1) << CoreAudioUtil::WaveFormatToString(&input_format_);
+  // Set up the fixed output format based on |params|. Will not be changed and
+  // does not required an extended wave format structure since any multi-channel
+  // input will be converted to stereo.
+  output_format_.wFormatTag = WAVE_FORMAT_PCM;
+  output_format_.nChannels = format->nChannels;
+  ;
+  output_format_.nSamplesPerSec = format->nSamplesPerSec;
+  output_format_.wBitsPerSample = format->wBitsPerSample;
+  output_format_.nBlockAlign = format->nBlockAlign;
+  output_format_.nAvgBytesPerSec = format->nAvgBytesPerSec;
+  output_format_.cbSize = 0;
+  DVLOG(1) << CoreAudioUtil::WaveFormatToString(&output_format_);
 
   // Size in bytes of each audio frame.
   frame_size_bytes_ = format->nBlockAlign;
@@ -572,7 +587,7 @@
 
         // Move the capture time forward for each vended block.
         capture_time += AudioTimestampHelper::FramesToTime(
-            convert_bus_->frames(), output_format_.Format.nSamplesPerSec);
+            convert_bus_->frames(), output_format_.nSamplesPerSec);
       } else {
         sink_->OnData(fifo_->Consume(), capture_time, volume);
 
@@ -732,24 +747,23 @@
   // Ideally, we want a 1:1 ratio between the buffers we get and the buffers
   // we give to OnData so that each buffer we receive from the OS can be
   // directly converted to a buffer that matches with what was asked for.
-  const double buffer_ratio = output_format_.Format.nSamplesPerSec /
-                              static_cast<double>(packet_size_frames_);
+  const double buffer_ratio =
+      output_format_.nSamplesPerSec / static_cast<double>(packet_size_frames_);
   double new_frames_per_buffer =
       input_format_.Format.nSamplesPerSec / buffer_ratio;
 
   const auto input_layout = GuessChannelLayout(input_format_.Format.nChannels);
   DCHECK_NE(CHANNEL_LAYOUT_UNSUPPORTED, input_layout);
-  const auto output_layout =
-      GuessChannelLayout(output_format_.Format.nChannels);
+  const auto output_layout = GuessChannelLayout(output_format_.nChannels);
   DCHECK_NE(CHANNEL_LAYOUT_UNSUPPORTED, output_layout);
 
   const AudioParameters input(AudioParameters::AUDIO_PCM_LOW_LATENCY,
                               input_layout, input_format_.Format.nSamplesPerSec,
                               static_cast<int>(new_frames_per_buffer));
 
-  const AudioParameters output(
-      AudioParameters::AUDIO_PCM_LOW_LATENCY, output_layout,
-      output_format_.Format.nSamplesPerSec, packet_size_frames_);
+  const AudioParameters output(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+                               output_layout, output_format_.nSamplesPerSec,
+                               packet_size_frames_);
 
   converter_.reset(new AudioConverter(input, output, false));
   converter_->AddInput(this);
@@ -940,12 +954,12 @@
         input_format_.Format.wBitsPerSample,
         input_format_.Format.nBlockAlign, input_format_.Format.nAvgBytesPerSec,
         input_format_.Format.cbSize,
-        output_format_.Format.wFormatTag, output_format_.Format.nChannels,
-        output_format_.Format.nSamplesPerSec,
-        output_format_.Format.wBitsPerSample,
-        output_format_.Format.nBlockAlign,
-        output_format_.Format.nAvgBytesPerSec,
-        output_format_.Format.cbSize));
+        output_format_.wFormatTag, output_format_.nChannels,
+        output_format_.nSamplesPerSec,
+        output_format_.wBitsPerSample,
+        output_format_.nBlockAlign,
+        output_format_.nAvgBytesPerSec,
+        output_format_.cbSize));
     // clang-format on
   }
 }
diff --git a/media/audio/win/audio_low_latency_input_win.h b/media/audio/win/audio_low_latency_input_win.h
index 788430f..7cc3b4b 100644
--- a/media/audio/win/audio_low_latency_input_win.h
+++ b/media/audio/win/audio_low_latency_input_win.h
@@ -186,16 +186,18 @@
   // All OnData() callbacks will be called from this thread.
   std::unique_ptr<base::DelegateSimpleThread> capture_thread_;
 
-  // Contains the desired output audio format which is set up at construction,
-  // that is the audio format this class should output data to the sink in, that
-  // is the format after the converter.
-  WAVEFORMATEXTENSIBLE output_format_;
+  // Contains the desired output audio format which is set up at construction
+  // and then never modified. It is the audio format this class will output
+  // data to the sink in, or equivalently, the format after the converter if
+  // such is needed. Does not need the extended version since we only support
+  // max stereo at this stage.
+  WAVEFORMATEX output_format_;
 
-  // Contains the audio format we get data from the audio engine in. Set to
-  // |output_format_| at construction and might be changed to a close match if
-  // the audio engine doesn't support the originally set format. Note that this
-  // is also the format after the fifo, i.e. the input format to the converter
-  // if any.
+  // Contains the audio format we get data from the audio engine in. Initially
+  // set to |output_format_| at construction but it might be changed to a close
+  // match if the audio engine doesn't support the originally set format. Note
+  // that, this is also the format after the FIFO, i.e. the input format to the
+  // converter if any.
   WAVEFORMATEXTENSIBLE input_format_;
 
   bool opened_ = false;
diff --git a/media/audio/win/audio_low_latency_input_win_unittest.cc b/media/audio/win/audio_low_latency_input_win_unittest.cc
index 1f62165..13cf3734 100644
--- a/media/audio/win/audio_low_latency_input_win_unittest.cc
+++ b/media/audio/win/audio_low_latency_input_win_unittest.cc
@@ -37,7 +37,6 @@
 using ::testing::AnyNumber;
 using ::testing::AtLeast;
 using ::testing::Gt;
-using ::testing::NiceMock;
 using ::testing::NotNull;
 
 namespace media {
@@ -345,7 +344,7 @@
   ScopedAudioInputStream ais(
       CreateDefaultAudioInputStream(audio_manager_.get()));
   EXPECT_TRUE(ais->Open());
-  NiceMock<MockAudioInputCallback> sink;
+  MockAudioInputCallback sink;
   ais->Start(&sink);
   ais.Close();
 }
@@ -356,7 +355,7 @@
   ScopedAudioInputStream ais(
       CreateDefaultAudioInputStream(audio_manager_.get()));
   EXPECT_TRUE(ais->Open());
-  NiceMock<MockAudioInputCallback> sink;
+  MockAudioInputCallback sink;
   ais->Start(&sink);
   ais->Stop();
   ais.Close();
diff --git a/media/audio/win/core_audio_util_win.cc b/media/audio/win/core_audio_util_win.cc
index f09321d..72d9216 100644
--- a/media/audio/win/core_audio_util_win.cc
+++ b/media/audio/win/core_audio_util_win.cc
@@ -214,52 +214,65 @@
 // in that order within each block.
 std::string ChannelMaskToString(DWORD channel_mask) {
   std::string ss;
-  if (channel_mask & SPEAKER_FRONT_LEFT)
-    ss += "FRONT_LEFT | ";
-  if (channel_mask & SPEAKER_FRONT_RIGHT)
-    ss += "FRONT_RIGHT | ";
-  if (channel_mask & SPEAKER_FRONT_CENTER)
-    ss += "FRONT_CENTER | ";
-  if (channel_mask & SPEAKER_LOW_FREQUENCY)
-    ss += "LOW_FREQUENCY | ";
-  if (channel_mask & SPEAKER_BACK_LEFT)
-    ss += "BACK_LEFT | ";
-  if (channel_mask & SPEAKER_BACK_RIGHT)
-    ss += "BACK_RIGHT | ";
-  if (channel_mask & SPEAKER_FRONT_LEFT_OF_CENTER)
-    ss += "FRONT_LEFT_OF_CENTER | ";
-  if (channel_mask & SPEAKER_FRONT_RIGHT_OF_CENTER)
-    ss += "RIGHT_OF_CENTER | ";
-  if (channel_mask & SPEAKER_BACK_CENTER)
-    ss += "BACK_CENTER | ";
-  if (channel_mask & SPEAKER_SIDE_LEFT)
-    ss += "SIDE_LEFT | ";
-  if (channel_mask & SPEAKER_SIDE_RIGHT)
-    ss += "SIDE_RIGHT | ";
-  if (channel_mask & SPEAKER_TOP_CENTER)
-    ss += "TOP_CENTER | ";
-  if (channel_mask & SPEAKER_TOP_FRONT_LEFT)
-    ss += "TOP_FRONT_LEFT | ";
-  if (channel_mask & SPEAKER_TOP_FRONT_CENTER)
-    ss += "TOP_FRONT_CENTER | ";
-  if (channel_mask & SPEAKER_TOP_FRONT_RIGHT)
-    ss += "TOP_FRONT_RIGHT | ";
-  if (channel_mask & SPEAKER_TOP_BACK_LEFT)
-    ss += "TOP_BACK_LEFT | ";
-  if (channel_mask & SPEAKER_TOP_BACK_CENTER)
-    ss += "TOP_BACK_CENTER | ";
-  if (channel_mask & SPEAKER_TOP_BACK_RIGHT)
-    ss += "TOP_BACK_RIGHT | ";
+  if (channel_mask == KSAUDIO_SPEAKER_DIRECTOUT)
+    // A very rare channel mask where speaker orientation is "hard coded".
+    // In direct-out mode, the audio device renders the first channel to the
+    // first output connector on the device, the second channel to the second
+    // output on the device, and so on.
+    ss += "DIRECT_OUT";
+  else {
+    if (channel_mask & SPEAKER_FRONT_LEFT)
+      ss += "FRONT_LEFT | ";
+    if (channel_mask & SPEAKER_FRONT_RIGHT)
+      ss += "FRONT_RIGHT | ";
+    if (channel_mask & SPEAKER_FRONT_CENTER)
+      ss += "FRONT_CENTER | ";
+    if (channel_mask & SPEAKER_LOW_FREQUENCY)
+      ss += "LOW_FREQUENCY | ";
+    if (channel_mask & SPEAKER_BACK_LEFT)
+      ss += "BACK_LEFT | ";
+    if (channel_mask & SPEAKER_BACK_RIGHT)
+      ss += "BACK_RIGHT | ";
+    if (channel_mask & SPEAKER_FRONT_LEFT_OF_CENTER)
+      ss += "FRONT_LEFT_OF_CENTER | ";
+    if (channel_mask & SPEAKER_FRONT_RIGHT_OF_CENTER)
+      ss += "RIGHT_OF_CENTER | ";
+    if (channel_mask & SPEAKER_BACK_CENTER)
+      ss += "BACK_CENTER | ";
+    if (channel_mask & SPEAKER_SIDE_LEFT)
+      ss += "SIDE_LEFT | ";
+    if (channel_mask & SPEAKER_SIDE_RIGHT)
+      ss += "SIDE_RIGHT | ";
+    if (channel_mask & SPEAKER_TOP_CENTER)
+      ss += "TOP_CENTER | ";
+    if (channel_mask & SPEAKER_TOP_FRONT_LEFT)
+      ss += "TOP_FRONT_LEFT | ";
+    if (channel_mask & SPEAKER_TOP_FRONT_CENTER)
+      ss += "TOP_FRONT_CENTER | ";
+    if (channel_mask & SPEAKER_TOP_FRONT_RIGHT)
+      ss += "TOP_FRONT_RIGHT | ";
+    if (channel_mask & SPEAKER_TOP_BACK_LEFT)
+      ss += "TOP_BACK_LEFT | ";
+    if (channel_mask & SPEAKER_TOP_BACK_CENTER)
+      ss += "TOP_BACK_CENTER | ";
+    if (channel_mask & SPEAKER_TOP_BACK_RIGHT)
+      ss += "TOP_BACK_RIGHT | ";
 
-  if (!ss.empty()) {
-    // Delete last appended " | " substring.
-    ss.erase(ss.end() - 3, ss.end());
+    if (!ss.empty()) {
+      // Delete last appended " | " substring.
+      ss.erase(ss.end() - 3, ss.end());
+    }
   }
 
-  std::bitset<8 * sizeof(DWORD)> mask(channel_mask);
-  ss += " (";
-  ss += std::to_string(mask.count());
-  ss += ")";
+  // Add number of utilized channels, e.g. "(2)" but exclude this part for
+  // direct output mode since the number of ones in the channel mask does not
+  // reflect the number of channels for this case.
+  if (channel_mask != KSAUDIO_SPEAKER_DIRECTOUT) {
+    std::bitset<8 * sizeof(DWORD)> mask(channel_mask);
+    ss += " (";
+    ss += std::to_string(mask.count());
+    ss += ")";
+  }
   return ss;
 }
 
diff --git a/media/base/audio_parameters.cc b/media/base/audio_parameters.cc
index f05f18cb..801896f 100644
--- a/media/base/audio_parameters.cc
+++ b/media/base/audio_parameters.cc
@@ -117,11 +117,11 @@
 
 std::string AudioParameters::AsHumanReadableString() const {
   std::ostringstream s;
-  s << "format: " << format() << " channel_layout: " << channel_layout()
-    << " channels: " << channels() << " sample_rate: " << sample_rate()
-    << " frames_per_buffer: " << frames_per_buffer()
-    << " effects: " << effects()
-    << " mic_positions: " << PointsToString(mic_positions_);
+  s << "format: " << format() << ", channel_layout: " << channel_layout()
+    << ", channels: " << channels() << ", sample_rate: " << sample_rate()
+    << ", frames_per_buffer: " << frames_per_buffer()
+    << ", effects: " << effects()
+    << ", mic_positions: " << PointsToString(mic_positions_);
   if (hardware_capabilities_) {
     s << ", hw_cap.min_frames_per_buffer: "
       << hardware_capabilities_->min_frames_per_buffer
diff --git a/media/base/audio_parameters.h b/media/base/audio_parameters.h
index 7862759..d153110f 100644
--- a/media/base/audio_parameters.h
+++ b/media/base/audio_parameters.h
@@ -221,7 +221,7 @@
   ChannelLayout channel_layout() const { return channel_layout_; }
 
   // The number of channels is usually computed from channel_layout_. Setting
-  // this explictly is only required with CHANNEL_LAYOUT_DISCRETE.
+  // this explicitly is only required with CHANNEL_LAYOUT_DISCRETE.
   void set_channels_for_discrete(int channels) {
     DCHECK(channel_layout_ == CHANNEL_LAYOUT_DISCRETE ||
            channels == ChannelLayoutToChannelCount(channel_layout_));
diff --git a/mojo/public/cpp/bindings/clone_traits.h b/mojo/public/cpp/bindings/clone_traits.h
index e7e0a14..604bfffb 100644
--- a/mojo/public/cpp/bindings/clone_traits.h
+++ b/mojo/public/cpp/bindings/clone_traits.h
@@ -79,7 +79,7 @@
 template <typename T>
 T Clone(const T& input) {
   return CloneTraits<T>::Clone(input);
-};
+}
 
 }  // namespace mojo
 
diff --git a/mojo/public/cpp/bindings/type_converter.h b/mojo/public/cpp/bindings/type_converter.h
index 395eeb4..c0e5b99 100644
--- a/mojo/public/cpp/bindings/type_converter.h
+++ b/mojo/public/cpp/bindings/type_converter.h
@@ -109,7 +109,7 @@
 template <typename T, typename U>
 inline T ConvertTo(const U& obj) {
   return TypeConverter<T, U>::Convert(obj);
-};
+}
 
 }  // namespace mojo
 
diff --git a/net/third_party/quic/core/congestion_control/rtt_stats.h b/net/third_party/quic/core/congestion_control/rtt_stats.h
index 93d10166..7d486d6 100644
--- a/net/third_party/quic/core/congestion_control/rtt_stats.h
+++ b/net/third_party/quic/core/congestion_control/rtt_stats.h
@@ -1,7 +1,7 @@
 // Copyright 2014 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
+
 // A convenience class to store rtt samples and calculate smoothed rtt.
 
 #ifndef NET_THIRD_PARTY_QUIC_CORE_CONGESTION_CONTROL_RTT_STATS_H_
diff --git a/net/third_party/quic/core/congestion_control/windowed_filter_test.cc b/net/third_party/quic/core/congestion_control/windowed_filter_test.cc
index c7c28ab..fa28f66 100644
--- a/net/third_party/quic/core/congestion_control/windowed_filter_test.cc
+++ b/net/third_party/quic/core/congestion_control/windowed_filter_test.cc
@@ -1,7 +1,7 @@
 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
+
 #include "net/third_party/quic/core/congestion_control/windowed_filter.h"
 
 #include "net/third_party/quic/core/congestion_control/rtt_stats.h"
diff --git a/net/third_party/quic/core/crypto/quic_crypto_client_config.cc b/net/third_party/quic/core/crypto/quic_crypto_client_config.cc
index fd4c37d..adb2ccf 100644
--- a/net/third_party/quic/core/crypto/quic_crypto_client_config.cc
+++ b/net/third_party/quic/core/crypto/quic_crypto_client_config.cc
@@ -7,7 +7,6 @@
 #include <algorithm>
 #include <memory>
 
-#include "base/metrics/histogram_macros.h"
 #include "net/third_party/quic/core/crypto/cert_compressor.h"
 #include "net/third_party/quic/core/crypto/chacha20_poly1305_encrypter.h"
 #include "net/third_party/quic/core/crypto/channel_id.h"
diff --git a/net/third_party/quic/core/http/end_to_end_test.cc b/net/third_party/quic/core/http/end_to_end_test.cc
index 5900b6dd..70fef00 100644
--- a/net/third_party/quic/core/http/end_to_end_test.cc
+++ b/net/third_party/quic/core/http/end_to_end_test.cc
@@ -425,7 +425,7 @@
               client_->client()->client_session()->connection()),
           QuicConnectionPeer::GetAlarmFactory(
               client_->client()->client_session()->connection()),
-          std::make_unique<ClientDelegate>(client_->client()));
+          QuicMakeUnique<ClientDelegate>(client_->client()));
     }
     initialized_ = true;
     return client_->client()->connected();
@@ -471,7 +471,7 @@
 
     server_writer_->Initialize(QuicDispatcherPeer::GetHelper(dispatcher),
                                QuicDispatcherPeer::GetAlarmFactory(dispatcher),
-                               std::make_unique<ServerDelegate>(dispatcher));
+                               QuicMakeUnique<ServerDelegate>(dispatcher));
     if (stream_factory_ != nullptr) {
       static_cast<QuicTestServer*>(server_thread_->server())
           ->SetSpdyStreamFactory(stream_factory_);
@@ -3135,7 +3135,7 @@
           client_->client()->client_session()->connection()),
       QuicConnectionPeer::GetAlarmFactory(
           client_->client()->client_session()->connection()),
-      std::make_unique<ClientDelegate>(client_->client()));
+      QuicMakeUnique<ClientDelegate>(client_->client()));
   initialized_ = true;
   ASSERT_TRUE(client_->client()->connected());
 
diff --git a/net/third_party/quic/core/http/http_decoder.cc b/net/third_party/quic/core/http/http_decoder.cc
index ef82244..4f4b177 100644
--- a/net/third_party/quic/core/http/http_decoder.cc
+++ b/net/third_party/quic/core/http/http_decoder.cc
@@ -93,8 +93,6 @@
     return;
   }
 
-  QUIC_DVLOG(1) << "CURRENT FRAME TYPE IS " << current_frame_type_;
-
   state_ = STATE_READING_FRAME_PAYLOAD;
 }
 
diff --git a/net/third_party/quic/core/http/http_decoder_test.cc b/net/third_party/quic/core/http/http_decoder_test.cc
index 05c4a34..92f811f 100644
--- a/net/third_party/quic/core/http/http_decoder_test.cc
+++ b/net/third_party/quic/core/http/http_decoder_test.cc
@@ -341,8 +341,6 @@
   // Send data.
   EXPECT_CALL(visitor_, OnDataFrameStart(Http3FrameLengths(3, 2048)));
   EXPECT_CALL(visitor_, OnDataFramePayload(QuicStringPiece(input)));
-  // EXPECT_CALL(visitor_,
-  //            OnDataFramePayload(QuicStringPiece(QuicString(2048, 'x'))));
   EXPECT_CALL(visitor_, OnDataFrameEnd());
   EXPECT_EQ(2048u, decoder_.ProcessInput(input.data(), 2048));
   EXPECT_EQ(QUIC_NO_ERROR, decoder_.error());
diff --git a/net/third_party/quic/core/http/quic_spdy_client_session.h b/net/third_party/quic/core/http/quic_spdy_client_session.h
index c3af68c..6aea126 100644
--- a/net/third_party/quic/core/http/quic_spdy_client_session.h
+++ b/net/third_party/quic/core/http/quic_spdy_client_session.h
@@ -1,7 +1,7 @@
 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
+
 // A client specific QuicSession subclass.
 
 #ifndef NET_THIRD_PARTY_QUIC_CORE_HTTP_QUIC_SPDY_CLIENT_SESSION_H_
diff --git a/net/third_party/quic/core/qpack/qpack_decoder.cc b/net/third_party/quic/core/qpack/qpack_decoder.cc
index 6bfa826..7735b33 100644
--- a/net/third_party/quic/core/qpack/qpack_decoder.cc
+++ b/net/third_party/quic/core/qpack/qpack_decoder.cc
@@ -7,10 +7,7 @@
 #include <limits>
 
 #include "base/logging.h"
-#include "net/third_party/quic/core/qpack/qpack_constants.h"
 #include "net/third_party/quic/platform/api/quic_ptr_util.h"
-#include "net/third_party/quiche/src/http2/decoder/decode_buffer.h"
-#include "net/third_party/quiche/src/http2/decoder/decode_status.h"
 
 namespace quic {
 
diff --git a/net/third_party/quic/core/quic_control_frame_manager.h b/net/third_party/quic/core/quic_control_frame_manager.h
index 038193b..d8671946 100644
--- a/net/third_party/quic/core/quic_control_frame_manager.h
+++ b/net/third_party/quic/core/quic_control_frame_manager.h
@@ -53,6 +53,14 @@
   // immediately.
   void WriteOrBufferBlocked(QuicStreamId id);
 
+  // Tries to send a STREAM_ID_BLOCKED Frame. Buffers the frame if it cannot be
+  // sent immediately.
+  void WriteOrBufferStreamIdBlocked(QuicStreamId id);
+
+  // Tries to send a MAX_STREAM_ID Frame. Buffers the frame if it cannot be sent
+  // immediately.
+  void WriteOrBufferMaxStreamId(QuicStreamId id);
+
   // Tries to send a packet with both a RST_STREAM and, if version 99, an
   // IETF-QUIC STOP_SENDING frame. The frames are buffered if they can not
   // be sent immediately.
@@ -64,14 +72,6 @@
   // can not be sent immediately.
   void WriteOrBufferStopSending(uint16_t code, QuicStreamId stream_id);
 
-  // Tries to send a STREAM_ID_BLOCKED Frame. Buffers the frame if it cannot be
-  // sent immediately.
-  void WriteOrBufferStreamIdBlocked(QuicStreamId id);
-
-  // Tries to send a MAX_STREAM_ID Frame. Buffers the frame if it cannot be sent
-  // immediately.
-  void WriteOrBufferMaxStreamId(QuicStreamId id);
-
   // Sends a PING_FRAME. Do not send PING if there is buffered frames.
   void WritePing();
 
diff --git a/net/third_party/quic/core/quic_crypto_client_handshaker.cc b/net/third_party/quic/core/quic_crypto_client_handshaker.cc
index b8b6498..65f8038 100644
--- a/net/third_party/quic/core/quic_crypto_client_handshaker.cc
+++ b/net/third_party/quic/core/quic_crypto_client_handshaker.cc
@@ -6,8 +6,6 @@
 
 #include <memory>
 
-#include "base/metrics/histogram_functions.h"
-#include "base/metrics/histogram_macros.h"
 #include "net/third_party/quic/core/crypto/crypto_protocol.h"
 #include "net/third_party/quic/core/crypto/crypto_utils.h"
 #include "net/third_party/quic/core/quic_session.h"
diff --git a/net/third_party/quic/core/quic_crypto_client_handshaker_test.cc b/net/third_party/quic/core/quic_crypto_client_handshaker_test.cc
index 8a8d2ca..205ffe6e 100644
--- a/net/third_party/quic/core/quic_crypto_client_handshaker_test.cc
+++ b/net/third_party/quic/core/quic_crypto_client_handshaker_test.cc
@@ -131,7 +131,7 @@
                                                  &alarm_factory_,
                                                  Perspective::IS_CLIENT)),
         session_(connection_, false),
-        crypto_client_config_(std::make_unique<InsecureProofVerifier>(),
+        crypto_client_config_(QuicMakeUnique<InsecureProofVerifier>(),
                               quic::TlsClientHandshaker::CreateSslCtx()),
         client_stream_(new QuicCryptoClientStream(server_id_,
                                                   &session_,
diff --git a/net/third_party/quic/core/quic_epoll_connection_helper.h b/net/third_party/quic/core/quic_epoll_connection_helper.h
index d996e08..9bf7335f 100644
--- a/net/third_party/quic/core/quic_epoll_connection_helper.h
+++ b/net/third_party/quic/core/quic_epoll_connection_helper.h
@@ -1,9 +1,9 @@
 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
-// The Google-specific helper for QuicConnection which uses
-// net::EpollAlarm for alarms, and used an int fd_ for writing data.
+
+// The epoll-specific helper for QuicConnection which uses
+// EpollAlarm for alarms, and used an int fd_ for writing data.
 
 #ifndef NET_THIRD_PARTY_QUIC_CORE_QUIC_EPOLL_CONNECTION_HELPER_H_
 #define NET_THIRD_PARTY_QUIC_CORE_QUIC_EPOLL_CONNECTION_HELPER_H_
diff --git a/net/third_party/quic/core/quic_framer.cc b/net/third_party/quic/core/quic_framer.cc
index eb90e2d..35801a5 100644
--- a/net/third_party/quic/core/quic_framer.cc
+++ b/net/third_party/quic/core/quic_framer.cc
@@ -754,7 +754,6 @@
                                    const QuicFrames& frames,
                                    char* buffer,
                                    size_t packet_length) {
-  QUIC_DVLOG(1) << "PARKCET SIZE IS " << frames.size();
   if (version_.transport_version == QUIC_VERSION_99) {
     return BuildIetfDataPacket(header, frames, buffer, packet_length);
   }
diff --git a/net/third_party/quic/core/quic_session.h b/net/third_party/quic/core/quic_session.h
index f442390..f78a231 100644
--- a/net/third_party/quic/core/quic_session.h
+++ b/net/third_party/quic/core/quic_session.h
@@ -201,15 +201,15 @@
   // Sends a WINDOW_UPDATE frame.
   virtual void SendWindowUpdate(QuicStreamId id, QuicStreamOffset byte_offset);
 
-  // Create and transmit a STOP_SENDING frame
-  virtual void SendStopSending(uint16_t code, QuicStreamId stream_id);
-
   // Send a MAX_STREAM_ID frame.
   void SendMaxStreamId(QuicStreamId max_allowed_incoming_id);
 
   // Send a STREAM_ID_BLOCKED frame.
   void SendStreamIdBlocked(QuicStreamId max_allowed_outgoing_id);
 
+  // Create and transmit a STOP_SENDING frame
+  virtual void SendStopSending(uint16_t code, QuicStreamId stream_id);
+
   // Removes the stream associated with 'stream_id' from the active stream map.
   virtual void CloseStream(QuicStreamId stream_id);
 
diff --git a/net/third_party/quic/core/quic_stream_sequencer_buffer.cc b/net/third_party/quic/core/quic_stream_sequencer_buffer.cc
index a9f5f897..4289f96d 100644
--- a/net/third_party/quic/core/quic_stream_sequencer_buffer.cc
+++ b/net/third_party/quic/core/quic_stream_sequencer_buffer.cc
@@ -4,7 +4,6 @@
 
 #include "net/third_party/quic/core/quic_stream_sequencer_buffer.h"
 
-#include "base/format_macros.h"
 #include "net/third_party/quic/core/quic_constants.h"
 #include "net/third_party/quic/platform/api/quic_bug_tracker.h"
 #include "net/third_party/quic/platform/api/quic_flag_utils.h"
diff --git a/net/third_party/quic/core/quic_write_blocked_list_test.cc b/net/third_party/quic/core/quic_write_blocked_list_test.cc
index 43c97d3..7cb1e90 100644
--- a/net/third_party/quic/core/quic_write_blocked_list_test.cc
+++ b/net/third_party/quic/core/quic_write_blocked_list_test.cc
@@ -1,7 +1,7 @@
 // Copyright 2014 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
+
 #include "net/third_party/quic/core/quic_write_blocked_list.h"
 
 #include "net/third_party/quic/platform/api/quic_test.h"
diff --git a/net/third_party/quic/platform/api/quic_file_utils.h b/net/third_party/quic/platform/api/quic_file_utils.h
index 024c9958..39503cb6 100644
--- a/net/third_party/quic/platform/api/quic_file_utils.h
+++ b/net/third_party/quic/platform/api/quic_file_utils.h
@@ -21,6 +21,7 @@
 // Reads the contents of |filename| as a string into |contents|.
 QUIC_EXPORT_PRIVATE void ReadFileContents(QuicStringPiece filename,
                                           QuicString* contents);
+
 }  // namespace quic
 
 #endif  // NET_THIRD_PARTY_QUIC_PLATFORM_API_QUIC_FILE_UTILS_H_
diff --git a/net/third_party/quic/platform/impl/quic_client_stats_impl.h b/net/third_party/quic/platform/impl/quic_client_stats_impl.h
index c9ed0c6e..1960df78 100644
--- a/net/third_party/quic/platform/impl/quic_client_stats_impl.h
+++ b/net/third_party/quic/platform/impl/quic_client_stats_impl.h
@@ -6,6 +6,7 @@
 #define NET_THIRD_PARTY_QUIC_PLATFORM_IMPL_QUIC_CLIENT_STATS_IMPL_H_
 
 #include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
 
 namespace quic {
 
diff --git a/net/third_party/quic/test_tools/crypto_test_utils.cc b/net/third_party/quic/test_tools/crypto_test_utils.cc
index a606454..6417f10 100644
--- a/net/third_party/quic/test_tools/crypto_test_utils.cc
+++ b/net/third_party/quic/test_tools/crypto_test_utils.cc
@@ -1001,11 +1001,8 @@
   QuicStringPiece orbit;
   CHECK(msg->GetStringPiece(kORBT, &orbit));
   QuicString nonce;
-  CryptoUtils::GenerateNonce(
-      clock->WallNow(), QuicRandom::GetInstance(),
-      QuicStringPiece(reinterpret_cast<const char*>(orbit.data()),
-                      sizeof(orbit.size())),
-      &nonce);
+  CryptoUtils::GenerateNonce(clock->WallNow(), QuicRandom::GetInstance(), orbit,
+                             &nonce);
   return ("#" + QuicTextUtils::HexEncode(nonce));
 }
 
diff --git a/net/third_party/quic/test_tools/crypto_test_utils_test.cc b/net/third_party/quic/test_tools/crypto_test_utils_test.cc
index a6b8551..d15df40a 100644
--- a/net/third_party/quic/test_tools/crypto_test_utils_test.cc
+++ b/net/third_party/quic/test_tools/crypto_test_utils_test.cc
@@ -138,11 +138,8 @@
   QuicStringPiece orbit;
   ASSERT_TRUE(msg->GetStringPiece(kORBT, &orbit));
   QuicString nonce;
-  CryptoUtils::GenerateNonce(
-      clock.WallNow(), QuicRandom::GetInstance(),
-      QuicStringPiece(reinterpret_cast<const char*>(orbit.data()),
-                      sizeof(orbit.size())),
-      &nonce);
+  CryptoUtils::GenerateNonce(clock.WallNow(), QuicRandom::GetInstance(), orbit,
+                             &nonce);
   QuicString nonce_hex = "#" + QuicTextUtils::HexEncode(nonce);
 
   char public_value[32];
diff --git a/net/third_party/quic/test_tools/packet_dropping_test_writer.cc b/net/third_party/quic/test_tools/packet_dropping_test_writer.cc
index 754ef0a..2de1d6d2 100644
--- a/net/third_party/quic/test_tools/packet_dropping_test_writer.cc
+++ b/net/third_party/quic/test_tools/packet_dropping_test_writer.cc
@@ -4,9 +4,6 @@
 
 #include "net/third_party/quic/test_tools/packet_dropping_test_writer.h"
 
-#include <limits>
-
-#include "base/rand_util.h"
 #include "net/third_party/quic/core/quic_epoll_connection_helper.h"
 #include "net/third_party/quic/platform/api/quic_logging.h"
 #include "net/third_party/quic/platform/impl/quic_socket_utils.h"
@@ -53,7 +50,6 @@
     : clock_(nullptr),
       cur_buffer_size_(0),
       num_calls_to_write_(0),
-      config_mutex_(),
       fake_packet_loss_percentage_(0),
       fake_drop_first_n_packets_(0),
       fake_blocked_socket_percentage_(0),
@@ -62,7 +58,7 @@
       fake_bandwidth_(QuicBandwidth::Zero()),
       buffer_size_(0),
       num_consecutive_packet_lost_(0) {
-  uint32_t seed = base::RandInt(0, std::numeric_limits<int32_t>::max());
+  uint64_t seed = QuicRandom::GetInstance()->RandUint64();
   QUIC_LOG(INFO) << "Seeding packet loss with " << seed;
   simple_random_.set_seed(seed);
 }
@@ -250,17 +246,6 @@
       options(std::move(options)),
       send_time(send_time) {}
 
-// TODO(rtenneti): on windows RValue reference gives errors.
-PacketDroppingTestWriter::DelayedWrite::DelayedWrite(
-    PacketDroppingTestWriter::DelayedWrite&& other) = default;
-
-// TODO(rtenneti): on windows RValue reference gives errors.
-// IPAddress has no move assignment operator.
-//
-// PacketDroppingTestWriter::DelayedWrite&
-// PacketDroppingTestWriter::DelayedWrite::operator=(
-//    PacketDroppingTestWriter::DelayedWrite&& other) = default;
-
 PacketDroppingTestWriter::DelayedWrite::~DelayedWrite() = default;
 
 }  // namespace test
diff --git a/net/third_party/quic/test_tools/packet_dropping_test_writer.h b/net/third_party/quic/test_tools/packet_dropping_test_writer.h
index 8e2e036..0954858 100644
--- a/net/third_party/quic/test_tools/packet_dropping_test_writer.h
+++ b/net/third_party/quic/test_tools/packet_dropping_test_writer.h
@@ -12,13 +12,10 @@
 #include <memory>
 #include <string>
 
-#include "base/logging.h"
 #include "base/macros.h"
-#include "base/synchronization/lock.h"
-#include "net/base/ip_address.h"
 #include "net/third_party/quic/core/quic_alarm.h"
 #include "net/third_party/quic/core/quic_packet_writer_wrapper.h"
-#include "net/third_party/quic/platform/impl/quic_epoll_clock.h"
+#include "net/third_party/quic/platform/api/quic_clock.h"
 #include "net/third_party/quic/test_tools/quic_test_client.h"
 #include "net/third_party/quic/test_tools/quic_test_utils.h"
 
@@ -141,16 +138,14 @@
                  std::unique_ptr<PerPacketOptions> options,
                  QuicTime send_time);
     DelayedWrite(const DelayedWrite&) = delete;
+    DelayedWrite(DelayedWrite&&) = default;
     DelayedWrite& operator=(const DelayedWrite&) = delete;
-    // TODO(rtenneti): on windows RValue reference gives errors.
-    DelayedWrite(DelayedWrite&& other);
-    // TODO(rtenneti): on windows RValue reference gives errors.
-    //    DelayedWrite& operator=(DelayedWrite&& other);
+    DelayedWrite& operator=(DelayedWrite&&) = default;
     ~DelayedWrite();
 
     QuicString buffer;
-    const QuicIpAddress self_address;
-    const QuicSocketAddress peer_address;
+    QuicIpAddress self_address;
+    QuicSocketAddress peer_address;
     std::unique_ptr<PerPacketOptions> options;
     QuicTime send_time;
   };
diff --git a/net/third_party/quic/test_tools/quic_test_utils.h b/net/third_party/quic/test_tools/quic_test_utils.h
index 7841910..81e4efb 100644
--- a/net/third_party/quic/test_tools/quic_test_utils.h
+++ b/net/third_party/quic/test_tools/quic_test_utils.h
@@ -720,8 +720,8 @@
   MOCK_METHOD2(OnPriorityFrame,
                void(QuicStreamId id, spdy::SpdyPriority priority));
 
-  // Methods taking non-copyable types like spdy::SpdyHeaderBlock by value
-  // cannot be mocked directly.
+  // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be
+  // mocked directly.
   size_t WriteHeaders(QuicStreamId id,
                       spdy::SpdyHeaderBlock headers,
                       bool fin,
diff --git a/net/third_party/quic/test_tools/simulator/quic_endpoint_test.cc b/net/third_party/quic/test_tools/simulator/quic_endpoint_test.cc
index 5979bd49..a26f4f6 100644
--- a/net/third_party/quic/test_tools/simulator/quic_endpoint_test.cc
+++ b/net/third_party/quic/test_tools/simulator/quic_endpoint_test.cc
@@ -154,7 +154,7 @@
 
 // Simulate three hosts trying to send data to a fourth one simultaneously.
 TEST_F(QuicEndpointTest, Competition) {
-  // TODO(fayang): Turn back on this flag when the issue if fixed.
+  // TODO(63765788): Turn back on this flag when the issue if fixed.
   SetQuicReloadableFlag(quic_bbr_one_mss_conservation, false);
   auto endpoint_a = QuicMakeUnique<QuicEndpoint>(
       &simulator_, "Endpoint A", "Endpoint D (A)", Perspective::IS_CLIENT,
diff --git a/net/third_party/quic/tools/quic_backend_response.cc b/net/third_party/quic/tools/quic_backend_response.cc
index 7969f988..57be0bc1 100644
--- a/net/third_party/quic/tools/quic_backend_response.cc
+++ b/net/third_party/quic/tools/quic_backend_response.cc
@@ -26,4 +26,4 @@
 
 QuicBackendResponse::~QuicBackendResponse() = default;
 
-}  // namespace quic
\ No newline at end of file
+}  // namespace quic
diff --git a/net/third_party/quic/tools/quic_client_base.h b/net/third_party/quic/tools/quic_client_base.h
index db3dbb7..49d59cb5 100644
--- a/net/third_party/quic/tools/quic_client_base.h
+++ b/net/third_party/quic/tools/quic_client_base.h
@@ -198,6 +198,7 @@
       writer_.reset(writer);
     }
   }
+
   void reset_writer() { writer_.reset(); }
 
   ProofVerifier* proof_verifier() const;
diff --git a/net/third_party/quic/tools/quic_client_epoll_network_helper.h b/net/third_party/quic/tools/quic_client_epoll_network_helper.h
index b5a7d217..096ce12 100644
--- a/net/third_party/quic/tools/quic_client_epoll_network_helper.h
+++ b/net/third_party/quic/tools/quic_client_epoll_network_helper.h
@@ -1,7 +1,7 @@
 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-//
+
 // An implementation of the QuicClientBase::NetworkHelper
 // that is based off the epoll server.
 
diff --git a/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.cc b/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.cc
index 71bdd24..b4fda5e 100644
--- a/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.cc
+++ b/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.cc
@@ -26,7 +26,7 @@
     const QuicSocketAddress& client_address,
     const QuicSocketAddress& peer_address,
     const QuicSocketAddress& self_address,
-    std::string* error_details) const {
+    QuicString* error_details) const {
   return true;
 }
 
diff --git a/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.h b/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.h
index f6b2677..7aabbda5 100644
--- a/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.h
+++ b/net/third_party/quic/tools/quic_simple_crypto_server_stream_helper.h
@@ -26,7 +26,7 @@
                             const QuicSocketAddress& client_address,
                             const QuicSocketAddress& peer_address,
                             const QuicSocketAddress& self_address,
-                            std::string* error_details) const override;
+                            QuicString* error_details) const override;
 
  private:
   QuicRandom* random_;  // Unowned.
diff --git a/net/third_party/quic/tools/quic_simple_dispatcher.cc b/net/third_party/quic/tools/quic_simple_dispatcher.cc
index eca3a7bb..b147620 100644
--- a/net/third_party/quic/tools/quic_simple_dispatcher.cc
+++ b/net/third_party/quic/tools/quic_simple_dispatcher.cc
@@ -31,9 +31,8 @@
   auto it = rst_error_map_.find(error_code);
   if (it == rst_error_map_.end()) {
     return 0;
-  } else {
-    return it->second;
   }
+  return it->second;
 }
 
 void QuicSimpleDispatcher::OnRstStreamReceived(
diff --git a/net/third_party/quic/tools/quic_simple_server_session_test.cc b/net/third_party/quic/tools/quic_simple_server_session_test.cc
index 1d789dc..89fcafd 100644
--- a/net/third_party/quic/tools/quic_simple_server_session_test.cc
+++ b/net/third_party/quic/tools/quic_simple_server_session_test.cc
@@ -147,8 +147,8 @@
                                 crypto_config,
                                 compressed_certs_cache,
                                 quic_simple_server_backend) {}
-  // Methods taking non-copyable types like spdy::SpdyHeaderBlock by value
-  // cannot be mocked directly.
+  // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be
+  // mocked directly.
   size_t WritePushPromise(QuicStreamId original_stream_id,
                           QuicStreamId promised_stream_id,
                           spdy::SpdyHeaderBlock headers) override {
diff --git a/net/third_party/quic/tools/quic_simple_server_stream_test.cc b/net/third_party/quic/tools/quic_simple_server_stream_test.cc
index 727cf94..09c4791b2 100644
--- a/net/third_party/quic/tools/quic_simple_server_stream_test.cc
+++ b/net/third_party/quic/tools/quic_simple_server_stream_test.cc
@@ -131,8 +131,8 @@
                     const QuicHeaderList& header_list));
   MOCK_METHOD2(OnStreamHeadersPriority,
                void(QuicStreamId stream_id, spdy::SpdyPriority priority));
-  // Methods taking non-copyable types like spdy::SpdyHeaderBlock by value
-  // cannot be mocked directly.
+  // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be
+  // mocked directly.
   size_t WriteHeaders(QuicStreamId id,
                       spdy::SpdyHeaderBlock headers,
                       bool fin,
@@ -154,7 +154,7 @@
                     QuicRstStreamErrorCode error,
                     QuicStreamOffset bytes_written));
   MOCK_METHOD1(OnHeadersHeadOfLineBlocking, void(QuicTime::Delta delta));
-  // Matchers cannot be used on non-copyable types like spdy::SpdyHeaderBlock.
+  // Matchers cannot be used on non-copyable types like SpdyHeaderBlock.
   void PromisePushResources(
       const QuicString& request_url,
       const std::list<QuicBackendResponse::ServerPushInfo>& resources,
diff --git a/net/third_party/quic/tools/quic_spdy_client_base.cc b/net/third_party/quic/tools/quic_spdy_client_base.cc
index e4d36cf..d039637 100644
--- a/net/third_party/quic/tools/quic_spdy_client_base.cc
+++ b/net/third_party/quic/tools/quic_spdy_client_base.cc
@@ -12,7 +12,7 @@
 #include "net/third_party/quic/platform/api/quic_ptr_util.h"
 #include "net/third_party/quic/platform/api/quic_text_utils.h"
 
-using base::StringToInt;
+using spdy::SpdyHeaderBlock;
 
 namespace quic {
 
@@ -22,7 +22,7 @@
 }
 
 QuicSpdyClientBase::QuicDataToResend::QuicDataToResend(
-    std::unique_ptr<spdy::SpdyHeaderBlock> headers,
+    std::unique_ptr<SpdyHeaderBlock> headers,
     QuicStringPiece body,
     bool fin)
     : headers_(std::move(headers)), body_(body), fin_(fin) {}
@@ -67,8 +67,7 @@
   QuicSpdyClientStream* client_stream =
       static_cast<QuicSpdyClientStream*>(stream);
 
-  const spdy::SpdyHeaderBlock& response_headers =
-      client_stream->response_headers();
+  const SpdyHeaderBlock& response_headers = client_stream->response_headers();
   if (response_listener_ != nullptr) {
     response_listener_->OnCompleteResponse(stream->id(), response_headers,
                                            client_stream->data());
@@ -99,7 +98,7 @@
       &push_promise_index_);
 }
 
-void QuicSpdyClientBase::SendRequest(const spdy::SpdyHeaderBlock& headers,
+void QuicSpdyClientBase::SendRequest(const SpdyHeaderBlock& headers,
                                      QuicStringPiece body,
                                      bool fin) {
   QuicClientPushPromiseIndex::TryHandle* handle;
@@ -124,7 +123,7 @@
 }
 
 void QuicSpdyClientBase::SendRequestAndWaitForResponse(
-    const spdy::SpdyHeaderBlock& headers,
+    const SpdyHeaderBlock& headers,
     QuicStringPiece body,
     bool fin) {
   SendRequest(headers, body, fin);
@@ -135,7 +134,7 @@
 void QuicSpdyClientBase::SendRequestsAndWaitForResponse(
     const std::vector<QuicString>& url_list) {
   for (size_t i = 0; i < url_list.size(); ++i) {
-    spdy::SpdyHeaderBlock headers;
+    SpdyHeaderBlock headers;
     if (!SpdyUtils::PopulateHeaderBlockFromUrl(url_list[i], &headers)) {
       QUIC_BUG << "Unable to create request";
       continue;
@@ -168,10 +167,9 @@
   return client_session()->GetNumReceivedServerConfigUpdates();
 }
 
-void QuicSpdyClientBase::MaybeAddDataToResend(
-    const spdy::SpdyHeaderBlock& headers,
-    QuicStringPiece body,
-    bool fin) {
+void QuicSpdyClientBase::MaybeAddDataToResend(const SpdyHeaderBlock& headers,
+                                              QuicStringPiece body,
+                                              bool fin) {
   if (!GetQuicReloadableFlag(enable_quic_stateless_reject_support)) {
     return;
   }
@@ -185,8 +183,8 @@
 
   // The handshake is not confirmed.  Push the data onto the queue of data to
   // resend if statelessly rejected.
-  std::unique_ptr<spdy::SpdyHeaderBlock> new_headers(
-      new spdy::SpdyHeaderBlock(headers.Clone()));
+  std::unique_ptr<SpdyHeaderBlock> new_headers(
+      new SpdyHeaderBlock(headers.Clone()));
   std::unique_ptr<QuicDataToResend> data_to_resend(
       new ClientQuicDataToResend(std::move(new_headers), body, fin, this));
   MaybeAddQuicDataToResend(std::move(data_to_resend));
@@ -211,20 +209,18 @@
   }
 }
 
-void QuicSpdyClientBase::AddPromiseDataToResend(
-    const spdy::SpdyHeaderBlock& headers,
-    QuicStringPiece body,
-    bool fin) {
-  std::unique_ptr<spdy::SpdyHeaderBlock> new_headers(
-      new spdy::SpdyHeaderBlock(headers.Clone()));
+void QuicSpdyClientBase::AddPromiseDataToResend(const SpdyHeaderBlock& headers,
+                                                QuicStringPiece body,
+                                                bool fin) {
+  std::unique_ptr<SpdyHeaderBlock> new_headers(
+      new SpdyHeaderBlock(headers.Clone()));
   push_promise_data_to_resend_.reset(
       new ClientQuicDataToResend(std::move(new_headers), body, fin, this));
 }
 
-bool QuicSpdyClientBase::CheckVary(
-    const spdy::SpdyHeaderBlock& client_request,
-    const spdy::SpdyHeaderBlock& promise_request,
-    const spdy::SpdyHeaderBlock& promise_response) {
+bool QuicSpdyClientBase::CheckVary(const SpdyHeaderBlock& client_request,
+                                   const SpdyHeaderBlock& promise_request,
+                                   const SpdyHeaderBlock& promise_response) {
   return true;
 }
 
@@ -254,7 +250,7 @@
   return preliminary_response_headers_;
 }
 
-const spdy::SpdyHeaderBlock& QuicSpdyClientBase::latest_response_header_block()
+const SpdyHeaderBlock& QuicSpdyClientBase::latest_response_header_block()
     const {
   QUIC_BUG_IF(!store_response_) << "Response not stored!";
   return latest_response_header_block_;
diff --git a/printing/BUILD.gn b/printing/BUILD.gn
index cd69105..65cb521e 100644
--- a/printing/BUILD.gn
+++ b/printing/BUILD.gn
@@ -273,6 +273,7 @@
     "page_range_unittest.cc",
     "page_setup_unittest.cc",
     "pdf_metafile_cg_mac_unittest.cc",
+    "print_settings_conversion_unittest.cc",
     "printing_context_win_unittest.cc",
     "printing_test.h",
     "printing_utils_unittest.cc",
diff --git a/printing/backend/cups_ipp_util.cc b/printing/backend/cups_ipp_util.cc
index 244712e..eca4e0b 100644
--- a/printing/backend/cups_ipp_util.cc
+++ b/printing/backend/cups_ipp_util.cc
@@ -30,6 +30,8 @@
 constexpr char kIppMedia[] = CUPS_MEDIA;
 constexpr char kIppDuplex[] = CUPS_SIDES;
 constexpr char kIppResolution[] = "printer-resolution";  // RFC 2911
+constexpr char kIppDocumentName[] = "document-name";     // RFC 8011
+constexpr char kIppRequestingUserName[] = "requesting-user-name";  // RFC 8011
 
 // collation values
 constexpr char kCollated[] = "collated";
diff --git a/printing/backend/cups_ipp_util.h b/printing/backend/cups_ipp_util.h
index 0e7c309..d01efd3 100644
--- a/printing/backend/cups_ipp_util.h
+++ b/printing/backend/cups_ipp_util.h
@@ -21,6 +21,8 @@
 extern const char kIppColor[];
 extern const char kIppMedia[];
 extern const char kIppDuplex[];
+extern const char kIppDocumentName[];
+extern const char kIppRequestingUserName[];
 
 extern const char kCollated[];
 extern const char kUncollated[];
diff --git a/printing/backend/printing_restrictions.h b/printing/backend/printing_restrictions.h
index 133b0c6..e29b348 100644
--- a/printing/backend/printing_restrictions.h
+++ b/printing/backend/printing_restrictions.h
@@ -47,7 +47,7 @@
 
 // Dictionary key for printing policies.
 // Must coincide with the name of field in |print_preview.Policies| in
-// chrome/browser/resources/print_preview/native_layer.js
+// chrome/browser/resources/print_preview/data/destination.js
 PRINTING_EXPORT extern const char kAllowedColorModes[];
 PRINTING_EXPORT extern const char kAllowedDuplexModes[];
 PRINTING_EXPORT extern const char kDefaultColorMode[];
diff --git a/printing/print_job_constants.cc b/printing/print_job_constants.cc
index 6eb7fc7..a58cd789 100644
--- a/printing/print_job_constants.cc
+++ b/printing/print_job_constants.cc
@@ -29,7 +29,7 @@
 // Print job setting 'collate'.
 const char kSettingCollate[] = "collate";
 
-// Print out color: true for color, false for grayscale.
+// Print out color. Value is an int from ColorModel enum.
 const char kSettingColor[] = "color";
 
 // Default to color on or not.
@@ -62,7 +62,7 @@
 // Scaling value required to fit the document to page.
 const char kSettingFitToPageScaling[] = "fitToPageScaling";
 
-// Print job duplex mode.
+// Print job duplex mode. Value is an int from DuplexMode enum.
 const char kSettingDuplexMode[] = "duplex";
 
 // Option to fit source page contents to printer paper size: true if
@@ -187,6 +187,9 @@
 // Ticket option. Contains the ticket in CJT format.
 const char kSettingTicket[] = "ticket";
 
+// Whether to sent user info to the printer.
+const char kSettingSendUserInfo[] = "sendUserInfo";
+
 // Whether to print CSS backgrounds.
 const char kSettingShouldPrintBackgrounds[] = "shouldPrintBackgrounds";
 
@@ -196,6 +199,9 @@
 // Whether to print using the system dialog.
 const char kSettingShowSystemDialog[] = "showSystemDialog";
 
+// Username to be sent to printer.
+const char kSettingUsername[] = "username";
+
 // Indices used to represent first preview page and complete preview document.
 const int FIRST_PAGE_INDEX = 0;
 const int COMPLETE_PREVIEW_DOCUMENT_INDEX = -1;
diff --git a/printing/print_job_constants.h b/printing/print_job_constants.h
index 86438c3d..c04f2a8 100644
--- a/printing/print_job_constants.h
+++ b/printing/print_job_constants.h
@@ -71,9 +71,11 @@
 PRINTING_EXPORT extern const char kSettingRasterizePdf[];
 PRINTING_EXPORT extern const char kSettingScaleFactor[];
 PRINTING_EXPORT extern const char kSettingTicket[];
+PRINTING_EXPORT extern const char kSettingSendUserInfo[];
 PRINTING_EXPORT extern const char kSettingShouldPrintBackgrounds[];
 PRINTING_EXPORT extern const char kSettingShouldPrintSelectionOnly[];
 PRINTING_EXPORT extern const char kSettingShowSystemDialog[];
+PRINTING_EXPORT extern const char kSettingUsername[];
 
 PRINTING_EXPORT extern const int FIRST_PAGE_INDEX;
 PRINTING_EXPORT extern const int COMPLETE_PREVIEW_DOCUMENT_INDEX;
diff --git a/printing/print_settings.h b/printing/print_settings.h
index 9916ff1f..dc931586 100644
--- a/printing/print_settings.h
+++ b/printing/print_settings.h
@@ -192,6 +192,16 @@
     pages_per_sheet_ = pages_per_sheet;
   }
 
+#if defined(OS_CHROMEOS)
+  void set_send_user_info(bool send_user_info) {
+    send_user_info_ = send_user_info;
+  }
+  bool send_user_info() const { return send_user_info_; }
+
+  void set_username(const std::string& username) { username_ = username; }
+  const std::string& username() const { return username_; }
+#endif
+
   // Cookie generator. It is used to initialize PrintedDocument with its
   // associated PrintSettings, to be sure that each generated PrintedPage is
   // correctly associated with its corresponding PrintedDocument.
@@ -270,6 +280,14 @@
 
   // Number of pages per sheet.
   int pages_per_sheet_;
+
+#if defined(OS_CHROMEOS)
+  // Whether to send user info.
+  bool send_user_info_;
+
+  // Username if it's required by the printer.
+  std::string username_;
+#endif
 };
 
 }  // namespace printing
diff --git a/printing/print_settings_conversion.cc b/printing/print_settings_conversion.cc
index 4ae32548..cdf5724 100644
--- a/printing/print_settings_conversion.cc
+++ b/printing/print_settings_conversion.cc
@@ -208,6 +208,18 @@
     settings->set_print_text_with_gdi(is_modifiable.value());
 #endif
   }
+
+#if defined(OS_CHROMEOS)
+  bool send_user_info =
+      job_settings.FindBoolKey(kSettingSendUserInfo).value_or(false);
+  settings->set_send_user_info(send_user_info);
+  if (send_user_info) {
+    const std::string* username = job_settings.FindStringKey(kSettingUsername);
+    if (username)
+      settings->set_username(*username);
+  }
+#endif
+
   return true;
 }
 
diff --git a/printing/print_settings_conversion_unittest.cc b/printing/print_settings_conversion_unittest.cc
new file mode 100644
index 0000000..0d44a264
--- /dev/null
+++ b/printing/print_settings_conversion_unittest.cc
@@ -0,0 +1,76 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "printing/print_settings_conversion.h"
+
+#include "base/json/json_reader.h"
+#include "base/values.h"
+#include "printing/print_settings.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace printing {
+
+namespace {
+
+const char kPrinterSettings[] = R"({
+  "headerFooterEnabled": true,
+  "title": "Test Doc",
+  "url": "http://localhost/",
+  "shouldPrintBackgrounds": false,
+  "shouldPrintSelectionOnly": false,
+  "mediaSize": {
+    "height_microns": 297000,
+    "width_microns": 210000
+  },
+  "marginsType": 0,
+  "pageRange": [{
+    "from": 1,
+    "to": 1
+  }],
+  "collate": false,
+  "copies": 1,
+  "color": 2,
+  "duplex": 0,
+  "landscape": false,
+  "deviceName": "printer",
+  "scaleFactor": 100,
+  "rasterizePDF": false,
+  "pagesPerSheet": 1,
+  "dpiHorizontal": 300,
+  "dpiVertical": 300,
+  "previewModifiable": true,
+  "sendUserInfo": true,
+  "username": "username@domain.net"
+})";
+
+}
+
+TEST(PrintSettingsConversionTest, ConversionTest) {
+  std::unique_ptr<base::Value> value = base::JSONReader::Read(kPrinterSettings);
+  ASSERT_TRUE(value);
+  PrintSettings settings;
+  bool success = PrintSettingsFromJobSettings(
+      base::Value::FromUniquePtrValue(std::move(value)), &settings);
+  ASSERT_TRUE(success);
+#if defined(OS_CHROMEOS)
+  EXPECT_TRUE(settings.send_user_info());
+  EXPECT_EQ("username@domain.net", settings.username());
+#endif
+}
+
+#if defined(OS_CHROMEOS)
+TEST(PrintSettingsConversionTest, ConversionTest_DontSendUsername) {
+  std::unique_ptr<base::Value> value = base::JSONReader::Read(kPrinterSettings);
+  ASSERT_TRUE(value);
+  value->SetKey(kSettingSendUserInfo, base::Value(false));
+  PrintSettings settings;
+  bool success = PrintSettingsFromJobSettings(
+      base::Value::FromUniquePtrValue(std::move(value)), &settings);
+  ASSERT_TRUE(success);
+  EXPECT_FALSE(settings.send_user_info());
+  EXPECT_EQ("", settings.username());
+}
+#endif
+
+}  // namespace printing
diff --git a/printing/printing_context_chromeos.cc b/printing/printing_context_chromeos.cc
index 0fb0e9a64..158f7a07 100644
--- a/printing/printing_context_chromeos.cc
+++ b/printing/printing_context_chromeos.cc
@@ -125,6 +125,12 @@
   options.push_back(
       ConstructOption(kIppCollate,
                       GetCollateString(settings.collate())));  // collate
+  if (settings.send_user_info()) {
+    options.push_back(
+        ConstructOption(kIppDocumentName, base::UTF16ToUTF8(settings.title())));
+    options.push_back(
+        ConstructOption(kIppRequestingUserName, settings.username()));
+  }
 
   return options;
 }
diff --git a/remoting/resources/remoting_strings_te.xtb b/remoting/resources/remoting_strings_te.xtb
index 680081c1..c732111 100644
--- a/remoting/resources/remoting_strings_te.xtb
+++ b/remoting/resources/remoting_strings_te.xtb
@@ -6,14 +6,14 @@
 <translation id="1050693411695664090">బలహీనంగా ఉంది</translation>
 <translation id="1152528166145813711">ఎంచుకోండి…</translation>
 <translation id="1199593201721843963">రిమోట్ కనెక్షన్‌లను నిలిపివేయి</translation>
-<translation id="1291443878853470558">మీరు ఈ కంప్యూటర్‌ను యాక్సెస్‌ చేయడానికి Chromotingను ఉపయోగించాలనుకుంటే మీరు రిమోట్ కనెక్షన్‌లను తప్పనిసరిగా ప్రారంభించాలి.</translation>
-<translation id="1297009705180977556"><ph name="HOSTNAME" />కు కనెక్ట్ చేయడంలో లోపం</translation>
-<translation id="1300633907480909701">మీ Android పరికరం నుండి మీ కంప్యూటర్‌లను సురక్షితంగా యాక్సెస్‌ చేయండి.
+<translation id="1291443878853470558">మీరు ఈ కంప్యూటర్‌ను యాక్సెస్ చేయడానికి Chromotingను ఉపయోగించాలనుకుంటే మీరు రిమోట్ కనెక్షన్‌లను తప్పనిసరిగా ప్రారంభించాలి.</translation>
+<translation id="1297009705180977556"><ph name="HOSTNAME" />కు కనెక్ట్ చేయడంలో ఎర్రర్</translation>
+<translation id="1300633907480909701">మీ Android పరికరం నుండి మీ కంప్యూటర్‌లను సురక్షితంగా యాక్సెస్ చేయండి.
 
-• మీ కంప్యూటర్‌ల‌లో ప్రతిదానిలోనూ, Chrome వెబ్ స్టోర్‌లోని Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ను ఉపయోగించి రిమోట్ యాక్సెస్‌ను సెటప్ చేయండి: https://chrome.google.com/remotedesktop
-• మీ Android పరికరంలో, యాప్‌ను తెరిచి, కనెక్ట్ చేయడానికి మీ ఆన్‌లైన్ కంప్యూటర్‌ల‌లో దేనిపైన అయినా నొక్కండి.
+• మీ కంప్యూటర్‌లో ప్రతిదానిలోనూ, Chrome వెబ్ స్టోర్‌లోని Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ని ఉపయోగించి రిమోట్ యాక్సెస్‌ను సెటప్ చేయండి: https://chrome.google.com/remotedesktop
+• మీ Android పరికరంలో, యాప్‌ని తెరిచి, కనెక్ట్ చేయడానికి మీ ఆన్‌లైన్ కంప్యూటర్‌ల్లో దేనిపైన అయినా నొక్కండి.
 
-US-ఇంగ్లీష్ కాని కీబోర్డ్‌లు కలిగి ఉన్న రిమోట్ కంప్యూటర్‌లు చెల్లని వచన ఇన్‌పుట్‌ను స్వీకరించవచ్చు. ఇతర కీబోర్డ్ లేఅవుట్‌లకు త్వరలోనే మద్దతు అందించబడుతుంది!
+US-ఆంగ్ల యేతర కీబోర్డ్‌లు కలిగి ఉన్న రిమోట్ కంప్యూటర్‌లు చెల్లని వచన ఇన్‌పుట్‌ను స్వీకరించవచ్చు. ఇతర కీబోర్డ్ లేఅవుట్‌లకు త్వరలోనే మద్దతు అందించబడుతుంది!
 
 గోప్యత గురించి సమాచారం కోసం, దయచేసి Google గోప్యతా విధానాన్ని (http://goo.gl/SyrVzj) మరియు Chrome గోప్యతా విధానాన్ని (http://goo.gl/0uXE5d) చూడండి.</translation>
 <translation id="1324095856329524885">(ఈ ఫీచర్ మీ కంప్యూటర్‌కి ఇంకా అందుబాటులో లేదు)</translation>
@@ -22,7 +22,7 @@
 <translation id="1450760146488584666">అభ్యర్థించిన ఆబ్జెక్ట్ లేదు.</translation>
 <translation id="1480046233931937785">క్రెడిట్‌లు</translation>
 <translation id="1520828917794284345">డెస్క్‌టాప్‌ను సరిపోయే పరిమాణానికి మార్చు</translation>
-<translation id="154040539590487450">రిమోట్ ప్రాప్యత సేవను ప్రారంభించడంలో విఫలమైంది.</translation>
+<translation id="154040539590487450">రిమోట్ యాక్సెస్ సేవను ప్రారంభించడంలో విఫలమైంది.</translation>
 <translation id="1546934824884762070">ఊహించని ఎర్రర్ ఏర్పడింది. దయచేసి డెవలపర్‌లకు ఈ సమస్యను నివేదించండి.</translation>
 <translation id="1624185583382384493">Chrome రిమోట్ డెస్క్‌టాప్ ఇప్పుడు వెబ్‌లో అందుబాటులో ఉంది. మా <ph name="LINK_BEGIN" />వెబ్ యాప్<ph name="LINK_END" /> ఉపయోగించండి —ఇది వేగంగా పని చేస్తుంది మరియు ఉచితంగా లభిస్తుంది, అలాగే పలు మానిటర్‌లకు మెరుగైన మద్దతుతో పాటు మరిన్ని ఫీచర్‌లను కలిగి ఉంది.</translation>
 <translation id="1643640058022401035">ఈ పేజీ నుండి నిష్క్రమించడం వలన మీ Chromoting సెషన్ ముగుస్తుంది.</translation>
@@ -46,13 +46,13 @@
 <translation id="2078880767960296260">హోస్ట్ ప్రక్రియ</translation>
 <translation id="20876857123010370">ట్రాక్ ప్యాడ్ మోడ్</translation>
 <translation id="2089514346391228378">ఈ కంప్యూటర్‌కు రిమోట్ కనెక్షన్‌లు ప్రారంభించబడ్డాయి.</translation>
-<translation id="2118549242412205620">మీ Android పరికరం నుండి మీ కంప్యూటర్‌లను సురక్షితంగా యాక్సెస్‌ చేయండి.
+<translation id="2118549242412205620">మీ Android పరికరం నుండి మీ కంప్యూటర్‌లను సురక్షితంగా యాక్సెస్ చేయండి.
 
-• మీ కంప్యూటర్‌ల‌లో ప్రతిదానిలోనూ, Chrome వెబ్ స్టోర్‌లోని Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ను ఉపయోగించి రిమోట్ యాక్సెస్‌ను సెటప్ చేయండి: https://chrome.google.com/remotedesktop
-• మీ Android పరికరంలో, యాప్‌ను తెరిచి, కనెక్ట్ చేయడానికి మీ ఆన్‌లైన్ కంప్యూటర్‌ల‌లో దేనిపైన అయినా నొక్కండి.
+• మీ కంప్యూటర్‌ల్లో ప్రతిదానిలోనూ, Chrome వెబ్ స్టోర్‌లోని Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ని ఉపయోగించి రిమోట్ యాక్సెస్‌ను సెటప్ చేయండి: https://chrome.google.com/remotedesktop
+• మీ Android పరికరంలో, యాప్‌ని తెరిచి, కనెక్ట్ చేయడానికి మీ ఆన్‌లైన్ కంప్యూటర్‌ల్లో దేనిపైన అయినా నొక్కండి.
 
 గోప్యత గురించి సమాచారం కోసం, దయచేసి Google గోప్యతా విధానాన్ని (http://goo.gl/SyrVzj) మరియు Chrome గోప్యతా విధానాన్ని (http://goo.gl/0uXE5d) చూడండి.</translation>
-<translation id="2124408767156847088">మీ Android పరికరం నుండి మీ కంప్యూటర్‌లను సురక్షితంగా ప్రాప్యత చేయండి.</translation>
+<translation id="2124408767156847088">మీ Android పరికరం నుండి మీ కంప్యూటర్‌లను సురక్షితంగా యాక్సెస్ చేయండి.</translation>
 <translation id="2208514473086078157">ఈ కంప్యూటర్‌ను Chrome రిమోట్ డెస్క్‌టాప్ హోస్ట్ లాగా షేర్ చేయడానికి విధాన సెట్టింగ్‌లు అనుమతించవు. సహాయం కోసం సిస్టమ్ నిర్వాహకుడిని సంప్రదించండి.</translation>
 <translation id="2220529011494928058">సమస్యను నివేదించండి</translation>
 <translation id="2221097377466213233">Win కీ (Macలో ⌘) కోసం కుడి Ctrl ఉపయోగించండి</translation>
@@ -60,7 +60,7 @@
 <translation id="2246783206985865117">ఈ సెట్టింగ్ మీ డొమైన్ విధానం ద్వారా నిర్వహించబడుతోంది.</translation>
 <translation id="2256115617011615191">ఇప్పుడే పునఃప్రారంభించు</translation>
 <translation id="225614027745146050">స్వాగతం</translation>
-<translation id="228809120910082333">దయచేసి Chromoting ద్వారా యాక్సెస్‌ను అనుమతించడానికి దిగువ మీ ఖాతా, PINను నిర్ధారించండి.</translation>
+<translation id="228809120910082333">దయచేసి Chromoting ద్వారా యాక్సెస్‌ను అనుమతించడానికి దిగువ మీ ఖాతా మరియు PINను నిర్ధారించండి.</translation>
 <translation id="2314101195544969792">మీ <ph name="APPLICATION_NAME" /> సెషన్ కొద్ది సమయం నుండి నిష్క్రియంగా ఉంది, కనుక కాసేపటిలో డిస్‌కనెక్ట్ చేయబడుతుంది.</translation>
 <translation id="2317666076142640974">కొత్త <ph name="LINK_BEGIN" />Chrome రిమోట్ డెస్క్‌టాప్ వెబ్ యాప్‌‌<ph name="LINK_END" />ను పరిశీలించండి. మేము మీ అభిప్రాయాన్ని తెలుసుకోవాలని అనుకుంటున్నాము.</translation>
 <translation id="2320166752086256636">కీబోర్డ్‌ను దాచు</translation>
@@ -84,16 +84,16 @@
 <translation id="2803375539583399270">PINను నమోదు చేయండి</translation>
 <translation id="2841013758207633010">సమయం</translation>
 <translation id="2851754573186462851">Chromium యాప్‌ స్ట్రీమింగ్</translation>
-<translation id="2888969873284818612">నెట్‌వర్క్ ఎర్రర్ ఏర్ప‌డింది. మీ పరికరం మళ్లీ ఆన్‌లైన్‌లోకి వచ్చినప్పుడు మేము యాప్‌ను పునఃప్రారంభిస్తాము.</translation>
+<translation id="2888969873284818612">నెట్‌వర్క్ ఎర్రర్ ఏర్పడింది. మీ పరికరం మళ్లీ ఆన్‌లైన్‌లోకి వచ్చినప్పుడు మేము యాప్‌ను పునఃప్రారంభిస్తాము.</translation>
 <translation id="2891243864890517178">Macలో అయితే (OS X Yosemite 10.10 మరియు దాని తర్వాతి పై వెర్షన్‌లలో మాత్రమే పని చేస్తుంది)</translation>
-<translation id="289405675947420287">మీ iOS పరికరం నుండి మీ కంప్యూటర్‌ను సురక్షితంగా యాక్సెస్ చేయండి. ఇది వేగవంతం, సులభం మరియు ఉచితం.
+<translation id="289405675947420287">మీ iOS పరికరం నుండి మీ కంప్యూటర్‌ని సురక్షితంగా యాక్సెస్ చేయండి. ఇది వేగవంతం, సులభం మరియు ఉచితం.
 
-• మీరు రిమోట్‌గా యాక్సెస్ చేయాలనుకుంటున్న కంప్యూటర్‌లో Chrome వెబ్ స్టోర్ నుండి Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ను డౌన్‌లోడ్‌ చేయండి.
-• Chrome రిమోట్ డెస్క్‌టాప్ సాఫ్ట్‌వేర్‌ను ఇన్‌స్టాల్ చేసి, సూచనలను అనుసరించడం ద్వారా సెటప్‌ను పూర్తి చేయండి.
-• మీ iOS పరికరంలో, యాప్‌ను తెరిచి, కనెక్ట్ చేయడానికి మీ ఆన్‌లైన్ కంప్యూట‌ర్‌ల‌లో దేనిపైన అయినా నొక్కండి.</translation>
+• మీరు రిమోట్‌గా యాక్సెస్ చేయాలనుకుంటున్న కంప్యూటర్‌లో Chrome వెబ్ స్టోర్ నుండి Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ని డౌన్‌లోడ్‌ చేయండి.
+• Chrome రిమోట్ డెస్క్‌టాప్ సాఫ్ట్‌వేర్‌ని ఇన్‌స్టాల్ చేసి, సూచనలను అనుసరించడం ద్వారా సెటప్‌ని పూర్తి చేయండి.
+• మీ iOS పరికరంలో, యాప్‌ని తెరిచి, కనెక్ట్ చేయడానికి మీ ఆన్‌లైన్ కంప్యూటర్‌ల్లో దేనిపైన అయినా నొక్కండి.</translation>
 <translation id="2894654864775534701">ఈ కంప్యూటర్ ప్రస్తుతం వేరొక ఖాతా క్రింద షేర్ చేయబడింది.</translation>
 <translation id="2919669478609886916">మీరు ప్రస్తుతం ఈ మెషీన్‌ను మరొక వినియోగదారుతో భాగస్వామ్యం చేస్తున్నారు. మీరు భాగస్వామ్యం చేయడాన్ని కొనసాగించాలనుకుంటున్నారా?</translation>
-<translation id="2921543551052660690">మీరు మునుపు <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)గా సైన్ ఇన్ చేశారు. ఆ ఖాతాలో మీ కంప్యూటర్‌లను యాక్సెస్‌ చేయడానికి, ఆ ఖాతాతో <ph name="LINK_BEGIN" />Chromiumకు సైన్ ఇన్ చేయండి<ph name="LINK_END" />. Chromotingను మళ్లీ ఇన్‌స్టాల్ చేయండి.</translation>
+<translation id="2921543551052660690">మీరు మునుపు <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)గా సైన్ ఇన్ చేసారు.  ఆ ఖాతాలో మీ కంప్యూటర్‌లను యాక్సెస్ చేయడానికి, ఆ ఖాతాతో <ph name="LINK_BEGIN" />Chromiumకి సైన్ ఇన్ చేయండి<ph name="LINK_END" /> మరియు Chromotingని మళ్లీ ఇన్‌స్టాల్ చేయండి.</translation>
 <translation id="2926340305933667314">ఈ కంప్యూటర్‌కు రిమోట్ యాక్సెస్‌ను నిలిపివేయడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="2930135165929238380">అవసరమైన కొన్ని భాగాలు లేవు. దయచేసి chrome://pluginsకు వెళ్లి, స్థానిక క్లయింట్ ప్రారంభించి ఉన్నట్లు నిర్ధారించుకోండి.</translation>
 <translation id="2939145106548231838">హోస్ట్ చేయడానికి ప్రామాణీకరించండి</translation>
@@ -111,7 +111,7 @@
 <translation id="3286521253923406898">Chromoting హోస్ట్ కంట్రోలర్</translation>
 <translation id="3305934114213025800"><ph name="PRODUCT_NAME" /> మార్పులు చేయాలనుకుంటోంది.</translation>
 <translation id="332624996707057614">కంప్యూటర్ పేరును సవరించండి</translation>
-<translation id="3339299787263251426">ఇంటర్నెట్‌ను ఉపయోగించేటప్పుడు మీ కంప్యూటర్‌ను సురక్షితంగా యాక్సెస్ చేయండి</translation>
+<translation id="3339299787263251426">ఇంటర్నెట్‌ని ఉపయోగించేటప్పుడు మీ కంప్యూటర్‌ని సురక్షితంగా యాక్సెస్ చేయండి</translation>
 <translation id="3360306038446926262">విండోలు</translation>
 <translation id="3362124771485993931">PINను మళ్లీ టైప్ చేయండి</translation>
 <translation id="337167041784729019">గణాంకాలను చూపు</translation>
@@ -124,12 +124,12 @@
 <translation id="3649256019230929621">విండోను కనిష్టీకరించు</translation>
 <translation id="369442766917958684">ఆఫ్‌లైన్‌లో ఉన్నారు.</translation>
 <translation id="3695446226812920698">ఎలాగో తెలుసుకోండి</translation>
-<translation id="3718805989288361841">Chrome రిమోట్ డెస్క్‌టాప్ యొక్క విధాన సెట్టింగ్‌లలో లోపం ఉంది. సహాయం కావాలంటే మీ సిస్టమ్ నిర్వాహకులను సంప్రదించండి.</translation>
+<translation id="3718805989288361841">Chrome రిమోట్ డెస్క్‌టాప్ యొక్క విధాన సెట్టింగ్‌లలో ఎర్రర్ ఉంది. సహాయం కోసం మీ సిస్టమ్ నిర్వాహకులను సంప్రదించండి.</translation>
 <translation id="3776024066357219166">మీ Chrome రిమోట్ డెస్క్‌టాప్ సెషన్ ముగిసింది.</translation>
 <translation id="3846148461359626420">• iPhone Xలో మరింత మెరుగ్గా ప్యాన్ చేసే, జూమ్ చేసే అనుభవం.
 • స్థిరత్వ మెరుగుదలలు మరియు బగ్ పరిష్కారాలు.</translation>
 <translation id="3870154837782082782">Google Inc.</translation>
-<translation id="3884839335308961732">దయచేసి Chrome రిమోట్ డెస్క్‌టాప్ ద్వారా యాక్సెస్‌ను అనుమతించడానికి దిగువ మీ ఖాతాను, PINను నిర్ధారించండి.</translation>
+<translation id="3884839335308961732">దయచేసి Chrome రిమోట్ డెస్క్‌టాప్ ద్వారా యాక్సెస్‌ను అనుమతించడానికి దిగువ మీ ఖాతా మరియు PINను నిర్ధారించండి.</translation>
 <translation id="3897092660631435901">మెను</translation>
 <translation id="3905196214175737742">చెల్లని హోస్ట్ యజమాని డొమైన్.</translation>
 <translation id="3908017899227008678">సరిపోయేలా కుదించు</translation>
@@ -137,32 +137,32 @@
 <translation id="3933246213702324812"><ph name="HOSTNAME" />లో Chromoting గడువు తేదీ ముగిసింది మరియు నవీకరించాల్సిన అవసరం ఉంది.</translation>
 <translation id="3950820424414687140">సైన్ ఇన్</translation>
 <translation id="3989511127559254552">కొనసాగించడానికి ముందుగా మీరు తప్పనిసరిగా మీ కంప్యూటర్‌కి అదనపు యాక్సెస్ అనుమతులను మంజూరు చేయాలి. మీరు ఒకసారి మంజూరు చేస్తే సరిపోతుంది.</translation>
-<translation id="4006787130661126000">మీరు ఈ కంప్యూటర్‌ను యాక్సెస్‌ చేయడానికి Chrome రిమోట్ డెస్క్‌టాప్‌ను ఉపయోగించాలనుకుంటే మీరు రిమోట్ కనెక్షన్‌లను తప్పనిసరిగా ప్రారంభించాలి.</translation>
+<translation id="4006787130661126000">మీరు ఈ కంప్యూటర్‌ను యాక్సెస్ చేయడానికి Chrome రిమోట్ డెస్క్‌టాప్‌ను ఉపయోగించాలనుకుంటే మీరు రిమోట్ కనెక్షన్‌లను తప్పనిసరిగా ప్రారంభించాలి.</translation>
 <translation id="405887016757208221">సెషన్‌ను ప్రారంభించడంలో రిమోట్ కంప్యూటర్ విఫలమైంది. సమస్య కొనసాగితే, దయచేసి హోస్ట్‌ను మళ్లీ కాన్ఫిగర్ చేసి ప్రయత్నించండి.</translation>
 <translation id="4068946408131579958">అన్ని కనెక్షన్‌లు</translation>
 <translation id="409800995205263688">గమనిక: విధాన సెట్టింగ్‌లు మీ నెట్‌వర్క్‌లోని కంప్యూటర్‌ల మధ్య మాత్రమే కనెక్షన్‌లను అనుమతిస్తాయి.</translation>
 <translation id="4126409073460786861">సెటప్ పూర్తయిన తర్వాత, పేజీని రిఫ్రెష్ చేయండి, అప్పుడు మీరు మీ పరికరాన్ని ఎంచుకుని, PINను నమోదు చేయడం ద్వారా మీ కంప్యూటర్‌ను యాక్సెస్ చేయగలుగుతారు</translation>
 <translation id="4145029455188493639"><ph name="EMAIL_ADDRESS" /> వలె సైన్ ఇన్ చేసారు.</translation>
 <translation id="4155497795971509630">కొన్ని ఆవశ్యక అంశాలు లేవు. దయచేసి మీరు తాజా సాఫ్ట్‌వేర్ సంస్కరణను ఇన్‌స్టాల్ చేసారని నిర్ధారించుకొని, ఆపై మళ్లీ ప్రయత్నించండి.</translation>
-<translation id="4156740505453712750">ఈ కంప్యూటర్‌కు యాక్సెస్‌ను రక్షించడానికి, <ph name="BOLD_START" />కనీసం ఆరు అంకెలు<ph name="BOLD_END" /> కలిగి ఉన్న PINను దయచేసి ఎంచుకోండి. వేరొక స్థానం నుండి కనెక్ట్ చేస్తున్నప్పుడు ఈ PIN అవసరం అవుతుంది.</translation>
+<translation id="4156740505453712750">ఈ కంప్యూటర్‌కు యాక్సెస్‌ను రక్షించడానికి, దయచేసి <ph name="BOLD_START" />కనీసం ఆరు అంకెలు<ph name="BOLD_END" /> కలిగి ఉన్న PINను ఎంచుకోండి. ఈ PIN వేరొక స్థానం నుండి కనెక్ట్ చేస్తున్నప్పుడు అవసరం అవుతుంది.</translation>
 <translation id="4169432154993690151">ప్రొఫైల్ చిత్రాన్ని ఎంచుకోవడానికి, మీ కెమెరాని యాక్సెస్ చేయడానికి Chrome రిమోట్ డెస్క్‌టాప్‌ని అనుమతించండి</translation>
-<translation id="4176825807642096119">యాక్సెస్‌ కోడ్</translation>
+<translation id="4176825807642096119">యాక్సెస్ కోడ్</translation>
 <translation id="4207623512727273241">దయచేసి కొనసాగడానికి ముందు ఇన్‌స్టాలర్‌ను అమలు చేయండి.</translation>
 <translation id="4227991223508142681">హోస్ట్ కేటాయింపు సాధనం</translation>
 <translation id="4240294130679914010">Chromoting హోస్ట్ అన్‌ఇన్‌స్టాలర్</translation>
 <translation id="4277463233460010382">ఈ కంప్యూటర్ PINని నమోదు చేయకుండానే కనెక్ట్ కావడానికి ఒకటి లేదా అంతకంటే ఎక్కువమంది క్లయింట్‌లను అనుమతించడానికి కాన్ఫిగర్ చేయబడింది.</translation>
-<translation id="4277736576214464567">యాక్సెస్‌ కోడ్ చెల్లదు. దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="4277736576214464567">యాక్సెస్ కోడ్ చెల్లదు. దయచేసి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="4361728918881830843">వేరొక కంప్యూటర్‌కు రిమోట్ కనెక్షన్‌లను ప్రారంభించడానికి, అక్కడ Chrome రిమోట్ డెస్క్‌టాప్‌ను ఇన్‌స్టాల్ చేసి “<ph name="BUTTON_NAME" />”ను క్లిక్ చేయండి.</translation>
 <translation id="4394049700291259645">ఆపివెయ్యి</translation>
 <translation id="4405930547258349619">ప్రధాన లైబ్రరీ</translation>
 <translation id="4430435636878359009">ఈ కంప్యూటర్‌కు రిమోట్ కనెక్షన్‌లను నిలిపివేయి</translation>
-<translation id="4430915108080446161">యాక్సెస్‌ కోడ్‌ను రూపొందిస్తోంది...</translation>
+<translation id="4430915108080446161">యాక్సెస్ కోడ్‌ను రూపొందిస్తోంది...</translation>
 <translation id="4472575034687746823">ప్రారంభించండి</translation>
 <translation id="4481276415609939789">మీరు నమోదు అయిన కంప్యూటర్‌లను కలిగి ఉండలేదు. కంప్యూటర్‌కు రిమోట్ కనెక్షన్‌లను ప్రారంభించడానికి, అక్కడ Chromotingను ఇన్‌స్టాల్ చేసి “<ph name="BUTTON_NAME" />”ను క్లిక్ చేయండి.</translation>
 <translation id="4513946894732546136">అభిప్రాయం</translation>
 <translation id="4517233780764084060">గమనిక: అన్ని కీబోర్డ్ షార్ట్‌క‌ట్‌లు అందుబాటులో ఉన్నాయని నిర్ధారించుకోవడానికి, మీరు Chromotingను ‘విండోగా తెరువు’కు కాన్ఫిగర్ చేయవచ్చు.</translation>
 <translation id="4563926062592110512">ఈ క్లయింట్ డిస్‌కనెక్ట్ చేయబడ్డారు: <ph name="CLIENT_USERNAME" />.</translation>
-<translation id="4572065712096155137">ప్రాప్యత చేయి</translation>
+<translation id="4572065712096155137">యాక్సెస్ చేయి</translation>
 <translation id="4592037108270173918">మొబైల్ నెట్‌వర్క్ గుండా పరికరానికి కనెక్ట్ చేస్తున్నప్పుడు డేటా ఛార్జీలు వర్తించవచ్చు. మీరు కొనసాగించాలనుకుంటున్నారా?</translation>
 <translation id="4619978527973181021">ఆమోదించి, ఇన్‌స్టాల్ చేయి</translation>
 <translation id="4635770493235256822">రిమోట్ పరికరాలు</translation>
@@ -191,7 +191,7 @@
 <translation id="492843737083352574">నాకు నా కీబోర్డ్ లేదా మౌస్‌తో సమస్యలు ఉన్నాయి.</translation>
 <translation id="4973800994433240357">Chromoting హోస్ట్ ఇన్‌స్టాలర్‌ను డౌన్‌లోడ్ చేయడం ద్వారా, మీరు Google <ph name="LINK_BEGIN" />సేవా నిబంధనలు<ph name="LINK_END" /> అంగీకరిస్తున్నారు.</translation>
 <translation id="4974476491460646149"><ph name="HOSTNAME" /> యొక్క కనెక్షన్ మూసివేయబడింది</translation>
-<translation id="4985296110227979402">రిమోట్ యాక్సెస్ కోసం ముందుగా మీరు మీ కంప్యూటర్‌ను సెటప్ చేయాలి</translation>
+<translation id="4985296110227979402">మీరు రిమోట్ యాక్సెస్ కోసం ముందుగా మీ కంప్యూటర్‌ను సెటప్ చేయాలి</translation>
 <translation id="5059773780693835145">మీరు <ph name="PRODUCT_NAME" />ని ఉపయోగించి రిమోట్ విధానంలో ఈ మెషిన్‌ను నియంత్రించాలంటే, ముందుగా అదనపు కాన్ఫిగరేషన్ దశను పూర్తి చేయడం అవసరం.
 
 ఈ కార్యాచరణను ప్రారంభించడం కోసం, భద్రత మరియు గోప్యత ప్రాధాన్యత పేన్‌ను ప్రదర్శించడానికి '<ph name="BUTTON_NAME" />'ని ఎంచుకుని, ఆపై '<ph name="SERVICE_SCRIPT_NAME" />' పక్కన ఉన్న పెట్టెను ఎంచుకోండి.</translation>
@@ -207,7 +207,7 @@
 <translation id="5254120496627797685">ఈ పేజీ నుండి నిష్క్రమించడం వలన మీ Chrome రిమోట్ డెస్క్‌టాప్ సెషన్ ముగుస్తుంది.</translation>
 <translation id="5308380583665731573">కనెక్ట్ చేయండి</translation>
 <translation id="533625276787323658">కనెక్ట్ చేయడానికి ఏదీ లేదు</translation>
-<translation id="5363265567587775042">మీరు యాక్సెస్‌ చేయాలని కోరుకునే కంప్యూటర్‌లో “<ph name="SHARE" />” క్లిక్ చేసి, మీకు యాక్సెస్‌ కోడ్ ఇవ్వమని వినియోగదారును అడగండి.</translation>
+<translation id="5363265567587775042">మీరు యాక్సెస్ చేయాలని కోరుకునే కంప్యూటర్‌లో “<ph name="SHARE" />” క్లిక్ చేసి, మీకు యాక్సెస్ కోడ్ ఇవ్వమని వినియోగదారును అడగండి.</translation>
 <translation id="5379087427956679853">Chrome రిమోట్ డెస్క్‌టాప్ వెబ్‌లో మీ కంప్యూటర్‌ను సురక్షితంగా షేర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. వినియోగదారులు ఇద్దరూ తప్పనిసరిగా <ph name="URL" />లో కనుగొనబడే Chrome రిమోట్ డెస్క్‌టాప్ యాప్‌ను అమలు చేస్తుండాలి.</translation>
 <translation id="5397086374758643919">Chrome రిమోట్ డెస్క్‌టాప్ హోస్ట్ అన్‌ఇన్‌స్టాలర్</translation>
 <translation id="5419185025274123272">యాప్‌ను రీసెట్ చేయలేకపోయింది. అయినప్పటికీ, మీరు బగ్ నివేదికను పంపవచ్చు.</translation>
@@ -288,7 +288,7 @@
 <translation id="7312846573060934304">హోస్ట్ ఆఫ్‌లైన్‌లో ఉంది.</translation>
 <translation id="7319983568955948908">భాగస్వామ్యం చేయడాన్ని ఆపివేయి</translation>
 <translation id="7401733114166276557">Chrome రిమోట్ డెస్క్‌టాప్</translation>
-<translation id="7434397035092923453">ఈ క్లయింట్‌కు యాక్సెస్‌ తిరస్కరించబడింది: <ph name="CLIENT_USERNAME" />.</translation>
+<translation id="7434397035092923453">ఈ క్లయింట్‌కి యాక్సెస్ తిరస్కరించబడింది: <ph name="CLIENT_USERNAME" />.</translation>
 <translation id="7444276978508498879">ఈ క్లయింట్ కనెక్ట్ చేయబడ్డారు: <ph name="CLIENT_USERNAME" />.</translation>
 <translation id="7526139040829362392">ఖాతాను మార్చు</translation>
 <translation id="7606912958770842224">రిమోట్ కనెక్షన్‌లను ప్రారంభించు</translation>
@@ -325,7 +325,7 @@
 <translation id="8196755618196986400">తదుపరి సమాచారం కోసం మిమ్మల్ని సంప్రదించేందుకు మాకు అనుమతి ఇవ్వడానికి, మీరు సమర్పించే ఏదైనా అభిప్రాయానికి మీ ఇమెయిల్ చిరునామా చేర్చబడుతుంది.</translation>
 <translation id="8244400547700556338">ఎలాగో తెలుసుకోండి.</translation>
 <translation id="8261506727792406068">తొలగించు</translation>
-<translation id="8355326866731426344">ఈ యాక్సెస్‌ కోడ్ గడువు <ph name="TIMEOUT" />లో ముగుస్తుంది</translation>
+<translation id="8355326866731426344">ఈ యాక్సెస్ కోడ్ గడువు <ph name="TIMEOUT" />లో ముగుస్తుంది</translation>
 <translation id="8355485110405946777">మీ సమస్యను పరిష్కరించడంలో మాకు సహాయపడటానికి అప్లికేషన్‌‌ లాగ్‌లను చేర్చండి (లాగ్‌లు ప్రైవేట్ సమాచారాన్ని కలిగి ఉండవచ్చు).</translation>
 <translation id="837021510621780684">ఈ కంప్యూటర్ నుండి</translation>
 <translation id="8383794970363966105">Chromoting ఉపయోగించడానికి, మీరు మీ పరికరానికి Google ఖాతాను జోడించాలి.</translation>
@@ -335,7 +335,7 @@
 <translation id="8509907436388546015">డెస్క్‌టాప్ ఏకీకరణ ప్రక్రియ</translation>
 <translation id="8513093439376855948">రిమోటింగ్ హోస్ట్ నిర్వహణ కోసం స్థానిక సందేశ హోస్ట్</translation>
 <translation id="8525306231823319788">పూర్తి స్క్రీన్</translation>
-<translation id="8548209692293300397">మీరు మునుపు <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)గా సైన్ ఇన్ చేశారు.  ఆ ఖాతాలో మీ కంప్యూటర్‌లను యాక్సెస్ చేయడానికి, ఆ ఖాతాతో <ph name="LINK_BEGIN" />Google Chromeకు సైన్ ఇన్ చేయండి<ph name="LINK_END" /> మరియు Chrome రిమోట్ డెస్క్‌టాప్‌ను మళ్లీ ఇన్‌స్టాల్ చేయండి.</translation>
+<translation id="8548209692293300397">మీరు మునుపు <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)గా సైన్ ఇన్ చేసారు.  ఆ ఖాతాలో మీ కంప్యూటర్‌లను యాక్సెస్ చేయడానికి, ఆ ఖాతాతో <ph name="LINK_BEGIN" />Google Chromeకి సైన్ ఇన్ చేయండి<ph name="LINK_END" /> మరియు Chrome రిమోట్ డెస్క్‌టాప్‌ని మళ్లీ ఇన్‌స్టాల్ చేయండి.</translation>
 <translation id="8642984861538780905">పర్వాలేదు</translation>
 <translation id="8705151241155781642">• Android 9.0 Pie కోసం మద్దతు జోడించబడింది.
 • మీ Android పరికర స్క్రీన్‌కు సరిపోలడానికి రిమోట్ డెస్క్‌టాప్ రిజల్యూషన్ పరిమాణ మార్పు కోసం మద్దతు.</translation>
@@ -353,7 +353,7 @@
 <translation id="9111855907838866522">మీరు మీ రిమోట్ పరికరానికి కనెక్ట్ అయ్యారు. మెనూ తెరవడానికి, దయచేసి నాలుగు వేళ్లతో స్క్రీన్‌ను నొక్కండి.</translation>
 <translation id="9126115402994542723">మరోసారి ఈ పరికరం నుండి ఈ హోస్ట్‌కు కనెక్ట్ చేస్తున్నప్పుడు PINను అడగవద్దు.</translation>
 <translation id="9149580767411232853">మొత్తం రిమోట్ డెస్క్‌టాప్‌ను కనిపించేలా ఉంచుతుంది</translation>
-<translation id="9149992051684092333">మీ డెస్క్‌టాప్‌ను షేర్‌ చేయడాన్ని ప్రారంభించడానికి, మీకు సహాయం చేసే వ్యక్తికి దిగువున ఉన్న‌ యాక్సెస్‌ కోడ్‌ను ఇవ్వండి.</translation>
+<translation id="9149992051684092333">మీ డెస్క్‌టాప్‌ను షేర్ చేయడాన్ని ప్రారంభించడానికి, మీకు సహాయం చేసే వ్యక్తికి దిగువ యాక్సెస్ కోడ్‌ను ఇవ్వండి.</translation>
 <translation id="9188433529406846933">ప్రామాణీకరించండి</translation>
 <translation id="9213184081240281106">చెల్లని హోస్ట్ కాన్ఫిగరేషన్.</translation>
 <translation id="951991426597076286">తిరస్కరించు</translation>
diff --git a/services/identity/public/cpp/identity_manager.cc b/services/identity/public/cpp/identity_manager.cc
index af6ed5cc..6379729a 100644
--- a/services/identity/public/cpp/identity_manager.cc
+++ b/services/identity/public/cpp/identity_manager.cc
@@ -295,6 +295,10 @@
   return account_tracker_service_;
 }
 
+GaiaCookieManagerService* IdentityManager::GetGaiaCookieManagerService() {
+  return gaia_cookie_manager_service_;
+}
+
 void IdentityManager::SetPrimaryAccountSynchronouslyForTests(
     const std::string& gaia_id,
     const std::string& email_address,
diff --git a/services/identity/public/cpp/identity_manager.h b/services/identity/public/cpp/identity_manager.h
index cabd151..9cb04a9d 100644
--- a/services/identity/public/cpp/identity_manager.h
+++ b/services/identity/public/cpp/identity_manager.h
@@ -31,11 +31,12 @@
 namespace chromeos {
 class ChromeSessionManager;
 class UserSessionManager;
-}
+}  // namespace chromeos
 
 namespace network {
 class SharedURLLoaderFactory;
-}
+class TestURLLoaderFactory;
+}  // namespace network
 
 // Necessary to declare these classes as friends.
 class ArcSupportHostTest;
@@ -46,6 +47,7 @@
 class AccountsMutator;
 class PrimaryAccountMutator;
 enum class ClearPrimaryAccountPolicy;
+struct CookieParams;
 
 // Gives access to information about the user's Google identities. See
 // ./README.md for detailed documentation.
@@ -406,6 +408,11 @@
 
   friend void DisableAccessTokenFetchRetries(IdentityManager* identity_manager);
 
+  friend void SetCookieAccounts(
+      IdentityManager* identity_manager,
+      network::TestURLLoaderFactory* test_url_loader_factory,
+      const std::vector<identity::CookieParams>& cookie_accounts);
+
   // These clients needs to call SetPrimaryAccountSynchronously().
   friend ArcSupportHostTest;
   friend arc::ArcTermsOfServiceDefaultNegotiatorTest;
@@ -417,6 +424,7 @@
   SigninManagerBase* GetSigninManager();
   ProfileOAuth2TokenService* GetTokenService();
   AccountTrackerService* GetAccountTrackerService();
+  GaiaCookieManagerService* GetGaiaCookieManagerService();
 
   // Sets the primary account info synchronously with both the IdentityManager
   // and its backing SigninManager/ProfileOAuth2TokenService instances.
diff --git a/services/identity/public/cpp/identity_test_environment.cc b/services/identity/public/cpp/identity_test_environment.cc
index c0e2bfd..6d0f154 100644
--- a/services/identity/public/cpp/identity_test_environment.cc
+++ b/services/identity/public/cpp/identity_test_environment.cc
@@ -40,7 +40,7 @@
 
   FakeProfileOAuth2TokenService* token_service();
 
-  FakeGaiaCookieManagerService* gaia_cookie_manager_service();
+  GaiaCookieManagerService* gaia_cookie_manager_service();
 
   sync_preferences::TestingPrefServiceSyncable* pref_service();
 
@@ -55,7 +55,7 @@
   TestSigninClient signin_client_;
   FakeProfileOAuth2TokenService token_service_;
   SigninManagerForTest signin_manager_;
-  std::unique_ptr<FakeGaiaCookieManagerService> gaia_cookie_manager_service_;
+  std::unique_ptr<GaiaCookieManagerService> gaia_cookie_manager_service_;
 
   DISALLOW_COPY_AND_ASSIGN(IdentityManagerDependenciesOwner);
 };
@@ -82,13 +82,17 @@
                       account_consistency) {
 #endif
   if (test_url_loader_factory != nullptr) {
-    gaia_cookie_manager_service_ =
-        std::make_unique<FakeGaiaCookieManagerService>(
-            &token_service_, &signin_client_, test_url_loader_factory);
+    gaia_cookie_manager_service_ = std::make_unique<GaiaCookieManagerService>(
+        &token_service_, &signin_client_,
+        base::BindRepeating(
+            [](network::TestURLLoaderFactory* test_url_loader_factory)
+                -> scoped_refptr<network::SharedURLLoaderFactory> {
+              return test_url_loader_factory->GetSafeWeakWrapper();
+            },
+            test_url_loader_factory));
   } else {
-    gaia_cookie_manager_service_ =
-        std::make_unique<FakeGaiaCookieManagerService>(&token_service_,
-                                                       &signin_client_);
+    gaia_cookie_manager_service_ = std::make_unique<GaiaCookieManagerService>(
+        &token_service_, &signin_client_);
   }
   AccountTrackerService::RegisterPrefs(pref_service()->registry());
   ProfileOAuth2TokenService::RegisterProfilePrefs(pref_service()->registry());
@@ -115,7 +119,7 @@
   return &token_service_;
 }
 
-FakeGaiaCookieManagerService*
+GaiaCookieManagerService*
 IdentityManagerDependenciesOwner::gaia_cookie_manager_service() {
   return gaia_cookie_manager_service_.get();
 }
@@ -137,6 +141,7 @@
           /*token_service=*/nullptr,
           /*signin_manager=*/nullptr,
           /*gaia_cookie_manager_service=*/nullptr,
+          /*test_url_loader_factory=*/test_url_loader_factory,
           std::make_unique<IdentityManagerDependenciesOwner>(
               test_url_loader_factory,
               pref_service,
@@ -147,11 +152,13 @@
     AccountTrackerService* account_tracker_service,
     FakeProfileOAuth2TokenService* token_service,
     SigninManagerForTest* signin_manager,
-    FakeGaiaCookieManagerService* gaia_cookie_manager_service)
+    GaiaCookieManagerService* gaia_cookie_manager_service,
+    network::TestURLLoaderFactory* test_url_loader_factory)
     : IdentityTestEnvironment(account_tracker_service,
                               token_service,
                               signin_manager,
                               gaia_cookie_manager_service,
+                              test_url_loader_factory,
                               /*dependency_owner=*/nullptr,
                               /*identity_manager=*/nullptr) {}
 
@@ -159,12 +166,14 @@
     AccountTrackerService* account_tracker_service,
     FakeProfileOAuth2TokenService* token_service,
     SigninManagerForTest* signin_manager,
-    FakeGaiaCookieManagerService* gaia_cookie_manager_service,
-    IdentityManager* identity_manager)
+    GaiaCookieManagerService* gaia_cookie_manager_service,
+    IdentityManager* identity_manager,
+    network::TestURLLoaderFactory* test_url_loader_factory)
     : IdentityTestEnvironment(account_tracker_service,
                               token_service,
                               signin_manager,
                               gaia_cookie_manager_service,
+                              test_url_loader_factory,
                               /*dependency_owner=*/nullptr,
                               identity_manager) {}
 
@@ -172,10 +181,12 @@
     AccountTrackerService* account_tracker_service,
     FakeProfileOAuth2TokenService* token_service,
     SigninManagerForTest* signin_manager,
-    FakeGaiaCookieManagerService* gaia_cookie_manager_service,
+    GaiaCookieManagerService* gaia_cookie_manager_service,
+    network::TestURLLoaderFactory* test_url_loader_factory,
     std::unique_ptr<IdentityManagerDependenciesOwner> dependencies_owner,
     IdentityManager* identity_manager)
-    : weak_ptr_factory_(this) {
+    : test_url_loader_factory_(test_url_loader_factory),
+      weak_ptr_factory_(this) {
   DCHECK(base::ThreadTaskRunnerHandle::Get())
       << "IdentityTestEnvironment requires a properly set up task environment. "
          "If your test has an existing one, move it to be initialized before "
@@ -297,7 +308,10 @@
 
 void IdentityTestEnvironment::SetCookieAccounts(
     const std::vector<CookieParams>& cookie_accounts) {
-  identity::SetCookieAccounts(gaia_cookie_manager_service_, identity_manager(),
+  DCHECK(test_url_loader_factory_)
+      << "IdentityTestEnvironment constructor must have been passed a "
+         "test_url_loader_factory in order to use this method.";
+  identity::SetCookieAccounts(identity_manager(), test_url_loader_factory_,
                               cookie_accounts);
 }
 
diff --git a/services/identity/public/cpp/identity_test_environment.h b/services/identity/public/cpp/identity_test_environment.h
index 447d863c..75225f35 100644
--- a/services/identity/public/cpp/identity_test_environment.h
+++ b/services/identity/public/cpp/identity_test_environment.h
@@ -21,6 +21,10 @@
 class TestingPrefServiceSyncable;
 }
 
+namespace network {
+class TestURLLoaderFactory;
+}
+
 namespace identity {
 
 namespace {
@@ -54,6 +58,8 @@
   //
   // This constructor takes an optional parameter |test_url_loader_factory| to
   // use for cookie-related network requests.
+  // Note: the provided |test_url_loader_factory| is expected to outlive
+  // IdentityTestEnvironment.
   //
   // This constructor also takes an optional PrefService instance as parameter,
   // which allows tests to move away from referencing IdentityManager's
@@ -80,7 +86,8 @@
       AccountTrackerService* account_tracker_service,
       FakeProfileOAuth2TokenService* token_service,
       SigninManagerForTest* signin_manager,
-      FakeGaiaCookieManagerService* gaia_cookie_manager_service);
+      GaiaCookieManagerService* gaia_cookie_manager_service,
+      network::TestURLLoaderFactory* test_url_loader_factory = nullptr);
 
   ~IdentityTestEnvironment() override;
 
@@ -286,8 +293,9 @@
       AccountTrackerService* account_tracker_service,
       FakeProfileOAuth2TokenService* token_service,
       SigninManagerForTest* signin_manager,
-      FakeGaiaCookieManagerService* gaia_cookie_manager_service,
-      IdentityManager* identity_manager);
+      GaiaCookieManagerService* gaia_cookie_manager_service,
+      IdentityManager* identity_manager,
+      network::TestURLLoaderFactory* test_url_loader_factory = nullptr);
 
   // Constructs this object from the supplied
   // dependencies of IdentityManager and potentially IdentityManager itself.
@@ -304,7 +312,8 @@
       AccountTrackerService* account_tracker_service,
       FakeProfileOAuth2TokenService* token_service,
       SigninManagerForTest* signin_manager,
-      FakeGaiaCookieManagerService* gaia_cookie_manager_service,
+      GaiaCookieManagerService* gaia_cookie_manager_service,
+      network::TestURLLoaderFactory* test_url_loader_factory,
       std::unique_ptr<IdentityManagerDependenciesOwner> dependencies_owner,
       IdentityManager* identity_manager);
 
@@ -333,7 +342,11 @@
   AccountTrackerService* account_tracker_service_ = nullptr;
   FakeProfileOAuth2TokenService* token_service_ = nullptr;
   SigninManagerForTest* signin_manager_ = nullptr;
-  FakeGaiaCookieManagerService* gaia_cookie_manager_service_ = nullptr;
+  GaiaCookieManagerService* gaia_cookie_manager_service_ = nullptr;
+
+  // Used to set fake responses for cookie-related requests.
+  // This can be null if no TestURLLoaderFactory was passed via the constructor.
+  network::TestURLLoaderFactory* test_url_loader_factory_ = nullptr;
 
   // Depending on which constructor is used, exactly one of these will be
   // non-null. See the documentation on the constructor wherein IdentityManager
diff --git a/services/identity/public/cpp/identity_test_utils.cc b/services/identity/public/cpp/identity_test_utils.cc
index b9048576..e3b60af 100644
--- a/services/identity/public/cpp/identity_test_utils.cc
+++ b/services/identity/public/cpp/identity_test_utils.cc
@@ -306,6 +306,33 @@
   run_loop.Run();
 }
 
+void SetCookieAccounts(IdentityManager* identity_manager,
+                       network::TestURLLoaderFactory* test_url_loader_factory,
+                       const std::vector<CookieParams>& cookie_accounts) {
+  // Convert |cookie_accounts| to the format list_accounts_test_utils wants.
+  std::vector<signin::CookieParams> gaia_cookie_accounts;
+  for (const CookieParams& params : cookie_accounts) {
+    gaia_cookie_accounts.push_back({params.email, params.gaia_id,
+                                    /*valid=*/true, /*signed_out=*/false,
+                                    /*verified=*/true});
+  }
+
+  base::RunLoop run_loop;
+  OneShotIdentityManagerObserver cookie_observer(
+      identity_manager, run_loop.QuitClosure(),
+      IdentityManagerEvent::ACCOUNTS_IN_COOKIE_UPDATED);
+
+  signin::SetListAccountsResponseWithParams(gaia_cookie_accounts,
+                                            test_url_loader_factory);
+
+  GaiaCookieManagerService* cookie_manager =
+      identity_manager->GetGaiaCookieManagerService();
+  cookie_manager->set_list_accounts_stale_for_testing(true);
+  cookie_manager->ListAccounts(nullptr, nullptr);
+
+  run_loop.Run();
+}
+
 void SetCookieAccounts(FakeGaiaCookieManagerService* cookie_manager,
                        IdentityManager* identity_manager,
                        const std::vector<CookieParams>& cookie_accounts) {
diff --git a/services/identity/public/cpp/identity_test_utils.h b/services/identity/public/cpp/identity_test_utils.h
index 6e71aef5..a3140b4 100644
--- a/services/identity/public/cpp/identity_test_utils.h
+++ b/services/identity/public/cpp/identity_test_utils.h
@@ -10,6 +10,10 @@
 #include "build/build_config.h"
 #include "components/signin/core/browser/account_info.h"
 
+namespace network {
+class TestURLLoaderFactory;
+}
+
 class FakeGaiaCookieManagerService;
 class GoogleServiceAuthError;
 
@@ -61,14 +65,12 @@
 // Sets a special invalid refresh token for the primary account (which must
 // already be set). Blocks until the refresh token is set.
 // NOTE: See disclaimer at top of file re: direct usage.
-void SetInvalidRefreshTokenForPrimaryAccount(
-    IdentityManager* identity_manager);
+void SetInvalidRefreshTokenForPrimaryAccount(IdentityManager* identity_manager);
 
 // Removes any refresh token for the primary account, if present. Blocks until
 // the refresh token is removed.
 // NOTE: See disclaimer at top of file re: direct usage.
-void RemoveRefreshTokenForPrimaryAccount(
-    IdentityManager* identity_manager);
+void RemoveRefreshTokenForPrimaryAccount(IdentityManager* identity_manager);
 
 // Makes the primary account (which must not already be set) available for the
 // given email address, generating a GAIA ID and refresh token that correspond
@@ -77,9 +79,8 @@
 // the primary account is available. Returns the AccountInfo of the
 // newly-available account.
 // NOTE: See disclaimer at top of file re: direct usage.
-AccountInfo MakePrimaryAccountAvailable(
-    IdentityManager* identity_manager,
-    const std::string& email);
+AccountInfo MakePrimaryAccountAvailable(IdentityManager* identity_manager,
+                                        const std::string& email);
 
 // Clears the primary account if present, with |policy| used to determine
 // whether to keep or remove all accounts. On non-ChromeOS, results in the
@@ -121,7 +122,17 @@
 
 // Puts the given accounts into the Gaia cookie, replacing any previous
 // accounts. Blocks until the accounts have been set.
+// |test_url_loader_factory| is used to set a fake ListAccounts response
+// containing the provided |cookie_accounts|, which are then put into
+// the Gaia cookie.
 // NOTE: See disclaimer at top of file re: direct usage.
+void SetCookieAccounts(IdentityManager* identity_manager,
+                       network::TestURLLoaderFactory* test_url_loader_factory,
+                       const std::vector<CookieParams>& cookie_accounts);
+
+// Same as above, but takes a FakeGaiaCookieManagerService.
+// TODO(https://crbug.com/1379770): Delete this overload once FakeGCMS has been
+// eliminated.
 void SetCookieAccounts(FakeGaiaCookieManagerService* cookie_manager,
                        IdentityManager* identity_manager,
                        const std::vector<CookieParams>& cookie_accounts);
diff --git a/services/network/network_service.h b/services/network/network_service.h
index 2a63c54..847e836f 100644
--- a/services/network/network_service.h
+++ b/services/network/network_service.h
@@ -269,13 +269,14 @@
 
   KeepaliveStatisticsRecorder keepalive_statistics_recorder_;
 
+  std::unique_ptr<NetworkChangeManager> network_change_manager_;
+
   // Observer that logs network changes to the NetLog. Must be below the NetLog
   // and the NetworkChangeNotifier (Once this class creates it), so it's
-  // destroyed before them.
+  // destroyed before them. Must be below the |network_change_manager_|, which
+  // it references.
   std::unique_ptr<net::LoggingNetworkChangeObserver> network_change_observer_;
 
-  std::unique_ptr<NetworkChangeManager> network_change_manager_;
-
   std::unique_ptr<service_manager::BinderRegistry> registry_;
 
   mojo::Binding<mojom::NetworkService> binding_;
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
index da71562a..7bfd18b 100644
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -15,15 +15,8 @@
 const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
                                          base::FEATURE_ENABLED_BY_DEFAULT};
 // Enables the network service.
-const base::Feature kNetworkService {
-  "NetworkService",
-#if defined(OS_CHROMEOS)
-      base::FEATURE_ENABLED_BY_DEFAULT
-};
-#else
-      base::FEATURE_DISABLED_BY_DEFAULT
-};
-#endif
+const base::Feature kNetworkService{"NetworkService",
+                                    base::FEATURE_DISABLED_BY_DEFAULT};
 
 // Out of Blink CORS
 const base::Feature kOutOfBlinkCors{"OutOfBlinkCors",
diff --git a/services/service_manager/tests/BUILD.gn b/services/service_manager/tests/BUILD.gn
index db89a4b..95f56b0e 100644
--- a/services/service_manager/tests/BUILD.gn
+++ b/services/service_manager/tests/BUILD.gn
@@ -44,8 +44,9 @@
 }
 
 mojom("interfaces") {
+  testonly = true
   sources = [
-    "test.mojom",
+    "test_support.test-mojom",
   ]
 }
 
diff --git a/services/service_manager/tests/test.mojom b/services/service_manager/tests/test_support.test-mojom
similarity index 77%
rename from services/service_manager/tests/test.mojom
rename to services/service_manager/tests/test_support.test-mojom
index b77e2d84..1b17308 100644
--- a/services/service_manager/tests/test.mojom
+++ b/services/service_manager/tests/test_support.test-mojom
@@ -2,11 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-module service_manager;
-
-interface TestService {
-  Test(string test_string) => ();
-};
+module service_manager.mojom;
 
 interface TestA {
   CallB();
diff --git a/services/service_manager/tests/test_support_unittest.cc b/services/service_manager/tests/test_support_unittest.cc
index 138adb13..0650d13 100644
--- a/services/service_manager/tests/test_support_unittest.cc
+++ b/services/service_manager/tests/test_support_unittest.cc
@@ -15,7 +15,7 @@
 #include "services/service_manager/public/cpp/service.h"
 #include "services/service_manager/public/cpp/service_binding.h"
 #include "services/service_manager/public/cpp/test/test_connector_factory.h"
-#include "services/service_manager/tests/test.mojom.h"
+#include "services/service_manager/tests/test_support.test-mojom.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace service_manager {
@@ -24,7 +24,7 @@
 
 // TestBImpl and TestCImpl are simple test interfaces whose methods invokes
 // their callback when called without doing anything.
-class TestBImpl : public TestB {
+class TestBImpl : public mojom::TestB {
  public:
   TestBImpl() = default;
   ~TestBImpl() override = default;
@@ -37,7 +37,7 @@
   DISALLOW_COPY_AND_ASSIGN(TestBImpl);
 };
 
-class TestCImpl : public TestC {
+class TestCImpl : public mojom::TestC {
  public:
   TestCImpl() = default;
   ~TestCImpl() override = default;
@@ -49,11 +49,11 @@
   DISALLOW_COPY_AND_ASSIGN(TestCImpl);
 };
 
-void OnTestBRequest(TestBRequest request) {
+void OnTestBRequest(mojom::TestBRequest request) {
   mojo::MakeStrongBinding(std::make_unique<TestBImpl>(), std::move(request));
 }
 
-void OnTestCRequest(TestCRequest request) {
+void OnTestCRequest(mojom::TestCRequest request) {
   mojo::MakeStrongBinding(std::make_unique<TestCImpl>(), std::move(request));
 }
 
@@ -115,7 +115,7 @@
   TestCServiceImpl c_service(factory.RegisterInstance(kServiceCName));
   auto* connector = factory.GetDefaultConnector();
 
-  TestCPtr c;
+  mojom::TestCPtr c;
   connector->BindInterface(kServiceCName, &c);
   base::RunLoop loop;
   c->C(loop.QuitClosure());
@@ -131,7 +131,7 @@
   auto* connector = factory.GetDefaultConnector();
 
   {
-    TestBPtr b;
+    mojom::TestBPtr b;
     connector->BindInterface(kServiceBName, &b);
     base::RunLoop loop;
     b->B(loop.QuitClosure());
@@ -139,7 +139,7 @@
   }
 
   {
-    TestCPtr c;
+    mojom::TestCPtr c;
     connector->BindInterface(kServiceCName, &c);
     base::RunLoop loop;
     c->C(loop.QuitClosure());
diff --git a/services/tracing/coordinator.cc b/services/tracing/coordinator.cc
index e3fad08..fc9f4f15 100644
--- a/services/tracing/coordinator.cc
+++ b/services/tracing/coordinator.cc
@@ -37,7 +37,6 @@
 const char kMetadataTraceLabel[] = "metadata";
 
 const char kRequestBufferUsageClosureName[] = "RequestBufferUsageClosure";
-const char kStartTracingClosureName[] = "StartTracingClosure";
 
 }  // namespace
 
@@ -299,8 +298,6 @@
     base::ResetAndReturn(&stop_and_flush_callback_)
         .Run(base::Value(base::Value::Type::DICTIONARY));
   }
-  if (!start_tracing_callback_.is_null())
-    base::ResetAndReturn(&start_tracing_callback_).Run(false);
   if (!request_buffer_usage_callback_.is_null())
     base::ResetAndReturn(&request_buffer_usage_callback_).Run(false, 0, 0);
 
@@ -329,11 +326,8 @@
       &Coordinator::OnClientConnectionError, base::Unretained(this)));
 }
 
-void Coordinator::StartTracing(const std::string& config,
-                               StartTracingCallback callback) {
-  bool is_initializing = !start_tracing_callback_.is_null();
-  if (is_initializing || (is_tracing_ && config == config_)) {
-    std::move(callback).Run(config == config_);
+void Coordinator::StartTracing(const std::string& config) {
+  if ((is_tracing_ && config == config_)) {
     return;
   }
 
@@ -344,43 +338,13 @@
       base::BindRepeating(&Coordinator::SendStartTracingToAgent,
                           weak_ptr_factory_.GetWeakPtr()),
       false /* call_on_new_agents_only */);
-
-  // We specifically don't check for the case where there's
-  // no existing connected agents; meaning in that case we
-  // assume at least one *will* connect and we'll wait for
-  // it to do so and start tracing before calling the callback
-  // so that the trace will contain data from at least one agent.
-  start_tracing_callback_ = std::move(callback);
 }
 
 void Coordinator::SendStartTracingToAgent(
     AgentRegistry::AgentEntry* agent_entry) {
-  if (agent_entry->HasDisconnectClosure(&kStartTracingClosureName))
-    return;
   if (!parsed_config_.process_filter_config().IsEnabled(agent_entry->pid()))
     return;
-  agent_entry->AddDisconnectClosure(
-      &kStartTracingClosureName,
-      base::BindOnce(&Coordinator::OnTracingStarted,
-                     weak_ptr_factory_.GetWeakPtr(),
-                     base::Unretained(agent_entry), false));
-  agent_entry->agent()->StartTracing(
-      config_, TRACE_TIME_TICKS_NOW(),
-      base::BindRepeating(&Coordinator::OnTracingStarted,
-                          weak_ptr_factory_.GetWeakPtr(),
-                          base::Unretained(agent_entry)));
-}
-
-void Coordinator::OnTracingStarted(AgentRegistry::AgentEntry* agent_entry,
-                                   bool success) {
-  bool removed =
-      agent_entry->RemoveDisconnectClosure(&kStartTracingClosureName);
-  DCHECK(removed);
-
-  if (!agent_registry_->HasDisconnectClosure(&kStartTracingClosureName) &&
-      !start_tracing_callback_.is_null()) {
-    std::move(start_tracing_callback_).Run(true);
-  }
+  agent_entry->agent()->StartTracing(config_, TRACE_TIME_TICKS_NOW());
 }
 
 void Coordinator::StopAndFlush(mojo::ScopedDataPipeProducerHandle stream,
@@ -408,18 +372,6 @@
 }
 
 void Coordinator::StopAndFlushInternal() {
-  if (agent_registry_->HasDisconnectClosure(&kStartTracingClosureName)) {
-    // We received a |StopAndFlush| command before receiving |StartTracing| acks
-    // from all agents. Let's retry after a delay.
-    task_runner_->PostDelayedTask(
-        FROM_HERE,
-        base::BindRepeating(&Coordinator::StopAndFlushInternal,
-                            weak_ptr_factory_.GetWeakPtr()),
-        base::TimeDelta::FromMilliseconds(
-            mojom::kStopTracingRetryTimeMilliseconds));
-    return;
-  }
-
   size_t num_initialized_agents =
       agent_registry_->SetAgentInitializationCallback(
           base::BindRepeating(&Coordinator::SendStopTracingToAgent,
diff --git a/services/tracing/coordinator.h b/services/tracing/coordinator.h
index eecae55..9eec908 100644
--- a/services/tracing/coordinator.h
+++ b/services/tracing/coordinator.h
@@ -64,8 +64,7 @@
   void Reset();
 
   // mojom::Coordinator
-  void StartTracing(const std::string& config,
-                    StartTracingCallback callback) override;
+  void StartTracing(const std::string& config) override;
   void StopAndFlush(mojo::ScopedDataPipeProducerHandle stream,
                     StopAndFlushCallback callback) override;
   void StopAndFlushAgent(mojo::ScopedDataPipeProducerHandle stream,
@@ -76,7 +75,6 @@
 
   // Internal methods for collecting events from agents.
   void SendStartTracingToAgent(AgentRegistry::AgentEntry* agent_entry);
-  void OnTracingStarted(AgentRegistry::AgentEntry* agent_entry, bool success);
   void StopAndFlushInternal();
   void SendStopTracingToAgent(AgentRegistry::AgentEntry* agent_entry);
   void SendStopTracingWithNoOpRecorderToAgent(
@@ -99,7 +97,6 @@
   bool is_tracing_ = false;
 
   std::unique_ptr<TraceStreamer> trace_streamer_;
-  StartTracingCallback start_tracing_callback_;
   StopAndFlushCallback stop_and_flush_callback_;
 
   // For computing trace buffer usage.
diff --git a/services/tracing/coordinator_unittest.cc b/services/tracing/coordinator_unittest.cc
index 01ed4c7..4063dd7c 100644
--- a/services/tracing/coordinator_unittest.cc
+++ b/services/tracing/coordinator_unittest.cc
@@ -78,29 +78,7 @@
     return agents_.back().get();
   }
 
-  void StartTracing(std::string config,
-                    bool expected_response,
-                    bool stop_and_flush) {
-    base::RepeatingClosure closure;
-    if (stop_and_flush) {
-      closure = base::BindRepeating(&CoordinatorTest::StopAndFlush,
-                                    base::Unretained(this));
-    }
-
-    coordinator_->StartTracing(
-        config,
-        base::BindRepeating(
-            [](bool expected, base::RepeatingClosure closure, bool actual) {
-              EXPECT_EQ(expected, actual);
-              if (!closure.is_null())
-                closure.Run();
-            },
-            expected_response, closure));
-  }
-
-  void StartTracing(std::string config, bool expected_response) {
-    StartTracing(config, expected_response, false);
-  }
+  void StartTracing(std::string config) { coordinator_->StartTracing(config); }
 
   void StopAndFlush() {
     mojo::DataPipe data_pipe;
@@ -152,7 +130,7 @@
 TEST_F(CoordinatorTest, StartTracingSimple) {
   base::RunLoop run_loop;
   auto* agent = AddArrayAgent();
-  StartTracing("*", true);
+  StartTracing("*");
   run_loop.RunUntilIdle();
 
   // The agent should have received exactly one call from the coordinator.
@@ -163,7 +141,7 @@
 TEST_F(CoordinatorTest, StartTracingTwoAgents) {
   base::RunLoop run_loop;
   auto* agent1 = AddArrayAgent();
-  StartTracing("*", true);
+  StartTracing("*");
   auto* agent2 = AddStringAgent();
   run_loop.RunUntilIdle();
 
@@ -178,13 +156,13 @@
   base::RunLoop run_loop1;
   auto* agent1 = AddArrayAgent(static_cast<base::ProcessId>(1));
   auto* agent2 = AddArrayAgent(static_cast<base::ProcessId>(2));
-  StartTracing("{\"included_process_ids\":[2,4]}", true);
+  StartTracing("{\"included_process_ids\":[2,4]}");
   run_loop1.RunUntilIdle();
 
   base::RunLoop run_loop2;
   auto* agent3 = AddArrayAgent(static_cast<base::ProcessId>(3));
   auto* agent4 = AddArrayAgent(static_cast<base::ProcessId>(4));
-  StartTracing("{\"included_process_ids\":[4,6]}", true);
+  StartTracing("{\"included_process_ids\":[4,6]}");
   run_loop2.RunUntilIdle();
 
   base::RunLoop run_loop3;
@@ -193,38 +171,27 @@
   run_loop3.RunUntilIdle();
 
   // StartTracing should only be received by agents 2, 4, and 6.
+  // Agent 4 should receive StartTracing twice, as it's
+  // included in both configs.
   EXPECT_EQ(0u, agent1->call_stat().size());
   EXPECT_EQ(1u, agent2->call_stat().size());
   EXPECT_EQ("StartTracing", agent2->call_stat()[0]);
   EXPECT_EQ(0u, agent3->call_stat().size());
-  EXPECT_EQ(1u, agent4->call_stat().size());
+  EXPECT_EQ(2u, agent4->call_stat().size());
   EXPECT_EQ("StartTracing", agent4->call_stat()[0]);
+  EXPECT_EQ("StartTracing", agent4->call_stat()[1]);
   EXPECT_EQ(0u, agent5->call_stat().size());
   EXPECT_EQ(1u, agent6->call_stat().size());
   EXPECT_EQ("StartTracing", agent6->call_stat()[0]);
 }
 
-TEST_F(CoordinatorTest, StartTracingWithDifferentConfigs) {
-  base::RunLoop run_loop;
-  auto* agent = AddArrayAgent();
-  StartTracing("config 1", true);
-  // The 2nd |StartTracing| should return false.
-  StartTracing("config 2", false);
-  run_loop.RunUntilIdle();
-
-  // The agent should have received exactly one call from the coordinator
-  // because the 2nd |StartTracing| was aborted.
-  EXPECT_EQ(1u, agent->call_stat().size());
-  EXPECT_EQ("StartTracing", agent->call_stat()[0]);
-}
-
 TEST_F(CoordinatorTest, StartTracingWithSameConfigs) {
   base::RunLoop run_loop;
   auto* agent = AddArrayAgent();
-  StartTracing("config", true);
-  // The 2nd |StartTracing| should return true when we are not trying to change
+  StartTracing("config");
+  // The 2nd |StartTracing| should succeed when we are not trying to change
   // the config.
-  StartTracing("config", true);
+  StartTracing("config");
   run_loop.RunUntilIdle();
 
   // The agent should have received exactly one call from the coordinator
@@ -241,7 +208,8 @@
   agent->data_.push_back("\"content\":{\"a\":1}");
   agent->data_.push_back("\"name\":\"etw\"");
 
-  StartTracing("config", true, true);
+  StartTracing("config");
+  StopAndFlush();
   if (!quit_closure_.is_null())
     run_loop.Run();
 
@@ -266,7 +234,8 @@
   agent2->data_.push_back("e3");
   agent2->data_.push_back("e4");
 
-  StartTracing("config", true, true);
+  StartTracing("config");
+  StopAndFlush();
   if (!quit_closure_.is_null())
     run_loop.Run();
 
@@ -304,7 +273,8 @@
   agent2->data_.push_back("e3");
   agent2->data_.push_back("e4");
 
-  StartTracing("config", true, true);
+  StartTracing("config");
+  StopAndFlush();
   if (!quit_closure_.is_null())
     run_loop.Run();
 
@@ -329,7 +299,8 @@
   agent->data_.push_back("event");
   agent->metadata_.SetString("key", "value");
 
-  StartTracing("config", true, true);
+  StartTracing("config");
+  StopAndFlush();
   if (!quit_closure_.is_null())
     run_loop.Run();
 
@@ -344,7 +315,7 @@
 TEST_F(CoordinatorTest, IsTracing) {
   base::RunLoop run_loop;
   AddArrayAgent();
-  StartTracing("config", true);
+  StartTracing("config");
   IsTracing(true);
   run_loop.RunUntilIdle();
 }
@@ -393,7 +364,8 @@
   base::RunLoop run_loop1;
   quit_closure_ = run_loop1.QuitClosure();
   auto* agent1 = AddArrayAgent();
-  StartTracing("config", true, true);
+  StartTracing("config");
+  StopAndFlush();
   if (!quit_closure_.is_null())
     run_loop1.Run();
 
diff --git a/services/tracing/perfetto/perfetto_tracing_coordinator.cc b/services/tracing/perfetto/perfetto_tracing_coordinator.cc
index 89df3552..009dc15 100644
--- a/services/tracing/perfetto/perfetto_tracing_coordinator.cc
+++ b/services/tracing/perfetto/perfetto_tracing_coordinator.cc
@@ -142,13 +142,11 @@
                      base::Unretained(this)));
 }
 
-void PerfettoTracingCoordinator::StartTracing(const std::string& config,
-                                              StartTracingCallback callback) {
+void PerfettoTracingCoordinator::StartTracing(const std::string& config) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   tracing_session_ = std::make_unique<TracingSession>(
       config, base::BindOnce(&PerfettoTracingCoordinator::OnTracingOverCallback,
                              weak_factory_.GetWeakPtr()));
-  std::move(callback).Run(true);
 }
 
 void PerfettoTracingCoordinator::OnTracingOverCallback() {
diff --git a/services/tracing/perfetto/perfetto_tracing_coordinator.h b/services/tracing/perfetto/perfetto_tracing_coordinator.h
index 609bcdc..0eae0e687 100644
--- a/services/tracing/perfetto/perfetto_tracing_coordinator.h
+++ b/services/tracing/perfetto/perfetto_tracing_coordinator.h
@@ -37,8 +37,7 @@
 
   // mojom::Coordinator implementation.
   // Called by the tracing controller.
-  void StartTracing(const std::string& config,
-                    StartTracingCallback callback) override;
+  void StartTracing(const std::string& config) override;
   void StopAndFlush(mojo::ScopedDataPipeProducerHandle stream,
                     StopAndFlushCallback callback) override;
   void StopAndFlushAgent(mojo::ScopedDataPipeProducerHandle stream,
diff --git a/services/tracing/public/cpp/base_agent.cc b/services/tracing/public/cpp/base_agent.cc
index d31c1a9b2..0e14ac9 100644
--- a/services/tracing/public/cpp/base_agent.cc
+++ b/services/tracing/public/cpp/base_agent.cc
@@ -39,10 +39,7 @@
 }
 
 void BaseAgent::StartTracing(const std::string& config,
-                             base::TimeTicks coordinator_time,
-                             Agent::StartTracingCallback callback) {
-  std::move(callback).Run(true /* success */);
-}
+                             base::TimeTicks coordinator_time) {}
 
 void BaseAgent::StopAndFlush(tracing::mojom::RecorderPtr recorder) {}
 
diff --git a/services/tracing/public/cpp/base_agent.h b/services/tracing/public/cpp/base_agent.h
index 8be2cf54..dc1325d 100644
--- a/services/tracing/public/cpp/base_agent.h
+++ b/services/tracing/public/cpp/base_agent.h
@@ -35,8 +35,7 @@
 
   // tracing::mojom::Agent:
   void StartTracing(const std::string& config,
-                    base::TimeTicks coordinator_time,
-                    Agent::StartTracingCallback callback) override;
+                    base::TimeTicks coordinator_time) override;
   void StopAndFlush(tracing::mojom::RecorderPtr recorder) override;
   void RequestBufferStatus(
       Agent::RequestBufferStatusCallback callback) override;
diff --git a/services/tracing/public/cpp/trace_event_agent.cc b/services/tracing/public/cpp/trace_event_agent.cc
index 94cc70a..88e25d8 100644
--- a/services/tracing/public/cpp/trace_event_agent.cc
+++ b/services/tracing/public/cpp/trace_event_agent.cc
@@ -72,8 +72,7 @@
 }
 
 void TraceEventAgent::StartTracing(const std::string& config,
-                                   base::TimeTicks coordinator_time,
-                                   StartTracingCallback callback) {
+                                   base::TimeTicks coordinator_time) {
   DCHECK(!recorder_);
 #if defined(__native_client__)
   // NaCl and system times are offset by a bit, so subtract some time from
@@ -88,7 +87,6 @@
     enabled_tracing_modes_ |= base::trace_event::TraceLog::FILTERING_MODE;
   base::trace_event::TraceLog::GetInstance()->SetEnabled(
       trace_config, enabled_tracing_modes_);
-  std::move(callback).Run(true);
 }
 
 void TraceEventAgent::StopAndFlush(mojom::RecorderPtr recorder) {
diff --git a/services/tracing/public/cpp/trace_event_agent.h b/services/tracing/public/cpp/trace_event_agent.h
index 70063d2..1a7c8915 100644
--- a/services/tracing/public/cpp/trace_event_agent.h
+++ b/services/tracing/public/cpp/trace_event_agent.h
@@ -49,8 +49,7 @@
 
   // mojom::Agent
   void StartTracing(const std::string& config,
-                    base::TimeTicks coordinator_time,
-                    StartTracingCallback callback) override;
+                    base::TimeTicks coordinator_time) override;
   void StopAndFlush(mojom::RecorderPtr recorder) override;
 
   void RequestBufferStatus(RequestBufferStatusCallback callback) override;
diff --git a/services/tracing/public/cpp/trace_event_agent_unittest.cc b/services/tracing/public/cpp/trace_event_agent_unittest.cc
index 9749aac3..443dd11 100644
--- a/services/tracing/public/cpp/trace_event_agent_unittest.cc
+++ b/services/tracing/public/cpp/trace_event_agent_unittest.cc
@@ -90,8 +90,7 @@
   void StartTracing(const std::string& categories) {
     TraceEventAgent::GetInstance()->StartTracing(
         base::trace_event::TraceConfig(categories, "").ToString(),
-        base::TimeTicks::Now(),
-        base::BindRepeating([](bool success) { EXPECT_TRUE(success); }));
+        base::TimeTicks::Now());
   }
 
   void StopAndFlush(base::Closure quit_closure) {
diff --git a/services/tracing/public/mojom/constants.mojom b/services/tracing/public/mojom/constants.mojom
index f62a072..d258406d 100644
--- a/services/tracing/public/mojom/constants.mojom
+++ b/services/tracing/public/mojom/constants.mojom
@@ -4,8 +4,6 @@
 
 module tracing.mojom;
 
-const uint32 kStopTracingRetryTimeMilliseconds = 100;
-
 const string kServiceName = "tracing";
 
 // The label of agents that provide trace data of the format explained in
diff --git a/services/tracing/public/mojom/tracing.mojom b/services/tracing/public/mojom/tracing.mojom
index 99d6cfd9..41d170d 100644
--- a/services/tracing/public/mojom/tracing.mojom
+++ b/services/tracing/public/mojom/tracing.mojom
@@ -51,8 +51,7 @@
 // close the recorder connection to signal the tracing service that no more data
 // will be sent.
 interface Agent {
-  StartTracing(string config, mojo_base.mojom.TimeTicks coordinator_time)
-      => (bool success);
+  StartTracing(string config, mojo_base.mojom.TimeTicks coordinator_time);
   StopAndFlush(Recorder recorder);
   RequestBufferStatus() => (uint32 capacity, uint32 count);
 };
@@ -73,7 +72,7 @@
   // The return value is false if tracing is already enabled with a different
   // config. Otherwise, true is returned as soon as the service receives acks
   // from all existing agents and agents that connect during |StartTracing|.
-  StartTracing(string config) => (bool success);
+  StartTracing(string config);
   StopAndFlush(handle<data_pipe_producer> stream)
       => (mojo_base.mojom.DictionaryValue metadata);
   // Same as |StopAndFlush| but only write data from a certain |agent_label| to
diff --git a/services/tracing/test_util.cc b/services/tracing/test_util.cc
index 1bce1291..e514302 100644
--- a/services/tracing/test_util.cc
+++ b/services/tracing/test_util.cc
@@ -21,10 +21,8 @@
 }
 
 void MockAgent::StartTracing(const std::string& config,
-                             base::TimeTicks coordinator_time,
-                             StartTracingCallback cb) {
+                             base::TimeTicks coordinator_time) {
   call_stat_.push_back("StartTracing");
-  std::move(cb).Run(true);
 }
 
 void MockAgent::StopAndFlush(mojom::RecorderPtr recorder) {
diff --git a/services/tracing/test_util.h b/services/tracing/test_util.h
index 821a7eb0..948f30c 100644
--- a/services/tracing/test_util.h
+++ b/services/tracing/test_util.h
@@ -37,8 +37,7 @@
  private:
   // mojom::Agent
   void StartTracing(const std::string& config,
-                    base::TimeTicks coordinator_time,
-                    StartTracingCallback cb) override;
+                    base::TimeTicks coordinator_time) override;
   void StopAndFlush(mojom::RecorderPtr recorder) override;
   void RequestBufferStatus(RequestBufferStatusCallback cb) override;
 
diff --git a/skia/config/sk_ref_cnt_ext_release.h b/skia/config/sk_ref_cnt_ext_release.h
index 2e44e3cb..d69a21b 100644
--- a/skia/config/sk_ref_cnt_ext_release.h
+++ b/skia/config/sk_ref_cnt_ext_release.h
@@ -18,7 +18,7 @@
 namespace WTF {
 inline void Adopted(const SkRefCnt* object) {}
 inline void RequireAdoption(const SkRefCnt* object) {}
-};
+}  // namespace WTF
 
 using WTF::Adopted;
 using WTF::RequireAdoption;
diff --git a/storage/browser/fileapi/obfuscated_file_util.cc b/storage/browser/fileapi/obfuscated_file_util.cc
index 423aaec9..c4c66252 100644
--- a/storage/browser/fileapi/obfuscated_file_util.cc
+++ b/storage/browser/fileapi/obfuscated_file_util.cc
@@ -33,6 +33,7 @@
 #include "storage/browser/quota/quota_manager.h"
 #include "storage/common/database/database_identifier.h"
 #include "storage/common/fileapi/file_system_util.h"
+#include "third_party/leveldatabase/leveldb_chrome.h"
 #include "url/gurl.h"
 
 // Example of various paths:
@@ -256,7 +257,8 @@
     leveldb::Env* env_override,
     GetTypeStringForURLCallback get_type_string_for_url,
     const std::set<std::string>& known_type_strings,
-    SandboxFileSystemBackendDelegate* sandbox_delegate)
+    SandboxFileSystemBackendDelegate* sandbox_delegate,
+    bool is_incognito)
     : special_storage_policy_(special_storage_policy),
       file_system_directory_(file_system_directory),
       env_override_(env_override),
@@ -266,6 +268,8 @@
       sandbox_delegate_(sandbox_delegate) {
   DCHECK(!get_type_string_for_url_.is_null());
   DETACH_FROM_SEQUENCE(sequence_checker_);
+  DCHECK(!is_incognito ||
+         (env_override && leveldb_chrome::IsMemEnv(env_override)));
 }
 
 ObfuscatedFileUtil::~ObfuscatedFileUtil() {
diff --git a/storage/browser/fileapi/obfuscated_file_util.h b/storage/browser/fileapi/obfuscated_file_util.h
index 4aa203c6..38b8b2a 100644
--- a/storage/browser/fileapi/obfuscated_file_util.h
+++ b/storage/browser/fileapi/obfuscated_file_util.h
@@ -102,7 +102,8 @@
                      leveldb::Env* env_override,
                      GetTypeStringForURLCallback get_type_string_for_url,
                      const std::set<std::string>& known_type_strings,
-                     SandboxFileSystemBackendDelegate* sandbox_delegate);
+                     SandboxFileSystemBackendDelegate* sandbox_delegate,
+                     bool is_incognito);
   ~ObfuscatedFileUtil() override;
 
   // FileSystemFileUtil overrides.
@@ -225,7 +226,8 @@
   static ObfuscatedFileUtil* CreateForTesting(
       storage::SpecialStoragePolicy* special_storage_policy,
       const base::FilePath& file_system_directory,
-      leveldb::Env* env_override);
+      leveldb::Env* env_override,
+      bool is_incognito);
 
   base::FilePath GetDirectoryForURL(
       const FileSystemURL& url,
diff --git a/storage/browser/fileapi/obfuscated_file_util_unittest.cc b/storage/browser/fileapi/obfuscated_file_util_unittest.cc
index 4e5f33b..0640bf1 100644
--- a/storage/browser/fileapi/obfuscated_file_util_unittest.cc
+++ b/storage/browser/fileapi/obfuscated_file_util_unittest.cc
@@ -247,9 +247,11 @@
 
   std::unique_ptr<ObfuscatedFileUtil> CreateObfuscatedFileUtil(
       storage::SpecialStoragePolicy* storage_policy) {
+    // TODO(https://crbug.com/93417): Add support for incognito tests.
     return std::unique_ptr<ObfuscatedFileUtil>(
         ObfuscatedFileUtil::CreateForTesting(storage_policy, data_dir_path(),
-                                             nullptr));
+                                             /*env_override=*/nullptr,
+                                             /*is_incognito=*/false));
   }
 
   ObfuscatedFileUtil* ofu() {
diff --git a/storage/browser/fileapi/plugin_private_file_system_backend.cc b/storage/browser/fileapi/plugin_private_file_system_backend.cc
index 549dd30..6dbc0ba 100644
--- a/storage/browser/fileapi/plugin_private_file_system_backend.cc
+++ b/storage/browser/fileapi/plugin_private_file_system_backend.cc
@@ -107,7 +107,7 @@
       special_storage_policy, base_path_, env_override,
       base::BindRepeating(&FileSystemIDToPluginMap::GetPluginIDForURL,
                           base::Owned(plugin_map_)),
-      std::set<std::string>(), nullptr));
+      std::set<std::string>(), nullptr, file_system_options.is_incognito()));
 }
 
 PluginPrivateFileSystemBackend::~PluginPrivateFileSystemBackend() {
diff --git a/storage/browser/fileapi/quota/quota_backend_impl_unittest.cc b/storage/browser/fileapi/quota/quota_backend_impl_unittest.cc
index f466e4a..c22b446e 100644
--- a/storage/browser/fileapi/quota/quota_backend_impl_unittest.cc
+++ b/storage/browser/fileapi/quota/quota_backend_impl_unittest.cc
@@ -101,8 +101,10 @@
   void SetUp() override {
     ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
     in_memory_env_ = leveldb_chrome::NewMemEnv("quota");
+    // TODO(https://crbug.com/93417): Add support for incognito tests.
     file_util_.reset(ObfuscatedFileUtil::CreateForTesting(
-        nullptr, data_dir_.GetPath(), in_memory_env_.get()));
+        nullptr, data_dir_.GetPath(), in_memory_env_.get(),
+        /*is_incognito*/ false));
     backend_ = std::make_unique<QuotaBackendImpl>(
         file_task_runner(), file_util_.get(), &file_system_usage_cache_,
         quota_manager_proxy_.get());
diff --git a/storage/browser/fileapi/sandbox_file_system_backend_delegate.cc b/storage/browser/fileapi/sandbox_file_system_backend_delegate.cc
index d10ccca..3e30c7fe 100644
--- a/storage/browser/fileapi/sandbox_file_system_backend_delegate.cc
+++ b/storage/browser/fileapi/sandbox_file_system_backend_delegate.cc
@@ -190,7 +190,8 @@
                                  env_override,
                                  base::BindRepeating(&GetTypeStringForURL),
                                  GetKnownTypeStrings(),
-                                 this))),
+                                 this,
+                                 file_system_options.is_incognito()))),
       file_system_usage_cache_(std::make_unique<FileSystemUsageCache>()),
       quota_observer_(new SandboxQuotaObserver(quota_manager_proxy,
                                                file_task_runner,
@@ -710,11 +711,12 @@
 ObfuscatedFileUtil* ObfuscatedFileUtil::CreateForTesting(
     storage::SpecialStoragePolicy* special_storage_policy,
     const base::FilePath& file_system_directory,
-    leveldb::Env* env_override) {
+    leveldb::Env* env_override,
+    bool is_incognito) {
   return new ObfuscatedFileUtil(special_storage_policy, file_system_directory,
                                 env_override,
                                 base::BindRepeating(&GetTypeStringForURL),
-                                GetKnownTypeStrings(), nullptr);
+                                GetKnownTypeStrings(), nullptr, is_incognito);
 }
 
 }  // namespace storage
diff --git a/storage/browser/fileapi/sandbox_file_system_backend_unittest.cc b/storage/browser/fileapi/sandbox_file_system_backend_unittest.cc
index e4480d5..e9df0c5 100644
--- a/storage/browser/fileapi/sandbox_file_system_backend_unittest.cc
+++ b/storage/browser/fileapi/sandbox_file_system_backend_unittest.cc
@@ -23,6 +23,7 @@
 #include "storage/browser/test/test_file_system_options.h"
 #include "storage/common/fileapi/file_system_util.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/leveldatabase/leveldb_chrome.h"
 #include "url/gurl.h"
 
 using storage::FileSystemURL;
@@ -80,11 +81,12 @@
   }
 
   void SetUpNewDelegate(const storage::FileSystemOptions& options) {
+    incognito_env_override_ = leveldb_chrome::NewMemEnv("FileSystem");
     delegate_.reset(new SandboxFileSystemBackendDelegate(
         nullptr /* quota_manager_proxy */,
         base::ThreadTaskRunnerHandle::Get().get(), data_dir_.GetPath(),
         nullptr /* special_storage_policy */, options,
-        nullptr /* env_override */));
+        options.is_in_memory() ? incognito_env_override_.get() : nullptr));
   }
 
   void SetUpNewBackend(const storage::FileSystemOptions& options) {
@@ -129,6 +131,7 @@
         SandboxFileSystemBackendDelegate::kFileSystemDirectory);
   }
 
+  std::unique_ptr<leveldb::Env> incognito_env_override_;
   base::ScopedTempDir data_dir_;
   base::test::ScopedTaskEnvironment scoped_task_environment_;
   std::unique_ptr<storage::SandboxFileSystemBackendDelegate> delegate_;
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 295415d..7f0c2c8 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -493,6 +493,13 @@
         "test": "boringssl_ssl_tests"
       },
       {
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "shards": 21
+        },
+        "test": "browser_tests"
+      },
+      {
         "args": [
           "--enable-features=Mash",
           "--disable-features=SingleProcessMash",
@@ -508,18 +515,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService"
-        ],
-        "name": "non_network_service_browser_tests",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "shards": 10
-        },
-        "test": "browser_tests"
-      },
-      {
-        "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash",
           "--override-use-software-gl-for-tests"
         ],
@@ -532,7 +527,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=VizDisplayCompositor"
         ],
         "name": "viz_browser_tests",
@@ -544,7 +538,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=WebUIPolymer2",
           "--test-launcher-filter-file=../../testing/buildbot/filters/webui_polymer2_browser_tests.filter"
         ],
@@ -738,10 +731,6 @@
         "test": "exo_unittests"
       },
       {
-        "args": [
-          "--disable-features=NetworkService"
-        ],
-        "name": "non_network_service_extensions_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true
         },
@@ -796,10 +785,6 @@
         "test": "gpu_unittests"
       },
       {
-        "args": [
-          "--disable-features=NetworkService"
-        ],
-        "name": "non_network_service_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
           "shards": 3
@@ -808,7 +793,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash"
         ],
         "name": "single_process_mash_interactive_ui_tests",
@@ -1026,9 +1010,6 @@
         "test": "storage_unittests"
       },
       {
-        "args": [
-          "--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter"
-        ],
         "swarming": {
           "can_use_on_swarming_builders": true
         },
@@ -1206,6 +1187,13 @@
         "test": "boringssl_ssl_tests"
       },
       {
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "shards": 10
+        },
+        "test": "browser_tests"
+      },
+      {
         "args": [
           "--enable-features=Mash",
           "--disable-features=SingleProcessMash",
@@ -1221,18 +1209,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService"
-        ],
-        "name": "non_network_service_browser_tests",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "shards": 10
-        },
-        "test": "browser_tests"
-      },
-      {
-        "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash",
           "--override-use-software-gl-for-tests"
         ],
@@ -1245,7 +1221,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=VizDisplayCompositor"
         ],
         "name": "viz_browser_tests",
@@ -1257,7 +1232,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=WebUIPolymer2",
           "--test-launcher-filter-file=../../testing/buildbot/filters/webui_polymer2_browser_tests.filter"
         ],
@@ -1451,10 +1425,6 @@
         "test": "exo_unittests"
       },
       {
-        "args": [
-          "--disable-features=NetworkService"
-        ],
-        "name": "non_network_service_extensions_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true
         },
@@ -1509,10 +1479,6 @@
         "test": "gpu_unittests"
       },
       {
-        "args": [
-          "--disable-features=NetworkService"
-        ],
-        "name": "non_network_service_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
           "shards": 3
@@ -1521,7 +1487,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash"
         ],
         "name": "single_process_mash_interactive_ui_tests",
@@ -1738,9 +1703,6 @@
         "test": "storage_unittests"
       },
       {
-        "args": [
-          "--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter"
-        ],
         "swarming": {
           "can_use_on_swarming_builders": true
         },
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 2c9dc8249..cec9545f 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -1920,7 +1920,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=VizDisplayCompositor"
         ],
         "name": "viz_browser_tests",
diff --git a/testing/buildbot/chromium.gpu.fyi.json b/testing/buildbot/chromium.gpu.fyi.json
index ddc348e..d048959 100644
--- a/testing/buildbot/chromium.gpu.fyi.json
+++ b/testing/buildbot/chromium.gpu.fyi.json
@@ -14609,7 +14609,7 @@
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
             {
-              "gpu": "8086:5912",
+              "gpu": "8086:5912-17.1.4",
               "os": "Ubuntu",
               "pool": "Chrome-GPU"
             }
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index adf97ee..39a6b42 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -4251,6 +4251,16 @@
       },
       {
         "args": [
+          "--test-launcher-print-test-stdio=always"
+        ],
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "shards": 31
+        },
+        "test": "browser_tests"
+      },
+      {
+        "args": [
           "--enable-features=Mash",
           "--disable-features=SingleProcessMash",
           "--override-use-software-gl-for-tests",
@@ -4266,19 +4276,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
-          "--test-launcher-print-test-stdio=always"
-        ],
-        "name": "non_network_service_browser_tests",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "shards": 10
-        },
-        "test": "browser_tests"
-      },
-      {
-        "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash",
           "--override-use-software-gl-for-tests",
           "--test-launcher-print-test-stdio=always"
@@ -4292,7 +4289,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=VizDisplayCompositor",
           "--test-launcher-print-test-stdio=always"
         ],
@@ -4305,7 +4301,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=WebUIPolymer2",
           "--test-launcher-filter-file=../../testing/buildbot/filters/webui_polymer2_browser_tests.filter",
           "--test-launcher-print-test-stdio=always"
@@ -4563,10 +4558,8 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--test-launcher-print-test-stdio=always"
         ],
-        "name": "non_network_service_extensions_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true
         },
@@ -4637,10 +4630,8 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--test-launcher-print-test-stdio=always"
         ],
-        "name": "non_network_service_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
           "shards": 3
@@ -4649,7 +4640,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash",
           "--test-launcher-print-test-stdio=always"
         ],
@@ -4964,7 +4954,6 @@
       },
       {
         "args": [
-          "--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter",
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
@@ -5310,6 +5299,22 @@
       },
       {
         "args": [
+          "--test-launcher-print-test-stdio=always"
+        ],
+        "swarming": {
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "x86-64",
+              "os": "Ubuntu-14.04"
+            }
+          ],
+          "shards": 25
+        },
+        "test": "browser_tests"
+      },
+      {
+        "args": [
           "--enable-features=Mash",
           "--disable-features=SingleProcessMash",
           "--override-use-software-gl-for-tests",
@@ -5331,25 +5336,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
-          "--test-launcher-print-test-stdio=always"
-        ],
-        "name": "non_network_service_browser_tests",
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "cpu": "x86-64",
-              "os": "Ubuntu-14.04"
-            }
-          ],
-          "shards": 10
-        },
-        "test": "browser_tests"
-      },
-      {
-        "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash",
           "--override-use-software-gl-for-tests",
           "--test-launcher-print-test-stdio=always"
@@ -5369,7 +5355,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=VizDisplayCompositor",
           "--test-launcher-print-test-stdio=always"
         ],
@@ -5388,7 +5373,6 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=WebUIPolymer2",
           "--test-launcher-filter-file=../../testing/buildbot/filters/webui_polymer2_browser_tests.filter",
           "--test-launcher-print-test-stdio=always"
@@ -5802,10 +5786,8 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--test-launcher-print-test-stdio=always"
         ],
-        "name": "non_network_service_extensions_browsertests",
         "swarming": {
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
@@ -5924,10 +5906,8 @@
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--test-launcher-print-test-stdio=always"
         ],
-        "name": "non_network_service_interactive_ui_tests",
         "swarming": {
           "can_use_on_swarming_builders": true,
           "dimension_sets": [
@@ -5936,13 +5916,12 @@
               "os": "Ubuntu-14.04"
             }
           ],
-          "shards": 3
+          "shards": 5
         },
         "test": "interactive_ui_tests"
       },
       {
         "args": [
-          "--disable-features=NetworkService",
           "--enable-features=SingleProcessMash",
           "--test-launcher-print-test-stdio=always"
         ],
@@ -6446,7 +6425,6 @@
       },
       {
         "args": [
-          "--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter",
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
diff --git a/testing/buildbot/filters/BUILD.gn b/testing/buildbot/filters/BUILD.gn
index c10ce50..d75dcf9 100644
--- a/testing/buildbot/filters/BUILD.gn
+++ b/testing/buildbot/filters/BUILD.gn
@@ -82,14 +82,6 @@
   ]
 }
 
-source_set("sync_integration_tests_filters") {
-  testonly = true
-
-  data = [
-    "//testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter",
-  ]
-}
-
 source_set("webview_cts_tests_filters") {
   testonly = true
 
diff --git a/testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter b/testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter
deleted file mode 100644
index 3f20465..0000000
--- a/testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter
+++ /dev/null
@@ -1,23 +0,0 @@
-# NOTE: if adding an exclusion for an existing failure (e.g. additional test for
-# feature X that is already not working), please add it beside the existing
-# failures. Otherwise please reach out to network-service-dev@.
-
-# This filter contains Chrome OS only test failures.
-# See https://crbug.com/881976
-
-# Calls GetURLRequestContext. crbug.com/924250
--MigrationSingleClientTest.AllTypesAtOnce
--MigrationSingleClientTest.AllTypesAtOnceTriggerNotification
--MigrationSingleClientTest.AllTypesWithNigoriAtOnce
--MigrationSingleClientTest.BookmarksPrefsBoth
--MigrationSingleClientTest.BookmarksPrefsIndividually
--MigrationSingleClientTest.NigoriOnly
--MigrationSingleClientTest.PrefsNigoriBoth
--MigrationSingleClientTest.PrefsOnlyModifyBookmark
--MigrationSingleClientTest.PrefsOnlyModifyPref
--MigrationSingleClientTest.PrefsOnlyTriggerNotification
--SyncExponentialBackoffTest.OfflineToOnline
-
-# NOTE: if adding an exclusion for an existing failure (e.g. additional test for
-# feature X that is already not working), please add it beside the existing
-# failures. Otherwise please reach out to network-service-dev@.
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index 697d6249..4ff4678 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -3615,7 +3615,6 @@
       'single_process_mash_browser_tests': {
         'test': 'browser_tests',
         'args': [
-          '--disable-features=NetworkService',
           '--enable-features=SingleProcessMash',
           '--override-use-software-gl-for-tests'
         ],
@@ -3648,7 +3647,6 @@
       'single_process_mash_interactive_ui_tests': {
         'test': 'interactive_ui_tests',
         'args': [
-          '--disable-features=NetworkService',
           '--enable-features=SingleProcessMash'
         ],
         'swarming': {
@@ -3891,53 +3889,6 @@
       },
     },
 
-    # This is a copy of non_android_chromium_gtests, but with test suites
-    # in network_service_chromeos_fyi_gtests removed. This should be removed
-    # once all tests are passing.
-    'network_service_chromeos_chromium_gtests': {
-      'accessibility_unittests': {},
-      'app_shell_unittests': {},
-      'blink_fuzzer_unittests': {},
-      'chrome_app_unittests': {},
-      'chromedriver_unittests': {},
-      'extensions_unittests': {},
-      'filesystem_service_unittests': {},  # https://crbug.com/862712
-      'leveldb_service_unittests': {},  # https://crbug.com/862709
-      'message_center_unittests': {},
-      'nacl_loader_unittests': {},
-      'native_theme_unittests': {},
-      'pdf_unittests': {},
-      'ppapi_unittests': {},
-      'printing_unittests': {},
-      'remoting_unittests': {},
-      'service_manager_unittests': {}, # https://crbug.com/843134
-      'snapshot_unittests': {},
-      'sync_integration_tests': {
-        'args': [
-          '--test-launcher-filter-file=../../testing/buildbot/filters/mojo.fyi.chromeos.network_sync_integration_tests.filter',
-        ],
-      },
-      'views_unittests': {},
-      'webui_polymer2_browser_tests': {
-        'args': [
-          '--disable-features=NetworkService',
-          '--enable-features=WebUIPolymer2',
-          '--test-launcher-filter-file=../../testing/buildbot/filters/webui_polymer2_browser_tests.filter',
-        ],
-        'swarming': {
-          'shards': 4,
-        },
-        'test': 'browser_tests',
-      },
-      'webui_polymer2_interactive_ui_tests': {
-        'args': [
-          '--enable-features=WebUIPolymer2',
-          '--test-launcher-filter-file=../../testing/buildbot/filters/webui_polymer2_interactive_ui_tests.filter',
-        ],
-        'test': 'interactive_ui_tests',
-      },
-    },
-
     'network_service_chromeos_fyi_gtests': {
       'network_service_browser_tests': {
         'args': [
@@ -4106,33 +4057,6 @@
       'crashpad_tests': {},
     },
 
-    'non_network_service_gtests': {
-      'non_network_service_browser_tests': {
-        'args': [
-          '--disable-features=NetworkService',
-        ],
-        'swarming': {
-          'shards': 10,
-        },
-        'test': 'browser_tests',
-      },
-      'non_network_service_extensions_browsertests': {
-        'args': [
-          '--disable-features=NetworkService',
-        ],
-        'test': 'extensions_browsertests',
-      },
-      'non_network_service_interactive_ui_tests': {
-        'args': [
-          '--disable-features=NetworkService'
-        ],
-        'swarming': {
-          'shards': 3,
-        },
-        'test': 'interactive_ui_tests',
-      },
-    },
-
     'non_viz_fyi_chromium_gtests': {
       'non_viz_content_browsertests': {
         'args': [
@@ -4295,7 +4219,6 @@
       # TODO(jonross): remove once Viz field trials for ChromeOS are enabled.
       'viz_browser_tests': {
         'args': [
-          '--disable-features=NetworkService',
           '--enable-features=VizDisplayCompositor',
         ],
         'swarming': {
@@ -4985,11 +4908,7 @@
       'chromium_gtests_for_win_and_linux_only',
       'linux_chromeos_specific_gtests',
       'linux_flavor_specific_chromium_gtests',
-      # TODO(rmcelrath): Replace these two with non_android_chromium_gtests
-      # once all ChromeOS NS tests are passing.
-      'network_service_chromeos_chromium_gtests',
-      # TODO(rmcelrath): Add network_service_chromeos_fyi_gtests
-      'non_network_service_gtests',
+      'non_android_chromium_gtests',
       'viz_chromeos_gtests',
       'viz_gtests',
     ],
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index faba7f38..bf934ac 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -5454,6 +5454,24 @@
             ]
         }
     ],
+    "WebRTC-KeepAbsSendTimeExtension": [
+        {
+            "platforms": [
+                "windows",
+                "mac",
+                "chromeos",
+                "linux",
+                "ios",
+                "android",
+                "android_webview"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled"
+                }
+            ]
+        }
+    ],
     "WebRTC-LocalIPPermissionCheck": [
         {
             "platforms": [
diff --git a/third_party/androidx/BUILD.gn b/third_party/androidx/BUILD.gn
new file mode 100644
index 0000000..f4b6be0c
--- /dev/null
+++ b/third_party/androidx/BUILD.gn
@@ -0,0 +1,26 @@
+# Copyright 2018 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/android/rules.gni")
+
+android_aar_prebuilt("androidx_core_java") {
+  # If this is not test only, there are security implecations.
+  # Any changes from test only will need a review from security@chromium.org.
+  testonly = true
+  aar_path = "lib/core-1.0.0.aar"
+}
+
+android_aar_prebuilt("androidx_junit_java") {
+  # If this is not test only, there are security implecations.
+  # Any changes from test only will need a review from security@chromium.org.
+  testonly = true
+  aar_path = "lib/junit-1.0.0.aar"
+}
+
+android_aar_prebuilt("androidx_monitor_java") {
+  # If this is not test only, there are security implecations.
+  # Any changes from test only will need a review from security@chromium.org.
+  testonly = true
+  aar_path = "lib/monitor-1.1.0.aar"
+}
diff --git a/third_party/androidx/LICENSE b/third_party/androidx/LICENSE
new file mode 100644
index 0000000..f433b1a5
--- /dev/null
+++ b/third_party/androidx/LICENSE
@@ -0,0 +1,177 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
diff --git a/third_party/androidx/METADATA b/third_party/androidx/METADATA
new file mode 100644
index 0000000..2cd0745
--- /dev/null
+++ b/third_party/androidx/METADATA
@@ -0,0 +1,21 @@
+name: "androidx"
+description:
+    "AndroidX is the open-source project that the Android team uses to develop, "
+    "test, package, version and release libraries within Jetpack."
+
+third_party {
+  url {
+    type: HOMEPAGE
+    value: "https://developer.android.com/jetpack/androidx/"
+  }
+  url {
+    type: ARCHIVE
+    value: "https://mvnrepository.com/artifact/androidx.test"
+  }
+  url {
+    type: GIT
+    value: "https://android.googlesource.com/platform/frameworks/support/+/androidx-1.0-dev"
+  }
+  version: "1.0.0"
+  last_upgrade_date { year: 2019 month: 1 day: 23 }
+}
diff --git a/third_party/androidx/OWNERS b/third_party/androidx/OWNERS
new file mode 100644
index 0000000..ccaab5d
--- /dev/null
+++ b/third_party/androidx/OWNERS
@@ -0,0 +1,3 @@
+bjoyce@chromium.org
+yliuyliu@chromium.org
+yzjr@chromium.org
diff --git a/third_party/androidx/README.chromium b/third_party/androidx/README.chromium
new file mode 100644
index 0000000..18aabf7
--- /dev/null
+++ b/third_party/androidx/README.chromium
@@ -0,0 +1,15 @@
+Name: Androidx
+URL: https://developer.android.com/jetpack/androidx/
+Version: 1.0.0
+License: Apache 2.0
+License File: NOT_SHIPPED
+Security Critical: no
+License Android Compatible: yes
+Description: AndroidX is used to develop, test, package, version and release
+libraries within Jetpack.
+How To Update:
+- Update file names in our BUILD.gn file.
+- Update DEPS to new Androidx revision.
+- Update CIPD package to include new Androidx libraries.
+- add or update appropriate .info files outlined
+in build/config/android/rules.gni for android_aar_prebuilt.
diff --git a/third_party/androidx/androidx_core_java.info b/third_party/androidx/androidx_core_java.info
new file mode 100644
index 0000000..1051503f
--- /dev/null
+++ b/third_party/androidx/androidx_core_java.info
@@ -0,0 +1,13 @@
+# Generated by //build/android/gyp/aar.py
+# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen".
+
+aidl = [  ]
+assets = [  ]
+has_classes_jar = true
+has_native_libraries = false
+has_proguard_flags = false
+has_r_text_file = true
+is_manifest_empty = false
+resources = [ "res/values/values.xml" ]
+subjar_tuples = [  ]
+subjars = [  ]
diff --git a/third_party/androidx/androidx_junit_java.info b/third_party/androidx/androidx_junit_java.info
new file mode 100644
index 0000000..a2ebd4a
--- /dev/null
+++ b/third_party/androidx/androidx_junit_java.info
@@ -0,0 +1,13 @@
+# Generated by //build/android/gyp/aar.py
+# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen".
+
+aidl = [  ]
+assets = [  ]
+has_classes_jar = true
+has_native_libraries = false
+has_proguard_flags = false
+has_r_text_file = false
+is_manifest_empty = true
+resources = [  ]
+subjar_tuples = [  ]
+subjars = [  ]
diff --git a/third_party/androidx/androidx_monitor_java.info b/third_party/androidx/androidx_monitor_java.info
new file mode 100644
index 0000000..0dfcb237
--- /dev/null
+++ b/third_party/androidx/androidx_monitor_java.info
@@ -0,0 +1,13 @@
+# Generated by //build/android/gyp/aar.py
+# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen".
+
+aidl = [  ]
+assets = [  ]
+has_classes_jar = true
+has_native_libraries = false
+has_proguard_flags = true
+has_r_text_file = false
+is_manifest_empty = true
+resources = [  ]
+subjar_tuples = [  ]
+subjars = [  ]
diff --git a/third_party/androidx/cipd.yaml b/third_party/androidx/cipd.yaml
new file mode 100644
index 0000000..ee5f9ac
--- /dev/null
+++ b/third_party/androidx/cipd.yaml
@@ -0,0 +1,12 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# To create CIPD package run the following command.
+# cipd create --pkg-def cipd.yaml -tag version:$(cat version.txt)
+package: chromium/third_party/androidx
+description: Androidx libray files
+data:
+  - file: lib/core-1.0.0.aar
+  - file: lib/junit-1.0.0.aar
+  - file: lib/monitor-1.1.0.aar
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 91e3cbb..96e1319 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -114,7 +114,7 @@
 // WebURLLoaderClient::DidStartLoadingResponseBody() instead of
 // WebURLLoaderClient::DidReceiveData().
 const base::Feature kResourceLoadViaDataPipe{"ResourceLoadViaDataPipe",
-                                             base::FEATURE_ENABLED_BY_DEFAULT};
+                                             base::FEATURE_DISABLED_BY_DEFAULT};
 
 const base::Feature kServiceWorkerImportedScriptUpdateCheck{
     "ServiceWorkerImportedScriptUpdateCheck",
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
index 65a7715d..b5f20e6 100644
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -85,6 +85,8 @@
   BLINK_PLATFORM_EXPORT static void EnableBlinkHeapIncrementalMarking(bool);
   BLINK_PLATFORM_EXPORT static void EnableBlinkHeapUnifiedGarbageCollection(
       bool);
+  BLINK_PLATFORM_EXPORT static void EnableBlinkHeapCollectLiveNonNodeWrappers(
+      bool);
   BLINK_PLATFORM_EXPORT static void EnableBloatedRendererDetection(bool);
   BLINK_PLATFORM_EXPORT static void EnableCacheInlineScriptCode(bool);
   BLINK_PLATFORM_EXPORT static void EnableIsolatedCodeCache(bool);
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.cc b/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.cc
index f3e3cf2..acb3a69 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.cc
@@ -32,6 +32,10 @@
 
 void V8EmbedderGraphBuilder::BuildEmbedderGraph() {
   isolate_->VisitHandlesWithClassIds(this);
+  v8::EmbedderHeapTracer* tracer =
+      V8PerIsolateData::From(isolate_)->GetEmbedderHeapTracer();
+  if (tracer)
+    tracer->IterateTracedGlobalHandles(this);
 // At this point we collected ScriptWrappables in three groups:
 // attached, detached, and unknown.
 #if DCHECK_IS_ON()
@@ -98,14 +102,9 @@
   return DomTreeState::kDetached;
 }
 
-void V8EmbedderGraphBuilder::VisitPersistentHandle(
-    v8::Persistent<v8::Value>* value,
+void V8EmbedderGraphBuilder::VisitPersistentHandleInternal(
+    v8::Local<v8::Object> v8_value,
     uint16_t class_id) {
-  if (class_id != WrapperTypeInfo::kNodeClassId &&
-      class_id != WrapperTypeInfo::kObjectClassId)
-    return;
-  v8::Local<v8::Object> v8_value = v8::Local<v8::Object>::New(
-      isolate_, v8::Persistent<v8::Object>::Cast(*value));
   ScriptWrappable* traceable = ToScriptWrappable(v8_value);
   if (!traceable)
     return;
@@ -129,11 +128,30 @@
   }
 }
 
+void V8EmbedderGraphBuilder::VisitTracedGlobalHandle(
+    const v8::TracedGlobal<v8::Value>& value) {
+  const uint16_t class_id = value.WrapperClassId();
+  if (class_id != WrapperTypeInfo::kNodeClassId &&
+      class_id != WrapperTypeInfo::kObjectClassId)
+    return;
+  VisitPersistentHandleInternal(value.As<v8::Object>().Get(isolate_), class_id);
+}
+
+void V8EmbedderGraphBuilder::VisitPersistentHandle(
+    v8::Persistent<v8::Value>* value,
+    uint16_t class_id) {
+  if (class_id != WrapperTypeInfo::kNodeClassId &&
+      class_id != WrapperTypeInfo::kObjectClassId)
+    return;
+  v8::Local<v8::Object> v8_value = v8::Local<v8::Object>::New(
+      isolate_, v8::Persistent<v8::Object>::Cast(*value));
+  VisitPersistentHandleInternal(v8_value, class_id);
+}
+
 void V8EmbedderGraphBuilder::Visit(
     const TraceWrapperV8Reference<v8::Value>& traced_wrapper) {
-  const v8::PersistentBase<v8::Value>* value = &traced_wrapper.Get();
   // Add an edge from the current parent to the V8 object.
-  v8::Local<v8::Value> v8_value = v8::Local<v8::Value>::New(isolate_, *value);
+  v8::Local<v8::Value> v8_value = traced_wrapper.NewLocal(isolate_);
   if (!v8_value.IsEmpty()) {
     graph_->AddEdge(current_parent_, GraphNode(v8_value));
   }
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.h b/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.h
index 9fb02a45..7b948ef 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.h
+++ b/third_party/blink/renderer/bindings/core/v8/v8_embedder_graph_builder.h
@@ -11,8 +11,10 @@
 
 namespace blink {
 
-class V8EmbedderGraphBuilder : public ScriptWrappableVisitor,
-                               public v8::PersistentHandleVisitor {
+class V8EmbedderGraphBuilder
+    : public ScriptWrappableVisitor,
+      public v8::PersistentHandleVisitor,
+      public v8::EmbedderHeapTracer::TracedGlobalHandleVisitor {
  public:
   using Traceable = const void*;
   using Graph = v8::EmbedderGraph;
@@ -28,6 +30,10 @@
   void VisitPersistentHandle(v8::Persistent<v8::Value>*,
                              uint16_t class_id) override;
 
+  // v8::EmbedderHeapTracer::TracedGlobalHandleVisitor override.
+  void VisitTracedGlobalHandle(
+      const v8::TracedGlobal<v8::Value>& value) override;
+
   // Visitor overrides.
   void Visit(const TraceWrapperV8Reference<v8::Value>&) final;
   void VisitWithWrappers(void*, TraceDescriptor) final;
@@ -119,6 +125,8 @@
     TraceCallback trace_callback;
   };
 
+  void VisitPersistentHandleInternal(v8::Local<v8::Object>, uint16_t);
+
   WorklistItem ToWorklistItem(EmbedderNode*, const TraceDescriptor&) const;
 
   Graph::Node* GraphNode(const v8::Local<v8::Value>&) const;
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_gc_controller.cc b/third_party/blink/renderer/bindings/core/v8/v8_gc_controller.cc
index 39254ee..a53d2161 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_gc_controller.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_gc_controller.cc
@@ -34,7 +34,6 @@
 #include <unordered_map>
 #include <unordered_set>
 
-#include "base/feature_list.h"
 #include "third_party/blink/public/platform/blame_context.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h"
@@ -58,11 +57,6 @@
 
 namespace blink {
 
-// When CollectLiveNonNodeWrappers is enabled, live non-Node wrappers that are
-// recreatable will get collected during scavenger GC.
-const base::Feature kCollectLiveNonNodeWrappers{
-    "CollectLiveNonNodeWrappers", base::FEATURE_DISABLED_BY_DEFAULT};
-
 Node* V8GCController::OpaqueRootForGC(v8::Isolate*, Node* node) {
   DCHECK(node);
   if (node->isConnected())
@@ -89,76 +83,12 @@
          class_id == WrapperTypeInfo::kCustomWrappableId;
 }
 
-class MinorGCUnmodifiedWrapperVisitor : public v8::PersistentHandleVisitor {
- public:
-  explicit MinorGCUnmodifiedWrapperVisitor(v8::Isolate* isolate)
-      : isolate_(isolate) {}
-
-  void VisitPersistentHandle(v8::Persistent<v8::Value>* value,
-                             uint16_t class_id) override {
-    if (!IsDOMWrapperClassId(class_id))
-      return;
-
-    if (class_id == WrapperTypeInfo::kCustomWrappableId) {
-      v8::Persistent<v8::Object>::Cast(*value).MarkActive();
-      return;
-    }
-
-    const bool collect_non_node_wrappers =
-        base::FeatureList::IsEnabled(kCollectLiveNonNodeWrappers);
-
-    // MinorGC does not collect objects because it may be expensive to
-    // update references during minorGC
-    if (!collect_non_node_wrappers &&
-        class_id == WrapperTypeInfo::kObjectClassId) {
-      v8::Persistent<v8::Object>::Cast(*value).MarkActive();
-      return;
-    }
-
-    v8::Local<v8::Object> wrapper = v8::Local<v8::Object>::New(
-        isolate_, v8::Persistent<v8::Object>::Cast(*value));
-    DCHECK(V8DOMWrapper::HasInternalFieldsSet(wrapper));
-
-    if (ToWrapperTypeInfo(wrapper)->IsActiveScriptWrappable() &&
-        ToScriptWrappable(wrapper)->HasPendingActivity()) {
-      v8::Persistent<v8::Object>::Cast(*value).MarkActive();
-      return;
-    }
-
-    if (ToScriptWrappable(wrapper)->HasEventListeners()) {
-      v8::Persistent<v8::Object>::Cast(*value).MarkActive();
-      return;
-    }
-
-    if (class_id == WrapperTypeInfo::kNodeClassId) {
-      DCHECK(V8Node::HasInstance(wrapper, isolate_));
-      Node* node = V8Node::ToImpl(wrapper);
-      // FIXME: Remove the special handling for SVG elements.
-      // We currently can't collect SVG Elements from minor gc, as we have
-      // strong references from SVG property tear-offs keeping context SVG
-      // element alive.
-      if (node->IsSVGElement()) {
-        v8::Persistent<v8::Object>::Cast(*value).MarkActive();
-        return;
-      }
-    }
-  }
-
- private:
-  v8::Isolate* isolate_;
-};
-
 size_t UsedHeapSize(v8::Isolate* isolate) {
   v8::HeapStatistics heap_statistics;
   isolate->GetHeapStatistics(&heap_statistics);
   return heap_statistics.used_heap_size();
 }
 
-void VisitWeakHandlesForMinorGC(v8::Isolate* isolate) {
-  MinorGCUnmodifiedWrapperVisitor visitor(isolate);
-  isolate->VisitWeakHandles(&visitor);
-}
-
 bool IsNestedInV8GC(ThreadState* thread_state, v8::GCType type) {
   return thread_state && (type == v8::kGCTypeMarkSweepCompact ||
                           type == v8::kGCTypeIncrementalMarking);
@@ -193,7 +123,6 @@
     case v8::kGCTypeScavenge:
       TRACE_EVENT_BEGIN1("devtools.timeline,v8", "MinorGC",
                          "usedHeapSizeBefore", UsedHeapSize(isolate));
-      VisitWeakHandlesForMinorGC(isolate);
       break;
     case v8::kGCTypeMarkSweepCompact:
       if (ThreadState::Current())
@@ -365,20 +294,34 @@
 
 namespace {
 
-// Traces all DOM persistent handles using the provided visitor.
-class DOMWrapperTracer final : public v8::PersistentHandleVisitor {
+// Visitor forwarding all DOM wrapper handles to the provided Blink visitor.
+class DOMWrapperForwardingVisitor final
+    : public v8::PersistentHandleVisitor,
+      public v8::EmbedderHeapTracer::TracedGlobalHandleVisitor {
  public:
-  explicit DOMWrapperTracer(Visitor* visitor) : visitor_(visitor) {
+  explicit DOMWrapperForwardingVisitor(Visitor* visitor) : visitor_(visitor) {
     DCHECK(visitor_);
   }
 
   void VisitPersistentHandle(v8::Persistent<v8::Value>* value,
                              uint16_t class_id) final {
+    // TODO(mlippautz): There should be no more v8::Persistent that have a class
+    // id set.
+    VisitHandle(value, class_id);
+  }
+
+  void VisitTracedGlobalHandle(const v8::TracedGlobal<v8::Value>& value) final {
+    VisitHandle(&value, value.WrapperClassId());
+  }
+
+ private:
+  template <typename T>
+  void VisitHandle(T* value, uint16_t class_id) {
     if (!IsDOMWrapperClassId(class_id))
       return;
 
     WrapperTypeInfo* wrapper_type_info = const_cast<WrapperTypeInfo*>(
-        ToWrapperTypeInfo(v8::Persistent<v8::Object>::Cast(*value)));
+        ToWrapperTypeInfo(value->template As<v8::Object>()));
 
     // WrapperTypeInfo pointer may have been cleared before termination GCs on
     // worker threads.
@@ -386,21 +329,34 @@
       return;
 
     wrapper_type_info->Trace(
-        visitor_, ToUntypedWrappable(v8::Persistent<v8::Object>::Cast(*value)));
+        visitor_, ToUntypedWrappable(value->template As<v8::Object>()));
   }
 
- private:
   Visitor* const visitor_;
 };
 
-// Purges all DOM persistent handles.
-class DOMWrapperPurger final : public v8::PersistentHandleVisitor {
+// Visitor purging all DOM wrapper handles.
+class DOMWrapperPurgingVisitor final
+    : public v8::PersistentHandleVisitor,
+      public v8::EmbedderHeapTracer::TracedGlobalHandleVisitor {
  public:
-  explicit DOMWrapperPurger(v8::Isolate* isolate)
+  explicit DOMWrapperPurgingVisitor(v8::Isolate* isolate)
       : isolate_(isolate), scope_(isolate) {}
 
   void VisitPersistentHandle(v8::Persistent<v8::Value>* value,
                              uint16_t class_id) final {
+    // TODO(mlippautz): There should be no more v8::Persistent that have a class
+    // id set.
+    VisitHandle(value, class_id);
+  }
+
+  void VisitTracedGlobalHandle(const v8::TracedGlobal<v8::Value>& value) final {
+    VisitHandle(&value, value.WrapperClassId());
+  }
+
+ private:
+  template <typename T>
+  void VisitHandle(T* value, uint16_t class_id) {
     if (!IsDOMWrapperClassId(class_id))
       return;
 
@@ -409,27 +365,39 @@
     // anymore.
     int indices[] = {kV8DOMWrapperObjectIndex, kV8DOMWrapperTypeIndex};
     void* values[] = {nullptr, nullptr};
-    v8::Local<v8::Object> wrapper = v8::Local<v8::Object>::New(
-        isolate_, v8::Persistent<v8::Object>::Cast(*value));
+    v8::Local<v8::Object> wrapper =
+        v8::Local<v8::Object>::New(isolate_, value->template As<v8::Object>());
     wrapper->SetAlignedPointerInInternalFields(base::size(indices), indices,
                                                values);
   }
 
- private:
-  v8::Isolate* isolate_;
+  v8::Isolate* const isolate_;
   v8::HandleScope scope_;
 };
 
 }  // namespace
 
-void V8GCController::TraceDOMWrappers(v8::Isolate* isolate, Visitor* visitor) {
-  DOMWrapperTracer tracer(visitor);
-  isolate->VisitHandlesWithClassIds(&tracer);
+void V8GCController::TraceDOMWrappers(v8::Isolate* isolate,
+                                      Visitor* parent_visitor) {
+  DOMWrapperForwardingVisitor visitor(parent_visitor);
+  isolate->VisitHandlesWithClassIds(&visitor);
+  v8::EmbedderHeapTracer* tracer =
+      V8PerIsolateData::From(isolate)->GetEmbedderHeapTracer();
+  // There may be no tracer during tear down garbage collections.
+  // Not all threads have a tracer attached.
+  if (tracer)
+    tracer->IterateTracedGlobalHandles(&visitor);
 }
 
 void V8GCController::ClearDOMWrappers(v8::Isolate* isolate) {
-  DOMWrapperPurger purger(isolate);
-  isolate->VisitHandlesWithClassIds(&purger);
+  DOMWrapperPurgingVisitor visitor(isolate);
+  isolate->VisitHandlesWithClassIds(&visitor);
+  v8::EmbedderHeapTracer* tracer =
+      V8PerIsolateData::From(isolate)->GetEmbedderHeapTracer();
+  // There may be no tracer during tear down garbage collections.
+  // Not all threads have a tracer attached.
+  if (tracer)
+    tracer->IterateTracedGlobalHandles(&visitor);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/controller/BUILD.gn b/third_party/blink/renderer/controller/BUILD.gn
index 6f95b124..6d18142 100644
--- a/third_party/blink/renderer/controller/BUILD.gn
+++ b/third_party/blink/renderer/controller/BUILD.gn
@@ -12,7 +12,7 @@
 
 visibility = [ "//third_party/blink/*" ]
 
-component("controller") {
+jumbo_component("controller") {
   output_name = "blink_controller"
 
   deps = [
diff --git a/third_party/blink/renderer/core/animation/css/css_animations.cc b/third_party/blink/renderer/core/animation/css/css_animations.cc
index a8bdb4b5..891c85d 100644
--- a/third_party/blink/renderer/core/animation/css/css_animations.cc
+++ b/third_party/blink/renderer/core/animation/css/css_animations.cc
@@ -786,28 +786,12 @@
   }
 
   TransitionKeyframeVector keyframes;
-  double start_keyframe_offset = 0;
-
-  if (timing.start_delay > 0) {
-    timing.iteration_duration.value() +=
-        AnimationTimeDelta::FromSecondsD(timing.start_delay);
-    start_keyframe_offset =
-        timing.start_delay / timing.iteration_duration->InSecondsF();
-    timing.start_delay = 0;
-  }
-
-  TransitionKeyframe* delay_keyframe = TransitionKeyframe::Create(property);
-  delay_keyframe->SetValue(TypedInterpolationValue::Create(
-      *transition_type, start.interpolable_value->Clone(),
-      start.non_interpolable_value));
-  delay_keyframe->SetOffset(0);
-  keyframes.push_back(delay_keyframe);
 
   TransitionKeyframe* start_keyframe = TransitionKeyframe::Create(property);
   start_keyframe->SetValue(TypedInterpolationValue::Create(
       *transition_type, start.interpolable_value->Clone(),
       start.non_interpolable_value));
-  start_keyframe->SetOffset(start_keyframe_offset);
+  start_keyframe->SetOffset(0);
   start_keyframe->SetEasing(std::move(timing.timing_function));
   timing.timing_function = LinearTimingFunction::Shared();
   keyframes.push_back(start_keyframe);
@@ -824,7 +808,6 @@
         CSSAnimatableValueFactory::Create(property, state.old_style);
     AnimatableValue* to =
         CSSAnimatableValueFactory::Create(property, state.style);
-    delay_keyframe->SetCompositorValue(from);
     start_keyframe->SetCompositorValue(from);
     end_keyframe->SetCompositorValue(to);
   }
diff --git a/third_party/blink/renderer/core/animation/css/css_transition_data.cc b/third_party/blink/renderer/core/animation/css/css_transition_data.cc
index d0c0f450..a58dd80 100644
--- a/third_party/blink/renderer/core/animation/css/css_transition_data.cc
+++ b/third_party/blink/renderer/core/animation/css/css_transition_data.cc
@@ -24,7 +24,7 @@
   DCHECK_LT(index, property_list_.size());
   // Note that the backwards fill part is required for delay to work.
   Timing timing = CSSTimingData::ConvertToTiming(index);
-  timing.fill_mode = Timing::FillMode::NONE;
+  timing.fill_mode = Timing::FillMode::BACKWARDS;
   return timing;
 }
 
diff --git a/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc b/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
index db6a998..f44753b 100644
--- a/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
+++ b/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
@@ -108,7 +108,7 @@
 
     const HashMap<String, std::unique_ptr<CrossThreadStyleValue>>& values =
         map->ValuesForTest();
-    EXPECT_EQ(values.size(), 7u);
+    EXPECT_EQ(values.size(), 8u);
     EXPECT_EQ(values.at("color")->ToCSSStyleValue()->CSSText(),
               "rgb(0, 255, 0)");
     EXPECT_EQ(values.at("color")->ToCSSStyleValue()->GetType(),
@@ -138,6 +138,9 @@
     EXPECT_EQ(ToCSSUnitValue(values.at("--x")->ToCSSStyleValue())->value(), 10);
     EXPECT_EQ(ToCSSUnitValue(values.at("--x")->ToCSSStyleValue())->unit(),
               "px");
+    EXPECT_EQ(values.at("--y")->ToCSSStyleValue()->GetType(),
+              CSSStyleValue::StyleValueType::kUnknownType);
+    EXPECT_EQ(values.at("--y")->ToCSSStyleValue()->CSSText(), "rgb(0, 255, 0)");
 
     waitable_event->Signal();
   }
@@ -213,17 +216,21 @@
   GetDocument().documentElement()->style()->setProperty(
       &GetDocument(), "display", "block", "", ASSERT_NO_EXCEPTION);
   Vector<AtomicString> custom_properties(
-      {"--foo", "--bar", "--keyword", "--x"});
+      {"--foo", "--bar", "--keyword", "--x", "--y"});
   css_test_helpers::RegisterProperty(GetDocument(), "--keyword", "test", "test",
                                      false);
   css_test_helpers::RegisterProperty(GetDocument(), "--x", "<length>", "42px",
                                      false);
+  css_test_helpers::RegisterProperty(GetDocument(), "--y", "<color>",
+                                     "rgb(0, 0, 0)", false);
   GetDocument().documentElement()->style()->setProperty(
       &GetDocument(), "--foo", "PaintWorklet", "", ASSERT_NO_EXCEPTION);
   GetDocument().documentElement()->style()->setProperty(
       &GetDocument(), "--keyword", "test", "", ASSERT_NO_EXCEPTION);
   GetDocument().documentElement()->style()->setProperty(
       &GetDocument(), "--x", "10px", "", ASSERT_NO_EXCEPTION);
+  GetDocument().documentElement()->style()->setProperty(
+      &GetDocument(), "--y", "rgb(0, 255, 0)", "", ASSERT_NO_EXCEPTION);
 
   UpdateAllLifecyclePhasesForTest();
   Node* node = PageNode();
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
index fb141ff0..ec1290c 100644
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -2122,9 +2122,12 @@
   DetachPseudoElement(kPseudoIdBefore, context);
 
   if (ChildNeedsReattachLayoutTree() || GetComputedStyle()) {
-    if (ShadowRoot* shadow_root = GetShadowRoot())
+    if (ShadowRoot* shadow_root = GetShadowRoot()) {
       shadow_root->DetachLayoutTree(context);
-    ContainerNode::DetachLayoutTree(context);
+      Node::DetachLayoutTree(context);
+    } else {
+      ContainerNode::DetachLayoutTree(context);
+    }
   } else {
     Node::DetachLayoutTree(context);
   }
diff --git a/third_party/blink/renderer/core/dom/v0_insertion_point.cc b/third_party/blink/renderer/core/dom/v0_insertion_point.cc
index 304a821..63327cb4 100644
--- a/third_party/blink/renderer/core/dom/v0_insertion_point.cc
+++ b/third_party/blink/renderer/core/dom/v0_insertion_point.cc
@@ -121,7 +121,7 @@
 
 void V0InsertionPoint::DetachLayoutTree(const AttachContext& context) {
   for (wtf_size_t i = 0; i < distributed_nodes_.size(); ++i)
-    distributed_nodes_.at(i)->LazyReattachIfAttached();
+    distributed_nodes_.at(i)->DetachLayoutTree(context);
 
   HTMLElement::DetachLayoutTree(context);
 }
diff --git a/third_party/blink/renderer/core/html/html_slot_element.cc b/third_party/blink/renderer/core/html/html_slot_element.cc
index ad11137..1b2f27996 100644
--- a/third_party/blink/renderer/core/html/html_slot_element.cc
+++ b/third_party/blink/renderer/core/html/html_slot_element.cc
@@ -291,7 +291,7 @@
   if (SupportsAssignment()) {
     const HeapVector<Member<Node>>& flat_tree_children = assigned_nodes_;
     for (auto& node : flat_tree_children)
-      node->LazyReattachIfAttached();
+      node->DetachLayoutTree(context);
   }
   HTMLElement::DetachLayoutTree(context);
 }
diff --git a/third_party/blink/renderer/core/loader/resource/image_resource.cc b/third_party/blink/renderer/core/loader/resource/image_resource.cc
index 651e85b..889d2d65 100644
--- a/third_party/blink/renderer/core/loader/resource/image_resource.cc
+++ b/third_party/blink/renderer/core/loader/resource/image_resource.cc
@@ -313,16 +313,7 @@
   // TODO(hiroshige): Make the CHECK condition cleaner.
   CHECK(is_during_finish_as_error_ || !GetContent()->HasImage() ||
         !ErrorOccurred());
-  // If possible, delay the resetting until back at the event loop. Doing so
-  // after a conservative GC prevents resetAnimation() from upsetting ongoing
-  // animation updates (crbug.com/613709)
-  if (!ThreadHeap::WillObjectBeLazilySwept(this)) {
-    Thread::Current()->GetTaskRunner()->PostTask(
-        FROM_HERE, WTF::Bind(&ImageResourceContent::DoResetAnimation,
-                             WrapWeakPersistent(GetContent())));
-  } else {
-    GetContent()->DoResetAnimation();
-  }
+  GetContent()->DoResetAnimation();
   if (multipart_parser_)
     multipart_parser_->Cancel();
   Resource::AllClientsAndObserversRemoved();
diff --git a/third_party/blink/renderer/modules/service_worker/navigator_service_worker.cc b/third_party/blink/renderer/modules/service_worker/navigator_service_worker.cc
index bd2c427..ef8de7a 100644
--- a/third_party/blink/renderer/modules/service_worker/navigator_service_worker.cc
+++ b/third_party/blink/renderer/modules/service_worker/navigator_service_worker.cc
@@ -55,7 +55,7 @@
     // Ensure ServiceWorkerContainer. It can be cleared regardless of
     // |supplement|. See comments in NavigatorServiceWorker::serviceWorker() for
     // details.
-    supplement->serviceWorker(navigator.GetFrame(), ASSERT_NO_EXCEPTION);
+    supplement->GetOrCreateContainer(navigator.GetFrame(), ASSERT_NO_EXCEPTION);
   }
   return *supplement;
 }
@@ -67,6 +67,7 @@
 
 const char NavigatorServiceWorker::kSupplementName[] = "NavigatorServiceWorker";
 
+// static
 ServiceWorkerContainer* NavigatorServiceWorker::serviceWorker(
     ScriptState* script_state,
     Navigator& navigator,
@@ -75,40 +76,20 @@
   DCHECK(!navigator.GetFrame() ||
          execution_context->GetSecurityOrigin()->CanAccess(
              navigator.GetFrame()->GetSecurityContext()->GetSecurityOrigin()));
-  return NavigatorServiceWorker::From(navigator).serviceWorker(
+  return NavigatorServiceWorker::From(navigator).GetOrCreateContainer(
       navigator.GetFrame(), exception_state);
 }
 
-ServiceWorkerContainer* NavigatorServiceWorker::serviceWorker(
-    ScriptState* script_state,
-    Navigator& navigator,
-    String& error_message) {
-  ExecutionContext* execution_context = ExecutionContext::From(script_state);
-  DCHECK(!navigator.GetFrame() ||
-         execution_context->GetSecurityOrigin()->CanAccess(
-             navigator.GetFrame()->GetSecurityContext()->GetSecurityOrigin()));
-  return NavigatorServiceWorker::From(navigator).serviceWorker(
-      navigator.GetFrame(), error_message);
-}
-
-ServiceWorkerContainer* NavigatorServiceWorker::serviceWorker(
+ServiceWorkerContainer* NavigatorServiceWorker::GetOrCreateContainer(
     LocalFrame* frame,
     ExceptionState& exception_state) {
-  String error_message;
-  ServiceWorkerContainer* result = serviceWorker(frame, error_message);
-  if (!error_message.IsEmpty()) {
-    DCHECK(!result);
-    exception_state.ThrowSecurityError(error_message);
-  }
-  return result;
-}
+  if (!frame)
+    return nullptr;
 
-ServiceWorkerContainer* NavigatorServiceWorker::serviceWorker(
-    LocalFrame* frame,
-    String& error_message) {
-  if (frame && !frame->GetSecurityContext()
-                    ->GetSecurityOrigin()
-                    ->CanAccessServiceWorkers()) {
+  if (!frame->GetSecurityContext()
+           ->GetSecurityOrigin()
+           ->CanAccessServiceWorkers()) {
+    String error_message;
     if (frame->GetSecurityContext()->IsSandboxed(kSandboxOrigin)) {
       error_message =
           "Service worker is disabled because the context is sandboxed and "
@@ -117,13 +98,13 @@
       error_message =
           "Access to service workers is denied in this document origin.";
     }
+    exception_state.ThrowSecurityError(error_message);
     return nullptr;
-  } else if (frame &&
-             frame->GetSecurityContext()->GetSecurityOrigin()->IsLocal()) {
-    UseCounter::Count(frame, WebFeature::kFileAccessedServiceWorker);
   }
-  if (!frame)
-    return nullptr;
+
+  if (frame->GetSecurityContext()->GetSecurityOrigin()->IsLocal())
+    UseCounter::Count(frame, WebFeature::kFileAccessedServiceWorker);
+
   return ServiceWorkerContainer::From(
       To<Document>(frame->DomWindow()->GetExecutionContext()));
 }
diff --git a/third_party/blink/renderer/modules/service_worker/navigator_service_worker.h b/third_party/blink/renderer/modules/service_worker/navigator_service_worker.h
index 11747d6..fabc55a 100644
--- a/third_party/blink/renderer/modules/service_worker/navigator_service_worker.h
+++ b/third_party/blink/renderer/modules/service_worker/navigator_service_worker.h
@@ -32,16 +32,12 @@
   static ServiceWorkerContainer* serviceWorker(ScriptState*,
                                                Navigator&,
                                                ExceptionState&);
-  static ServiceWorkerContainer* serviceWorker(ScriptState*,
-                                               Navigator&,
-                                               String& error_message);
 
   explicit NavigatorServiceWorker(Navigator&);
   void Trace(blink::Visitor*) override;
 
  private:
-  ServiceWorkerContainer* serviceWorker(LocalFrame*, ExceptionState&);
-  ServiceWorkerContainer* serviceWorker(LocalFrame*, String& error_message);
+  ServiceWorkerContainer* GetOrCreateContainer(LocalFrame*, ExceptionState&);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/bindings/callback_function_base.cc b/third_party/blink/renderer/platform/bindings/callback_function_base.cc
index 90fb952..8833c9d 100644
--- a/third_party/blink/renderer/platform/bindings/callback_function_base.cc
+++ b/third_party/blink/renderer/platform/bindings/callback_function_base.cc
@@ -73,9 +73,10 @@
 V8PersistentCallbackFunctionBase::V8PersistentCallbackFunctionBase(
     CallbackFunctionBase* callback_function)
     : callback_function_(callback_function) {
-  v8::HandleScope scope(callback_function_->GetIsolate());
-  v8_function_.Reset(callback_function_->GetIsolate(),
-                     callback_function_->callback_function_.Get());
+  v8::Isolate* isolate = callback_function_->GetIsolate();
+  v8::HandleScope scope(isolate);
+  auto local = callback_function_->callback_function_.NewLocal(isolate);
+  v8_function_.Reset(isolate, local);
 }
 
 void V8PersistentCallbackFunctionBase::Trace(blink::Visitor* visitor) {
diff --git a/third_party/blink/renderer/platform/bindings/callback_interface_base.cc b/third_party/blink/renderer/platform/bindings/callback_interface_base.cc
index f5d336f..9b3b3c6 100644
--- a/third_party/blink/renderer/platform/bindings/callback_interface_base.cc
+++ b/third_party/blink/renderer/platform/bindings/callback_interface_base.cc
@@ -75,8 +75,10 @@
 V8PersistentCallbackInterfaceBase::V8PersistentCallbackInterfaceBase(
     CallbackInterfaceBase* callback_interface)
     : callback_interface_(callback_interface) {
-  v8_object_.Reset(callback_interface_->GetIsolate(),
-                   callback_interface_->callback_object_.Get());
+  v8::Isolate* isolate = callback_interface_->GetIsolate();
+  v8::HandleScope scope(isolate);
+  auto local = callback_interface_->callback_object_.NewLocal(isolate);
+  v8_object_.Reset(isolate, local);
 }
 
 void V8PersistentCallbackInterfaceBase::Trace(blink::Visitor* visitor) {
diff --git a/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.cc b/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.cc
index c73607fb..bcef54e 100644
--- a/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.cc
+++ b/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.cc
@@ -78,6 +78,11 @@
   return marking_deque_.empty();
 }
 
+bool ScriptWrappableMarkingVisitor::IsRootForNonTracingGC(
+    const v8::TracedGlobal<v8::Value>& handle) {
+  return UnifiedHeapController::IsRootForNonTracingGCInternal(handle);
+}
+
 void ScriptWrappableMarkingVisitor::PerformCleanup() {
   if (!should_cleanup_)
     return;
@@ -250,7 +255,8 @@
   // requires us to bail out here when tracing is not in progress.
   if (!tracing_in_progress_ || traced_wrapper.Get().IsEmpty())
     return;
-  traced_wrapper.Get().RegisterExternalReference(isolate());
+
+  RegisterEmbedderReference(traced_wrapper.Get());
 }
 
 void ScriptWrappableMarkingVisitor::VisitWithWrappers(
diff --git a/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.h b/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.h
index 8433c4b..5cf6845 100644
--- a/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.h
+++ b/third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.h
@@ -86,6 +86,7 @@
   void TraceEpilogue() override;
   void EnterFinalPause(EmbedderStackState) override;
   bool IsTracingDone() override;
+  bool IsRootForNonTracingGC(const v8::TracedGlobal<v8::Value>&) override;
 
   // ScriptWrappableVisitor interface.
   void Visit(const TraceWrapperV8Reference<v8::Value>&) override;
diff --git a/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h b/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h
index 41c03834..428b2eb 100644
--- a/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h
+++ b/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h
@@ -7,6 +7,7 @@
 
 #include "third_party/blink/renderer/platform/bindings/script_wrappable_marking_visitor.h"
 #include "third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.h"
+#include "v8/include/v8.h"
 
 namespace blink {
 
@@ -14,8 +15,6 @@
  * TraceWrapperV8Reference is used to hold references from Blink to V8 that are
  * known to both garbage collectors. The reference is a regular traced reference
  * for wrapper tracing as well as unified heap garbage collections.
- *
- * TODO(mlippautz): Use a better handle type than v8::Persistent.
  */
 template <typename T>
 class TraceWrapperV8Reference {
@@ -24,7 +23,6 @@
 
   TraceWrapperV8Reference(v8::Isolate* isolate, v8::Local<T> handle) {
     InternalSet(isolate, handle);
-    handle_.SetWeak();
   }
 
   ~TraceWrapperV8Reference() { Clear(); }
@@ -35,17 +33,16 @@
 
   void Set(v8::Isolate* isolate, v8::Local<T> handle) {
     InternalSet(isolate, handle);
-    handle_.SetWeak();
   }
 
   ALWAYS_INLINE v8::Local<T> NewLocal(v8::Isolate* isolate) const {
-    return v8::Local<T>::New(isolate, handle_);
+    return handle_.Get(isolate);
   }
 
   bool IsEmpty() const { return handle_.IsEmpty(); }
   void Clear() { handle_.Reset(); }
-  ALWAYS_INLINE const v8::Global<T>& Get() const { return handle_; }
-  ALWAYS_INLINE v8::Global<T>& Get() { return handle_; }
+  ALWAYS_INLINE const v8::TracedGlobal<T>& Get() const { return handle_; }
+  ALWAYS_INLINE v8::TracedGlobal<T>& Get() { return handle_; }
 
   template <typename S>
   const TraceWrapperV8Reference<S>& Cast() const {
@@ -68,7 +65,7 @@
     UnifiedHeapMarkingVisitor::WriteBarrier(isolate, UnsafeCast<v8::Value>());
   }
 
-  v8::Global<T> handle_;
+  v8::TracedGlobal<T> handle_;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h b/third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
index 6599b4f..9b3c260 100644
--- a/third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
+++ b/third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
@@ -219,6 +219,14 @@
     return unified_heap_controller_.get();
   }
 
+  v8::EmbedderHeapTracer* GetEmbedderHeapTracer() const {
+    return RuntimeEnabledFeatures::HeapUnifiedGarbageCollectionEnabled()
+               ? static_cast<v8::EmbedderHeapTracer*>(
+                     GetUnifiedHeapController())
+               : static_cast<v8::EmbedderHeapTracer*>(
+                     GetScriptWrappableMarkingVisitor());
+  }
+
  private:
   V8PerIsolateData(scoped_refptr<base::SingleThreadTaskRunner>,
                    V8ContextSnapshotMode);
diff --git a/third_party/blink/renderer/platform/bindings/wrapper_type_info.h b/third_party/blink/renderer/platform/bindings/wrapper_type_info.h
index 13a672f5..e755189 100644
--- a/third_party/blink/renderer/platform/bindings/wrapper_type_info.h
+++ b/third_party/blink/renderer/platform/bindings/wrapper_type_info.h
@@ -122,6 +122,10 @@
     wrapper->SetWrapperClassId(wrapper_class_id);
   }
 
+  void ConfigureWrapper(v8::TracedGlobal<v8::Object>* wrapper) const {
+    wrapper->SetWrapperClassId(wrapper_class_id);
+  }
+
   v8::Local<v8::FunctionTemplate> DomTemplate(
       v8::Isolate* isolate,
       const DOMWrapperWorld& world) const {
@@ -174,6 +178,13 @@
 }
 
 template <typename T, int offset>
+inline T* GetInternalField(const v8::TracedGlobal<v8::Object>& global) {
+  DCHECK_LT(offset, v8::Object::InternalFieldCount(global));
+  return reinterpret_cast<T*>(
+      v8::Object::GetAlignedPointerFromInternalField(global, offset));
+}
+
+template <typename T, int offset>
 inline T* GetInternalField(v8::Local<v8::Object> wrapper) {
   DCHECK_LT(offset, wrapper->InternalFieldCount());
   return reinterpret_cast<T*>(
@@ -187,6 +198,11 @@
   return GetInternalField<ScriptWrappable, kV8DOMWrapperObjectIndex>(wrapper);
 }
 
+inline ScriptWrappable* ToScriptWrappable(
+    const v8::TracedGlobal<v8::Object>& wrapper) {
+  return GetInternalField<ScriptWrappable, kV8DOMWrapperObjectIndex>(wrapper);
+}
+
 inline ScriptWrappable* ToScriptWrappable(v8::Local<v8::Object> wrapper) {
   return GetInternalField<ScriptWrappable, kV8DOMWrapperObjectIndex>(wrapper);
 }
@@ -204,6 +220,10 @@
   return GetInternalField<void, kV8DOMWrapperObjectIndex>(wrapper);
 }
 
+inline void* ToUntypedWrappable(const v8::TracedGlobal<v8::Object>& wrapper) {
+  return GetInternalField<void, kV8DOMWrapperObjectIndex>(wrapper);
+}
+
 inline void* ToUntypedWrappable(v8::Local<v8::Object> wrapper) {
   return GetInternalField<void, kV8DOMWrapperObjectIndex>(wrapper);
 }
@@ -213,6 +233,11 @@
   return GetInternalField<WrapperTypeInfo, kV8DOMWrapperTypeIndex>(wrapper);
 }
 
+inline const WrapperTypeInfo* ToWrapperTypeInfo(
+    const v8::TracedGlobal<v8::Object>& wrapper) {
+  return GetInternalField<WrapperTypeInfo, kV8DOMWrapperTypeIndex>(wrapper);
+}
+
 inline const WrapperTypeInfo* ToWrapperTypeInfo(v8::Local<v8::Object> wrapper) {
   return GetInternalField<WrapperTypeInfo, kV8DOMWrapperTypeIndex>(wrapper);
 }
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
index e7aff6a..ff0142b 100644
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -43,6 +43,11 @@
   RuntimeEnabledFeatures::SetHeapUnifiedGarbageCollectionEnabled(enable);
 }
 
+void WebRuntimeFeatures::EnableBlinkHeapCollectLiveNonNodeWrappers(
+    bool enable) {
+  RuntimeEnabledFeatures::SetHeapCollectLiveNonNodeWrappersEnabled(enable);
+}
+
 void WebRuntimeFeatures::EnableBloatedRendererDetection(bool enable) {
   RuntimeEnabledFeatures::SetBloatedRendererDetectionEnabled(enable);
 }
diff --git a/third_party/blink/renderer/platform/heap/unified_heap_controller.cc b/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
index 30cb2fe6..b44928e 100644
--- a/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
+++ b/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
@@ -11,6 +11,7 @@
 #include "third_party/blink/renderer/platform/heap/heap_stats_collector.h"
 #include "third_party/blink/renderer/platform/heap/marking_visitor.h"
 #include "third_party/blink/renderer/platform/heap/thread_state.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 
 namespace blink {
 
@@ -135,4 +136,39 @@
   return is_tracing_done_;
 }
 
+bool UnifiedHeapController::IsRootForNonTracingGCInternal(
+    const v8::TracedGlobal<v8::Value>& handle) {
+  const uint16_t class_id = handle.WrapperClassId();
+  // Stand-alone TracedGlobal reference or kCustomWrappableId. Keep as root as
+  // we don't know better.
+  if (class_id != WrapperTypeInfo::kNodeClassId &&
+      class_id != WrapperTypeInfo::kObjectClassId)
+    return true;
+
+  const bool collect_non_node_wrappers =
+      RuntimeEnabledFeatures::HeapCollectLiveNonNodeWrappersEnabled();
+
+  if (!collect_non_node_wrappers &&
+      class_id == WrapperTypeInfo::kObjectClassId) {
+    return true;
+  }
+
+  const v8::TracedGlobal<v8::Object>& traced = handle.As<v8::Object>();
+  if (ToWrapperTypeInfo(traced)->IsActiveScriptWrappable() &&
+      ToScriptWrappable(traced)->HasPendingActivity()) {
+    return true;
+  }
+
+  if (ToScriptWrappable(traced)->HasEventListeners()) {
+    return true;
+  }
+
+  return false;
+}
+
+bool UnifiedHeapController::IsRootForNonTracingGC(
+    const v8::TracedGlobal<v8::Value>& handle) {
+  return IsRootForNonTracingGCInternal(handle);
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/heap/unified_heap_controller.h b/third_party/blink/renderer/platform/heap/unified_heap_controller.h
index 02a0f75..410acf3 100644
--- a/third_party/blink/renderer/platform/heap/unified_heap_controller.h
+++ b/third_party/blink/renderer/platform/heap/unified_heap_controller.h
@@ -33,6 +33,11 @@
   DISALLOW_IMPLICIT_CONSTRUCTORS(UnifiedHeapController);
 
  public:
+  // Temporarily expose that logic to allow reuse by
+  // ScriptWrappableMarkingVisitor.
+  static bool IsRootForNonTracingGCInternal(
+      const v8::TracedGlobal<v8::Value>& handle);
+
   explicit UnifiedHeapController(ThreadState*);
 
   // v8::EmbedderHeapTracer implementation.
@@ -42,6 +47,7 @@
   void RegisterV8References(const std::vector<std::pair<void*, void*>>&) final;
   bool AdvanceTracing(double) final;
   bool IsTracingDone() final;
+  bool IsRootForNonTracingGC(const v8::TracedGlobal<v8::Value>&) final;
 
   ThreadState* thread_state() const { return thread_state_; }
 
diff --git a/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.cc b/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.cc
index d5a8881..7abd6f5 100644
--- a/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.cc
+++ b/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.cc
@@ -25,7 +25,11 @@
 UnifiedHeapMarkingVisitor::UnifiedHeapMarkingVisitor(ThreadState* thread_state,
                                                      MarkingMode mode,
                                                      v8::Isolate* isolate)
-    : MarkingVisitor(thread_state, mode), isolate_(isolate) {}
+    : MarkingVisitor(thread_state, mode),
+      isolate_(isolate),
+      controller_(V8PerIsolateData::From(isolate)->GetUnifiedHeapController()) {
+  DCHECK(controller_);
+}
 
 void UnifiedHeapMarkingVisitor::WriteBarrier(
     v8::Isolate* isolate,
@@ -75,7 +79,7 @@
   if (v8_reference.Get().IsEmpty())
     return;
   DCHECK(isolate_);
-  v8_reference.Get().RegisterExternalReference(isolate_);
+  controller_->RegisterEmbedderReference(v8_reference.Get());
 }
 
 void UnifiedHeapMarkingVisitor::Visit(
diff --git a/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.h b/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.h
index 32c88b95..bc2e11e 100644
--- a/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.h
+++ b/third_party/blink/renderer/platform/heap/unified_heap_marking_visitor.h
@@ -38,6 +38,7 @@
   UnifiedHeapMarkingVisitor(ThreadState*, MarkingMode, v8::Isolate*);
 
   v8::Isolate* const isolate_;
+  v8::EmbedderHeapTracer* const controller_;
 
   DISALLOW_COPY_AND_ASSIGN(UnifiedHeapMarkingVisitor);
 };
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 3a84494..a6cdb4f6 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -577,6 +577,9 @@
       status: "stable",
     },
     {
+      name: "HeapCollectLiveNonNodeWrappers",
+    },
+    {
       name: "HeapCompaction",
       status: "stable",
     },
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 7610668..9f106e8 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -980,6 +980,8 @@
 crbug.com/829028 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-005.html [ Failure ]
 crbug.com/829028 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-006.html [ Failure Crash ]
 crbug.com/829028 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-007.html [ Failure ]
+crbug.com/829028 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-009.html [ Failure ]
+crbug.com/829028 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-010.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-block-sibling-003.xht [ Failure ]
 crbug.com/924142 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-dynamic-add-010.html [ Crash Pass ]
 crbug.com/829028 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-list-item-002.html [ Failure ]
@@ -3086,10 +3088,6 @@
 crbug.com/918664 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/sizing/block-size-with-min-or-max-content-table-1a.html [ Failure Pass ]
 
 # ====== New tests from wpt-importer added here ======
-crbug.com/626703 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-009.html [ Failure ]
-crbug.com/626703 external/wpt/css/css-multicol/multicol-span-all-010.html [ Failure ]
-crbug.com/626703 virtual/layout_ng_experimental/external/wpt/css/css-multicol/multicol-span-all-010.html [ Failure ]
-crbug.com/626703 external/wpt/css/css-multicol/multicol-span-all-009.html [ Failure ]
 crbug.com/626703 [ Mac10.10 ] external/wpt/content-security-policy/inside-worker/shared-inheritance.html [ Timeout ]
 crbug.com/626703 [ Mac10.10 ] external/wpt/content-security-policy/frame-ancestors/frame-ancestors-self-block.html [ Timeout ]
 crbug.com/626703 [ Mac10.10 ] external/wpt/fetch/api/cors/cors-redirect.any.html [ Timeout ]
@@ -4194,6 +4192,8 @@
 crbug.com/915204 external/wpt/css/css-multicol/multicol-span-all-005.html [ Failure ]
 crbug.com/915204 external/wpt/css/css-multicol/multicol-span-all-006.html [ Failure ]
 crbug.com/915204 external/wpt/css/css-multicol/multicol-span-all-007.html [ Failure ]
+crbug.com/915204 external/wpt/css/css-multicol/multicol-span-all-009.html [ Failure ]
+crbug.com/926685 external/wpt/css/css-multicol/multicol-span-all-010.html [ Failure ]
 crbug.com/906385 external/wpt/css/css-multicol/multicol-span-all-list-item-002.html [ Failure ]
 crbug.com/892817 external/wpt/css/css-multicol/multicol-span-all-margin-bottom-001.xht [ Failure ]
 crbug.com/636055 external/wpt/css/css-multicol/multicol-span-all-margin-nested-002.xht [ Failure ]
@@ -5921,9 +5921,11 @@
 crbug.com/922951 virtual/video-surface-layer/media/controls/overflow-menu-hide-on-click-panel.html [ Skip ]
 crbug.com/922951 virtual/video-surface-layer/media/controls/overflow-menu-toggle-class-for-animation.html [ Skip ]
 
-# Sheriff 2019-01-17
-crbug.com/922955 external/wpt/webrtc/RTCPeerConnection-track-stats.https.html [ Failure Pass ]
-crbug.com/924990 virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCPeerConnection-track-stats.https.html [ Failure Pass ]
+# Race: The RTCIceConnectionState can become "connected" before getStats()
+# returns candidate-pair whose state is "succeeded", this sounds like a
+# contradiction.
+crbug.com/926170 external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html [ Pass Timeout ]
+crbug.com/926170 virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html [ Pass Timeout ]
 
 # Sheriff 2019-01-18
 crbug.com/922970 external/wpt/css/css-transitions/CSSTransition-startTime.tentative.html [ Failure Pass ]
diff --git a/third_party/blink/web_tests/animations/reverse-transition-with-delay.html b/third_party/blink/web_tests/animations/reverse-transition-with-delay.html
index 4fe5c23..eb6cff59 100644
--- a/third_party/blink/web_tests/animations/reverse-transition-with-delay.html
+++ b/third_party/blink/web_tests/animations/reverse-transition-with-delay.html
@@ -54,7 +54,7 @@
   animation.currentTime = 300;
   assert_px_approx_equals(getComputedStyle(box).width, 157.141, 0.01, 'width after second delay');
   animation.currentTime = 500;
-  assert_px_approx_equals(getComputedStyle(box).width, 133.812, 0.01, 'width mid-reverse');
+  assert_px_approx_equals(getComputedStyle(box).width, 128.562, 0.01, 'width mid-reverse');
 
   // Go forward again.  This tests the reversingAdjustedStartValue is set
   // properly the first time it's reversed.
@@ -64,11 +64,11 @@
   animation.pause();  // The animation is replaced, so pause it again.
 
   animation.currentTime = 0;
-  assert_px_approx_equals(getComputedStyle(box).width, 133.812, 0.01, 'width after second reverse');
+  assert_px_approx_equals(getComputedStyle(box).width, 128.562, 0.01, 'width after second reverse');
   animation.currentTime = 300;
-  assert_px_approx_equals(getComputedStyle(box).width, 133.812, 0.01, 'width at transition start');
+  assert_px_approx_equals(getComputedStyle(box).width, 128.562, 0.01, 'width at transition start');
   animation.currentTime = 700;
-  assert_px_approx_equals(getComputedStyle(box).width, 184.703, 0.01, 'width mid-second-reverse');
+  assert_px_approx_equals(getComputedStyle(box).width, 185.703, 0.01, 'width mid-second-reverse');
   animation.currentTime = 1100;
   assert_equals(getComputedStyle(box).width, '200px', 'width at end');
 
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json
index bcdcb688..4a9ce212 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_5.json
@@ -172495,6 +172495,26 @@
      {}
     ]
    ],
+   "images/fyi-logo/fyi_color.svg": [
+    [
+     {}
+    ]
+   ],
+   "images/fyi-logo/fyi_color_bg.svg": [
+    [
+     {}
+    ]
+   ],
+   "images/fyi-logo/fyi_monochromatic.svg": [
+    [
+     {}
+    ]
+   ],
+   "images/fyi-logo/fyi_monochromatic_bg.svg": [
+    [
+     {}
+    ]
+   ],
    "images/ggrr-256x256.png": [
     [
      {}
@@ -187665,7 +187685,7 @@
      {}
     ]
    ],
-   "webrtc/RTCPeerConnection-iceConnectionState-expected.txt": [
+   "webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt": [
     [
      {}
     ]
@@ -284316,6 +284336,14 @@
      {}
     ]
    ],
+   "webrtc/RTCIceConnectionState-candidate-pair.https.html": [
+    [
+     "/webrtc/RTCIceConnectionState-candidate-pair.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
    "webrtc/RTCIceTransport-extension.https.html": [
     [
      "/webrtc/RTCIceTransport-extension.https.html",
@@ -284412,9 +284440,9 @@
      {}
     ]
    ],
-   "webrtc/RTCPeerConnection-iceConnectionState.html": [
+   "webrtc/RTCPeerConnection-iceConnectionState.https.html": [
     [
-     "/webrtc/RTCPeerConnection-iceConnectionState.html",
+     "/webrtc/RTCPeerConnection-iceConnectionState.https.html",
      {}
     ]
    ],
@@ -287952,6 +287980,12 @@
      {}
     ]
    ],
+   "workers/SharedWorker-exception-propagation.html": [
+    [
+     "/workers/SharedWorker-exception-propagation.html",
+     {}
+    ]
+   ],
    "workers/SharedWorker-exception.html": [
     [
      "/workers/SharedWorker-exception.html",
@@ -417051,6 +417085,22 @@
    "c4addcf0090ce049726cdf1d3cf96283be78db49",
    "support"
   ],
+  "images/fyi-logo/fyi_color.svg": [
+   "760387892af091948a50a2dde8501754cf6afc91",
+   "support"
+  ],
+  "images/fyi-logo/fyi_color_bg.svg": [
+   "94864b5c2c259d2d494f7cca6b7e4bf62ce46a5b",
+   "support"
+  ],
+  "images/fyi-logo/fyi_monochromatic.svg": [
+   "bde275972b33c57138ea086aeb28261d8bbf743f",
+   "support"
+  ],
+  "images/fyi-logo/fyi_monochromatic_bg.svg": [
+   "94c82d31a27dc0d9ab38f91574c10c4708dee0de",
+   "support"
+  ],
   "images/ggrr-256x256.png": [
    "0342e4a38425886d5fa9159fcfaa9a06093937e3",
    "support"
@@ -418780,11 +418830,11 @@
    "testharness"
   ],
   "media-capabilities/encodingInfo-expected.txt": [
-   "a8c1a00f9e4d08854fe3fae072427fafd4c3b30f",
+   "7dad6b48116eda7a74465f8ba9841eaf42dd9ec1",
    "support"
   ],
   "media-capabilities/encodingInfo.html": [
-   "751146c389148cd7b10ee41cf7446b3bed3c4ff1",
+   "08a3f7569a185215e42f97ca9e9a9803a92c5d7c",
    "testharness"
   ],
   "media-capabilities/idlharness-expected.txt": [
@@ -453403,6 +453453,10 @@
    "cad0464a3c045a000270127ce50f89798f9eca0b",
    "testharness"
   ],
+  "webrtc/RTCIceConnectionState-candidate-pair.https.html": [
+   "7280d040856370f448796a4de2f92f82f9c78c53",
+   "testharness"
+  ],
   "webrtc/RTCIceTransport-expected.txt": [
    "8fcf2e214bb23a9f5f023c4d69398c918ca8e49d",
    "support"
@@ -453520,15 +453574,15 @@
    "testharness"
   ],
   "webrtc/RTCPeerConnection-helper.js": [
-   "d1056d90f393d06713feeccb04d589c41690089e",
+   "1ff5f54015e6a65a47cd4a277818acb9c57318bc",
    "support"
   ],
-  "webrtc/RTCPeerConnection-iceConnectionState-expected.txt": [
-   "b28601423de0b987c27db05d4b4061ece60f0129",
+  "webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt": [
+   "c5fd94e3f5ca952dc8b0fa85c50b56c6b8ecc8ed",
    "support"
   ],
-  "webrtc/RTCPeerConnection-iceConnectionState.html": [
-   "b647b3d3e35e31f16b33422f67cb30b917d1d0af",
+  "webrtc/RTCPeerConnection-iceConnectionState.https.html": [
+   "8acabf49766ba08999b8857d8cb6589d1587c843",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-iceGatheringState-expected.txt": [
@@ -453660,7 +453714,7 @@
    "support"
   ],
   "webrtc/RTCPeerConnection-track-stats.https.html": [
-   "2d45c343d861f0b62a7d3d1f979ff7702862e5d7",
+   "e394e63e50d78b96dd8b6815700a0cc8408ce239",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-transceivers.https.html": [
@@ -453744,7 +453798,7 @@
    "support"
   ],
   "webrtc/RTCRtpReceiver-getSynchronizationSources.https.html": [
-   "36460b479903231e15427f303f15c3b6a3de16e8",
+   "82ce3bd8467b6a29e4b40a105151b50314b5bf46",
    "testharness"
   ],
   "webrtc/RTCRtpSender-getCapabilities.html": [
@@ -458611,8 +458665,12 @@
    "2bfe7d9b87adfe927517a0a3af6d614d8837964d",
    "testharness"
   ],
+  "workers/SharedWorker-exception-propagation.html": [
+   "5823a19a4bfabb89243d51797288ee3a13b4cd1f",
+   "testharness"
+  ],
   "workers/SharedWorker-exception.html": [
-   "b9f453001fb70af22d69c1acb7ac455e6b46c48a",
+   "28b858485727e8c69846b71ba7f58f6b9662ef9b",
    "testharness"
   ],
   "workers/SharedWorker-replace-EventHandler.any.js": [
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt
index 0eba188..30c5dac 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt
@@ -1,6 +1,6 @@
 This is a testharness.js-based test.
-FAIL KeyframeEffect.getKeyframes() returns expected frames for a simple transition assert_equals: number of frames expected 2 but got 3
-FAIL KeyframeEffect.getKeyframes() returns expected frames for a simple transition with a non-default easing function assert_equals: number of frames expected 2 but got 3
+FAIL KeyframeEffect.getKeyframes() returns expected frames for a simple transition assert_equals: properties on ComputedKeyframe #0 expected "composite,computedOffset,easing,left,offset" but got "composite,computedOffset,easing,offset"
+FAIL KeyframeEffect.getKeyframes() returns expected frames for a simple transition with a non-default easing function assert_equals: properties on ComputedKeyframe #0 expected "composite,computedOffset,easing,left,offset" but got "composite,computedOffset,easing,offset"
 FAIL KeyframeEffect.getKeyframes() returns expected frames for a transition with a CSS variable endpoint assert_equals: properties on ComputedKeyframe #0 expected "composite,computedOffset,easing,left,offset" but got "composite,computedOffset,easing,offset"
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transitions/events-004-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-transitions/events-004-expected.txt
deleted file mode 100644
index 48c7fc8..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-transitions/events-004-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-FAIL repeating lists assert_approx_equals: expected 0.02 +/- 0.0005 but got 0.03
-FAIL truncating lists assert_approx_equals: expected 0.02 +/- 0.0005 but got 0.03
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/buffer-before-onload.html b/third_party/blink/web_tests/external/wpt/element-timing/buffer-before-onload.html
similarity index 90%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/buffer-before-onload.html
rename to third_party/blink/web_tests/external/wpt/element-timing/buffer-before-onload.html
index 43f9580..4d59d4af 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/buffer-before-onload.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/buffer-before-onload.html
@@ -6,7 +6,7 @@
 <script src=/resources/testharnessreport.js></script>
 <script src="resources/element-timing-helpers.js"></script>
 <body>
-<img src=/resources/slow-image.php?name=square20.png&mimeType=image&sleep=500>
+<img src=resources/slow-image.py?name=square20.png&sleep=500>
 <script>
   /*
   In this test, a slow image is added to the frame to delay onload. The entry
@@ -16,7 +16,7 @@
   async_test(function(t) {
     beforeRender = performance.now();
     const img = document.createElement('img');
-    img.src = '/resources/square.png';
+    img.src = 'resources/square20.jpg';
     img.setAttribute('elementtiming', 'my_image');
     document.body.appendChild(img);
     window.onload = t.step_func_done( () => {
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/cross-origin-element.html b/third_party/blink/web_tests/external/wpt/element-timing/cross-origin-element.html
similarity index 100%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/cross-origin-element.html
rename to third_party/blink/web_tests/external/wpt/element-timing/cross-origin-element.html
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/cross-origin-iframe-element.html b/third_party/blink/web_tests/external/wpt/element-timing/cross-origin-iframe-element.html
similarity index 100%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/cross-origin-iframe-element.html
rename to third_party/blink/web_tests/external/wpt/element-timing/cross-origin-iframe-element.html
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/image-not-fully-visible.html b/third_party/blink/web_tests/external/wpt/element-timing/image-not-fully-visible.html
similarity index 97%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/image-not-fully-visible.html
rename to third_party/blink/web_tests/external/wpt/element-timing/image-not-fully-visible.html
index 1440385..8ab3f343 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/image-not-fully-visible.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/image-not-fully-visible.html
@@ -30,7 +30,7 @@
     window.onload = () => {
       // Add an image setting width and height equal to viewport.
       const img = document.createElement('img');
-      img.src = '/resources/square20.bmp';
+      img.src = 'resources/square20.png';
       img.setAttribute('elementtiming', 'not_fully_visible');
       img.width = document.documentElement.clientWidth;
       img.height = document.documentElement.clientHeight;
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-child-element.html b/third_party/blink/web_tests/external/wpt/element-timing/observe-child-element.html
similarity index 100%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-child-element.html
rename to third_party/blink/web_tests/external/wpt/element-timing/observe-child-element.html
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-elementtiming.html b/third_party/blink/web_tests/external/wpt/element-timing/observe-elementtiming.html
similarity index 96%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-elementtiming.html
rename to third_party/blink/web_tests/external/wpt/element-timing/observe-elementtiming.html
index b2b88186..c148d33a 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-elementtiming.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/observe-elementtiming.html
@@ -28,7 +28,7 @@
     window.onload = () => {
       // Add image of width and height equal to 100.
       const img = document.createElement('img');
-      img.src = '/resources/square.png';
+      img.src = 'resources/square100.png';
       img.setAttribute('elementtiming', 'my_image');
       document.body.appendChild(img);
       beforeRender = performance.now();
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-large-image.html b/third_party/blink/web_tests/external/wpt/element-timing/observe-large-image.html
similarity index 96%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-large-image.html
rename to third_party/blink/web_tests/external/wpt/element-timing/observe-large-image.html
index b30b5f2..ef3eab8 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-large-image.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/observe-large-image.html
@@ -29,7 +29,7 @@
     window.onload = () => {
       // Add an image setting width and height equal to viewport.
       const img = document.createElement('img');
-      img.src = '/resources/square20.jpg';
+      img.src = 'resources/square20.jpg';
       img.width = document.documentElement.clientWidth;
       img.height = document.documentElement.clientHeight;
       document.body.appendChild(img);
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-multiple-images.html b/third_party/blink/web_tests/external/wpt/element-timing/observe-multiple-images.html
similarity index 95%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-multiple-images.html
rename to third_party/blink/web_tests/external/wpt/element-timing/observe-multiple-images.html
index 6ab2ef7..e56092c6 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/observe-multiple-images.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/observe-multiple-images.html
@@ -89,16 +89,16 @@
     // Add the images during onload to be sure that the observer is registered in
     // time to observe the element timing.
     window.onload = () => {
-      addImage(1, '/resources/square100.png');
+      addImage(1, 'resources/square100.png');
       // Use requestAnimationFrame and a timeout to ensure that the images are
       // processed in the order we want.
       requestAnimationFrame( () => {
         t.step_timeout( () => {
           // Set the size equal to that of image3 to make positioning easier.
-          addImage(2, '/resources/square20.gif', 200);
+          addImage(2, 'resources/square20.png', 200);
           requestAnimationFrame( () => {
             t.step_timeout( () => {
-              addImage(3, '/resources/circle.svg');
+              addImage(3, 'resources/circle.svg');
             }, 0);
           });
         }, 0);
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/progressively-loaded-image.html b/third_party/blink/web_tests/external/wpt/element-timing/progressively-loaded-image.html
similarity index 79%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/progressively-loaded-image.html
rename to third_party/blink/web_tests/external/wpt/element-timing/progressively-loaded-image.html
index ce7ce73..6fdff39 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/progressively-loaded-image.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/progressively-loaded-image.html
@@ -6,12 +6,11 @@
 <script src=/resources/testharnessreport.js></script>
 <script src="resources/element-timing-helpers.js"></script>
 <body>
-<img src=/resources/slow-image.php?name=square20.png&mimeType=image&sleep=500>
 <script>
   let beforeRender;
-  // Number of bytes to be read on the initial read, before sleeping.
+  // Number of characters to be read on the initial read, before sleeping.
   // Should be sufficient to do at least a first scan.
-  let numInitial = 300;
+  let numInitial = 75;
   let sleep = 500;
   async_test(function(t) {
     const observer = new PerformanceObserver(
@@ -26,10 +25,11 @@
     observer.observe({entryTypes: ['element']});
 
     const img = document.createElement('img');
-    img.src = '/resources/progressive-image.php?name=square20.jpg&numInitial='
+    img.src = 'resources/progressive-image.py?name=square20.jpg&numInitial='
       + numInitial + '&sleep=' + sleep;
     img.setAttribute('elementtiming', 'my_image');
-    document.body.appendChild(img)
+    document.body.appendChild(img);
     beforeRender = performance.now();
+    t.step_timeout(() => {assert_true(0);}, 2000);
   }, "Element Timing: image render timestamp occurs after it is fully loaded.");
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/circle.svg b/third_party/blink/web_tests/external/wpt/element-timing/resources/circle.svg
new file mode 100644
index 0000000..209b9f4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/circle.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+              "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
+    <circle cx="50%" cy="50%" r="80" style="fill:blue;" />
+</svg>
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/resources/element-timing-helpers.js b/third_party/blink/web_tests/external/wpt/element-timing/resources/element-timing-helpers.js
similarity index 100%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/resources/element-timing-helpers.js
rename to third_party/blink/web_tests/external/wpt/element-timing/resources/element-timing-helpers.js
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/resources/iframe-with-square.html b/third_party/blink/web_tests/external/wpt/element-timing/resources/iframe-with-square.html
similarity index 60%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/resources/iframe-with-square.html
rename to third_party/blink/web_tests/external/wpt/element-timing/resources/iframe-with-square.html
index a70c6ea..0a905d2 100644
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/resources/iframe-with-square.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/iframe-with-square.html
@@ -6,5 +6,5 @@
   margin: 0;
 }
 </style>
-<img src='/resources/square.png' elementtiming="my_image">
+<img src='square100.png' elementtiming="my_image">
 </body>
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/progressive-image.py b/third_party/blink/web_tests/external/wpt/element-timing/resources/progressive-image.py
new file mode 100644
index 0000000..86ec834
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/progressive-image.py
@@ -0,0 +1,26 @@
+import os.path
+import time
+
+def main(request, response):
+    name = request.GET.first("name")
+    sleepTime = float(request.GET.first("sleep")) / 1E3
+    numInitial = int(request.GET.first("numInitial"))
+
+    path = os.path.join(os.path.dirname(__file__), name)
+    body = open(path, "rb").read()
+
+    response.headers.set("Content-Type", "image")
+    response.headers.set("Content-Length", len(body))
+    response.headers.set("Cache-control", "no-cache, must-revalidate")
+    response.write_status_headers()
+
+    # Read from the beginning, |numInitial| bytes.
+    first = body[:numInitial]
+    response.writer.write_content(first)
+    response.writer.flush()
+
+    time.sleep(sleepTime)
+
+    # Read the remainder after having slept.
+    second = body[numInitial:]
+    response.writer.write_content(second)
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/slow-image.py b/third_party/blink/web_tests/external/wpt/element-timing/resources/slow-image.py
new file mode 100644
index 0000000..68316041
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/slow-image.py
@@ -0,0 +1,17 @@
+import os.path
+import time
+
+def main(request, response):
+    name = request.GET.first("name")
+    sleepTime = float(request.GET.first("sleep")) / 1E3
+
+    time.sleep(sleepTime)
+
+    path = os.path.join(os.path.dirname(__file__), name)
+    body = open(path, "rb").read()
+
+    response.headers.set("Content-Type", "image")
+    response.headers.set("Content-Length", len(body))
+    response.headers.set("Cache-control", "no-cache, must-revalidate")
+
+    response.content = body;
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/square100.png b/third_party/blink/web_tests/external/wpt/element-timing/resources/square100.png
new file mode 100644
index 0000000..567babb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/square100.png
Binary files differ
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/square20.jpg b/third_party/blink/web_tests/external/wpt/element-timing/resources/square20.jpg
new file mode 100644
index 0000000..83ed491
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/square20.jpg
Binary files differ
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/square20.png b/third_party/blink/web_tests/external/wpt/element-timing/resources/square20.png
new file mode 100644
index 0000000..4d51ac4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/square20.png
Binary files differ
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/supported-element-type.html b/third_party/blink/web_tests/external/wpt/element-timing/supported-element-type.html
similarity index 100%
rename from third_party/blink/web_tests/http/tests/performance-timing/element-timing/supported-element-type.html
rename to third_party/blink/web_tests/external/wpt/element-timing/supported-element-type.html
diff --git a/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_color.svg b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_color.svg
new file mode 100644
index 0000000..7603878
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_color.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+     viewBox="0 0 440 440" style="enable-background:new 0 0 440 440;" xml:space="preserve">
+<style type="text/css">
+  .st0{fill:#7ED2EE;}
+  .st1{fill:#003C57;}
+</style>
+<g>
+  <rect x="61.2" y="255.3" class="st0" width="30.4" height="28.3"/>
+  <path class="st1" d="M159.3,103.8c-28.5,0-51.7,23.2-51.7,51.7V284H138v-60.5h28.6v-30.4H138v-37.5c0-11.8,9.6-21.4,21.4-21.4
+    c11.5,0,20.8,9.1,21.3,20.4h30.4C210.6,126.5,187.6,103.8,159.3,103.8z"/>
+  <rect x="302" y="126.3" class="st1" width="30.4" height="28.3"/>
+  <polygon class="st1" points="302.1,176.1 301.9,284 332.3,284 332.4,176.1"/>
+  <path class="st1" d="M284.1,208.4l0-15.5l0-1l0-15.8h-30.4l-0.1,33.8c-0.8,11.1-10.1,19.9-21.3,19.9c-11.8,0-21.4-9.6-21.4-21.4
+    v-32.3h-30.4v32.3c0,28.5,23.2,51.7,51.7,51.7c6.9,0,13.6-1.3,19.9-4l1.3-0.6l0,23.1h0.2v5.8c0,11.8-9.6,21.4-21.4,21.4
+    c-11.5,0-20.8-9.1-21.3-20.4h-30.4c0.5,28.1,23.5,50.8,51.7,50.8c28.5,0,51.7-23.2,51.7-51.7v-3.8H284l0.1-69.9
+    C284.1,209.9,284.1,209.1,284.1,208.4z"/>
+</g>
+</svg>
diff --git a/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_color_bg.svg b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_color_bg.svg
new file mode 100644
index 0000000..94864b5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_color_bg.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+   viewBox="0 0 440.7 440" style="enable-background:new 0 0 440.7 440;" xml:space="preserve">
+<style type="text/css">
+  .st0{fill:#003C57;}
+  .st1{fill:#7ED2EE;}
+  .st2{fill:#FFFFFF;}
+</style>
+<g>
+  <g>
+    <rect x="0" class="st0" width="440" height="440"/>
+  </g>
+  <g>
+    <rect x="61.2" y="255.3" class="st1" width="30.4" height="28.3"/>
+    <path class="st2" d="M159.3,103.8c-28.5,0-51.7,23.2-51.7,51.7V284H138v-60.5h28.6v-30.4H138v-37.5c0-11.8,9.6-21.4,21.4-21.4
+      c11.5,0,20.8,9.1,21.3,20.4h30.4C210.6,126.5,187.6,103.8,159.3,103.8z"/>
+    <rect x="302" y="126.3" class="st2" width="30.4" height="28.3"/>
+    <polygon class="st2" points="302.1,176.1 301.9,284 332.3,284 332.4,176.1"/>
+    <path class="st2" d="M284.1,208.4l0-15.5l0-1l0-15.8h-30.4l-0.1,33.8c-0.8,11.1-10.1,19.9-21.3,19.9c-11.8,0-21.4-9.6-21.4-21.4
+      v-32.3h-30.4v32.3c0,28.5,23.2,51.7,51.7,51.7c6.9,0,13.6-1.3,19.9-4l1.3-0.6l0,23.1h0.2v5.8c0,11.8-9.6,21.4-21.4,21.4
+      c-11.5,0-20.8-9.1-21.3-20.4h-30.4c0.5,28.1,23.5,50.8,51.7,50.8c28.5,0,51.7-23.2,51.7-51.7v-3.8H284l0.1-69.9
+      C284.1,209.9,284.1,209.1,284.1,208.4z"/>
+  </g>
+</g>
+</svg>
diff --git a/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_monochromatic.svg b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_monochromatic.svg
new file mode 100644
index 0000000..bde27597
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_monochromatic.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+   viewBox="0 0 440 440" style="enable-background:new 0 0 440 440;" xml:space="preserve">
+<g>
+  <g>
+    <rect x="61.2" y="255.3" width="30.4" height="28.3"/>
+    <path d="M159.3,103.8c-28.5,0-51.7,23.2-51.7,51.7V284H138v-60.5h28.6v-30.4H138v-37.5c0-11.8,9.6-21.4,21.4-21.4
+      c11.5,0,20.8,9.1,21.3,20.4h30.4C210.6,126.5,187.6,103.8,159.3,103.8z"/>
+    <rect x="302" y="126.3" width="30.4" height="28.3"/>
+    <polygon points="302.1,176.1 301.9,284 332.3,284 332.4,176.1     "/>
+    <path d="M284.1,208.4l0-15.5l0-1l0-15.8h-30.4l-0.1,33.8c-0.8,11.1-10.1,19.9-21.3,19.9c-11.8,0-21.4-9.6-21.4-21.4v-32.3h-30.4
+      v32.3c0,28.5,23.2,51.7,51.7,51.7c6.9,0,13.6-1.3,19.9-4l1.3-0.6l0,23.1h0.2v5.8c0,11.8-9.6,21.4-21.4,21.4
+      c-11.5,0-20.8-9.1-21.3-20.4h-30.4c0.5,28.1,23.5,50.8,51.7,50.8c28.5,0,51.7-23.2,51.7-51.7v-3.8H284l0.1-69.9
+      C284.1,209.9,284.1,209.1,284.1,208.4z"/>
+  </g>
+</g>
+</svg>
diff --git a/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_monochromatic_bg.svg b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_monochromatic_bg.svg
new file mode 100644
index 0000000..94c82d3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/images/fyi-logo/fyi_monochromatic_bg.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+   viewBox="0 0 440.7 440" style="enable-background:new 0 0 440.7 440;" xml:space="preserve">
+<style type="text/css">
+  .st0{fill:#FFFFFF;}
+</style>
+<g>
+  <g>
+    <rect x="0.3" width="440" height="440"/>
+  </g>
+  <g>
+    <rect x="61.5" y="255.3" class="st0" width="30.4" height="28.3"/>
+    <path class="st0" d="M159.7,103.8c-28.5,0-51.7,23.2-51.7,51.7V284h30.4v-60.5h28.6v-30.4h-28.6v-37.5c0-11.8,9.6-21.4,21.4-21.4
+      c11.5,0,20.8,9.1,21.3,20.4h30.4C210.9,126.5,187.9,103.8,159.7,103.8z"/>
+    <rect x="302.3" y="126.3" class="st0" width="30.4" height="28.3"/>
+    <polygon class="st0" points="302.4,176.1 302.2,284 332.6,284 332.8,176.1     "/>
+    <path class="st0" d="M284.5,208.4l0-15.5l0-1l0-15.8h-30.4l-0.1,33.8c-0.8,11.1-10.1,19.9-21.3,19.9c-11.8,0-21.4-9.6-21.4-21.4
+      v-32.3H181v32.3c0,28.5,23.2,51.7,51.7,51.7c6.9,0,13.6-1.3,19.9-4l1.3-0.6l0,23.1h0.2v5.8c0,11.8-9.6,21.4-21.4,21.4
+      c-11.5,0-20.8-9.1-21.3-20.4H181c0.5,28.1,23.5,50.8,51.7,50.8c28.5,0,51.7-23.2,51.7-51.7v-3.8h-0.2l0.1-69.9
+      C284.4,209.9,284.5,209.1,284.5,208.4z"/>
+  </g>
+</g>
+</svg>
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html
new file mode 100644
index 0000000..7280d040
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name="timeout" content="long">
+<title>RTCIceConnectionState and RTCIceCandidatePair</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="RTCPeerConnection-helper.js"></script>
+<script>
+'use strict';
+
+promise_test(async t => {
+  const caller = new RTCPeerConnection();
+  t.add_cleanup(() => caller.close());
+  const callee = new RTCPeerConnection();
+  t.add_cleanup(() => callee.close());
+
+  const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+  const [track] = stream.getTracks();
+  caller.addTrack(track, stream);
+  exchangeIceCandidates(caller, callee);
+  await doSignalingHandshake(caller, callee);
+  await listenToIceConnected(t, caller);
+
+  const report = await caller.getStats();
+  let succeededPairFound = false;
+  report.forEach(stats => {
+    if (stats.type == 'candidate-pair' && stats.state == 'succeeded')
+      succeededPairFound = true;
+  });
+  assert_true(succeededPairFound, 'A succeeded candidate-pair should exist');
+}, 'On ICE connected, getStats() contains a connected candidate-pair');
+
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-helper.js b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-helper.js
index d1056d90f3..1ff5f540 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-helper.js
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-helper.js
@@ -205,6 +205,55 @@
   await localPc.setRemoteDescription(answer);
 }
 
+// Returns a promise that resolves when |pc.iceConnectionState| is 'connected'
+// or 'completed'.
+function listenToIceConnected(pc) {
+  return new Promise((resolve) => {
+    function isConnected(pc) {
+      return pc.iceConnectionState == 'connected' ||
+            pc.iceConnectionState == 'completed';
+    }
+    if (isConnected(pc)) {
+      resolve();
+      return;
+    }
+    pc.oniceconnectionstatechange = () => {
+      if (isConnected(pc))
+        resolve();
+    };
+  });
+}
+
+// Returns a promise that resolves when |pc.connectionState| is 'connected'.
+function listenToConnected(pc) {
+  return new Promise((resolve) => {
+    if (pc.connectionState == 'connected') {
+      resolve();
+      return;
+    }
+    pc.onconnectionstatechange = () => {
+      if (pc.connectionState == 'connected')
+        resolve();
+    };
+  });
+}
+
+// Resolves when RTP packets have been received.
+function listenForSSRCs(t, receiver) {
+  return new Promise((resolve) => {
+    function listen() {
+      const ssrcs = receiver.getSynchronizationSources();
+      assert_true(ssrcs != undefined);
+      if (ssrcs.length > 0) {
+        resolve(ssrcs);
+        return;
+      }
+      t.step_timeout(listen, 0);
+    };
+    listen();
+  });
+}
+
 // Helper function to create a pair of connected data channel.
 // On success the promise resolves to an array with two data channels.
 // It does the heavy lifting of performing signaling handshake,
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-expected.txt b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt
similarity index 90%
rename from third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-expected.txt
rename to third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt
index b2860142..c5fd94e 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt
@@ -3,5 +3,6 @@
 PASS Closing the connection should set iceConnectionState to closed
 PASS connection with one data channel should eventually have connected or completed connection state
 FAIL connection with one data channel should eventually have connected connection state Cannot read property 'transport' of undefined
+PASS ICE can connect in a recvonly usecase
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html
similarity index 91%
rename from third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.html
rename to third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html
index b647b3d3..8acabf4 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html
@@ -182,6 +182,26 @@
   }, 'connection with one data channel should eventually ' +
      'have connected connection state');
 
+  promise_test(async t => {
+    const caller = new RTCPeerConnection();
+    t.add_cleanup(() => caller.close());
+    const callee = new RTCPeerConnection();
+    t.add_cleanup(() => callee.close());
+
+    caller.addTransceiver('audio', {direction:'recvonly'});
+    const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+    const [track] = stream.getTracks();
+    callee.addTrack(track, stream);
+    exchangeIceCandidates(caller, callee);
+    await doSignalingHandshake(caller, callee);
+
+    assert_equals(caller.getTransceivers().length, 1);
+    const [transceiver] = caller.getTransceivers();
+    assert_equals(transceiver.currentDirection, 'recvonly');
+
+    await listenToIceConnected(caller);
+  }, 'ICE can connect in a recvonly usecase');
+
   /*
     TODO
     4.4.4 RTCIceConnectionState Enum
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-track-stats.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-track-stats.https.html
index 2d45c34..e394e63e 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-track-stats.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-track-stats.https.html
@@ -404,7 +404,7 @@
     callee.addTrack(tracks[1], streams[1]);
     exchangeIceCandidates(caller, callee);
     await doSignalingHandshake(caller, callee);
-    await onIceConnectionStateCompleted(caller);
+    await listenToConnected(caller);
     let receiver = caller.getReceivers()[0];
 
     // Obtain inbound and outbound RTP stream stats on a full stats report.
@@ -452,7 +452,7 @@
     callee.addTrack(tracks[1], streams[1]);
     exchangeIceCandidates(caller, callee);
     await doSignalingHandshake(caller, callee);
-    await onIceConnectionStateCompleted(caller);
+    await listenToConnected(caller);
     let receiver = caller.getReceivers()[0];
 
     // Obtain inbound and outbound RTP stream stats on a full stats report.
@@ -500,7 +500,7 @@
     callee.addTrack(tracks[1], streams[1]);
     exchangeIceCandidates(caller, callee);
     await doSignalingHandshake(caller, callee);
-    await onIceConnectionStateCompleted(caller);
+    await listenToIceConnected(caller);
 
     // Wait until RTCP has arrived so that it can not arrive between
     // the two get stats calls.
@@ -531,7 +531,7 @@
     callee.addTrack(tracks[1], streams[1]);
     exchangeIceCandidates(caller, callee);
     await doSignalingHandshake(caller, callee);
-    await onIceConnectionStateCompleted(caller);
+    await listenToIceConnected(caller);
     let receiver = caller.getReceivers()[0];
 
     // Wait until RTCP has arrived so that it can not arrive between
@@ -603,24 +603,6 @@
     return stats;
   }
 
-  // Returns a promise that is resolved when pc.iceConnectionState reaches the
-  // 'connected' or 'completed' state. This is when transport stats can be
-  // expected to have its selectedCandidatePairId defined.
-  async function onIceConnectionStateCompleted(pc) {
-    if (pc.iceConnectionState == 'connected' ||
-        pc.iceConnectionState == 'completed') {
-      return Promise.resolve();
-    }
-    let resolver = new Resolver();
-    pc.oniceconnectionstatechange = e => {
-      if (pc.iceConnectionState == 'connected' ||
-          pc.iceConnectionState == 'completed') {
-        resolver.resolve();
-      }
-    };
-    return resolver;
-  }
-
   // Explores the stats graph starting from |stat|, validating each stat
   // (validateRtcStats) and asserting that all stats of the report were visited.
   function validateStatsGraph(report, stat) {
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
index 36460b4..82ce3bd 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
@@ -26,21 +26,6 @@
   return trackEvent.receiver;
 }
 
-function listenForSSRCs(t, receiver) {
-  return new Promise((resolve) => {
-    function listen() {
-      const ssrcs = receiver.getSynchronizationSources();
-      assert_true(ssrcs != undefined);
-      if (ssrcs.length > 0) {
-        resolve(ssrcs);
-        return;
-      }
-      t.step_timeout(listen, 0);
-    };
-    listen();
-  });
-}
-
 for (const kind of ['audio', 'video']) {
   promise_test(async t => {
     const receiver = await initiateSingleTrackCallAndReturnReceiver(t, kind);
diff --git a/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception-propagation.html b/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception-propagation.html
new file mode 100644
index 0000000..5823a19a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception-propagation.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<title>Uncaught error in shared worker should not propagate to window</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/workers.html#runtime-script-errors-2">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/SharedWorker-create-common.js"></script>
+<script>
+// Suppress the default handling of the error event so that a failure
+// manifests as a failed test and not a harness error.
+setup({ allow_uncaught_exception: true });
+
+async_test(function(t) {
+    addEventListener("error", t.unreached_func("error event fired"));
+    var worker = createWorker();
+    worker.postMessage("throw");
+    worker.postMessage("ping");
+    var pongs = 0;
+    worker.onmessage = function(evt) {
+        // Wait for response from ping - that's how we know we have thrown the exception.
+        if (evt.data == "PASS: Received ping message") {
+            pongs++;
+            if (pongs == 1) {
+                // Send another "ping" message and wait for the response before
+                // ending the test, so that any error propagation that is now
+                // in flight will have finished.
+                worker.postMessage("ping");
+            } else {
+                t.done();
+            }
+        }
+    };
+});
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception.html b/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception.html
index b9f4530..28b8584 100644
--- a/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception.html
+++ b/third_party/blink/web_tests/external/wpt/workers/SharedWorker-exception.html
@@ -4,6 +4,10 @@
 <script src="/resources/testharnessreport.js"></script>
 <script src="support/SharedWorker-create-common.js"></script>
 <script>
+// Ignore any error event fired on window in this test. This is tested
+// separately in SharedWorker-exception-propagation.html.
+setup({ allow_uncaught_exception: true });
+
 async_test(function(t) {
     var worker = createWorker();
     worker.postMessage("throw");
diff --git a/third_party/blink/web_tests/http/tests/devtools/animation/animation-timeline-expected.txt b/third_party/blink/web_tests/http/tests/devtools/animation/animation-timeline-expected.txt
index 2ce9ad5a..8790b63 100644
--- a/third_party/blink/web_tests/http/tests/devtools/animation/animation-timeline-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/animation/animation-timeline-expected.txt
@@ -19,5 +19,5 @@
 >>>> CSS transition started
 CSSTransition
 background-color
-<g style="cursor: -webkit-grab; transform: translateX(0px);"><line class="animation-line" x1="7" y1="26" y2="26" x2="307.00" style="stroke: rgb(205, 220, 57);"></line><path class="animation-keyframe" d="M 0 26 L 0.01 0.00 L 0.32 0.00 L 1.21 0.00 L 2.66 0.02 L 4.65 0.11 L 7.17 0.31 L 10.21 0.66 L 13.74 1.15 L 17.76 1.76 L 22.25 2.45 L 27.19 3.21 L 32.57 4.00 L 38.38 4.82 L 44.59 5.64 L 51.20 6.47 L 58.18 7.29 L 65.53 8.10 L 73.23 8.90 L 81.26 9.69 L 89.60 10.46 L 98.25 11.23 L 107.19 11.98 L 116.40 12.72 L 125.87 13.46 L 135.58 14.19 L 145.51 14.91 L 155.66 15.63 L 166.00 16.35 L 176.53 17.08 L 187.23 17.80 L 198.07 18.53 L 209.05 19.26 L 220.15 20.01 L 231.36 20.76 L 242.66 21.52 L 254.04 22.30 L 265.48 23.09 L 276.96 23.90 L 288.47 24.72 L 300.00 25.57 L 300.00 26 Z" style="transform: translateX(7px); fill: rgb(205, 220, 57);"></path><circle class="animation-endpoint" cx="7.00" cy="26" r="3.5" style="stroke: rgb(205, 220, 57); fill: rgb(205, 220, 57); cursor: ew-resize;"></circle><circle class="animation-endpoint" cx="307.00" cy="26" r="3.5" style="stroke: rgb(205, 220, 57); fill: rgb(205, 220, 57); cursor: ew-resize;"></circle></g><line class="animation-delay-line" x1="7" y1="26" y2="26" x2="7.00" style="stroke: rgb(205, 220, 57);"></line><line class="animation-delay-line" x1="7" y1="26" y2="26" x2="7.00" style="stroke: rgb(205, 220, 57); transform: translateX(300px);"></line>
+<g style="cursor: -webkit-grab; transform: translateX(0px);"><line class="animation-line" x1="7" y1="26" y2="26" x2="307.00" style="stroke: rgb(205, 220, 57);"></line><path class="animation-keyframe" d="M 0 26 L 0.01 0.00 L 0.32 0.00 L 1.21 0.00 L 2.66 0.02 L 4.65 0.11 L 7.17 0.31 L 10.21 0.66 L 13.74 1.15 L 17.76 1.76 L 22.25 2.45 L 27.19 3.21 L 32.57 4.00 L 38.38 4.82 L 44.59 5.64 L 51.20 6.47 L 58.18 7.29 L 65.53 8.10 L 73.23 8.90 L 81.26 9.69 L 89.60 10.46 L 98.25 11.23 L 107.19 11.98 L 116.40 12.72 L 125.87 13.46 L 135.58 14.19 L 145.51 14.91 L 155.66 15.63 L 166.00 16.35 L 176.53 17.08 L 187.23 17.80 L 198.07 18.53 L 209.05 19.26 L 220.15 20.01 L 231.36 20.76 L 242.66 21.52 L 254.04 22.30 L 265.48 23.09 L 276.96 23.90 L 288.47 24.72 L 300.00 25.57 L 300.00 26 Z" style="transform: translateX(7px); fill: rgb(205, 220, 57);"></path><circle class="animation-endpoint" cx="7.00" cy="26" r="3.5" style="stroke: rgb(205, 220, 57); fill: rgb(205, 220, 57); cursor: ew-resize;"></circle><circle class="animation-endpoint" cx="307.00" cy="26" r="3.5" style="stroke: rgb(205, 220, 57); fill: rgb(205, 220, 57); cursor: ew-resize;"></circle></g><line class="animation-delay-line animation-fill" x1="7" y1="26" y2="26" x2="7.00" style="stroke: rgb(205, 220, 57);"></line><line class="animation-delay-line" x1="7" y1="26" y2="26" x2="7.00" style="stroke: rgb(205, 220, 57); transform: translateX(300px);"></line>
 
diff --git a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/supported-element-type.any.js b/third_party/blink/web_tests/http/tests/performance-timing/element-timing/supported-element-type.any.js
deleted file mode 100644
index 5d327b2..0000000
--- a/third_party/blink/web_tests/http/tests/performance-timing/element-timing/supported-element-type.any.js
+++ /dev/null
@@ -1,6 +0,0 @@
-test(() => {
-  if (typeof PerformanceObserver.supportedEntryTypes === "undefined")
-    assert_unreached("supportedEntryTypes is not supported.");
-  assert_greater_than(PerformanceObserver.supportedEntryTypes.indexOf("element"),
-    -1, "There should be an entry 'element' in PerformanceObserver.supportedEntryTypes");
-}, "supportedEntryTypes contains 'element'.");
diff --git a/third_party/blink/web_tests/http/tests/resources/progressive-image.php b/third_party/blink/web_tests/http/tests/resources/progressive-image.php
deleted file mode 100644
index 70f9b60..0000000
--- a/third_party/blink/web_tests/http/tests/resources/progressive-image.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-$name = $_GET['name'];
-$sleepTime = $_GET['sleep'];
-$numInitial = $_GET['numInitial'];
-
-header('Content-Type: image');
-header('Content-Length: ' . filesize($name));
-// Read from the beginning, |numInitial| bytes.
-$first = file_get_contents($name, FALSE, NULL, 0, $numInitial);
-echo $first;
-flush();
-
-usleep($sleepTime*1000);
-
-// Read the remainder after having slept.
-$second = file_get_contents($name, FALSE, NULL, $numInitial);
-echo $second;
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/outofblink-cors-ns/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/outofblink-cors-ns/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt
deleted file mode 100644
index 3453c2a..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/outofblink-cors-ns/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-PASS Messages from ServiceWorker to Client only received after DOMContentLoaded event.
-PASS Messages from ServiceWorker to Client only received after calling startMessages().
-FAIL Messages from ServiceWorker to Client only received after setting onmessage. assert_equals: Message sent in state 'start' dispatched in state 'start' expected "start" but got "install"
-PASS Microtasks run before dispatching messages after calling startMessages().
-PASS Microtasks run before dispatching messages after setting onmessage.
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt
deleted file mode 100644
index 3453c2a..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-PASS Messages from ServiceWorker to Client only received after DOMContentLoaded event.
-PASS Messages from ServiceWorker to Client only received after calling startMessages().
-FAIL Messages from ServiceWorker to Client only received after setting onmessage. assert_equals: Message sent in state 'start' dispatched in state 'start' expected "start" but got "install"
-PASS Microtasks run before dispatching messages after calling startMessages().
-PASS Microtasks run before dispatching messages after setting onmessage.
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt
deleted file mode 100644
index 3453c2a..0000000
--- a/third_party/blink/web_tests/platform/win/external/wpt/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a testharness.js-based test.
-PASS Messages from ServiceWorker to Client only received after DOMContentLoaded event.
-PASS Messages from ServiceWorker to Client only received after calling startMessages().
-FAIL Messages from ServiceWorker to Client only received after setting onmessage. assert_equals: Message sent in state 'start' dispatched in state 'start' expected "start" but got "install"
-PASS Microtasks run before dispatching messages after calling startMessages().
-PASS Microtasks run before dispatching messages after setting onmessage.
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt b/third_party/blink/web_tests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt
new file mode 100644
index 0000000..9e2c9a37
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https-expected.txt
@@ -0,0 +1,8 @@
+This is a testharness.js-based test.
+PASS Initial iceConnectionState should be new
+PASS Closing the connection should set iceConnectionState to closed
+PASS connection with one data channel should eventually have connected or completed connection state
+FAIL connection with one data channel should eventually have connected connection state Cannot read property 'transport' of undefined
+FAIL ICE can connect in a recvonly usecase promise_test: Unhandled rejection with value: object "InvalidStateError: Failed to execute 'addTransceiver' on 'RTCPeerConnection': This operation is only supported in 'unified-plan'. 'unified-plan' will become the default behavior in the future, but it is currently experimental. To try it out, construct the RTCPeerConnection with sdpSemantics:'unified-plan' present in the RTCConfiguration argument."
+Harness: the test ran to completion.
+
diff --git a/third_party/eu-strip/OWNERS b/third_party/eu-strip/OWNERS
deleted file mode 100644
index 4644c96..0000000
--- a/third_party/eu-strip/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-dpranke@chromium.org
-thestig@chromium.org
-thomasanderson@chromium.org
diff --git a/third_party/eu-strip/README.chromium b/third_party/eu-strip/README.chromium
deleted file mode 100644
index 5c621b0a5..0000000
--- a/third_party/eu-strip/README.chromium
+++ /dev/null
@@ -1,12 +0,0 @@
-Name: eu-strip
-URL: https://sourceware.org/elfutils/
-Version: 0.158
-Security Critical: no
-License: LGPL 3
-License File: NOT_SHIPPED
-
-Description:
-
-Patched eu-strip from elfutils.
-
-To build (on Trusty): ./build.sh in this directory.
diff --git a/third_party/eu-strip/bin/eu-strip b/third_party/eu-strip/bin/eu-strip
deleted file mode 100755
index 7dcb3c0..0000000
--- a/third_party/eu-strip/bin/eu-strip
+++ /dev/null
Binary files differ
diff --git a/third_party/eu-strip/build.sh b/third_party/eu-strip/build.sh
deleted file mode 100755
index 86f2b67..0000000
--- a/third_party/eu-strip/build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh -xe
-
-rm -rf elfutils
-git clone git://sourceware.org/git/elfutils.git
-cd elfutils
-git checkout elfutils-0.170
-autoheader
-aclocal
-autoconf
-automake --add-missing
-patch -p1 < ../fix-elf-size.patch
-mkdir build
-cd build
-../configure --enable-maintainer-mode
-make -j40
-gcc -std=gnu99 -Wall -Wshadow -Wunused -Wextra -fgnu89-inline \
-  -Wformat=2 -Werror -g -O2 -Wl,-rpath-link,libelf:libdw -Wl,--build-id=none -o eu-strip \
-  src/strip.o libebl/libebl.a libelf/libelf.a lib/libeu.a libdw/libdw.a -ldl -lz
-./eu-strip -o ../../bin/eu-strip eu-strip
diff --git a/third_party/eu-strip/fix-elf-size.patch b/third_party/eu-strip/fix-elf-size.patch
deleted file mode 100644
index e3fdc8a..0000000
--- a/third_party/eu-strip/fix-elf-size.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
-index d83c0b3f..507e707b 100644
---- a/libelf/elf32_updatenull.c
-+++ b/libelf/elf32_updatenull.c
-@@ -137,7 +137,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
-     return -1;
- 
-   /* At least the ELF header is there.  */
--  off_t size = elf_typesize (LIBELFBITS, ELF_T_EHDR, 1);
-+  ElfW2(LIBELFBITS,Off) size = elf_typesize (LIBELFBITS, ELF_T_EHDR, 1);
- 
-   /* Set the program header position.  */
-   if (elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
-@@ -152,7 +152,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
- 	{
- 	  /* The user is supposed to fill out e_phoff.  Use it and
- 	     e_phnum to determine the maximum extend.  */
--	  size = MAX ((size_t) size,
-+	  size = MAX (size,
- 		      ehdr->e_phoff
- 		      + elf_typesize (LIBELFBITS, ELF_T_PHDR, phnum));
- 	}
-@@ -330,7 +330,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
- 
- 	      if (elf->flags & ELF_F_LAYOUT)
- 		{
--		  size = MAX ((GElf_Word) size,
-+		  size = MAX (size,
- 			      (shdr->sh_type != SHT_NOBITS
- 			       ? shdr->sh_offset + shdr->sh_size : 0));
- 
-@@ -352,9 +352,9 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
- 		  update_if_changed (shdr->sh_addralign, sh_align,
- 				     scn->shdr_flags);
- 
--		  size = (size + sh_align - 1) & ~(sh_align - 1);
-+		  size = (size + sh_align - 1) & ~(ElfW2(LIBELFBITS,Off))(sh_align - 1);
- 		  int offset_changed = 0;
--		  update_if_changed (shdr->sh_offset, (GElf_Word) size,
-+		  update_if_changed (shdr->sh_offset, size,
- 				     offset_changed);
- 		  changed |= offset_changed;
- 
-@@ -416,7 +416,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
- 	  /* The user is supposed to fill out e_shoff.  Use it and
- 	     e_shnum (or sh_size of the dummy, first section header)
- 	     to determine the maximum extend.  */
--	  size = MAX ((GElf_Word) size,
-+	  size = MAX (size,
- 		      (ehdr->e_shoff
- 		       + (elf_typesize (LIBELFBITS, ELF_T_SHDR, shnum))));
- 	}
-@@ -430,7 +430,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
- #define SHDR_ALIGN sizeof (ElfW2(LIBELFBITS,Off))
- 	  size = (size + SHDR_ALIGN - 1) & ~(SHDR_ALIGN - 1);
- 
--	  update_if_changed (ehdr->e_shoff, (GElf_Word) size, elf->flags);
-+	  update_if_changed (ehdr->e_shoff, size, elf->flags);
- 
- 	  /* Account for the section header size.  */
- 	  size += elf_typesize (LIBELFBITS, ELF_T_SHDR, shnum);
diff --git a/third_party/iaccessible2/OWNERS b/third_party/iaccessible2/OWNERS
index c7266fb9..c706b43 100644
--- a/third_party/iaccessible2/OWNERS
+++ b/third_party/iaccessible2/OWNERS
@@ -2,6 +2,7 @@
 dmazzoni@chromium.org
 dtseng@chromium.org
 nektar@chromium.org
+aleventhal@chromium.org
 
 # TEAM: chromium-accessibility@chromium.org
 # COMPONENT: UI>Accessibility>Compatibility
diff --git a/third_party/iaccessible2/README.chromium b/third_party/iaccessible2/README.chromium
index edc752c9..5bc89b42 100644
--- a/third_party/iaccessible2/README.chromium
+++ b/third_party/iaccessible2/README.chromium
@@ -14,3 +14,16 @@
 
 Local modifications:
   None.
+
+Update recipe:
+1. git clone the IAccessible2 project
+2. Run concatidl.sh
+3. Copy the resulting ia2_api_all.idl into this directory
+4. Resave with Windows line-endings, so that the changes are easier to review
+5. Update the compiled idl for each CPU, by building the target
+   third_party\iaccessible2 with each of the following
+   target_cpu options in args.gn: x86, arm64 and x64
+   For example:
+   autoninja -C out\arm64-release third_party\iaccessible2
+   autoninja -C out\x86-release third_party\iaccessible2
+   autoninja -C out\x64-release third_party\iaccessible2
diff --git a/third_party/iaccessible2/ia2_api_all.idl b/third_party/iaccessible2/ia2_api_all.idl
index c64bbf9..97bf115 100644
--- a/third_party/iaccessible2/ia2_api_all.idl
+++ b/third_party/iaccessible2/ia2_api_all.idl
@@ -59,7 +59,7 @@
  * 
  *  IAccessible2 IDL Specification 
  * 
- *  Copyright (c) 2007, 2013 Linux Foundation 
+ *  Copyright (c) 2007, 2010 Linux Foundation 
  *  Copyright (c) 2006 IBM Corporation 
  *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
  *  All rights reserved. 
@@ -400,6 +400,24 @@
 /** This object is a sub window of a target object. */
 const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf";
 
+/** The target object provides the detailed, extended description for this
+ object. It provides more detailed information than would normally be provided
+ using the IA2_RELATION_DESCRIBED_BY relation. A common use for this relation is
+ in digital publishing where an extended description needs to be conveyed in
+ a book that requires structural markup or the embedding of other technology to
+ provide illustrative content. */
+const WCHAR *const IA2_RELATION_DETAILS = L"details";
+
+/** This object provides the detailed, extended description for the target
+ object. See IA2_RELATION_DETAILS. */
+const WCHAR *const IA2_RELATION_DETAILS_FOR = L"detailsFor";
+
+/** The target object is the error message for this object. */
+const WCHAR *const IA2_RELATION_ERROR = L"error";
+
+/** This object is the error message for the target object. */
+const WCHAR *const IA2_RELATION_ERROR_FOR = L"errorFor";
+
 ///@}
 
 /** This interface gives access to an object's set of relations.
@@ -694,55 +712,55 @@
 /*************************************************************************
  *
  *  File Name (AccessibleRole.idl)
- * 
- *  IAccessible2 IDL Specification 
- * 
- *  Copyright (c) 2007, 2013 Linux Foundation 
- *  Copyright (c) 2006 IBM Corporation 
- *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
- *  All rights reserved. 
- *   
- *   
- *  Redistribution and use in source and binary forms, with or without 
- *  modification, are permitted provided that the following conditions 
- *  are met: 
- *   
- *   1. Redistributions of source code must retain the above copyright 
- *      notice, this list of conditions and the following disclaimer. 
- *   
- *   2. Redistributions in binary form must reproduce the above 
- *      copyright notice, this list of conditions and the following 
- *      disclaimer in the documentation and/or other materials 
- *      provided with the distribution. 
  *
- *   3. Neither the name of the Linux Foundation nor the names of its 
- *      contributors may be used to endorse or promote products 
- *      derived from this software without specific prior written 
- *      permission. 
- *   
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
- *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
- *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
- *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
- *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- *   
- *  This BSD License conforms to the Open Source Initiative "Simplified 
- *  BSD License" as published at: 
- *  http://www.opensource.org/licenses/bsd-license.php 
- *   
- *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
- *  mark may be used in accordance with the Linux Foundation Trademark 
- *  Policy to indicate compliance with the IAccessible2 specification. 
- * 
- ************************************************************************/ 
+ *  IAccessible2 IDL Specification
+ *
+ *  Copyright (c) 2007-2018 Linux Foundation
+ *  Copyright (c) 2006 IBM Corporation
+ *  Copyright (c) 2000, 2006 Sun Microsystems, Inc.
+ *  All rights reserved.
+ *
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions
+ *  are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer in the documentation and/or other materials
+ *      provided with the distribution.
+ *
+ *   3. Neither the name of the Linux Foundation nor the names of its
+ *      contributors may be used to endorse or promote products
+ *      derived from this software without specific prior written
+ *      permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  This BSD License conforms to the Open Source Initiative "Simplified
+ *  BSD License" as published at:
+ *  http://www.opensource.org/licenses/bsd-license.php
+ *
+ *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
+ *  mark may be used in accordance with the Linux Foundation Trademark
+ *  Policy to indicate compliance with the IAccessible2 specification.
+ *
+ ************************************************************************/
 
 
 
@@ -750,19 +768,19 @@
 
   This enumerator defines an extended set of accessible roles of objects implementing
   the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained
-  through the MSAA get_accRole method.  Examples are 'footnote', 'heading', and 
+  through the MSAA get_accRole method.  Examples are 'footnote', 'heading', and
   'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role.
 */
 enum IA2Role {
 
-  /** Unknown role. The object contains some Accessible information, but its 
+  /** Unknown role. The object contains some Accessible information, but its
    role is not known.
   */
   IA2_ROLE_UNKNOWN = 0,
 
   /** An object that can be drawn into and to manage events from the objects
    drawn into it.  Also refer to ::IA2_ROLE_FRAME,
-   ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE. 
+   ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
   */
   IA2_ROLE_CANVAS = 0x401,
 
@@ -778,18 +796,18 @@
   /// A date editor.
   IA2_ROLE_DATE_EDITOR,
 
-  /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE. 
+  /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
    Also refer to ::IA2_ROLE_INTERNAL_FRAME.
   */
   IA2_ROLE_DESKTOP_ICON,
 
-  /** A desktop pane. A pane that supports internal frames and iconified 
+  /** A desktop pane. A pane that supports internal frames and iconified
    versions of those internal frames.  Also refer to ::IA2_ROLE_INTERNAL_FRAME.
   */
   IA2_ROLE_DESKTOP_PANE,
 
-  /** A directory pane. A pane that allows the user to navigate through 
-   and select the contents of a directory. May be used by a file chooser.   
+  /** A directory pane. A pane that allows the user to navigate through
+   and select the contents of a directory. May be used by a file chooser.
    Also refer to ::IA2_ROLE_FILE_CHOOSER.
   */
   IA2_ROLE_DIRECTORY_PANE,
@@ -806,15 +824,15 @@
   /// Text that is used as an endnote (footnote at the end of a chapter or section).
   IA2_ROLE_ENDNOTE,
 
-  /** A file chooser. A specialized dialog that displays the files in the 
-   directory and lets the user select a file, browse a different directory, 
-   or specify a filename. May use the directory pane to show the contents of 
-   a directory.  
+  /** A file chooser. A specialized dialog that displays the files in the
+   directory and lets the user select a file, browse a different directory,
+   or specify a filename. May use the directory pane to show the contents of
+   a directory.
    Also refer to ::IA2_ROLE_DIRECTORY_PANE.
   */
   IA2_ROLE_FILE_CHOOSER,
 
-  /** A font chooser. A font chooser is a component that lets the user pick 
+  /** A font chooser. A font chooser is a component that lets the user pick
    various attributes for fonts.
   */
   IA2_ROLE_FONT_CHOOSER,
@@ -832,7 +850,7 @@
   */
   IA2_ROLE_FORM,
 
-  /** Frame role. A top level window with a title bar, border, menu bar, etc.  
+  /** Frame role. A top level window with a title bar, border, menu bar, etc.
    It is often used as the primary window for an application.  Also refer to
    ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
   */
@@ -855,7 +873,7 @@
   /// A small fixed size picture, typically used to decorate components.
   IA2_ROLE_ICON,
 
-  /** An image map object.  Usually a graphic with multiple hotspots, where 
+  /** An image map object.  Usually a graphic with multiple hotspots, where
    each hotspot can be activated resulting in the loading of another document
    or section of a document.
   */
@@ -866,8 +884,8 @@
   */
   IA2_ROLE_INPUT_METHOD_WINDOW,
 
-  /** An internal frame. A frame-like object that is clipped by a desktop pane.  
-   The desktop pane, internal frame, and desktop icon objects are often used to 
+  /** An internal frame. A frame-like object that is clipped by a desktop pane.
+   The desktop pane, internal frame, and desktop icon objects are often used to
    create multiple document interfaces within an application.
    Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
   */
@@ -876,9 +894,9 @@
   /// An object used to present an icon or short string in an interface.
   IA2_ROLE_LABEL,
 
-  /** A layered pane. A specialized pane that allows its children to be drawn 
-   in layers, providing a form of stacking order. This is usually the pane that 
-   holds the menu bar as  well as the pane that contains most of the visual 
+  /** A layered pane. A specialized pane that allows its children to be drawn
+   in layers, providing a form of stacking order. This is usually the pane that
+   holds the menu bar as  well as the pane that contains most of the visual
    components in a window.
    Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
   */
@@ -912,7 +930,7 @@
   */
   IA2_ROLE_REDUNDANT_OBJECT,
 
-  /** A root pane. A specialized pane that has a glass pane and a layered pane 
+  /** A root pane. A specialized pane that has a glass pane and a layered pane
    as its children.
    Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
   */
@@ -922,19 +940,19 @@
   */
   IA2_ROLE_RULER,
 
-  /** A scroll pane. An object that allows a user to incrementally view a large 
+  /** A scroll pane. An object that allows a user to incrementally view a large
    amount of information.  Its children can include scroll bars and a viewport.
    Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
   */
   IA2_ROLE_SCROLL_PANE,
 
   /** A container of document content.  An example of the use of this role is to
-   represent an HTML DIV tag.  A section may be used as a region.  A region is a 
-   group of elements that together form a perceivable unit.  A region does not 
-   necessarily follow the logical structure of the content, but follows the 
-   perceivable structure of the page.  A region may have an attribute in the set 
-   of IAccessible2::attributes which indicates that it is "live".  A live region 
-   is content that is likely to change in response to a timed change, a user 
+   represent an HTML DIV tag.  A section may be used as a region.  A region is a
+   group of elements that together form a perceivable unit.  A region does not
+   necessarily follow the logical structure of the content, but follows the
+   perceivable structure of the page.  A region may have an attribute in the set
+   of IAccessible2::attributes which indicates that it is "live".  A live region
+   is content that is likely to change in response to a timed change, a user
    event, or some other programmed logic or event.
   */
   IA2_ROLE_SECTION,
@@ -942,13 +960,13 @@
   /// Object with graphical representation used to represent content on draw pages.
   IA2_ROLE_SHAPE,
 
-  /** A split pane. A specialized panel that presents two other panels at the 
-   same time. Between the two panels is a divider the user can manipulate to make 
+  /** A split pane. A specialized panel that presents two other panels at the
+   same time. Between the two panels is a divider the user can manipulate to make
    one panel larger and the other panel smaller.
   */
   IA2_ROLE_SPLIT_PANE,
 
-  /** An object that forms part of a menu system but which can be "undocked" 
+  /** An object that forms part of a menu system but which can be "undocked"
    from or "torn off" the menu system to exist as a separate window.
   */
   IA2_ROLE_TEAR_OFF_MENU,
@@ -959,16 +977,16 @@
   /// Collection of objects that constitute a logical text entity.
   IA2_ROLE_TEXT_FRAME,
 
-  /** A toggle button. A specialized push button that can be checked or unchecked, 
+  /** A toggle button. A specialized push button that can be checked or unchecked,
    but does not provide a separate indicator for the current state.
    Also refer to MSAA's roles of push button, check box, and radio button.
-   <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used.  Instead, use MSAA's 
+   <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used.  Instead, use MSAA's
    ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
   */
   IA2_ROLE_TOGGLE_BUTTON,
 
-  /** A viewport. An object usually used in a scroll pane. It represents the 
-   portion of the entire data that the user can see. As the user manipulates 
+  /** A viewport. An object usually used in a scroll pane. It represents the
+   portion of the entire data that the user can see. As the user manipulates
    the scroll bars, the contents of the viewport can change.
    Also refer to ::IA2_ROLE_SCROLL_PANE.
   */
@@ -984,10 +1002,10 @@
    content, it may be appropriate to use a more general role.
   */
   IA2_ROLE_COMPLEMENTARY_CONTENT,
-  
+
   /** An object representing a navigational landmark, a region on a page to
-   which the user may want quick access, such as navigating, searching,
-   perusing the primary content.
+   which the user may want quick access, such as a navigation area, a search
+   facility or the main content of a page.
   */
   IA2_ROLE_LANDMARK,
 
@@ -999,15 +1017,17 @@
 
   /** Content previously deleted or proposed for deletion, e.g. in revision
    history or a content view providing suggestions from reviewers.
-   */
+  */
   IA2_ROLE_CONTENT_DELETION,
 
   /** Content previously inserted or proposed for insertion, e.g. in revision
    history or a content view providing suggestions from reviewers.
-   */
-  IA2_ROLE_CONTENT_INSERTION
-};
+  */
+  IA2_ROLE_CONTENT_INSERTION,
 
+  /// A section of content that is quoted from another source.
+  IA2_ROLE_BLOCK_QUOTE
+};
 /*************************************************************************
  *
  *  File Name (AccessibleStates.idl)
@@ -1275,6 +1295,7 @@
  @section _interfaces Interfaces
   IAccessible2\n
   IAccessible2_2\n
+  IAccessible2_3\n
   IAccessibleAction\n
   IAccessibleApplication\n
   IAccessibleComponent\n
@@ -1294,6 +1315,7 @@
 
  @section _structs Structs
   IA2Locale\n
+  IA2Range\n
   IA2TableModelChange\n
   IA2TextSegment
 
@@ -1370,7 +1392,7 @@
  @ref _memory\n
  &nbsp;&nbsp;@ref _arrayConsideration\n
  @ref _indexes\n
- @ref _enumBase\n
+ @ref _enums\n
  @ref _specialOffsets\n
  @ref _dicoveringInterfaces\n
  @ref _changingInterfaces\n
@@ -1446,7 +1468,7 @@
  @section _indexes Zero and One Based Indexes
   Unless otherwise specified all offsets and indexes are 0 based. 
 
- @section _enumBase Enum Base
+ @section _enums Enums
   Note that enums start at 0.
 
  @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods
@@ -2032,6 +2054,56 @@
 
 }
 
+
+
+
+
+
+/**
+ * This structure represents a directional range of the content. It is defined
+ * by two points in the content, where each one is defined by an accessible
+ * object and an offset relative to it. A typical case of a range point is
+ * a text accessible and text offset within it.
+ *
+ * The "anchor" is one point of the range and typically remains constant.
+ * The other point is the "active" point, which typically corresponds to
+ * the user's focus or point of interest. The user moves the active point to
+ * expand or collapse the range. In most cases, anchor is the start of the range
+ * and active is the end. However, in case of selection, when selecting
+ * backwards (e.g. pressing shift+left arrow in a text field), the start of
+ * the range is the active point, as the user moves this to manipulate
+ * the selection.
+ */
+typedef struct IA2Range {
+  IUnknown* anchor;
+  long anchorOffset;
+  IUnknown* active;
+  long activeOffset;
+} IA2Range;
+
+/**
+ * @brief This interface is an extension of IAccessible2_2 and IAccessible2
+ * interfaces.
+ */
+[object, uuid(5BE18059-762E-4E73-9476-ABA294FED411)]
+interface IAccessible2_3 : IAccessible2_2
+{
+  /**
+   * @brief Returns an array of ranges for selections within the accessible.
+   * @param [out] ranges
+     The array of selection ranges, allocated by the server. The client must
+     free it with CoTaskMemFree.
+   * @param [out] nRanges
+     the array length
+   * @retval S_OK
+   * @retval S_FALSE returned if there is no selection within the accessible
+  */
+  [propget] HRESULT selectionRanges
+    (
+      [out, size_is(,*nRanges)] IA2Range **ranges,
+      [out, retval] long *nRanges
+    );
+}
 /*************************************************************************
  *
  *  File Name (AccessibleComponent.idl)
@@ -2376,25 +2448,42 @@
 */
 
 enum IA2TextBoundaryType {
-  IA2_TEXT_BOUNDARY_CHAR,       /**< Typically, a single character is returned.  In some cases more than
-                                 one character is returned, for example, when a document contains field
-                                 data such as a field containing a date, time, or footnote reference.
-                                 In this case the caret can move over several characters in one movement
-                                 of the caret.  Note that after the caret moves, the caret offset changes
-                                 by the number of characters in the field, e.g. by 8 characters in the 
-                                 following date: 03/26/07. */
-  IA2_TEXT_BOUNDARY_WORD,       /**< The range provided matches the range observed when the application
-                                 processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
-                                 Typically this is from the start of one word to the start of the next, but
-                                 various applications are inconsistent in the handling of the end of a line. */
-  IA2_TEXT_BOUNDARY_SENTENCE,   ///< Range is from start of one sentence to the start of another sentence.
-  IA2_TEXT_BOUNDARY_PARAGRAPH,  ///< Range is from start of one paragraph to the start of another paragraph.
-  IA2_TEXT_BOUNDARY_LINE,       /**< Range is from start of one line to the start of another line. This
-                                 often means that an end-of-line character will appear at the end of the
-                                 range. However in the case of some applications an end-of-line character
-                                 indicates the end of a paragraph and the lines composing the paragraph,
-                                 other than the last line, do not contain an end of line character. */
-  IA2_TEXT_BOUNDARY_ALL         ///< Using this value will cause all text to be returned.
+  /** Typically, a single character is returned. In some cases more than one
+   character is returned, for example, when a document contains field data such
+   as a field containing a date, time, or footnote reference. In this case
+   the caret can move over several characters in one movement of the caret.
+   Note, that after the caret moves, the caret offset changes by the number of
+  characters in the field, e.g. by 8 characters in the following date: 03/26/07.
+  */
+  IA2_TEXT_BOUNDARY_CHAR,
+
+  /** The range provided matches the range observed when the application
+   processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
+   Typically this is from the start of one word to the start of the next, but
+   various applications are inconsistent in the handling of the end of a line.
+  */
+  IA2_TEXT_BOUNDARY_WORD,
+
+  /** Range is from start of one sentence to the start of another sentence.
+  */
+  IA2_TEXT_BOUNDARY_SENTENCE,
+
+  /** Range is from start of one paragraph to the start of another paragraph.
+  */
+  IA2_TEXT_BOUNDARY_PARAGRAPH,
+
+  /** Range is from start of one line to the start of another line. This often
+   means that an end-of-line character will appear at the end of the range.
+   However in the case of some applications an end-of-line character indicates
+   the end of a paragraph and the lines composing the paragraph, other than
+   the last line, do not contain an end of line character.
+  */
+  IA2_TEXT_BOUNDARY_LINE,
+
+  /** <b>Deprecated.</b> Using this value will cause all text to be returned.
+   Note: IAccessibleText::text should be used instead.
+  */
+  IA2_TEXT_BOUNDARY_ALL
 };
 
 /** @brief This interface gives read-only access to text.
@@ -2405,7 +2494,7 @@
   provides access to the text's content, attributes, and spatial location.  
   However, text can not be modified with this interface.  That is the task 
   of the IAccessibleEditableText interface.
-        
+
  The text length, i.e. the number of characters in the text, is
   returned by IAccessibleText::nCharacters. All methods that operate 
   on particular characters (e.g. IAccessibleText::textAtOffset) use character 
@@ -5383,7 +5472,7 @@
   
    A document's most recently targeted in-page anchor is returned.  A typical use
     of this method is to fetch the anchor target within an HTML document.  In this
-    case anchor targets are those which have been defined with the &lt;a&gt; tag.  
+    case anchor targets are those which has been defined with the <a> tag.  
 
    @param [out] accessible
    @retval S_OK
@@ -5468,6 +5557,7 @@
     importlib ("oleacc.dll");
     interface IAccessible2;
     interface IAccessible2_2;
+    interface IAccessible2_3;
     interface IAccessibleAction;
     interface IAccessibleApplication;
     interface IAccessibleComponent;
diff --git a/third_party/win_build_output/.clang-format b/third_party/win_build_output/.clang-format
new file mode 100644
index 0000000..e384528
--- /dev/null
+++ b/third_party/win_build_output/.clang-format
@@ -0,0 +1 @@
+DisableFormat: true
diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.h b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.h
index 61329d8..37284a9 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.h
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.h
@@ -73,6 +73,13 @@
 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */

 

 

+#ifndef __IAccessible2_3_FWD_DEFINED__

+#define __IAccessible2_3_FWD_DEFINED__

+typedef interface IAccessible2_3 IAccessible2_3;

+

+#endif 	/* __IAccessible2_3_FWD_DEFINED__ */

+

+

 #ifndef __IAccessibleComponent_FWD_DEFINED__

 #define __IAccessibleComponent_FWD_DEFINED__

 typedef interface IAccessibleComponent IAccessibleComponent;

@@ -185,6 +192,13 @@
 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */

 

 

+#ifndef __IAccessible2_3_FWD_DEFINED__

+#define __IAccessible2_3_FWD_DEFINED__

+typedef interface IAccessible2_3 IAccessible2_3;

+

+#endif 	/* __IAccessible2_3_FWD_DEFINED__ */

+

+

 #ifndef __IAccessibleAction_FWD_DEFINED__

 #define __IAccessibleAction_FWD_DEFINED__

 typedef interface IAccessibleAction IAccessibleAction;

@@ -395,6 +409,14 @@
 

 #define	IA2_RELATION_SUBWINDOW_OF	( L"subwindowOf" )

 

+#define	IA2_RELATION_DETAILS	( L"details" )

+

+#define	IA2_RELATION_DETAILS_FOR	( L"detailsFor" )

+

+#define	IA2_RELATION_ERROR	( L"error" )

+

+#define	IA2_RELATION_ERROR_FOR	( L"errorFor" )

+

 

 

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec;

@@ -737,7 +759,8 @@
         IA2_ROLE_LANDMARK	= ( IA2_ROLE_COMPLEMENTARY_CONTENT + 1 ) ,

         IA2_ROLE_LEVEL_BAR	= ( IA2_ROLE_LANDMARK + 1 ) ,

         IA2_ROLE_CONTENT_DELETION	= ( IA2_ROLE_LEVEL_BAR + 1 ) ,

-        IA2_ROLE_CONTENT_INSERTION	= ( IA2_ROLE_CONTENT_DELETION + 1 ) 

+        IA2_ROLE_CONTENT_INSERTION	= ( IA2_ROLE_CONTENT_DELETION + 1 ) ,

+        IA2_ROLE_BLOCK_QUOTE	= ( IA2_ROLE_CONTENT_INSERTION + 1 ) 

     } ;

 typedef long AccessibleStates;

 

@@ -1740,13 +1763,496 @@
 /* interface __MIDL_itf_ia2_api_all_0000_0004 */

 /* [local] */ 

 

-typedef long IA2Color;

+typedef struct IA2Range

+    {

+    IUnknown *anchor;

+    long anchorOffset;

+    IUnknown *active;

+    long activeOffset;

+    } 	IA2Range;

 

 

 

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec;

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec;

 

+#ifndef __IAccessible2_3_INTERFACE_DEFINED__

+#define __IAccessible2_3_INTERFACE_DEFINED__

+

+/* interface IAccessible2_3 */

+/* [uuid][object] */ 

+

+

+EXTERN_C const IID IID_IAccessible2_3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("5BE18059-762E-4E73-9476-ABA294FED411")

+    IAccessible2_3 : public IAccessible2_2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectionRanges( 

+            /* [size_is][size_is][out] */ IA2Range **ranges,

+            /* [retval][out] */ long *nRanges) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAccessible2_3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAccessible2_3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAccessible2_3 * This);

+        

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAccessible2_3 * This);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAccessible2_3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAccessible2_3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAccessible2_3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAccessible2_3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ IDispatch **ppdispParent);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *pcountChildren);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 

+            IAccessible2_3 * This,

+            /* [in] */ VARIANT varChild,

+            /* [retval][out] */ IDispatch **ppdispChild);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszName);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszValue);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszDescription);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ VARIANT *pvarRole);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ VARIANT *pvarState);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszHelp);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 

+            IAccessible2_3 * This,

+            /* [out] */ BSTR *pszHelpFile,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ long *pidTopic);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszKeyboardShortcut);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ VARIANT *pvarChild);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ VARIANT *pvarChildren);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszDefaultAction);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 

+            IAccessible2_3 * This,

+            /* [in] */ long flagsSelect,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 

+            IAccessible2_3 * This,

+            /* [out] */ long *pxLeft,

+            /* [out] */ long *pyTop,

+            /* [out] */ long *pcxWidth,

+            /* [out] */ long *pcyHeight,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 

+            IAccessible2_3 * This,

+            /* [in] */ long navDir,

+            /* [optional][in] */ VARIANT varStart,

+            /* [retval][out] */ VARIANT *pvarEndUpAt);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 

+            IAccessible2_3 * This,

+            /* [in] */ long xLeft,

+            /* [in] */ long yTop,

+            /* [retval][out] */ VARIANT *pvarChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [in] */ BSTR szName);

+        

+        /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [in] */ BSTR szValue);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *nRelations);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( 

+            IAccessible2_3 * This,

+            /* [in] */ long relationIndex,

+            /* [retval][out] */ IAccessibleRelation **relation);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxRelations,

+            /* [length_is][size_is][out] */ IAccessibleRelation **relations,

+            /* [retval][out] */ long *nRelations);

+        

+        HRESULT ( STDMETHODCALLTYPE *role )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *role);

+        

+        HRESULT ( STDMETHODCALLTYPE *scrollTo )( 

+            IAccessible2_3 * This,

+            /* [in] */ enum IA2ScrollType scrollType);

+        

+        HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( 

+            IAccessible2_3 * This,

+            /* [in] */ enum IA2CoordinateType coordinateType,

+            /* [in] */ long x,

+            /* [in] */ long y);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( 

+            IAccessible2_3 * This,

+            /* [out] */ long *groupLevel,

+            /* [out] */ long *similarItemsInGroup,

+            /* [retval][out] */ long *positionInGroup);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ AccessibleStates *states);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *extendedRole);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *localizedExtendedRole);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *nExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxExtendedStates,

+            /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,

+            /* [retval][out] */ long *nExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxLocalizedExtendedStates,

+            /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,

+            /* [retval][out] */ long *nLocalizedExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *uniqueID);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ HWND *windowHandle);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *indexInParent);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ IA2Locale *locale);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *attributes);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )( 

+            IAccessible2_3 * This,

+            /* [in] */ BSTR name,

+            /* [retval][out] */ VARIANT *attribute);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )( 

+            IAccessible2_3 * This,

+            /* [out] */ IUnknown **accessible,

+            /* [retval][out] */ long *caretOffset);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )( 

+            IAccessible2_3 * This,

+            /* [in] */ BSTR type,

+            /* [in] */ long maxTargets,

+            /* [size_is][size_is][out] */ IUnknown ***targets,

+            /* [retval][out] */ long *nTargets);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionRanges )( 

+            IAccessible2_3 * This,

+            /* [size_is][size_is][out] */ IA2Range **ranges,

+            /* [retval][out] */ long *nRanges);

+        

+        END_INTERFACE

+    } IAccessible2_3Vtbl;

+

+    interface IAccessible2_3

+    {

+        CONST_VTBL struct IAccessible2_3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAccessible2_3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAccessible2_3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAccessible2_3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAccessible2_3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAccessible2_3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAccessible2_3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAccessible2_3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAccessible2_3_get_accParent(This,ppdispParent)	\

+    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

+

+#define IAccessible2_3_get_accChildCount(This,pcountChildren)	\

+    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

+

+#define IAccessible2_3_get_accChild(This,varChild,ppdispChild)	\

+    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

+

+#define IAccessible2_3_get_accName(This,varChild,pszName)	\

+    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

+

+#define IAccessible2_3_get_accValue(This,varChild,pszValue)	\

+    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

+

+#define IAccessible2_3_get_accDescription(This,varChild,pszDescription)	\

+    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

+

+#define IAccessible2_3_get_accRole(This,varChild,pvarRole)	\

+    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

+

+#define IAccessible2_3_get_accState(This,varChild,pvarState)	\

+    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

+

+#define IAccessible2_3_get_accHelp(This,varChild,pszHelp)	\

+    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

+

+#define IAccessible2_3_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\

+    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

+

+#define IAccessible2_3_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\

+    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

+

+#define IAccessible2_3_get_accFocus(This,pvarChild)	\

+    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

+

+#define IAccessible2_3_get_accSelection(This,pvarChildren)	\

+    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

+

+#define IAccessible2_3_get_accDefaultAction(This,varChild,pszDefaultAction)	\

+    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

+

+#define IAccessible2_3_accSelect(This,flagsSelect,varChild)	\

+    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

+

+#define IAccessible2_3_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\

+    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

+

+#define IAccessible2_3_accNavigate(This,navDir,varStart,pvarEndUpAt)	\

+    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

+

+#define IAccessible2_3_accHitTest(This,xLeft,yTop,pvarChild)	\

+    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

+

+#define IAccessible2_3_accDoDefaultAction(This,varChild)	\

+    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

+

+#define IAccessible2_3_put_accName(This,varChild,szName)	\

+    ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) 

+

+#define IAccessible2_3_put_accValue(This,varChild,szValue)	\

+    ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) 

+

+

+#define IAccessible2_3_get_nRelations(This,nRelations)	\

+    ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) 

+

+#define IAccessible2_3_get_relation(This,relationIndex,relation)	\

+    ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) 

+

+#define IAccessible2_3_get_relations(This,maxRelations,relations,nRelations)	\

+    ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) 

+

+#define IAccessible2_3_role(This,role)	\

+    ( (This)->lpVtbl -> role(This,role) ) 

+

+#define IAccessible2_3_scrollTo(This,scrollType)	\

+    ( (This)->lpVtbl -> scrollTo(This,scrollType) ) 

+

+#define IAccessible2_3_scrollToPoint(This,coordinateType,x,y)	\

+    ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) 

+

+#define IAccessible2_3_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup)	\

+    ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) 

+

+#define IAccessible2_3_get_states(This,states)	\

+    ( (This)->lpVtbl -> get_states(This,states) ) 

+

+#define IAccessible2_3_get_extendedRole(This,extendedRole)	\

+    ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) 

+

+#define IAccessible2_3_get_localizedExtendedRole(This,localizedExtendedRole)	\

+    ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) 

+

+#define IAccessible2_3_get_nExtendedStates(This,nExtendedStates)	\

+    ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) 

+

+#define IAccessible2_3_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates)	\

+    ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) 

+

+#define IAccessible2_3_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates)	\

+    ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) 

+

+#define IAccessible2_3_get_uniqueID(This,uniqueID)	\

+    ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) 

+

+#define IAccessible2_3_get_windowHandle(This,windowHandle)	\

+    ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) 

+

+#define IAccessible2_3_get_indexInParent(This,indexInParent)	\

+    ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) 

+

+#define IAccessible2_3_get_locale(This,locale)	\

+    ( (This)->lpVtbl -> get_locale(This,locale) ) 

+

+#define IAccessible2_3_get_attributes(This,attributes)	\

+    ( (This)->lpVtbl -> get_attributes(This,attributes) ) 

+

+

+#define IAccessible2_3_get_attribute(This,name,attribute)	\

+    ( (This)->lpVtbl -> get_attribute(This,name,attribute) ) 

+

+#define IAccessible2_3_get_accessibleWithCaret(This,accessible,caretOffset)	\

+    ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) ) 

+

+#define IAccessible2_3_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets)	\

+    ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) ) 

+

+

+#define IAccessible2_3_get_selectionRanges(This,ranges,nRanges)	\

+    ( (This)->lpVtbl -> get_selectionRanges(This,ranges,nRanges) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAccessible2_3_INTERFACE_DEFINED__ */

+

+

+/* interface __MIDL_itf_ia2_api_all_0000_0005 */

+/* [local] */ 

+

+typedef long IA2Color;

+

+

+

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0005_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0005_v0_0_s_ifspec;

+

 #ifndef __IAccessibleComponent_INTERFACE_DEFINED__

 #define __IAccessibleComponent_INTERFACE_DEFINED__

 

@@ -1959,7 +2465,7 @@
 #endif 	/* __IAccessibleValue_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0006 */

+/* interface __MIDL_itf_ia2_api_all_0000_0007 */

 /* [local] */ 

 

 typedef struct IA2TextSegment

@@ -1981,8 +2487,8 @@
     } ;

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0007_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0007_v0_0_s_ifspec;

 

 #ifndef __IAccessibleText_INTERFACE_DEFINED__

 #define __IAccessibleText_INTERFACE_DEFINED__

@@ -4437,7 +4943,7 @@
 #endif 	/* __IAccessibleImage_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0016 */

+/* interface __MIDL_itf_ia2_api_all_0000_0017 */

 /* [local] */ 

 

 

@@ -4481,8 +4987,8 @@
     } ;

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0017_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0017_v0_0_s_ifspec;

 

 #ifndef __IAccessibleApplication_INTERFACE_DEFINED__

 #define __IAccessibleApplication_INTERFACE_DEFINED__

@@ -4674,7 +5180,7 @@
 #endif 	/* __IAccessibleDocument_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0018 */

+/* interface __MIDL_itf_ia2_api_all_0000_0019 */

 /* [local] */ 

 

 

@@ -4682,8 +5188,8 @@
 

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0019_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0019_v0_0_s_ifspec;

 

 

 #ifndef __IAccessible2Lib_LIBRARY_DEFINED__

@@ -4719,6 +5225,7 @@
 

 

 

+

 EXTERN_C const IID LIBID_IAccessible2Lib;

 #endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */

 

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.tlb b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.tlb
index 544ad09..f5610282 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.tlb
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_i.c b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_i.c
index 9cd25d21..6864dd1 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_i.c
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_i.c
@@ -79,6 +79,9 @@
 MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF);

 

 

+MIDL_DEFINE_GUID(IID, IID_IAccessible2_3,0x5BE18059,0x762E,0x4E73,0x94,0x76,0xAB,0xA2,0x94,0xFE,0xD4,0x11);

+

+

 MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);

 

 

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_p.c b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_p.c
index cd6fe07..2b97baf 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_p.c
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/arm64/ia2_api_all_p.c
@@ -46,8 +46,8 @@
 

 #include "ia2_api_all.h"

 

-#define TYPE_FORMAT_STRING_SIZE   1467                              

-#define PROC_FORMAT_STRING_SIZE   6023                              

+#define TYPE_FORMAT_STRING_SIZE   1519                              

+#define PROC_FORMAT_STRING_SIZE   6071                              

 #define EXPR_FORMAT_STRING_SIZE   1                                 

 #define TRANSMIT_AS_TABLE_SIZE    0            

 #define WIRE_MARSHAL_TABLE_SIZE   3            

@@ -111,6 +111,13 @@
 extern const MIDL_STUB_DESC Object_StubDesc;

 

 

+extern const MIDL_SERVER_INFO IAccessible2_3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_3_ProxyInfo;

+

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+

+

 extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;

 extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;

 

@@ -1613,20 +1620,20 @@
 /* 1508 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_locationInParent */

+	/* Procedure get_selectionRanges */

 

 /* 1510 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1512 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1516 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1516 */	NdrFcShort( 0x31 ),	/* 49 */

 /* 1518 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 1520 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1522 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1524 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1522 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1524 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 1526 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 1528 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1528 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 1530 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1532 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1534 */	NdrFcShort( 0x3 ),	/* 3 */

@@ -1635,14 +1642,13 @@
 /* 1538 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter x */

+	/* Parameter ranges */

 

-/* 1540 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1540 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 1542 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1544 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 1544 */	NdrFcShort( 0x4e4 ),	/* Type Offset=1252 */

 

-	/* Parameter y */

+	/* Parameter nRanges */

 

 /* 1546 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1548 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -1656,180 +1662,223 @@
 /* 1556 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_foreground */

+	/* Procedure get_locationInParent */

 

 /* 1558 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1560 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1564 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1566 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1564 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1566 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 1568 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1570 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1570 */	NdrFcShort( 0x40 ),	/* 64 */

 /* 1572 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 1574 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 1576 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1578 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1580 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1582 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1584 */	0x2,		/* 2 */

+/* 1582 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1584 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 1586 */	0x81,		/* 129 */

-			0x0,		/* 0 */

+			0x82,		/* 130 */

 

-	/* Parameter foreground */

+	/* Parameter x */

 

 /* 1588 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1590 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 1592 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter y */

 

-/* 1594 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1594 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1596 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 1598 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 1600 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1602 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1604 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_foreground */

+

+/* 1606 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1608 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1612 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1614 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1618 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1620 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1622 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1630 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1632 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1634 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter foreground */

+

+/* 1636 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1638 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1640 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 1642 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1644 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1646 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_currentValue */

 

-/* 1600 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1648 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1602 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1606 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1608 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1610 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1612 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1614 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1650 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1654 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1656 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1662 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1616 */	0xe,		/* 14 */

+/* 1664 */	0xe,		/* 14 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1618 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1620 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1622 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1624 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1626 */	0x2,		/* 2 */

+/* 1666 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1672 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1674 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 1628 */	0x81,		/* 129 */

+/* 1676 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter currentValue */

 

-/* 1630 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 1632 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1634 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 1678 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1680 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1682 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

 

 	/* Return value */

 

-/* 1636 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1638 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1640 */	0x8,		/* FC_LONG */

+/* 1684 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1686 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1688 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setCurrentValue */

 

-/* 1642 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1690 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1644 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1648 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1650 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1652 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1654 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1656 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 1692 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1696 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1698 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1702 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1704 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1658 */	0xe,		/* 14 */

+/* 1706 */	0xe,		/* 14 */

 			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

-/* 1660 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1662 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1664 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1666 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1668 */	0x2,		/* 2 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1710 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1712 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1714 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1716 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 1670 */	0x81,		/* 129 */

+/* 1718 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter value */

 

-/* 1672 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 1674 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1676 */	NdrFcShort( 0x4ec ),	/* Type Offset=1260 */

+/* 1720 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1722 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1724 */	NdrFcShort( 0x520 ),	/* Type Offset=1312 */

 

 	/* Return value */

 

-/* 1678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1680 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1682 */	0x8,		/* FC_LONG */

+/* 1726 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1728 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1730 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_maximumValue */

 

-/* 1684 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1732 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1686 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1690 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 1692 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1694 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1696 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1698 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1734 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1738 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1740 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1744 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1746 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1700 */	0xe,		/* 14 */

+/* 1748 */	0xe,		/* 14 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1702 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1706 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1708 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1710 */	0x2,		/* 2 */

+/* 1750 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1752 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1756 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1758 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 1712 */	0x81,		/* 129 */

+/* 1760 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter maximumValue */

 

-/* 1714 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 1716 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1718 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 1762 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1764 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1766 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

 

 	/* Return value */

 

-/* 1720 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1722 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1724 */	0x8,		/* FC_LONG */

+/* 1768 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1770 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1772 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_minimumValue */

 

-/* 1726 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1774 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1728 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1732 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 1734 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1736 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1738 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1740 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1776 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1780 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1782 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1786 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1788 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1742 */	0xe,		/* 14 */

+/* 1790 */	0xe,		/* 14 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1744 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1748 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1750 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1752 */	0x2,		/* 2 */

+/* 1792 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1794 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1796 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1798 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1800 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 1754 */	0x81,		/* 129 */

+/* 1802 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter minimumValue */

 

-/* 1756 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 1758 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1760 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 1804 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1806 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1808 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

 

 	/* Return value */

 

-/* 1762 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1764 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1766 */	0x8,		/* FC_LONG */

+/* 1810 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1812 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1814 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure copyText */

@@ -1837,24 +1886,24 @@
 

 	/* Procedure addSelection */

 

-/* 1768 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1816 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1770 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1774 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1776 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 1778 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1780 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1782 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1818 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1822 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1824 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1826 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1828 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1830 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

-/* 1784 */	0xe,		/* 14 */

+/* 1832 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1786 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1788 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1790 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1792 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1794 */	0x3,		/* 3 */

+/* 1834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1838 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1840 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1842 */	0x3,		/* 3 */

 			0x80,		/* 128 */

-/* 1796 */	0x81,		/* 129 */

+/* 1844 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

 	/* Parameter startOffset */

@@ -1862,9 +1911,9 @@
 

 	/* Parameter startOffset */

 

-/* 1798 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1800 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1802 */	0x8,		/* FC_LONG */

+/* 1846 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1848 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1850 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

@@ -1872,9 +1921,9 @@
 

 	/* Parameter endOffset */

 

-/* 1804 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1806 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1808 */	0x8,		/* FC_LONG */

+/* 1852 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1854 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1856 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -1882,142 +1931,142 @@
 

 	/* Return value */

 

-/* 1810 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1812 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1814 */	0x8,		/* FC_LONG */

+/* 1858 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1860 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1862 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_attributes */

 

-/* 1816 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1864 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1818 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1822 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1824 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 1826 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1828 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1830 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1866 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1870 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1872 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1874 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1876 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1878 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x5,		/* 5 */

-/* 1832 */	0x10,		/* 16 */

+/* 1880 */	0x10,		/* 16 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1834 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1836 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1838 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1840 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 1842 */	0x5,		/* 5 */

+/* 1882 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1886 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1888 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1890 */	0x5,		/* 5 */

 			0x80,		/* 128 */

-/* 1844 */	0x81,		/* 129 */

+/* 1892 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 1846 */	0x83,		/* 131 */

+/* 1894 */	0x83,		/* 131 */

 			0x84,		/* 132 */

 

 	/* Parameter offset */

 

-/* 1848 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1850 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1852 */	0x8,		/* FC_LONG */

+/* 1896 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1898 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1900 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 1854 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1856 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1858 */	0x8,		/* FC_LONG */

+/* 1902 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1904 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1906 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 1860 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1862 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1864 */	0x8,		/* FC_LONG */

+/* 1908 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1910 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1912 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter textAttributes */

 

-/* 1866 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1868 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 1870 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 1914 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1916 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1918 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1872 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1874 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 1876 */	0x8,		/* FC_LONG */

+/* 1920 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1922 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1924 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_characterExtents */

 

-/* 1878 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1926 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1880 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1884 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 1886 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

-/* 1888 */	NdrFcShort( 0xe ),	/* 14 */

-/* 1890 */	NdrFcShort( 0x78 ),	/* 120 */

-/* 1892 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1928 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1932 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1934 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1936 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1938 */	NdrFcShort( 0x78 ),	/* 120 */

+/* 1940 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x7,		/* 7 */

-/* 1894 */	0x12,		/* 18 */

+/* 1942 */	0x12,		/* 18 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1896 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1898 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1900 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1902 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 1904 */	0x7,		/* 7 */

+/* 1944 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1946 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1948 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1950 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1952 */	0x7,		/* 7 */

 			0x80,		/* 128 */

-/* 1906 */	0x81,		/* 129 */

+/* 1954 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 1908 */	0x83,		/* 131 */

+/* 1956 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 1910 */	0x85,		/* 133 */

+/* 1958 */	0x85,		/* 133 */

 			0x86,		/* 134 */

 

 	/* Parameter offset */

 

-/* 1912 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1914 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1916 */	0x8,		/* FC_LONG */

+/* 1960 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1962 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1964 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordType */

 

-/* 1918 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1920 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1922 */	0xd,		/* FC_ENUM16 */

+/* 1966 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1968 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1970 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 1924 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1926 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1928 */	0x8,		/* FC_LONG */

+/* 1972 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1974 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1976 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 1930 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1932 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 1934 */	0x8,		/* FC_LONG */

+/* 1978 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1980 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1982 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter width */

 

-/* 1936 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1938 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 1940 */	0x8,		/* FC_LONG */

+/* 1984 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1986 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1988 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter height */

 

-/* 1942 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1944 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 1946 */	0x8,		/* FC_LONG */

+/* 1990 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1992 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1994 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1948 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1950 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 1952 */	0x8,		/* FC_LONG */

+/* 1996 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1998 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2000 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nRows */

@@ -2025,24 +2074,24 @@
 

 	/* Procedure get_nSelections */

 

-/* 1954 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2002 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1956 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1960 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 1962 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1964 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1966 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 1968 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2004 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2008 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 2010 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2014 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2016 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 1970 */	0xe,		/* 14 */

+/* 2018 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1972 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1974 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1976 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1978 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1980 */	0x2,		/* 2 */

+/* 2020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2022 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2026 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2028 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 1982 */	0x81,		/* 129 */

+/* 2030 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter rowCount */

@@ -2050,9 +2099,9 @@
 

 	/* Parameter nSelections */

 

-/* 1984 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1986 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1988 */	0x8,		/* FC_LONG */

+/* 2032 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2034 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2036 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -2060,848 +2109,805 @@
 

 	/* Return value */

 

-/* 1990 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1992 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1994 */	0x8,		/* FC_LONG */

+/* 2038 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2040 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2042 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_offsetAtPoint */

 

-/* 1996 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2044 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1998 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2002 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2004 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 2006 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2008 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2010 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2046 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2050 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2052 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2054 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2056 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2058 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x5,		/* 5 */

-/* 2012 */	0x10,		/* 16 */

+/* 2060 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2014 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2016 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2018 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2020 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 2022 */	0x5,		/* 5 */

+/* 2062 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2064 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2068 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 2070 */	0x5,		/* 5 */

 			0x80,		/* 128 */

-/* 2024 */	0x81,		/* 129 */

+/* 2072 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2026 */	0x83,		/* 131 */

+/* 2074 */	0x83,		/* 131 */

 			0x84,		/* 132 */

 

 	/* Parameter x */

 

-/* 2028 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2030 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2032 */	0x8,		/* FC_LONG */

+/* 2076 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2078 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2080 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 2034 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2036 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2038 */	0x8,		/* FC_LONG */

+/* 2082 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2084 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2086 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordType */

 

-/* 2040 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2042 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2044 */	0xd,		/* FC_ENUM16 */

+/* 2088 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2090 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2092 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 2046 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2048 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2050 */	0x8,		/* FC_LONG */

+/* 2094 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2096 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2098 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2052 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2054 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2056 */	0x8,		/* FC_LONG */

+/* 2100 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2102 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2104 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selection */

 

-/* 2058 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2106 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2060 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2064 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 2066 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2068 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2070 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2072 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2108 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2112 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2114 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2116 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2118 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2120 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2074 */	0x10,		/* 16 */

+/* 2122 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2076 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2078 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2080 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2082 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2084 */	0x4,		/* 4 */

+/* 2124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2126 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2130 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 2132 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 2086 */	0x81,		/* 129 */

+/* 2134 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2088 */	0x83,		/* 131 */

+/* 2136 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2090 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2092 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2094 */	0x8,		/* FC_LONG */

+/* 2138 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2140 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2142 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2096 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2098 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2100 */	0x8,		/* FC_LONG */

+/* 2144 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2146 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2148 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2102 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2104 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2106 */	0x8,		/* FC_LONG */

+/* 2150 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2152 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2154 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2110 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2112 */	0x8,		/* FC_LONG */

+/* 2156 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2158 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2160 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_text */

 

-/* 2114 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2162 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2116 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2120 */	NdrFcShort( 0xa ),	/* 10 */

-/* 2122 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2124 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2126 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2128 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2164 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2168 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2170 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2172 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2174 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2176 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 2130 */	0x10,		/* 16 */

+/* 2178 */	0x10,		/* 16 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2132 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2134 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2136 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2138 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2140 */	0x4,		/* 4 */

+/* 2180 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2182 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2186 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 2188 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 2142 */	0x81,		/* 129 */

+/* 2190 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2144 */	0x83,		/* 131 */

+/* 2192 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2146 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2148 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2150 */	0x8,		/* FC_LONG */

+/* 2194 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2196 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2198 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2152 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2154 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2156 */	0x8,		/* FC_LONG */

+/* 2200 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2202 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2204 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2158 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2160 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2162 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2206 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2208 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2210 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2164 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2166 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2168 */	0x8,		/* FC_LONG */

+/* 2212 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2214 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2216 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textBeforeOffset */

 

-/* 2170 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2218 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2172 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2176 */	NdrFcShort( 0xb ),	/* 11 */

-/* 2178 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 2180 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2182 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2184 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2220 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2224 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2226 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2228 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2230 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2232 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2186 */	0x12,		/* 18 */

+/* 2234 */	0x12,		/* 18 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2188 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2190 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2192 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2194 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 2196 */	0x6,		/* 6 */

+/* 2236 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2240 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2242 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2244 */	0x6,		/* 6 */

 			0x80,		/* 128 */

-/* 2198 */	0x81,		/* 129 */

+/* 2246 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2200 */	0x83,		/* 131 */

+/* 2248 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 2202 */	0x85,		/* 133 */

+/* 2250 */	0x85,		/* 133 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 2204 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2206 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2208 */	0x8,		/* FC_LONG */

+/* 2252 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2254 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2256 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 2210 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2212 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2214 */	0xd,		/* FC_ENUM16 */

+/* 2258 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2260 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2262 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2216 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2218 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2220 */	0x8,		/* FC_LONG */

+/* 2264 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2266 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2268 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2222 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2224 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2226 */	0x8,		/* FC_LONG */

+/* 2270 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2272 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2274 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2228 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2230 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2232 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2276 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2278 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2280 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2234 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2236 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 2238 */	0x8,		/* FC_LONG */

+/* 2282 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2284 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2286 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textAfterOffset */

 

-/* 2240 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2288 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2242 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2246 */	NdrFcShort( 0xc ),	/* 12 */

-/* 2248 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 2250 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2252 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2254 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2290 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2294 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2296 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2298 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2300 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2302 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2256 */	0x12,		/* 18 */

+/* 2304 */	0x12,		/* 18 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2258 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2260 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2262 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2264 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 2266 */	0x6,		/* 6 */

+/* 2306 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2308 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2310 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2312 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2314 */	0x6,		/* 6 */

 			0x80,		/* 128 */

-/* 2268 */	0x81,		/* 129 */

+/* 2316 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2270 */	0x83,		/* 131 */

+/* 2318 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 2272 */	0x85,		/* 133 */

+/* 2320 */	0x85,		/* 133 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 2274 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2276 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2278 */	0x8,		/* FC_LONG */

+/* 2322 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2324 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2326 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 2280 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2282 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2284 */	0xd,		/* FC_ENUM16 */

+/* 2328 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2330 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2332 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2286 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2288 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2290 */	0x8,		/* FC_LONG */

+/* 2334 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2336 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2338 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2292 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2294 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2296 */	0x8,		/* FC_LONG */

+/* 2340 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2342 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2344 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2298 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2300 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2302 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2346 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2348 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2350 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2304 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2306 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 2308 */	0x8,		/* FC_LONG */

+/* 2352 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2354 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2356 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textAtOffset */

 

-/* 2310 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2358 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2312 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2316 */	NdrFcShort( 0xd ),	/* 13 */

-/* 2318 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 2320 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2322 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2324 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2360 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2364 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2366 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2368 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2370 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2372 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2326 */	0x12,		/* 18 */

+/* 2374 */	0x12,		/* 18 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2328 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2330 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2332 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2334 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 2336 */	0x6,		/* 6 */

+/* 2376 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2378 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2380 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2382 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2384 */	0x6,		/* 6 */

 			0x80,		/* 128 */

-/* 2338 */	0x81,		/* 129 */

+/* 2386 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2340 */	0x83,		/* 131 */

+/* 2388 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 2342 */	0x85,		/* 133 */

+/* 2390 */	0x85,		/* 133 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 2344 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2346 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2348 */	0x8,		/* FC_LONG */

+/* 2392 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2394 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2396 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 2350 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2352 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2354 */	0xd,		/* FC_ENUM16 */

+/* 2398 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2400 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2402 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2356 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2358 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2360 */	0x8,		/* FC_LONG */

+/* 2404 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2406 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2408 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2362 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2364 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2366 */	0x8,		/* FC_LONG */

+/* 2410 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2412 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2414 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2368 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2370 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2372 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2416 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2418 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2420 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2376 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 2378 */	0x8,		/* FC_LONG */

+/* 2422 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2424 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2426 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure removeSelection */

 

-/* 2380 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2428 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2382 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2386 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2388 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2390 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2392 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2394 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2430 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2434 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2436 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2438 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2440 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2442 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2396 */	0xe,		/* 14 */

+/* 2444 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2398 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2400 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2402 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2404 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 2406 */	0x2,		/* 2 */

+/* 2446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2452 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2454 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 2408 */	0x81,		/* 129 */

+/* 2456 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2410 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2412 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2414 */	0x8,		/* FC_LONG */

+/* 2458 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2460 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2462 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2416 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2418 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2420 */	0x8,		/* FC_LONG */

+/* 2464 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2466 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2468 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setCaretOffset */

 

-/* 2422 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2470 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2424 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2428 */	NdrFcShort( 0xf ),	/* 15 */

-/* 2430 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2432 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2434 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2436 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2472 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2476 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2478 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2480 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2482 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2484 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2438 */	0xe,		/* 14 */

+/* 2486 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2440 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2442 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2444 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2446 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 2448 */	0x2,		/* 2 */

+/* 2488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2490 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2492 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2494 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2496 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 2450 */	0x81,		/* 129 */

+/* 2498 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 2452 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2454 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2456 */	0x8,		/* FC_LONG */

+/* 2500 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2502 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2504 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2458 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2460 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2462 */	0x8,		/* FC_LONG */

+/* 2506 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2508 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2510 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setSelection */

 

-/* 2464 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2512 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2466 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2470 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2472 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2474 */	NdrFcShort( 0x18 ),	/* 24 */

-/* 2476 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2478 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2514 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2518 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2520 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2522 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 2524 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2526 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2480 */	0x10,		/* 16 */

+/* 2528 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2482 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2484 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2486 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2488 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2490 */	0x4,		/* 4 */

+/* 2530 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2532 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2536 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 2538 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 2492 */	0x81,		/* 129 */

+/* 2540 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2494 */	0x83,		/* 131 */

+/* 2542 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2496 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2498 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2500 */	0x8,		/* FC_LONG */

+/* 2544 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2546 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2548 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2502 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2504 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2506 */	0x8,		/* FC_LONG */

+/* 2550 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2552 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2554 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2508 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2510 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2512 */	0x8,		/* FC_LONG */

+/* 2556 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2558 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2560 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2514 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2516 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2518 */	0x8,		/* FC_LONG */

+/* 2562 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2564 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2566 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nCharacters */

 

-/* 2520 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2568 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2522 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2526 */	NdrFcShort( 0x11 ),	/* 17 */

-/* 2528 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2530 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2532 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2534 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2570 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2574 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2576 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2580 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2582 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2536 */	0xe,		/* 14 */

+/* 2584 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2538 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2540 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2542 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2544 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 2546 */	0x2,		/* 2 */

+/* 2586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2592 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2594 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 2548 */	0x81,		/* 129 */

+/* 2596 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter nCharacters */

 

-/* 2550 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2552 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2554 */	0x8,		/* FC_LONG */

+/* 2598 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2600 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2602 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2556 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2558 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2560 */	0x8,		/* FC_LONG */

+/* 2604 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2606 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2608 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure scrollSubstringTo */

 

-/* 2562 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2610 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2564 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2568 */	NdrFcShort( 0x12 ),	/* 18 */

-/* 2570 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2572 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2574 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2576 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2612 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2616 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2618 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2620 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2622 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2624 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2578 */	0x10,		/* 16 */

+/* 2626 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2580 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2582 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2584 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2586 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2588 */	0x4,		/* 4 */

+/* 2628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2634 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 2636 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 2590 */	0x81,		/* 129 */

+/* 2638 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2592 */	0x83,		/* 131 */

+/* 2640 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter startIndex */

 

-/* 2594 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2596 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2598 */	0x8,		/* FC_LONG */

+/* 2642 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2644 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2646 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endIndex */

 

-/* 2600 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2602 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2604 */	0x8,		/* FC_LONG */

+/* 2648 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2650 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2652 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter scrollType */

 

-/* 2606 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2608 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2610 */	0xd,		/* FC_ENUM16 */

+/* 2654 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2656 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2658 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2612 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2614 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2616 */	0x8,		/* FC_LONG */

+/* 2660 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2662 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2664 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure scrollSubstringToPoint */

 

-/* 2618 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2666 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2620 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2624 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 2626 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 2628 */	NdrFcShort( 0x26 ),	/* 38 */

-/* 2630 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2632 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2668 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2672 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2674 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2676 */	NdrFcShort( 0x26 ),	/* 38 */

+/* 2678 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2680 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x6,		/* 6 */

-/* 2634 */	0x12,		/* 18 */

+/* 2682 */	0x12,		/* 18 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2636 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2638 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2640 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2642 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 2644 */	0x6,		/* 6 */

+/* 2684 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2688 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2690 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2692 */	0x6,		/* 6 */

 			0x80,		/* 128 */

-/* 2646 */	0x81,		/* 129 */

+/* 2694 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2648 */	0x83,		/* 131 */

+/* 2696 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 2650 */	0x85,		/* 133 */

+/* 2698 */	0x85,		/* 133 */

 			0x0,		/* 0 */

 

 	/* Parameter startIndex */

 

-/* 2652 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2654 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2656 */	0x8,		/* FC_LONG */

+/* 2700 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2702 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2704 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endIndex */

 

-/* 2658 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2660 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2662 */	0x8,		/* FC_LONG */

+/* 2706 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2708 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2710 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordinateType */

 

-/* 2664 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2666 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2668 */	0xd,		/* FC_ENUM16 */

+/* 2712 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2714 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2716 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 2670 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2672 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2674 */	0x8,		/* FC_LONG */

+/* 2718 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2720 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2722 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 2676 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2678 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2680 */	0x8,		/* FC_LONG */

+/* 2724 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2726 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2728 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2682 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2684 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 2686 */	0x8,		/* FC_LONG */

+/* 2730 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2732 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2734 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_newText */

 

-/* 2688 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2736 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2690 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2694 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 2696 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2698 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2700 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2702 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2738 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2742 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2744 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2750 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 2704 */	0xe,		/* 14 */

+/* 2752 */	0xe,		/* 14 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2706 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2708 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2710 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2712 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 2714 */	0x2,		/* 2 */

+/* 2754 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2760 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2762 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 2716 */	0x81,		/* 129 */

+/* 2764 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter newText */

 

-/* 2718 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2720 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2722 */	NdrFcShort( 0x4fa ),	/* Type Offset=1274 */

+/* 2766 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2768 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2770 */	NdrFcShort( 0x52e ),	/* Type Offset=1326 */

 

 	/* Return value */

 

-/* 2724 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2726 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2728 */	0x8,		/* FC_LONG */

+/* 2772 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2774 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2776 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_oldText */

 

-/* 2730 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2778 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2732 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2736 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 2738 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2740 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2742 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2744 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2780 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2784 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2786 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2790 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2792 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 2746 */	0xe,		/* 14 */

+/* 2794 */	0xe,		/* 14 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2748 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2750 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2752 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2754 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 2756 */	0x2,		/* 2 */

+/* 2796 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2798 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2800 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2802 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2804 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 2758 */	0x81,		/* 129 */

+/* 2806 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter oldText */

 

-/* 2760 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2762 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2764 */	NdrFcShort( 0x4fa ),	/* Type Offset=1274 */

+/* 2808 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2810 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2812 */	NdrFcShort( 0x52e ),	/* Type Offset=1326 */

 

 	/* Return value */

 

-/* 2766 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2768 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2770 */	0x8,		/* FC_LONG */

+/* 2814 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2816 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2818 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_attributeRange */

 

-/* 2772 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2820 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2774 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2778 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2780 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 2782 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2784 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2786 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+/* 2822 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2826 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2828 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2830 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2832 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2834 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2788 */	0x12,		/* 18 */

+/* 2836 */	0x12,		/* 18 */

 			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

-/* 2790 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2792 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2794 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2796 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 2798 */	0x6,		/* 6 */

+/* 2838 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2840 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2842 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2844 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2846 */	0x6,		/* 6 */

 			0x80,		/* 128 */

-/* 2800 */	0x81,		/* 129 */

+/* 2848 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 2802 */	0x83,		/* 131 */

+/* 2850 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 2804 */	0x85,		/* 133 */

+/* 2852 */	0x85,		/* 133 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 2806 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2808 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2810 */	0x8,		/* FC_LONG */

+/* 2854 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2856 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2858 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter filter */

 

-/* 2812 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

-/* 2814 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2816 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2860 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2862 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2864 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Parameter startOffset */

 

-/* 2818 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2820 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2822 */	0x8,		/* FC_LONG */

+/* 2866 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2868 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2870 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2824 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2826 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2828 */	0x8,		/* FC_LONG */

+/* 2872 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2874 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2876 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter attributeValues */

 

-/* 2830 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2832 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 2834 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

-/* 2836 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2838 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 2840 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure deleteText */

-

-/* 2842 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2844 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2848 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2850 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2852 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2854 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2856 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 2858 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 2860 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2862 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2866 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 2868 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 2870 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter startOffset */

-

-/* 2872 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2874 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 2876 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-/* 2878 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2880 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2882 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 2878 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2880 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2882 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

 /* 2884 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2886 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2886 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

 /* 2888 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure insertText */

+	/* Procedure deleteText */

 

 /* 2890 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2892 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2896 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 2896 */	NdrFcShort( 0x4 ),	/* 4 */

 /* 2898 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2900 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2900 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 2902 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2904 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2904 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

 /* 2906 */	0xe,		/* 14 */

-			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+			0x1,		/* Ext Flags:  new corr desc, */

 /* 2908 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2910 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2910 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2912 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2914 */	NdrFcShort( 0x3 ),	/* 3 */

 /* 2916 */	0x3,		/* 3 */

@@ -2909,18 +2915,19 @@
 /* 2918 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

 

 /* 2920 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2922 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 2924 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter text */

+	/* Parameter endOffset */

 

-/* 2926 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2926 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2928 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2930 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2930 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

@@ -2929,21 +2936,21 @@
 /* 2936 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure cutText */

+	/* Procedure insertText */

 

 /* 2938 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2940 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2944 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2944 */	NdrFcShort( 0x5 ),	/* 5 */

 /* 2946 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 2948 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2948 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2950 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2952 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2952 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 2954 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

 /* 2956 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2958 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2958 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 2960 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2962 */	NdrFcShort( 0x3 ),	/* 3 */

 /* 2964 */	0x3,		/* 3 */

@@ -2951,19 +2958,18 @@
 /* 2966 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter startOffset */

+	/* Parameter offset */

 

 /* 2968 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2970 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 2972 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter endOffset */

+	/* Parameter text */

 

-/* 2974 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2974 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

 /* 2976 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 2978 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 2978 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

@@ -2972,192 +2978,193 @@
 /* 2984 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure pasteText */

+	/* Procedure cutText */

 

 /* 2986 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2988 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2992 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 2994 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 2996 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2992 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2994 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2996 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 2998 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3000 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 3002 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 3004 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3006 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3008 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3010 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3012 */	0x2,		/* 2 */

+/* 3010 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3012 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 3014 */	0x81,		/* 129 */

-			0x0,		/* 0 */

+			0x82,		/* 130 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

 

 /* 3016 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3018 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 3020 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter endOffset */

 

-/* 3022 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3022 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3024 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 3026 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 3028 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3030 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3032 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pasteText */

+

+/* 3034 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3036 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3040 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 3042 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3044 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3046 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3048 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 3050 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3058 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3060 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3062 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter offset */

+

+/* 3064 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3066 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3068 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3070 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3072 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3074 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure replaceText */

 

-/* 3028 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3076 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3030 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3034 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3036 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 3038 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3040 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3042 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 3078 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3082 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3084 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3086 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3088 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3090 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3044 */	0x10,		/* 16 */

+/* 3092 */	0x10,		/* 16 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 3046 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3048 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3050 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3052 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3054 */	0x4,		/* 4 */

+/* 3094 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3096 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3100 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3102 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 3056 */	0x81,		/* 129 */

+/* 3104 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 3058 */	0x83,		/* 131 */

+/* 3106 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 3060 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3062 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3064 */	0x8,		/* FC_LONG */

+/* 3108 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3110 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3112 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 3066 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3068 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3070 */	0x8,		/* FC_LONG */

+/* 3114 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3116 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3118 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 3072 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 3074 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3076 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 3120 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3122 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3124 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

-/* 3078 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3080 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3082 */	0x8,		/* FC_LONG */

+/* 3126 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3128 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3130 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setAttributes */

 

-/* 3084 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3132 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3086 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3090 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 3092 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 3094 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3096 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3098 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 3134 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3138 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3140 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3142 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3144 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3146 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3100 */	0x10,		/* 16 */

+/* 3148 */	0x10,		/* 16 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 3102 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3104 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3106 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3108 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3110 */	0x4,		/* 4 */

+/* 3150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3152 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3156 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3158 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 3112 */	0x81,		/* 129 */

+/* 3160 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 3114 */	0x83,		/* 131 */

+/* 3162 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 3116 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3118 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3120 */	0x8,		/* FC_LONG */

+/* 3164 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3166 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3168 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 3122 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3124 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3126 */	0x8,		/* FC_LONG */

+/* 3170 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3172 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3174 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter attributes */

 

-/* 3128 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 3130 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3132 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

-

-	/* Return value */

-

-/* 3134 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3136 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3138 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_anchor */

-

-/* 3140 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3142 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3146 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 3148 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3150 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3152 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3154 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3156 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3158 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3160 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3162 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3164 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3166 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 3168 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter index */

-

-/* 3170 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3172 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3174 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter anchor */

-

-/* 3176 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 3178 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3180 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 3176 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3178 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3180 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

 /* 3182 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3184 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3184 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 3186 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_anchorTarget */

+	/* Procedure get_anchor */

 

 /* 3188 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3190 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3194 */	NdrFcShort( 0xa ),	/* 10 */

+/* 3194 */	NdrFcShort( 0x9 ),	/* 9 */

 /* 3196 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 3198 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3200 */	NdrFcShort( 0x8 ),	/* 8 */

@@ -3181,7 +3188,7 @@
 /* 3222 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter anchorTarget */

+	/* Parameter anchor */

 

 /* 3224 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

 /* 3226 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -3194,29 +3201,71 @@
 /* 3234 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_anchorTarget */

+

+/* 3236 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3238 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3242 */	NdrFcShort( 0xa ),	/* 10 */

+/* 3244 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3246 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3248 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3250 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3252 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3254 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3260 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3262 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3264 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter index */

+

+/* 3266 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3268 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3270 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter anchorTarget */

+

+/* 3272 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 3274 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3276 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+

+	/* Return value */

+

+/* 3278 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3280 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3282 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_nRows */

 

 

 	/* Procedure get_startIndex */

 

-/* 3236 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3284 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3238 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3242 */	NdrFcShort( 0xb ),	/* 11 */

-/* 3244 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3246 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3248 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3250 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3286 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3290 */	NdrFcShort( 0xb ),	/* 11 */

+/* 3292 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3296 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3298 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3252 */	0xe,		/* 14 */

+/* 3300 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3254 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3256 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3258 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3260 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3262 */	0x2,		/* 2 */

+/* 3302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3306 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3308 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3310 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 3264 */	0x81,		/* 129 */

+/* 3312 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter rowCount */

@@ -3224,9 +3273,9 @@
 

 	/* Parameter index */

 

-/* 3266 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3268 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3270 */	0x8,		/* FC_LONG */

+/* 3314 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3316 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3318 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -3234,9 +3283,9 @@
 

 	/* Return value */

 

-/* 3272 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3274 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3276 */	0x8,		/* FC_LONG */

+/* 3320 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3322 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3324 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedChildren */

@@ -3244,24 +3293,24 @@
 

 	/* Procedure get_endIndex */

 

-/* 3278 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3326 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3280 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3284 */	NdrFcShort( 0xc ),	/* 12 */

-/* 3286 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3288 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3290 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3292 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3328 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3332 */	NdrFcShort( 0xc ),	/* 12 */

+/* 3334 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3336 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3338 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3340 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3294 */	0xe,		/* 14 */

+/* 3342 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3296 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3298 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3300 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3302 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3304 */	0x2,		/* 2 */

+/* 3344 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3346 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3348 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3350 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3352 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 3306 */	0x81,		/* 129 */

+/* 3354 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter cellCount */

@@ -3269,9 +3318,9 @@
 

 	/* Parameter index */

 

-/* 3308 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3310 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3312 */	0x8,		/* FC_LONG */

+/* 3356 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3358 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3360 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -3279,135 +3328,93 @@
 

 	/* Return value */

 

-/* 3314 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3316 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3318 */	0x8,		/* FC_LONG */

+/* 3362 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3364 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3366 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_valid */

 

-/* 3320 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3368 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3322 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3326 */	NdrFcShort( 0xd ),	/* 13 */

-/* 3328 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3330 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3332 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 3334 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3370 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3374 */	NdrFcShort( 0xd ),	/* 13 */

+/* 3376 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3378 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3380 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 3382 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3336 */	0xe,		/* 14 */

+/* 3384 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3338 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3340 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3342 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3344 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3346 */	0x2,		/* 2 */

+/* 3386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3392 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3394 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 3348 */	0x81,		/* 129 */

+/* 3396 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter valid */

 

-/* 3350 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3352 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3354 */	0x3,		/* FC_SMALL */

+/* 3398 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3400 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3402 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3356 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3358 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3360 */	0x8,		/* FC_LONG */

+/* 3404 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3406 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3408 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nHyperlinks */

 

-/* 3362 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3410 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3364 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3368 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 3370 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3372 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3374 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3376 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3412 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3416 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3418 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3420 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3422 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3424 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3378 */	0xe,		/* 14 */

+/* 3426 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3380 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3382 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3384 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3386 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3388 */	0x2,		/* 2 */

+/* 3428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3432 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3434 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3436 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 3390 */	0x81,		/* 129 */

+/* 3438 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter hyperlinkCount */

 

-/* 3392 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3394 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3396 */	0x8,		/* FC_LONG */

+/* 3440 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3442 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3444 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3398 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3400 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3402 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_hyperlink */

-

-/* 3404 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3406 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3410 */	NdrFcShort( 0x17 ),	/* 23 */

-/* 3412 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3414 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3416 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3418 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3420 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3422 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3424 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3426 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3428 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3430 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 3432 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter index */

-

-/* 3434 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3436 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3438 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter hyperlink */

-

-/* 3440 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3442 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3444 */	NdrFcShort( 0x512 ),	/* Type Offset=1298 */

-

-	/* Return value */

-

 /* 3446 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3448 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3448 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 3450 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_hyperlinkIndex */

+	/* Procedure get_hyperlink */

 

 /* 3452 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3454 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3458 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 3458 */	NdrFcShort( 0x17 ),	/* 23 */

 /* 3460 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 3462 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3464 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3466 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3464 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3466 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3468 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3420,19 +3427,18 @@
 /* 3480 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter charIndex */

+	/* Parameter index */

 

 /* 3482 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3484 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 3486 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter hyperlinkIndex */

+	/* Parameter hyperlink */

 

-/* 3488 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3488 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3490 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3492 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3492 */	NdrFcShort( 0x546 ),	/* Type Offset=1350 */

 

 	/* Return value */

 

@@ -3441,20 +3447,20 @@
 /* 3498 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_hyperlinks */

+	/* Procedure get_hyperlinkIndex */

 

 /* 3500 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3502 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3506 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3506 */	NdrFcShort( 0x18 ),	/* 24 */

 /* 3508 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3510 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3512 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3514 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3514 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

 /* 3516 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3518 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3518 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3520 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3522 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3524 */	NdrFcShort( 0x3 ),	/* 3 */

@@ -3463,13 +3469,14 @@
 /* 3528 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter hyperlinks */

+	/* Parameter charIndex */

 

-/* 3530 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3530 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3532 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3534 */	NdrFcShort( 0x528 ),	/* Type Offset=1320 */

+/* 3534 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter nHyperlinks */

+	/* Parameter hyperlinkIndex */

 

 /* 3536 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3538 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -3483,31 +3490,73 @@
 /* 3546 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_hyperlinks */

+

+/* 3548 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3550 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3554 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3556 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3560 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3562 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3564 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3566 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3572 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3574 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3576 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter hyperlinks */

+

+/* 3578 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3580 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3582 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+

+	/* Parameter nHyperlinks */

+

+/* 3584 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3586 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3588 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3590 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3592 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3594 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_cellAt */

 

 

 	/* Procedure get_accessibleAt */

 

-/* 3548 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3596 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3550 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3554 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3556 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 3558 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3560 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3562 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3598 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3602 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3604 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3606 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3608 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3610 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3564 */	0x10,		/* 16 */

+/* 3612 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3566 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3568 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3570 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3572 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3574 */	0x4,		/* 4 */

+/* 3614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3618 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3620 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3622 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 3576 */	0x81,		/* 129 */

+/* 3624 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 3578 */	0x83,		/* 131 */

+/* 3626 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter row */

@@ -3515,9 +3564,9 @@
 

 	/* Parameter row */

 

-/* 3580 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3582 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3584 */	0x8,		/* FC_LONG */

+/* 3628 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3630 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3632 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

@@ -3525,9 +3574,9 @@
 

 	/* Parameter column */

 

-/* 3586 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3588 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3590 */	0x8,		/* FC_LONG */

+/* 3634 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3636 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3638 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter cell */

@@ -3535,18 +3584,18 @@
 

 	/* Parameter accessible */

 

-/* 3592 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3594 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3596 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 3640 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3642 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3644 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 

 	/* Return value */

 

-/* 3598 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3600 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3602 */	0x8,		/* FC_LONG */

+/* 3646 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3648 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3650 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_caption */

@@ -3554,24 +3603,24 @@
 

 	/* Procedure get_caption */

 

-/* 3604 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3652 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3606 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3610 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3612 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3614 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3616 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3618 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3654 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3658 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3660 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3664 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3666 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 3620 */	0xe,		/* 14 */

+/* 3668 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3622 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3624 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3626 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3628 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3630 */	0x2,		/* 2 */

+/* 3670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3672 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3676 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3678 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 3632 */	0x81,		/* 129 */

+/* 3680 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter accessible */

@@ -3579,218 +3628,176 @@
 

 	/* Parameter accessible */

 

-/* 3634 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3636 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3638 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 3682 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3684 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3686 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 

 	/* Return value */

 

-/* 3640 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3642 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3644 */	0x8,		/* FC_LONG */

+/* 3688 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3690 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3692 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_childIndex */

 

-/* 3646 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3694 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3648 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3652 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 3654 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 3656 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3658 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3660 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3696 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3700 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3702 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3704 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3706 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3708 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 3662 */	0x10,		/* 16 */

+/* 3710 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3664 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3666 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3668 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3670 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3672 */	0x4,		/* 4 */

+/* 3712 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3714 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3716 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3718 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3720 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 3674 */	0x81,		/* 129 */

+/* 3722 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 3676 */	0x83,		/* 131 */

+/* 3724 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter rowIndex */

 

-/* 3678 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3680 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3682 */	0x8,		/* FC_LONG */

+/* 3726 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3728 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3730 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnIndex */

 

-/* 3684 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3686 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3688 */	0x8,		/* FC_LONG */

+/* 3732 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3734 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3736 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter cellIndex */

 

-/* 3690 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3692 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3694 */	0x8,		/* FC_LONG */

+/* 3738 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3740 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3742 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3696 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3698 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3700 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnDescription */

-

-/* 3702 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3704 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3708 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 3710 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3712 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3714 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3716 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3718 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3720 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3722 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3724 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3726 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3728 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 3730 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter column */

-

-/* 3732 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3734 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3736 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter description */

-

-/* 3738 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 3740 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3742 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

 /* 3744 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3746 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3746 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 3748 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnExtentAt */

+	/* Procedure get_columnDescription */

 

 /* 3750 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3752 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3756 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 3758 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 3760 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3762 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3764 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

-/* 3766 */	0x10,		/* 16 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3768 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3756 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3758 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3760 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3762 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3764 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3766 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3768 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 3770 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3772 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3774 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3776 */	0x4,		/* 4 */

+/* 3774 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3776 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 3778 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 3780 */	0x83,		/* 131 */

+

+	/* Parameter column */

+

+/* 3780 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3782 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3784 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter description */

+

+/* 3786 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 3788 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3790 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+/* 3792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3794 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_columnExtentAt */

+

+/* 3798 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3804 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 3806 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3808 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3810 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3812 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 3814 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3822 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3824 */	0x4,		/* 4 */

+			0x80,		/* 128 */

+/* 3826 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 3828 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 3782 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3784 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3786 */	0x8,		/* FC_LONG */

+/* 3830 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3832 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3834 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 3788 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3790 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3792 */	0x8,		/* FC_LONG */

+/* 3836 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3838 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3840 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter nColumnsSpanned */

 

-/* 3794 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3796 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3798 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 3800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3802 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3804 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnHeader */

-

-/* 3806 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3808 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3812 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3814 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3816 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3818 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3820 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3822 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3824 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3826 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3828 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3830 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3832 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 3834 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter accessibleTable */

-

-/* 3836 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3838 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3840 */	NdrFcShort( 0x546 ),	/* Type Offset=1350 */

-

-	/* Parameter startingRowIndex */

-

 /* 3842 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3844 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3844 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

 /* 3846 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3848 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3850 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3850 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 3852 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnIndex */

+	/* Procedure get_columnHeader */

 

 /* 3854 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3856 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3860 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3860 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3862 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 3864 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3864 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3866 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3868 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3868 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3870 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3803,14 +3810,13 @@
 /* 3882 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter cellIndex */

+	/* Parameter accessibleTable */

 

-/* 3884 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3884 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3886 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3888 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3888 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

 

-	/* Parameter columnIndex */

+	/* Parameter startingRowIndex */

 

 /* 3890 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3892 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -3824,269 +3830,270 @@
 /* 3900 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_nSelectedRows */

-

-

-	/* Procedure get_nColumns */

+	/* Procedure get_columnIndex */

 

 /* 3902 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3904 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3908 */	NdrFcShort( 0xa ),	/* 10 */

-/* 3910 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3912 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3908 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3910 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3912 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3914 */	NdrFcShort( 0x24 ),	/* 36 */

 /* 3916 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 3918 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 3920 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3922 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3924 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3926 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3928 */	0x2,		/* 2 */

+/* 3926 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3928 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 3930 */	0x81,		/* 129 */

-			0x0,		/* 0 */

+			0x82,		/* 130 */

 

-	/* Parameter rowCount */

+	/* Parameter cellIndex */

 

-

-	/* Parameter columnCount */

-

-/* 3932 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3932 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3934 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 3936 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter columnIndex */

 

-

-	/* Return value */

-

-/* 3938 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3938 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3940 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 3942 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_nSelectedColumns */

-

-/* 3944 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3946 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3950 */	NdrFcShort( 0xd ),	/* 13 */

-/* 3952 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3954 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3956 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3958 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

-/* 3960 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3962 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3964 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3966 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3968 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 3970 */	0x2,		/* 2 */

-			0x80,		/* 128 */

-/* 3972 */	0x81,		/* 129 */

-			0x0,		/* 0 */

-

-	/* Parameter columnCount */

-

-/* 3974 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3976 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 3978 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

 	/* Return value */

 

-/* 3980 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3982 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 3984 */	0x8,		/* FC_LONG */

+/* 3944 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3946 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3948 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedRows */

 

-/* 3986 */	0x33,		/* FC_AUTO_HANDLE */

+

+	/* Procedure get_nColumns */

+

+/* 3950 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3988 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3992 */	NdrFcShort( 0xe ),	/* 14 */

-/* 3994 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 3996 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3998 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4000 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3952 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3956 */	NdrFcShort( 0xa ),	/* 10 */

+/* 3958 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3962 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3964 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4002 */	0xe,		/* 14 */

+/* 3966 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4004 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4006 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4008 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4010 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4012 */	0x2,		/* 2 */

+/* 3968 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3970 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3972 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3974 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3976 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4014 */	0x81,		/* 129 */

+/* 3978 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter rowCount */

 

-/* 4016 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4018 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4020 */	0x8,		/* FC_LONG */

+

+	/* Parameter columnCount */

+

+/* 3980 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3982 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3984 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4022 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4024 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+

+	/* Return value */

+

+/* 3986 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3988 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3990 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nSelectedColumns */

+

+/* 3992 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3994 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3998 */	NdrFcShort( 0xd ),	/* 13 */

+/* 4000 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4002 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4004 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4006 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 4008 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4016 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4018 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 4020 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter columnCount */

+

+/* 4022 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4024 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 4026 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowDescription */

+	/* Return value */

 

-/* 4028 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4030 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4034 */	NdrFcShort( 0xf ),	/* 15 */

-/* 4036 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4038 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4040 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4042 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 4044 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4046 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 4048 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4050 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4052 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 4054 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 4056 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter row */

-

-/* 4058 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4060 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4062 */	0x8,		/* FC_LONG */

+/* 4028 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4030 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4032 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter description */

+	/* Procedure get_nSelectedRows */

 

-/* 4064 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 4066 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4068 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 4034 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4036 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4040 */	NdrFcShort( 0xe ),	/* 14 */

+/* 4042 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4046 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4048 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 4050 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4058 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4060 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 4062 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter rowCount */

+

+/* 4064 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4066 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4068 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 4070 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4072 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4072 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 4074 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowExtentAt */

+	/* Procedure get_rowDescription */

 

 /* 4076 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4078 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4082 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 4084 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 4086 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 4088 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4090 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

-/* 4092 */	0x10,		/* 16 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4094 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4082 */	NdrFcShort( 0xf ),	/* 15 */

+/* 4084 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4086 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4088 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4090 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 4092 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 4094 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 4096 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4098 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4100 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 4102 */	0x4,		/* 4 */

+/* 4100 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 4102 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 4104 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 4106 */	0x83,		/* 131 */

+

+	/* Parameter row */

+

+/* 4106 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4108 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4110 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter description */

+

+/* 4112 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 4114 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4116 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+/* 4118 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4120 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4122 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_rowExtentAt */

+

+/* 4124 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4126 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4130 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 4132 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4134 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 4136 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4138 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 4140 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4146 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4148 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 4150 */	0x4,		/* 4 */

+			0x80,		/* 128 */

+/* 4152 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 4154 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4108 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4110 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4112 */	0x8,		/* FC_LONG */

+/* 4156 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4158 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4160 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4114 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4116 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4118 */	0x8,		/* FC_LONG */

+/* 4162 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4164 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4166 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter nRowsSpanned */

 

-/* 4120 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4122 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4124 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 4126 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4128 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4130 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_rowHeader */

-

-/* 4132 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4134 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4138 */	NdrFcShort( 0x11 ),	/* 17 */

-/* 4140 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4142 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4144 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4146 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 4148 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4150 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4152 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4154 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4156 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 4158 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 4160 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter accessibleTable */

-

-/* 4162 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 4164 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4166 */	NdrFcShort( 0x546 ),	/* Type Offset=1350 */

-

-	/* Parameter startingColumnIndex */

-

 /* 4168 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4170 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4170 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

 /* 4172 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 4174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4176 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4176 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 4178 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowIndex */

+	/* Procedure get_rowHeader */

 

 /* 4180 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4182 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4186 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 4186 */	NdrFcShort( 0x11 ),	/* 17 */

 /* 4188 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4190 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4190 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4192 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4194 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4194 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 4196 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -4099,14 +4106,13 @@
 /* 4208 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter cellIndex */

+	/* Parameter accessibleTable */

 

-/* 4210 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4210 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 4212 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4214 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 4214 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

 

-	/* Parameter rowIndex */

+	/* Parameter startingColumnIndex */

 

 /* 4216 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4218 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -4120,243 +4126,243 @@
 /* 4226 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedChildren */

+	/* Procedure get_rowIndex */

 

 /* 4228 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4230 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4234 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 4236 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4234 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 4236 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 4238 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4240 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4242 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x4,		/* 4 */

-/* 4244 */	0x10,		/* 16 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4246 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 4242 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

+/* 4244 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4246 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4248 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4250 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4252 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 4254 */	0x4,		/* 4 */

+/* 4252 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 4254 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 4256 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 4258 */	0x83,		/* 131 */

+

+	/* Parameter cellIndex */

+

+/* 4258 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4260 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4262 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter rowIndex */

+

+/* 4264 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4266 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4268 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 4270 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4272 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4274 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_selectedChildren */

+

+/* 4276 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4278 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4282 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 4284 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4286 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4288 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4290 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x4,		/* 4 */

+/* 4292 */	0x10,		/* 16 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 4294 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 4296 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4300 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 4302 */	0x4,		/* 4 */

+			0x80,		/* 128 */

+/* 4304 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 4306 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter maxChildren */

 

-/* 4260 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4262 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4264 */	0x8,		/* FC_LONG */

+/* 4308 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4310 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4312 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter children */

 

-/* 4266 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 4268 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4270 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+/* 4314 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 4316 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4318 */	NdrFcShort( 0x590 ),	/* Type Offset=1424 */

 

 	/* Parameter nChildren */

 

-/* 4272 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4274 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4276 */	0x8,		/* FC_LONG */

+/* 4320 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4322 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4324 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4278 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4280 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4282 */	0x8,		/* FC_LONG */

+/* 4326 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4328 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4330 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selectedColumns */

 

-/* 4284 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4332 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4286 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4290 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 4292 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 4294 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4296 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4298 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4334 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4338 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 4340 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4342 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4344 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4346 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 4300 */	0x10,		/* 16 */

+/* 4348 */	0x10,		/* 16 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4302 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 4304 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4306 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4308 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 4310 */	0x4,		/* 4 */

+/* 4350 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 4352 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4356 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 4358 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 4312 */	0x81,		/* 129 */

+/* 4360 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 4314 */	0x83,		/* 131 */

+/* 4362 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter maxColumns */

 

-/* 4316 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4318 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4320 */	0x8,		/* FC_LONG */

+/* 4364 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4366 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4368 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columns */

 

-/* 4322 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 4324 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4326 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+/* 4370 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 4372 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4374 */	NdrFcShort( 0x590 ),	/* Type Offset=1424 */

 

 	/* Parameter nColumns */

 

-/* 4328 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4330 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4332 */	0x8,		/* FC_LONG */

+/* 4376 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4378 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4380 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4334 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4336 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4338 */	0x8,		/* FC_LONG */

+/* 4382 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4384 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4386 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selectedRows */

 

-/* 4340 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4388 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4342 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4346 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 4348 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 4350 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4352 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4354 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4390 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4394 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 4396 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4400 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4402 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 4356 */	0x10,		/* 16 */

+/* 4404 */	0x10,		/* 16 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4358 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 4360 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4362 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4364 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 4366 */	0x4,		/* 4 */

+/* 4406 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 4408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4412 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 4414 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 4368 */	0x81,		/* 129 */

+/* 4416 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 4370 */	0x83,		/* 131 */

+/* 4418 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter maxRows */

 

-/* 4372 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4374 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4376 */	0x8,		/* FC_LONG */

+/* 4420 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4422 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4424 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rows */

 

-/* 4378 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 4380 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4382 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+/* 4426 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 4428 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4430 */	NdrFcShort( 0x590 ),	/* Type Offset=1424 */

 

 	/* Parameter nRows */

 

-/* 4384 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4386 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4388 */	0x8,		/* FC_LONG */

+/* 4432 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4434 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4436 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4390 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4392 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4394 */	0x8,		/* FC_LONG */

+/* 4438 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4440 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4442 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_summary */

 

-/* 4396 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4444 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4398 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4402 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 4404 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4406 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4408 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4410 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4446 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4450 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 4452 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4454 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4456 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4458 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4412 */	0xe,		/* 14 */

+/* 4460 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4414 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4416 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4418 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4420 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4422 */	0x2,		/* 2 */

+/* 4462 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4466 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4468 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4470 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4424 */	0x81,		/* 129 */

+/* 4472 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter accessible */

 

-/* 4426 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 4428 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4430 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

-

-	/* Return value */

-

-/* 4432 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4434 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4436 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_isColumnSelected */

-

-/* 4438 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4440 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4444 */	NdrFcShort( 0x17 ),	/* 23 */

-/* 4446 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4448 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4450 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 4452 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 4454 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4456 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4458 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4460 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4462 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 4464 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 4466 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter column */

-

-/* 4468 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4470 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4472 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter isSelected */

-

-/* 4474 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4476 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4478 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 4474 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 4476 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4478 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 /* 4480 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4482 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4482 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 4484 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isRowSelected */

+	/* Procedure get_isColumnSelected */

 

 /* 4486 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4488 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4492 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 4492 */	NdrFcShort( 0x17 ),	/* 23 */

 /* 4494 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 4496 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4498 */	NdrFcShort( 0x21 ),	/* 33 */

@@ -4373,7 +4379,7 @@
 /* 4514 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 4516 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 4518 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

@@ -4394,310 +4400,353 @@
 /* 4532 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isSelected */

+	/* Procedure get_isRowSelected */

 

 /* 4534 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4536 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4540 */	NdrFcShort( 0x19 ),	/* 25 */

-/* 4542 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 4544 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 4540 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 4542 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4544 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4546 */	NdrFcShort( 0x21 ),	/* 33 */

 /* 4548 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

-/* 4550 */	0x10,		/* 16 */

+			0x3,		/* 3 */

+/* 4550 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 4552 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4554 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4556 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4558 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 4560 */	0x4,		/* 4 */

+/* 4558 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 4560 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 4562 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 4564 */	0x83,		/* 131 */

-			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4566 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4568 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4570 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter column */

-

-/* 4572 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4574 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4576 */	0x8,		/* FC_LONG */

+/* 4564 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4566 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4568 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 4578 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4580 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4582 */	0x3,		/* FC_SMALL */

+/* 4570 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4572 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4574 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4584 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4586 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4588 */	0x8,		/* FC_LONG */

+/* 4576 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4578 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4580 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isSelected */

+

+/* 4582 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4584 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4588 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 4590 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4592 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 4594 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 4596 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 4598 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4606 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 4608 */	0x4,		/* 4 */

+			0x80,		/* 128 */

+/* 4610 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 4612 */	0x83,		/* 131 */

+			0x0,		/* 0 */

+

+	/* Parameter row */

+

+/* 4614 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4616 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4618 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter column */

+

+/* 4620 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4622 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4624 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter isSelected */

+

+/* 4626 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4628 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4630 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 4632 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4634 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4636 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectRow */

 

-/* 4590 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4638 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4592 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4596 */	NdrFcShort( 0x1a ),	/* 26 */

-/* 4598 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4600 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4602 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4604 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4640 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4644 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 4646 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4648 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4650 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4652 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4606 */	0xe,		/* 14 */

+/* 4654 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4608 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4610 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4612 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4614 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4616 */	0x2,		/* 2 */

+/* 4656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4660 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4662 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4664 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4618 */	0x81,		/* 129 */

+/* 4666 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4620 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4622 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4624 */	0x8,		/* FC_LONG */

+/* 4668 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4670 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4672 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4626 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4628 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4630 */	0x8,		/* FC_LONG */

+/* 4674 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4676 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4678 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectColumn */

 

-/* 4632 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4680 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4634 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4638 */	NdrFcShort( 0x1b ),	/* 27 */

-/* 4640 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4642 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4644 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4646 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4682 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4686 */	NdrFcShort( 0x1b ),	/* 27 */

+/* 4688 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4690 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4692 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4694 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4648 */	0xe,		/* 14 */

+/* 4696 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4650 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4652 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4654 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4656 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4658 */	0x2,		/* 2 */

+/* 4698 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4702 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4704 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4706 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4660 */	0x81,		/* 129 */

+/* 4708 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4662 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4664 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4666 */	0x8,		/* FC_LONG */

+/* 4710 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4712 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4714 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4668 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4670 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4672 */	0x8,		/* FC_LONG */

+/* 4716 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4718 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4720 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectRow */

 

-/* 4674 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4722 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4676 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4680 */	NdrFcShort( 0x1c ),	/* 28 */

-/* 4682 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4684 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4686 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4688 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4724 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4728 */	NdrFcShort( 0x1c ),	/* 28 */

+/* 4730 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4734 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4736 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4690 */	0xe,		/* 14 */

+/* 4738 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4692 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4694 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4696 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4698 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4700 */	0x2,		/* 2 */

+/* 4740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4746 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4748 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4702 */	0x81,		/* 129 */

+/* 4750 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4704 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4706 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4708 */	0x8,		/* FC_LONG */

+/* 4752 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4754 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4756 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4710 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4712 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4714 */	0x8,		/* FC_LONG */

+/* 4758 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4760 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4762 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectColumn */

 

-/* 4716 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4764 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4718 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4722 */	NdrFcShort( 0x1d ),	/* 29 */

-/* 4724 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4726 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4728 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4730 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4766 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4770 */	NdrFcShort( 0x1d ),	/* 29 */

+/* 4772 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4776 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4778 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4732 */	0xe,		/* 14 */

+/* 4780 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4734 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4736 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4738 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4740 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4742 */	0x2,		/* 2 */

+/* 4782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4786 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4788 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4790 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4744 */	0x81,		/* 129 */

+/* 4792 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4746 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4748 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4750 */	0x8,		/* FC_LONG */

+/* 4794 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4796 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4798 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4752 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4754 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4756 */	0x8,		/* FC_LONG */

+/* 4800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4802 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4804 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowColumnExtentsAtIndex */

 

-/* 4758 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4806 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4760 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4764 */	NdrFcShort( 0x1e ),	/* 30 */

-/* 4766 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

-/* 4768 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4770 */	NdrFcShort( 0x91 ),	/* 145 */

-/* 4772 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4808 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4812 */	NdrFcShort( 0x1e ),	/* 30 */

+/* 4814 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 4816 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4818 */	NdrFcShort( 0x91 ),	/* 145 */

+/* 4820 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x7,		/* 7 */

-/* 4774 */	0x12,		/* 18 */

+/* 4822 */	0x12,		/* 18 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4776 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4778 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4780 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4782 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 4784 */	0x7,		/* 7 */

+/* 4824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4828 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4830 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 4832 */	0x7,		/* 7 */

 			0x80,		/* 128 */

-/* 4786 */	0x81,		/* 129 */

+/* 4834 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 4788 */	0x83,		/* 131 */

+/* 4836 */	0x83,		/* 131 */

 			0x84,		/* 132 */

-/* 4790 */	0x85,		/* 133 */

+/* 4838 */	0x85,		/* 133 */

 			0x86,		/* 134 */

 

 	/* Parameter index */

 

-/* 4792 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4794 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4796 */	0x8,		/* FC_LONG */

+/* 4840 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4842 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4844 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4798 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4800 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4802 */	0x8,		/* FC_LONG */

+/* 4846 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4848 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4850 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4804 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4806 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4808 */	0x8,		/* FC_LONG */

+/* 4852 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4854 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4856 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rowExtents */

 

-/* 4810 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4812 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 4814 */	0x8,		/* FC_LONG */

+/* 4858 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4860 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 4862 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnExtents */

 

-/* 4816 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4818 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 4820 */	0x8,		/* FC_LONG */

+/* 4864 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4866 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 4868 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 4822 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4824 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 4826 */	0x3,		/* FC_SMALL */

+/* 4870 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4872 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 4874 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4828 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4830 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 4832 */	0x8,		/* FC_LONG */

+/* 4876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4878 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 4880 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_modelChange */

 

-/* 4834 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4882 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4836 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4840 */	NdrFcShort( 0x1f ),	/* 31 */

-/* 4842 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4844 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4846 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4848 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4888 */	NdrFcShort( 0x1f ),	/* 31 */

+/* 4890 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4896 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4850 */	0xe,		/* 14 */

+/* 4898 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4852 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4854 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4856 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4858 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4860 */	0x2,		/* 2 */

+/* 4900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4906 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4908 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4862 */	0x81,		/* 129 */

+/* 4910 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter modelChange */

 

-/* 4864 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 4866 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4868 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

+/* 4912 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 4914 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4916 */	NdrFcShort( 0x5ae ),	/* Type Offset=1454 */

 

 	/* Return value */

 

-/* 4870 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4872 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4874 */	0x8,		/* FC_LONG */

+/* 4918 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4920 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4922 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowExtent */

@@ -4705,24 +4754,24 @@
 

 	/* Procedure get_nColumns */

 

-/* 4876 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4924 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4878 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4882 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 4884 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4886 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4888 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4890 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4926 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4930 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 4932 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4936 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4938 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4892 */	0xe,		/* 14 */

+/* 4940 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4894 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4896 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4898 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4900 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4902 */	0x2,		/* 2 */

+/* 4942 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4944 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4946 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4948 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4950 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4904 */	0x81,		/* 129 */

+/* 4952 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter nRowsSpanned */

@@ -4730,9 +4779,9 @@
 

 	/* Parameter columnCount */

 

-/* 4906 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4908 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4910 */	0x8,		/* FC_LONG */

+/* 4954 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4956 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 4958 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -4740,9 +4789,9 @@
 

 	/* Return value */

 

-/* 4912 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4914 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4916 */	0x8,		/* FC_LONG */

+/* 4960 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4962 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 4964 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowIndex */

@@ -4750,24 +4799,24 @@
 

 	/* Procedure get_nSelectedCells */

 

-/* 4918 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4966 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4920 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4924 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4926 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4928 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4930 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4932 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4968 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4972 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4974 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 4976 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4978 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4980 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4934 */	0xe,		/* 14 */

+/* 4982 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4936 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4938 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4940 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4942 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4944 */	0x2,		/* 2 */

+/* 4984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4988 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4990 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 4992 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4946 */	0x81,		/* 129 */

+/* 4994 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter rowIndex */

@@ -4775,9 +4824,9 @@
 

 	/* Parameter cellCount */

 

-/* 4948 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4950 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4952 */	0x8,		/* FC_LONG */

+/* 4996 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4998 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5000 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -4785,98 +4834,56 @@
 

 	/* Return value */

 

-/* 4954 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4956 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 4958 */	0x8,		/* FC_LONG */

+/* 5002 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5004 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5006 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedColumns */

 

-/* 4960 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5008 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4962 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4966 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 4968 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 4970 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4972 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4974 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5010 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5014 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 5016 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5018 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5020 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 5022 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4976 */	0xe,		/* 14 */

+/* 5024 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4978 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4980 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4982 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4984 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 4986 */	0x2,		/* 2 */

+/* 5026 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5030 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5032 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5034 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 4988 */	0x81,		/* 129 */

+/* 5036 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter columnCount */

 

-/* 4990 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4992 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 4994 */	0x8,		/* FC_LONG */

+/* 5038 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5040 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5042 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4996 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4998 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5000 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_rowDescription */

-

-/* 5002 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5004 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5008 */	NdrFcShort( 0xb ),	/* 11 */

-/* 5010 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5012 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5014 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5016 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 5018 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5020 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 5022 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5024 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5026 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5028 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 5030 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter row */

-

-/* 5032 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5034 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5036 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter description */

-

-/* 5038 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 5040 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5042 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

 /* 5044 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5046 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5046 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 5048 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedCells */

+	/* Procedure get_rowDescription */

 

 /* 5050 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5052 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5056 */	NdrFcShort( 0xc ),	/* 12 */

+/* 5056 */	NdrFcShort( 0xb ),	/* 11 */

 /* 5058 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5060 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5062 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 5060 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5062 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 5064 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 5066 */	0xe,		/* 14 */

@@ -4890,19 +4897,19 @@
 /* 5078 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter cells */

+	/* Parameter row */

 

-/* 5080 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 5080 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 5082 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5084 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

-

-	/* Parameter nSelectedCells */

-

-/* 5086 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5088 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5090 */	0x8,		/* FC_LONG */

+/* 5084 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Parameter description */

+

+/* 5086 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5088 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5090 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

 	/* Return value */

 

 /* 5092 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

@@ -4910,12 +4917,12 @@
 /* 5096 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedColumns */

+	/* Procedure get_selectedCells */

 

 /* 5098 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5100 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5104 */	NdrFcShort( 0xd ),	/* 13 */

+/* 5104 */	NdrFcShort( 0xc ),	/* 12 */

 /* 5106 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5108 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5110 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4932,13 +4939,13 @@
 /* 5126 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter selectedColumns */

+	/* Parameter cells */

 

 /* 5128 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5130 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5132 */	NdrFcShort( 0x5a6 ),	/* Type Offset=1446 */

+/* 5132 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

-	/* Parameter nColumns */

+	/* Parameter nSelectedCells */

 

 /* 5134 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5136 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -4952,12 +4959,12 @@
 /* 5144 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedRows */

+	/* Procedure get_selectedColumns */

 

 /* 5146 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5148 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5152 */	NdrFcShort( 0xe ),	/* 14 */

+/* 5152 */	NdrFcShort( 0xd ),	/* 13 */

 /* 5154 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5156 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5158 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4974,13 +4981,13 @@
 /* 5174 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter selectedRows */

+	/* Parameter selectedColumns */

 

 /* 5176 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5178 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5180 */	NdrFcShort( 0x5a6 ),	/* Type Offset=1446 */

+/* 5180 */	NdrFcShort( 0x5da ),	/* Type Offset=1498 */

 

-	/* Parameter nRows */

+	/* Parameter nColumns */

 

 /* 5182 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5184 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -4994,90 +5001,89 @@
 /* 5192 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_summary */

+	/* Procedure get_selectedRows */

 

 /* 5194 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5196 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5200 */	NdrFcShort( 0xf ),	/* 15 */

-/* 5202 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5200 */	NdrFcShort( 0xe ),	/* 14 */

+/* 5202 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5204 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5206 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5206 */	NdrFcShort( 0x24 ),	/* 36 */

 /* 5208 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 5210 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5212 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 5212 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 5214 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5216 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5218 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5220 */	0x2,		/* 2 */

+/* 5218 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 5220 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 5222 */	0x81,		/* 129 */

-			0x0,		/* 0 */

+			0x82,		/* 130 */

 

-	/* Parameter accessible */

+	/* Parameter selectedRows */

 

-/* 5224 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5224 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5226 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5228 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 5228 */	NdrFcShort( 0x5da ),	/* Type Offset=1498 */

 

-	/* Return value */

+	/* Parameter nRows */

 

-/* 5230 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5230 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5232 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 5234 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isColumnSelected */

+	/* Return value */

 

-/* 5236 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5236 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5238 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5240 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_summary */

+

+/* 5242 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5238 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5242 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 5244 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5246 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5248 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 5250 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 5252 */	0xe,		/* 14 */

+/* 5244 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5248 */	NdrFcShort( 0xf ),	/* 15 */

+/* 5250 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5254 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5256 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 5258 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5254 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5256 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5258 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5260 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5262 */	0x3,		/* 3 */

+/* 5260 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5262 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5264 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5266 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5268 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5264 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter column */

-

-/* 5266 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5268 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5270 */	0x8,		/* FC_LONG */

+/* 5270 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

-	/* Parameter isSelected */

+	/* Parameter accessible */

 

-/* 5272 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5274 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5276 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 5272 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5274 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5276 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 /* 5278 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5280 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5280 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 5282 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isRowSelected */

+	/* Procedure get_isColumnSelected */

 

 /* 5284 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5286 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5290 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 5290 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 5292 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5294 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 5296 */	NdrFcShort( 0x21 ),	/* 33 */

@@ -5094,7 +5100,7 @@
 /* 5312 */	0x81,		/* 129 */

 			0x82,		/* 130 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 5314 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 5316 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

@@ -5115,27 +5121,27 @@
 /* 5330 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure selectRow */

+	/* Procedure get_isRowSelected */

 

 /* 5332 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5334 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5338 */	NdrFcShort( 0x12 ),	/* 18 */

-/* 5340 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5338 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 5340 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5342 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5344 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5344 */	NdrFcShort( 0x21 ),	/* 33 */

 /* 5346 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 5348 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 5350 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5352 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5354 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5356 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5358 */	0x2,		/* 2 */

+/* 5356 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 5358 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 5360 */	0x81,		/* 129 */

-			0x0,		/* 0 */

+			0x82,		/* 130 */

 

 	/* Parameter row */

 

@@ -5144,204 +5150,205 @@
 /* 5366 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter isSelected */

 

-/* 5368 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5368 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5370 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5372 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure selectColumn */

-

-/* 5374 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5376 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5380 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 5382 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5384 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5386 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5388 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

-/* 5390 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5392 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5394 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5396 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5398 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5400 */	0x2,		/* 2 */

-			0x80,		/* 128 */

-/* 5402 */	0x81,		/* 129 */

-			0x0,		/* 0 */

-

-	/* Parameter column */

-

-/* 5404 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5406 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5408 */	0x8,		/* FC_LONG */

+/* 5372 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 5410 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5412 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5414 */	0x8,		/* FC_LONG */

+/* 5374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5376 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5378 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure unselectRow */

+	/* Procedure selectRow */

 

-/* 5416 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5380 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5418 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5422 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 5424 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5426 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5428 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5430 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5386 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 5388 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5390 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5392 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5394 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 5432 */	0xe,		/* 14 */

+/* 5396 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5434 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5436 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5438 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5440 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5442 */	0x2,		/* 2 */

+/* 5398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5404 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5406 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5444 */	0x81,		/* 129 */

+/* 5408 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 5446 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5448 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5450 */	0x8,		/* FC_LONG */

+/* 5410 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5412 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5414 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 5452 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5454 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5456 */	0x8,		/* FC_LONG */

+/* 5416 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5418 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5420 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure unselectColumn */

+	/* Procedure selectColumn */

 

-/* 5458 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5422 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5460 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5464 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 5466 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5468 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5470 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5472 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5424 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5428 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 5430 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5432 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5434 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5436 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 5474 */	0xe,		/* 14 */

+/* 5438 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5476 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5478 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5480 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5482 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5484 */	0x2,		/* 2 */

+/* 5440 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5446 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5448 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5486 */	0x81,		/* 129 */

+/* 5450 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 5488 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5490 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5492 */	0x8,		/* FC_LONG */

+/* 5452 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5454 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5456 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 5494 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5496 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5458 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5460 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5462 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure unselectRow */

+

+/* 5464 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5466 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5470 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 5472 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5474 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5476 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5478 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 5480 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5482 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5488 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5490 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 5492 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter row */

+

+/* 5494 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5496 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

 /* 5498 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 5500 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5502 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5504 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure unselectColumn */

+

+/* 5506 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5508 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5512 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 5514 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5516 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5518 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5520 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 5522 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5526 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5528 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5530 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5532 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 5534 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter column */

+

+/* 5536 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5538 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5540 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 5542 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5544 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5546 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_modelChange */

 

-/* 5500 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5548 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5502 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5506 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 5508 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5510 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5512 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5514 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5550 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5554 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 5556 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5560 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5562 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5516 */	0xe,		/* 14 */

+/* 5564 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5518 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5520 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5522 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5524 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5526 */	0x2,		/* 2 */

+/* 5566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5572 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5574 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5528 */	0x81,		/* 129 */

+/* 5576 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter modelChange */

 

-/* 5530 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 5532 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5534 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

-

-	/* Return value */

-

-/* 5536 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5538 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5540 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnHeaderCells */

-

-/* 5542 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5544 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5548 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 5550 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5552 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5554 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 5556 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 5558 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5560 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 5562 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5564 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5566 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5568 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 5570 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter cellAccessibles */

-

-/* 5572 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 5574 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5576 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

-

-	/* Parameter nColumnHeaderCells */

-

-/* 5578 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5580 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5582 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 5578 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 5580 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5582 */	NdrFcShort( 0x5ae ),	/* Type Offset=1454 */

 

 	/* Return value */

 

 /* 5584 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5586 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5586 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 5588 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowHeaderCells */

+	/* Procedure get_columnHeaderCells */

 

 /* 5590 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5592 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5596 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 5596 */	NdrFcShort( 0x4 ),	/* 4 */

 /* 5598 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5600 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5602 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -5362,9 +5369,9 @@
 

 /* 5620 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5622 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5624 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

+/* 5624 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

-	/* Parameter nRowHeaderCells */

+	/* Parameter nColumnHeaderCells */

 

 /* 5626 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5628 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

@@ -5378,343 +5385,385 @@
 /* 5636 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isSelected */

+	/* Procedure get_rowHeaderCells */

 

 /* 5638 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5640 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5644 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 5646 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5644 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 5646 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5648 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5650 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 5652 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+/* 5650 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 5652 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 5654 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5656 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 5656 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 5658 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5660 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5662 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5664 */	0x2,		/* 2 */

+/* 5662 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 5664 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 5666 */	0x81,		/* 129 */

-			0x0,		/* 0 */

+			0x82,		/* 130 */

 

-	/* Parameter isSelected */

+	/* Parameter cellAccessibles */

 

-/* 5668 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5668 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5670 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5672 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 5672 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

-	/* Return value */

+	/* Parameter nRowHeaderCells */

 

-/* 5674 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5674 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5676 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 5678 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowColumnExtents */

+	/* Return value */

 

-/* 5680 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5680 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5682 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5684 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isSelected */

+

+/* 5686 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5682 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5686 */	NdrFcShort( 0xa ),	/* 10 */

-/* 5688 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

-/* 5690 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5692 */	NdrFcShort( 0x91 ),	/* 145 */

-/* 5694 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x6,		/* 6 */

-/* 5696 */	0x12,		/* 18 */

+/* 5688 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5692 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 5694 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5698 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 5700 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 5702 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5698 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5700 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5702 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5704 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5706 */	0x6,		/* 6 */

+/* 5704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5710 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5712 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5708 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-/* 5710 */	0x83,		/* 131 */

-			0x84,		/* 132 */

-/* 5712 */	0x85,		/* 133 */

-			0x0,		/* 0 */

-

-	/* Parameter row */

-

-/* 5714 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5716 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5718 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter column */

-

-/* 5720 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5722 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5724 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter rowExtents */

-

-/* 5726 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5728 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5730 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter columnExtents */

-

-/* 5732 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5734 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5736 */	0x8,		/* FC_LONG */

+/* 5714 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 5738 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5740 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 5742 */	0x3,		/* FC_SMALL */

+/* 5716 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5718 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5720 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 5744 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5746 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

-/* 5748 */	0x8,		/* FC_LONG */

+/* 5722 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5724 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5726 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_rowColumnExtents */

+

+/* 5728 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5730 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5734 */	NdrFcShort( 0xa ),	/* 10 */

+/* 5736 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 5738 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5740 */	NdrFcShort( 0x91 ),	/* 145 */

+/* 5742 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x6,		/* 6 */

+/* 5744 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5748 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5750 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5752 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5754 */	0x6,		/* 6 */

+			0x80,		/* 128 */

+/* 5756 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 5758 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 5760 */	0x85,		/* 133 */

+			0x0,		/* 0 */

+

+	/* Parameter row */

+

+/* 5762 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5764 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5766 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter column */

+

+/* 5768 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5770 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5772 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter rowExtents */

+

+/* 5774 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5776 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5778 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter columnExtents */

+

+/* 5780 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5782 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 5784 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter isSelected */

+

+/* 5786 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5788 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 5790 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 5792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5794 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 5796 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_table */

 

-/* 5750 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5798 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5752 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5756 */	NdrFcShort( 0xb ),	/* 11 */

-/* 5758 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5760 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5762 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5764 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5804 */	NdrFcShort( 0xb ),	/* 11 */

+/* 5806 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5810 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5812 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5766 */	0xe,		/* 14 */

+/* 5814 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5768 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5770 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5772 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5774 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5776 */	0x2,		/* 2 */

+/* 5816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5822 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5824 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5778 */	0x81,		/* 129 */

+/* 5826 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter table */

 

-/* 5780 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 5782 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5784 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 5828 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5830 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5832 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

-/* 5786 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5788 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5790 */	0x8,		/* FC_LONG */

+/* 5834 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5836 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5838 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_imagePosition */

 

-/* 5792 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5840 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5794 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5798 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 5800 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

-/* 5802 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5804 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 5806 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5842 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5846 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 5848 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 5850 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5852 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 5854 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 5808 */	0x10,		/* 16 */

+/* 5856 */	0x10,		/* 16 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5810 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5812 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5814 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5816 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 5818 */	0x4,		/* 4 */

+/* 5858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5860 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5864 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 5866 */	0x4,		/* 4 */

 			0x80,		/* 128 */

-/* 5820 */	0x81,		/* 129 */

+/* 5868 */	0x81,		/* 129 */

 			0x82,		/* 130 */

-/* 5822 */	0x83,		/* 131 */

+/* 5870 */	0x83,		/* 131 */

 			0x0,		/* 0 */

 

 	/* Parameter coordinateType */

 

-/* 5824 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5826 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5828 */	0xd,		/* FC_ENUM16 */

+/* 5872 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5874 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5876 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 5830 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5832 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5834 */	0x8,		/* FC_LONG */

+/* 5878 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5880 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5882 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 5836 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5838 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5840 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 5842 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5844 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5846 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_imageSize */

-

-/* 5848 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5850 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5854 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 5856 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

-/* 5858 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5860 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 5862 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 5864 */	0xe,		/* 14 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5866 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5868 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5870 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5872 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5874 */	0x3,		/* 3 */

-			0x80,		/* 128 */

-/* 5876 */	0x81,		/* 129 */

-			0x82,		/* 130 */

-

-	/* Parameter height */

-

-/* 5878 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5880 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5882 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter width */

-

 /* 5884 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5886 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5886 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

 /* 5888 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 5890 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5892 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5892 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5894 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_toolkitName */

+	/* Procedure get_imageSize */

 

 /* 5896 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5898 */	NdrFcLong( 0x0 ),	/* 0 */

 /* 5902 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 5904 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5904 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

 /* 5906 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5908 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5910 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x2,		/* 2 */

+/* 5908 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 5910 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 5912 */	0xe,		/* 14 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5914 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5914 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5916 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5918 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5920 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5922 */	0x2,		/* 2 */

+/* 5920 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 5922 */	0x3,		/* 3 */

 			0x80,		/* 128 */

 /* 5924 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter height */

+

+/* 5926 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5928 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5930 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter name */

+	/* Parameter width */

 

-/* 5926 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 5928 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5930 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

-/* 5932 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5932 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5934 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

 /* 5936 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 5938 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5940 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5942 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_toolkitName */

+

+/* 5944 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5946 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5950 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 5952 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5954 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5956 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5958 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 5960 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 5962 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 5964 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5966 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5968 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 5970 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 5972 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter name */

+

+/* 5974 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5976 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 5978 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+/* 5980 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5982 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 5984 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_toolkitVersion */

 

-/* 5938 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5986 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5940 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5944 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5946 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5948 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5950 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5952 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5988 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5992 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5994 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 5996 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5998 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 6000 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5954 */	0xe,		/* 14 */

+/* 6002 */	0xe,		/* 14 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5956 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 5958 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5960 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5962 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 5964 */	0x2,		/* 2 */

+/* 6004 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 6006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 6008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 6010 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 6012 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 5966 */	0x81,		/* 129 */

+/* 6014 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter version */

 

-/* 5968 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 5970 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 5972 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 6016 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 6018 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 6020 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 5974 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5976 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 5978 */	0x8,		/* FC_LONG */

+/* 6022 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 6024 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 6026 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_anchorTarget */

 

-/* 5980 */	0x33,		/* FC_AUTO_HANDLE */

+/* 6028 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5982 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5986 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5988 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 5990 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5992 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5994 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 6030 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 6034 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 6036 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 6038 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 6040 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 6042 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5996 */	0xe,		/* 14 */

+/* 6044 */	0xe,		/* 14 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5998 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 6000 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 6002 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 6004 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 6006 */	0x2,		/* 2 */

+/* 6046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 6048 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 6050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 6052 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 6054 */	0x2,		/* 2 */

 			0x80,		/* 128 */

-/* 6008 */	0x81,		/* 129 */

+/* 6056 */	0x81,		/* 129 */

 			0x0,		/* 0 */

 

 	/* Parameter accessible */

 

-/* 6010 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 6012 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 6014 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 6058 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 6060 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 6062 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

-/* 6016 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 6018 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 6020 */	0x8,		/* FC_LONG */

+/* 6064 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 6066 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 6068 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 			0x0

@@ -6546,95 +6595,96 @@
 /* 1250 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

 /* 1252 */	

-			0x11, 0x0,	/* FC_RP */

-/* 1254 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1260) */

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1254 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1256) */

 /* 1256 */	

-			0x12, 0x0,	/* FC_UP */

-/* 1258 */	NdrFcShort( 0xffbe ),	/* Offset= -66 (1192) */

-/* 1260 */	0xb4,		/* FC_USER_MARSHAL */

-			0x83,		/* 131 */

-/* 1262 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1264 */	NdrFcShort( 0x18 ),	/* 24 */

-/* 1266 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1268 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1256) */

-/* 1270 */	

-			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

-/* 1272 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1274) */

-/* 1274 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1258 */	NdrFcShort( 0x18 ),	/* Offset= 24 (1282) */

+/* 1260 */	

 			0x1a,		/* FC_BOGUS_STRUCT */

 			0x3,		/* 3 */

-/* 1276 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1278 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1280 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1280) */

-/* 1282 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1262 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1264 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1266 */	NdrFcShort( 0x10 ),	/* Offset= 16 (1282) */

+/* 1268 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1284 */	NdrFcShort( 0xfb1c ),	/* Offset= -1252 (32) */

-/* 1286 */	0x8,		/* FC_LONG */

-			0x8,		/* FC_LONG */

-/* 1288 */	0x5c,		/* FC_PAD */

+/* 1270 */	NdrFcShort( 0xfb3c ),	/* Offset= -1220 (50) */

+/* 1272 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 1274 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1276 */	NdrFcShort( 0xfb36 ),	/* Offset= -1226 (50) */

+/* 1278 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 1280 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1290 */	

-			0x11, 0x0,	/* FC_RP */

-/* 1292 */	NdrFcShort( 0xfc02 ),	/* Offset= -1022 (270) */

-/* 1294 */	

-			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

-/* 1296 */	0x3,		/* FC_SMALL */

-			0x5c,		/* FC_PAD */

-/* 1298 */	

-			0x11, 0x10,	/* FC_RP [pointer_deref] */

-/* 1300 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1302) */

-/* 1302 */	

-			0x2f,		/* FC_IP */

-			0x5a,		/* FC_CONSTANT_IID */

-/* 1304 */	NdrFcLong( 0x1c20f2b ),	/* 29495083 */

-/* 1308 */	NdrFcShort( 0x3dd2 ),	/* 15826 */

-/* 1310 */	NdrFcShort( 0x400f ),	/* 16399 */

-/* 1312 */	0x94,		/* 148 */

-			0x9f,		/* 159 */

-/* 1314 */	0xad,		/* 173 */

-			0x0,		/* 0 */

-/* 1316 */	0xbd,		/* 189 */

-			0xab,		/* 171 */

-/* 1318 */	0x1d,		/* 29 */

-			0x41,		/* 65 */

-/* 1320 */	

-			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1322 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1324) */

-/* 1324 */	

-			0x13, 0x0,	/* FC_OP */

-/* 1326 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1328) */

-/* 1328 */	

+/* 1282 */	

 			0x21,		/* FC_BOGUS_ARRAY */

 			0x3,		/* 3 */

-/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1332 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1286 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1334 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1336 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1338 */	NdrFcLong( 0xffffffff ),	/* -1 */

-/* 1342 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1344 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1288 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1290 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1292 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1296 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1298 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1346 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (1302) */

-/* 1348 */	0x5c,		/* FC_PAD */

+/* 1300 */	NdrFcShort( 0xffd8 ),	/* Offset= -40 (1260) */

+/* 1302 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

+/* 1304 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1306 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1312) */

+/* 1308 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1310 */	NdrFcShort( 0xff8a ),	/* Offset= -118 (1192) */

+/* 1312 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1314 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1316 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1320 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1308) */

+/* 1322 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 1324 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1326) */

+/* 1326 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1328 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1332) */

+/* 1334 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1336 */	NdrFcShort( 0xfae8 ),	/* Offset= -1304 (32) */

+/* 1338 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1340 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1342 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1344 */	NdrFcShort( 0xfbce ),	/* Offset= -1074 (270) */

+/* 1346 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1348 */	0x3,		/* FC_SMALL */

+			0x5c,		/* FC_PAD */

 /* 1350 */	

 			0x11, 0x10,	/* FC_RP [pointer_deref] */

 /* 1352 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1354) */

 /* 1354 */	

 			0x2f,		/* FC_IP */

 			0x5a,		/* FC_CONSTANT_IID */

-/* 1356 */	NdrFcLong( 0x35ad8070 ),	/* 900563056 */

-/* 1360 */	NdrFcShort( 0xc20c ),	/* -15860 */

-/* 1362 */	NdrFcShort( 0x4fb4 ),	/* 20404 */

-/* 1364 */	0xb0,		/* 176 */

-			0x94,		/* 148 */

-/* 1366 */	0xf4,		/* 244 */

-			0xf7,		/* 247 */

-/* 1368 */	0x27,		/* 39 */

-			0x5d,		/* 93 */

-/* 1370 */	0xd4,		/* 212 */

-			0x69,		/* 105 */

+/* 1356 */	NdrFcLong( 0x1c20f2b ),	/* 29495083 */

+/* 1360 */	NdrFcShort( 0x3dd2 ),	/* 15826 */

+/* 1362 */	NdrFcShort( 0x400f ),	/* 16399 */

+/* 1364 */	0x94,		/* 148 */

+			0x9f,		/* 159 */

+/* 1366 */	0xad,		/* 173 */

+			0x0,		/* 0 */

+/* 1368 */	0xbd,		/* 189 */

+			0xab,		/* 171 */

+/* 1370 */	0x1d,		/* 29 */

+			0x41,		/* 65 */

 /* 1372 */	

 			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

 /* 1374 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1376) */

@@ -6642,70 +6692,108 @@
 			0x13, 0x0,	/* FC_OP */

 /* 1378 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1380) */

 /* 1380 */	

-			0x1c,		/* FC_CVARRAY */

-			0x3,		/* 3 */

-/* 1382 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1384 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x0,		/*  */

-/* 1386 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

-/* 1388 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

-/* 1390 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x54,		/* FC_DEREFERENCE */

-/* 1392 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

-/* 1394 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1396 */	0x8,		/* FC_LONG */

-			0x5b,		/* FC_END */

-/* 1398 */	

-			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

-/* 1400 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1402) */

-/* 1402 */	

-			0x1a,		/* FC_BOGUS_STRUCT */

-			0x3,		/* 3 */

-/* 1404 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 1406 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1408 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1408) */

-/* 1410 */	0xd,		/* FC_ENUM16 */

-			0x8,		/* FC_LONG */

-/* 1412 */	0x8,		/* FC_LONG */

-			0x8,		/* FC_LONG */

-/* 1414 */	0x8,		/* FC_LONG */

-			0x5b,		/* FC_END */

-/* 1416 */	

-			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1418 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1420) */

-/* 1420 */	

-			0x13, 0x0,	/* FC_OP */

-/* 1422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1424) */

-/* 1424 */	

 			0x21,		/* FC_BOGUS_ARRAY */

 			0x3,		/* 3 */

-/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1428 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1382 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1384 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1430 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1432 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1434 */	NdrFcLong( 0xffffffff ),	/* -1 */

-/* 1438 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1440 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1386 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1388 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1390 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1394 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1396 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1442 */	NdrFcShort( 0xfa90 ),	/* Offset= -1392 (50) */

-/* 1444 */	0x5c,		/* FC_PAD */

+/* 1398 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (1354) */

+/* 1400 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1446 */	

+/* 1402 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1404 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1406) */

+/* 1406 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1408 */	NdrFcLong( 0x35ad8070 ),	/* 900563056 */

+/* 1412 */	NdrFcShort( 0xc20c ),	/* -15860 */

+/* 1414 */	NdrFcShort( 0x4fb4 ),	/* 20404 */

+/* 1416 */	0xb0,		/* 176 */

+			0x94,		/* 148 */

+/* 1418 */	0xf4,		/* 244 */

+			0xf7,		/* 247 */

+/* 1420 */	0x27,		/* 39 */

+			0x5d,		/* 93 */

+/* 1422 */	0xd4,		/* 212 */

+			0x69,		/* 105 */

+/* 1424 */	

 			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1448 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1450) */

-/* 1450 */	

+/* 1426 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1428) */

+/* 1428 */	

 			0x13, 0x0,	/* FC_OP */

+/* 1430 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1432) */

+/* 1432 */	

+			0x1c,		/* FC_CVARRAY */

+			0x3,		/* 3 */

+/* 1434 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1436 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x0,		/*  */

+/* 1438 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1440 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 1442 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1444 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1446 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1448 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 1450 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

 /* 1452 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1454) */

 /* 1454 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1456 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1460 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1460) */

+/* 1462 */	0xd,		/* FC_ENUM16 */

+			0x8,		/* FC_LONG */

+/* 1464 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1466 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 1468 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1470 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1472) */

+/* 1472 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1474 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1476) */

+/* 1476 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1480 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1482 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1484 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1486 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1490 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1492 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1494 */	NdrFcShort( 0xfa5c ),	/* Offset= -1444 (50) */

+/* 1496 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1498 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1500 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1502) */

+/* 1502 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1504 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1506) */

+/* 1506 */	

 			0x1b,		/* FC_CARRAY */

 			0x3,		/* 3 */

-/* 1456 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1458 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1508 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1510 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1460 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

-/* 1462 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1464 */	0x8,		/* FC_LONG */

+/* 1512 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1514 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1516 */	0x8,		/* FC_LONG */

 			0x5b,		/* FC_END */

 

 			0x0

@@ -7257,14 +7345,212 @@
    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

+/* Object interface: IAccessible2_3, ver. 0.0,

+   GUID={0x5BE18059,0x762E,0x4E73,{0x94,0x76,0xAB,0xA2,0x94,0xFE,0xD4,0x11}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAccessible2_3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    520,

+    562,

+    610,

+    666,

+    708,

+    750,

+    806,

+    862,

+    904,

+    946,

+    988,

+    1030,

+    1086,

+    1142,

+    1184,

+    1226,

+    1268,

+    1310,

+    1352,

+    1400,

+    1448,

+    1510

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    ia2_api_all__MIDL_ProcFormatString.Format,

+    &IAccessible2_3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAccessible2_3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    ia2_api_all__MIDL_ProcFormatString.Format,

+    &IAccessible2_3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(50) _IAccessible2_3ProxyVtbl = 

+{

+    &IAccessible2_3_ProxyInfo,

+    &IID_IAccessible2_3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    0 /* IAccessible::get_accParent */ ,

+    0 /* IAccessible::get_accChildCount */ ,

+    0 /* IAccessible::get_accChild */ ,

+    0 /* IAccessible::get_accName */ ,

+    0 /* IAccessible::get_accValue */ ,

+    0 /* IAccessible::get_accDescription */ ,

+    0 /* IAccessible::get_accRole */ ,

+    0 /* IAccessible::get_accState */ ,

+    0 /* IAccessible::get_accHelp */ ,

+    0 /* IAccessible::get_accHelpTopic */ ,

+    0 /* IAccessible::get_accKeyboardShortcut */ ,

+    0 /* IAccessible::get_accFocus */ ,

+    0 /* IAccessible::get_accSelection */ ,

+    0 /* IAccessible::get_accDefaultAction */ ,

+    0 /* IAccessible::accSelect */ ,

+    0 /* IAccessible::accLocation */ ,

+    0 /* IAccessible::accNavigate */ ,

+    0 /* IAccessible::accHitTest */ ,

+    0 /* IAccessible::accDoDefaultAction */ ,

+    0 /* IAccessible::put_accName */ ,

+    0 /* IAccessible::put_accValue */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::role */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_3::get_selectionRanges */

+};

+

+

+static const PRPC_STUB_FUNCTION IAccessible2_3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAccessible2_3StubVtbl =

+{

+    &IID_IAccessible2_3,

+    &IAccessible2_3_ServerInfo,

+    50,

+    &IAccessible2_3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0005, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

 /* Object interface: IAccessibleComponent, ver. 0.0,

    GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */

 

 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =

     {

-    1510,

     1558,

+    1606,

     84

     };

 

@@ -7317,10 +7603,10 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =

     {

-    1600,

-    1642,

-    1684,

-    1726

+    1648,

+    1690,

+    1732,

+    1774

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =

@@ -7367,7 +7653,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0007, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

@@ -7377,25 +7663,25 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleText_FormatStringOffsetTable[] =

     {

-    1768,

     1816,

+    1864,

     84,

-    1878,

-    1954,

-    1996,

-    2058,

-    2114,

-    2170,

-    2240,

-    2310,

-    2380,

-    2422,

-    2464,

-    2520,

-    2562,

-    2618,

-    2688,

-    2730

+    1926,

+    2002,

+    2044,

+    2106,

+    2162,

+    2218,

+    2288,

+    2358,

+    2428,

+    2470,

+    2512,

+    2568,

+    2610,

+    2666,

+    2736,

+    2778

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =

@@ -7463,26 +7749,26 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleText2_FormatStringOffsetTable[] =

     {

-    1768,

     1816,

+    1864,

     84,

-    1878,

-    1954,

-    1996,

-    2058,

-    2114,

-    2170,

-    2240,

-    2310,

-    2380,

-    2422,

-    2464,

-    2520,

-    2562,

-    2618,

-    2688,

-    2730,

-    2772

+    1926,

+    2002,

+    2044,

+    2106,

+    2162,

+    2218,

+    2288,

+    2358,

+    2428,

+    2470,

+    2512,

+    2568,

+    2610,

+    2666,

+    2736,

+    2778,

+    2820

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo =

@@ -7551,13 +7837,13 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =

     {

-    1768,

-    2842,

+    1816,

     2890,

     2938,

     2986,

-    3028,

-    3084

+    3034,

+    3076,

+    3132

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =

@@ -7619,11 +7905,11 @@
     362,

     424,

     472,

-    3140,

     3188,

     3236,

-    3278,

-    3320

+    3284,

+    3326,

+    3368

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =

@@ -7683,28 +7969,28 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =

     {

-    1768,

     1816,

+    1864,

     84,

-    1878,

-    1954,

-    1996,

-    2058,

-    2114,

-    2170,

-    2240,

-    2310,

-    2380,

-    2422,

-    2464,

-    2520,

-    2562,

-    2618,

-    2688,

-    2730,

-    3362,

-    3404,

-    3452

+    1926,

+    2002,

+    2044,

+    2106,

+    2162,

+    2218,

+    2288,

+    2358,

+    2428,

+    2470,

+    2512,

+    2568,

+    2610,

+    2666,

+    2736,

+    2778,

+    3410,

+    3452,

+    3500

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =

@@ -7775,29 +8061,29 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] =

     {

-    1768,

     1816,

+    1864,

     84,

-    1878,

-    1954,

-    1996,

-    2058,

-    2114,

-    2170,

-    2240,

-    2310,

-    2380,

-    2422,

-    2464,

-    2520,

-    2562,

-    2618,

-    2688,

-    2730,

-    3362,

-    3404,

+    1926,

+    2002,

+    2044,

+    2106,

+    2162,

+    2218,

+    2288,

+    2358,

+    2428,

+    2470,

+    2512,

+    2568,

+    2610,

+    2666,

+    2736,

+    2778,

+    3410,

     3452,

-    3500

+    3500,

+    3548

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo =

@@ -7869,35 +8155,35 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =

     {

-    3548,

-    3604,

-    3646,

-    3702,

+    3596,

+    3652,

+    3694,

     3750,

-    3806,

+    3798,

     3854,

     3902,

-    3236,

-    3278,

-    3944,

-    3986,

-    4028,

+    3950,

+    3284,

+    3326,

+    3992,

+    4034,

     4076,

-    4132,

+    4124,

     4180,

     4228,

-    4284,

-    4340,

-    4396,

-    4438,

+    4276,

+    4332,

+    4388,

+    4444,

     4486,

     4534,

-    4590,

-    4632,

-    4674,

-    4716,

-    4758,

-    4834

+    4582,

+    4638,

+    4680,

+    4722,

+    4764,

+    4806,

+    4882

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =

@@ -7975,26 +8261,26 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =

     {

-    3548,

-    3604,

+    3596,

+    3652,

     314,

-    4876,

-    1954,

-    4918,

-    4960,

-    3902,

-    5002,

+    4924,

+    2002,

+    4966,

+    5008,

+    3950,

     5050,

     5098,

     5146,

     5194,

-    5236,

+    5242,

     5284,

     5332,

-    5374,

-    5416,

-    5458,

-    5500

+    5380,

+    5422,

+    5464,

+    5506,

+    5548

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =

@@ -8064,14 +8350,14 @@
 static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =

     {

     230,

-    5542,

-    84,

-    4876,

     5590,

-    4918,

+    84,

+    4924,

     5638,

-    5680,

-    5750

+    4966,

+    5686,

+    5728,

+    5798

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =

@@ -8130,8 +8416,8 @@
 static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =

     {

     0,

-    5792,

-    5848

+    5840,

+    5896

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =

@@ -8177,7 +8463,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0017, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

@@ -8189,8 +8475,8 @@
     {

     0,

     42,

-    5896,

-    5938

+    5944,

+    5986

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =

@@ -8243,7 +8529,7 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] =

     {

-    5980

+    6028

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo =

@@ -8287,7 +8573,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0019, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 static const MIDL_STUB_DESC Object_StubDesc = 

@@ -8318,6 +8604,7 @@
 {

     ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAccessible2_3ProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,

@@ -8341,6 +8628,7 @@
 {

     ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAccessible2_3StubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,

@@ -8364,6 +8652,7 @@
 {

     "IAccessibleHyperlink",

     "IAccessibleImage",

+    "IAccessible2_3",

     "IAccessibleAction",

     "IAccessibleValue",

     "IAccessible2",

@@ -8387,6 +8676,7 @@
 {

     0,

     0,

+    &IID_IAccessible,

     0,

     0,

     &IID_IAccessible,

@@ -8413,12 +8703,12 @@
 {

     IID_BS_LOOKUP_SETUP

 

-    IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 )

+    IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 19, 16 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 )

-    IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex )

+    IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 19, *pIndex )

     

 }

 

@@ -8429,7 +8719,7 @@
     (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList,

     (const IID ** ) & _ia2_api_all_BaseIIDList,

     & _ia2_api_all_IID_Lookup, 

-    18,

+    19,

     2,

     0, /* table of [async_uuid] interfaces */

     0, /* Filler1 */

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.h b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.h
index 0be70deeb..824482e5 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.h
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.h
@@ -73,6 +73,13 @@
 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */

 

 

+#ifndef __IAccessible2_3_FWD_DEFINED__

+#define __IAccessible2_3_FWD_DEFINED__

+typedef interface IAccessible2_3 IAccessible2_3;

+

+#endif 	/* __IAccessible2_3_FWD_DEFINED__ */

+

+

 #ifndef __IAccessibleComponent_FWD_DEFINED__

 #define __IAccessibleComponent_FWD_DEFINED__

 typedef interface IAccessibleComponent IAccessibleComponent;

@@ -185,6 +192,13 @@
 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */

 

 

+#ifndef __IAccessible2_3_FWD_DEFINED__

+#define __IAccessible2_3_FWD_DEFINED__

+typedef interface IAccessible2_3 IAccessible2_3;

+

+#endif 	/* __IAccessible2_3_FWD_DEFINED__ */

+

+

 #ifndef __IAccessibleAction_FWD_DEFINED__

 #define __IAccessibleAction_FWD_DEFINED__

 typedef interface IAccessibleAction IAccessibleAction;

@@ -395,6 +409,14 @@
 

 #define	IA2_RELATION_SUBWINDOW_OF	( L"subwindowOf" )

 

+#define	IA2_RELATION_DETAILS	( L"details" )

+

+#define	IA2_RELATION_DETAILS_FOR	( L"detailsFor" )

+

+#define	IA2_RELATION_ERROR	( L"error" )

+

+#define	IA2_RELATION_ERROR_FOR	( L"errorFor" )

+

 

 

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec;

@@ -737,7 +759,8 @@
         IA2_ROLE_LANDMARK	= ( IA2_ROLE_COMPLEMENTARY_CONTENT + 1 ) ,

         IA2_ROLE_LEVEL_BAR	= ( IA2_ROLE_LANDMARK + 1 ) ,

         IA2_ROLE_CONTENT_DELETION	= ( IA2_ROLE_LEVEL_BAR + 1 ) ,

-        IA2_ROLE_CONTENT_INSERTION	= ( IA2_ROLE_CONTENT_DELETION + 1 ) 

+        IA2_ROLE_CONTENT_INSERTION	= ( IA2_ROLE_CONTENT_DELETION + 1 ) ,

+        IA2_ROLE_BLOCK_QUOTE	= ( IA2_ROLE_CONTENT_INSERTION + 1 ) 

     } ;

 typedef long AccessibleStates;

 

@@ -1740,13 +1763,496 @@
 /* interface __MIDL_itf_ia2_api_all_0000_0004 */

 /* [local] */ 

 

-typedef long IA2Color;

+typedef struct IA2Range

+    {

+    IUnknown *anchor;

+    long anchorOffset;

+    IUnknown *active;

+    long activeOffset;

+    } 	IA2Range;

 

 

 

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec;

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec;

 

+#ifndef __IAccessible2_3_INTERFACE_DEFINED__

+#define __IAccessible2_3_INTERFACE_DEFINED__

+

+/* interface IAccessible2_3 */

+/* [uuid][object] */ 

+

+

+EXTERN_C const IID IID_IAccessible2_3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("5BE18059-762E-4E73-9476-ABA294FED411")

+    IAccessible2_3 : public IAccessible2_2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectionRanges( 

+            /* [size_is][size_is][out] */ IA2Range **ranges,

+            /* [retval][out] */ long *nRanges) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAccessible2_3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAccessible2_3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAccessible2_3 * This);

+        

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAccessible2_3 * This);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAccessible2_3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAccessible2_3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAccessible2_3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAccessible2_3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ IDispatch **ppdispParent);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *pcountChildren);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 

+            IAccessible2_3 * This,

+            /* [in] */ VARIANT varChild,

+            /* [retval][out] */ IDispatch **ppdispChild);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszName);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszValue);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszDescription);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ VARIANT *pvarRole);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ VARIANT *pvarState);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszHelp);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 

+            IAccessible2_3 * This,

+            /* [out] */ BSTR *pszHelpFile,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ long *pidTopic);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszKeyboardShortcut);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ VARIANT *pvarChild);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ VARIANT *pvarChildren);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszDefaultAction);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 

+            IAccessible2_3 * This,

+            /* [in] */ long flagsSelect,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 

+            IAccessible2_3 * This,

+            /* [out] */ long *pxLeft,

+            /* [out] */ long *pyTop,

+            /* [out] */ long *pcxWidth,

+            /* [out] */ long *pcyHeight,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 

+            IAccessible2_3 * This,

+            /* [in] */ long navDir,

+            /* [optional][in] */ VARIANT varStart,

+            /* [retval][out] */ VARIANT *pvarEndUpAt);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 

+            IAccessible2_3 * This,

+            /* [in] */ long xLeft,

+            /* [in] */ long yTop,

+            /* [retval][out] */ VARIANT *pvarChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [in] */ BSTR szName);

+        

+        /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [in] */ BSTR szValue);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *nRelations);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( 

+            IAccessible2_3 * This,

+            /* [in] */ long relationIndex,

+            /* [retval][out] */ IAccessibleRelation **relation);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxRelations,

+            /* [length_is][size_is][out] */ IAccessibleRelation **relations,

+            /* [retval][out] */ long *nRelations);

+        

+        HRESULT ( STDMETHODCALLTYPE *role )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *role);

+        

+        HRESULT ( STDMETHODCALLTYPE *scrollTo )( 

+            IAccessible2_3 * This,

+            /* [in] */ enum IA2ScrollType scrollType);

+        

+        HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( 

+            IAccessible2_3 * This,

+            /* [in] */ enum IA2CoordinateType coordinateType,

+            /* [in] */ long x,

+            /* [in] */ long y);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( 

+            IAccessible2_3 * This,

+            /* [out] */ long *groupLevel,

+            /* [out] */ long *similarItemsInGroup,

+            /* [retval][out] */ long *positionInGroup);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ AccessibleStates *states);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *extendedRole);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *localizedExtendedRole);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *nExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxExtendedStates,

+            /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,

+            /* [retval][out] */ long *nExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxLocalizedExtendedStates,

+            /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,

+            /* [retval][out] */ long *nLocalizedExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *uniqueID);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ HWND *windowHandle);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *indexInParent);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ IA2Locale *locale);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *attributes);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )( 

+            IAccessible2_3 * This,

+            /* [in] */ BSTR name,

+            /* [retval][out] */ VARIANT *attribute);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )( 

+            IAccessible2_3 * This,

+            /* [out] */ IUnknown **accessible,

+            /* [retval][out] */ long *caretOffset);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )( 

+            IAccessible2_3 * This,

+            /* [in] */ BSTR type,

+            /* [in] */ long maxTargets,

+            /* [size_is][size_is][out] */ IUnknown ***targets,

+            /* [retval][out] */ long *nTargets);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionRanges )( 

+            IAccessible2_3 * This,

+            /* [size_is][size_is][out] */ IA2Range **ranges,

+            /* [retval][out] */ long *nRanges);

+        

+        END_INTERFACE

+    } IAccessible2_3Vtbl;

+

+    interface IAccessible2_3

+    {

+        CONST_VTBL struct IAccessible2_3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAccessible2_3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAccessible2_3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAccessible2_3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAccessible2_3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAccessible2_3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAccessible2_3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAccessible2_3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAccessible2_3_get_accParent(This,ppdispParent)	\

+    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

+

+#define IAccessible2_3_get_accChildCount(This,pcountChildren)	\

+    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

+

+#define IAccessible2_3_get_accChild(This,varChild,ppdispChild)	\

+    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

+

+#define IAccessible2_3_get_accName(This,varChild,pszName)	\

+    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

+

+#define IAccessible2_3_get_accValue(This,varChild,pszValue)	\

+    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

+

+#define IAccessible2_3_get_accDescription(This,varChild,pszDescription)	\

+    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

+

+#define IAccessible2_3_get_accRole(This,varChild,pvarRole)	\

+    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

+

+#define IAccessible2_3_get_accState(This,varChild,pvarState)	\

+    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

+

+#define IAccessible2_3_get_accHelp(This,varChild,pszHelp)	\

+    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

+

+#define IAccessible2_3_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\

+    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

+

+#define IAccessible2_3_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\

+    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

+

+#define IAccessible2_3_get_accFocus(This,pvarChild)	\

+    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

+

+#define IAccessible2_3_get_accSelection(This,pvarChildren)	\

+    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

+

+#define IAccessible2_3_get_accDefaultAction(This,varChild,pszDefaultAction)	\

+    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

+

+#define IAccessible2_3_accSelect(This,flagsSelect,varChild)	\

+    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

+

+#define IAccessible2_3_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\

+    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

+

+#define IAccessible2_3_accNavigate(This,navDir,varStart,pvarEndUpAt)	\

+    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

+

+#define IAccessible2_3_accHitTest(This,xLeft,yTop,pvarChild)	\

+    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

+

+#define IAccessible2_3_accDoDefaultAction(This,varChild)	\

+    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

+

+#define IAccessible2_3_put_accName(This,varChild,szName)	\

+    ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) 

+

+#define IAccessible2_3_put_accValue(This,varChild,szValue)	\

+    ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) 

+

+

+#define IAccessible2_3_get_nRelations(This,nRelations)	\

+    ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) 

+

+#define IAccessible2_3_get_relation(This,relationIndex,relation)	\

+    ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) 

+

+#define IAccessible2_3_get_relations(This,maxRelations,relations,nRelations)	\

+    ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) 

+

+#define IAccessible2_3_role(This,role)	\

+    ( (This)->lpVtbl -> role(This,role) ) 

+

+#define IAccessible2_3_scrollTo(This,scrollType)	\

+    ( (This)->lpVtbl -> scrollTo(This,scrollType) ) 

+

+#define IAccessible2_3_scrollToPoint(This,coordinateType,x,y)	\

+    ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) 

+

+#define IAccessible2_3_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup)	\

+    ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) 

+

+#define IAccessible2_3_get_states(This,states)	\

+    ( (This)->lpVtbl -> get_states(This,states) ) 

+

+#define IAccessible2_3_get_extendedRole(This,extendedRole)	\

+    ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) 

+

+#define IAccessible2_3_get_localizedExtendedRole(This,localizedExtendedRole)	\

+    ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) 

+

+#define IAccessible2_3_get_nExtendedStates(This,nExtendedStates)	\

+    ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) 

+

+#define IAccessible2_3_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates)	\

+    ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) 

+

+#define IAccessible2_3_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates)	\

+    ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) 

+

+#define IAccessible2_3_get_uniqueID(This,uniqueID)	\

+    ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) 

+

+#define IAccessible2_3_get_windowHandle(This,windowHandle)	\

+    ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) 

+

+#define IAccessible2_3_get_indexInParent(This,indexInParent)	\

+    ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) 

+

+#define IAccessible2_3_get_locale(This,locale)	\

+    ( (This)->lpVtbl -> get_locale(This,locale) ) 

+

+#define IAccessible2_3_get_attributes(This,attributes)	\

+    ( (This)->lpVtbl -> get_attributes(This,attributes) ) 

+

+

+#define IAccessible2_3_get_attribute(This,name,attribute)	\

+    ( (This)->lpVtbl -> get_attribute(This,name,attribute) ) 

+

+#define IAccessible2_3_get_accessibleWithCaret(This,accessible,caretOffset)	\

+    ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) ) 

+

+#define IAccessible2_3_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets)	\

+    ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) ) 

+

+

+#define IAccessible2_3_get_selectionRanges(This,ranges,nRanges)	\

+    ( (This)->lpVtbl -> get_selectionRanges(This,ranges,nRanges) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAccessible2_3_INTERFACE_DEFINED__ */

+

+

+/* interface __MIDL_itf_ia2_api_all_0000_0005 */

+/* [local] */ 

+

+typedef long IA2Color;

+

+

+

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0005_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0005_v0_0_s_ifspec;

+

 #ifndef __IAccessibleComponent_INTERFACE_DEFINED__

 #define __IAccessibleComponent_INTERFACE_DEFINED__

 

@@ -1959,7 +2465,7 @@
 #endif 	/* __IAccessibleValue_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0006 */

+/* interface __MIDL_itf_ia2_api_all_0000_0007 */

 /* [local] */ 

 

 typedef struct IA2TextSegment

@@ -1981,8 +2487,8 @@
     } ;

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0007_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0007_v0_0_s_ifspec;

 

 #ifndef __IAccessibleText_INTERFACE_DEFINED__

 #define __IAccessibleText_INTERFACE_DEFINED__

@@ -4437,7 +4943,7 @@
 #endif 	/* __IAccessibleImage_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0016 */

+/* interface __MIDL_itf_ia2_api_all_0000_0017 */

 /* [local] */ 

 

 

@@ -4481,8 +4987,8 @@
     } ;

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0017_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0017_v0_0_s_ifspec;

 

 #ifndef __IAccessibleApplication_INTERFACE_DEFINED__

 #define __IAccessibleApplication_INTERFACE_DEFINED__

@@ -4674,7 +5180,7 @@
 #endif 	/* __IAccessibleDocument_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0018 */

+/* interface __MIDL_itf_ia2_api_all_0000_0019 */

 /* [local] */ 

 

 

@@ -4682,8 +5188,8 @@
 

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0019_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0019_v0_0_s_ifspec;

 

 

 #ifndef __IAccessible2Lib_LIBRARY_DEFINED__

@@ -4719,6 +5225,7 @@
 

 

 

+

 EXTERN_C const IID LIBID_IAccessible2Lib;

 #endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */

 

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.tlb b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.tlb
index 544ad09..f5610282 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.tlb
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_i.c b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_i.c
index 942f0276..f777216 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_i.c
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_i.c
@@ -79,6 +79,9 @@
 MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF);

 

 

+MIDL_DEFINE_GUID(IID, IID_IAccessible2_3,0x5BE18059,0x762E,0x4E73,0x94,0x76,0xAB,0xA2,0x94,0xFE,0xD4,0x11);

+

+

 MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);

 

 

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_p.c b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_p.c
index b006e1b..a922f8e 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_p.c
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x64/ia2_api_all_p.c
@@ -46,8 +46,8 @@
 

 #include "ia2_api_all.h"

 

-#define TYPE_FORMAT_STRING_SIZE   1467                              

-#define PROC_FORMAT_STRING_SIZE   5445                              

+#define TYPE_FORMAT_STRING_SIZE   1519                              

+#define PROC_FORMAT_STRING_SIZE   5489                              

 #define EXPR_FORMAT_STRING_SIZE   1                                 

 #define TRANSMIT_AS_TABLE_SIZE    0            

 #define WIRE_MARSHAL_TABLE_SIZE   3            

@@ -111,6 +111,13 @@
 extern const MIDL_STUB_DESC Object_StubDesc;

 

 

+extern const MIDL_SERVER_INFO IAccessible2_3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_3_ProxyInfo;

+

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+

+

 extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;

 extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;

 

@@ -1469,32 +1476,31 @@
 /* 1364 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_locationInParent */

+	/* Procedure get_selectionRanges */

 

 /* 1366 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1368 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1372 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1372 */	NdrFcShort( 0x31 ),	/* 49 */

 /* 1374 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 1376 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1378 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1380 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1378 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1380 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 1382 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 1384 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1384 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 1386 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1388 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1390 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter x */

+	/* Parameter ranges */

 

-/* 1392 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1392 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 1394 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1396 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 1396 */	NdrFcShort( 0x4e4 ),	/* Type Offset=1252 */

 

-	/* Parameter y */

+	/* Parameter nRanges */

 

 /* 1398 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1400 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -1508,17 +1514,17 @@
 /* 1408 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_foreground */

+	/* Procedure get_locationInParent */

 

 /* 1410 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1412 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1416 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1418 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1416 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1418 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 1420 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1422 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1422 */	NdrFcShort( 0x40 ),	/* 64 */

 /* 1424 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 1426 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 1428 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -1526,142 +1532,181 @@
 /* 1432 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1434 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter foreground */

+	/* Parameter x */

 

 /* 1436 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1438 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 1440 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter y */

 

-/* 1442 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1442 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1444 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 1446 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_currentValue */

+	/* Return value */

 

-/* 1448 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1448 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1450 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1452 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_foreground */

+

+/* 1454 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1450 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1454 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1456 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1458 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1460 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1462 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1456 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1460 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1462 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1466 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1468 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 1464 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1466 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1468 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1470 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

 /* 1472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter currentValue */

+	/* Parameter foreground */

 

-/* 1474 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 1476 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1478 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 1480 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1482 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1484 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1480 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1482 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1484 */	0x8,		/* FC_LONG */

+/* 1486 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1488 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1490 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentValue */

+

+/* 1492 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1494 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1498 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1500 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1504 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1506 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1508 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1510 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1516 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter currentValue */

+

+/* 1518 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1520 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1522 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+

+	/* Return value */

+

+/* 1524 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1526 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1528 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setCurrentValue */

 

-/* 1486 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1530 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1488 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1492 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1494 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1496 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1498 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1500 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 1532 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1538 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1542 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1544 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1502 */	0xa,		/* 10 */

+/* 1546 */	0xa,		/* 10 */

 			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

-/* 1504 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1506 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1508 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1554 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter value */

 

-/* 1512 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 1514 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1516 */	NdrFcShort( 0x4ec ),	/* Type Offset=1260 */

+/* 1556 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1558 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1560 */	NdrFcShort( 0x520 ),	/* Type Offset=1312 */

 

 	/* Return value */

 

-/* 1518 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1520 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1522 */	0x8,		/* FC_LONG */

+/* 1562 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1564 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1566 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_maximumValue */

 

-/* 1524 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1568 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1526 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1530 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 1532 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1534 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1536 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1538 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1570 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1574 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1576 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1580 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1582 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1540 */	0xa,		/* 10 */

+/* 1584 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1542 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1544 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1546 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1586 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1592 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter maximumValue */

 

-/* 1550 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 1552 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1554 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 1594 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1596 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1598 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

 

 	/* Return value */

 

-/* 1556 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1558 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1560 */	0x8,		/* FC_LONG */

+/* 1600 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1602 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1604 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_minimumValue */

 

-/* 1562 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1606 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1564 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1568 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 1570 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1572 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1574 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1576 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1608 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1612 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1614 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1618 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1620 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1578 */	0xa,		/* 10 */

+/* 1622 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1580 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1582 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1584 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1624 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1630 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter minimumValue */

 

-/* 1588 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 1590 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1592 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 1632 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1634 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1636 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

 

 	/* Return value */

 

-/* 1594 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1596 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1598 */	0x8,		/* FC_LONG */

+/* 1638 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1640 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1642 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure copyText */

@@ -1669,169 +1714,169 @@
 

 	/* Procedure addSelection */

 

-/* 1600 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1602 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1606 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1608 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 1610 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1612 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1614 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 1616 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 1618 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1620 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1622 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1624 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter startOffset */

-

-

-	/* Parameter startOffset */

-

-/* 1626 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1628 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1630 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-

-	/* Parameter endOffset */

-

-/* 1632 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1634 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1636 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-

-	/* Return value */

-

-/* 1638 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1640 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1642 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_attributes */

-

 /* 1644 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1646 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1650 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1652 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 1654 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1656 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1658 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x5,		/* 5 */

+/* 1650 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1652 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1654 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1656 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1658 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 1660 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1662 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1662 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1664 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1666 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1668 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

+

+

+	/* Parameter startOffset */

 

 /* 1670 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 1672 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 1674 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter startOffset */

+	/* Parameter endOffset */

 

-/* 1676 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+

+	/* Parameter endOffset */

+

+/* 1676 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 1678 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 1680 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter endOffset */

+	/* Return value */

 

-/* 1682 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+

+	/* Return value */

+

+/* 1682 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 1684 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 1686 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_attributes */

+

+/* 1688 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1690 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1694 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1696 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1698 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1700 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1702 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1704 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1706 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1712 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter offset */

+

+/* 1714 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1716 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter startOffset */

+

+/* 1720 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1722 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1724 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter endOffset */

+

+/* 1726 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1728 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1730 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Parameter textAttributes */

 

-/* 1688 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1690 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 1692 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 1732 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1734 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1736 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1694 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1696 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 1698 */	0x8,		/* FC_LONG */

+/* 1738 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1740 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1742 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_characterExtents */

 

-/* 1700 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1744 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1702 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1706 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 1708 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

-/* 1710 */	NdrFcShort( 0xe ),	/* 14 */

-/* 1712 */	NdrFcShort( 0x78 ),	/* 120 */

-/* 1714 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1746 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1750 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1752 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1754 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1756 */	NdrFcShort( 0x78 ),	/* 120 */

+/* 1758 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x7,		/* 7 */

-/* 1716 */	0xa,		/* 10 */

+/* 1760 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1718 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1720 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1722 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1724 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1762 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1764 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1766 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1768 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 1726 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1728 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1730 */	0x8,		/* FC_LONG */

+/* 1770 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1772 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1774 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordType */

 

-/* 1732 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1734 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1736 */	0xd,		/* FC_ENUM16 */

+/* 1776 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1778 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1780 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 1738 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1740 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1742 */	0x8,		/* FC_LONG */

+/* 1782 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1784 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1786 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 1744 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1746 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 1748 */	0x8,		/* FC_LONG */

+/* 1788 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1790 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1792 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter width */

 

-/* 1750 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1752 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 1754 */	0x8,		/* FC_LONG */

+/* 1794 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1796 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1798 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter height */

 

-/* 1756 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1758 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 1760 */	0x8,		/* FC_LONG */

+/* 1800 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1802 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1804 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1762 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1764 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 1766 */	0x8,		/* FC_LONG */

+/* 1806 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1808 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1810 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nRows */

@@ -1839,30 +1884,30 @@
 

 	/* Procedure get_nSelections */

 

-/* 1768 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1812 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1770 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1774 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 1776 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1778 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1780 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 1782 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1814 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1818 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1820 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1824 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1826 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 1784 */	0xa,		/* 10 */

+/* 1828 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1786 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1788 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1790 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1830 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1832 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1836 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowCount */

 

 

 	/* Parameter nSelections */

 

-/* 1794 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1796 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1798 */	0x8,		/* FC_LONG */

+/* 1838 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1840 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1842 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -1870,769 +1915,731 @@
 

 	/* Return value */

 

-/* 1800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1802 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1804 */	0x8,		/* FC_LONG */

+/* 1844 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1846 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1848 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_offsetAtPoint */

 

-/* 1806 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1850 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1808 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1812 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1814 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 1816 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 1818 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 1820 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1852 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1856 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1858 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1860 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1862 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1864 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x5,		/* 5 */

-/* 1822 */	0xa,		/* 10 */

+/* 1866 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1826 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1828 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1830 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1874 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter x */

 

-/* 1832 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1834 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1836 */	0x8,		/* FC_LONG */

+/* 1876 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1878 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1880 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 1838 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1840 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1842 */	0x8,		/* FC_LONG */

+/* 1882 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1884 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1886 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordType */

 

-/* 1844 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1846 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1848 */	0xd,		/* FC_ENUM16 */

+/* 1888 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1890 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1892 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 1850 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1852 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 1854 */	0x8,		/* FC_LONG */

+/* 1894 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1896 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1898 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1856 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1858 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 1860 */	0x8,		/* FC_LONG */

+/* 1900 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1902 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1904 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selection */

 

-/* 1862 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1906 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1864 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1868 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 1870 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 1872 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1874 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1876 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1908 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1912 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1914 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1916 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1918 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1920 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 1878 */	0xa,		/* 10 */

+/* 1922 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1880 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1882 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1884 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1886 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1924 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1926 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1930 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 1888 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1890 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1892 */	0x8,		/* FC_LONG */

+/* 1932 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1934 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1936 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 1894 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1896 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1898 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-/* 1900 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1902 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1904 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 1906 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1908 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 1910 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_text */

-

-/* 1912 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1914 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1918 */	NdrFcShort( 0xa ),	/* 10 */

-/* 1920 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 1922 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1924 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1926 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x4,		/* 4 */

-/* 1928 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1930 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1932 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1934 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1936 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter startOffset */

-

-/* 1938 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1940 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1938 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1940 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 1942 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 1944 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1946 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1944 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1946 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 1948 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 1950 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1952 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1954 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_text */

+

+/* 1956 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1958 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1962 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1964 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1966 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1968 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1970 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x4,		/* 4 */

+/* 1972 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1974 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1976 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1978 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1980 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter startOffset */

+

+/* 1982 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1984 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1986 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter endOffset */

+

+/* 1988 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1990 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1992 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Parameter text */

 

-/* 1950 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1952 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1954 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 1994 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1996 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1998 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1956 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1958 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 1960 */	0x8,		/* FC_LONG */

+/* 2000 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2002 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2004 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textBeforeOffset */

 

-/* 1962 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2006 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1964 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1968 */	NdrFcShort( 0xb ),	/* 11 */

-/* 1970 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 1972 */	NdrFcShort( 0xe ),	/* 14 */

-/* 1974 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1976 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2008 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2012 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2014 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 2016 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2018 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2020 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 1978 */	0xa,		/* 10 */

+/* 2022 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1980 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1982 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1984 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2024 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2026 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2030 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 1988 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1990 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1992 */	0x8,		/* FC_LONG */

+/* 2032 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2034 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2036 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 1994 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1996 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1998 */	0xd,		/* FC_ENUM16 */

+/* 2038 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2040 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2042 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2000 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2002 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2004 */	0x8,		/* FC_LONG */

+/* 2044 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2046 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2048 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2006 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2008 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2010 */	0x8,		/* FC_LONG */

+/* 2050 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2052 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2054 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2012 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2014 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2016 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2056 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2058 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2060 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2018 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2020 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 2022 */	0x8,		/* FC_LONG */

+/* 2062 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2064 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 2066 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textAfterOffset */

 

-/* 2024 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2068 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2026 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2030 */	NdrFcShort( 0xc ),	/* 12 */

-/* 2032 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 2034 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2036 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2038 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2070 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2074 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2076 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 2078 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2080 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2082 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2040 */	0xa,		/* 10 */

+/* 2084 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2042 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2044 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2046 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2048 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2086 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2088 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2092 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2050 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2052 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2054 */	0x8,		/* FC_LONG */

+/* 2094 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2096 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2098 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 2056 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2058 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2060 */	0xd,		/* FC_ENUM16 */

+/* 2100 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2102 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2104 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2062 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2064 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2066 */	0x8,		/* FC_LONG */

+/* 2106 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2108 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2110 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2068 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2070 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2072 */	0x8,		/* FC_LONG */

+/* 2112 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2114 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2116 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2074 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2076 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2078 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2118 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2120 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2122 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2080 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2082 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 2084 */	0x8,		/* FC_LONG */

+/* 2124 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2126 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 2128 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textAtOffset */

 

-/* 2086 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2130 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2088 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2092 */	NdrFcShort( 0xd ),	/* 13 */

-/* 2094 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 2096 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2098 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2100 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2132 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2136 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2138 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 2140 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2142 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2144 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2102 */	0xa,		/* 10 */

+/* 2146 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2104 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2106 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2108 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2148 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2154 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2112 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2114 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2116 */	0x8,		/* FC_LONG */

+/* 2156 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2158 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2160 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 2118 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2120 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2122 */	0xd,		/* FC_ENUM16 */

+/* 2162 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2164 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2166 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2124 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2126 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2128 */	0x8,		/* FC_LONG */

+/* 2168 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2170 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2172 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2130 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2132 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2134 */	0x8,		/* FC_LONG */

+/* 2174 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2176 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2178 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2136 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2138 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2140 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2180 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2182 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2184 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2142 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2144 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 2146 */	0x8,		/* FC_LONG */

+/* 2186 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2188 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 2190 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure removeSelection */

 

-/* 2148 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2192 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2150 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2154 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2156 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2158 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2160 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2162 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2194 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2198 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2200 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2202 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2204 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2206 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2164 */	0xa,		/* 10 */

+/* 2208 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2166 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2168 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2170 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2216 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2174 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2176 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2178 */	0x8,		/* FC_LONG */

+/* 2218 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2220 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2222 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2182 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2184 */	0x8,		/* FC_LONG */

+/* 2224 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2226 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2228 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setCaretOffset */

 

-/* 2186 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2230 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2188 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2192 */	NdrFcShort( 0xf ),	/* 15 */

-/* 2194 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2196 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2198 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2200 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2232 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2236 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2238 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2240 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2242 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2244 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2202 */	0xa,		/* 10 */

+/* 2246 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2204 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2206 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2208 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2248 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2212 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2214 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2216 */	0x8,		/* FC_LONG */

+/* 2256 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2258 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2260 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2218 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2220 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2222 */	0x8,		/* FC_LONG */

+/* 2262 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2264 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2266 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setSelection */

 

-/* 2224 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2268 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2226 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2230 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2232 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2234 */	NdrFcShort( 0x18 ),	/* 24 */

-/* 2236 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2238 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2270 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2274 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2276 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2278 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 2280 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2282 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2240 */	0xa,		/* 10 */

+/* 2284 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2242 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2244 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2246 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2248 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2292 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2250 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2252 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2254 */	0x8,		/* FC_LONG */

+/* 2294 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2296 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2298 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2256 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2258 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2260 */	0x8,		/* FC_LONG */

+/* 2300 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2302 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2304 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2262 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2264 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2266 */	0x8,		/* FC_LONG */

+/* 2306 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2308 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2310 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2268 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2270 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2272 */	0x8,		/* FC_LONG */

+/* 2312 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2314 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2316 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nCharacters */

 

-/* 2274 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2318 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2276 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2280 */	NdrFcShort( 0x11 ),	/* 17 */

-/* 2282 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2284 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2286 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2288 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2320 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2324 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2326 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2328 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2330 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2332 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2290 */	0xa,		/* 10 */

+/* 2334 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2292 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2294 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2296 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2336 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2338 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2340 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2342 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter nCharacters */

 

-/* 2300 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2302 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2304 */	0x8,		/* FC_LONG */

+/* 2344 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2346 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2348 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2306 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2308 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2310 */	0x8,		/* FC_LONG */

+/* 2350 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2352 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2354 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure scrollSubstringTo */

 

-/* 2312 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2356 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2314 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2318 */	NdrFcShort( 0x12 ),	/* 18 */

-/* 2320 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2322 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2324 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2326 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2358 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2362 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2364 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2366 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2368 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2370 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2328 */	0xa,		/* 10 */

+/* 2372 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2330 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2332 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2334 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2336 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2378 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2380 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startIndex */

 

-/* 2338 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2340 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2342 */	0x8,		/* FC_LONG */

+/* 2382 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2384 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2386 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endIndex */

 

-/* 2344 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2346 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2348 */	0x8,		/* FC_LONG */

+/* 2388 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2390 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2392 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter scrollType */

 

-/* 2350 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2352 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2354 */	0xd,		/* FC_ENUM16 */

+/* 2394 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2396 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2398 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2356 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2358 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2360 */	0x8,		/* FC_LONG */

+/* 2400 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2402 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2404 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure scrollSubstringToPoint */

 

-/* 2362 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2406 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2364 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2368 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 2370 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 2372 */	NdrFcShort( 0x26 ),	/* 38 */

-/* 2374 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2376 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2408 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2412 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2414 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 2416 */	NdrFcShort( 0x26 ),	/* 38 */

+/* 2418 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2420 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x6,		/* 6 */

-/* 2378 */	0xa,		/* 10 */

+/* 2422 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2380 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2382 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2384 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2424 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2430 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startIndex */

 

-/* 2388 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2390 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2392 */	0x8,		/* FC_LONG */

+/* 2432 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2434 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2436 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endIndex */

 

-/* 2394 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2396 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2398 */	0x8,		/* FC_LONG */

+/* 2438 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2440 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2442 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordinateType */

 

-/* 2400 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2402 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2404 */	0xd,		/* FC_ENUM16 */

+/* 2444 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2446 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2448 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 2406 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2408 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2410 */	0x8,		/* FC_LONG */

+/* 2450 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2452 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2454 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 2412 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2414 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2416 */	0x8,		/* FC_LONG */

+/* 2456 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2458 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2460 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2418 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2420 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 2422 */	0x8,		/* FC_LONG */

+/* 2462 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2464 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 2466 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_newText */

 

-/* 2424 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2468 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2426 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2430 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 2432 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2434 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2436 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2438 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2470 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2474 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2476 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2480 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2482 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 2440 */	0xa,		/* 10 */

+/* 2484 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2442 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2444 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2446 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2486 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2490 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2492 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter newText */

 

-/* 2450 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2452 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2454 */	NdrFcShort( 0x4fa ),	/* Type Offset=1274 */

+/* 2494 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2496 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2498 */	NdrFcShort( 0x52e ),	/* Type Offset=1326 */

 

 	/* Return value */

 

-/* 2456 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2458 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2460 */	0x8,		/* FC_LONG */

+/* 2500 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2502 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2504 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_oldText */

 

-/* 2462 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2506 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2464 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2468 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 2470 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2472 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2474 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2476 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2508 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2512 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2514 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2518 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2520 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 2478 */	0xa,		/* 10 */

+/* 2522 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2480 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2482 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2484 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2524 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2526 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2528 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2530 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter oldText */

 

-/* 2488 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2490 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2492 */	NdrFcShort( 0x4fa ),	/* Type Offset=1274 */

+/* 2532 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2534 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2536 */	NdrFcShort( 0x52e ),	/* Type Offset=1326 */

 

 	/* Return value */

 

-/* 2494 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2496 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2498 */	0x8,		/* FC_LONG */

+/* 2538 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2540 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2542 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_attributeRange */

 

-/* 2500 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2544 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2502 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2506 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2508 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 2510 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2512 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2514 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+/* 2546 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2550 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2552 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 2554 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2556 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2558 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2516 */	0xa,		/* 10 */

+/* 2560 */	0xa,		/* 10 */

 			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

-/* 2518 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2520 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2522 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2562 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2564 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2568 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2526 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2528 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2530 */	0x8,		/* FC_LONG */

+/* 2570 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2572 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2574 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter filter */

 

-/* 2532 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

-/* 2534 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2536 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2576 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2578 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2580 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Parameter startOffset */

 

-/* 2538 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2540 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2542 */	0x8,		/* FC_LONG */

+/* 2582 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2584 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2586 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2544 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2546 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2548 */	0x8,		/* FC_LONG */

+/* 2588 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2590 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2592 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter attributeValues */

 

-/* 2550 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2552 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2554 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

-/* 2556 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2558 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 2560 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure deleteText */

-

-/* 2562 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2564 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2568 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2570 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2572 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2574 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2576 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 2578 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 2580 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2582 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2584 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2586 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter startOffset */

-

-/* 2588 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2590 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2592 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-/* 2594 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2596 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2598 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 2594 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2596 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2598 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

 /* 2600 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2602 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2602 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

 /* 2604 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure insertText */

+	/* Procedure deleteText */

 

 /* 2606 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2608 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2612 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 2612 */	NdrFcShort( 0x4 ),	/* 4 */

 /* 2614 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2616 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2616 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 2618 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2620 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2620 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

 /* 2622 */	0xa,		/* 10 */

-			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+			0x1,		/* Ext Flags:  new corr desc, */

 /* 2624 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2626 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2626 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2628 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2630 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

 

 /* 2632 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2634 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 2636 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter text */

+	/* Parameter endOffset */

 

-/* 2638 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2638 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2640 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2642 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2642 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

@@ -2641,37 +2648,36 @@
 /* 2648 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure cutText */

+	/* Procedure insertText */

 

 /* 2650 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2652 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2656 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2656 */	NdrFcShort( 0x5 ),	/* 5 */

 /* 2658 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2660 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2660 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2662 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2664 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2664 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 2666 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

 /* 2668 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2670 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 2672 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2674 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter startOffset */

+	/* Parameter offset */

 

 /* 2676 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2678 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 2680 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter endOffset */

+	/* Parameter text */

 

-/* 2682 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2682 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

 /* 2684 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2686 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 2686 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

@@ -2680,17 +2686,17 @@
 /* 2692 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure pasteText */

+	/* Procedure cutText */

 

 /* 2694 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2696 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2700 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 2702 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2704 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2700 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2702 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2704 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 2706 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2708 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 2710 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 2712 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -2698,154 +2704,155 @@
 /* 2716 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2718 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

 

 /* 2720 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2722 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 2724 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter endOffset */

 

-/* 2726 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2726 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2728 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 2730 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 2732 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2734 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2736 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pasteText */

+

+/* 2738 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2740 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2744 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 2746 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2750 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2752 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2754 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2760 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2762 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter offset */

+

+/* 2764 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2766 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2768 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2770 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2772 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2774 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure replaceText */

 

-/* 2732 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2776 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2734 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2738 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2740 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2742 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2744 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2746 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2778 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2782 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2784 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2786 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2788 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2790 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 2748 */	0xa,		/* 10 */

+/* 2792 */	0xa,		/* 10 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 2750 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2752 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2754 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2794 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2796 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2798 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2800 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2758 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2760 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2762 */	0x8,		/* FC_LONG */

+/* 2802 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2804 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2806 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2764 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2766 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2768 */	0x8,		/* FC_LONG */

+/* 2808 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2810 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2812 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2770 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 2772 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2774 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2814 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2816 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2818 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

-/* 2776 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2778 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2780 */	0x8,		/* FC_LONG */

+/* 2820 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2822 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2824 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setAttributes */

 

-/* 2782 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2826 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2784 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2788 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 2790 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 2792 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2794 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2796 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2828 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2832 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2834 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 2836 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2838 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2840 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 2798 */	0xa,		/* 10 */

+/* 2842 */	0xa,		/* 10 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 2800 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2802 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2804 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2806 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2844 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2846 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2848 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2850 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2808 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2810 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2812 */	0x8,		/* FC_LONG */

+/* 2852 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2854 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2856 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2814 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2816 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2818 */	0x8,		/* FC_LONG */

+/* 2858 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2860 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2862 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter attributes */

 

-/* 2820 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 2822 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2824 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

-

-	/* Return value */

-

-/* 2826 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2828 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2830 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_anchor */

-

-/* 2832 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2834 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2838 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 2840 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 2842 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2844 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2846 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 2848 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2850 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2852 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2854 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2856 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter index */

-

-/* 2858 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2860 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2862 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter anchor */

-

-/* 2864 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 2866 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2868 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+/* 2864 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2866 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2868 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

 /* 2870 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2872 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2872 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 2874 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_anchorTarget */

+	/* Procedure get_anchor */

 

 /* 2876 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2878 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2882 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2882 */	NdrFcShort( 0x9 ),	/* 9 */

 /* 2884 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 2886 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2888 */	NdrFcShort( 0x8 ),	/* 8 */

@@ -2865,7 +2872,7 @@
 /* 2906 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter anchorTarget */

+	/* Parameter anchor */

 

 /* 2908 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

 /* 2910 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -2878,35 +2885,73 @@
 /* 2918 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_anchorTarget */

+

+/* 2920 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2922 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2926 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2928 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2930 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2932 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2934 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2936 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2938 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2942 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2944 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+/* 2946 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2948 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2950 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter anchorTarget */

+

+/* 2952 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 2954 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2956 */	NdrFcShort( 0x4bc ),	/* Type Offset=1212 */

+

+	/* Return value */

+

+/* 2958 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2960 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2962 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_nRows */

 

 

 	/* Procedure get_startIndex */

 

-/* 2920 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2964 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2922 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2926 */	NdrFcShort( 0xb ),	/* 11 */

-/* 2928 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2930 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2932 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2934 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2966 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2970 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2972 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2974 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2976 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2978 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2936 */	0xa,		/* 10 */

+/* 2980 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2938 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2940 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2942 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2944 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2982 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2988 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowCount */

 

 

 	/* Parameter index */

 

-/* 2946 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2948 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2950 */	0x8,		/* FC_LONG */

+/* 2990 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2992 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2994 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -2914,9 +2959,9 @@
 

 	/* Return value */

 

-/* 2952 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2954 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2956 */	0x8,		/* FC_LONG */

+/* 2996 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2998 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3000 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedChildren */

@@ -2924,30 +2969,30 @@
 

 	/* Procedure get_endIndex */

 

-/* 2958 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3002 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2960 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2964 */	NdrFcShort( 0xc ),	/* 12 */

-/* 2966 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 2968 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2970 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2972 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3004 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3008 */	NdrFcShort( 0xc ),	/* 12 */

+/* 3010 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3014 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3016 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2974 */	0xa,		/* 10 */

+/* 3018 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2976 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2978 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2980 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2982 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3022 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3026 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter cellCount */

 

 

 	/* Parameter index */

 

-/* 2984 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2986 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 2988 */	0x8,		/* FC_LONG */

+/* 3028 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3030 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3032 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -2955,123 +3000,85 @@
 

 	/* Return value */

 

-/* 2990 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2992 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 2994 */	0x8,		/* FC_LONG */

+/* 3034 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3036 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3038 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_valid */

 

-/* 2996 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3040 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2998 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3002 */	NdrFcShort( 0xd ),	/* 13 */

-/* 3004 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3006 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3008 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 3010 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3042 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3046 */	NdrFcShort( 0xd ),	/* 13 */

+/* 3048 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3052 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 3054 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3012 */	0xa,		/* 10 */

+/* 3056 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3014 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3016 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3018 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3060 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3062 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3064 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter valid */

 

-/* 3022 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3024 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3026 */	0x3,		/* FC_SMALL */

+/* 3066 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3068 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3070 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3028 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3030 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3032 */	0x8,		/* FC_LONG */

+/* 3072 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3074 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3076 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nHyperlinks */

 

-/* 3034 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3078 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3036 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3040 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 3042 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3044 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3046 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3048 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3080 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3084 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3086 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3088 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3090 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3092 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3050 */	0xa,		/* 10 */

+/* 3094 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3052 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3054 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3056 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3096 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3102 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter hyperlinkCount */

 

-/* 3060 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3062 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3064 */	0x8,		/* FC_LONG */

+/* 3104 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3106 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3108 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3066 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3068 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3070 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_hyperlink */

-

-/* 3072 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3074 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3078 */	NdrFcShort( 0x17 ),	/* 23 */

-/* 3080 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3082 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3084 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3086 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3088 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3090 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3092 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3094 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3096 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter index */

-

-/* 3098 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3100 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3102 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter hyperlink */

-

-/* 3104 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3106 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3108 */	NdrFcShort( 0x512 ),	/* Type Offset=1298 */

-

-	/* Return value */

-

 /* 3110 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3112 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3112 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 3114 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_hyperlinkIndex */

+	/* Procedure get_hyperlink */

 

 /* 3116 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3118 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3122 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 3122 */	NdrFcShort( 0x17 ),	/* 23 */

 /* 3124 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 3126 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3128 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3130 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3128 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3130 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3132 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3080,19 +3087,18 @@
 /* 3138 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3140 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter charIndex */

+	/* Parameter index */

 

 /* 3142 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3144 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 3146 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter hyperlinkIndex */

+	/* Parameter hyperlink */

 

-/* 3148 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3148 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3150 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3152 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3152 */	NdrFcShort( 0x546 ),	/* Type Offset=1350 */

 

 	/* Return value */

 

@@ -3101,31 +3107,32 @@
 /* 3158 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_hyperlinks */

+	/* Procedure get_hyperlinkIndex */

 

 /* 3160 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3162 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3166 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3166 */	NdrFcShort( 0x18 ),	/* 24 */

 /* 3168 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3170 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3172 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3174 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3174 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

 /* 3176 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3178 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3178 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3180 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3182 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3184 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter hyperlinks */

+	/* Parameter charIndex */

 

-/* 3186 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3186 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3188 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3190 */	NdrFcShort( 0x528 ),	/* Type Offset=1320 */

+/* 3190 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter nHyperlinks */

+	/* Parameter hyperlinkIndex */

 

 /* 3192 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3194 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -3139,35 +3146,73 @@
 /* 3202 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_hyperlinks */

+

+/* 3204 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3206 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3210 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3212 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3216 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3218 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3220 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3222 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3224 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter hyperlinks */

+

+/* 3230 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3232 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3234 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+

+	/* Parameter nHyperlinks */

+

+/* 3236 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3238 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3240 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3244 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_cellAt */

 

 

 	/* Procedure get_accessibleAt */

 

-/* 3204 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3248 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3206 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3210 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3212 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 3214 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3216 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3218 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3254 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3256 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3258 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3262 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3220 */	0xa,		/* 10 */

+/* 3264 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3222 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3224 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3226 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3272 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

 

 	/* Parameter row */

 

-/* 3230 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3232 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3234 */	0x8,		/* FC_LONG */

+/* 3274 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3276 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3278 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

@@ -3175,9 +3220,9 @@
 

 	/* Parameter column */

 

-/* 3236 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3238 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3240 */	0x8,		/* FC_LONG */

+/* 3280 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3282 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3284 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter cell */

@@ -3185,18 +3230,18 @@
 

 	/* Parameter accessible */

 

-/* 3242 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3244 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3246 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 3286 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3288 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3290 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 

 	/* Return value */

 

-/* 3248 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3250 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3252 */	0x8,		/* FC_LONG */

+/* 3292 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3294 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3296 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_caption */

@@ -3204,219 +3249,181 @@
 

 	/* Procedure get_caption */

 

-/* 3254 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3298 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3256 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3260 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3262 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3264 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3266 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3268 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3300 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3304 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3306 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3308 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3310 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3312 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 3270 */	0xa,		/* 10 */

+/* 3314 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3272 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3274 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3276 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3322 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter accessible */

 

 

 	/* Parameter accessible */

 

-/* 3280 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3282 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3284 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 3324 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3326 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3328 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 

 	/* Return value */

 

-/* 3286 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3288 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3290 */	0x8,		/* FC_LONG */

+/* 3330 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3332 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3334 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_childIndex */

 

-/* 3292 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3336 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3294 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3298 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 3300 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 3302 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3304 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3306 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3338 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3342 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3344 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3346 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3348 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3350 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 3308 */	0xa,		/* 10 */

+/* 3352 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3310 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3312 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3314 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3356 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3360 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowIndex */

 

-/* 3318 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3320 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3322 */	0x8,		/* FC_LONG */

+/* 3362 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3364 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3366 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnIndex */

 

-/* 3324 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3326 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3328 */	0x8,		/* FC_LONG */

+/* 3368 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3370 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3372 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter cellIndex */

 

-/* 3330 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3332 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3334 */	0x8,		/* FC_LONG */

+/* 3374 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3376 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3378 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3338 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3340 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnDescription */

-

-/* 3342 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3344 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3348 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 3350 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3352 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3354 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3356 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3358 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3360 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3362 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3364 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3366 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter column */

-

-/* 3368 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3370 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3372 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter description */

-

-/* 3374 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 3376 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3378 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

 /* 3380 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3382 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3382 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 3384 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnExtentAt */

+	/* Procedure get_columnDescription */

 

 /* 3386 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3388 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3392 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 3394 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 3396 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3398 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3400 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

+/* 3392 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3394 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3396 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3400 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 3402 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3404 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3404 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 3406 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3408 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3410 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 3412 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3414 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 3416 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter column */

+	/* Parameter description */

 

-/* 3418 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3418 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

 /* 3420 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3422 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3422 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

-	/* Parameter nColumnsSpanned */

+	/* Return value */

 

-/* 3424 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3424 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 3426 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 3428 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Procedure get_columnExtentAt */

 

-/* 3430 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3432 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3434 */	0x8,		/* FC_LONG */

+/* 3430 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3432 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3436 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 3438 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3440 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3442 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3444 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 3446 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3454 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 3456 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3458 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3460 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnHeader */

+	/* Parameter column */

 

-/* 3436 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3438 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3442 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3444 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3446 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3448 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3450 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3452 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3454 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3456 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3458 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3462 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3464 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter accessibleTable */

-

-/* 3462 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3464 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3466 */	NdrFcShort( 0x546 ),	/* Type Offset=1350 */

-

-	/* Parameter startingRowIndex */

+	/* Parameter nColumnsSpanned */

 

 /* 3468 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3470 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3470 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 3472 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3474 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3476 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3476 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 3478 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnIndex */

+	/* Procedure get_columnHeader */

 

 /* 3480 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3482 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3486 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3486 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3488 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3490 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3490 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3492 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3494 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3494 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3496 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3425,14 +3432,13 @@
 /* 3502 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3504 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter cellIndex */

+	/* Parameter accessibleTable */

 

-/* 3506 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3506 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3508 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3510 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3510 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

 

-	/* Parameter columnIndex */

+	/* Parameter startingRowIndex */

 

 /* 3512 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3514 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -3446,20 +3452,17 @@
 /* 3522 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_nSelectedRows */

-

-

-	/* Procedure get_nColumns */

+	/* Procedure get_columnIndex */

 

 /* 3524 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3526 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3530 */	NdrFcShort( 0xa ),	/* 10 */

-/* 3532 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3530 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3532 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3534 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3536 */	NdrFcShort( 0x24 ),	/* 36 */

 /* 3538 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 3540 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 3542 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -3467,142 +3470,146 @@
 /* 3546 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3548 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter rowCount */

+	/* Parameter cellIndex */

 

-

-	/* Parameter columnCount */

-

-/* 3550 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3550 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3552 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 3554 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter columnIndex */

 

-

-	/* Return value */

-

-/* 3556 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3556 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3558 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 3560 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_nSelectedColumns */

-

-/* 3562 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3564 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3568 */	NdrFcShort( 0xd ),	/* 13 */

-/* 3570 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3572 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3574 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3576 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

-/* 3578 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3580 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3582 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3584 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3586 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter columnCount */

-

-/* 3588 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3590 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3592 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

 	/* Return value */

 

-/* 3594 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3596 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3598 */	0x8,		/* FC_LONG */

+/* 3562 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3564 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3566 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedRows */

 

-/* 3600 */	0x33,		/* FC_AUTO_HANDLE */

+

+	/* Procedure get_nColumns */

+

+/* 3568 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3602 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3606 */	NdrFcShort( 0xe ),	/* 14 */

-/* 3608 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3610 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3612 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3614 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3570 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3574 */	NdrFcShort( 0xa ),	/* 10 */

+/* 3576 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3580 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3582 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3616 */	0xa,		/* 10 */

+/* 3584 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3618 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3620 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3622 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3592 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowCount */

 

-/* 3626 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3628 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3630 */	0x8,		/* FC_LONG */

+

+	/* Parameter columnCount */

+

+/* 3594 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3596 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3598 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3632 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3634 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+

+	/* Return value */

+

+/* 3600 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3602 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3604 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nSelectedColumns */

+

+/* 3606 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3608 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3612 */	NdrFcShort( 0xd ),	/* 13 */

+/* 3614 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3618 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3620 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 3622 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3630 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter columnCount */

+

+/* 3632 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3634 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 3636 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowDescription */

+	/* Return value */

 

-/* 3638 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3640 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3644 */	NdrFcShort( 0xf ),	/* 15 */

-/* 3646 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3648 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3650 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3652 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3654 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3656 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3658 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3660 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3662 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter row */

-

-/* 3664 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3666 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3668 */	0x8,		/* FC_LONG */

+/* 3638 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3640 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3642 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter description */

+	/* Procedure get_nSelectedRows */

 

-/* 3670 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 3672 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3674 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 3644 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3646 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3650 */	NdrFcShort( 0xe ),	/* 14 */

+/* 3652 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3656 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3658 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 3660 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3664 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3668 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter rowCount */

+

+/* 3670 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3672 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3674 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3676 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3678 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3678 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 3680 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowExtentAt */

+	/* Procedure get_rowDescription */

 

 /* 3682 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3684 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3688 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3690 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 3692 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3694 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3696 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

+/* 3688 */	NdrFcShort( 0xf ),	/* 15 */

+/* 3690 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3692 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3694 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3696 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 3698 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3700 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3700 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 3702 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3704 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3706 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -3614,75 +3621,75 @@
 /* 3712 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter column */

+	/* Parameter description */

 

-/* 3714 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3714 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

 /* 3716 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3718 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3718 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

-	/* Parameter nRowsSpanned */

+	/* Return value */

 

-/* 3720 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3720 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 3722 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 3724 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Procedure get_rowExtentAt */

 

-/* 3726 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3728 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3730 */	0x8,		/* FC_LONG */

+/* 3726 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3728 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3732 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3734 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3736 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3738 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3740 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 3742 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3748 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3750 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 3752 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3754 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3756 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowHeader */

+	/* Parameter column */

 

-/* 3732 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3734 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3738 */	NdrFcShort( 0x11 ),	/* 17 */

-/* 3740 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3742 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3744 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3746 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3748 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3750 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3752 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3754 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3758 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3760 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3762 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter accessibleTable */

-

-/* 3758 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3760 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3762 */	NdrFcShort( 0x546 ),	/* Type Offset=1350 */

-

-	/* Parameter startingColumnIndex */

+	/* Parameter nRowsSpanned */

 

 /* 3764 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3766 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3766 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 3768 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3770 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3772 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3772 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 3774 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowIndex */

+	/* Procedure get_rowHeader */

 

 /* 3776 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3778 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3782 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3782 */	NdrFcShort( 0x11 ),	/* 17 */

 /* 3784 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3786 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3786 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3788 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3790 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3790 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3792 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3691,14 +3698,13 @@
 /* 3798 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3800 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter cellIndex */

+	/* Parameter accessibleTable */

 

-/* 3802 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3802 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3804 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3806 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3806 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

 

-	/* Parameter rowIndex */

+	/* Parameter startingColumnIndex */

 

 /* 3808 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3810 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -3712,217 +3718,217 @@
 /* 3818 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedChildren */

+	/* Procedure get_rowIndex */

 

 /* 3820 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3822 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3826 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 3828 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3826 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3828 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 3830 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3832 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3834 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x4,		/* 4 */

+/* 3834 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 3836 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3838 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3838 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3840 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3842 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3844 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter maxChildren */

+	/* Parameter cellIndex */

 

 /* 3846 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3848 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

 /* 3850 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter children */

+	/* Parameter rowIndex */

 

-/* 3852 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3852 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3854 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3856 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+/* 3856 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter nChildren */

+	/* Return value */

 

-/* 3858 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3858 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 3860 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 3862 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_selectedChildren */

+

+/* 3864 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3866 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3870 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 3872 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3874 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3876 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3878 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x4,		/* 4 */

+/* 3880 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3882 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3886 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3888 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter maxChildren */

+

+/* 3890 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3892 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3894 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter children */

+

+/* 3896 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3898 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3900 */	NdrFcShort( 0x590 ),	/* Type Offset=1424 */

+

+	/* Parameter nChildren */

+

+/* 3902 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3904 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3906 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Return value */

 

-/* 3864 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3866 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3868 */	0x8,		/* FC_LONG */

+/* 3908 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3910 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3912 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selectedColumns */

 

-/* 3870 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3914 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3872 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3876 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 3878 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 3880 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3882 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3884 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3916 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3920 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 3922 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3924 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3926 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3928 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3886 */	0xa,		/* 10 */

+/* 3930 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3888 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3890 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3892 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3894 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3932 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3936 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3938 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter maxColumns */

 

-/* 3896 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3898 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3900 */	0x8,		/* FC_LONG */

+/* 3940 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3942 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3944 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columns */

 

-/* 3902 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 3904 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3906 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+/* 3946 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3948 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3950 */	NdrFcShort( 0x590 ),	/* Type Offset=1424 */

 

 	/* Parameter nColumns */

 

-/* 3908 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3910 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3912 */	0x8,		/* FC_LONG */

+/* 3952 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3954 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3956 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3914 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3916 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3918 */	0x8,		/* FC_LONG */

+/* 3958 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3960 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3962 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selectedRows */

 

-/* 3920 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3964 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3922 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3926 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 3928 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 3930 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3932 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3934 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3966 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3970 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3972 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3974 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3976 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3978 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3936 */	0xa,		/* 10 */

+/* 3980 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3938 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3940 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3942 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3944 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3982 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3988 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter maxRows */

 

-/* 3946 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3948 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 3950 */	0x8,		/* FC_LONG */

+/* 3990 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3992 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3994 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rows */

 

-/* 3952 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 3954 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 3956 */	NdrFcShort( 0x55c ),	/* Type Offset=1372 */

+/* 3996 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3998 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4000 */	NdrFcShort( 0x590 ),	/* Type Offset=1424 */

 

 	/* Parameter nRows */

 

-/* 3958 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3960 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3962 */	0x8,		/* FC_LONG */

+/* 4002 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4004 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4006 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3964 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3966 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 3968 */	0x8,		/* FC_LONG */

+/* 4008 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4010 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 4012 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_summary */

 

-/* 3970 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4014 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3972 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3976 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 3978 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 3980 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3982 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3984 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4016 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4020 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 4022 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4026 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4028 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 3986 */	0xa,		/* 10 */

+/* 4030 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3988 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3990 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3992 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3994 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4032 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4034 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4036 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4038 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter accessible */

 

-/* 3996 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3998 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4000 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

-

-	/* Return value */

-

-/* 4002 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4004 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4006 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_isColumnSelected */

-

-/* 4008 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4010 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4014 */	NdrFcShort( 0x17 ),	/* 23 */

-/* 4016 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 4018 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4020 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 4022 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 4024 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4026 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4028 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4030 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4032 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter column */

-

-/* 4034 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4036 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4038 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter isSelected */

-

-/* 4040 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4042 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4044 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 4040 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 4042 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4044 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 /* 4046 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4048 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4048 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 4050 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isRowSelected */

+	/* Procedure get_isColumnSelected */

 

 /* 4052 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4054 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4058 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 4058 */	NdrFcShort( 0x17 ),	/* 23 */

 /* 4060 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 4062 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4064 */	NdrFcShort( 0x21 ),	/* 33 */

@@ -3935,7 +3941,7 @@
 /* 4074 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4076 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 4078 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 4080 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

@@ -3956,17 +3962,17 @@
 /* 4094 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isSelected */

+	/* Procedure get_isRowSelected */

 

 /* 4096 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4098 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4102 */	NdrFcShort( 0x19 ),	/* 25 */

-/* 4104 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 4106 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 4102 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 4104 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 4106 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4108 */	NdrFcShort( 0x21 ),	/* 33 */

 /* 4110 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

+			0x3,		/* 3 */

 /* 4112 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 4114 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -3981,251 +3987,290 @@
 /* 4126 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter column */

-

-/* 4128 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4130 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4132 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

 	/* Parameter isSelected */

 

-/* 4134 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4136 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4138 */	0x3,		/* FC_SMALL */

+/* 4128 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4130 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4132 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4140 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4142 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 4144 */	0x8,		/* FC_LONG */

+/* 4134 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4136 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4138 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isSelected */

+

+/* 4140 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4142 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4146 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 4148 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 4150 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 4152 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 4154 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 4156 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4158 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4164 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 4166 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4168 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4170 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter column */

+

+/* 4172 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4174 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4176 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter isSelected */

+

+/* 4178 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4180 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4182 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 4184 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4186 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 4188 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectRow */

 

-/* 4146 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4190 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4148 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4152 */	NdrFcShort( 0x1a ),	/* 26 */

-/* 4154 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4156 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4158 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4160 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4192 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4196 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 4198 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4200 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4202 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4204 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4162 */	0xa,		/* 10 */

+/* 4206 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4164 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4166 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4168 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4208 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4214 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 4172 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4174 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4176 */	0x8,		/* FC_LONG */

+/* 4216 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4218 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4220 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4178 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4180 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4182 */	0x8,		/* FC_LONG */

+/* 4222 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4224 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4226 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectColumn */

 

-/* 4184 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4228 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4186 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4190 */	NdrFcShort( 0x1b ),	/* 27 */

-/* 4192 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4194 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4196 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4198 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4230 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4234 */	NdrFcShort( 0x1b ),	/* 27 */

+/* 4236 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4238 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4240 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4242 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4200 */	0xa,		/* 10 */

+/* 4244 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4202 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4204 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4206 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4208 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4246 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4248 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4252 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4210 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4212 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4214 */	0x8,		/* FC_LONG */

+/* 4254 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4256 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4258 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4216 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4218 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4220 */	0x8,		/* FC_LONG */

+/* 4260 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4262 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4264 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectRow */

 

-/* 4222 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4266 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4224 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4228 */	NdrFcShort( 0x1c ),	/* 28 */

-/* 4230 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4232 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4234 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4236 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4268 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4272 */	NdrFcShort( 0x1c ),	/* 28 */

+/* 4274 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4276 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4278 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4280 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4238 */	0xa,		/* 10 */

+/* 4282 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4240 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4242 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4244 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4246 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4290 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 4248 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4250 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4252 */	0x8,		/* FC_LONG */

+/* 4292 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4294 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4296 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4254 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4256 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4258 */	0x8,		/* FC_LONG */

+/* 4298 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4300 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4302 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectColumn */

 

-/* 4260 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4304 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4262 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4266 */	NdrFcShort( 0x1d ),	/* 29 */

-/* 4268 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4270 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4272 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4274 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4306 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4310 */	NdrFcShort( 0x1d ),	/* 29 */

+/* 4312 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4314 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4316 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4318 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4276 */	0xa,		/* 10 */

+/* 4320 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4278 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4280 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4282 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4326 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4328 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4286 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4288 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4290 */	0x8,		/* FC_LONG */

+/* 4330 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4332 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4334 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4292 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4294 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4296 */	0x8,		/* FC_LONG */

+/* 4336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4338 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4340 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowColumnExtentsAtIndex */

 

-/* 4298 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4342 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4300 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4304 */	NdrFcShort( 0x1e ),	/* 30 */

-/* 4306 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

-/* 4308 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4310 */	NdrFcShort( 0x91 ),	/* 145 */

-/* 4312 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4344 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4348 */	NdrFcShort( 0x1e ),	/* 30 */

+/* 4350 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 4352 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4354 */	NdrFcShort( 0x91 ),	/* 145 */

+/* 4356 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x7,		/* 7 */

-/* 4314 */	0xa,		/* 10 */

+/* 4358 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4316 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4318 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4320 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4364 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4366 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter index */

 

-/* 4324 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4326 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4328 */	0x8,		/* FC_LONG */

+/* 4368 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4370 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4372 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4330 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4332 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4334 */	0x8,		/* FC_LONG */

+/* 4374 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4376 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4378 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4336 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4338 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4340 */	0x8,		/* FC_LONG */

+/* 4380 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4382 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4384 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rowExtents */

 

-/* 4342 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4344 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 4346 */	0x8,		/* FC_LONG */

+/* 4386 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4388 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 4390 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnExtents */

 

-/* 4348 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4350 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 4352 */	0x8,		/* FC_LONG */

+/* 4392 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4394 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 4396 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 4354 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4356 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 4358 */	0x3,		/* FC_SMALL */

+/* 4398 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4400 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 4402 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4360 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4362 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 4364 */	0x8,		/* FC_LONG */

+/* 4404 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4406 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 4408 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_modelChange */

 

-/* 4366 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4410 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4368 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4372 */	NdrFcShort( 0x1f ),	/* 31 */

-/* 4374 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4376 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4378 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4380 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4412 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4416 */	NdrFcShort( 0x1f ),	/* 31 */

+/* 4418 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4420 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4422 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4424 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4382 */	0xa,		/* 10 */

+/* 4426 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4384 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4386 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4388 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4432 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4434 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter modelChange */

 

-/* 4392 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 4394 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4396 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

+/* 4436 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 4438 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4440 */	NdrFcShort( 0x5ae ),	/* Type Offset=1454 */

 

 	/* Return value */

 

-/* 4398 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4400 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4402 */	0x8,		/* FC_LONG */

+/* 4442 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4444 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4446 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowExtent */

@@ -4233,30 +4278,30 @@
 

 	/* Procedure get_nColumns */

 

-/* 4404 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4448 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4406 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4410 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 4412 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4414 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4416 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4418 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4450 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4454 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 4456 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4460 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4462 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4420 */	0xa,		/* 10 */

+/* 4464 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4422 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4424 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4426 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4466 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4472 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter nRowsSpanned */

 

 

 	/* Parameter columnCount */

 

-/* 4430 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4432 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4434 */	0x8,		/* FC_LONG */

+/* 4474 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4476 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4478 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -4264,9 +4309,9 @@
 

 	/* Return value */

 

-/* 4436 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4438 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4440 */	0x8,		/* FC_LONG */

+/* 4480 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4482 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4484 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowIndex */

@@ -4274,30 +4319,30 @@
 

 	/* Procedure get_nSelectedCells */

 

-/* 4442 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4486 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4444 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4448 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4450 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4452 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4454 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4456 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4488 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4492 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4494 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4496 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4498 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4500 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4458 */	0xa,		/* 10 */

+/* 4502 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4460 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4462 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4464 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4466 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4504 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4506 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4508 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4510 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowIndex */

 

 

 	/* Parameter cellCount */

 

-/* 4468 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4470 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4472 */	0x8,		/* FC_LONG */

+/* 4512 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4514 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4516 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -4305,90 +4350,52 @@
 

 	/* Return value */

 

-/* 4474 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4476 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4478 */	0x8,		/* FC_LONG */

+/* 4518 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4520 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4522 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedColumns */

 

-/* 4480 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4524 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4482 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4486 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 4488 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4490 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4492 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4494 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4526 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4530 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 4532 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4536 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4538 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4496 */	0xa,		/* 10 */

+/* 4540 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4498 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4500 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4502 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4504 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4542 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4544 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4548 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter columnCount */

 

-/* 4506 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4508 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4510 */	0x8,		/* FC_LONG */

+/* 4550 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4552 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4554 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4512 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4514 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4516 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_rowDescription */

-

-/* 4518 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4520 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4524 */	NdrFcShort( 0xb ),	/* 11 */

-/* 4526 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 4528 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4530 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4532 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 4534 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4536 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 4538 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4540 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4542 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter row */

-

-/* 4544 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4546 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4548 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter description */

-

-/* 4550 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 4552 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4554 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

 /* 4556 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4558 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4558 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 4560 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedCells */

+	/* Procedure get_rowDescription */

 

 /* 4562 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4564 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4568 */	NdrFcShort( 0xc ),	/* 12 */

+/* 4568 */	NdrFcShort( 0xb ),	/* 11 */

 /* 4570 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 4572 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4574 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4572 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4574 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4576 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 4578 */	0xa,		/* 10 */

@@ -4398,19 +4405,19 @@
 /* 4584 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4586 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter cells */

+	/* Parameter row */

 

-/* 4588 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 4588 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 4590 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4592 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

-

-	/* Parameter nSelectedCells */

-

-/* 4594 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4596 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4598 */	0x8,		/* FC_LONG */

+/* 4592 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Parameter description */

+

+/* 4594 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 4596 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4598 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

 	/* Return value */

 

 /* 4600 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

@@ -4418,12 +4425,12 @@
 /* 4604 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedColumns */

+	/* Procedure get_selectedCells */

 

 /* 4606 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4608 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4612 */	NdrFcShort( 0xd ),	/* 13 */

+/* 4612 */	NdrFcShort( 0xc ),	/* 12 */

 /* 4614 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 4616 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4618 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4436,13 +4443,13 @@
 /* 4628 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4630 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter selectedColumns */

+	/* Parameter cells */

 

 /* 4632 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4634 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4636 */	NdrFcShort( 0x5a6 ),	/* Type Offset=1446 */

+/* 4636 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

-	/* Parameter nColumns */

+	/* Parameter nSelectedCells */

 

 /* 4638 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4640 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -4456,12 +4463,12 @@
 /* 4648 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedRows */

+	/* Procedure get_selectedColumns */

 

 /* 4650 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4652 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4656 */	NdrFcShort( 0xe ),	/* 14 */

+/* 4656 */	NdrFcShort( 0xd ),	/* 13 */

 /* 4658 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 4660 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4662 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4474,13 +4481,13 @@
 /* 4672 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4674 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter selectedRows */

+	/* Parameter selectedColumns */

 

 /* 4676 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4678 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4680 */	NdrFcShort( 0x5a6 ),	/* Type Offset=1446 */

+/* 4680 */	NdrFcShort( 0x5da ),	/* Type Offset=1498 */

 

-	/* Parameter nRows */

+	/* Parameter nColumns */

 

 /* 4682 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4684 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -4494,82 +4501,81 @@
 /* 4692 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_summary */

+	/* Procedure get_selectedRows */

 

 /* 4694 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4696 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4700 */	NdrFcShort( 0xf ),	/* 15 */

-/* 4702 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4700 */	NdrFcShort( 0xe ),	/* 14 */

+/* 4702 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 4704 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4706 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4706 */	NdrFcShort( 0x24 ),	/* 36 */

 /* 4708 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 4710 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4712 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 4712 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 4714 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4716 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4718 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter accessible */

+	/* Parameter selectedRows */

 

-/* 4720 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 4720 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4722 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4724 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 4724 */	NdrFcShort( 0x5da ),	/* Type Offset=1498 */

 

-	/* Return value */

+	/* Parameter nRows */

 

-/* 4726 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4726 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4728 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 4730 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isColumnSelected */

+	/* Return value */

 

-/* 4732 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4732 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4734 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4736 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_summary */

+

+/* 4738 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4734 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4738 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 4740 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 4742 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4744 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 4746 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 4748 */	0xa,		/* 10 */

+/* 4740 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4744 */	NdrFcShort( 0xf ),	/* 15 */

+/* 4746 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4748 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4750 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4752 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 4754 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4750 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4752 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4754 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4760 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4762 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter column */

+	/* Parameter accessible */

 

-/* 4758 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4760 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4762 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter isSelected */

-

-/* 4764 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4766 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4768 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 4764 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 4766 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4768 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 /* 4770 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4772 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4772 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 4774 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isRowSelected */

+	/* Procedure get_isColumnSelected */

 

 /* 4776 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4778 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4782 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 4782 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 4784 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 4786 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4788 */	NdrFcShort( 0x21 ),	/* 33 */

@@ -4582,7 +4588,7 @@
 /* 4798 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4800 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 4802 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 4804 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

@@ -4603,17 +4609,17 @@
 /* 4818 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure selectRow */

+	/* Procedure get_isRowSelected */

 

 /* 4820 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4822 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4826 */	NdrFcShort( 0x12 ),	/* 18 */

-/* 4828 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4826 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 4828 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 4830 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4832 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4832 */	NdrFcShort( 0x21 ),	/* 33 */

 /* 4834 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 4836 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 4838 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -4628,184 +4634,185 @@
 /* 4850 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Parameter isSelected */

+

+/* 4852 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4854 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4856 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

 	/* Return value */

 

-/* 4852 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4854 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4856 */	0x8,		/* FC_LONG */

+/* 4858 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4860 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4862 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure selectRow */

+

+/* 4864 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4866 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4870 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 4872 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4874 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4876 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4878 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 4880 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4886 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4888 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 4890 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4892 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4894 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 4896 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4898 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4900 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectColumn */

 

-/* 4858 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4902 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4860 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4864 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 4866 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4868 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4870 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4872 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4904 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4908 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 4910 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4912 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4914 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4916 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4874 */	0xa,		/* 10 */

+/* 4918 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4876 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4878 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4880 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4920 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4922 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4924 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4926 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4884 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4886 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4888 */	0x8,		/* FC_LONG */

+/* 4928 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4930 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4932 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4890 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4892 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4894 */	0x8,		/* FC_LONG */

+/* 4934 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4936 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4938 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectRow */

 

-/* 4896 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4940 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4898 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4902 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 4904 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4906 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4908 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4910 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4942 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4946 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 4948 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4950 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4952 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4954 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4912 */	0xa,		/* 10 */

+/* 4956 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4914 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4916 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4918 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4920 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4958 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4962 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4964 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 4922 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4924 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4926 */	0x8,		/* FC_LONG */

+/* 4966 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4968 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 4970 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4928 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4930 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4932 */	0x8,		/* FC_LONG */

+/* 4972 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4974 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 4976 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectColumn */

 

-/* 4934 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4978 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4936 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4940 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 4942 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4944 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4946 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4948 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4980 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4984 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 4986 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 4988 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4990 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4992 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4950 */	0xa,		/* 10 */

+/* 4994 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4952 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4954 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4956 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4958 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4996 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4998 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5000 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5002 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4960 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4962 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 4964 */	0x8,		/* FC_LONG */

+/* 5004 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5006 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5008 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4966 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4968 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 4970 */	0x8,		/* FC_LONG */

+/* 5010 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5012 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5014 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_modelChange */

 

-/* 4972 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5016 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4974 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4978 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 4980 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 4982 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4984 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4986 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5018 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5022 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 5024 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5026 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5028 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5030 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4988 */	0xa,		/* 10 */

+/* 5032 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4990 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4992 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4994 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4996 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5034 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5036 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5038 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5040 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter modelChange */

 

-/* 4998 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 5000 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5002 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */

-

-	/* Return value */

-

-/* 5004 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5006 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5008 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnHeaderCells */

-

-/* 5010 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5012 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5016 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 5018 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 5020 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5022 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 5024 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 5026 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5028 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 5030 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5032 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5034 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter cellAccessibles */

-

-/* 5036 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 5038 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5040 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

-

-	/* Parameter nColumnHeaderCells */

-

-/* 5042 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5044 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5046 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 5042 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 5044 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5046 */	NdrFcShort( 0x5ae ),	/* Type Offset=1454 */

 

 	/* Return value */

 

 /* 5048 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5050 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5050 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 5052 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowHeaderCells */

+	/* Procedure get_columnHeaderCells */

 

 /* 5054 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5056 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5060 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 5060 */	NdrFcShort( 0x4 ),	/* 4 */

 /* 5062 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 5064 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5066 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4822,9 +4829,9 @@
 

 /* 5080 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5082 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5084 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

+/* 5084 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

-	/* Parameter nRowHeaderCells */

+	/* Parameter nColumnHeaderCells */

 

 /* 5086 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5088 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

@@ -4838,305 +4845,343 @@
 /* 5096 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isSelected */

+	/* Procedure get_rowHeaderCells */

 

 /* 5098 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5100 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5104 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 5106 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5104 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 5106 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 5108 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5110 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 5112 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+/* 5110 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 5112 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 5114 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5116 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 5116 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 5118 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5120 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5122 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter isSelected */

+	/* Parameter cellAccessibles */

 

-/* 5124 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5124 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 5126 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5128 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 5128 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

-	/* Return value */

+	/* Parameter nRowHeaderCells */

 

-/* 5130 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5130 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5132 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 5134 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 5136 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5138 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5140 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isSelected */

+

+/* 5142 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5144 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5148 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 5150 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5154 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 5156 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 5158 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter isSelected */

+

+/* 5168 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5170 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5172 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 5174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5176 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_rowColumnExtents */

 

-/* 5136 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5180 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5138 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5142 */	NdrFcShort( 0xa ),	/* 10 */

-/* 5144 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

-/* 5146 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5148 */	NdrFcShort( 0x91 ),	/* 145 */

-/* 5150 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5182 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5186 */	NdrFcShort( 0xa ),	/* 10 */

+/* 5188 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 5190 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5192 */	NdrFcShort( 0x91 ),	/* 145 */

+/* 5194 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x6,		/* 6 */

-/* 5152 */	0xa,		/* 10 */

+/* 5196 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5154 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5156 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5158 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5198 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5204 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 5162 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5164 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5166 */	0x8,		/* FC_LONG */

+/* 5206 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5208 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5210 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 5168 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5170 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5172 */	0x8,		/* FC_LONG */

+/* 5212 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5214 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5216 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rowExtents */

 

-/* 5174 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5176 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 5178 */	0x8,		/* FC_LONG */

+/* 5218 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5220 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5222 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnExtents */

 

-/* 5180 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5182 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 5184 */	0x8,		/* FC_LONG */

+/* 5224 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5226 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 5228 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 5186 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5188 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 5190 */	0x3,		/* FC_SMALL */

+/* 5230 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5232 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 5234 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 5192 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5194 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

-/* 5196 */	0x8,		/* FC_LONG */

+/* 5236 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5238 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 5240 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_table */

 

-/* 5198 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5242 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5200 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5204 */	NdrFcShort( 0xb ),	/* 11 */

-/* 5206 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 5208 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5210 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5212 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5244 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5248 */	NdrFcShort( 0xb ),	/* 11 */

+/* 5250 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5254 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5256 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5214 */	0xa,		/* 10 */

+/* 5258 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5216 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5218 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5220 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5260 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5262 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5264 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5266 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter table */

 

-/* 5224 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 5226 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5228 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 5268 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5270 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5272 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

-/* 5230 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5232 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5234 */	0x8,		/* FC_LONG */

+/* 5274 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5276 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5278 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_imagePosition */

 

-/* 5236 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5280 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5238 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5242 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 5244 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

-/* 5246 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5248 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 5250 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5282 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5286 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 5288 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 5290 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5292 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 5294 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 5252 */	0xa,		/* 10 */

+/* 5296 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5254 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5256 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5258 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5260 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5304 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter coordinateType */

 

-/* 5262 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5264 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5266 */	0xd,		/* FC_ENUM16 */

+/* 5306 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5308 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5310 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 5268 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5270 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5272 */	0x8,		/* FC_LONG */

+/* 5312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5314 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5316 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 5274 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5276 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 5278 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 5280 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5282 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 5284 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_imageSize */

-

-/* 5286 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5288 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5292 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 5294 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

-/* 5296 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5298 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 5300 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 5302 */	0xa,		/* 10 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5304 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5306 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5308 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5310 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter height */

-

-/* 5312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5314 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5316 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter width */

-

 /* 5318 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5320 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5320 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

 /* 5322 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 5324 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5326 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5326 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 5328 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_toolkitName */

+	/* Procedure get_imageSize */

 

 /* 5330 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5332 */	NdrFcLong( 0x0 ),	/* 0 */

 /* 5336 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 5338 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5338 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

 /* 5340 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5342 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5344 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x2,		/* 2 */

+/* 5342 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 5344 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 5346 */	0xa,		/* 10 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5348 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5348 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5350 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5352 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5354 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter name */

+	/* Parameter height */

 

-/* 5356 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5356 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5358 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5360 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 5360 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter width */

 

-/* 5362 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5362 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5364 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

 /* 5366 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_toolkitVersion */

+	/* Return value */

 

-/* 5368 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5368 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5370 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5372 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_toolkitName */

+

+/* 5374 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5370 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5374 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5376 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 5378 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5380 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5382 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5376 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5380 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 5382 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5384 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5386 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5388 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5384 */	0xa,		/* 10 */

+/* 5390 */	0xa,		/* 10 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5386 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 5388 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5390 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5392 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5392 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 5394 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5398 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter version */

+	/* Parameter name */

 

-/* 5394 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 5396 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5398 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 5400 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5402 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5404 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 5400 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5402 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5404 */	0x8,		/* FC_LONG */

+/* 5406 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5408 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5410 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_toolkitVersion */

+

+/* 5412 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5414 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5418 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5420 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5422 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5424 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5426 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 5428 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 5430 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 5432 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5434 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5436 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+/* 5438 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5440 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5442 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+/* 5444 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5446 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5448 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_anchorTarget */

 

-/* 5406 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5450 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5408 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5412 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5414 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 5416 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5418 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5420 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5452 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5456 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 5458 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 5460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5462 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5464 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5422 */	0xa,		/* 10 */

+/* 5466 */	0xa,		/* 10 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5424 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5426 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5428 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5474 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter accessible */

 

-/* 5432 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 5434 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 5436 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 5476 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5478 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 5480 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

-/* 5438 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5440 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 5442 */	0x8,		/* FC_LONG */

+/* 5482 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5484 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 5486 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 			0x0

@@ -5968,95 +6013,96 @@
 /* 1250 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

 /* 1252 */	

-			0x11, 0x0,	/* FC_RP */

-/* 1254 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1260) */

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1254 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1256) */

 /* 1256 */	

-			0x12, 0x0,	/* FC_UP */

-/* 1258 */	NdrFcShort( 0xffbe ),	/* Offset= -66 (1192) */

-/* 1260 */	0xb4,		/* FC_USER_MARSHAL */

-			0x83,		/* 131 */

-/* 1262 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1264 */	NdrFcShort( 0x18 ),	/* 24 */

-/* 1266 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1268 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1256) */

-/* 1270 */	

-			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

-/* 1272 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1274) */

-/* 1274 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1258 */	NdrFcShort( 0x18 ),	/* Offset= 24 (1282) */

+/* 1260 */	

 			0x1a,		/* FC_BOGUS_STRUCT */

 			0x3,		/* 3 */

-/* 1276 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1278 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1280 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1280) */

-/* 1282 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1262 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1264 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1266 */	NdrFcShort( 0x10 ),	/* Offset= 16 (1282) */

+/* 1268 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1284 */	NdrFcShort( 0xfb1c ),	/* Offset= -1252 (32) */

-/* 1286 */	0x8,		/* FC_LONG */

-			0x8,		/* FC_LONG */

-/* 1288 */	0x5c,		/* FC_PAD */

+/* 1270 */	NdrFcShort( 0xfb3c ),	/* Offset= -1220 (50) */

+/* 1272 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 1274 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1276 */	NdrFcShort( 0xfb36 ),	/* Offset= -1226 (50) */

+/* 1278 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 1280 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1290 */	

-			0x11, 0x0,	/* FC_RP */

-/* 1292 */	NdrFcShort( 0xfc02 ),	/* Offset= -1022 (270) */

-/* 1294 */	

-			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

-/* 1296 */	0x3,		/* FC_SMALL */

-			0x5c,		/* FC_PAD */

-/* 1298 */	

-			0x11, 0x10,	/* FC_RP [pointer_deref] */

-/* 1300 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1302) */

-/* 1302 */	

-			0x2f,		/* FC_IP */

-			0x5a,		/* FC_CONSTANT_IID */

-/* 1304 */	NdrFcLong( 0x1c20f2b ),	/* 29495083 */

-/* 1308 */	NdrFcShort( 0x3dd2 ),	/* 15826 */

-/* 1310 */	NdrFcShort( 0x400f ),	/* 16399 */

-/* 1312 */	0x94,		/* 148 */

-			0x9f,		/* 159 */

-/* 1314 */	0xad,		/* 173 */

-			0x0,		/* 0 */

-/* 1316 */	0xbd,		/* 189 */

-			0xab,		/* 171 */

-/* 1318 */	0x1d,		/* 29 */

-			0x41,		/* 65 */

-/* 1320 */	

-			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1322 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1324) */

-/* 1324 */	

-			0x13, 0x0,	/* FC_OP */

-/* 1326 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1328) */

-/* 1328 */	

+/* 1282 */	

 			0x21,		/* FC_BOGUS_ARRAY */

 			0x3,		/* 3 */

-/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1332 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1286 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1334 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1336 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1338 */	NdrFcLong( 0xffffffff ),	/* -1 */

-/* 1342 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1344 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1288 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1290 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1292 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1296 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1298 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1346 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (1302) */

-/* 1348 */	0x5c,		/* FC_PAD */

+/* 1300 */	NdrFcShort( 0xffd8 ),	/* Offset= -40 (1260) */

+/* 1302 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

+/* 1304 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1306 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1312) */

+/* 1308 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1310 */	NdrFcShort( 0xff8a ),	/* Offset= -118 (1192) */

+/* 1312 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1314 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1316 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1320 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1308) */

+/* 1322 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 1324 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1326) */

+/* 1326 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1328 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1332) */

+/* 1334 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1336 */	NdrFcShort( 0xfae8 ),	/* Offset= -1304 (32) */

+/* 1338 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1340 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1342 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1344 */	NdrFcShort( 0xfbce ),	/* Offset= -1074 (270) */

+/* 1346 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1348 */	0x3,		/* FC_SMALL */

+			0x5c,		/* FC_PAD */

 /* 1350 */	

 			0x11, 0x10,	/* FC_RP [pointer_deref] */

 /* 1352 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1354) */

 /* 1354 */	

 			0x2f,		/* FC_IP */

 			0x5a,		/* FC_CONSTANT_IID */

-/* 1356 */	NdrFcLong( 0x35ad8070 ),	/* 900563056 */

-/* 1360 */	NdrFcShort( 0xc20c ),	/* -15860 */

-/* 1362 */	NdrFcShort( 0x4fb4 ),	/* 20404 */

-/* 1364 */	0xb0,		/* 176 */

-			0x94,		/* 148 */

-/* 1366 */	0xf4,		/* 244 */

-			0xf7,		/* 247 */

-/* 1368 */	0x27,		/* 39 */

-			0x5d,		/* 93 */

-/* 1370 */	0xd4,		/* 212 */

-			0x69,		/* 105 */

+/* 1356 */	NdrFcLong( 0x1c20f2b ),	/* 29495083 */

+/* 1360 */	NdrFcShort( 0x3dd2 ),	/* 15826 */

+/* 1362 */	NdrFcShort( 0x400f ),	/* 16399 */

+/* 1364 */	0x94,		/* 148 */

+			0x9f,		/* 159 */

+/* 1366 */	0xad,		/* 173 */

+			0x0,		/* 0 */

+/* 1368 */	0xbd,		/* 189 */

+			0xab,		/* 171 */

+/* 1370 */	0x1d,		/* 29 */

+			0x41,		/* 65 */

 /* 1372 */	

 			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

 /* 1374 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1376) */

@@ -6064,70 +6110,108 @@
 			0x13, 0x0,	/* FC_OP */

 /* 1378 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1380) */

 /* 1380 */	

-			0x1c,		/* FC_CVARRAY */

-			0x3,		/* 3 */

-/* 1382 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1384 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x0,		/*  */

-/* 1386 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

-/* 1388 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

-/* 1390 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x54,		/* FC_DEREFERENCE */

-/* 1392 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

-/* 1394 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1396 */	0x8,		/* FC_LONG */

-			0x5b,		/* FC_END */

-/* 1398 */	

-			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

-/* 1400 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1402) */

-/* 1402 */	

-			0x1a,		/* FC_BOGUS_STRUCT */

-			0x3,		/* 3 */

-/* 1404 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 1406 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1408 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1408) */

-/* 1410 */	0xd,		/* FC_ENUM16 */

-			0x8,		/* FC_LONG */

-/* 1412 */	0x8,		/* FC_LONG */

-			0x8,		/* FC_LONG */

-/* 1414 */	0x8,		/* FC_LONG */

-			0x5b,		/* FC_END */

-/* 1416 */	

-			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1418 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1420) */

-/* 1420 */	

-			0x13, 0x0,	/* FC_OP */

-/* 1422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1424) */

-/* 1424 */	

 			0x21,		/* FC_BOGUS_ARRAY */

 			0x3,		/* 3 */

-/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1428 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1382 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1384 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1430 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1432 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1434 */	NdrFcLong( 0xffffffff ),	/* -1 */

-/* 1438 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1440 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1386 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1388 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1390 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1394 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1396 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1442 */	NdrFcShort( 0xfa90 ),	/* Offset= -1392 (50) */

-/* 1444 */	0x5c,		/* FC_PAD */

+/* 1398 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (1354) */

+/* 1400 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1446 */	

+/* 1402 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1404 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1406) */

+/* 1406 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1408 */	NdrFcLong( 0x35ad8070 ),	/* 900563056 */

+/* 1412 */	NdrFcShort( 0xc20c ),	/* -15860 */

+/* 1414 */	NdrFcShort( 0x4fb4 ),	/* 20404 */

+/* 1416 */	0xb0,		/* 176 */

+			0x94,		/* 148 */

+/* 1418 */	0xf4,		/* 244 */

+			0xf7,		/* 247 */

+/* 1420 */	0x27,		/* 39 */

+			0x5d,		/* 93 */

+/* 1422 */	0xd4,		/* 212 */

+			0x69,		/* 105 */

+/* 1424 */	

 			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1448 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1450) */

-/* 1450 */	

+/* 1426 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1428) */

+/* 1428 */	

 			0x13, 0x0,	/* FC_OP */

+/* 1430 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1432) */

+/* 1432 */	

+			0x1c,		/* FC_CVARRAY */

+			0x3,		/* 3 */

+/* 1434 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1436 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x0,		/*  */

+/* 1438 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1440 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 1442 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1444 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1446 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1448 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 1450 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

 /* 1452 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1454) */

 /* 1454 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1456 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1460 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1460) */

+/* 1462 */	0xd,		/* FC_ENUM16 */

+			0x8,		/* FC_LONG */

+/* 1464 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1466 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 1468 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1470 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1472) */

+/* 1472 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1474 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1476) */

+/* 1476 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1480 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1482 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1484 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1486 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1490 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1492 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1494 */	NdrFcShort( 0xfa5c ),	/* Offset= -1444 (50) */

+/* 1496 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1498 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1500 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1502) */

+/* 1502 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1504 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1506) */

+/* 1506 */	

 			0x1b,		/* FC_CARRAY */

 			0x3,		/* 3 */

-/* 1456 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1458 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1508 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1510 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1460 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

-/* 1462 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1464 */	0x8,		/* FC_LONG */

+/* 1512 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1514 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1516 */	0x8,		/* FC_LONG */

 			0x5b,		/* FC_END */

 

 			0x0

@@ -6679,14 +6763,212 @@
    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

+/* Object interface: IAccessible2_3, ver. 0.0,

+   GUID={0x5BE18059,0x762E,0x4E73,{0x94,0x76,0xAB,0xA2,0x94,0xFE,0xD4,0x11}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAccessible2_3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    472,

+    510,

+    554,

+    604,

+    642,

+    680,

+    730,

+    780,

+    818,

+    856,

+    894,

+    932,

+    982,

+    1032,

+    1070,

+    1108,

+    1146,

+    1184,

+    1222,

+    1266,

+    1310,

+    1366

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    ia2_api_all__MIDL_ProcFormatString.Format,

+    &IAccessible2_3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAccessible2_3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    ia2_api_all__MIDL_ProcFormatString.Format,

+    &IAccessible2_3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(50) _IAccessible2_3ProxyVtbl = 

+{

+    &IAccessible2_3_ProxyInfo,

+    &IID_IAccessible2_3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    0 /* IAccessible::get_accParent */ ,

+    0 /* IAccessible::get_accChildCount */ ,

+    0 /* IAccessible::get_accChild */ ,

+    0 /* IAccessible::get_accName */ ,

+    0 /* IAccessible::get_accValue */ ,

+    0 /* IAccessible::get_accDescription */ ,

+    0 /* IAccessible::get_accRole */ ,

+    0 /* IAccessible::get_accState */ ,

+    0 /* IAccessible::get_accHelp */ ,

+    0 /* IAccessible::get_accHelpTopic */ ,

+    0 /* IAccessible::get_accKeyboardShortcut */ ,

+    0 /* IAccessible::get_accFocus */ ,

+    0 /* IAccessible::get_accSelection */ ,

+    0 /* IAccessible::get_accDefaultAction */ ,

+    0 /* IAccessible::accSelect */ ,

+    0 /* IAccessible::accLocation */ ,

+    0 /* IAccessible::accNavigate */ ,

+    0 /* IAccessible::accHitTest */ ,

+    0 /* IAccessible::accDoDefaultAction */ ,

+    0 /* IAccessible::put_accName */ ,

+    0 /* IAccessible::put_accValue */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::role */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_3::get_selectionRanges */

+};

+

+

+static const PRPC_STUB_FUNCTION IAccessible2_3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAccessible2_3StubVtbl =

+{

+    &IID_IAccessible2_3,

+    &IAccessible2_3_ServerInfo,

+    50,

+    &IAccessible2_3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0005, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

 /* Object interface: IAccessibleComponent, ver. 0.0,

    GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */

 

 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =

     {

-    1366,

     1410,

+    1454,

     76

     };

 

@@ -6739,10 +7021,10 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =

     {

-    1448,

-    1486,

-    1524,

-    1562

+    1492,

+    1530,

+    1568,

+    1606

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =

@@ -6789,7 +7071,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0007, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

@@ -6799,25 +7081,25 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleText_FormatStringOffsetTable[] =

     {

-    1600,

     1644,

+    1688,

     76,

-    1700,

-    1768,

-    1806,

-    1862,

-    1912,

-    1962,

-    2024,

-    2086,

-    2148,

-    2186,

-    2224,

-    2274,

-    2312,

-    2362,

-    2424,

-    2462

+    1744,

+    1812,

+    1850,

+    1906,

+    1956,

+    2006,

+    2068,

+    2130,

+    2192,

+    2230,

+    2268,

+    2318,

+    2356,

+    2406,

+    2468,

+    2506

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =

@@ -6885,26 +7167,26 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleText2_FormatStringOffsetTable[] =

     {

-    1600,

     1644,

+    1688,

     76,

-    1700,

-    1768,

-    1806,

-    1862,

-    1912,

-    1962,

-    2024,

-    2086,

-    2148,

-    2186,

-    2224,

-    2274,

-    2312,

-    2362,

-    2424,

-    2462,

-    2500

+    1744,

+    1812,

+    1850,

+    1906,

+    1956,

+    2006,

+    2068,

+    2130,

+    2192,

+    2230,

+    2268,

+    2318,

+    2356,

+    2406,

+    2468,

+    2506,

+    2544

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo =

@@ -6973,13 +7255,13 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =

     {

-    1600,

-    2562,

+    1644,

     2606,

     2650,

     2694,

-    2732,

-    2782

+    2738,

+    2776,

+    2826

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =

@@ -7041,11 +7323,11 @@
     328,

     384,

     428,

-    2832,

     2876,

     2920,

-    2958,

-    2996

+    2964,

+    3002,

+    3040

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =

@@ -7105,28 +7387,28 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =

     {

-    1600,

     1644,

+    1688,

     76,

-    1700,

-    1768,

-    1806,

-    1862,

-    1912,

-    1962,

-    2024,

-    2086,

-    2148,

-    2186,

-    2224,

-    2274,

-    2312,

-    2362,

-    2424,

-    2462,

-    3034,

-    3072,

-    3116

+    1744,

+    1812,

+    1850,

+    1906,

+    1956,

+    2006,

+    2068,

+    2130,

+    2192,

+    2230,

+    2268,

+    2318,

+    2356,

+    2406,

+    2468,

+    2506,

+    3078,

+    3116,

+    3160

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =

@@ -7197,29 +7479,29 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] =

     {

-    1600,

     1644,

+    1688,

     76,

-    1700,

-    1768,

-    1806,

-    1862,

-    1912,

-    1962,

-    2024,

-    2086,

-    2148,

-    2186,

-    2224,

-    2274,

-    2312,

-    2362,

-    2424,

-    2462,

-    3034,

-    3072,

+    1744,

+    1812,

+    1850,

+    1906,

+    1956,

+    2006,

+    2068,

+    2130,

+    2192,

+    2230,

+    2268,

+    2318,

+    2356,

+    2406,

+    2468,

+    2506,

+    3078,

     3116,

-    3160

+    3160,

+    3204

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo =

@@ -7291,35 +7573,35 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =

     {

-    3204,

-    3254,

-    3292,

-    3342,

+    3248,

+    3298,

+    3336,

     3386,

-    3436,

+    3430,

     3480,

     3524,

-    2920,

-    2958,

-    3562,

-    3600,

-    3638,

+    3568,

+    2964,

+    3002,

+    3606,

+    3644,

     3682,

-    3732,

+    3726,

     3776,

     3820,

-    3870,

-    3920,

-    3970,

-    4008,

+    3864,

+    3914,

+    3964,

+    4014,

     4052,

     4096,

-    4146,

-    4184,

-    4222,

-    4260,

-    4298,

-    4366

+    4140,

+    4190,

+    4228,

+    4266,

+    4304,

+    4342,

+    4410

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =

@@ -7397,26 +7679,26 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =

     {

-    3204,

-    3254,

+    3248,

+    3298,

     284,

-    4404,

-    1768,

-    4442,

-    4480,

-    3524,

-    4518,

+    4448,

+    1812,

+    4486,

+    4524,

+    3568,

     4562,

     4606,

     4650,

     4694,

-    4732,

+    4738,

     4776,

     4820,

-    4858,

-    4896,

-    4934,

-    4972

+    4864,

+    4902,

+    4940,

+    4978,

+    5016

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =

@@ -7486,14 +7768,14 @@
 static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =

     {

     208,

-    5010,

-    76,

-    4404,

     5054,

-    4442,

+    76,

+    4448,

     5098,

-    5136,

-    5198

+    4486,

+    5142,

+    5180,

+    5242

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =

@@ -7552,8 +7834,8 @@
 static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =

     {

     0,

-    5236,

-    5286

+    5280,

+    5330

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =

@@ -7599,7 +7881,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0017, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

@@ -7611,8 +7893,8 @@
     {

     0,

     38,

-    5330,

-    5368

+    5374,

+    5412

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =

@@ -7665,7 +7947,7 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] =

     {

-    5406

+    5450

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo =

@@ -7709,7 +7991,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0019, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 static const MIDL_STUB_DESC Object_StubDesc = 

@@ -7740,6 +8022,7 @@
 {

     ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAccessible2_3ProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,

@@ -7763,6 +8046,7 @@
 {

     ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAccessible2_3StubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,

@@ -7786,6 +8070,7 @@
 {

     "IAccessibleHyperlink",

     "IAccessibleImage",

+    "IAccessible2_3",

     "IAccessibleAction",

     "IAccessibleValue",

     "IAccessible2",

@@ -7809,6 +8094,7 @@
 {

     0,

     0,

+    &IID_IAccessible,

     0,

     0,

     &IID_IAccessible,

@@ -7835,12 +8121,12 @@
 {

     IID_BS_LOOKUP_SETUP

 

-    IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 )

+    IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 19, 16 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 )

-    IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex )

+    IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 19, *pIndex )

     

 }

 

@@ -7851,7 +8137,7 @@
     (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList,

     (const IID ** ) & _ia2_api_all_BaseIIDList,

     & _ia2_api_all_IID_Lookup, 

-    18,

+    19,

     2,

     0, /* table of [async_uuid] interfaces */

     0, /* Filler1 */

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.h b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.h
index 44f8d28..1f9c421 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.h
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.h
@@ -73,6 +73,13 @@
 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */

 

 

+#ifndef __IAccessible2_3_FWD_DEFINED__

+#define __IAccessible2_3_FWD_DEFINED__

+typedef interface IAccessible2_3 IAccessible2_3;

+

+#endif 	/* __IAccessible2_3_FWD_DEFINED__ */

+

+

 #ifndef __IAccessibleComponent_FWD_DEFINED__

 #define __IAccessibleComponent_FWD_DEFINED__

 typedef interface IAccessibleComponent IAccessibleComponent;

@@ -185,6 +192,13 @@
 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */

 

 

+#ifndef __IAccessible2_3_FWD_DEFINED__

+#define __IAccessible2_3_FWD_DEFINED__

+typedef interface IAccessible2_3 IAccessible2_3;

+

+#endif 	/* __IAccessible2_3_FWD_DEFINED__ */

+

+

 #ifndef __IAccessibleAction_FWD_DEFINED__

 #define __IAccessibleAction_FWD_DEFINED__

 typedef interface IAccessibleAction IAccessibleAction;

@@ -395,6 +409,14 @@
 

 #define	IA2_RELATION_SUBWINDOW_OF	( L"subwindowOf" )

 

+#define	IA2_RELATION_DETAILS	( L"details" )

+

+#define	IA2_RELATION_DETAILS_FOR	( L"detailsFor" )

+

+#define	IA2_RELATION_ERROR	( L"error" )

+

+#define	IA2_RELATION_ERROR_FOR	( L"errorFor" )

+

 

 

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec;

@@ -737,7 +759,8 @@
         IA2_ROLE_LANDMARK	= ( IA2_ROLE_COMPLEMENTARY_CONTENT + 1 ) ,

         IA2_ROLE_LEVEL_BAR	= ( IA2_ROLE_LANDMARK + 1 ) ,

         IA2_ROLE_CONTENT_DELETION	= ( IA2_ROLE_LEVEL_BAR + 1 ) ,

-        IA2_ROLE_CONTENT_INSERTION	= ( IA2_ROLE_CONTENT_DELETION + 1 ) 

+        IA2_ROLE_CONTENT_INSERTION	= ( IA2_ROLE_CONTENT_DELETION + 1 ) ,

+        IA2_ROLE_BLOCK_QUOTE	= ( IA2_ROLE_CONTENT_INSERTION + 1 ) 

     } ;

 typedef long AccessibleStates;

 

@@ -1740,13 +1763,496 @@
 /* interface __MIDL_itf_ia2_api_all_0000_0004 */

 /* [local] */ 

 

-typedef long IA2Color;

+typedef struct IA2Range

+    {

+    IUnknown *anchor;

+    long anchorOffset;

+    IUnknown *active;

+    long activeOffset;

+    } 	IA2Range;

 

 

 

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec;

 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec;

 

+#ifndef __IAccessible2_3_INTERFACE_DEFINED__

+#define __IAccessible2_3_INTERFACE_DEFINED__

+

+/* interface IAccessible2_3 */

+/* [uuid][object] */ 

+

+

+EXTERN_C const IID IID_IAccessible2_3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("5BE18059-762E-4E73-9476-ABA294FED411")

+    IAccessible2_3 : public IAccessible2_2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectionRanges( 

+            /* [size_is][size_is][out] */ IA2Range **ranges,

+            /* [retval][out] */ long *nRanges) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAccessible2_3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAccessible2_3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAccessible2_3 * This);

+        

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAccessible2_3 * This);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAccessible2_3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAccessible2_3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAccessible2_3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAccessible2_3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ IDispatch **ppdispParent);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *pcountChildren);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 

+            IAccessible2_3 * This,

+            /* [in] */ VARIANT varChild,

+            /* [retval][out] */ IDispatch **ppdispChild);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszName);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszValue);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszDescription);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ VARIANT *pvarRole);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ VARIANT *pvarState);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszHelp);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 

+            IAccessible2_3 * This,

+            /* [out] */ BSTR *pszHelpFile,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ long *pidTopic);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszKeyboardShortcut);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ VARIANT *pvarChild);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ VARIANT *pvarChildren);

+        

+        /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [retval][out] */ BSTR *pszDefaultAction);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 

+            IAccessible2_3 * This,

+            /* [in] */ long flagsSelect,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 

+            IAccessible2_3 * This,

+            /* [out] */ long *pxLeft,

+            /* [out] */ long *pyTop,

+            /* [out] */ long *pcxWidth,

+            /* [out] */ long *pcyHeight,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 

+            IAccessible2_3 * This,

+            /* [in] */ long navDir,

+            /* [optional][in] */ VARIANT varStart,

+            /* [retval][out] */ VARIANT *pvarEndUpAt);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 

+            IAccessible2_3 * This,

+            /* [in] */ long xLeft,

+            /* [in] */ long yTop,

+            /* [retval][out] */ VARIANT *pvarChild);

+        

+        /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild);

+        

+        /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [in] */ BSTR szName);

+        

+        /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 

+            IAccessible2_3 * This,

+            /* [optional][in] */ VARIANT varChild,

+            /* [in] */ BSTR szValue);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *nRelations);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( 

+            IAccessible2_3 * This,

+            /* [in] */ long relationIndex,

+            /* [retval][out] */ IAccessibleRelation **relation);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxRelations,

+            /* [length_is][size_is][out] */ IAccessibleRelation **relations,

+            /* [retval][out] */ long *nRelations);

+        

+        HRESULT ( STDMETHODCALLTYPE *role )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *role);

+        

+        HRESULT ( STDMETHODCALLTYPE *scrollTo )( 

+            IAccessible2_3 * This,

+            /* [in] */ enum IA2ScrollType scrollType);

+        

+        HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( 

+            IAccessible2_3 * This,

+            /* [in] */ enum IA2CoordinateType coordinateType,

+            /* [in] */ long x,

+            /* [in] */ long y);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( 

+            IAccessible2_3 * This,

+            /* [out] */ long *groupLevel,

+            /* [out] */ long *similarItemsInGroup,

+            /* [retval][out] */ long *positionInGroup);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ AccessibleStates *states);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *extendedRole);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *localizedExtendedRole);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *nExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxExtendedStates,

+            /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,

+            /* [retval][out] */ long *nExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( 

+            IAccessible2_3 * This,

+            /* [in] */ long maxLocalizedExtendedStates,

+            /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,

+            /* [retval][out] */ long *nLocalizedExtendedStates);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *uniqueID);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ HWND *windowHandle);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ long *indexInParent);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ IA2Locale *locale);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 

+            IAccessible2_3 * This,

+            /* [retval][out] */ BSTR *attributes);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )( 

+            IAccessible2_3 * This,

+            /* [in] */ BSTR name,

+            /* [retval][out] */ VARIANT *attribute);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )( 

+            IAccessible2_3 * This,

+            /* [out] */ IUnknown **accessible,

+            /* [retval][out] */ long *caretOffset);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )( 

+            IAccessible2_3 * This,

+            /* [in] */ BSTR type,

+            /* [in] */ long maxTargets,

+            /* [size_is][size_is][out] */ IUnknown ***targets,

+            /* [retval][out] */ long *nTargets);

+        

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionRanges )( 

+            IAccessible2_3 * This,

+            /* [size_is][size_is][out] */ IA2Range **ranges,

+            /* [retval][out] */ long *nRanges);

+        

+        END_INTERFACE

+    } IAccessible2_3Vtbl;

+

+    interface IAccessible2_3

+    {

+        CONST_VTBL struct IAccessible2_3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAccessible2_3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAccessible2_3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAccessible2_3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAccessible2_3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAccessible2_3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAccessible2_3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAccessible2_3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAccessible2_3_get_accParent(This,ppdispParent)	\

+    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

+

+#define IAccessible2_3_get_accChildCount(This,pcountChildren)	\

+    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

+

+#define IAccessible2_3_get_accChild(This,varChild,ppdispChild)	\

+    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

+

+#define IAccessible2_3_get_accName(This,varChild,pszName)	\

+    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

+

+#define IAccessible2_3_get_accValue(This,varChild,pszValue)	\

+    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

+

+#define IAccessible2_3_get_accDescription(This,varChild,pszDescription)	\

+    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

+

+#define IAccessible2_3_get_accRole(This,varChild,pvarRole)	\

+    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

+

+#define IAccessible2_3_get_accState(This,varChild,pvarState)	\

+    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

+

+#define IAccessible2_3_get_accHelp(This,varChild,pszHelp)	\

+    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

+

+#define IAccessible2_3_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\

+    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

+

+#define IAccessible2_3_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\

+    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

+

+#define IAccessible2_3_get_accFocus(This,pvarChild)	\

+    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

+

+#define IAccessible2_3_get_accSelection(This,pvarChildren)	\

+    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

+

+#define IAccessible2_3_get_accDefaultAction(This,varChild,pszDefaultAction)	\

+    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

+

+#define IAccessible2_3_accSelect(This,flagsSelect,varChild)	\

+    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

+

+#define IAccessible2_3_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\

+    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

+

+#define IAccessible2_3_accNavigate(This,navDir,varStart,pvarEndUpAt)	\

+    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

+

+#define IAccessible2_3_accHitTest(This,xLeft,yTop,pvarChild)	\

+    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

+

+#define IAccessible2_3_accDoDefaultAction(This,varChild)	\

+    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

+

+#define IAccessible2_3_put_accName(This,varChild,szName)	\

+    ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) 

+

+#define IAccessible2_3_put_accValue(This,varChild,szValue)	\

+    ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) 

+

+

+#define IAccessible2_3_get_nRelations(This,nRelations)	\

+    ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) 

+

+#define IAccessible2_3_get_relation(This,relationIndex,relation)	\

+    ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) 

+

+#define IAccessible2_3_get_relations(This,maxRelations,relations,nRelations)	\

+    ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) 

+

+#define IAccessible2_3_role(This,role)	\

+    ( (This)->lpVtbl -> role(This,role) ) 

+

+#define IAccessible2_3_scrollTo(This,scrollType)	\

+    ( (This)->lpVtbl -> scrollTo(This,scrollType) ) 

+

+#define IAccessible2_3_scrollToPoint(This,coordinateType,x,y)	\

+    ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) 

+

+#define IAccessible2_3_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup)	\

+    ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) 

+

+#define IAccessible2_3_get_states(This,states)	\

+    ( (This)->lpVtbl -> get_states(This,states) ) 

+

+#define IAccessible2_3_get_extendedRole(This,extendedRole)	\

+    ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) 

+

+#define IAccessible2_3_get_localizedExtendedRole(This,localizedExtendedRole)	\

+    ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) 

+

+#define IAccessible2_3_get_nExtendedStates(This,nExtendedStates)	\

+    ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) 

+

+#define IAccessible2_3_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates)	\

+    ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) 

+

+#define IAccessible2_3_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates)	\

+    ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) 

+

+#define IAccessible2_3_get_uniqueID(This,uniqueID)	\

+    ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) 

+

+#define IAccessible2_3_get_windowHandle(This,windowHandle)	\

+    ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) 

+

+#define IAccessible2_3_get_indexInParent(This,indexInParent)	\

+    ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) 

+

+#define IAccessible2_3_get_locale(This,locale)	\

+    ( (This)->lpVtbl -> get_locale(This,locale) ) 

+

+#define IAccessible2_3_get_attributes(This,attributes)	\

+    ( (This)->lpVtbl -> get_attributes(This,attributes) ) 

+

+

+#define IAccessible2_3_get_attribute(This,name,attribute)	\

+    ( (This)->lpVtbl -> get_attribute(This,name,attribute) ) 

+

+#define IAccessible2_3_get_accessibleWithCaret(This,accessible,caretOffset)	\

+    ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) ) 

+

+#define IAccessible2_3_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets)	\

+    ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) ) 

+

+

+#define IAccessible2_3_get_selectionRanges(This,ranges,nRanges)	\

+    ( (This)->lpVtbl -> get_selectionRanges(This,ranges,nRanges) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAccessible2_3_INTERFACE_DEFINED__ */

+

+

+/* interface __MIDL_itf_ia2_api_all_0000_0005 */

+/* [local] */ 

+

+typedef long IA2Color;

+

+

+

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0005_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0005_v0_0_s_ifspec;

+

 #ifndef __IAccessibleComponent_INTERFACE_DEFINED__

 #define __IAccessibleComponent_INTERFACE_DEFINED__

 

@@ -1959,7 +2465,7 @@
 #endif 	/* __IAccessibleValue_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0006 */

+/* interface __MIDL_itf_ia2_api_all_0000_0007 */

 /* [local] */ 

 

 typedef struct IA2TextSegment

@@ -1981,8 +2487,8 @@
     } ;

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0007_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0007_v0_0_s_ifspec;

 

 #ifndef __IAccessibleText_INTERFACE_DEFINED__

 #define __IAccessibleText_INTERFACE_DEFINED__

@@ -4437,7 +4943,7 @@
 #endif 	/* __IAccessibleImage_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0016 */

+/* interface __MIDL_itf_ia2_api_all_0000_0017 */

 /* [local] */ 

 

 

@@ -4481,8 +4987,8 @@
     } ;

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0017_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0017_v0_0_s_ifspec;

 

 #ifndef __IAccessibleApplication_INTERFACE_DEFINED__

 #define __IAccessibleApplication_INTERFACE_DEFINED__

@@ -4674,7 +5180,7 @@
 #endif 	/* __IAccessibleDocument_INTERFACE_DEFINED__ */

 

 

-/* interface __MIDL_itf_ia2_api_all_0000_0018 */

+/* interface __MIDL_itf_ia2_api_all_0000_0019 */

 /* [local] */ 

 

 

@@ -4682,8 +5188,8 @@
 

 

 

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec;

-extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0019_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0019_v0_0_s_ifspec;

 

 

 #ifndef __IAccessible2Lib_LIBRARY_DEFINED__

@@ -4719,6 +5225,7 @@
 

 

 

+

 EXTERN_C const IID LIBID_IAccessible2Lib;

 #endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */

 

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.tlb b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.tlb
index ec9e72c..8167816 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.tlb
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_i.c b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_i.c
index fdaad5c..513877b 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_i.c
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_i.c
@@ -79,6 +79,9 @@
 MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF);

 

 

+MIDL_DEFINE_GUID(IID, IID_IAccessible2_3,0x5BE18059,0x762E,0x4E73,0x94,0x76,0xAB,0xA2,0x94,0xFE,0xD4,0x11);

+

+

 MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4);

 

 

diff --git a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_p.c b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_p.c
index 6f76dda..76491ae9 100644
--- a/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_p.c
+++ b/third_party/win_build_output/midl/third_party/iaccessible2/x86/ia2_api_all_p.c
@@ -49,8 +49,8 @@
 

 #include "ia2_api_all.h"

 

-#define TYPE_FORMAT_STRING_SIZE   1513                              

-#define PROC_FORMAT_STRING_SIZE   5197                              

+#define TYPE_FORMAT_STRING_SIZE   1563                              

+#define PROC_FORMAT_STRING_SIZE   5239                              

 #define EXPR_FORMAT_STRING_SIZE   1                                 

 #define TRANSMIT_AS_TABLE_SIZE    0            

 #define WIRE_MARSHAL_TABLE_SIZE   3            

@@ -114,6 +114,13 @@
 extern const MIDL_STUB_DESC Object_StubDesc;

 

 

+extern const MIDL_SERVER_INFO IAccessible2_3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_3_ProxyInfo;

+

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+

+

 extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo;

 extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo;

 

@@ -1448,31 +1455,30 @@
 /* 1300 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_locationInParent */

+	/* Procedure get_selectionRanges */

 

 /* 1302 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1304 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1308 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1308 */	NdrFcShort( 0x31 ),	/* 49 */

 /* 1310 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 1312 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1314 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1316 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1314 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1316 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 1318 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 1320 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1320 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 1322 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1324 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter x */

+	/* Parameter ranges */

 

-/* 1326 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1326 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 1328 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1330 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 1330 */	NdrFcShort( 0x516 ),	/* Type Offset=1302 */

 

-	/* Parameter y */

+	/* Parameter nRanges */

 

 /* 1332 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1334 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -1486,155 +1492,193 @@
 /* 1342 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_foreground */

+	/* Procedure get_locationInParent */

 

 /* 1344 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1346 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1350 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1352 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1350 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1352 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 1354 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1356 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1356 */	NdrFcShort( 0x40 ),	/* 64 */

 /* 1358 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 1360 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 1362 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1364 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1366 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter foreground */

+	/* Parameter x */

 

 /* 1368 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1370 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 1372 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter y */

 

-/* 1374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1374 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 1376 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 1378 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_currentValue */

+	/* Return value */

 

-/* 1380 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1380 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1382 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1384 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_foreground */

+

+/* 1386 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1382 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1386 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1388 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1390 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1392 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1394 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1388 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1392 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1394 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1400 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 1396 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1398 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1400 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1402 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1408 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter currentValue */

+	/* Parameter foreground */

 

-/* 1404 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 1406 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1408 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

+/* 1410 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1412 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1414 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1410 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1412 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1414 */	0x8,		/* FC_LONG */

+/* 1416 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1418 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1420 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentValue */

+

+/* 1422 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1424 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1428 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1430 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1432 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1434 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1436 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1438 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1440 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1444 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter currentValue */

+

+/* 1446 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 1448 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1450 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

+

+	/* Return value */

+

+/* 1452 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1454 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1456 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setCurrentValue */

 

-/* 1416 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1458 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1418 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1422 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1424 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1428 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1430 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 1460 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1464 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1466 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1470 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1472 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1432 */	0x8,		/* 8 */

+/* 1474 */	0x8,		/* 8 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 1434 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1436 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1480 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter value */

 

-/* 1440 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

-/* 1442 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1444 */	NdrFcShort( 0x51a ),	/* Type Offset=1306 */

+/* 1482 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1484 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1486 */	NdrFcShort( 0x54c ),	/* Type Offset=1356 */

 

 	/* Return value */

 

-/* 1446 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1448 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1450 */	0x8,		/* FC_LONG */

+/* 1488 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1490 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1492 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_maximumValue */

 

-/* 1452 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1494 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1454 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1458 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 1460 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1462 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1464 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1466 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1496 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1500 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1502 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1504 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1506 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1508 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1468 */	0x8,		/* 8 */

+/* 1510 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1470 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1472 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1512 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1516 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter maximumValue */

 

-/* 1476 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 1478 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1480 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

+/* 1518 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 1520 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1522 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

 

 	/* Return value */

 

-/* 1482 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1484 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1486 */	0x8,		/* FC_LONG */

+/* 1524 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1526 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1528 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_minimumValue */

 

-/* 1488 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1530 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1490 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1494 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 1496 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1498 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1500 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1502 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1532 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1538 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1542 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1544 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 1504 */	0x8,		/* 8 */

+/* 1546 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1506 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1508 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1548 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter minimumValue */

 

-/* 1512 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 1514 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1516 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

+/* 1554 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 1556 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1558 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

 

 	/* Return value */

 

-/* 1518 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1520 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1522 */	0x8,		/* FC_LONG */

+/* 1560 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1562 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1564 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure copyText */

@@ -1642,166 +1686,166 @@
 

 	/* Procedure addSelection */

 

-/* 1524 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1526 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1530 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 1532 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1534 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1536 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1538 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 1540 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 1542 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1544 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1546 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter startOffset */

-

-

-	/* Parameter startOffset */

-

-/* 1548 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1550 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1552 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-

-	/* Parameter endOffset */

-

-/* 1554 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1556 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1558 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-

-	/* Return value */

-

-/* 1560 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1562 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1564 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_attributes */

-

 /* 1566 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 1568 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1572 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1574 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 1576 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1578 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1580 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x5,		/* 5 */

+/* 1572 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1574 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1576 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1578 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1580 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 1582 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1584 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1584 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1586 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 1588 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

+

+

+	/* Parameter startOffset */

 

 /* 1590 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 1592 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 1594 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter startOffset */

+	/* Parameter endOffset */

 

-/* 1596 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+

+	/* Parameter endOffset */

+

+/* 1596 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 1598 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 1600 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter endOffset */

+	/* Return value */

 

-/* 1602 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+

+	/* Return value */

+

+/* 1602 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 1604 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 1606 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_attributes */

+

+/* 1608 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1610 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1614 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1616 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1618 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1620 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1622 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1624 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1626 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1630 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter offset */

+

+/* 1632 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1634 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1636 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter startOffset */

+

+/* 1638 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1640 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1642 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter endOffset */

+

+/* 1644 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1646 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1648 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Parameter textAttributes */

 

-/* 1608 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1610 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1612 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 1650 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1652 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1654 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1614 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1616 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1618 */	0x8,		/* FC_LONG */

+/* 1656 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1658 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1660 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_characterExtents */

 

-/* 1620 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1662 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1622 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1626 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 1628 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

-/* 1630 */	NdrFcShort( 0xe ),	/* 14 */

-/* 1632 */	NdrFcShort( 0x78 ),	/* 120 */

-/* 1634 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1664 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1668 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1670 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1672 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1674 */	NdrFcShort( 0x78 ),	/* 120 */

+/* 1676 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x7,		/* 7 */

-/* 1636 */	0x8,		/* 8 */

+/* 1678 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1638 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1640 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1684 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 1644 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1646 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1648 */	0x8,		/* FC_LONG */

+/* 1686 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1688 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1690 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordType */

 

-/* 1650 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1652 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1654 */	0xd,		/* FC_ENUM16 */

+/* 1692 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1694 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1696 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 1656 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1658 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1660 */	0x8,		/* FC_LONG */

+/* 1698 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1700 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1702 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 1662 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1664 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1666 */	0x8,		/* FC_LONG */

+/* 1704 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1706 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1708 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter width */

 

-/* 1668 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1670 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1672 */	0x8,		/* FC_LONG */

+/* 1710 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1712 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1714 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter height */

 

-/* 1674 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1676 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 1678 */	0x8,		/* FC_LONG */

+/* 1716 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1718 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1720 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1680 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1682 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 1684 */	0x8,		/* FC_LONG */

+/* 1722 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1724 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1726 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nRows */

@@ -1809,29 +1853,29 @@
 

 	/* Procedure get_nSelections */

 

-/* 1686 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1728 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1688 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1692 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 1694 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1696 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1698 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 1700 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1730 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1734 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1736 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1738 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1740 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1742 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 1702 */	0x8,		/* 8 */

+/* 1744 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1706 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1748 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1750 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowCount */

 

 

 	/* Parameter nSelections */

 

-/* 1710 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1712 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1714 */	0x8,		/* FC_LONG */

+/* 1752 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1754 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1756 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -1839,752 +1883,715 @@
 

 	/* Return value */

 

-/* 1716 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1718 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1720 */	0x8,		/* FC_LONG */

+/* 1758 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1760 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1762 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_offsetAtPoint */

 

-/* 1722 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1764 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1724 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1728 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1730 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 1732 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 1734 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 1736 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1766 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1770 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1772 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1774 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1776 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1778 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x5,		/* 5 */

-/* 1738 */	0x8,		/* 8 */

+/* 1780 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1740 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1742 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1786 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter x */

 

-/* 1746 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1748 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1750 */	0x8,		/* FC_LONG */

+/* 1788 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1790 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1792 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 1752 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1754 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1756 */	0x8,		/* FC_LONG */

+/* 1794 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1796 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1798 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordType */

 

-/* 1758 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1760 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1762 */	0xd,		/* FC_ENUM16 */

+/* 1800 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1802 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1804 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter offset */

 

-/* 1764 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1766 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1768 */	0x8,		/* FC_LONG */

+/* 1806 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1808 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1810 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 1770 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1772 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1774 */	0x8,		/* FC_LONG */

+/* 1812 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1814 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1816 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selection */

 

-/* 1776 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1818 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1778 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1782 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 1784 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1786 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1788 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1790 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 1820 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1824 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1826 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1828 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1830 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1832 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 1792 */	0x8,		/* 8 */

+/* 1834 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 1794 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1796 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1798 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1838 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1840 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 1800 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1802 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1804 */	0x8,		/* FC_LONG */

+/* 1842 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1844 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1846 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 1806 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1808 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1810 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-/* 1812 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1814 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1816 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 1818 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1820 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1822 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_text */

-

-/* 1824 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1826 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1830 */	NdrFcShort( 0xa ),	/* 10 */

-/* 1832 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1834 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1836 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 1838 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x4,		/* 4 */

-/* 1840 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1842 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1844 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1846 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter startOffset */

-

-/* 1848 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1850 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1848 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1850 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 1852 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 1854 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1856 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1854 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1856 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 1858 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 1860 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1862 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1864 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_text */

+

+/* 1866 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1868 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1872 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1874 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1876 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1878 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1880 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x4,		/* 4 */

+/* 1882 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1884 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1886 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1888 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter startOffset */

+

+/* 1890 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1892 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1894 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter endOffset */

+

+/* 1896 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1898 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1900 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Parameter text */

 

-/* 1860 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1862 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1864 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 1902 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1904 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1906 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1866 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1868 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1870 */	0x8,		/* FC_LONG */

+/* 1908 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1910 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1912 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textBeforeOffset */

 

-/* 1872 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1914 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1874 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1878 */	NdrFcShort( 0xb ),	/* 11 */

-/* 1880 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 1882 */	NdrFcShort( 0xe ),	/* 14 */

-/* 1884 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1886 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1916 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1920 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1922 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1924 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1926 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1928 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 1888 */	0x8,		/* 8 */

+/* 1930 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1890 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1892 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1894 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1932 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1936 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 1896 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1898 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1900 */	0x8,		/* FC_LONG */

+/* 1938 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1940 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1942 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 1902 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1904 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1906 */	0xd,		/* FC_ENUM16 */

+/* 1944 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1946 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1948 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 1908 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1910 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1912 */	0x8,		/* FC_LONG */

+/* 1950 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1952 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1954 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 1914 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1916 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1918 */	0x8,		/* FC_LONG */

+/* 1956 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1958 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1960 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 1920 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1922 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1924 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 1962 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1964 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1966 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1926 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1928 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 1930 */	0x8,		/* FC_LONG */

+/* 1968 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1970 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1972 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textAfterOffset */

 

-/* 1932 */	0x33,		/* FC_AUTO_HANDLE */

+/* 1974 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1934 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1938 */	NdrFcShort( 0xc ),	/* 12 */

-/* 1940 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 1942 */	NdrFcShort( 0xe ),	/* 14 */

-/* 1944 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 1946 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 1976 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1980 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1982 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1984 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1986 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 1988 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 1948 */	0x8,		/* 8 */

+/* 1990 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 1950 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 1952 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1954 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1992 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1994 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1996 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 1956 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1958 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1960 */	0x8,		/* FC_LONG */

+/* 1998 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2000 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2002 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 1962 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 1964 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1966 */	0xd,		/* FC_ENUM16 */

+/* 2004 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2006 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2008 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 1968 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1970 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1972 */	0x8,		/* FC_LONG */

+/* 2010 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2012 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2014 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 1974 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 1976 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 1978 */	0x8,		/* FC_LONG */

+/* 2016 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2018 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2020 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 1980 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 1982 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 1984 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2022 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2024 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2026 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 1986 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 1988 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 1990 */	0x8,		/* FC_LONG */

+/* 2028 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2030 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 2032 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_textAtOffset */

 

-/* 1992 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2034 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 1994 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 1998 */	NdrFcShort( 0xd ),	/* 13 */

-/* 2000 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 2002 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2004 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2006 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2036 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2040 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2042 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 2044 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2046 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2048 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2008 */	0x8,		/* 8 */

+/* 2050 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2010 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2012 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2052 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2056 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2016 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2018 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2020 */	0x8,		/* FC_LONG */

+/* 2058 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2060 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2062 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter boundaryType */

 

-/* 2022 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2024 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2026 */	0xd,		/* FC_ENUM16 */

+/* 2064 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2066 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2068 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2028 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2030 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2032 */	0x8,		/* FC_LONG */

+/* 2070 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2072 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2074 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2034 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2036 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2038 */	0x8,		/* FC_LONG */

+/* 2076 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2078 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2080 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2040 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2042 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2044 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 2082 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2084 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2086 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 2046 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2048 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 2050 */	0x8,		/* FC_LONG */

+/* 2088 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2090 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 2092 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure removeSelection */

 

-/* 2052 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2094 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2054 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2058 */	NdrFcShort( 0xe ),	/* 14 */

-/* 2060 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2062 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2064 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2066 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2096 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2100 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2102 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2104 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2106 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2108 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2068 */	0x8,		/* 8 */

+/* 2110 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2070 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2072 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2074 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2114 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2116 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2076 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2078 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2080 */	0x8,		/* FC_LONG */

+/* 2118 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2120 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2122 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2082 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2084 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2086 */	0x8,		/* FC_LONG */

+/* 2124 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2126 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2128 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setCaretOffset */

 

-/* 2088 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2130 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2090 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2094 */	NdrFcShort( 0xf ),	/* 15 */

-/* 2096 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2098 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2100 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2102 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2132 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2136 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2138 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2140 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2142 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2144 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2104 */	0x8,		/* 8 */

+/* 2146 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2106 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2108 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2148 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2152 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2112 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2114 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2116 */	0x8,		/* FC_LONG */

+/* 2154 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2156 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2158 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2118 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2120 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2122 */	0x8,		/* FC_LONG */

+/* 2160 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2162 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2164 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setSelection */

 

-/* 2124 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2166 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2126 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2130 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2132 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2134 */	NdrFcShort( 0x18 ),	/* 24 */

-/* 2136 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2138 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2168 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2172 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2174 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2176 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 2178 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2180 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2140 */	0x8,		/* 8 */

+/* 2182 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2142 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2144 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2146 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2188 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter selectionIndex */

 

-/* 2148 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2150 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2152 */	0x8,		/* FC_LONG */

+/* 2190 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2192 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2194 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2154 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2156 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2158 */	0x8,		/* FC_LONG */

+/* 2196 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2198 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2200 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2160 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2162 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2164 */	0x8,		/* FC_LONG */

+/* 2202 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2204 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2206 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2166 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2168 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2170 */	0x8,		/* FC_LONG */

+/* 2208 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2210 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2212 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nCharacters */

 

-/* 2172 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2214 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2174 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2178 */	NdrFcShort( 0x11 ),	/* 17 */

-/* 2180 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2182 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2184 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2186 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2216 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2220 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2222 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2224 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2226 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2228 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2188 */	0x8,		/* 8 */

+/* 2230 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2190 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2192 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2194 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2236 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter nCharacters */

 

-/* 2196 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2198 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2200 */	0x8,		/* FC_LONG */

+/* 2238 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2240 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2242 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2202 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2204 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2206 */	0x8,		/* FC_LONG */

+/* 2244 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2246 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2248 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure scrollSubstringTo */

 

-/* 2208 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2250 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2210 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2214 */	NdrFcShort( 0x12 ),	/* 18 */

-/* 2216 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2218 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2220 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2222 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2252 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2256 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2258 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2260 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2262 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2264 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 2224 */	0x8,		/* 8 */

+/* 2266 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2226 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2228 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2272 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startIndex */

 

-/* 2232 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2234 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2236 */	0x8,		/* FC_LONG */

+/* 2274 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2276 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2278 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endIndex */

 

-/* 2238 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2240 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2242 */	0x8,		/* FC_LONG */

+/* 2280 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2282 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2284 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter scrollType */

 

-/* 2244 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2246 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2248 */	0xd,		/* FC_ENUM16 */

+/* 2286 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2288 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2290 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2250 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2252 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2254 */	0x8,		/* FC_LONG */

+/* 2292 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2294 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2296 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure scrollSubstringToPoint */

 

-/* 2256 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2298 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2258 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2262 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 2264 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 2266 */	NdrFcShort( 0x26 ),	/* 38 */

-/* 2268 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2270 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2300 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2304 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2306 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 2308 */	NdrFcShort( 0x26 ),	/* 38 */

+/* 2310 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2312 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x6,		/* 6 */

-/* 2272 */	0x8,		/* 8 */

+/* 2314 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2274 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2276 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2320 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startIndex */

 

-/* 2280 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2282 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2284 */	0x8,		/* FC_LONG */

+/* 2322 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2324 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2326 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endIndex */

 

-/* 2286 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2288 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2290 */	0x8,		/* FC_LONG */

+/* 2328 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2330 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2332 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter coordinateType */

 

-/* 2292 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2294 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2296 */	0xd,		/* FC_ENUM16 */

+/* 2334 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2336 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2338 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 2298 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2300 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2302 */	0x8,		/* FC_LONG */

+/* 2340 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2342 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2344 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 2304 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2306 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2308 */	0x8,		/* FC_LONG */

+/* 2346 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2348 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2350 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2310 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2312 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 2314 */	0x8,		/* FC_LONG */

+/* 2352 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2354 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 2356 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_newText */

 

-/* 2316 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2358 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2318 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2322 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 2324 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2326 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2328 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2330 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2360 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2364 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2366 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2368 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2370 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2372 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 2332 */	0x8,		/* 8 */

+/* 2374 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2334 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2336 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2338 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2376 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2378 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2380 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter newText */

 

-/* 2340 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2342 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2344 */	NdrFcShort( 0x528 ),	/* Type Offset=1320 */

+/* 2382 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2384 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2386 */	NdrFcShort( 0x55a ),	/* Type Offset=1370 */

 

 	/* Return value */

 

-/* 2346 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2348 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2350 */	0x8,		/* FC_LONG */

+/* 2388 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2390 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2392 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_oldText */

 

-/* 2352 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2394 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2354 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2358 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 2360 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2362 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2364 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2366 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 2396 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2400 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2402 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2406 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2408 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 2368 */	0x8,		/* 8 */

+/* 2410 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2370 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2372 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2412 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2416 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter oldText */

 

-/* 2376 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2378 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2380 */	NdrFcShort( 0x528 ),	/* Type Offset=1320 */

+/* 2418 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2420 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2422 */	NdrFcShort( 0x55a ),	/* Type Offset=1370 */

 

 	/* Return value */

 

-/* 2382 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2384 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2386 */	0x8,		/* FC_LONG */

+/* 2424 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2426 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2428 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_attributeRange */

 

-/* 2388 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2430 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2390 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2394 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2396 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 2398 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2400 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 2402 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+/* 2432 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2436 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2438 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 2440 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2442 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 2444 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

 			0x6,		/* 6 */

-/* 2404 */	0x8,		/* 8 */

+/* 2446 */	0x8,		/* 8 */

 			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

-/* 2406 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2408 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2448 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2450 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2452 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter offset */

 

-/* 2412 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2414 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2416 */	0x8,		/* FC_LONG */

+/* 2454 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2456 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2458 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter filter */

 

-/* 2418 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

-/* 2420 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2422 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2460 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2462 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2464 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Parameter startOffset */

 

-/* 2424 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2426 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2428 */	0x8,		/* FC_LONG */

+/* 2466 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2468 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2470 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2430 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2432 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2434 */	0x8,		/* FC_LONG */

+/* 2472 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2474 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2476 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter attributeValues */

 

-/* 2436 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 2438 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2440 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

-/* 2442 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2444 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 2446 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure deleteText */

-

-/* 2448 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2450 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2454 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 2456 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2458 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2460 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2462 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 2464 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 2466 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2468 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2470 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter startOffset */

-

-/* 2472 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2474 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2476 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter endOffset */

-

-/* 2478 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2480 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2482 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 2478 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2480 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2482 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

 /* 2484 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2486 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2486 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

 /* 2488 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure insertText */

+	/* Procedure deleteText */

 

 /* 2490 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2492 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2496 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 2496 */	NdrFcShort( 0x4 ),	/* 4 */

 /* 2498 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2500 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2500 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 2502 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2504 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2504 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

 /* 2506 */	0x8,		/* 8 */

-			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+			0x1,		/* Ext Flags:  new corr desc, */

 /* 2508 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2510 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2510 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2512 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

 

 /* 2514 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2516 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 2518 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter text */

+	/* Parameter endOffset */

 

-/* 2520 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2520 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2522 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2524 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2524 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

@@ -2593,36 +2600,35 @@
 /* 2530 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure cutText */

+	/* Procedure insertText */

 

 /* 2532 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2534 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2538 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2538 */	NdrFcShort( 0x5 ),	/* 5 */

 /* 2540 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2542 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2542 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2544 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2546 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2546 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 2548 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

 /* 2550 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2552 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 2554 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter startOffset */

+	/* Parameter offset */

 

 /* 2556 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2558 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 2560 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter endOffset */

+	/* Parameter text */

 

-/* 2562 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2562 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

 /* 2564 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2566 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 2566 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

@@ -2631,168 +2637,169 @@
 /* 2572 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure pasteText */

+	/* Procedure cutText */

 

 /* 2574 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2576 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2580 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 2582 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2584 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2580 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 2582 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2584 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 2586 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2588 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 2590 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 2592 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2594 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2596 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter offset */

+	/* Parameter startOffset */

 

 /* 2598 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2600 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 2602 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter endOffset */

 

-/* 2604 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2604 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 2606 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 2608 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 2610 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2612 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2614 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pasteText */

+

+/* 2616 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2618 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2622 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 2624 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2626 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2628 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2630 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2632 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2638 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter offset */

+

+/* 2640 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2642 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2644 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2646 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2648 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2650 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure replaceText */

 

-/* 2610 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2652 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2612 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2616 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2618 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2620 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2622 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2624 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2654 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2658 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2660 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2662 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2664 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2666 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 2626 */	0x8,		/* 8 */

+/* 2668 */	0x8,		/* 8 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 2628 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2630 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2672 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2674 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2634 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2636 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2638 */	0x8,		/* FC_LONG */

+/* 2676 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2678 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2680 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2640 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2642 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2644 */	0x8,		/* FC_LONG */

+/* 2682 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2684 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2686 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter text */

 

-/* 2646 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 2648 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2650 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

+/* 2688 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2690 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2692 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

-/* 2652 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2654 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2656 */	0x8,		/* FC_LONG */

+/* 2694 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2696 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2698 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure setAttributes */

 

-/* 2658 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2700 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2660 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2664 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 2666 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 2668 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 2670 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2672 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+/* 2702 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2706 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2708 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 2710 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2712 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2714 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 2674 */	0x8,		/* 8 */

+/* 2716 */	0x8,		/* 8 */

 			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

-/* 2676 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2678 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2720 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2722 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter startOffset */

 

-/* 2682 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2684 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2686 */	0x8,		/* FC_LONG */

+/* 2724 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2726 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2728 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter endOffset */

 

-/* 2688 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2690 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2692 */	0x8,		/* FC_LONG */

+/* 2730 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2732 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2734 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter attributes */

 

-/* 2694 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

-/* 2696 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2698 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

-

-	/* Return value */

-

-/* 2700 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2702 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2704 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_anchor */

-

-/* 2706 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2708 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2712 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 2714 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2716 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2718 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2720 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 2722 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 2724 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 2726 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2728 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter index */

-

-/* 2730 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2732 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2734 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter anchor */

-

-/* 2736 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

-/* 2738 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2740 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

+/* 2736 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2738 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2740 */	NdrFcShort( 0x10e ),	/* Type Offset=270 */

 

 	/* Return value */

 

 /* 2742 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2744 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2744 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 2746 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_anchorTarget */

+	/* Procedure get_anchor */

 

 /* 2748 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2750 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2754 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2754 */	NdrFcShort( 0x9 ),	/* 9 */

 /* 2756 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 2758 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 2760 */	NdrFcShort( 0x8 ),	/* 8 */

@@ -2811,7 +2818,7 @@
 /* 2776 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter anchorTarget */

+	/* Parameter anchor */

 

 /* 2778 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

 /* 2780 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -2824,34 +2831,71 @@
 /* 2788 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_anchorTarget */

+

+/* 2790 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2792 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2796 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2798 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2800 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2802 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2804 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2806 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2808 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2810 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2812 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+/* 2814 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2816 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2818 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter anchorTarget */

+

+/* 2820 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 2822 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2824 */	NdrFcShort( 0x4ee ),	/* Type Offset=1262 */

+

+	/* Return value */

+

+/* 2826 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2828 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2830 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_nRows */

 

 

 	/* Procedure get_startIndex */

 

-/* 2790 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2832 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2792 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2796 */	NdrFcShort( 0xb ),	/* 11 */

-/* 2798 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2800 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2802 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2804 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2834 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2838 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2840 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2842 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2844 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2846 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2806 */	0x8,		/* 8 */

+/* 2848 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2808 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2810 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2850 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2852 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2854 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowCount */

 

 

 	/* Parameter index */

 

-/* 2814 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2816 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2818 */	0x8,		/* FC_LONG */

+/* 2856 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2858 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2860 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -2859,9 +2903,9 @@
 

 	/* Return value */

 

-/* 2820 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2822 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2824 */	0x8,		/* FC_LONG */

+/* 2862 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2864 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2866 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedChildren */

@@ -2869,29 +2913,29 @@
 

 	/* Procedure get_endIndex */

 

-/* 2826 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2868 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2828 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2832 */	NdrFcShort( 0xc ),	/* 12 */

-/* 2834 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2836 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2838 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2840 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2870 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2874 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2876 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2878 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2880 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2882 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2842 */	0x8,		/* 8 */

+/* 2884 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2844 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2846 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2848 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2886 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2888 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2890 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter cellCount */

 

 

 	/* Parameter index */

 

-/* 2850 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2852 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2854 */	0x8,		/* FC_LONG */

+/* 2892 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2894 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2896 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -2899,120 +2943,83 @@
 

 	/* Return value */

 

-/* 2856 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2858 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2860 */	0x8,		/* FC_LONG */

+/* 2898 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2900 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2902 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_valid */

 

-/* 2862 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2904 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2864 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2868 */	NdrFcShort( 0xd ),	/* 13 */

-/* 2870 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2872 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2874 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 2876 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2906 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2910 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2912 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2914 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2916 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 2918 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2878 */	0x8,		/* 8 */

+/* 2920 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2880 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2882 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2922 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2924 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2926 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter valid */

 

-/* 2886 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2888 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2890 */	0x3,		/* FC_SMALL */

+/* 2928 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2930 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2932 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2892 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2894 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2896 */	0x8,		/* FC_LONG */

+/* 2934 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2936 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2938 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nHyperlinks */

 

-/* 2898 */	0x33,		/* FC_AUTO_HANDLE */

+/* 2940 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2900 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2904 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 2906 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 2908 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2910 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2912 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2942 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2946 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2948 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2950 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2952 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2954 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 2914 */	0x8,		/* 8 */

+/* 2956 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 2916 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2918 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2920 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2958 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2962 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter hyperlinkCount */

 

-/* 2922 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 2924 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2926 */	0x8,		/* FC_LONG */

+/* 2964 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2966 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2968 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 2928 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2930 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2932 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_hyperlink */

-

-/* 2934 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 2936 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2940 */	NdrFcShort( 0x17 ),	/* 23 */

-/* 2942 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 2944 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2946 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2948 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 2950 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 2952 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2954 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 2956 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter index */

-

-/* 2958 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 2960 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 2962 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter hyperlink */

-

-/* 2964 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 2966 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 2968 */	NdrFcShort( 0x540 ),	/* Type Offset=1344 */

-

-	/* Return value */

-

 /* 2970 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 2972 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2972 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 2974 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_hyperlinkIndex */

+	/* Procedure get_hyperlink */

 

 /* 2976 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 2978 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 2982 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 2982 */	NdrFcShort( 0x17 ),	/* 23 */

 /* 2984 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 2986 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 2988 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 2990 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 2988 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2990 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 2992 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3020,19 +3027,18 @@
 /* 2996 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 2998 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter charIndex */

+	/* Parameter index */

 

 /* 3000 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3002 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 3004 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter hyperlinkIndex */

+	/* Parameter hyperlink */

 

-/* 3006 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3006 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3008 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3010 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3010 */	NdrFcShort( 0x572 ),	/* Type Offset=1394 */

 

 	/* Return value */

 

@@ -3041,30 +3047,31 @@
 /* 3016 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_hyperlinks */

+	/* Procedure get_hyperlinkIndex */

 

 /* 3018 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3020 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3024 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3024 */	NdrFcShort( 0x18 ),	/* 24 */

 /* 3026 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3028 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3030 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3032 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3032 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x3,		/* 3 */

 /* 3034 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3036 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3036 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3038 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3040 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter hyperlinks */

+	/* Parameter charIndex */

 

-/* 3042 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3042 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3044 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3046 */	NdrFcShort( 0x556 ),	/* Type Offset=1366 */

+/* 3046 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter nHyperlinks */

+	/* Parameter hyperlinkIndex */

 

 /* 3048 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3050 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -3078,34 +3085,71 @@
 /* 3058 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_hyperlinks */

+

+/* 3060 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3062 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3066 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3068 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3070 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3072 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3074 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3076 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3078 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3080 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3082 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter hyperlinks */

+

+/* 3084 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3086 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3088 */	NdrFcShort( 0x588 ),	/* Type Offset=1416 */

+

+	/* Parameter nHyperlinks */

+

+/* 3090 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3092 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3094 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3096 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3098 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3100 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_cellAt */

 

 

 	/* Procedure get_accessibleAt */

 

-/* 3060 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3102 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3062 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3066 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 3068 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3070 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3072 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3074 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3104 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3108 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3110 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3112 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3114 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3116 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3076 */	0x8,		/* 8 */

+/* 3118 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3078 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3080 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3120 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3122 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3124 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

 

 	/* Parameter row */

 

-/* 3084 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3086 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3088 */	0x8,		/* FC_LONG */

+/* 3126 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3128 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3130 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

@@ -3113,9 +3157,9 @@
 

 	/* Parameter column */

 

-/* 3090 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3092 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3094 */	0x8,		/* FC_LONG */

+/* 3132 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3134 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3136 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter cell */

@@ -3123,18 +3167,18 @@
 

 	/* Parameter accessible */

 

-/* 3096 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3098 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3100 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 3138 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3140 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3142 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 

 	/* Return value */

 

-/* 3102 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3104 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3106 */	0x8,		/* FC_LONG */

+/* 3144 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3146 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3148 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_caption */

@@ -3142,214 +3186,177 @@
 

 	/* Procedure get_caption */

 

-/* 3108 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3150 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3110 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3114 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 3116 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3118 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3120 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3122 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3152 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3156 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3158 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3164 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 3124 */	0x8,		/* 8 */

+/* 3166 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3126 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3128 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3168 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3172 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter accessible */

 

 

 	/* Parameter accessible */

 

-/* 3132 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3134 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3136 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 3174 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3176 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3178 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 

 	/* Return value */

 

-/* 3138 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3140 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3142 */	0x8,		/* FC_LONG */

+/* 3180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3182 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3184 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_childIndex */

 

-/* 3144 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3186 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3146 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3150 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 3152 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3154 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3156 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3158 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3188 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3192 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3194 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3196 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3198 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3200 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 3160 */	0x8,		/* 8 */

+/* 3202 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3162 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3164 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3166 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3208 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowIndex */

 

-/* 3168 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3170 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3172 */	0x8,		/* FC_LONG */

+/* 3210 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3212 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3214 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnIndex */

 

-/* 3174 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3176 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3178 */	0x8,		/* FC_LONG */

+/* 3216 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3218 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3220 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter cellIndex */

 

-/* 3180 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3182 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3184 */	0x8,		/* FC_LONG */

+/* 3222 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3224 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3226 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3186 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3188 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3190 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnDescription */

-

-/* 3192 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3194 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3198 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 3200 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3202 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3204 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3206 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3208 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3210 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3212 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3214 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter column */

-

-/* 3216 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3218 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3220 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter description */

-

-/* 3222 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 3224 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3226 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

 /* 3228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3230 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3230 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 3232 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnExtentAt */

+	/* Procedure get_columnDescription */

 

 /* 3234 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3236 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3240 */	NdrFcShort( 0x7 ),	/* 7 */

-/* 3242 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3244 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3246 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3248 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

+/* 3240 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3242 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3244 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3246 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3248 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 3250 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3252 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3252 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 3254 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3256 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 3258 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3260 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 3262 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter column */

+	/* Parameter description */

 

-/* 3264 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3264 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

 /* 3266 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3268 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3268 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

-	/* Parameter nColumnsSpanned */

+	/* Return value */

 

-/* 3270 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3270 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 3272 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 3274 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Procedure get_columnExtentAt */

 

-/* 3276 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3278 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3280 */	0x8,		/* FC_LONG */

+/* 3276 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3278 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3282 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 3284 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3286 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3288 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3290 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 3292 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3296 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3298 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 3300 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3302 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3304 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnHeader */

+	/* Parameter column */

 

-/* 3282 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3284 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3288 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3290 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3292 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3294 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3296 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3298 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3300 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3302 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3306 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3308 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3310 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter accessibleTable */

-

-/* 3306 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3308 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3310 */	NdrFcShort( 0x574 ),	/* Type Offset=1396 */

-

-	/* Parameter startingRowIndex */

+	/* Parameter nColumnsSpanned */

 

 /* 3312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3314 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3314 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 3316 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3318 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3320 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3320 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 3322 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_columnIndex */

+	/* Procedure get_columnHeader */

 

 /* 3324 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3326 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3330 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3330 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3332 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3334 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3334 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3336 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3338 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3338 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3340 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3357,14 +3364,13 @@
 /* 3344 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3346 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter cellIndex */

+	/* Parameter accessibleTable */

 

-/* 3348 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3348 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3350 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3352 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3352 */	NdrFcShort( 0x5a6 ),	/* Type Offset=1446 */

 

-	/* Parameter columnIndex */

+	/* Parameter startingRowIndex */

 

 /* 3354 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3356 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -3378,159 +3384,160 @@
 /* 3364 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_nSelectedRows */

-

-

-	/* Procedure get_nColumns */

+	/* Procedure get_columnIndex */

 

 /* 3366 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3368 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3372 */	NdrFcShort( 0xa ),	/* 10 */

-/* 3374 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3372 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 3374 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3376 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3378 */	NdrFcShort( 0x24 ),	/* 36 */

 /* 3380 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 3382 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 3384 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3386 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3388 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter rowCount */

+	/* Parameter cellIndex */

 

-

-	/* Parameter columnCount */

-

-/* 3390 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3390 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3392 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 3394 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter columnIndex */

 

-

-	/* Return value */

-

-/* 3396 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3396 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3398 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 3400 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_nSelectedColumns */

-

-/* 3402 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3404 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3408 */	NdrFcShort( 0xd ),	/* 13 */

-/* 3410 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3412 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3414 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3416 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

-/* 3418 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3420 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3422 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3424 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter columnCount */

-

-/* 3426 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3428 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3430 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

 	/* Return value */

 

-/* 3432 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3434 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3436 */	0x8,		/* FC_LONG */

+/* 3402 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3404 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3406 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedRows */

 

-/* 3438 */	0x33,		/* FC_AUTO_HANDLE */

+

+	/* Procedure get_nColumns */

+

+/* 3408 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3440 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3444 */	NdrFcShort( 0xe ),	/* 14 */

-/* 3446 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3448 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3450 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3452 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3410 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3414 */	NdrFcShort( 0xa ),	/* 10 */

+/* 3416 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3418 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3420 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3422 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3454 */	0x8,		/* 8 */

+/* 3424 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3456 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3458 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3430 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowCount */

 

-/* 3462 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3464 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3466 */	0x8,		/* FC_LONG */

+

+	/* Parameter columnCount */

+

+/* 3432 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3434 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3436 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3468 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3470 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+

+	/* Return value */

+

+/* 3438 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3440 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3442 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nSelectedColumns */

+

+/* 3444 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3446 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3450 */	NdrFcShort( 0xd ),	/* 13 */

+/* 3452 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3454 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3456 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3458 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 3460 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3462 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3466 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter columnCount */

+

+/* 3468 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3470 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 3472 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowDescription */

+	/* Return value */

 

-/* 3474 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3476 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3480 */	NdrFcShort( 0xf ),	/* 15 */

-/* 3482 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3484 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3486 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3488 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3490 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3492 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3494 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3496 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter row */

-

-/* 3498 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3500 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3502 */	0x8,		/* FC_LONG */

+/* 3474 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3476 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3478 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter description */

+	/* Procedure get_nSelectedRows */

 

-/* 3504 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 3506 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3508 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 3480 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3482 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3486 */	NdrFcShort( 0xe ),	/* 14 */

+/* 3488 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3490 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3492 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3494 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 3496 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3500 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3502 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter rowCount */

+

+/* 3504 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3506 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3508 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3510 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3512 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3512 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 3514 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowExtentAt */

+	/* Procedure get_rowDescription */

 

 /* 3516 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3518 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3522 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3524 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3526 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 3528 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3530 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

+/* 3522 */	NdrFcShort( 0xf ),	/* 15 */

+/* 3524 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3526 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3528 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3530 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 3532 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3534 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3534 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 3536 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3538 */	NdrFcShort( 0x0 ),	/* 0 */

 

@@ -3541,74 +3548,74 @@
 /* 3544 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter column */

+	/* Parameter description */

 

-/* 3546 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3546 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

 /* 3548 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3550 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3550 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

-	/* Parameter nRowsSpanned */

+	/* Return value */

 

-/* 3552 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3552 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 3554 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 3556 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Return value */

+	/* Procedure get_rowExtentAt */

 

-/* 3558 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3560 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3562 */	0x8,		/* FC_LONG */

+/* 3558 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3560 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3564 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3566 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3568 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3570 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3572 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 3574 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3576 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3580 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 3582 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3584 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3586 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowHeader */

+	/* Parameter column */

 

-/* 3564 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3566 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3570 */	NdrFcShort( 0x11 ),	/* 17 */

-/* 3572 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3574 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3576 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3578 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 3580 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3582 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3584 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3588 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3590 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3592 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter accessibleTable */

-

-/* 3588 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3590 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3592 */	NdrFcShort( 0x574 ),	/* Type Offset=1396 */

-

-	/* Parameter startingColumnIndex */

+	/* Parameter nRowsSpanned */

 

 /* 3594 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3596 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3596 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 3598 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 3600 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3602 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3602 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 3604 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowIndex */

+	/* Procedure get_rowHeader */

 

 /* 3606 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3608 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3612 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3612 */	NdrFcShort( 0x11 ),	/* 17 */

 /* 3614 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3616 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3616 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3618 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3620 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 3620 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 3622 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

@@ -3616,14 +3623,13 @@
 /* 3626 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3628 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter cellIndex */

+	/* Parameter accessibleTable */

 

-/* 3630 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3630 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

 /* 3632 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3634 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 3634 */	NdrFcShort( 0x5a6 ),	/* Type Offset=1446 */

 

-	/* Parameter rowIndex */

+	/* Parameter startingColumnIndex */

 

 /* 3636 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3638 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -3637,212 +3643,212 @@
 /* 3646 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedChildren */

+	/* Procedure get_rowIndex */

 

 /* 3648 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3650 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3654 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 3656 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3654 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3656 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 3658 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3660 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3662 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x4,		/* 4 */

+/* 3662 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 3664 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3666 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3666 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3668 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3670 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter maxChildren */

+	/* Parameter cellIndex */

 

 /* 3672 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3674 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

 /* 3676 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter children */

+	/* Parameter rowIndex */

 

-/* 3678 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3678 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 3680 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3682 */	NdrFcShort( 0x58a ),	/* Type Offset=1418 */

+/* 3682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Parameter nChildren */

+	/* Return value */

 

-/* 3684 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3684 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

 /* 3686 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 3688 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Procedure get_selectedChildren */

+

+/* 3690 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3692 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3696 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 3698 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3700 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3702 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3704 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x4,		/* 4 */

+/* 3706 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 3708 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3712 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter maxChildren */

+

+/* 3714 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3716 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter children */

+

+/* 3720 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3722 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3724 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

+

+	/* Parameter nChildren */

+

+/* 3726 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3728 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3730 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Return value */

 

-/* 3690 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3692 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3694 */	0x8,		/* FC_LONG */

+/* 3732 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3734 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3736 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selectedColumns */

 

-/* 3696 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3738 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3698 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3702 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 3704 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3706 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3708 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3710 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3740 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3744 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 3746 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3750 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3752 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3712 */	0x8,		/* 8 */

+/* 3754 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3714 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3716 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3756 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3760 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter maxColumns */

 

-/* 3720 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3722 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3724 */	0x8,		/* FC_LONG */

+/* 3762 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3764 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3766 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columns */

 

-/* 3726 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 3728 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3730 */	NdrFcShort( 0x58a ),	/* Type Offset=1418 */

+/* 3768 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3770 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3772 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

 	/* Parameter nColumns */

 

-/* 3732 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3734 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3736 */	0x8,		/* FC_LONG */

+/* 3774 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3776 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3778 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3738 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3740 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3742 */	0x8,		/* FC_LONG */

+/* 3780 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3782 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3784 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_selectedRows */

 

-/* 3744 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3786 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3746 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3750 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 3752 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3754 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3756 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 3758 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3788 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3792 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3794 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3796 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3798 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3800 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x4,		/* 4 */

-/* 3760 */	0x8,		/* 8 */

+/* 3802 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 3762 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 3764 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3766 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3804 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3806 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3808 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter maxRows */

 

-/* 3768 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3770 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3772 */	0x8,		/* FC_LONG */

+/* 3810 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3812 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3814 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rows */

 

-/* 3774 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 3776 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3778 */	NdrFcShort( 0x58a ),	/* Type Offset=1418 */

+/* 3816 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 3818 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3820 */	NdrFcShort( 0x5bc ),	/* Type Offset=1468 */

 

 	/* Parameter nRows */

 

-/* 3780 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3782 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3784 */	0x8,		/* FC_LONG */

+/* 3822 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3824 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3826 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3786 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3788 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3790 */	0x8,		/* FC_LONG */

+/* 3828 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3830 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3832 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_summary */

 

-/* 3792 */	0x33,		/* FC_AUTO_HANDLE */

+/* 3834 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3794 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3798 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 3800 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3802 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3804 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3806 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 3836 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3840 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3842 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3844 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3846 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3848 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 3808 */	0x8,		/* 8 */

+/* 3850 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3810 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3812 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3852 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3854 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3856 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter accessible */

 

-/* 3816 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 3818 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3820 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

-

-	/* Return value */

-

-/* 3822 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3824 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3826 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_isColumnSelected */

-

-/* 3828 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3830 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3834 */	NdrFcShort( 0x17 ),	/* 23 */

-/* 3836 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3838 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3840 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 3842 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 3844 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 3846 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3848 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3850 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter column */

-

-/* 3852 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3854 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3856 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter isSelected */

-

-/* 3858 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3860 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3862 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 3858 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3860 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3862 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 /* 3864 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3866 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3866 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 3868 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isRowSelected */

+	/* Procedure get_isColumnSelected */

 

 /* 3870 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3872 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3876 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 3876 */	NdrFcShort( 0x17 ),	/* 23 */

 /* 3878 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 3880 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3882 */	NdrFcShort( 0x21 ),	/* 33 */

@@ -3854,7 +3860,7 @@
 /* 3890 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 3892 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 3894 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 3896 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

@@ -3875,17 +3881,17 @@
 /* 3910 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isSelected */

+	/* Procedure get_isRowSelected */

 

 /* 3912 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 3914 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3918 */	NdrFcShort( 0x19 ),	/* 25 */

-/* 3920 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 3922 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3918 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 3920 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3922 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 3924 */	NdrFcShort( 0x21 ),	/* 33 */

 /* 3926 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x4,		/* 4 */

+			0x3,		/* 3 */

 /* 3928 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 3930 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -3899,245 +3905,283 @@
 /* 3940 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Parameter column */

-

-/* 3942 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3944 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3946 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

 	/* Parameter isSelected */

 

-/* 3948 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 3950 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3952 */	0x3,		/* FC_SMALL */

+/* 3942 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3944 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3946 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3954 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3956 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 3958 */	0x8,		/* FC_LONG */

+/* 3948 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3950 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3952 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isSelected */

+

+/* 3954 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3956 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3960 */	NdrFcShort( 0x19 ),	/* 25 */

+/* 3962 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3964 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3966 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 3968 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x4,		/* 4 */

+/* 3970 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3972 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3974 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3976 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 3978 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3980 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3982 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter column */

+

+/* 3984 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3986 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3988 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter isSelected */

+

+/* 3990 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3992 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3994 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3996 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3998 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 4000 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectRow */

 

-/* 3960 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4002 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3962 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 3966 */	NdrFcShort( 0x1a ),	/* 26 */

-/* 3968 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 3970 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3972 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 3974 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4004 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4008 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 4010 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4012 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4014 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4016 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 3976 */	0x8,		/* 8 */

+/* 4018 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 3978 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3980 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 3982 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4022 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4024 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 3984 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 3986 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 3988 */	0x8,		/* FC_LONG */

+/* 4026 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4028 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4030 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 3990 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 3992 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 3994 */	0x8,		/* FC_LONG */

+/* 4032 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4034 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4036 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectColumn */

 

-/* 3996 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4038 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 3998 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4002 */	NdrFcShort( 0x1b ),	/* 27 */

-/* 4004 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4006 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4008 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4010 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4040 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4044 */	NdrFcShort( 0x1b ),	/* 27 */

+/* 4046 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4048 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4050 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4052 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4012 */	0x8,		/* 8 */

+/* 4054 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4014 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4016 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4018 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4060 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4020 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4022 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4024 */	0x8,		/* FC_LONG */

+/* 4062 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4064 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4066 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4026 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4028 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4030 */	0x8,		/* FC_LONG */

+/* 4068 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4070 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4072 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectRow */

 

-/* 4032 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4074 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4034 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4038 */	NdrFcShort( 0x1c ),	/* 28 */

-/* 4040 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4042 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4044 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4046 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4076 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4080 */	NdrFcShort( 0x1c ),	/* 28 */

+/* 4082 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4084 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4086 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4088 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4048 */	0x8,		/* 8 */

+/* 4090 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4050 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4052 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4092 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4094 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4096 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 4056 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4058 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4060 */	0x8,		/* FC_LONG */

+/* 4098 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4100 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4102 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4062 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4064 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4066 */	0x8,		/* FC_LONG */

+/* 4104 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4106 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4108 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectColumn */

 

-/* 4068 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4110 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4070 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4074 */	NdrFcShort( 0x1d ),	/* 29 */

-/* 4076 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4078 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4080 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4082 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4112 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4116 */	NdrFcShort( 0x1d ),	/* 29 */

+/* 4118 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4120 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4122 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4124 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4084 */	0x8,		/* 8 */

+/* 4126 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4086 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4088 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4132 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4092 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4094 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4096 */	0x8,		/* FC_LONG */

+/* 4134 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4136 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4138 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4098 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4100 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4102 */	0x8,		/* FC_LONG */

+/* 4140 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4142 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4144 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowColumnExtentsAtIndex */

 

-/* 4104 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4146 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4106 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4110 */	NdrFcShort( 0x1e ),	/* 30 */

-/* 4112 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

-/* 4114 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4116 */	NdrFcShort( 0x91 ),	/* 145 */

-/* 4118 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4148 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4152 */	NdrFcShort( 0x1e ),	/* 30 */

+/* 4154 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 4156 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4158 */	NdrFcShort( 0x91 ),	/* 145 */

+/* 4160 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x7,		/* 7 */

-/* 4120 */	0x8,		/* 8 */

+/* 4162 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4122 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4124 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4126 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4166 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4168 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter index */

 

-/* 4128 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4130 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4132 */	0x8,		/* FC_LONG */

+/* 4170 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4172 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4174 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter row */

 

-/* 4134 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4136 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4138 */	0x8,		/* FC_LONG */

+/* 4176 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4178 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4180 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4140 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4142 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4144 */	0x8,		/* FC_LONG */

+/* 4182 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4184 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4186 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rowExtents */

 

-/* 4146 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4148 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 4150 */	0x8,		/* FC_LONG */

+/* 4188 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4190 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 4192 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnExtents */

 

-/* 4152 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4154 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 4156 */	0x8,		/* FC_LONG */

+/* 4194 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4196 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 4198 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 4158 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4160 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 4162 */	0x3,		/* FC_SMALL */

+/* 4200 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4202 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 4204 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4164 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4166 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 4168 */	0x8,		/* FC_LONG */

+/* 4206 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4208 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 4210 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_modelChange */

 

-/* 4170 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4212 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4172 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4176 */	NdrFcShort( 0x1f ),	/* 31 */

-/* 4178 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4180 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4182 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4184 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4214 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4218 */	NdrFcShort( 0x1f ),	/* 31 */

+/* 4220 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4224 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4226 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4186 */	0x8,		/* 8 */

+/* 4228 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4188 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4190 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4192 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4234 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter modelChange */

 

-/* 4194 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 4196 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4198 */	NdrFcShort( 0x5a8 ),	/* Type Offset=1448 */

+/* 4236 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 4238 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4240 */	NdrFcShort( 0x5da ),	/* Type Offset=1498 */

 

 	/* Return value */

 

-/* 4200 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4202 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4204 */	0x8,		/* FC_LONG */

+/* 4242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4244 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4246 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowExtent */

@@ -4145,29 +4189,29 @@
 

 	/* Procedure get_nColumns */

 

-/* 4206 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4248 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4208 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4212 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 4214 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4216 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4218 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4220 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4254 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 4256 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4260 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4262 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4222 */	0x8,		/* 8 */

+/* 4264 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4224 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4226 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4270 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter nRowsSpanned */

 

 

 	/* Parameter columnCount */

 

-/* 4230 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4232 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4234 */	0x8,		/* FC_LONG */

+/* 4272 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4274 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4276 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -4175,9 +4219,9 @@
 

 	/* Return value */

 

-/* 4236 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4238 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4240 */	0x8,		/* FC_LONG */

+/* 4278 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4280 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4282 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_rowIndex */

@@ -4185,29 +4229,29 @@
 

 	/* Procedure get_nSelectedCells */

 

-/* 4242 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4284 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4244 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4248 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4250 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4252 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4254 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4256 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4286 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4290 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4292 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4296 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4298 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4258 */	0x8,		/* 8 */

+/* 4300 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4260 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4262 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4264 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4306 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter rowIndex */

 

 

 	/* Parameter cellCount */

 

-/* 4266 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4268 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4270 */	0x8,		/* FC_LONG */

+/* 4308 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4310 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4312 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

@@ -4215,88 +4259,51 @@
 

 	/* Return value */

 

-/* 4272 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4274 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4276 */	0x8,		/* FC_LONG */

+/* 4314 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4316 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4318 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_nSelectedColumns */

 

-/* 4278 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4320 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4280 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4284 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 4286 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4288 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4290 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4292 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4322 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4326 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 4328 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4332 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4334 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4294 */	0x8,		/* 8 */

+/* 4336 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4296 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4298 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4338 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4340 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4342 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter columnCount */

 

-/* 4302 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4304 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4306 */	0x8,		/* FC_LONG */

+/* 4344 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4346 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4348 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4308 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4310 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4312 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_rowDescription */

-

-/* 4314 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4316 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4320 */	NdrFcShort( 0xb ),	/* 11 */

-/* 4322 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 4324 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4326 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4328 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 4330 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4332 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 4334 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4336 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter row */

-

-/* 4338 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4340 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4342 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter description */

-

-/* 4344 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 4346 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4348 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

-

-	/* Return value */

-

 /* 4350 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4352 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4352 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 4354 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedCells */

+	/* Procedure get_rowDescription */

 

 /* 4356 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4358 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4362 */	NdrFcShort( 0xc ),	/* 12 */

+/* 4362 */	NdrFcShort( 0xb ),	/* 11 */

 /* 4364 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 4366 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4368 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4366 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4368 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4370 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x3,		/* 3 */

 /* 4372 */	0x8,		/* 8 */

@@ -4305,19 +4312,19 @@
 /* 4376 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4378 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter cells */

+	/* Parameter row */

 

-/* 4380 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

+/* 4380 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 4382 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4384 */	NdrFcShort( 0x5b6 ),	/* Type Offset=1462 */

-

-	/* Parameter nSelectedCells */

-

-/* 4386 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4388 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4390 */	0x8,		/* FC_LONG */

+/* 4384 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Parameter description */

+

+/* 4386 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 4388 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4390 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

 	/* Return value */

 

 /* 4392 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

@@ -4325,12 +4332,12 @@
 /* 4396 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedColumns */

+	/* Procedure get_selectedCells */

 

 /* 4398 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4400 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4404 */	NdrFcShort( 0xd ),	/* 13 */

+/* 4404 */	NdrFcShort( 0xc ),	/* 12 */

 /* 4406 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4408 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4410 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4342,13 +4349,13 @@
 /* 4418 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4420 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter selectedColumns */

+	/* Parameter cells */

 

 /* 4422 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4424 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4426 */	NdrFcShort( 0x5d4 ),	/* Type Offset=1492 */

+/* 4426 */	NdrFcShort( 0x5e8 ),	/* Type Offset=1512 */

 

-	/* Parameter nColumns */

+	/* Parameter nSelectedCells */

 

 /* 4428 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4430 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -4362,12 +4369,12 @@
 /* 4438 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_selectedRows */

+	/* Procedure get_selectedColumns */

 

 /* 4440 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4442 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4446 */	NdrFcShort( 0xe ),	/* 14 */

+/* 4446 */	NdrFcShort( 0xd ),	/* 13 */

 /* 4448 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4450 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4452 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4379,13 +4386,13 @@
 /* 4460 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4462 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter selectedRows */

+	/* Parameter selectedColumns */

 

 /* 4464 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4466 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4468 */	NdrFcShort( 0x5d4 ),	/* Type Offset=1492 */

+/* 4468 */	NdrFcShort( 0x606 ),	/* Type Offset=1542 */

 

-	/* Parameter nRows */

+	/* Parameter nColumns */

 

 /* 4470 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4472 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -4399,80 +4406,79 @@
 /* 4480 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_summary */

+	/* Procedure get_selectedRows */

 

 /* 4482 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4484 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4488 */	NdrFcShort( 0xf ),	/* 15 */

-/* 4490 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4488 */	NdrFcShort( 0xe ),	/* 14 */

+/* 4490 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4492 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4494 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4494 */	NdrFcShort( 0x24 ),	/* 36 */

 /* 4496 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 4498 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4500 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 4500 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 4502 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4504 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter accessible */

+	/* Parameter selectedRows */

 

-/* 4506 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 4506 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4508 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4510 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 4510 */	NdrFcShort( 0x606 ),	/* Type Offset=1542 */

 

-	/* Return value */

+	/* Parameter nRows */

 

-/* 4512 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4512 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4514 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 4516 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isColumnSelected */

+	/* Return value */

 

-/* 4518 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4518 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4520 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4522 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_summary */

+

+/* 4524 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4520 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4524 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 4526 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 4528 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4530 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 4532 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 4534 */	0x8,		/* 8 */

+/* 4526 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4530 */	NdrFcShort( 0xf ),	/* 15 */

+/* 4532 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4536 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4538 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 4540 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4536 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4538 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4542 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4544 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4546 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter column */

+	/* Parameter accessible */

 

-/* 4542 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4544 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4546 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter isSelected */

-

-/* 4548 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4550 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4552 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 4548 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 4550 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4552 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

 /* 4554 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4556 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4556 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 4558 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isRowSelected */

+	/* Procedure get_isColumnSelected */

 

 /* 4560 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4562 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4566 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 4566 */	NdrFcShort( 0x10 ),	/* 16 */

 /* 4568 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4570 */	NdrFcShort( 0x8 ),	/* 8 */

 /* 4572 */	NdrFcShort( 0x21 ),	/* 33 */

@@ -4484,7 +4490,7 @@
 /* 4580 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4582 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter row */

+	/* Parameter column */

 

 /* 4584 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

 /* 4586 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

@@ -4505,17 +4511,17 @@
 /* 4600 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure selectRow */

+	/* Procedure get_isRowSelected */

 

 /* 4602 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4604 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4608 */	NdrFcShort( 0x12 ),	/* 18 */

-/* 4610 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4608 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 4610 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4612 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4614 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4614 */	NdrFcShort( 0x21 ),	/* 33 */

 /* 4616 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+			0x3,		/* 3 */

 /* 4618 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

 /* 4620 */	NdrFcShort( 0x0 ),	/* 0 */

@@ -4529,179 +4535,180 @@
 /* 4630 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Parameter isSelected */

+

+/* 4632 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4634 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4636 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

 	/* Return value */

 

-/* 4632 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4634 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4636 */	0x8,		/* FC_LONG */

+/* 4638 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4640 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4642 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure selectRow */

+

+/* 4644 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4646 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4650 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 4652 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4654 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4656 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4658 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 4660 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4664 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4666 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter row */

+

+/* 4668 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4670 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4672 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 4674 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4676 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4678 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure selectColumn */

 

-/* 4638 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4680 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4640 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4644 */	NdrFcShort( 0x13 ),	/* 19 */

-/* 4646 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4648 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4650 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4652 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4682 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4686 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 4688 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4690 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4692 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4694 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4654 */	0x8,		/* 8 */

+/* 4696 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4656 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4658 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4660 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4698 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4702 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4662 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4664 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4666 */	0x8,		/* FC_LONG */

+/* 4704 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4706 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4708 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4668 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4670 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4672 */	0x8,		/* FC_LONG */

+/* 4710 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4712 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4714 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectRow */

 

-/* 4674 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4716 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4676 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4680 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 4682 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4684 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4686 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4688 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4718 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4722 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 4724 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4726 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4728 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4730 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4690 */	0x8,		/* 8 */

+/* 4732 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4692 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4694 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4734 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4738 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 4698 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4700 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4702 */	0x8,		/* FC_LONG */

+/* 4740 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4742 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4744 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4704 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4706 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4708 */	0x8,		/* FC_LONG */

+/* 4746 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4748 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4750 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure unselectColumn */

 

-/* 4710 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4752 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4712 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4716 */	NdrFcShort( 0x15 ),	/* 21 */

-/* 4718 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4720 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4722 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4724 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4754 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4758 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 4760 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4762 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4764 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4766 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x2,		/* 2 */

-/* 4726 */	0x8,		/* 8 */

+/* 4768 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4728 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4730 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4732 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4770 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4774 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter column */

 

-/* 4734 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 4736 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4738 */	0x8,		/* FC_LONG */

+/* 4776 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 4778 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4780 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4740 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4742 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4744 */	0x8,		/* FC_LONG */

+/* 4782 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4784 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4786 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_modelChange */

 

-/* 4746 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4788 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4748 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4752 */	NdrFcShort( 0x16 ),	/* 22 */

-/* 4754 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4756 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4758 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4760 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 4790 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4794 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 4796 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4798 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4800 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 4802 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4762 */	0x8,		/* 8 */

+/* 4804 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4764 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4766 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4768 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4806 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4810 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter modelChange */

 

-/* 4770 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

-/* 4772 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4774 */	NdrFcShort( 0x5a8 ),	/* Type Offset=1448 */

-

-	/* Return value */

-

-/* 4776 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4778 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4780 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_columnHeaderCells */

-

-/* 4782 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4784 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4788 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 4790 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 4792 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4794 */	NdrFcShort( 0x24 ),	/* 36 */

-/* 4796 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x3,		/* 3 */

-/* 4798 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 4800 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 4802 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4804 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter cellAccessibles */

-

-/* 4806 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

-/* 4808 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4810 */	NdrFcShort( 0x5b6 ),	/* Type Offset=1462 */

-

-	/* Parameter nColumnHeaderCells */

-

-/* 4812 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4814 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4816 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

+/* 4812 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 4814 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4816 */	NdrFcShort( 0x5da ),	/* Type Offset=1498 */

 

 	/* Return value */

 

 /* 4818 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4820 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4820 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 4822 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_rowHeaderCells */

+	/* Procedure get_columnHeaderCells */

 

 /* 4824 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4826 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4830 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 4830 */	NdrFcShort( 0x4 ),	/* 4 */

 /* 4832 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4834 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4836 */	NdrFcShort( 0x24 ),	/* 36 */

@@ -4717,9 +4724,9 @@
 

 /* 4848 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4850 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4852 */	NdrFcShort( 0x5b6 ),	/* Type Offset=1462 */

+/* 4852 */	NdrFcShort( 0x5e8 ),	/* Type Offset=1512 */

 

-	/* Parameter nRowHeaderCells */

+	/* Parameter nColumnHeaderCells */

 

 /* 4854 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4856 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

@@ -4733,297 +4740,334 @@
 /* 4864 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_isSelected */

+	/* Procedure get_rowHeaderCells */

 

 /* 4866 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 4868 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4872 */	NdrFcShort( 0x9 ),	/* 9 */

-/* 4874 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4872 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 4874 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 4876 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4878 */	NdrFcShort( 0x21 ),	/* 33 */

-/* 4880 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x2,		/* 2 */

+/* 4878 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 4880 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

 /* 4882 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 4884 */	NdrFcShort( 0x0 ),	/* 0 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 4884 */	NdrFcShort( 0x1 ),	/* 1 */

 /* 4886 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 4888 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter isSelected */

+	/* Parameter cellAccessibles */

 

-/* 4890 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4890 */	NdrFcShort( 0x2013 ),	/* Flags:  must size, must free, out, srv alloc size=8 */

 /* 4892 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4894 */	0x3,		/* FC_SMALL */

-			0x0,		/* 0 */

+/* 4894 */	NdrFcShort( 0x5e8 ),	/* Type Offset=1512 */

 

-	/* Return value */

+	/* Parameter nRowHeaderCells */

 

-/* 4896 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4896 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 4898 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 4900 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

+	/* Return value */

+

+/* 4902 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4904 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4906 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isSelected */

+

+/* 4908 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 4910 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4914 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 4916 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4920 */	NdrFcShort( 0x21 ),	/* 33 */

+/* 4922 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 4924 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 4926 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4930 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter isSelected */

+

+/* 4932 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4934 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4936 */	0x3,		/* FC_SMALL */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 4938 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 4940 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4942 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

 	/* Procedure get_rowColumnExtents */

 

-/* 4902 */	0x33,		/* FC_AUTO_HANDLE */

+/* 4944 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4904 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4908 */	NdrFcShort( 0xa ),	/* 10 */

-/* 4910 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

-/* 4912 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4914 */	NdrFcShort( 0x91 ),	/* 145 */

-/* 4916 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 4946 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 4950 */	NdrFcShort( 0xa ),	/* 10 */

+/* 4952 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 4954 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4956 */	NdrFcShort( 0x91 ),	/* 145 */

+/* 4958 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x6,		/* 6 */

-/* 4918 */	0x8,		/* 8 */

+/* 4960 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4920 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4922 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4924 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4962 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4964 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 4966 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter row */

 

-/* 4926 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4928 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4930 */	0x8,		/* FC_LONG */

+/* 4968 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4970 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 4972 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter column */

 

-/* 4932 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4934 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4936 */	0x8,		/* FC_LONG */

+/* 4974 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4976 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 4978 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter rowExtents */

 

-/* 4938 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4940 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4942 */	0x8,		/* FC_LONG */

+/* 4980 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4982 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 4984 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter columnExtents */

 

-/* 4944 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4946 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 4948 */	0x8,		/* FC_LONG */

+/* 4986 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4988 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 4990 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter isSelected */

 

-/* 4950 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 4952 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 4954 */	0x3,		/* FC_SMALL */

+/* 4992 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 4994 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 4996 */	0x3,		/* FC_SMALL */

 			0x0,		/* 0 */

 

 	/* Return value */

 

-/* 4956 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4958 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

-/* 4960 */	0x8,		/* FC_LONG */

+/* 4998 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5000 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 5002 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_table */

 

-/* 4962 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5004 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 4964 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 4968 */	NdrFcShort( 0xb ),	/* 11 */

-/* 4970 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 4972 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4974 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 4976 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5006 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5010 */	NdrFcShort( 0xb ),	/* 11 */

+/* 5012 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5016 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5018 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 4978 */	0x8,		/* 8 */

+/* 5020 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 4980 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4982 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 4984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5022 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5026 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter table */

 

-/* 4986 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 4988 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 4990 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 5028 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5030 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 5032 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

-/* 4992 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 4994 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 4996 */	0x8,		/* FC_LONG */

+/* 5034 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5036 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 5038 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_imagePosition */

 

-/* 4998 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5040 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5000 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5004 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 5006 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

-/* 5008 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5010 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 5012 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+/* 5042 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5046 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 5048 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 5050 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5052 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 5054 */	0x44,		/* Oi2 Flags:  has return, has ext, */

 			0x4,		/* 4 */

-/* 5014 */	0x8,		/* 8 */

+/* 5056 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5016 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5018 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5060 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5062 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter coordinateType */

 

-/* 5022 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

-/* 5024 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 5026 */	0xd,		/* FC_ENUM16 */

+/* 5064 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 5066 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 5068 */	0xd,		/* FC_ENUM16 */

 			0x0,		/* 0 */

 

 	/* Parameter x */

 

-/* 5028 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5030 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 5032 */	0x8,		/* FC_LONG */

+/* 5070 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 5072 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 5074 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Parameter y */

 

-/* 5034 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5036 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 5038 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Return value */

-

-/* 5040 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5042 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 5044 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Procedure get_imageSize */

-

-/* 5046 */	0x33,		/* FC_AUTO_HANDLE */

-			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5048 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5052 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 5054 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

-/* 5056 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5058 */	NdrFcShort( 0x40 ),	/* 64 */

-/* 5060 */	0x44,		/* Oi2 Flags:  has return, has ext, */

-			0x3,		/* 3 */

-/* 5062 */	0x8,		/* 8 */

-			0x1,		/* Ext Flags:  new corr desc, */

-/* 5064 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5066 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5068 */	NdrFcShort( 0x0 ),	/* 0 */

-

-	/* Parameter height */

-

-/* 5070 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5072 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 5074 */	0x8,		/* FC_LONG */

-			0x0,		/* 0 */

-

-	/* Parameter width */

-

 /* 5076 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

-/* 5078 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 5078 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

 /* 5080 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Return value */

 

 /* 5082 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5084 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5084 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 5086 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_toolkitName */

+	/* Procedure get_imageSize */

 

 /* 5088 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

 /* 5090 */	NdrFcLong( 0x0 ),	/* 0 */

 /* 5094 */	NdrFcShort( 0x5 ),	/* 5 */

-/* 5096 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5096 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

 /* 5098 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5100 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5102 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

-			0x2,		/* 2 */

+/* 5100 */	NdrFcShort( 0x40 ),	/* 64 */

+/* 5102 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x3,		/* 3 */

 /* 5104 */	0x8,		/* 8 */

-			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5106 */	NdrFcShort( 0x1 ),	/* 1 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 5106 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5108 */	NdrFcShort( 0x0 ),	/* 0 */

 /* 5110 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter name */

+	/* Parameter height */

 

-/* 5112 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5112 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5114 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 5116 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 5116 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

 

-	/* Return value */

+	/* Parameter width */

 

-/* 5118 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5118 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

 /* 5120 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

 /* 5122 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

-	/* Procedure get_toolkitVersion */

+	/* Return value */

 

-/* 5124 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5124 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5126 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5128 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_toolkitName */

+

+/* 5130 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5126 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5130 */	NdrFcShort( 0x6 ),	/* 6 */

-/* 5132 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 5134 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5136 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5138 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5132 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5136 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 5138 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5142 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5144 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5140 */	0x8,		/* 8 */

+/* 5146 */	0x8,		/* 8 */

 			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

-/* 5142 */	NdrFcShort( 0x1 ),	/* 1 */

-/* 5144 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5146 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5148 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 5150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5152 */	NdrFcShort( 0x0 ),	/* 0 */

 

-	/* Parameter version */

+	/* Parameter name */

 

-/* 5148 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

-/* 5150 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 5152 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+/* 5154 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5156 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 5158 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

 

 	/* Return value */

 

-/* 5154 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5156 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 5158 */	0x8,		/* FC_LONG */

+/* 5160 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5162 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 5164 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_toolkitVersion */

+

+/* 5166 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 5168 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5172 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 5174 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5176 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5178 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5180 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 5182 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 5184 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 5186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5188 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+/* 5190 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 5192 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 5194 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+/* 5196 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5198 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 5200 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 	/* Procedure get_anchorTarget */

 

-/* 5160 */	0x33,		/* FC_AUTO_HANDLE */

+/* 5202 */	0x33,		/* FC_AUTO_HANDLE */

 			0x6c,		/* Old Flags:  object, Oi2 */

-/* 5162 */	NdrFcLong( 0x0 ),	/* 0 */

-/* 5166 */	NdrFcShort( 0x3 ),	/* 3 */

-/* 5168 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 5170 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5172 */	NdrFcShort( 0x8 ),	/* 8 */

-/* 5174 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+/* 5204 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 5208 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 5210 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 5212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5214 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 5216 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

 			0x2,		/* 2 */

-/* 5176 */	0x8,		/* 8 */

+/* 5218 */	0x8,		/* 8 */

 			0x1,		/* Ext Flags:  new corr desc, */

-/* 5178 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5180 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 5182 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5220 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 5224 */	NdrFcShort( 0x0 ),	/* 0 */

 

 	/* Parameter accessible */

 

-/* 5184 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

-/* 5186 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 5188 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+/* 5226 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 5228 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 5230 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

 

 	/* Return value */

 

-/* 5190 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

-/* 5192 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 5194 */	0x8,		/* FC_LONG */

+/* 5232 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 5234 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 5236 */	0x8,		/* FC_LONG */

 			0x0,		/* 0 */

 

 			0x0

@@ -5926,163 +5970,200 @@
 /* 1300 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

 /* 1302 */	

-			0x12, 0x0,	/* FC_UP */

-/* 1304 */	NdrFcShort( 0xffc2 ),	/* Offset= -62 (1242) */

-/* 1306 */	0xb4,		/* FC_USER_MARSHAL */

-			0x83,		/* 131 */

-/* 1308 */	NdrFcShort( 0x2 ),	/* 2 */

-/* 1310 */	NdrFcShort( 0x10 ),	/* 16 */

-/* 1312 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1314 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1302) */

-/* 1316 */	

-			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

-/* 1318 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1320) */

-/* 1320 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1304 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1306) */

+/* 1306 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1308 */	NdrFcShort( 0x16 ),	/* Offset= 22 (1330) */

+/* 1310 */	

 			0x1a,		/* FC_BOGUS_STRUCT */

 			0x3,		/* 3 */

-/* 1322 */	NdrFcShort( 0xc ),	/* 12 */

-/* 1324 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1326 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1326) */

-/* 1328 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1312 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1316 */	NdrFcShort( 0xe ),	/* Offset= 14 (1330) */

+/* 1318 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1330 */	NdrFcShort( 0xfaee ),	/* Offset= -1298 (32) */

-/* 1332 */	0x8,		/* FC_LONG */

+/* 1320 */	NdrFcShort( 0xfb0a ),	/* Offset= -1270 (50) */

+/* 1322 */	0x8,		/* FC_LONG */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1324 */	0x0,		/* 0 */

+			NdrFcShort( 0xfb05 ),	/* Offset= -1275 (50) */

 			0x8,		/* FC_LONG */

-/* 1334 */	0x5c,		/* FC_PAD */

+/* 1328 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1336 */	

-			0x11, 0x0,	/* FC_RP */

-/* 1338 */	NdrFcShort( 0xfbd4 ),	/* Offset= -1068 (270) */

-/* 1340 */	

-			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

-/* 1342 */	0x3,		/* FC_SMALL */

-			0x5c,		/* FC_PAD */

-/* 1344 */	

-			0x11, 0x10,	/* FC_RP [pointer_deref] */

-/* 1346 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1348) */

-/* 1348 */	

-			0x2f,		/* FC_IP */

-			0x5a,		/* FC_CONSTANT_IID */

-/* 1350 */	NdrFcLong( 0x1c20f2b ),	/* 29495083 */

-/* 1354 */	NdrFcShort( 0x3dd2 ),	/* 15826 */

-/* 1356 */	NdrFcShort( 0x400f ),	/* 16399 */

-/* 1358 */	0x94,		/* 148 */

-			0x9f,		/* 159 */

-/* 1360 */	0xad,		/* 173 */

+/* 1330 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 1332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1334 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1336 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1338 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1340 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1344 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1346 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1362 */	0xbd,		/* 189 */

-			0xab,		/* 171 */

-/* 1364 */	0x1d,		/* 29 */

-			0x41,		/* 65 */

+/* 1348 */	NdrFcShort( 0xffda ),	/* Offset= -38 (1310) */

+/* 1350 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1352 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1354 */	NdrFcShort( 0xff90 ),	/* Offset= -112 (1242) */

+/* 1356 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1358 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1360 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1364 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1352) */

 /* 1366 */	

-			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

 /* 1368 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1370) */

 /* 1370 */	

-			0x13, 0x0,	/* FC_OP */

-/* 1372 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1374) */

-/* 1374 */	

-			0x21,		/* FC_BOGUS_ARRAY */

-			0x3,		/* 3 */

-/* 1376 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1378 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x54,		/* FC_DEREFERENCE */

-/* 1380 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1382 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1384 */	NdrFcLong( 0xffffffff ),	/* -1 */

-/* 1388 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1390 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

-			0x0,		/* 0 */

-/* 1392 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (1348) */

-/* 1394 */	0x5c,		/* FC_PAD */

-			0x5b,		/* FC_END */

-/* 1396 */	

-			0x11, 0x10,	/* FC_RP [pointer_deref] */

-/* 1398 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1400) */

-/* 1400 */	

-			0x2f,		/* FC_IP */

-			0x5a,		/* FC_CONSTANT_IID */

-/* 1402 */	NdrFcLong( 0x35ad8070 ),	/* 900563056 */

-/* 1406 */	NdrFcShort( 0xc20c ),	/* -15860 */

-/* 1408 */	NdrFcShort( 0x4fb4 ),	/* 20404 */

-/* 1410 */	0xb0,		/* 176 */

-			0x94,		/* 148 */

-/* 1412 */	0xf4,		/* 244 */

-			0xf7,		/* 247 */

-/* 1414 */	0x27,		/* 39 */

-			0x5d,		/* 93 */

-/* 1416 */	0xd4,		/* 212 */

-			0x69,		/* 105 */

-/* 1418 */	

-			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1420 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1422) */

-/* 1422 */	

-			0x13, 0x0,	/* FC_OP */

-/* 1424 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1426) */

-/* 1426 */	

-			0x1c,		/* FC_CVARRAY */

-			0x3,		/* 3 */

-/* 1428 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1430 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x0,		/*  */

-/* 1432 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

-/* 1434 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

-/* 1436 */	0x28,		/* Corr desc:  parameter, FC_LONG */

-			0x54,		/* FC_DEREFERENCE */

-/* 1438 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

-/* 1440 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1442 */	0x8,		/* FC_LONG */

-			0x5b,		/* FC_END */

-/* 1444 */	

-			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

-/* 1446 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1448) */

-/* 1448 */	

 			0x1a,		/* FC_BOGUS_STRUCT */

 			0x3,		/* 3 */

-/* 1450 */	NdrFcShort( 0x14 ),	/* 20 */

-/* 1452 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1454 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1454) */

-/* 1456 */	0xd,		/* FC_ENUM16 */

+/* 1372 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1376 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1376) */

+/* 1378 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1380 */	NdrFcShort( 0xfabc ),	/* Offset= -1348 (32) */

+/* 1382 */	0x8,		/* FC_LONG */

 			0x8,		/* FC_LONG */

-/* 1458 */	0x8,		/* FC_LONG */

-			0x8,		/* FC_LONG */

-/* 1460 */	0x8,		/* FC_LONG */

+/* 1384 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1462 */	

+/* 1386 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1388 */	NdrFcShort( 0xfba2 ),	/* Offset= -1118 (270) */

+/* 1390 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1392 */	0x3,		/* FC_SMALL */

+			0x5c,		/* FC_PAD */

+/* 1394 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1396 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1398) */

+/* 1398 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1400 */	NdrFcLong( 0x1c20f2b ),	/* 29495083 */

+/* 1404 */	NdrFcShort( 0x3dd2 ),	/* 15826 */

+/* 1406 */	NdrFcShort( 0x400f ),	/* 16399 */

+/* 1408 */	0x94,		/* 148 */

+			0x9f,		/* 159 */

+/* 1410 */	0xad,		/* 173 */

+			0x0,		/* 0 */

+/* 1412 */	0xbd,		/* 189 */

+			0xab,		/* 171 */

+/* 1414 */	0x1d,		/* 29 */

+			0x41,		/* 65 */

+/* 1416 */	

 			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1464 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1466) */

-/* 1466 */	

+/* 1418 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1420) */

+/* 1420 */	

 			0x13, 0x0,	/* FC_OP */

-/* 1468 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1470) */

-/* 1470 */	

+/* 1422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1424) */

+/* 1424 */	

 			0x21,		/* FC_BOGUS_ARRAY */

 			0x3,		/* 3 */

-/* 1472 */	NdrFcShort( 0x0 ),	/* 0 */

-/* 1474 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1428 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1476 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1478 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1480 */	NdrFcLong( 0xffffffff ),	/* -1 */

-/* 1484 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1486 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 1430 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1432 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1434 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1438 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1440 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

 			0x0,		/* 0 */

-/* 1488 */	NdrFcShort( 0xfa62 ),	/* Offset= -1438 (50) */

-/* 1490 */	0x5c,		/* FC_PAD */

+/* 1442 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (1398) */

+/* 1444 */	0x5c,		/* FC_PAD */

 			0x5b,		/* FC_END */

-/* 1492 */	

+/* 1446 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1448 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1450) */

+/* 1450 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1452 */	NdrFcLong( 0x35ad8070 ),	/* 900563056 */

+/* 1456 */	NdrFcShort( 0xc20c ),	/* -15860 */

+/* 1458 */	NdrFcShort( 0x4fb4 ),	/* 20404 */

+/* 1460 */	0xb0,		/* 176 */

+			0x94,		/* 148 */

+/* 1462 */	0xf4,		/* 244 */

+			0xf7,		/* 247 */

+/* 1464 */	0x27,		/* 39 */

+			0x5d,		/* 93 */

+/* 1466 */	0xd4,		/* 212 */

+			0x69,		/* 105 */

+/* 1468 */	

 			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

-/* 1494 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1496) */

-/* 1496 */	

+/* 1470 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1472) */

+/* 1472 */	

 			0x13, 0x0,	/* FC_OP */

-/* 1498 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1500) */

-/* 1500 */	

+/* 1474 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1476) */

+/* 1476 */	

+			0x1c,		/* FC_CVARRAY */

+			0x3,		/* 3 */

+/* 1478 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1480 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x0,		/*  */

+/* 1482 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1484 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 1486 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1488 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1490 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1492 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 1494 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 1496 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1498) */

+/* 1498 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1500 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1504 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1504) */

+/* 1506 */	0xd,		/* FC_ENUM16 */

+			0x8,		/* FC_LONG */

+/* 1508 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1510 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 1512 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1514 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1516) */

+/* 1516 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1518 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1520) */

+/* 1520 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 1522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1524 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+			0x54,		/* FC_DEREFERENCE */

+/* 1526 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1528 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1530 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 1534 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1536 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1538 */	NdrFcShort( 0xfa30 ),	/* Offset= -1488 (50) */

+/* 1540 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1542 */	

+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */

+/* 1544 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1546) */

+/* 1546 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1548 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1550) */

+/* 1550 */	

 			0x1b,		/* FC_CARRAY */

 			0x3,		/* 3 */

-/* 1502 */	NdrFcShort( 0x4 ),	/* 4 */

-/* 1504 */	0x28,		/* Corr desc:  parameter, FC_LONG */

+/* 1552 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1554 */	0x28,		/* Corr desc:  parameter, FC_LONG */

 			0x54,		/* FC_DEREFERENCE */

-/* 1506 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

-/* 1508 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

-/* 1510 */	0x8,		/* FC_LONG */

+/* 1556 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1558 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 1560 */	0x8,		/* FC_LONG */

 			0x5b,		/* FC_END */

 

 			0x0

@@ -6634,14 +6715,212 @@
    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

+/* Object interface: IAccessible2_3, ver. 0.0,

+   GUID={0x5BE18059,0x762E,0x4E73,{0x94,0x76,0xAB,0xA2,0x94,0xFE,0xD4,0x11}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAccessible2_3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    450,

+    486,

+    528,

+    576,

+    612,

+    648,

+    696,

+    744,

+    780,

+    816,

+    852,

+    888,

+    936,

+    984,

+    1020,

+    1056,

+    1092,

+    1128,

+    1164,

+    1206,

+    1248,

+    1302

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAccessible2_3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    ia2_api_all__MIDL_ProcFormatString.Format,

+    &IAccessible2_3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAccessible2_3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    ia2_api_all__MIDL_ProcFormatString.Format,

+    &IAccessible2_3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(50) _IAccessible2_3ProxyVtbl = 

+{

+    &IAccessible2_3_ProxyInfo,

+    &IID_IAccessible2_3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    0 /* IAccessible::get_accParent */ ,

+    0 /* IAccessible::get_accChildCount */ ,

+    0 /* IAccessible::get_accChild */ ,

+    0 /* IAccessible::get_accName */ ,

+    0 /* IAccessible::get_accValue */ ,

+    0 /* IAccessible::get_accDescription */ ,

+    0 /* IAccessible::get_accRole */ ,

+    0 /* IAccessible::get_accState */ ,

+    0 /* IAccessible::get_accHelp */ ,

+    0 /* IAccessible::get_accHelpTopic */ ,

+    0 /* IAccessible::get_accKeyboardShortcut */ ,

+    0 /* IAccessible::get_accFocus */ ,

+    0 /* IAccessible::get_accSelection */ ,

+    0 /* IAccessible::get_accDefaultAction */ ,

+    0 /* IAccessible::accSelect */ ,

+    0 /* IAccessible::accLocation */ ,

+    0 /* IAccessible::accNavigate */ ,

+    0 /* IAccessible::accHitTest */ ,

+    0 /* IAccessible::accDoDefaultAction */ ,

+    0 /* IAccessible::put_accName */ ,

+    0 /* IAccessible::put_accValue */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::role */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_states */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */ ,

+    (void *) (INT_PTR) -1 /* IAccessible2_3::get_selectionRanges */

+};

+

+

+static const PRPC_STUB_FUNCTION IAccessible2_3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAccessible2_3StubVtbl =

+{

+    &IID_IAccessible2_3,

+    &IAccessible2_3_ServerInfo,

+    50,

+    &IAccessible2_3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0005, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

 /* Object interface: IAccessibleComponent, ver. 0.0,

    GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */

 

 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] =

     {

-    1302,

     1344,

+    1386,

     72

     };

 

@@ -6694,10 +6973,10 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleValue_FormatStringOffsetTable[] =

     {

-    1380,

-    1416,

-    1452,

-    1488

+    1422,

+    1458,

+    1494,

+    1530

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo =

@@ -6744,7 +7023,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0007, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

@@ -6754,25 +7033,25 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleText_FormatStringOffsetTable[] =

     {

-    1524,

     1566,

+    1608,

     72,

-    1620,

-    1686,

-    1722,

-    1776,

-    1824,

-    1872,

-    1932,

-    1992,

-    2052,

-    2088,

-    2124,

-    2172,

-    2208,

-    2256,

-    2316,

-    2352

+    1662,

+    1728,

+    1764,

+    1818,

+    1866,

+    1914,

+    1974,

+    2034,

+    2094,

+    2130,

+    2166,

+    2214,

+    2250,

+    2298,

+    2358,

+    2394

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo =

@@ -6840,26 +7119,26 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleText2_FormatStringOffsetTable[] =

     {

-    1524,

     1566,

+    1608,

     72,

-    1620,

-    1686,

-    1722,

-    1776,

-    1824,

-    1872,

-    1932,

-    1992,

-    2052,

-    2088,

-    2124,

-    2172,

-    2208,

-    2256,

-    2316,

-    2352,

-    2388

+    1662,

+    1728,

+    1764,

+    1818,

+    1866,

+    1914,

+    1974,

+    2034,

+    2094,

+    2130,

+    2166,

+    2214,

+    2250,

+    2298,

+    2358,

+    2394,

+    2430

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo =

@@ -6928,13 +7207,13 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] =

     {

-    1524,

-    2448,

+    1566,

     2490,

     2532,

     2574,

-    2610,

-    2658

+    2616,

+    2652,

+    2700

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo =

@@ -6996,11 +7275,11 @@
     312,

     366,

     408,

-    2706,

     2748,

     2790,

-    2826,

-    2862

+    2832,

+    2868,

+    2904

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo =

@@ -7060,28 +7339,28 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] =

     {

-    1524,

     1566,

+    1608,

     72,

-    1620,

-    1686,

-    1722,

-    1776,

-    1824,

-    1872,

-    1932,

-    1992,

-    2052,

-    2088,

-    2124,

-    2172,

-    2208,

-    2256,

-    2316,

-    2352,

-    2898,

-    2934,

-    2976

+    1662,

+    1728,

+    1764,

+    1818,

+    1866,

+    1914,

+    1974,

+    2034,

+    2094,

+    2130,

+    2166,

+    2214,

+    2250,

+    2298,

+    2358,

+    2394,

+    2940,

+    2976,

+    3018

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo =

@@ -7152,29 +7431,29 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] =

     {

-    1524,

     1566,

+    1608,

     72,

-    1620,

-    1686,

-    1722,

-    1776,

-    1824,

-    1872,

-    1932,

-    1992,

-    2052,

-    2088,

-    2124,

-    2172,

-    2208,

-    2256,

-    2316,

-    2352,

-    2898,

-    2934,

+    1662,

+    1728,

+    1764,

+    1818,

+    1866,

+    1914,

+    1974,

+    2034,

+    2094,

+    2130,

+    2166,

+    2214,

+    2250,

+    2298,

+    2358,

+    2394,

+    2940,

     2976,

-    3018

+    3018,

+    3060

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo =

@@ -7246,35 +7525,35 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleTable_FormatStringOffsetTable[] =

     {

-    3060,

-    3108,

-    3144,

-    3192,

+    3102,

+    3150,

+    3186,

     3234,

-    3282,

+    3276,

     3324,

     3366,

-    2790,

-    2826,

-    3402,

-    3438,

-    3474,

+    3408,

+    2832,

+    2868,

+    3444,

+    3480,

     3516,

-    3564,

+    3558,

     3606,

     3648,

-    3696,

-    3744,

-    3792,

-    3828,

+    3690,

+    3738,

+    3786,

+    3834,

     3870,

     3912,

-    3960,

-    3996,

-    4032,

-    4068,

-    4104,

-    4170

+    3954,

+    4002,

+    4038,

+    4074,

+    4110,

+    4146,

+    4212

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo =

@@ -7352,26 +7631,26 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] =

     {

-    3060,

-    3108,

+    3102,

+    3150,

     270,

-    4206,

-    1686,

-    4242,

-    4278,

-    3366,

-    4314,

+    4248,

+    1728,

+    4284,

+    4320,

+    3408,

     4356,

     4398,

     4440,

     4482,

-    4518,

+    4524,

     4560,

     4602,

-    4638,

-    4674,

-    4710,

-    4746

+    4644,

+    4680,

+    4716,

+    4752,

+    4788

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo =

@@ -7441,14 +7720,14 @@
 static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] =

     {

     198,

-    4782,

-    72,

-    4206,

     4824,

-    4242,

+    72,

+    4248,

     4866,

-    4902,

-    4962

+    4284,

+    4908,

+    4944,

+    5004

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo =

@@ -7507,8 +7786,8 @@
 static const unsigned short IAccessibleImage_FormatStringOffsetTable[] =

     {

     0,

-    4998,

-    5046

+    5040,

+    5088

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo =

@@ -7554,7 +7833,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0017, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 

@@ -7566,8 +7845,8 @@
     {

     0,

     36,

-    5088,

-    5124

+    5130,

+    5166

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo =

@@ -7620,7 +7899,7 @@
 #pragma code_seg(".orpc")

 static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] =

     {

-    5160

+    5202

     };

 

 static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo =

@@ -7664,7 +7943,7 @@
 };

 

 

-/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0,

+/* Standard interface: __MIDL_itf_ia2_api_all_0000_0019, ver. 0.0,

    GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

 

 static const MIDL_STUB_DESC Object_StubDesc = 

@@ -7695,6 +7974,7 @@
 {

     ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAccessible2_3ProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl,

     ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl,

@@ -7718,6 +7998,7 @@
 {

     ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAccessible2_3StubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl,

     ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl,

@@ -7741,6 +8022,7 @@
 {

     "IAccessibleHyperlink",

     "IAccessibleImage",

+    "IAccessible2_3",

     "IAccessibleAction",

     "IAccessibleValue",

     "IAccessible2",

@@ -7764,6 +8046,7 @@
 {

     0,

     0,

+    &IID_IAccessible,

     0,

     0,

     &IID_IAccessible,

@@ -7790,12 +8073,12 @@
 {

     IID_BS_LOOKUP_SETUP

 

-    IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 )

+    IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 19, 16 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 )

     IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 )

-    IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex )

+    IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 19, *pIndex )

     

 }

 

@@ -7806,7 +8089,7 @@
     (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList,

     (const IID ** ) & _ia2_api_all_BaseIIDList,

     & _ia2_api_all_IID_Lookup, 

-    18,

+    19,

     2,

     0, /* table of [async_uuid] interfaces */

     0, /* Filler1 */

diff --git a/tools/clang/scripts/package.py b/tools/clang/scripts/package.py
index e2a559e5..3671709 100755
--- a/tools/clang/scripts/package.py
+++ b/tools/clang/scripts/package.py
@@ -19,13 +19,15 @@
 THIS_DIR = os.path.dirname(__file__)
 CHROMIUM_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..', '..'))
 THIRD_PARTY_DIR = os.path.join(THIS_DIR, '..', '..', '..', 'third_party')
+BUILDTOOLS_DIR = os.path.join(THIS_DIR, '..', '..', '..', 'buildtools')
 LLVM_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm')
 LLVM_BOOTSTRAP_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm-bootstrap')
 LLVM_BOOTSTRAP_INSTALL_DIR = os.path.join(THIRD_PARTY_DIR,
                                           'llvm-bootstrap-install')
 LLVM_BUILD_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm-build')
 LLVM_RELEASE_DIR = os.path.join(LLVM_BUILD_DIR, 'Release+Asserts')
-EU_STRIP = os.path.join(THIRD_PARTY_DIR, 'eu-strip', 'bin', 'eu-strip')
+EU_STRIP = os.path.join(BUILDTOOLS_DIR, 'third_party', 'eu-strip', 'bin',
+                        'eu-strip')
 STAMP_FILE = os.path.join(LLVM_BUILD_DIR, 'cr_build_revision')
 
 
@@ -232,7 +234,6 @@
   want = ['bin/llvm-pdbutil' + exe_ext,
           'bin/llvm-symbolizer' + exe_ext,
           'bin/llvm-undname' + exe_ext,
-          'bin/sancov' + exe_ext,
           # Copy built-in headers (lib/clang/3.x.y/include).
           'lib/clang/*/include/*',
           'lib/clang/*/share/asan_blacklist.txt',
@@ -396,7 +397,6 @@
                        'llvm-pdbutil',
                        'llvm-symbolizer',
                        'llvm-undname',
-                       'sancov',
                        ]
   if sys.platform.startswith('linux'):
     stripped_binaries.append('lld')
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index 8b2cb76d..70ba753d 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -35,7 +35,7 @@
   CLANG_REVISION = 'HEAD'
 
 # This is incremented when pushing a new build of Clang at the same revision.
-CLANG_SUB_REVISION=2
+CLANG_SUB_REVISION=3
 
 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION)
 
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 3396856..94cfcc4 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -651,6 +651,7 @@
       'chromeos-amd64-generic-cfi-thin-lto-rel': 'cros_chrome_sdk_headless_ozone_cfi_thin_lto',
       'chromeos-amd64-generic-rel': 'cros_chrome_sdk_headless_ozone',
       'chromeos-daisy-rel': 'cros_chrome_sdk_dchecks_always_on',
+      'chromeos-kevin-compile-rel': 'cros_chrome_sdk_headless_ozone_dcheck_always_on',
       'chromeos-kevin-rel': 'cros_chrome_sdk_headless_ozone_dcheck_always_on',
       'linux-chromeos-rel': 'chromeos_with_codecs_release_trybot',
       'linux-chromeos-compile-dbg': 'chromeos_with_codecs_debug_bot',
diff --git a/tools/metrics/actions/actions.xml b/tools/metrics/actions/actions.xml
index f3f27b0..ab0bbf22 100644
--- a/tools/metrics/actions/actions.xml
+++ b/tools/metrics/actions/actions.xml
@@ -17567,6 +17567,38 @@
   </description>
 </action>
 
+<action name="Signin_Signin_CancelAdvancedSyncSettings">
+  <owner>tangltom@chromium.org</owner>
+  <description>
+    Recorded when the user clicks the 'Cancel' button during the advanced sync
+    opt-in flow.
+  </description>
+</action>
+
+<action name="Signin_Signin_CancelCancelAdvancedSyncSettings">
+  <owner>tangltom@chromium.org</owner>
+  <description>
+    Recorded when the user clicks the 'Back' button on the 'Cancel sync?' dialog
+    during the advanced sync opt-in flow.
+  </description>
+</action>
+
+<action name="Signin_Signin_ConfirmAdvancedSyncSettings">
+  <owner>tangltom@chromium.org</owner>
+  <description>
+    Recorded when the user clicks the 'Confirm' button during the advanced sync
+    opt-in flow.
+  </description>
+</action>
+
+<action name="Signin_Signin_ConfirmCancelAdvancedSyncSettings">
+  <owner>tangltom@chromium.org</owner>
+  <description>
+    Recorded when the user clicks the 'Cancel sync' button on the 'Cancel sync?'
+    dialog during the advanced sync opt-in flow.
+  </description>
+</action>
+
 <action name="Signin_Signin_FromAppsPageLink">
   <owner>gogerald@chromium.org</owner>
   <description>
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 4d5cfa73..8442b28 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -28408,6 +28408,7 @@
   <int value="2" label="Credentials Rejected"/>
   <int value="3" label="Shutting Down"/>
   <int value="4" label="Subscription Failure"/>
+  <int value="5" label="Stopped"/>
 </enum>
 
 <enum name="IOSExternalURLRequestStatus">
@@ -31574,6 +31575,7 @@
   <int value="-345181892" label="new-tab-button-position"/>
   <int value="-344343842" label="disable-experimental-app-list"/>
   <int value="-343769596" label="ServiceWorkerScriptStreaming:disabled"/>
+  <int value="-342421456" label="EnableOverviewRoundedCorners:disabled"/>
   <int value="-340622848" label="disable-javascript-harmony-shipping"/>
   <int value="-340255045" label="allow-nacl-socket-api"/>
   <int value="-340023285" label="WebNFC:enabled"/>
@@ -32934,6 +32936,7 @@
       label="RemoveUsageOfDeprecatedGaiaSigninEndpoint:enabled"/>
   <int value="2034198538" label="TabHoverCards:enabled"/>
   <int value="2037756154" label="enable-impl-side-painting"/>
+  <int value="2039276757" label="EnableOverviewRoundedCorners:enabled"/>
   <int value="2040316611" label="IPH_ReopenTab:enabled"/>
   <int value="2043321329" label="OfflinePagesPrefetchingUI:disabled"/>
   <int value="2056572020" label="EnableUsernameCorrection:disabled"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 707cdd4..c6a0d4e9 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -1717,7 +1717,6 @@
 
 <histogram name="Android.DownloadManager.ForegroundServiceLifecycle"
     enum="DownloadNotificationForegroundLifecycle">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1798,7 +1797,6 @@
 
 <histogram name="Android.DownloadManager.NotificationInteraction"
     enum="DownloadNotificationInteractions">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1809,7 +1807,6 @@
 
 <histogram name="Android.DownloadManager.NotificationLaunch"
     enum="DownloadNotificationLaunchType">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1821,7 +1818,6 @@
 
 <histogram name="Android.DownloadManager.NotificationsCount.ForegroundDisabled"
     units="notifications">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1834,7 +1830,6 @@
 
 <histogram name="Android.DownloadManager.NotificationsCount.ForegroundEnabled"
     units="notifications">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1901,7 +1896,6 @@
 
 <histogram name="Android.DownloadManager.ServiceStopped.DownloadForeground"
     enum="DownloadNotificationServiceStopped">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -1918,7 +1912,6 @@
 
 <histogram name="Android.DownloadManager.ServiceStopped.DownloadNotification"
     enum="DownloadNotificationServiceStopped">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <owner>clank-downloads@google.com</owner>
   <summary>
@@ -3484,7 +3477,7 @@
 </histogram>
 
 <histogram name="Apps.AppListBadgedAppsCount" units="apps">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>
     Number of apps (including ones in folders) with Chrome badge, across all
     Launcher pages. This is gathered per open-launcher event.
@@ -4108,7 +4101,7 @@
 </histogram>
 
 <histogram name="Apps.StateTransition.AnimationSmoothness" units="%">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>
     Relative smoothness of animations of peeking launcher state transitions.
     100% represents ideally smooth 60 frames per second. 50% represents only 30
@@ -4642,8 +4635,10 @@
 
 <histogram name="Arc.Supervision.Transition.Result"
     enum="ArcSupervisionTransitionResult" expires_after="M74">
-  <owner>phongo@google.com</owner>
+  <owner>menegola@google.com</owner>
+  <owner>escordeiro@google.com</owner>
   <owner>brunokim@google.com</owner>
+  <owner>unichromeos-eng@google.com</owner>
   <summary>
     The result (success or the type of failure) of ARC supervision transition
     events.
@@ -4652,8 +4647,10 @@
 
 <histogram name="Arc.Supervision.Transition.Screen.Success.TimeDelta"
     units="ms" expires_after="M76">
-  <owner>phongo@google.com</owner>
   <owner>brunoad@google.com</owner>
+  <owner>menegola@google.com</owner>
+  <owner>escordeiro@google.com</owner>
+  <owner>unichromeos-eng@google.com</owner>
   <summary>
     Elapsed time for a successful supervision transition, during which the
     supervision transition screen was displayed.
@@ -4662,8 +4659,10 @@
 
 <histogram name="Arc.Supervision.Transition.Screen.Successful"
     enum="BooleanSuccess" expires_after="M76">
-  <owner>phongo@google.com</owner>
   <owner>brunoad@google.com</owner>
+  <owner>menegola@google.com</owner>
+  <owner>escordeiro@google.com</owner>
+  <owner>unichromeos-eng@google.com</owner>
   <summary>
     Whether supervision transition screen exited due to a successful transition.
   </summary>
@@ -4892,7 +4891,7 @@
 
 <histogram name="Ash.Dock.Action" enum="DockedAction">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     User-initiated action taken that affects docked windows such as docking,
     undocking, minimizing, restoring, closing or just dragging a docked window.
@@ -4901,7 +4900,7 @@
 
 <histogram name="Ash.Dock.ActionSource" enum="DockedActionSource">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Source (mouse, touch, keyboard or unknown) of the user-initiated action for
     docked windows.
@@ -4910,7 +4909,7 @@
 
 <histogram name="Ash.Dock.ItemsAll">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Number of all docked windows or panels including hidden or minimized.
     Recorded on every user action that interacts with docked windows.
@@ -4919,7 +4918,7 @@
 
 <histogram name="Ash.Dock.ItemsLarge">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Number of large (wider than dock maximum width) windows that had to be
     shrunk to get docked among the visible docked windows. Recorded on every
@@ -4929,7 +4928,7 @@
 
 <histogram name="Ash.Dock.ItemsPanels">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Number of docked visible panels. Recorded on every user action that
     interacts with docked windows.
@@ -4938,7 +4937,7 @@
 
 <histogram name="Ash.Dock.ItemsVisible">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Number of visible docked windows or panels. Recorded on every user action
     that interacts with docked windows.
@@ -4947,7 +4946,7 @@
 
 <histogram name="Ash.Dock.TimeBetweenUse" units="seconds">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Time elapsed between instances of docking, undocking or any other action
     affecting docked state of a window.
@@ -4956,7 +4955,7 @@
 
 <histogram name="Ash.Dock.Width" units="pixels">
   <owner>kuscher@google.com</owner>
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <summary>
     Width of the docked area in pixels. Recorded every time it changes after a
     user window resize operation is completed.
@@ -5682,7 +5681,7 @@
 </histogram>
 
 <histogram name="Ash.WindowCycleController.CycleTime" units="ms">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tbuckley@google.com</owner>
   <summary>
     The amount of time the Alt key is held after pressing Alt+Tab to begin
@@ -5691,7 +5690,7 @@
 </histogram>
 
 <histogram name="Ash.WindowCycleController.Items" units="items">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tbuckley@google.com</owner>
   <summary>
     The number of windows in the Alt+Tab selector. Only recorded once when
@@ -5700,7 +5699,7 @@
 </histogram>
 
 <histogram name="Ash.WindowCycleController.SelectionDepth" units="items">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tbuckley@google.com</owner>
   <summary>
     When a window is selected after pressing Alt+Tab, records that window's
@@ -5712,7 +5711,7 @@
 
 <histogram name="Ash.WindowCycleController.TimeBetweenTaskSwitches"
     units="seconds">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tbuckley@google.com</owner>
   <summary>
     The number of seconds between task switches triggered by the next window and
@@ -5736,7 +5735,7 @@
 </histogram>
 
 <histogram name="Ash.WindowSelector.AnimationSmoothness.Close" units="%">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tdanderson@chromium.org</owner>
   <summary>
     Relative smoothness of animations when closing a window in overview mode.
@@ -5745,7 +5744,7 @@
 </histogram>
 
 <histogram name="Ash.WindowSelector.AnimationSmoothness.Enter" units="%">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tdanderson@chromium.org</owner>
   <summary>
     Relative smoothness of animations when entering overview mode. 100%
@@ -5754,7 +5753,7 @@
 </histogram>
 
 <histogram name="Ash.WindowSelector.AnimationSmoothness.Exit" units="%">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tdanderson@chromium.org</owner>
   <summary>
     Relative smoothness of animations when exiting overview mode. 100%
@@ -5822,7 +5821,7 @@
 </histogram>
 
 <histogram name="Ash.WindowSelector.SelectionDepth" units="items">
-  <owner>varkha@chromium.org</owner>
+  <owner>wutao@chromium.org</owner>
   <owner>tdanderson@chromium.org</owner>
   <owner>tbuckley@chromium.org</owner>
   <summary>
@@ -11927,7 +11926,7 @@
 </histogram>
 
 <histogram name="Bluetooth.ConnectedDeviceCount" units="devices">
-  <owner>keybuk@chromium.org</owner>
+  <owner>adlr@chromium.org</owner>
   <summary>
     Counts the number of simulataneously connected Bluetooth devices. Used to
     direct testing efforts, and by our UI team to determine appropriate UI
@@ -11987,7 +11986,7 @@
 </histogram>
 
 <histogram name="Bluetooth.PairingMethod" enum="BluetoothPairingMethod">
-  <owner>keybuk@chromium.org</owner>
+  <owner>adlr@chromium.org</owner>
   <summary>
     Records the method used to pair each Bluetooth Device. Used to direct our
     testing efforts.
@@ -11995,7 +11994,7 @@
 </histogram>
 
 <histogram name="Bluetooth.PairingResult" enum="BluetoothPairingResult">
-  <owner>keybuk@chromium.org</owner>
+  <owner>adlr@chromium.org</owner>
   <summary>
     Records the result of pairing each Bluetooth Device. Used to understand
     whether we are having significant problems with Bluetooth pairing and seeing
@@ -14526,7 +14525,8 @@
 
 <histogram name="ChromeOS.PlatformVerification.Available"
     enum="BooleanAvailable">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     Whether platform verification subsystem features are available at the time a
     platform verification request is made for content protection on Chrome OS.
@@ -14535,7 +14535,8 @@
 
 <histogram name="ChromeOS.PlatformVerification.ExpiryStatus"
     enum="ChromeOSPlatformVerificationExpiryStatus">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The result of a certificate expiry check during a platform verification
     attempt for content protection on Chrome OS.
@@ -14544,7 +14545,8 @@
 
 <histogram name="ChromeOS.PlatformVerification.Result"
     enum="ChromeOSPlatformVerificationResult">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The result of a platform verification attempt for content protection on
     Chrome OS.
@@ -14734,8 +14736,8 @@
 </histogram>
 
 <histogram name="Chromoting.Input.EventLatency" units="microseconds">
-  <owner>anandc@chromium.org</owner>
-  <owner>sergeyu@chromium.org</owner>
+  <owner>joedow@chromium.org</owner>
+  <owner>lambroslambrou@chromium.org</owner>
   <summary>
     Input event delivery latency from the browser to the plugin.
 
@@ -14775,8 +14777,8 @@
 </histogram>
 
 <histogram name="Chromoting.Video.CapturePendingLatency" units="ms">
-  <owner>anandc@chromium.org</owner>
-  <owner>sergeyu@chromium.org</owner>
+  <owner>joedow@chromium.org</owner>
+  <owner>lambroslambrou@chromium.org</owner>
   <summary>
     The time from when an input event is received to when the next frame is
     captured.
@@ -14790,8 +14792,8 @@
 </histogram>
 
 <histogram name="Chromoting.Video.EncodeLatency" units="ms">
-  <owner>anandc@chromium.org</owner>
-  <owner>sergeyu@chromium.org</owner>
+  <owner>joedow@chromium.org</owner>
+  <owner>lambroslambrou@chromium.org</owner>
   <summary>
     The time to encode a video packet on the host, returned as part of a video
     packet.
@@ -14807,8 +14809,8 @@
 </histogram>
 
 <histogram name="Chromoting.Video.FrameRate" units="fps">
-  <owner>anandc@chromium.org</owner>
-  <owner>sergeyu@chromium.org</owner>
+  <owner>joedow@chromium.org</owner>
+  <owner>lambroslambrou@chromium.org</owner>
   <summary>
     The frame-rate of non-empty packets in Chromoting remote sessions, updated
     every time a video packet is processed and logged every 1s.
@@ -14974,17 +14976,17 @@
 </histogram>
 
 <histogram name="CloudPrint.AuthEvent" enum="CloudPrintAuthEventType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Event counts in CloudPrintAuth.</summary>
 </histogram>
 
 <histogram name="CloudPrint.AvailablePrinters">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of printers availible for registration.</summary>
 </histogram>
 
 <histogram name="CloudPrint.AvailablePrintersList">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The number of printers availible for registration in Windows Service.
   </summary>
@@ -14994,59 +14996,59 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time between capabilities updates.</summary>
 </histogram>
 
 <histogram name="CloudPrint.JobHandlerEvent"
     enum="CloudPrintJobHandlerEventType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Event counts in PrinterJobHandler.</summary>
 </histogram>
 
 <histogram name="CloudPrint.JobsDonePerInterval">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of jobs successfully completed per hour.</summary>
 </histogram>
 
 <histogram name="CloudPrint.JobsStartedPerInterval">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of jobs started per hour.</summary>
 </histogram>
 
 <histogram name="CloudPrint.JobStatus" enum="CloudPrintJobStatusType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Then number of job completion statuses.</summary>
 </histogram>
 
 <histogram name="CloudPrint.NativeJobStatus"
     enum="CloudPrintNativeJobStatusType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Event counts in PrintSystem.</summary>
 </histogram>
 
 <histogram name="CloudPrint.PrepareTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time needed to prepare job for spooling.</summary>
 </histogram>
 
 <histogram name="CloudPrint.PrinterBlacklistSize">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of printers user has blacklisted.</summary>
 </histogram>
 
 <histogram name="CloudPrint.PrinterWhitelistSize">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of printers user has whitelisted.</summary>
 </histogram>
 
 <histogram name="CloudPrint.PrintingTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time needed to finish print job.</summary>
 </histogram>
 
 <histogram name="CloudPrint.ServiceEvents" enum="ServiceProcessEventType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Event counts in ServiceProcessControl.</summary>
 </histogram>
 
@@ -15054,7 +15056,7 @@
   <obsolete>
     Removed 12/2015. http://crbug.com/466644
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Temporarily histogram with size of IPC sockets in default location.
   </summary>
@@ -15064,7 +15066,7 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The amount of time used to fail to collect printer capabilities.
   </summary>
@@ -15074,7 +15076,7 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time used to collect printer capabilities.</summary>
 </histogram>
 
@@ -15082,7 +15084,7 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The amount of time the utility process runs before disconnect.
   </summary>
@@ -15092,7 +15094,7 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time used to fail to generate metafile.</summary>
 </histogram>
 
@@ -15100,13 +15102,13 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time used to generate metafile.</summary>
 </histogram>
 
 <histogram name="CloudPrint.ServiceUtilityProcessHostEvent"
     enum="ServiceUtilityProcessHostEventType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Event counts in ServiceUtilityProcessHost.</summary>
 </histogram>
 
@@ -15114,7 +15116,7 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The amount of time used to fail to collect printer capabilities.
   </summary>
@@ -15124,48 +15126,48 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time used to collect printer capabilities.</summary>
 </histogram>
 
 <histogram name="CloudPrint.SpoolingTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time needed to spool print job.</summary>
 </histogram>
 
 <histogram name="CloudPrint.UnregisterPrinters">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of printers to unregister.</summary>
 </histogram>
 
 <histogram name="CloudPrint.UrlFetcherDownloadSize" units="KB">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of data downloaded on cloud print request.</summary>
 </histogram>
 
 <histogram name="CloudPrint.UrlFetcherRequestTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of time needed for cloud print request.</summary>
 </histogram>
 
 <histogram name="CloudPrint.UrlFetcherRequestType"
     enum="CloudPrintUrlFetcherRequestType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Request counts to cloud print service.</summary>
 </histogram>
 
 <histogram name="CloudPrint.UrlFetcherRetries">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The number of retries used to complete cloud print request.</summary>
 </histogram>
 
 <histogram name="CloudPrint.UrlFetcherUploadSize" units="KB">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>The amount of data uploaded with cloud print request.</summary>
 </histogram>
 
 <histogram name="CloudPrint.XmppPingTry">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Number of tries before successful ping. 99 means giving up.</summary>
 </histogram>
 
@@ -15173,7 +15175,7 @@
   <obsolete>
     Removed 02/2017. http://crbug.com/643570
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Xmpp timeout option value provided by server.</summary>
 </histogram>
 
@@ -15474,7 +15476,7 @@
 
 <histogram name="Compositing.CompositorFrameSinkSupport.SubmitResult"
     enum="CompositorFrameSinkSubmitResult">
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The result of submitting a CompositorFrame to a CompositorFrameSink.
     ACCEPTED means the frame was accepted by the CompositorFrameSink.
@@ -15643,7 +15645,7 @@
 </histogram>
 
 <histogram name="Compositing.MainFrameSynchronization.Duration" units="ms">
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The amount of time it took for a main frame with unresolved dependencies to
     activate. Note that some activations may be triggered due to a deadline
@@ -16104,7 +16106,7 @@
     Deprecated 10/2018. This metric didn't end up being useful.
   </obsolete>
   <owner>akaba@chromium.org</owner>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The distance between the latest inflight surface and the primary surface.
     This is logged for each call to HandleSurfaceQuad().
@@ -16143,7 +16145,7 @@
   <obsolete>
     Deprecated 10/2018. This metric didn't end up being useful.
   </obsolete>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The number of SurfaceDrawQuads where the primary SurfaceId does not have a
     corresponding active CompositorFrame and so the fallback surface is used
@@ -16168,7 +16170,7 @@
   <obsolete>
     Deprecated as of 10/2018. This metric didn't end up being useful.
   </obsolete>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     Tracks whether an activation of a surface was due to due to a deadline or
     the resolution of dependencies.
@@ -16176,7 +16178,7 @@
 </histogram>
 
 <histogram name="Compositing.SurfaceDependencyDeadline.Duration" units="ms">
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The amount of time it took for a Surface with unresolved dependencies to
     activate. Note that some activations may be triggered due to a deadline
@@ -16189,7 +16191,7 @@
     Deprecated as of 2018/09/10 in favor of
     Compositing.CompositorFrameSinkSupport.SubmitResult.
   </obsolete>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The number of times a renderer in this browser session has violated a
     surface synchronization invariant. This manifests as a skipped frame.
@@ -16200,7 +16202,7 @@
 
 <histogram name="Compositing.SurfaceManager.AliveSurfaces" units="surfaces">
   <owner>akaba@chromium.org</owner>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     Tracks the number of alive surfaces after each garbage collection operation.
   </summary>
@@ -16226,7 +16228,7 @@
 <histogram name="Compositing.SurfaceManager.TemporaryReferences"
     units="references">
   <owner>akaba@chromium.org</owner>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     Tracks the number of temporary references after each garbage collection
     operation.
@@ -18595,7 +18597,8 @@
 </histogram>
 
 <histogram name="Cryptohome.ChecksumStatus" enum="CryptohomeChecksumStatus">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     Checksum status of critical persistent data used by Cryptohome. This status
     is recorded every time the cryptohomed daemon reads a file.
@@ -18739,7 +18742,8 @@
 </histogram>
 
 <histogram name="Cryptohome.Errors" enum="CryptohomeError">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>Cryptohome errors.</summary>
 </histogram>
 
@@ -18884,7 +18888,8 @@
 </histogram>
 
 <histogram name="Cryptohome.TimeToInitPkcs11" units="ms">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The amount of time (ms) for Chrome OS cryptohome daemon to initialize the
     PKCS#11. Initializations under 1 second represent checks on a previously
@@ -18893,7 +18898,8 @@
 </histogram>
 
 <histogram name="Cryptohome.TimeToMountAsync" units="ms">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The amount of time (ms) for Chrome OS cryptohome to mount the encrypted home
     directory asynchronously.
@@ -18901,7 +18907,8 @@
 </histogram>
 
 <histogram name="Cryptohome.TimeToMountGuestAsync" units="ms">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The amount of time (ms) for Chrome OS cryptohome to mount the encrypted
     guest home directory asynchronously.
@@ -18909,7 +18916,8 @@
 </histogram>
 
 <histogram name="Cryptohome.TimeToMountGuestSync" units="ms">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The amount of time (ms) for Chrome OS cryptohome to mount the encrypted
     guest home directory synchronously.
@@ -18917,7 +18925,8 @@
 </histogram>
 
 <histogram name="Cryptohome.TimeToMountSync" units="ms">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The amount of time (ms) for Chrome OS cryptohome to mount the encrypted home
     directory synchronously.
@@ -18925,7 +18934,8 @@
 </histogram>
 
 <histogram name="Cryptohome.TimeToTakeTpmOwnership" units="ms">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     The amount of time (ms) for Chrome OS cryptohome daemon to take ownership of
     the TPM.
@@ -22382,12 +22392,12 @@
 </histogram>
 
 <histogram name="DiskCache.0.FilesAge" units="hours">
-  <owner>rvargas@chromium.org</owner>
+  <owner>lassey@google.com</owner>
   <summary>The age of the cache's files (wall time).</summary>
 </histogram>
 
 <histogram name="DiskCache.2.FilesAge" units="hours">
-  <owner>rvargas@chromium.org</owner>
+  <owner>lassey@google.com</owner>
   <summary>
     The age of the cache's files (wall time). Media-specific cache.
   </summary>
@@ -22404,7 +22414,7 @@
 </histogram>
 
 <histogram name="DiskCache.SizeStats2" units="KB">
-  <owner>rvargas@chromium.org</owner>
+  <owner>lassey@google.com</owner>
   <summary>The size distribution of data stored in the HTTP cache.</summary>
 </histogram>
 
@@ -24524,7 +24534,6 @@
 </histogram>
 
 <histogram name="Download.ContentType.Audio" enum="DownloadAudioType">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <summary>Types of audio files that are downloaded.</summary>
 </histogram>
@@ -24535,13 +24544,11 @@
 </histogram>
 
 <histogram name="Download.ContentType.Text" enum="DownloadTextType">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <summary>Types of text files that are downloaded.</summary>
 </histogram>
 
 <histogram name="Download.ContentType.Video" enum="DownloadVideoType">
-  <owner>jming@chromium.org</owner>
   <owner>xingliu@chromium.org</owner>
   <summary>Types of video files that are downloaded.</summary>
 </histogram>
@@ -33189,7 +33196,7 @@
 
 <histogram name="Extensions.ExtensionUpdaterFirstUpdateCheckErrorsGoogleUrl"
     enum="CombinedHttpResponseAndNetErrorCode" expires_after="M75">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Records the error codes of the extension updater update check errors. These
     events are triggered only when the extension updater gets an error for the
@@ -33200,7 +33207,7 @@
 
 <histogram name="Extensions.ExtensionUpdaterFirstUpdateCheckErrorsNonGoogleUrl"
     enum="CombinedHttpResponseAndNetErrorCode" expires_after="M75">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Records the error codes of the extension updater update check errors. These
     events are triggered only when the extension updater gets an error for the
@@ -33210,7 +33217,7 @@
 </histogram>
 
 <histogram name="Extensions.ExtensionUpdaterRawUpdateCalls" units="extensions">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     The number of extensions that are checked for update. This number is emitted
     right before the extensions are split between the current extension updater
@@ -33219,7 +33226,7 @@
 </histogram>
 
 <histogram name="Extensions.ExtensionUpdaterUpdateCalls" units="extensions">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     The number of extensions that are passed over to the extension updater for
     update check. Triggered when the extension updater starts doing update
@@ -33229,7 +33236,7 @@
 
 <histogram name="Extensions.ExtensionUpdaterUpdateFoundCount"
     units="extensions">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     The number of extensions that have updates in an update check session.
     Triggered when the extension updater found an update for an extension.
@@ -33238,7 +33245,7 @@
 
 <histogram name="Extensions.ExtensionUpdaterUpdateResults"
     enum="ExtensionUpdaterUpdateResult">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Records the update results of extensions in an extension updater session,
     grouped by ExtensionUpdaterUpdateResult.
@@ -35126,7 +35133,7 @@
 
 <histogram name="Extensions.UnifiedExtensionUpdaterDownloadErrors"
     enum="CombinedHttpResponseAndNetErrorCode">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Records the error codes of the unified extension updater download errors.
     These events are triggered when the extension updater fails to download the
@@ -35138,7 +35145,7 @@
 
 <histogram name="Extensions.UnifiedExtensionUpdaterUpdateCalls"
     units="extensions">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     The number of extensions that are passed over to the unified extension
     updater for update check. Triggered when the new extension updater starts
@@ -35148,7 +35155,7 @@
 
 <histogram name="Extensions.UnifiedExtensionUpdaterUpdateCheckErrors"
     enum="CombinedHttpResponseAndNetErrorCode">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Records the error codes of the unified extension updater update check
     errors. These events are triggered only when the new extension updater gets
@@ -35158,7 +35165,7 @@
 
 <histogram name="Extensions.UnifiedExtensionUpdaterUpdateResults"
     enum="ExtensionUpdaterUpdateResult">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Records the update results of extensions in an unified extension updater
     session, grouped by ExtensionUpdaterUpdateResult.
@@ -35167,7 +35174,7 @@
 
 <histogram name="Extensions.UnifiedExtensionUpdaterUpdateServiceErrors"
     enum="UpdateClientErrors">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     The update service errors that the update service encouters during an update
     check session using update client.
@@ -35306,7 +35313,7 @@
 </histogram>
 
 <histogram name="Extensions.UpdateManifestDuplicateEntryCount" units="entries">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     Counts the number of entries with the same extension ID found in the update
     manifest of an update check request. When the update manifest does not
@@ -35317,7 +35324,7 @@
 
 <histogram name="Extensions.UpdateManifestHasProdVersionMinCounts"
     units="extensions">
-  <owner>mxnguyen@chromium.org</owner>
+  <owner>waffles@chromium.org</owner>
   <summary>
     The number of prodversionmin attributes appearing in an update manifest of
     an update check request.
@@ -40025,7 +40032,8 @@
 </histogram>
 
 <histogram name="History.AttemptedToFixProfileError">
-  <owner>brettw@chromium.org</owner>
+  <owner>sky@chromium.org</owner>
+  <owner>sdefresne@chromium.org</owner>
   <summary>
     Logged whenever history database initialization fails. The frequency of
     logging will tell you the total failure rate. True indicate that we think
@@ -40347,7 +40355,8 @@
 </histogram>
 
 <histogram name="History.InitializationFailureStep" enum="HistoryInitStep">
-  <owner>brettw@chromium.org</owner>
+  <owner>sky@chromium.org</owner>
+  <owner>sdefresne@chromium.org</owner>
   <summary>
     The phase of history initialization that failed. This histogram is only
     logged on database initialization failure.
@@ -40489,7 +40498,8 @@
 </histogram>
 
 <histogram name="History.MigrateFailureFromVersion">
-  <owner>brettw@chromium.org</owner>
+  <owner>sky@chromium.org</owner>
+  <owner>sdefresne@chromium.org</owner>
   <summary>
     History database version from which history migration failed. If there are
     higher than normal migration failures, this histogram will indicate which
@@ -40584,7 +40594,7 @@
 </histogram>
 
 <histogram name="History.ResultsRenderedTime" units="ms">
-  <owner>tsergeant@chromium.org</owner>
+  <owner>dbeam@chromium.org</owner>
   <summary>
     Records the time taken to load the history Web UI and render (at least) a
     screen full of items. This is roughly equivalent to 'time to first
@@ -41254,7 +41264,7 @@
 </histogram>
 
 <histogram name="ImportantFile.TempFileFailures" enum="TempFileFailure">
-  <owner>rvargas@chromium.org</owner>
+  <owner>lassey@google.com</owner>
   <summary>
     Count of various failures in ImportantFileWrite when manipulating a temp
     file to write to before moving it into place (replacing another file).
@@ -43639,7 +43649,7 @@
 </histogram>
 
 <histogram name="IOS.IPHBubbleDismissalReason" enum="BubbleDismissalReason">
-  <owner>gchatz@chromium.org</owner>
+  <owner>pkl@chromium.org</owner>
   <summary>
     Tracks the reason for why the In Product Help bubble was dismissed.
   </summary>
@@ -43804,7 +43814,7 @@
 </histogram>
 
 <histogram name="IOS.SharePageLatency" units="ms">
-  <owner>gchatz@chromium.org</owner>
+  <owner>pkl@chromium.org</owner>
   <summary>
     The latency in milliseconds between the start of the Share Page operation
     and when the UI is ready to be presented.
@@ -44916,31 +44926,31 @@
 
 <histogram name="LocalDiscovery.ClientRestartAttempts">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Records number of attempts to start local discovery.</summary>
 </histogram>
 
 <histogram name="LocalDiscovery.DetectorRestartTime" units="ms">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Time between detector restarts.</summary>
 </histogram>
 
 <histogram name="LocalDiscovery.DetectorTriggerTime" units="ms">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Time before detector trigger notifications.</summary>
 </histogram>
 
 <histogram name="LocalDiscovery.DevicesPage" enum="DevicesPageEvents">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Records events related to devices page.</summary>
 </histogram>
 
 <histogram name="LocalDiscovery.FirewallAccessTime" units="ms">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Windows only histogram that reports request time spend accessing firewall
     rules. It's logged once per browser process lifetime, when local discovery
@@ -44950,7 +44960,7 @@
 
 <histogram name="LocalDiscovery.IsFirewallReady" enum="BooleanEnabled">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Windows only histogram that reports, whether a firewall is set, so we can
     bind inbound sockets. It's logged once per browser process lifetime, when
@@ -44961,7 +44971,7 @@
 <histogram name="LocalDiscovery.PrivetNotificationsEvent"
     enum="PrivetNotificationsEvent">
   <owner>noamsml@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Records events related to local discovery notifications.</summary>
 </histogram>
 
@@ -50371,7 +50381,7 @@
 </histogram>
 
 <histogram base="true" name="Media.WebMediaPlayerImpl.Memory" units="KB">
-  <owner>servolk@chromium.org</owner>
+  <owner>wolenetz@chromium.org</owner>
   <summary>
     Amount of memory used by the WebMediaPlayerImpl and its components.
   </summary>
@@ -53353,7 +53363,7 @@
 </histogram>
 
 <histogram name="Mobile.CanonicalURLResult" enum="CanonicalURLResult">
-  <owner>gchatz@chromium.org</owner>
+  <owner>pkl@chromium.org</owner>
   <owner>tedchoc@chromium.org</owner>
   <summary>
     The result of the operation to retrieve the page's canonical URL.
@@ -53840,7 +53850,7 @@
 </histogram>
 
 <histogram name="MobileStartup.DailyLaunchCount">
-  <owner>charliema@chromium.org</owner>
+  <owner>tedchoc@chromium.org</owner>
   <summary>The count of launching Chrome mobile app within a day.</summary>
 </histogram>
 
@@ -53854,7 +53864,7 @@
 </histogram>
 
 <histogram name="MobileStartup.LaunchType" enum="LaunchType">
-  <owner>charliema@chromium.org</owner>
+  <owner>tedchoc@chromium.org</owner>
   <summary>
     The type of launching Chrome mobile app, e.g launch by hitting icon.
   </summary>
@@ -54394,7 +54404,7 @@
   <obsolete>
     Deprecated 08/2016 due to lack of use (Histogram Eraser).
   </obsolete>
-  <owner>rvargas@chromium.org</owner>
+  <owner>lassey@google.com</owner>
   <summary>
     The time spent waiting for the renderer to acknowledge an input event.
   </summary>
@@ -54464,7 +54474,7 @@
   <obsolete>
     Deprecated 09/2018 as message no longer exists.
   </obsolete>
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <owner>piman@chromium.org</owner>
   <summary>
     The time delta for processing a paint message. On platforms that don't
@@ -54894,8 +54904,7 @@
 <histogram name="NaCl.Client.Helper.InitState" enum="NaClHelperStatus"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     When the browser started, what happened with the NaCl helper process?
   </summary>
@@ -54904,8 +54913,7 @@
 <histogram name="NaCl.Client.Helper.StateOnFork" enum="NaClHelperStatus"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     When a NaCl application process was created, what had happened with the NaCl
     helper process when the browser was started?
@@ -54913,16 +54921,15 @@
 </histogram>
 
 <histogram name="NaCl.Client.OSArch" enum="NaClOSArchEnum">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The OS/Architecture of a nexe that was loaded.</summary>
 </histogram>
 
 <histogram name="NaCl.HttpStatusCodeClass.Manifest.InstalledApp"
     enum="NaClHttpStatusCodeClass" expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The status code returned when trying to load a manifest inside an installed
     app.
@@ -54931,8 +54938,8 @@
 
 <histogram name="NaCl.HttpStatusCodeClass.Manifest.NotInstalledApp"
     enum="NaClHttpStatusCodeClass">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The status code returned when trying to load a manifest from a source other
     than an installed app.
@@ -54941,8 +54948,8 @@
 
 <histogram name="NaCl.HttpStatusCodeClass.Nexe.InstalledApp"
     enum="NaClHttpStatusCodeClass">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The status code returned when trying to load a NaCl executable inside an
     installed app.
@@ -54952,8 +54959,7 @@
 <histogram name="NaCl.HttpStatusCodeClass.Nexe.NotInstalledApp"
     enum="NaClHttpStatusCodeClass" expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The status code returned when trying to load a NaCl executable from a source
     other than an installed app.
@@ -54961,15 +54967,15 @@
 </histogram>
 
 <histogram name="NaCl.LoadStatus.Plugin" enum="NaClPluginErrorCode">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The error code returned by NaCl's Chrome plugin.</summary>
 </histogram>
 
 <histogram name="NaCl.LoadStatus.Plugin.InstalledApp"
     enum="NaClPluginErrorCode">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The error code returned by NaCl's Chrome plugin, but only for installed
     apps.
@@ -54978,8 +54984,8 @@
 
 <histogram name="NaCl.LoadStatus.Plugin.NotInstalledApp"
     enum="NaClPluginErrorCode">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The error code returned by NaCl's Chrome plugin, but excluding installed
     apps.
@@ -54987,15 +54993,15 @@
 </histogram>
 
 <histogram name="NaCl.LoadStatus.SelLdr" enum="NaClSelLdrErrorCode">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The error code returned by NaCl's sel_ldr.</summary>
 </histogram>
 
 <histogram name="NaCl.LoadStatus.SelLdr.InstalledApp"
     enum="NaClSelLdrErrorCode">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The error code returned by NaCl's sel_ldr, but only for installed apps.
   </summary>
@@ -55004,8 +55010,7 @@
 <histogram name="NaCl.LoadStatus.SelLdr.NotInstalledApp"
     enum="NaClSelLdrErrorCode" expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The error code returned by NaCl's sel_ldr, but excluding installed apps.
   </summary>
@@ -55014,8 +55019,7 @@
 <histogram name="NaCl.Manifest.IsDataURI" enum="NaClManifestType"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     Was the manifest specified as a data URI rather than a .nmf file?
   </summary>
@@ -55025,8 +55029,7 @@
   <obsolete>
     Deprecated 6/2011, renamed.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to download the manifset file for a Native Client module.
   </summary>
@@ -55034,16 +55037,14 @@
 
 <histogram name="NaCl.ModuleUptime.Crash" units="ms" expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The time a NaCl module ran before it crashed.</summary>
 </histogram>
 
 <histogram name="NaCl.ModuleUptime.Normal" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The time a NaCl module ran without crashing, at shutdown.</summary>
 </histogram>
 
@@ -55051,8 +55052,7 @@
   <obsolete>
     Deprecated 6/2011, renamed.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to download the main .nexe for a Native Client module.
   </summary>
@@ -55062,8 +55062,7 @@
   <obsolete>
     Deprecated 6/2011, renamed.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The size of the main .nexe file downloaded for a Native Client module.
   </summary>
@@ -55073,8 +55072,7 @@
   <obsolete>
     Deprecated 6/2011, renamed.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took between the Native Client plugin initialization and when
     proxied execution of the NaCl module begins. This is the general startup
@@ -55086,8 +55084,7 @@
   <obsolete>
     Deprecated 6/2011, renamed.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took between the Native Client plugin initialization and when
     proxied execution of the NaCl module begins. This is the general startup
@@ -55096,8 +55093,8 @@
 </histogram>
 
 <histogram name="NaCl.Options.PNaCl.OptLevel" enum="PNaClOptionsOptLevelEnum">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The optimization level set for the initial Portable Native Client
     translation from bitcode to native code.
@@ -55108,14 +55105,13 @@
   <obsolete>
     Deprecated 6/2011, renamed.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The OS/Architecture of a nexe that was loaded.</summary>
 </histogram>
 
 <histogram name="NaCl.Perf.PNaClCache.IsHit" enum="PNaClTranslationCacheEnum">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     Did the Portable Native Client translation cache find an executable
     translated from bitcode?
@@ -55123,8 +55119,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.PNaClLoadTime.CompileKBPerSec" units="KB/s">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The rate for compiling a Portable Native Client bitcode file to an object
     file in Kilobytes per second.
@@ -55132,8 +55128,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.PNaClLoadTime.CompileTime" units="ms">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to compile a Portable Native Client bitcode file to an
     object file.
@@ -55143,8 +55139,7 @@
 <histogram name="NaCl.Perf.PNaClLoadTime.LinkTime" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to link a Portable Native Client generated object file into
     a Native Client executable.
@@ -55152,8 +55147,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.PNaClLoadTime.LoadCompiler" units="ms">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to load and validate the Portable Native Client compiler.
   </summary>
@@ -55162,8 +55157,7 @@
 <histogram name="NaCl.Perf.PNaClLoadTime.LoadLinker" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to load and validate the Portable Native Client linker.
   </summary>
@@ -55171,8 +55165,8 @@
 
 <histogram name="NaCl.Perf.PNaClLoadTime.PctCompiledWhenFullyDownloaded"
     units="%">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The percentage of a Portable Native Client application that is compiled by
     the time the application is fully downloaded (compile and download happen in
@@ -55181,8 +55175,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedKBPerSec" units="KB/s">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The rate for completely translating a Portable Native Client bitcode file
     into a Native Client executable and caching the result in Kilobytes per
@@ -55191,8 +55185,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedTime" units="ms">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The total time it took to completely translate a Portable Native Client
     bitcode file into a Native Client executable, and cache the result.
@@ -55202,21 +55196,19 @@
 <histogram name="NaCl.Perf.ShutdownTime.Total" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The time it took the NaCl module to shut down.</summary>
 </histogram>
 
 <histogram name="NaCl.Perf.Size.Manifest" units="KB" expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The size of the manifest file.</summary>
 </histogram>
 
 <histogram name="NaCl.Perf.Size.Nexe" units="KB">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The size of the main .nexe file downloaded for a Native Client module.
   </summary>
@@ -55224,8 +55216,7 @@
 
 <histogram name="NaCl.Perf.Size.Pexe" units="KB" expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The size of the main .pexe bitcode file downloaded for a Portable Native
     Client module.
@@ -55233,8 +55224,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.Size.PexeNexeSizePct" units="%">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The size of the main .pexe bitcode file divided by the size of the .nexe
     that is the result of translating the bitcode file, times 100.
@@ -55242,8 +55233,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.Size.PNaClTranslatedNexe" units="KB">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The size of the main .nexe file that is the result of translating a Portable
     Native Client .pexe bitcode file. This reflects the amount of cache
@@ -55254,16 +55245,14 @@
 <histogram name="NaCl.Perf.StartupTime.LoadModule" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>The time it took to load the NaCl module into sel_ldr.</summary>
 </histogram>
 
 <histogram name="NaCl.Perf.StartupTime.LoadModulePerMB" units="milliseconds/MB"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to load the NaCl module into sel_ldr. Normalized by the
     size of the .nexe, in megabytes.
@@ -55273,8 +55262,7 @@
 <histogram name="NaCl.Perf.StartupTime.ManifestDownload" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to download the manifset file for a Native Client module.
   </summary>
@@ -55283,8 +55271,7 @@
 <histogram name="NaCl.Perf.StartupTime.NaClOverhead" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took between the Native Client plugin initialization and when
     proxied execution of the NaCl module begins. This is the general startup
@@ -55294,8 +55281,8 @@
 
 <histogram name="NaCl.Perf.StartupTime.NaClOverheadPerMB"
     units="milliseconds/MB">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took between the Native Client plugin initialization and when
     proxied execution of the NaCl module begins. This is the general startup
@@ -55307,8 +55294,7 @@
 <histogram name="NaCl.Perf.StartupTime.NexeDownload" units="ms"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to download the main .nexe for a Native Client module.
   </summary>
@@ -55316,8 +55302,8 @@
 
 <histogram name="NaCl.Perf.StartupTime.NexeDownloadPerMB"
     units="milliseconds/MB">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took to download the main .nexe for a Native Client module.
     Normalized by the size of the .nexe, in megabytes.
@@ -55325,8 +55311,8 @@
 </histogram>
 
 <histogram name="NaCl.Perf.StartupTime.Total" units="ms">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took between the Native Client plugin initialization and when
     the NaCl module is ready to be used.
@@ -55336,8 +55322,7 @@
 <histogram name="NaCl.Perf.StartupTime.TotalPerMB" units="milliseconds/MB"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The time it took between the Native Client plugin initialization and when
     the NaCl module is ready to be used. Normalized by the size of the .nexe, in
@@ -55350,8 +55335,7 @@
     Deprecated 5/2011, data is duplicated by NaCl.NexeStartupTime, and
     normalizing to 'tab opens' is unusual.
   </obsolete>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     The number of times that Native Client has been started by loading a .nexe
     compared to the number of times that a tab has been opened.
@@ -55359,8 +55343,8 @@
 </histogram>
 
 <histogram name="NaCl.ValidationCache.Query" enum="NaClValidationCacheEnum">
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>dschuff@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     Did a validation cache query find a previously known validation result?
   </summary>
@@ -55369,8 +55353,7 @@
 <histogram name="NaCl.ValidationCache.Set" enum="NaClValidationCacheEnum"
     expires_after="2019-12-31">
   <owner>dschuff@chromium.org</owner>
-  <owner>sehr@chromium.org</owner>
-  <owner>bradnelson@chromium.org</owner>
+  <owner>adamk@chromium.org</owner>
   <summary>
     Was the validation cache updated with a new validation result?
   </summary>
@@ -70720,7 +70703,7 @@
 </histogram>
 
 <histogram name="NewTabPage.TimeSpent" units="ms">
-  <owner>bauerb@chromium.org</owner>
+  <owner>twellington@chromium.org</owner>
   <summary>
     The time spent on the new tab page as measured from when it was loaded or
     last brought to the foreground until it was navigated away from or hidden.
@@ -75355,50 +75338,43 @@
 
 <histogram name="OOBE.RecommendApps.Fetcher.ResponseCode"
     enum="HttpResponseCode" expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>The response code of fetching the recommended apps.</summary>
 </histogram>
 
 <histogram name="OOBE.RecommendApps.Fetcher.ResponseParseResult"
     enum="RecommendAppsResponseParseResult" expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>The result of parsing the recommend-apps response.</summary>
 </histogram>
 
 <histogram name="OOBE.RecommendApps.Fetcher.ResponseSize" units="KB"
     expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>The size of the recommend-apps JSON response.</summary>
 </histogram>
 
 <histogram name="OOBE.RecommendApps.Screen.Action"
     enum="RecommendAppsScreenAction" expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>The user action on the recommend apps screen.</summary>
 </histogram>
 
 <histogram name="OOBE.RecommendApps.Screen.SelectedAppCount"
     expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>The number of apps user selected.</summary>
 </histogram>
 
 <histogram name="OOBE.RecommendApps.Screen.SelectedRecommendedPercentage"
     units="%" expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>The ratio of selected and recommended apps.</summary>
 </histogram>
 
 <histogram name="OOBE.RecommendApps.Screen.State"
     enum="RecommendAppsScreenState" expires_after="2019-08-30">
-  <owner>rsgingerrs@chromium.org</owner>
-  <owner>gregbenson@chromium.org</owner>
+  <owner>chromesky-eng@google.com</owner>
   <summary>Whether the reocmmend apps screen is shown.</summary>
 </histogram>
 
@@ -81713,7 +81689,7 @@
 </histogram>
 
 <histogram name="PDF.DocumentFeature" enum="PDFFeatures">
-  <owner>tsergeant@chromium.org</owner>
+  <owner>dbeam@chromium.org</owner>
   <summary>
     Tracks which features are used by documents opened in the PDF viewer, logged
     when the document finishes loading.
@@ -84267,7 +84243,8 @@
 </histogram>
 
 <histogram name="Platform.TPM.DictionaryAttackCounter">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     Each sample is the value of the TPM dictionary attack counter reported at
     boot and hourly while running. Any non-zero value is unexpected.
@@ -84276,7 +84253,8 @@
 
 <histogram name="Platform.TPM.DictionaryAttackResetStatus"
     enum="CrosTPMDictionaryAttackResetStatusEnum">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     Each sample is the status of an hourly attempt to reset the TPM dictionary
     attack counter.
@@ -84331,7 +84309,8 @@
 </histogram>
 
 <histogram name="Platform.TPMForcedReboot" units="reboots">
-  <owner>dkrahn@chromium.org</owner>
+  <owner>apronin@chromium.org</owner>
+  <owner>cros-hwsec@chromium.org</owner>
   <summary>
     Each sample is the number of consecutive reboots performed while attempting
     to clear a TPM (Trusted Platform Module) error.
@@ -86009,7 +85988,8 @@
 
 <histogram name="PluginFinder.BuiltInPluginList.ErrorCode"
     enum="PluginListError">
-  <owner>bauerb@chromium.org</owner>
+  <owner>twellington@chromium.org</owner>
+  <owner>wfh@chromium.org</owner>
   <summary>
     Error codes when parsing the built-in plugin list. Logged when the
     PluginFinder singleton is created.
@@ -88892,7 +88872,7 @@
 
 <histogram name="PrinterService.PrinterServiceEvent"
     enum="PrinterServiceEventType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Count of events in PrinterService on Chrome OS related to USB printers.
   </summary>
@@ -89046,7 +89026,7 @@
 
 <histogram name="PrintPreview.DestinationAction"
     enum="PrintPreviewPrintDestinationBuckets">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Actions performed by the user when the print destination search widget is
     shown to the user.
@@ -89054,7 +89034,7 @@
 </histogram>
 
 <histogram name="PrintPreview.FontType" enum="PrintPreviewFontTypeType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Count of font file formats embeeded in print preview PDFs. These numbers are
     biased by what the platforms supports in terms of detection.
@@ -89065,7 +89045,7 @@
   <obsolete>
     No longer used as of 09/2017.
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Actions performed by the user when the Google Cloud Print add-printers
     promotion is shown to the user.
@@ -89073,7 +89053,7 @@
 </histogram>
 
 <histogram name="PrintPreview.InitialDisplayTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Time from when print preview is intiated until the intial preview is sent to
     the preview tab for rendering.
@@ -89081,7 +89061,7 @@
 </histogram>
 
 <histogram name="PrintPreview.InitializationTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Time from when print preview is intiated until the preview PDF generation is
     started.
@@ -89098,14 +89078,14 @@
 </histogram>
 
 <histogram name="PrintPreview.ManagePrinters">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Count the number of requests received to show the manage printers dialog.
   </summary>
 </histogram>
 
 <histogram name="PrintPreview.NumberOfPrinters">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Count the total number of printers shown in destination drop down list.
   </summary>
@@ -89122,7 +89102,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PageCount.Initial">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The page count of the initial print preview, a.k.a. the total number of
     pages in documents to be printed.
@@ -89138,7 +89118,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PageCount.PrintToCloudPrint">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed to a cloud
     printer.
@@ -89149,7 +89129,7 @@
   <obsolete>
     No longer used as of 01/2016.
   </obsolete>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed to a cloud
     printer using web dialog.
@@ -89167,14 +89147,14 @@
 </histogram>
 
 <histogram name="PrintPreview.PageCount.PrintToPDF">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed to PDF.
   </summary>
 </histogram>
 
 <histogram name="PrintPreview.PageCount.PrintToPrinter">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed to a
     printer.
@@ -89182,7 +89162,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PageCount.PrintWithExtension">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed to an
     extension printer (using printerProvider API).
@@ -89190,7 +89170,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PageCount.PrintWithPrivet">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed to a privet
     printer.
@@ -89198,7 +89178,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PageCount.SystemDialog">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The final page count (after page selection) of documents printed using
     system dialog.
@@ -89213,7 +89193,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Print preview events.</summary>
 </histogram>
 
@@ -89241,7 +89221,7 @@
 </histogram>
 
 <histogram name="PrintPreview.PrintSettings" enum="PrintSettings">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Track the popularity of print settings. (Settings when printing to PDF are
     excluded from this statistic.)
@@ -89250,15 +89230,15 @@
 
 <histogram name="PrintPreview.PrintSettingsUi"
     enum="PrintPreviewPrintSettingsUiBuckets">
-  <owner>alekseys@chromium.org</owner>
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>thestig@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Actions performed by the user interacting with print settings UI elements.
   </summary>
 </histogram>
 
 <histogram name="PrintPreview.RegeneratePreviewRequest.BeforeCancel">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The number of times regenerate preview requests received before the user
     clicked the cancel button.
@@ -89266,7 +89246,7 @@
 </histogram>
 
 <histogram name="PrintPreview.RegeneratePreviewRequest.BeforeFirstData">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The number of times regenerate preview requests received before the first
     preview data is availible.
@@ -89274,7 +89254,7 @@
 </histogram>
 
 <histogram name="PrintPreview.RegeneratePreviewRequest.BeforePrint">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     The number of times regenerate preview requests received before the user
     clicked the print button.
@@ -89282,7 +89262,7 @@
 </histogram>
 
 <histogram name="PrintPreview.RenderAndGeneratePDFTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Time taken to render and generate PDF for print preview. (Includes time to
     reflow the page back to normal, but not the time to reflow the page to
@@ -89291,7 +89271,7 @@
 </histogram>
 
 <histogram name="PrintPreview.RenderAndGeneratePDFTimeAvgPerPage" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Time taken to render and generate PDF for print preview divided by the
     number of pages. (Includes time to reflow the page back to normal, but not
@@ -89300,19 +89280,19 @@
 </histogram>
 
 <histogram name="PrintPreview.RendererError" enum="PrintPreviewFailureType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Count how frequently a set of pre-defined print preview errors occur.
   </summary>
 </histogram>
 
 <histogram name="PrintPreview.RenderPDFPageTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Time taken to render each PDF page for print preview.</summary>
 </histogram>
 
 <histogram name="PrintPreview.RenderToPDFTime" units="ms">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Time taken to render to PDF for print preview.</summary>
 </histogram>
 
@@ -89341,7 +89321,7 @@
 </histogram>
 
 <histogram name="PrintPreview.UserAction" enum="PrintPreviewUserActionType">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Action taken by the user in the preview tab such as print, cancel, print to
     pdf and show advanced print settings dialog.
@@ -89457,8 +89437,7 @@
 </histogram>
 
 <histogram name="Profile.AddNewUser" enum="ProfileAddNewUser">
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>The frequency of ways that new user profiles are added.</summary>
 </histogram>
 
@@ -89485,7 +89464,7 @@
 </histogram>
 
 <histogram name="Profile.Avatar" enum="ProfileAvatar">
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>The frequency of selection of each avatar.</summary>
 </histogram>
 
@@ -89526,8 +89505,8 @@
 </histogram>
 
 <histogram name="Profile.CreateResult" enum="ProfileCreateResult">
-  <owner>pam@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>treib@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>Result (final status) when creating a new profile.</summary>
 </histogram>
 
@@ -89556,7 +89535,8 @@
 </histogram>
 
 <histogram name="Profile.CreateTimeCanceledNoTimeout" units="ms">
-  <owner>pam@chromium.org</owner>
+  <owner>treib@chromium.org</owner>
+  <owner>michaelpg@chromium.org</owner>
   <summary>
     Time elapsed from when the handler received the message that a user clicked
     'Create' until the user decided to cancel creation of a new profile. Since
@@ -89566,7 +89546,8 @@
 </histogram>
 
 <histogram name="Profile.CreateTimeNoTimeout" units="ms">
-  <owner>pam@chromium.org</owner>
+  <owner>treib@chromium.org</owner>
+  <owner>michaelpg@chromium.org</owner>
   <summary>
     Time elapsed from when the handler received the message that a user clicked
     'Create' until the creation either failed with a local error (see
@@ -89655,7 +89636,7 @@
 </histogram>
 
 <histogram name="Profile.LaunchBrowser" enum="ProfileType">
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Number of times users launch a browser window from either a primary or
     secondary profile (i.e., each time a browser window is opened we log which
@@ -89674,8 +89655,7 @@
 </histogram>
 
 <histogram name="Profile.NetUserCount" enum="ProfileNetUserCount">
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Counts of users added and deleted. Percentages are not meaningful. Please
     look at the ratio of the counts/percentages.
@@ -89748,7 +89728,8 @@
 </histogram>
 
 <histogram name="Profile.NumberOfManagedProfiles">
-  <owner>pam@chromium.org</owner>
+  <owner>treib@chromium.org</owner>
+  <owner>michaelpg@chromium.org</owner>
   <summary>
     Counts the number of locally managed profiles on a user's machine at least
     every 24 hours while Chrome is running, among cases with at least one
@@ -89759,8 +89740,7 @@
 </histogram>
 
 <histogram name="Profile.NumberOfProfiles">
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Counts the number of profiles on a user's machine at least every 24 hours
     while Chrome is running. Always de-dupe the results with Show User Counts.
@@ -89774,8 +89754,7 @@
   <obsolete>
     Deprecated 2013-04-09. No longer tracked. See Profile.NumberOfProfiles.
   </obsolete>
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Counts the number of profiles on a user's machine whenever a profile is
     added or deleted.
@@ -89787,8 +89766,7 @@
     Deprecated; replaced by Profile.NumberOfProfiles on 2013-04-09. Data are
     suspect, especially after 2012-02-24: see https://crbug.com/189213.
   </obsolete>
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Counts the number of profiles on a user's machine when Chrome starts up.
   </summary>
@@ -89805,8 +89783,7 @@
 </histogram>
 
 <histogram name="Profile.NumberOfSignedInProfiles">
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Counts the number of signed-in profiles on a user's machine at least every
     24 hours while Chrome is running. Always de-dupe the results with Show User
@@ -89820,8 +89797,7 @@
   <obsolete>
     Deprecated; replaced by Profile.NumberOfSignedInProfiles on 2013-04-09.
   </obsolete>
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     Counts the number of profiles that are signed in to Chrome when Chrome
     starts up.
@@ -89884,8 +89860,7 @@
 </histogram>
 
 <histogram name="Profile.OpenMethod" enum="ProfileOpenMethod">
-  <owner>bcwhite@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>
     The frequency with which the user opens the different profile menus or
     switches profiles. For the open statistics, this does not mean the user
@@ -89897,7 +89872,8 @@
 </histogram>
 
 <histogram name="Profile.PercentageOfManagedProfiles">
-  <owner>pam@chromium.org</owner>
+  <owner>treib@chromium.org</owner>
+  <owner>michaelpg@chromium.org</owner>
   <summary>
     Tracks the percentage (0-100) of profiles that are locally managed, recorded
     when Chrome starts up.
@@ -90047,7 +90023,7 @@
 </histogram>
 
 <histogram name="Profile.Update" enum="ProfileType">
-  <owner>rlp@chromium.org</owner>
+  <owner>rogerta@chromium.org</owner>
   <summary>Times a profile name and/or avatar was updated.</summary>
 </histogram>
 
@@ -93450,12 +93426,12 @@
 </histogram>
 
 <histogram name="RenderViewContextMenu.Shown" enum="RenderViewContextMenuItem">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>Count of renderer view context menu items shown.</summary>
 </histogram>
 
 <histogram name="RenderViewContextMenu.Used" enum="RenderViewContextMenuItem">
-  <owner>vitalybuka@chromium.org</owner>
+  <owner>avi@chromium.org</owner>
   <summary>
     Count of renderer view context menu items (Only commands now) used.
   </summary>
@@ -99005,7 +98981,8 @@
 
 <histogram name="Scheduling.BeginMainFrameQueueDurationCritical2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes for the main side to start the BeginMainFrame in response
     to the compositor's SendBeginMainFrame when the on_critical_path flag is
@@ -99048,7 +99025,8 @@
 
 <histogram name="Scheduling.BeginMainFrameStartToCommitDuration2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     The time from when the main side actually starts the BeginMainFrame to when
     the commit completes on the impl side.
@@ -99358,7 +99336,8 @@
 
 <histogram name="Scheduling.Browser.ReadyToActivateToActivationDuration2.Main"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long does the pending tree wait after it is ready to be activated and
     before it is activated.
@@ -99401,7 +99380,8 @@
 
 <histogram name="Scheduling.CommitToReadyToActivateDuration2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes for the compositor to rasterize pending tree content after
     a commit before it is ready for activation.
@@ -99423,7 +99403,8 @@
 </histogram>
 
 <histogram name="Scheduling.DrawDuration2" units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes the compositor to draw a frame.
 
@@ -99481,7 +99462,8 @@
 
 <histogram name="Scheduling.InvalidationToReadyToActivateDuration2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes for the compositor to rasterize pending tree content after
     an impl-side invalidation before it is ready for activation.
@@ -99521,7 +99503,8 @@
 </histogram>
 
 <histogram name="Scheduling.PrepareTilesDuration2" units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes the compositor to PreapreTiles, which determines what
     rasterization work to do.
@@ -99554,7 +99537,8 @@
 </histogram>
 
 <histogram name="Scheduling.Renderer.ActivateDuration2" units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes for the compositor to simply activate the pending tree.
     Does not include any PrepareTiles or raster time.
@@ -99569,7 +99553,8 @@
 
 <histogram name="Scheduling.Renderer.BeginMainFrameIntervalCritical2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     This is the time delta between back-to-back BeginMainFrames completions on
     the compositor side when the on_critical_path flag is set, regardless of
@@ -99589,7 +99574,8 @@
 
 <histogram name="Scheduling.Renderer.BeginMainFrameIntervalNotCritical2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     This is the time delta between back-to-back BeginMainFrames completions on
     the compositor side when the on_critical_path flag is not set, regardless of
@@ -99609,7 +99595,8 @@
 
 <histogram name="Scheduling.Renderer.BeginMainFrameQueueDurationNotCritical2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes for the main side to start the BeginMainFrame in response
     to the compositor's SendBeginMainFrame when the on_critical_path flag is not
@@ -99624,7 +99611,8 @@
 </histogram>
 
 <histogram name="Scheduling.Renderer.CommitInterval2" units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     The time delta between the *draw* times of back-to-back BeginMainFrames that
     result in a commit.
@@ -99645,7 +99633,8 @@
     expires_after="never">
 <!-- expires-never: "heartbeat" metric -->
 
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <owner>speed-metrics-dev@chromium.org</owner>
   <summary>
     The time delta between the draw times of back-to-back BeginImplFrames,
@@ -99702,7 +99691,8 @@
 
 <histogram name="Scheduling.Renderer.MainAndImplFrameTimeDelta2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     Recorded every time the compositor draws with a new active tree. A value of
     0 indicates the main-side started and finished within the same frame
@@ -99759,7 +99749,8 @@
 
 <histogram name="Scheduling.Renderer.ReadyToActivateToActivationDuration2"
     units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long does the pending tree wait after it is ready to be activated and
     before it is activated.
@@ -99794,7 +99785,8 @@
 </histogram>
 
 <histogram name="Scheduling.SwapToAckLatency2" units="microseconds">
-  <owner>brianderson@chromium.org</owner>
+  <owner>vmiura@chromium.org</owner>
+  <owner>sadrul@chromium.org</owner>
   <summary>
     How long it takes the swap ack to return after a swap.
 
@@ -100606,7 +100598,8 @@
 </histogram>
 
 <histogram name="Search.ContextualSearch.Ranker.Timer.DownloadModel" units="ms">
-  <owner>hamelphi@google.com</owner>
+  <owner>charleszhao@chromium.org</owner>
+  <owner>donnd@chromium.org</owner>
   <summary>
     Time taken for the Ranker Model Loader to download its model from the
     configured URL, in ms.
@@ -100614,14 +100607,16 @@
 </histogram>
 
 <histogram name="Search.ContextualSearch.Ranker.Timer.ParseModel" units="ms">
-  <owner>hamelphi@google.com</owner>
+  <owner>charleszhao@chromium.org</owner>
+  <owner>donnd@chromium.org</owner>
   <summary>
     Time taken for the Ranker Model Loader to parse its model, in ms.
   </summary>
 </histogram>
 
 <histogram name="Search.ContextualSearch.Ranker.Timer.ReadModel" units="ms">
-  <owner>hamelphi@google.com</owner>
+  <owner>charleszhao@chromium.org</owner>
+  <owner>donnd@chromium.org</owner>
   <summary>
     Time taken for the Ranker Model Loader to read its model from local storage
     (cache), in ms.
@@ -100629,7 +100624,8 @@
 </histogram>
 
 <histogram name="Search.ContextualSearch.Ranker.Timer.WriteModel" units="ms">
-  <owner>hamelphi@google.com</owner>
+  <owner>charleszhao@chromium.org</owner>
+  <owner>donnd@chromium.org</owner>
   <summary>
     Time taken for the Ranker Model Loader to write its model to local storage,
     in ms.
@@ -101854,7 +101850,7 @@
 
 <histogram name="Search.IcingContextReportingStatus"
     enum="IcingContextReportingStatus">
-  <owner>joaodasilva@chromium.org</owner>
+  <owner>donnd@chromium.org</owner>
   <summary>
     Records the reason why a context report to Icing failed, every time Chrome
     attemps to record the current context (tab switching, navigations, etc).
@@ -101929,12 +101925,12 @@
 </histogram>
 
 <histogram name="SearchAnswer.AnswerVisibleTime" units="ms">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>Time between showing and hiding the answer card.</summary>
 </histogram>
 
 <histogram name="SearchAnswer.LoadingTime" units="ms">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>
     Time between sending an answer server request and the end of loading of the
     answer card. Failed requests and requests not returning an answer are not
@@ -101943,7 +101939,7 @@
 </histogram>
 
 <histogram name="SearchAnswer.NavigationTime" units="ms">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>
     Time between sending an answer server request and successful finish of
     navigation. Failed requests and requests not returning an answer are not
@@ -101952,12 +101948,12 @@
 </histogram>
 
 <histogram name="SearchAnswer.RequestResult" enum="SearchAnswerRequestResult">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>Result of a answer server request.</summary>
 </histogram>
 
 <histogram name="SearchAnswer.ResizeAfterLoadTime" units="ms">
-  <owner>vadimt@chromium.org</owner>
+  <owner>newcomer@chromium.org</owner>
   <summary>
     Time between successfully loading an answer card request and updating its
     preferred size. There might be no or more than one size update per card
@@ -102730,7 +102726,7 @@
 </histogram>
 
 <histogram name="ServiceWorker.FetchEvent.Fallback.Time" units="ms">
-  <owner>jeremyarcher@google.com</owner>
+  <owner>falken@chromium.org</owner>
   <summary>
     The time taken between dispatching a FetchEvent to a Service Worker and
     receiving a fallback-to-network reply.
@@ -102738,7 +102734,7 @@
 </histogram>
 
 <histogram name="ServiceWorker.FetchEvent.HasResponse.Time" units="ms">
-  <owner>jeremyarcher@google.com</owner>
+  <owner>falken@chromium.org</owner>
   <summary>
     The time taken between dispatching a FetchEvent to a Service Worker and
     receiving a response. Includes the time for the respondWith() promise to
@@ -103490,7 +103486,7 @@
 
 <histogram name="ServiceWorker.RequestTimeouts.Count"
     enum="ServiceWorkerMetrics.EventType">
-  <owner>jeremyarcher@google.com</owner>
+  <owner>falken@chromium.org</owner>
   <summary>
     The number of Service Worker request timeouts, by request type.
   </summary>
@@ -109799,7 +109795,6 @@
 
 <histogram name="SpellCheck.SpellingService.Enabled" enum="BooleanEnabled">
   <owner>groby@chromium.org</owner>
-  <owner>rlp@chromium.org</owner>
   <summary>
     Whether the user has opted in to asking Google for spelling suggestions.
     Recorded both when spelling is initialized and when the preference is
@@ -113600,7 +113595,7 @@
 </histogram>
 
 <histogram name="Sync.DirectoryCatastrophicError" enum="BooleanError">
-  <owner>maniscalco@chromium.org</owner>
+  <owner>jkrcal@chromium.org</owner>
   <summary>
     Whether the Sync Directory encountered a catastrophic error.
   </summary>
@@ -115764,7 +115759,7 @@
 </histogram>
 
 <histogram name="Tab.RendererTermination.AliveRenderersCount" units="renderers">
-  <owner>gchatz@chromium.org</owner>
+  <owner>pkl@chromium.org</owner>
   <summary>
     [iOS] A count of the number of alive renderers when a renderer termination
     occurs.
@@ -115773,7 +115768,7 @@
 
 <histogram name="Tab.RendererTermination.RecentlyAliveRenderersCount"
     units="renderers">
-  <owner>gchatz@chromium.org</owner>
+  <owner>pkl@chromium.org</owner>
   <summary>
     [iOS] The number of renderers which are either currently alive or recently
     terminated at the time of a renderer termination.
@@ -115782,7 +115777,7 @@
 
 <histogram name="Tab.RendererTermination.RecentlyReceivedMemoryWarning"
     enum="BooleanWarningReceived">
-  <owner>gchatz@chromium.org</owner>
+  <owner>pkl@chromium.org</owner>
   <summary>
     [iOS] Records whether a memory warning had recently been received before a
     renderer termination.
@@ -116078,7 +116073,8 @@
 <histogram
     name="TabManager.BackgroundTabOpening.ForegroundTab.ExpectedTaskQueueingDuration"
     units="ms">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The expected queueing duration of tasks in a foreground tab during a
     background tab opening session (the duration of time from when the browser
@@ -116334,7 +116330,8 @@
 <histogram
     name="TabManager.Experimental.BackgroundTabOpening.CompressedPagesPerSecond"
     units="pages/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of pages compressed per second when opening background tabs. This
     is recorded at the end of the background tab opening session as an average
@@ -116351,7 +116348,8 @@
 <histogram
     name="TabManager.Experimental.BackgroundTabOpening.DecompressedPagesPerSecond"
     units="pages/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of pages decompressed per second when opening background tabs.
     This is recorded at the end of the background tab opening session as an
@@ -116367,7 +116365,8 @@
 
 <histogram name="TabManager.Experimental.BackgroundTabOpening.SwapInPerSecond"
     units="swaps/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of swap-ins per second when opening background tabs. This is
     recorded at the end of the background tab opening session as an average over
@@ -116382,7 +116381,8 @@
 
 <histogram name="TabManager.Experimental.BackgroundTabOpening.SwapOutPerSecond"
     units="swaps/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of swap-outs per second when opening background tabs. This is
     recorded at the end of the background tab opening session as an average over
@@ -116444,7 +116444,8 @@
 <histogram
     name="TabManager.Experimental.SessionRestore.CompressedPagesPerSecond"
     units="pages/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of pages compressed per second during session restore. Recorded
     at the end of session restore as an average over the entire period, defined
@@ -116462,7 +116463,8 @@
 <histogram
     name="TabManager.Experimental.SessionRestore.DecompressedPagesPerSecond"
     units="pages/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of pages decompressed per second during session restore. Recorded
     at the end of session restore as an average over the entire period, defined
@@ -116480,7 +116482,8 @@
 <histogram
     name="TabManager.Experimental.SessionRestore.ForegroundTab.FirstContentfulPaint"
     units="ms">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     Elapsed time between the start of the loading and the first contentful paint
     of foreground tabs when the browser loads tabs in session restore.
@@ -116490,7 +116493,8 @@
 <histogram
     name="TabManager.Experimental.SessionRestore.ForegroundTab.FirstMeaningfulPaint"
     units="ms">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     Elapsed time between the start of the loading and the first meaningful paint
     of foreground tabs when the browser loads tabs in session restore.
@@ -116500,7 +116504,8 @@
 <histogram
     name="TabManager.Experimental.SessionRestore.ForegroundTab.FirstPaint"
     units="ms">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     Elapsed time between the start of the loading and the first paint of
     foreground tabs when the browser loads tabs in session restore.
@@ -116509,7 +116514,8 @@
 
 <histogram name="TabManager.Experimental.SessionRestore.SwapInPerSecond"
     units="swaps/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of swap-ins per second during session restore. Recorded at the
     end of session restore as an average over the entire period, defined as the
@@ -116525,7 +116531,8 @@
 
 <histogram name="TabManager.Experimental.SessionRestore.SwapOutPerSecond"
     units="swaps/s">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The number of swap-outs per second during session restore. Recorded at the
     end of session restore as an average over the entire period, defined as the
@@ -116545,7 +116552,8 @@
     Deprecated 08/2017, and replaced by
     TabManager.Experimental.SessionRestore.TabSwitchLoadTime.UntilTabIsLoaded.
   </obsolete>
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The tab load time of a tab that is switched to during a session restore. Tab
     load time is defined as the time between when the user switches to a
@@ -116567,7 +116575,8 @@
 <histogram
     name="TabManager.Experimental.SessionRestore.TabSwitchLoadTime.UntilTabIsLoaded"
     units="ms">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The tab load time of a tab that is switched to during a session restore. Tab
     load time is defined as the time between when the user switches to a
@@ -116712,7 +116721,8 @@
 <histogram
     name="TabManager.SessionRestore.ForegroundTab.ExpectedTaskQueueingDuration"
     units="ms">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The expected queueing duration of tasks in a foreground tab during session
     restore. This metric reflects the responsiveness of a tab. A lower value
@@ -116756,7 +116766,8 @@
 </histogram>
 
 <histogram name="TabManager.SessionRestore.SwitchToTab" enum="TabLoadingState">
-  <owner>fmeawad@chromium.org</owner>
+  <owner>shaseley@chromium.org</owner>
+  <owner>panicker@chromium.org</owner>
   <summary>
     The loading state of a tab at the time the user switched to it during a
     session restore. The metric is only recorded when a tab is switched to from
@@ -119321,7 +119332,7 @@
 </histogram>
 
 <histogram name="UI.CompositorResizeLock.Duration" units="ms">
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The amount of time the CompositorResizeLock was held in milliseconds. This
     is a measure of jank as UI will not generate new frames as long as the lock
@@ -119330,7 +119341,7 @@
 </histogram>
 
 <histogram name="UI.CompositorResizeLock.TimedOut" units="Boolean">
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     Tracks whether the CompositorResizeLock is being released due to timing out
     or not.
@@ -119347,7 +119358,7 @@
 </histogram>
 
 <histogram name="UI.WindowTreeHost.SurfaceSynchronizationDuration" units="ms">
-  <owner>fsamuel@chromium.org</owner>
+  <owner>kylechar@chromium.org</owner>
   <summary>
     The amount of time it took for UI's CompositorFrame to activate due to a
     surface synchronization event. This a measure of jank as UI will not
@@ -120831,7 +120842,7 @@
 
 <histogram name="UpdateEngine.CertificateCheck.Download"
     enum="UpdateEngineCertificateCheckStatus">
-  <owner>deymo@chromium.org</owner>
+  <owner>senj@chromium.org</owner>
   <summary>
     The status of the certificate check done when downloading a payload over
     HTTPS. Note that most downloads are done over HTTP.
@@ -120845,7 +120856,7 @@
 
 <histogram name="UpdateEngine.CertificateCheck.UpdateCheck"
     enum="UpdateEngineCertificateCheckStatus">
-  <owner>deymo@chromium.org</owner>
+  <owner>senj@chromium.org</owner>
   <summary>
     The status of the certificate check done when querying Omaha for a new
     version.
@@ -130212,7 +130223,8 @@
 </histogram>
 
 <histogram name="Windows.GetVersionExVersion" enum="WindowsVersion">
-  <owner>scottmg@chromium.org</owner>
+  <owner>wfh@chromium.org</owner>
+  <owner>brucedawson@chromium.org</owner>
   <summary>
     The Windows version (base::win::Version) as reported by GetVersionEx(). This
     is queried shortly after startup.
@@ -130237,7 +130249,8 @@
 </histogram>
 
 <histogram name="Windows.InCompatibilityMode" enum="BooleanCompatibilityMode">
-  <owner>scottmg@chromium.org</owner>
+  <owner>wfh@chromium.org</owner>
+  <owner>brucedawson@chromium.org</owner>
   <summary>
     A boolean used to indicate when the Windows version reported by
     GetVersionEx() and the Windows version reported by VerQueryValue() on
@@ -130263,7 +130276,8 @@
 </histogram>
 
 <histogram name="Windows.Kernel32Version" enum="WindowsVersion">
-  <owner>scottmg@chromium.org</owner>
+  <owner>wfh@chromium.org</owner>
+  <owner>brucedawson@chromium.org</owner>
   <summary>
     The Windows version (base::win::Version) as reported by VeryQueryValue() on
     kernel32.dll. This is queried shortly after startup.
diff --git a/ui/accessibility/extensions/strings/accessibility_extensions_strings_te.xtb b/ui/accessibility/extensions/strings/accessibility_extensions_strings_te.xtb
index 8234ac6a..7363679 100644
--- a/ui/accessibility/extensions/strings/accessibility_extensions_strings_te.xtb
+++ b/ui/accessibility/extensions/strings/accessibility_extensions_strings_te.xtb
@@ -24,7 +24,7 @@
 <translation id="3435896845095436175">ప్రారంభించండి</translation>
 <translation id="3622586652998721735">డిఫాల్ట్ స్కీమ్‌గా సెట్ చేయి</translation>
 <translation id="3812541808639806898">చిత్రం ప్రత్యామ్నాయ వచన వ్యూయర్</translation>
-<translation id="381767806621926835">"longdesc" లేదా "aria-describedat" లక్షణం ఉన్న ఏదైనా అంశం యొక్క సుదీర్ఘ వివరణను యాక్సెస్ చేయడానికి దానిపై కుడి క్లిక్ చేయండి.</translation>
+<translation id="381767806621926835">"longdesc" లేదా "aria-describedat" ఫీచర్ ఉన్న ఏదైనా అంశం యొక్క సుదీర్ఘ వివరణను యాక్సెస్ చేయడానికి దానిపై కుడి క్లిక్ చేయండి.</translation>
 <translation id="4023902424053835668">బాణం కీలను ఉపయోగించి వెబ్ పేజీల వచనాన్ని బ్రౌజ్ చేయండి.</translation>
 <translation id="4388820049312272371">కర్సర్ స్థానాన్ని శీఘ్ర ఫ్లాష్‌తో హైలైట్ చేయండి.</translation>
 <translation id="4394049700291259645">ఆపివెయ్యి</translation>
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc
index 8f30c5b..4e0cdb1 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux.cc
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc
@@ -2003,9 +2003,11 @@
 
 void AXPlatformNodeAuraLinux::AddRelationToSet(AtkRelationSet* relation_set,
                                                AtkRelationType relation,
-                                               int target_id) {
+                                               AXPlatformNode* target) {
+  DCHECK(target);
+
   // Avoid adding self-referential relations.
-  if (target_id == GetData().id)
+  if (target == this)
     return;
 
   // If we were compiled with a newer version of ATK than the runtime version,
@@ -2022,9 +2024,6 @@
   if (relation > max_relation_type.value())
     return;
 
-  AXPlatformNode* target = GetDelegate()->GetFromNodeID(target_id);
-  if (!target)
-    return;
   atk_relation_set_add_relation_by_type(relation_set, relation,
                                         target->GetNativeViewAccessible());
 }
@@ -2038,18 +2037,17 @@
   for (unsigned i = 0; i < G_N_ELEMENTS(kIntRelations); i++) {
     const AtkIntRelation& relation = kIntRelations[i];
 
-    int target_id;
-    if (GetIntAttribute(relation.attribute, &target_id))
-      AddRelationToSet(relation_set, relation.relation, target_id);
+    if (AXPlatformNode* target =
+            GetDelegate()->GetTargetNodeForRelation(relation.attribute))
+      AddRelationToSet(relation_set, relation.relation, target);
 
     if (!relation.reverse_relation.has_value())
       continue;
 
-    std::set<int32_t> target_ids =
-        GetDelegate()->GetReverseRelations(relation.attribute, GetData().id);
-    for (int32_t target_id : target_ids) {
-      AddRelationToSet(relation_set, relation.reverse_relation.value(),
-                       target_id);
+    std::set<AXPlatformNode*> target_ids =
+        GetDelegate()->GetReverseRelations(relation.attribute);
+    for (AXPlatformNode* target : target_ids) {
+      AddRelationToSet(relation_set, relation.reverse_relation.value(), target);
     }
   }
 
@@ -2058,21 +2056,18 @@
   for (unsigned i = 0; i < G_N_ELEMENTS(kIntListRelations); i++) {
     const AtkIntListRelation& relation = kIntListRelations[i];
 
-    std::vector<int32_t> target_ids;
-    if (GetIntListAttribute(relation.attribute, &target_ids)) {
-      for (int32_t target_id : target_ids) {
-        AddRelationToSet(relation_set, relation.relation, target_id);
-      }
-    }
+    std::set<AXPlatformNode*> targets =
+        GetDelegate()->GetTargetNodesForRelation(relation.attribute);
+    for (AXPlatformNode* target : targets)
+      AddRelationToSet(relation_set, relation.relation, target);
 
     if (!relation.reverse_relation.has_value())
       continue;
 
-    std::set<int32_t> reverse_target_ids =
-        GetDelegate()->GetReverseRelations(relation.attribute, GetData().id);
-    for (int32_t target_id : reverse_target_ids) {
-      AddRelationToSet(relation_set, relation.reverse_relation.value(),
-                       target_id);
+    std::set<AXPlatformNode*> reverse_target_ids =
+        GetDelegate()->GetReverseRelations(relation.attribute);
+    for (AXPlatformNode* target : reverse_target_ids) {
+      AddRelationToSet(relation_set, relation.reverse_relation.value(), target);
     }
   }
 
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.h b/ui/accessibility/platform/ax_platform_node_auralinux.h
index af70b46..749623b 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux.h
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.h
@@ -130,7 +130,9 @@
   GType GetAccessibilityGType();
   AtkObject* CreateAtkObject();
   void DestroyAtkObjects();
-  void AddRelationToSet(AtkRelationSet*, AtkRelationType, int target_id);
+  void AddRelationToSet(AtkRelationSet*,
+                        AtkRelationType,
+                        AXPlatformNode* target);
 
   // The AtkStateType for a checkable node can vary depending on the role.
   AtkStateType GetAtkStateTypeForCheckableNode();
diff --git a/ui/accessibility/platform/ax_platform_node_delegate.h b/ui/accessibility/platform/ax_platform_node_delegate.h
index f569559..6f3ad02 100644
--- a/ui/accessibility/platform/ax_platform_node_delegate.h
+++ b/ui/accessibility/platform/ax_platform_node_delegate.h
@@ -97,19 +97,29 @@
 
   virtual AXPlatformNode* GetFromNodeID(int32_t id) = 0;
 
-  // Given a node ID attribute (one where IsNodeIdIntAttribute is true),
-  // and a destination node ID, return a set of all source node IDs that
-  // have that relationship attribute between them and the destination.
-  virtual std::set<int32_t> GetReverseRelations(ax::mojom::IntAttribute attr,
-                                                int32_t dst_id) = 0;
+  // Given a node ID attribute (one where IsNodeIdIntAttribute is true), return
+  // a target nodes for which this delegate's node has that relationship
+  // attribute or NULL if there is no such relationship.
+  virtual AXPlatformNode* GetTargetNodeForRelation(
+      ax::mojom::IntAttribute attr) = 0;
 
-  // Given a node ID list attribute (one where
-  // IsNodeIdIntListAttribute is true), and a destination node ID,
-  // return a set of all source node IDs that have that relationship
-  // attribute between them and the destination.
-  virtual std::set<int32_t> GetReverseRelations(
-      ax::mojom::IntListAttribute attr,
-      int32_t dst_id) = 0;
+  // Given a node ID attribute (one where IsNodeIdIntListAttribute is true),
+  // return a set of all target nodes for which this delegate's node has that
+  // relationship attribute.
+  virtual std::set<AXPlatformNode*> GetTargetNodesForRelation(
+      ax::mojom::IntListAttribute attr) = 0;
+
+  // Given a node ID attribute (one where IsNodeIdIntAttribute is true), return
+  // a set of all source nodes that have that relationship attribute between
+  // them and this delegate's node.
+  virtual std::set<AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntAttribute attr) = 0;
+
+  // Given a node ID list attribute (one where IsNodeIdIntListAttribute is
+  // true), return a set of all source nodes that have that relationship
+  // attribute between them and this delegate's node.
+  virtual std::set<AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntListAttribute attr) = 0;
 
   virtual const AXUniqueId& GetUniqueId() const = 0;
 
diff --git a/ui/accessibility/platform/ax_platform_node_delegate_base.cc b/ui/accessibility/platform/ax_platform_node_delegate_base.cc
index d1aa8dbd..d4501b2 100644
--- a/ui/accessibility/platform/ax_platform_node_delegate_base.cc
+++ b/ui/accessibility/platform/ax_platform_node_delegate_base.cc
@@ -4,6 +4,8 @@
 
 #include "ui/accessibility/platform/ax_platform_node_delegate_base.h"
 
+#include <vector>
+
 #include "base/no_destructor.h"
 #include "ui/accessibility/ax_node_data.h"
 #include "ui/accessibility/ax_tree_data.h"
@@ -176,16 +178,47 @@
   return false;
 }
 
-std::set<int32_t> AXPlatformNodeDelegateBase::GetReverseRelations(
-    ax::mojom::IntAttribute attr,
-    int32_t dst_id) {
-  return std::set<int32_t>();
+AXPlatformNode* AXPlatformNodeDelegateBase::GetTargetNodeForRelation(
+    ax::mojom::IntAttribute attr) {
+  DCHECK(IsNodeIdIntAttribute(attr));
+
+  int target_id;
+  if (!GetData().GetIntAttribute(attr, &target_id))
+    return nullptr;
+
+  return GetFromNodeID(target_id);
 }
 
-std::set<int32_t> AXPlatformNodeDelegateBase::GetReverseRelations(
-    ax::mojom::IntListAttribute attr,
-    int32_t dst_id) {
-  return std::set<int32_t>();
+std::set<AXPlatformNode*> AXPlatformNodeDelegateBase::GetNodesForNodeIds(
+    const std::set<int32_t>& ids) {
+  std::set<AXPlatformNode*> nodes;
+  for (int32_t node_id : ids) {
+    if (AXPlatformNode* node = GetFromNodeID(node_id)) {
+      nodes.insert(node);
+    }
+  }
+  return nodes;
+}
+
+std::set<AXPlatformNode*> AXPlatformNodeDelegateBase::GetTargetNodesForRelation(
+    ax::mojom::IntListAttribute attr) {
+  DCHECK(IsNodeIdIntListAttribute(attr));
+  std::vector<int32_t> target_ids;
+  if (!GetData().GetIntListAttribute(attr, &target_ids))
+    return std::set<AXPlatformNode*>();
+
+  std::set<int32_t> target_id_set(target_ids.begin(), target_ids.end());
+  return GetNodesForNodeIds(target_id_set);
+}
+
+std::set<AXPlatformNode*> AXPlatformNodeDelegateBase::GetReverseRelations(
+    ax::mojom::IntAttribute attr) {
+  return std::set<AXPlatformNode*>();
+}
+
+std::set<AXPlatformNode*> AXPlatformNodeDelegateBase::GetReverseRelations(
+    ax::mojom::IntListAttribute attr) {
+  return std::set<AXPlatformNode*>();
 }
 
 const AXUniqueId& AXPlatformNodeDelegateBase::GetUniqueId() const {
diff --git a/ui/accessibility/platform/ax_platform_node_delegate_base.h b/ui/accessibility/platform/ax_platform_node_delegate_base.h
index 20a2c999..93d15b5 100644
--- a/ui/accessibility/platform/ax_platform_node_delegate_base.h
+++ b/ui/accessibility/platform/ax_platform_node_delegate_base.h
@@ -7,6 +7,8 @@
 
 #include "ui/accessibility/platform/ax_platform_node_delegate.h"
 
+#include <set>
+
 namespace ui {
 
 // Base implementation of AXPlatformNodeDelegate where all functions
@@ -73,18 +75,29 @@
 
   AXPlatformNode* GetFromNodeID(int32_t id) override;
 
-  // Given a node ID attribute (one where IsNodeIdIntAttribute is true),
-  // and a destination node ID, return a set of all source node IDs that
-  // have that relationship attribute between them and the destination.
-  std::set<int32_t> GetReverseRelations(ax::mojom::IntAttribute attr,
-                                        int32_t dst_id) override;
+  // Given a node ID attribute (one where IsNodeIdIntAttribute is true), return
+  // a target nodes for which this delegate's node has that relationship
+  // attribute or NULL if there is no such relationship.
+  AXPlatformNode* GetTargetNodeForRelation(
+      ax::mojom::IntAttribute attr) override;
 
-  // Given a node ID list attribute (one where
-  // IsNodeIdIntListAttribute is true), and a destination node ID,
-  // return a set of all source node IDs that have that relationship
-  // attribute between them and the destination.
-  std::set<int32_t> GetReverseRelations(ax::mojom::IntListAttribute attr,
-                                        int32_t dst_id) override;
+  // Given a node ID attribute (one where IsNodeIdIntListAttribute is true),
+  // return a set of all target nodes for which this delegate's node has that
+  // relationship attribute.
+  std::set<AXPlatformNode*> GetTargetNodesForRelation(
+      ax::mojom::IntListAttribute attr) override;
+
+  // Given a node ID attribute (one where IsNodeIdIntAttribute is true), return
+  // a set of all source nodes that have that relationship attribute between
+  // them and this delegate's node.
+  std::set<AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntAttribute attr) override;
+
+  // Given a node ID list attribute (one where IsNodeIdIntListAttribute is
+  // true) return a set of all source nodes that have that relationship
+  // attribute between them and this delegate's node.
+  std::set<AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntListAttribute attr) override;
 
   const AXUniqueId& GetUniqueId() const override;
 
@@ -153,6 +166,12 @@
   // element. The default value should be falses if not in testing mode.
   bool ShouldIgnoreHoveredStateForTesting() override;
 
+ protected:
+  // Given a list of node ids, return the nodes in this delegate's tree to
+  // which they correspond.
+  std::set<ui::AXPlatformNode*> GetNodesForNodeIds(
+      const std::set<int32_t>& ids);
+
  private:
   DISALLOW_COPY_AND_ASSIGN(AXPlatformNodeDelegateBase);
 };
diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc
index 3b8e7a8..58547edf 100644
--- a/ui/accessibility/platform/ax_platform_node_win.cc
+++ b/ui/accessibility/platform/ax_platform_node_win.cc
@@ -1122,26 +1122,25 @@
   }
 
   base::string16 relation_type;
-  std::set<int32_t> target_ids;
+  std::set<AXPlatformNode*> enumerated_targets;
   int found = AXPlatformRelationWin::EnumerateRelationships(
-      GetData(), GetDelegate(), 0, type, &relation_type, &target_ids);
+      this, 0, type, &relation_type, &enumerated_targets);
   if (found == 0)
     return S_FALSE;
 
   // Don't return more targets than max_targets - but note that the caller
   // is allowed to specify max_targets=0 to mean no limit.
-  int count = static_cast<int>(target_ids.size());
+  int count = static_cast<int>(enumerated_targets.size());
   if (max_targets > 0 && count > max_targets)
     count = max_targets;
 
   // Allocate COM memory for the result array and populate it.
   *targets = static_cast<IUnknown**>(CoTaskMemAlloc(count * sizeof(IUnknown*)));
   int index = 0;
-  for (int target_id : target_ids) {
-    AXPlatformNodeWin* target = static_cast<AXPlatformNodeWin*>(
-        GetDelegate()->GetFromNodeID(target_id));
+  for (AXPlatformNode* target : enumerated_targets) {
     if (target) {
-      (*targets)[index] = static_cast<IAccessible*>(target);
+      AXPlatformNodeWin* win_target = static_cast<AXPlatformNodeWin*>(target);
+      (*targets)[index] = static_cast<IAccessible*>(win_target);
       (*targets)[index]->AddRef();
       if (++index > count)
         break;
@@ -1186,7 +1185,7 @@
   AXPlatformNode::NotifyAddAXModeFlags(kScreenReaderAndHTMLAccessibilityModes);
 
   int count = AXPlatformRelationWin::EnumerateRelationships(
-      GetData(), GetDelegate(), -1, base::string16(), nullptr, nullptr);
+      this, -1, base::string16(), nullptr, nullptr);
   *n_relations = count;
   return S_OK;
 }
@@ -1198,10 +1197,9 @@
   AXPlatformNode::NotifyAddAXModeFlags(kScreenReaderAndHTMLAccessibilityModes);
 
   base::string16 relation_type;
-  std::set<int32_t> targets;
+  std::set<AXPlatformNode*> targets;
   int found = AXPlatformRelationWin::EnumerateRelationships(
-      GetData(), GetDelegate(), relation_index, base::string16(),
-      &relation_type, &targets);
+      this, relation_index, base::string16(), &relation_type, &targets);
   if (found == 0)
     return E_INVALIDARG;
 
@@ -1210,12 +1208,9 @@
   DCHECK(SUCCEEDED(hr));
   relation_obj->AddRef();
   relation_obj->Initialize(relation_type);
-  for (int target_id : targets) {
-    AXPlatformNodeWin* target = static_cast<AXPlatformNodeWin*>(
-        GetDelegate()->GetFromNodeID(target_id));
-    if (!target)
-      continue;
-    relation_obj->AddTarget(target);
+  for (AXPlatformNode* target : targets) {
+    if (target)
+      relation_obj->AddTarget(static_cast<AXPlatformNodeWin*>(target));
   }
 
   // Maintain references to all relations returned by this object.
diff --git a/ui/accessibility/platform/ax_platform_relation_win.cc b/ui/accessibility/platform/ax_platform_relation_win.cc
index 16578977..75a9535c 100644
--- a/ui/accessibility/platform/ax_platform_relation_win.cc
+++ b/ui/accessibility/platform/ax_platform_relation_win.cc
@@ -23,15 +23,12 @@
 #include "ui/accessibility/ax_role_properties.h"
 #include "ui/accessibility/ax_text_utils.h"
 #include "ui/accessibility/ax_tree_data.h"
+#include "ui/accessibility/platform/ax_platform_node_base.h"
 #include "ui/accessibility/platform/ax_platform_node_delegate.h"
 #include "ui/accessibility/platform/ax_unique_id.h"
 #include "ui/base/win/atl_module.h"
 #include "ui/gfx/geometry/rect_conversions.h"
 
-const WCHAR* const IA2_RELATION_DETAILS = L"details";
-const WCHAR* const IA2_RELATION_DETAILS_FOR = L"detailsFor";
-const WCHAR* const IA2_RELATION_ERROR_MESSAGE = L"errorMessage";
-
 namespace ui {
 
 AXPlatformRelationWin::AXPlatformRelationWin() {
@@ -47,7 +44,7 @@
     case ax::mojom::IntAttribute::kMemberOfId:
       return IA2_RELATION_MEMBER_OF;
     case ax::mojom::IntAttribute::kErrormessageId:
-      return IA2_RELATION_ERROR_MESSAGE;
+      return IA2_RELATION_ERROR;
     default:
       break;
   }
@@ -76,6 +73,8 @@
   switch (attribute) {
     case ax::mojom::IntAttribute::kDetailsId:
       return IA2_RELATION_DETAILS_FOR;
+    case ax::mojom::IntAttribute::kErrormessageId:
+      return IA2_RELATION_ERROR_FOR;
     default:
       break;
   }
@@ -101,12 +100,14 @@
 
 // static
 int AXPlatformRelationWin::EnumerateRelationships(
-    const AXNodeData& node_data,
-    AXPlatformNodeDelegate* delegate,
+    AXPlatformNodeBase* node,
     int desired_index,
     const base::string16& desired_ia2_relation,
     base::string16* out_ia2_relation,
-    std::set<int32_t>* out_targets) {
+    std::set<AXPlatformNode*>* out_targets) {
+  const AXNodeData& node_data = node->GetData();
+  AXPlatformNodeDelegate* delegate = node->GetDelegate();
+
   // The first time this is called, populate vectors with all of the
   // int attributes and intlist attributes that have reverse relations
   // we care about on Windows. Computing these by calling
@@ -158,7 +159,8 @@
         continue;
       if (desired_index == total_count) {
         *out_ia2_relation = relation;
-        out_targets->insert(node_data.int_attributes[i].second);
+        out_targets->insert(
+            delegate->GetFromNodeID(node_data.int_attributes[i].second));
         return 1;
       }
       total_count++;
@@ -170,10 +172,10 @@
   for (ax::mojom::IntAttribute int_attribute :
        int_attributes_with_reverse_relations) {
     base::string16 relation = GetIA2ReverseRelationFromIntAttr(int_attribute);
-    std::set<int32_t> targets =
-        delegate->GetReverseRelations(int_attribute, node_data.id);
+    std::set<AXPlatformNode*> targets =
+        delegate->GetReverseRelations(int_attribute);
     // Erase reflexive relations.
-    targets.erase(node_data.id);
+    targets.erase(node);
     if (targets.size()) {
       if (!relation.empty() &&
           (desired_ia2_relation.empty() || desired_ia2_relation == relation)) {
@@ -201,7 +203,7 @@
           // Skip reflexive relations
           if (target_id == node_data.id)
             continue;
-          out_targets->insert(target_id);
+          out_targets->insert(delegate->GetFromNodeID(target_id));
         }
         if (out_targets->size() == 0)
           continue;
@@ -217,10 +219,10 @@
        intlist_attributes_with_reverse_relations) {
     base::string16 relation =
         GetIA2ReverseRelationFromIntListAttr(intlist_attribute);
-    std::set<int32_t> targets =
-        delegate->GetReverseRelations(intlist_attribute, node_data.id);
+    std::set<AXPlatformNode*> targets =
+        delegate->GetReverseRelations(intlist_attribute);
     // Erase reflexive relations.
-    targets.erase(node_data.id);
+    targets.erase(node);
     if (targets.size()) {
       if (!relation.empty() &&
           (desired_ia2_relation.empty() || desired_ia2_relation == relation)) {
diff --git a/ui/accessibility/platform/ax_platform_relation_win.h b/ui/accessibility/platform/ax_platform_relation_win.h
index 84fef44..2abfe23 100644
--- a/ui/accessibility/platform/ax_platform_relation_win.h
+++ b/ui/accessibility/platform/ax_platform_relation_win.h
@@ -7,6 +7,7 @@
 
 #include <oleacc.h>
 #include <wrl/client.h>
+#include <set>
 #include <vector>
 
 #include "base/compiler_specific.h"
@@ -52,12 +53,11 @@
   // |out_ia2_relation| and |out_targets| (both of which must not be null),
   // and it will return 1 on success, and 0 if none were found matching that
   // criteria.
-  static int EnumerateRelationships(const AXNodeData& node_data,
-                                    AXPlatformNodeDelegate* delegate,
+  static int EnumerateRelationships(AXPlatformNodeBase* node,
                                     int desired_index,
                                     const base::string16& desired_ia2_relation,
                                     base::string16* out_ia2_relation,
-                                    std::set<int32_t>* out_targets);
+                                    std::set<AXPlatformNode*>* out_targets);
 
   void Initialize(const base::string16& type);
   void Invalidate();
diff --git a/ui/accessibility/platform/test_ax_node_wrapper.cc b/ui/accessibility/platform/test_ax_node_wrapper.cc
index f3462d8..36e43d6 100644
--- a/ui/accessibility/platform/test_ax_node_wrapper.cc
+++ b/ui/accessibility/platform/test_ax_node_wrapper.cc
@@ -285,16 +285,16 @@
   return true;
 }
 
-std::set<int32_t> TestAXNodeWrapper::GetReverseRelations(
-    ax::mojom::IntAttribute attr,
-    int32_t dst_id) {
-  return tree_->GetReverseRelations(attr, dst_id);
+std::set<AXPlatformNode*> TestAXNodeWrapper::GetReverseRelations(
+    ax::mojom::IntAttribute attr) {
+  DCHECK(IsNodeIdIntAttribute(attr));
+  return GetNodesForNodeIds(tree_->GetReverseRelations(attr, GetData().id));
 }
 
-std::set<int32_t> TestAXNodeWrapper::GetReverseRelations(
-    ax::mojom::IntListAttribute attr,
-    int32_t dst_id) {
-  return tree_->GetReverseRelations(attr, dst_id);
+std::set<AXPlatformNode*> TestAXNodeWrapper::GetReverseRelations(
+    ax::mojom::IntListAttribute attr) {
+  DCHECK(IsNodeIdIntListAttribute(attr));
+  return GetNodesForNodeIds(tree_->GetReverseRelations(attr, GetData().id));
 }
 
 const ui::AXUniqueId& TestAXNodeWrapper::GetUniqueId() const {
diff --git a/ui/accessibility/platform/test_ax_node_wrapper.h b/ui/accessibility/platform/test_ax_node_wrapper.h
index ff4fd90..deceb33e 100644
--- a/ui/accessibility/platform/test_ax_node_wrapper.h
+++ b/ui/accessibility/platform/test_ax_node_wrapper.h
@@ -5,6 +5,9 @@
 #ifndef UI_ACCESSIBILITY_PLATFORM_TEST_AX_NODE_WRAPPER_H_
 #define UI_ACCESSIBILITY_PLATFORM_TEST_AX_NODE_WRAPPER_H_
 
+#include <set>
+#include <vector>
+
 #include "ui/accessibility/ax_node.h"
 #include "ui/accessibility/ax_tree.h"
 #include "ui/accessibility/platform/ax_platform_node.h"
@@ -53,10 +56,10 @@
   bool AccessibilityPerformAction(const AXActionData& data) override;
   bool ShouldIgnoreHoveredStateForTesting() override;
   const ui::AXUniqueId& GetUniqueId() const override;
-  std::set<int32_t> GetReverseRelations(ax::mojom::IntAttribute attr,
-                                        int32_t dst_id) override;
-  std::set<int32_t> GetReverseRelations(ax::mojom::IntListAttribute attr,
-                                        int32_t dst_id) override;
+  std::set<AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntAttribute attr) override;
+  std::set<AXPlatformNode*> GetReverseRelations(
+      ax::mojom::IntListAttribute attr) override;
   bool IsOrderedSetItem() const override;
   bool IsOrderedSet() const override;
   int32_t GetPosInSet() const override;
diff --git a/ui/android/java/src/org/chromium/ui/UiUtils.java b/ui/android/java/src/org/chromium/ui/UiUtils.java
index 39cd8e66..93ccb15 100644
--- a/ui/android/java/src/org/chromium/ui/UiUtils.java
+++ b/ui/android/java/src/org/chromium/ui/UiUtils.java
@@ -88,10 +88,12 @@
          * @param includeNames Whether to include names of the contacts shared.
          * @param includeEmails Whether to include emails of the contacts shared.
          * @param includeTel Whether to include telephone numbers of the contacts shared.
+         * @param formattedOrigin The origin the data will be shared with, formatted for display
+         *                        with the scheme omitted.
          */
         void showContactsPicker(Context context, ContactsPickerListener listener,
                 boolean allowMultiple, boolean includeNames, boolean includeEmails,
-                boolean includeTel);
+                boolean includeTel, String formattedOrigin);
 
         /**
          * Called when the contacts picker dialog has been dismissed.
@@ -142,13 +144,18 @@
      * @param context  The context to use.
      * @param listener The listener that will be notified of the action the user took in the
      *                 picker.
+     * @param allowMultiple Whether to allow multiple contacts to be selected.
+     * @param includeNames Whether to include names in the contact data returned.
+     * @param includeEmails Whether to include emails in the contact data returned.
+     * @param includeTel Whether to include telephone numbers in the contact data returned.
+     * @param formattedOrigin The origin the data will be shared with.
      */
     public static boolean showContactsPicker(Context context, ContactsPickerListener listener,
-            boolean allowMultiple, boolean includeNames, boolean includeEmails,
-            boolean includeTel) {
+            boolean allowMultiple, boolean includeNames, boolean includeEmails, boolean includeTel,
+            String formattedOrigin) {
         if (sContactsPickerDelegate == null) return false;
-        sContactsPickerDelegate.showContactsPicker(
-                context, listener, allowMultiple, includeNames, includeEmails, includeTel);
+        sContactsPickerDelegate.showContactsPicker(context, listener, allowMultiple, includeNames,
+                includeEmails, includeTel, formattedOrigin);
         return true;
     }
 
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
index 3a27b480..d82a276ff 100644
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -243,8 +243,10 @@
         Activity activity = mWindowAndroid.getActivity().get();
 
         // Use the new contacts picker, if available.
+        // TODO(finnur): Remove this code path (for opening the Contacts Picker dialog).
         if (shouldUseContactsPicker()
-                && UiUtils.showContactsPicker(activity, this, mAllowMultiple, true, true, true)) {
+                && UiUtils.showContactsPicker(
+                        activity, this, mAllowMultiple, true, true, true, "")) {
             return;
         }
 
diff --git a/ui/strings/translations/ui_strings_zh-CN.xtb b/ui/strings/translations/ui_strings_zh-CN.xtb
index 0f3987bc..af2c8805 100644
--- a/ui/strings/translations/ui_strings_zh-CN.xtb
+++ b/ui/strings/translations/ui_strings_zh-CN.xtb
@@ -5,7 +5,7 @@
 <translation id="1127811143501539442">{DAYS,plural, =1{1 天前}other{# 天前}}</translation>
 <translation id="1156623771253174079">{SECONDS,plural, =1{1 分钟前}other{# 分钟前}}</translation>
 <translation id="1169783199079129864">{MINUTES,plural, =1{1 分钟}other{# 分钟}}</translation>
-<translation id="1181037720776840403">移除</translation>
+<translation id="1181037720776840403">删除</translation>
 <translation id="1243314992276662751">上传</translation>
 <translation id="1269641567813814718">Win 键</translation>
 <translation id="1293699935367580298">Esc</translation>