diff --git a/DEPS b/DEPS
index 14c5f36..faf5563 100644
--- a/DEPS
+++ b/DEPS
@@ -105,11 +105,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': 'd2916264aae08b547792556fd4197524b96cf44d',
+  'skia_revision': '64b0fb59951790b29131f299461a784f60640c70',
   # 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': '1eb6866c0c4eab8b181362c02446ebbc6d078f2b',
+  'v8_revision': 'c12805f8d5c043bc83b9cb16de020c3f94fe5f27',
   # 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.
@@ -117,7 +117,7 @@
   # 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': 'f4d429c1cbc1351ea9f1ac74e0f22b085d275179',
+  'angle_revision': '7f2329398fe8a8b57fa16ec222127a55a457968d',
   # 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.
@@ -129,7 +129,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': '5700d9e2eea5813861920995815ac092fd7df973',
+  'pdfium_revision': '7a956edb6b5356ebab6bae0a6c3d8bd279c01019',
   # 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.
@@ -165,7 +165,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': '5f6da8a57db16291c01a894083137c294b3b4e5f',
+  'catapult_revision': '3e071665b9f98563767e62ffa34611ffe5fbe4b8',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -584,7 +584,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'd7d11650ca3794720a99d2003ce64df354edd743',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '71ddeb9859d4337575bcf07520d13af05e7425dc',
       'condition': 'checkout_linux',
   },
 
@@ -609,7 +609,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'dfce68bcddba7508d74016405a95e7865cbf47ba',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'b5e87815540404a4a68f6c3a195a514146e631d7',
 
   'src/third_party/devtools-node-modules':
     Var('chromium_git') + '/external/github.com/ChromeDevTools/devtools-node-modules' + '@' + Var('devtools_node_modules_revision'),
@@ -802,7 +802,7 @@
     Var('chromium_git') + '/external/libaddressinput.git' + '@' + 'd7ed8e2f3f35ce9a3aafdfdc48745ceab66e7229',
 
   'src/third_party/libaom/source/libaom': {
-    'url': Var('aomedia_git') + '/aom.git' + '@' +  '7d447f5b0021abd363dd64912c59196393e9b159',
+    'url': Var('aomedia_git') + '/aom.git' + '@' +  '67645b8f529cd4e56b31147db57882089345bedc',
     'condition': 'checkout_libaom',
   },
 
@@ -1098,7 +1098,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '7ca87fb1d3da3b3d2060886e8c58e726d74c8219',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + 'dc899dce9e2e3e5ae4517aa40de796d50557fe9f',
+    Var('webrtc_git') + '/src.git' + '@' + 'bdc115c23d219bf91c2eb90bbf215a27114e7d22',
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
@@ -1129,7 +1129,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@86a4158a03f98f970d349a1090453cedbe33217c',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@d3bc41f640c5692e4cfc2508d0f7199d36fec684',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index ecdcded..72299ec 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -1297,8 +1297,6 @@
     "wm/workspace/two_step_edge_cycler.h",
     "wm/workspace/workspace_event_handler.cc",
     "wm/workspace/workspace_event_handler.h",
-    "wm/workspace/workspace_event_handler_classic.cc",
-    "wm/workspace/workspace_event_handler_classic.h",
     "wm/workspace/workspace_layout_manager.cc",
     "wm/workspace/workspace_layout_manager.h",
     "wm/workspace/workspace_types.h",
@@ -2332,6 +2330,7 @@
     "//device/bluetooth",
     "//services/ws:test_support",
     "//services/ws/public/cpp",
+    "//services/ws/public/cpp/host",
     "//services/ws/public/cpp/input_devices",
     "//services/ws/public/mojom",
     "//skia",
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index fccef3d..41f7a26 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -107,10 +107,7 @@
 using message_center::SystemNotificationWarningLevel;
 
 // Toast id and duration for voice interaction shortcuts
-const char kSecondaryUserToastId[] = "voice_interaction_secondary_user";
-const char kUnsupportedLocaleToastId[] = "voice_interaction_locale_unsupported";
-const char kPolicyDisabledToastId[] = "voice_interaction_policy_disabled";
-const char kDemoModeToastId[] = "demo_mode";
+const char kVoiceInteractionErrorToastId[] = "voice_interaction_error";
 const int kToastDurationMs = 2500;
 
 // Ensures that there are no word breaks at the "+"s in the shortcut texts such
@@ -684,7 +681,7 @@
   switch (Shell::Get()->voice_interaction_controller()->allowed_state()) {
     case mojom::AssistantAllowedState::DISALLOWED_BY_NONPRIMARY_USER:
       // Show a toast if the active user is not primary.
-      ShowToast(kSecondaryUserToastId,
+      ShowToast(kVoiceInteractionErrorToastId,
                 l10n_util::GetStringUTF16(
                     IDS_ASH_VOICE_INTERACTION_SECONDARY_USER_TOAST_MESSAGE));
       return;
@@ -692,20 +689,27 @@
       // Show a toast if voice interaction is disabled due to unsupported
       // locales.
       ShowToast(
-          kUnsupportedLocaleToastId,
+          kVoiceInteractionErrorToastId,
           l10n_util::GetStringUTF16(
               IDS_ASH_VOICE_INTERACTION_LOCALE_UNSUPPORTED_TOAST_MESSAGE));
       return;
     case mojom::AssistantAllowedState::DISALLOWED_BY_ARC_POLICY:
       // Show a toast if voice interaction is disabled due to enterprise policy.
-      ShowToast(kPolicyDisabledToastId,
+      ShowToast(kVoiceInteractionErrorToastId,
                 l10n_util::GetStringUTF16(
                     IDS_ASH_VOICE_INTERACTION_DISABLED_BY_POLICY_MESSAGE));
       return;
     case mojom::AssistantAllowedState::DISALLOWED_BY_DEMO_MODE:
       // Show a toast if voice interaction is disabled due to being in Demo
       // Mode.
-      ShowToast(kDemoModeToastId,
+      ShowToast(kVoiceInteractionErrorToastId,
+                l10n_util::GetStringUTF16(
+                    IDS_ASH_VOICE_INTERACTION_DISABLED_IN_DEMO_MODE_MESSAGE));
+      return;
+    case mojom::AssistantAllowedState::DISALLOWED_BY_PUBLIC_SESSION:
+      // Show a toast if voice interaction is disabled due to being in Demo
+      // Mode.
+      ShowToast(kVoiceInteractionErrorToastId,
                 l10n_util::GetStringUTF16(
                     IDS_ASH_VOICE_INTERACTION_DISABLED_IN_DEMO_MODE_MESSAGE));
       return;
diff --git a/ash/app_list/views/app_list_view.cc b/ash/app_list/views/app_list_view.cc
index 76b9cde4..5951bb3 100644
--- a/ash/app_list/views/app_list_view.cc
+++ b/ash/app_list/views/app_list_view.cc
@@ -362,7 +362,7 @@
   AddAccelerator(ui::Accelerator(ui::VKEY_BROWSER_BACK, ui::EF_NONE));
   parent_window_ = params.parent;
 
-  InitializeFullscreen(params.parent, params.parent_container_id);
+  InitializeFullscreen(params.parent);
 
   InitChildWidgets();
   AddChildView(overlay_view_);
@@ -557,8 +557,7 @@
   app_list_main_view_->contents_view()->Layout();
 }
 
-void AppListView::InitializeFullscreen(gfx::NativeView parent,
-                                       int parent_container_id) {
+void AppListView::InitializeFullscreen(gfx::NativeView parent) {
   const display::Display display_nearest_view = GetDisplayNearestView();
   const gfx::Rect display_work_area_bounds = display_nearest_view.work_area();
 
diff --git a/ash/app_list/views/app_list_view.h b/ash/app_list/views/app_list_view.h
index 3cc7999..f07c67ce 100644
--- a/ash/app_list/views/app_list_view.h
+++ b/ash/app_list/views/app_list_view.h
@@ -83,17 +83,10 @@
   static constexpr int kScrollIgnoreTimeMs = 500;
 
   struct InitParams {
-    // Used in classic ash for both bubble and fullscreen style.
     gfx::NativeView parent = nullptr;
-    // Window container id. Used in mash for both bubble and fullscreen style.
-    // TODO(jamescook): Remove when the app list moves into the ash process.
-    int parent_container_id = -1;
-    // Used for both bubble and fullscreen style.
     int initial_apps_page = 0;
-    // Used for fullscreen style.
     bool is_tablet_mode = false;
-    // Whether the shelf alignment is on the side of the display. Used for
-    // fullscreen style.
+    // Whether the shelf alignment is on the side of the display.
     bool is_side_shelf = false;
   };
 
@@ -266,7 +259,7 @@
   void InitChildWidgets();
 
   // Initializes the widget for fullscreen mode.
-  void InitializeFullscreen(gfx::NativeView parent, int parent_container_id);
+  void InitializeFullscreen(gfx::NativeView parent);
 
   // Closes the AppListView when a click or tap event propogates to the
   // AppListView.
diff --git a/ash/app_list/views/folder_background_view.cc b/ash/app_list/views/folder_background_view.cc
index 373afb7..1368483 100644
--- a/ash/app_list/views/folder_background_view.cc
+++ b/ash/app_list/views/folder_background_view.cc
@@ -10,9 +10,7 @@
 namespace app_list {
 
 FolderBackgroundView::FolderBackgroundView(AppListFolderView* folder_view)
-    : folder_view_(folder_view) {
-  SetPaintToLayer();
-}
+    : folder_view_(folder_view) {}
 
 FolderBackgroundView::~FolderBackgroundView() = default;
 
diff --git a/ash/app_list/views/suggestion_chip_view.cc b/ash/app_list/views/suggestion_chip_view.cc
index 5d411f0..ba33770 100644
--- a/ash/app_list/views/suggestion_chip_view.cc
+++ b/ash/app_list/views/suggestion_chip_view.cc
@@ -118,6 +118,7 @@
   text_view_->SetAutoColorReadabilityEnabled(false);
   text_view_->SetEnabledColor(assistant_style_ ? kAssistantTextColor
                                                : kAppListTextColor);
+  text_view_->SetSubpixelRenderingEnabled(false);
   text_view_->SetFontList(
       assistant_style_
           ? ash::assistant::ui::GetDefaultFontList().DeriveWithSizeDelta(1)
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd
index be23b04..b5de6f1f 100644
--- a/ash/ash_strings.grd
+++ b/ash/ash_strings.grd
@@ -653,6 +653,9 @@
       <message name="IDS_ASH_VOICE_INTERACTION_DISABLED_IN_DEMO_MODE_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed in a demo session, which does not support voice interaction.">
         The Google Assistant is not available in a demo session.
       </message>
+      <message name="IDS_ASH_VOICE_INTERACTION_DISABLED_IN_PUBLIC_SESSION_MESSAGE" desc="Message content on the toast that appears when the voice interaction shortcut is pressed in a public session, which does not support voice interaction.">
+        The Google Assistant is not available in a public session.
+      </message>
 
       <message name="IDS_ASH_TOAST_DISMISS_BUTTON" desc="The text button shown in toasts to close the toast immediately without waiting timeout.">
         DISMISS
diff --git a/ash/assistant/assistant_interaction_controller.cc b/ash/assistant/assistant_interaction_controller.cc
index 2a960f8..595fa3f 100644
--- a/ash/assistant/assistant_interaction_controller.cc
+++ b/ash/assistant/assistant_interaction_controller.cc
@@ -50,12 +50,12 @@
 
 void AssistantInteractionController::AddModelObserver(
     AssistantInteractionModelObserver* observer) {
-  assistant_interaction_model_.AddObserver(observer);
+  model_.AddObserver(observer);
 }
 
 void AssistantInteractionController::RemoveModelObserver(
     AssistantInteractionModelObserver* observer) {
-  assistant_interaction_model_.RemoveObserver(observer);
+  model_.RemoveObserver(observer);
 }
 
 void AssistantInteractionController::OnAssistantControllerConstructed() {
@@ -100,12 +100,27 @@
   if (ui_mode == AssistantUiMode::kMiniUi)
     return;
 
-  // When the Assistant is not in mini state there should not be an active
-  // metalayer session. If we were in mini state when the UI mode was changed,
-  // we need to clean up the metalayer session and reset default input modality.
-  if (assistant_interaction_model_.input_modality() == InputModality::kStylus) {
-    Shell::Get()->highlighter_controller()->AbortSession();
-    assistant_interaction_model_.SetInputModality(InputModality::kKeyboard);
+  switch (model_.input_modality()) {
+    case InputModality::kStylus:
+      // When the Assistant is not in mini state there should not be an active
+      // metalayer session. If we were in mini state when the UI mode was
+      // changed, we need to clean up the metalayer session and reset default
+      // input modality.
+      Shell::Get()->highlighter_controller()->AbortSession();
+      model_.SetInputModality(InputModality::kKeyboard);
+      break;
+    case InputModality::kVoice:
+      // When transitioning to web UI we abort any in progress voice query. We
+      // do this to prevent Assistant from listening to the user while we
+      // navigate away from the main stage.
+      if (ui_mode == AssistantUiMode::kWebUi &&
+          model_.pending_query().type() == AssistantQueryType::kVoice) {
+        StopActiveInteraction();
+      }
+      break;
+    case InputModality::kKeyboard:
+      // No action necessary.
+      break;
   }
 }
 
@@ -118,24 +133,23 @@
       // When the UI is closed we need to stop any active interaction. We also
       // reset the interaction state and restore the default input modality.
       StopActiveInteraction();
-      assistant_interaction_model_.ClearInteraction();
-      assistant_interaction_model_.SetInputModality(InputModality::kKeyboard);
+      model_.ClearInteraction();
+      model_.SetInputModality(InputModality::kKeyboard);
       break;
     case AssistantVisibility::kHidden:
       // When the UI is hidden we stop any voice query in progress so that we
       // don't listen to the user while not visible. We also restore the default
       // input modality for the next launch.
-      if (assistant_interaction_model_.pending_query().type() ==
-          AssistantQueryType::kVoice) {
+      if (model_.pending_query().type() == AssistantQueryType::kVoice) {
         StopActiveInteraction();
       }
-      assistant_interaction_model_.SetInputModality(InputModality::kKeyboard);
+      model_.SetInputModality(InputModality::kKeyboard);
       break;
     case AssistantVisibility::kVisible:
       if (source == AssistantSource::kLongPressLauncher) {
         StartVoiceInteraction();
       } else if (source == AssistantSource::kStylus) {
-        assistant_interaction_model_.SetInputModality(InputModality::kStylus);
+        model_.SetInputModality(InputModality::kStylus);
       }
       break;
   }
@@ -145,12 +159,12 @@
     HighlighterEnabledState state) {
   switch (state) {
     case HighlighterEnabledState::kEnabled:
-      assistant_interaction_model_.SetInputModality(InputModality::kStylus);
+      model_.SetInputModality(InputModality::kStylus);
       break;
     case HighlighterEnabledState::kDisabledByUser:
       FALLTHROUGH;
     case HighlighterEnabledState::kDisabledBySessionComplete:
-      assistant_interaction_model_.SetInputModality(InputModality::kKeyboard);
+      model_.SetInputModality(InputModality::kKeyboard);
       break;
     case HighlighterEnabledState::kDisabledBySessionAbort:
       // When metalayer mode has been aborted, no action necessary. Abort occurs
@@ -196,20 +210,18 @@
 
 void AssistantInteractionController::OnInteractionStarted(
     bool is_voice_interaction) {
-  assistant_interaction_model_.SetInteractionState(InteractionState::kActive);
+  model_.SetInteractionState(InteractionState::kActive);
 
   // In the case of a voice interaction, we assume that the mic is open and
   // transition to voice input modality.
   if (is_voice_interaction) {
-    assistant_interaction_model_.SetInputModality(InputModality::kVoice);
-    assistant_interaction_model_.SetMicState(MicState::kOpen);
+    model_.SetInputModality(InputModality::kVoice);
+    model_.SetMicState(MicState::kOpen);
 
     // When a voice interaction is initiated by hotword, we haven't yet set a
     // pending query so this is our earliest opportunity.
-    if (assistant_interaction_model_.pending_query().type() ==
-        AssistantQueryType::kNull) {
-      assistant_interaction_model_.SetPendingQuery(
-          std::make_unique<AssistantVoiceQuery>());
+    if (model_.pending_query().type() == AssistantQueryType::kNull) {
+      model_.SetPendingQuery(std::make_unique<AssistantVoiceQuery>());
     }
   } else {
     // TODO(b/112000321): It should not be possible to reach this code without
@@ -218,31 +230,28 @@
     // AssistantInteractionController when beginning an interaction. To address
     // this, we temporarily pend an empty text query to commit until we can do
     // development to expose something more meaningful.
-    if (assistant_interaction_model_.pending_query().type() ==
-        AssistantQueryType::kNull) {
-      assistant_interaction_model_.SetPendingQuery(
-          std::make_unique<AssistantTextQuery>());
+    if (model_.pending_query().type() == AssistantQueryType::kNull) {
+      model_.SetPendingQuery(std::make_unique<AssistantTextQuery>());
     }
 
-    assistant_interaction_model_.CommitPendingQuery();
-    assistant_interaction_model_.SetMicState(MicState::kClosed);
+    model_.CommitPendingQuery();
+    model_.SetMicState(MicState::kClosed);
   }
 
   // Start caching a new Assistant response for the interaction.
-  assistant_interaction_model_.SetPendingResponse(
-      std::make_unique<AssistantResponse>());
+  model_.SetPendingResponse(std::make_unique<AssistantResponse>());
 }
 
 void AssistantInteractionController::OnInteractionFinished(
     AssistantInteractionResolution resolution) {
-  assistant_interaction_model_.SetInteractionState(InteractionState::kInactive);
-  assistant_interaction_model_.SetMicState(MicState::kClosed);
+  model_.SetInteractionState(InteractionState::kInactive);
+  model_.SetMicState(MicState::kClosed);
 
   // If the interaction was finished due to mic timeout, we only want to clear
   // the pending query/response state for that interaction.
   if (resolution == AssistantInteractionResolution::kMicTimeout) {
-    assistant_interaction_model_.ClearPendingQuery();
-    assistant_interaction_model_.ClearPendingResponse();
+    model_.ClearPendingQuery();
+    model_.ClearPendingResponse();
     return;
   }
 
@@ -251,40 +260,38 @@
   // device hotword loss, for example, but can also occur if the interaction
   // errors out. In these cases we still need to commit the pending query as
   // this is a prerequisite step to being able to finalize the pending response.
-  if (assistant_interaction_model_.pending_query().type() !=
-      AssistantQueryType::kNull) {
-    assistant_interaction_model_.CommitPendingQuery();
+  if (model_.pending_query().type() != AssistantQueryType::kNull) {
+    model_.CommitPendingQuery();
   }
 
   // If the interaction was finished due to multi-device hotword loss, we want
   // to show an appropriate message to the user.
   if (resolution == AssistantInteractionResolution::kMultiDeviceHotwordLoss) {
-    assistant_interaction_model_.pending_response()->AddUiElement(
+    model_.pending_response()->AddUiElement(
         std::make_unique<AssistantTextElement>(l10n_util::GetStringUTF8(
             IDS_ASH_ASSISTANT_MULTI_DEVICE_HOTWORD_LOSS)));
   }
 
   // The interaction has finished, so we finalize the pending response if it
   // hasn't already been finalized.
-  if (assistant_interaction_model_.pending_response())
-    assistant_interaction_model_.FinalizePendingResponse();
+  if (model_.pending_response())
+    model_.FinalizePendingResponse();
 }
 
 void AssistantInteractionController::OnHtmlResponse(
     const std::string& response) {
-  if (assistant_interaction_model_.interaction_state() !=
-      InteractionState::kActive) {
+  if (model_.interaction_state() != InteractionState::kActive) {
     return;
   }
 
   // If this occurs, the server has broken our response ordering agreement. We
   // should not crash but we cannot handle the response so we ignore it.
-  if (!assistant_interaction_model_.pending_response()) {
+  if (!model_.pending_response()) {
     NOTREACHED();
     return;
   }
 
-  assistant_interaction_model_.pending_response()->AddUiElement(
+  model_.pending_response()->AddUiElement(
       std::make_unique<AssistantCardElement>(response));
 }
 
@@ -303,37 +310,34 @@
 
 void AssistantInteractionController::OnSuggestionsResponse(
     std::vector<AssistantSuggestionPtr> response) {
-  if (assistant_interaction_model_.interaction_state() !=
-      InteractionState::kActive) {
+  if (model_.interaction_state() != InteractionState::kActive) {
     return;
   }
 
   // If this occurs, the server has broken our response ordering agreement. We
   // should not crash but we cannot handle the response so we ignore it.
-  if (!assistant_interaction_model_.pending_response()) {
+  if (!model_.pending_response()) {
     NOTREACHED();
     return;
   }
 
-  assistant_interaction_model_.pending_response()->AddSuggestions(
-      std::move(response));
+  model_.pending_response()->AddSuggestions(std::move(response));
 }
 
 void AssistantInteractionController::OnTextResponse(
     const std::string& response) {
-  if (assistant_interaction_model_.interaction_state() !=
-      InteractionState::kActive) {
+  if (model_.interaction_state() != InteractionState::kActive) {
     return;
   }
 
   // If this occurs, the server has broken our response ordering agreement. We
   // should not crash but we cannot handle the response so we ignore it.
-  if (!assistant_interaction_model_.pending_response()) {
+  if (!model_.pending_response()) {
     NOTREACHED();
     return;
   }
 
-  assistant_interaction_model_.pending_response()->AddUiElement(
+  model_.pending_response()->AddUiElement(
       std::make_unique<AssistantTextElement>(response));
 }
 
@@ -342,47 +346,49 @@
 void AssistantInteractionController::OnSpeechRecognitionIntermediateResult(
     const std::string& high_confidence_text,
     const std::string& low_confidence_text) {
-  assistant_interaction_model_.SetPendingQuery(
-      std::make_unique<AssistantVoiceQuery>(high_confidence_text,
-                                            low_confidence_text));
+  model_.SetPendingQuery(std::make_unique<AssistantVoiceQuery>(
+      high_confidence_text, low_confidence_text));
 }
 
 void AssistantInteractionController::OnSpeechRecognitionEndOfUtterance() {
-  assistant_interaction_model_.SetMicState(MicState::kClosed);
+  model_.SetMicState(MicState::kClosed);
 }
 
 void AssistantInteractionController::OnSpeechRecognitionFinalResult(
     const std::string& final_result) {
-  assistant_interaction_model_.SetPendingQuery(
-      std::make_unique<AssistantVoiceQuery>(final_result));
-  assistant_interaction_model_.CommitPendingQuery();
+  // We sometimes receive this event with an empty payload when the interaction
+  // is resolving due to mic timeout. In such cases, we should not commit the
+  // pending query as the interaction will be discarded.
+  if (final_result.empty())
+    return;
+
+  model_.SetPendingQuery(std::make_unique<AssistantVoiceQuery>(final_result));
+  model_.CommitPendingQuery();
 }
 
 void AssistantInteractionController::OnSpeechLevelUpdated(float speech_level) {
-  assistant_interaction_model_.SetSpeechLevel(speech_level);
+  model_.SetSpeechLevel(speech_level);
 }
 
 void AssistantInteractionController::OnTtsStarted(bool due_to_error) {
-  if (assistant_interaction_model_.interaction_state() !=
-      InteractionState::kActive) {
+  if (model_.interaction_state() != InteractionState::kActive) {
     return;
   }
 
   // Commit the pending query in whatever state it's in. In most cases the
   // pending query is already committed, but we must always commit the pending
   // query before finalizing a pending result.
-  if (assistant_interaction_model_.pending_query().type() !=
-      AssistantQueryType::kNull) {
-    assistant_interaction_model_.CommitPendingQuery();
+  if (model_.pending_query().type() != AssistantQueryType::kNull) {
+    model_.CommitPendingQuery();
   }
 
   if (due_to_error) {
     // In the case of an error occurring during a voice interaction, this is our
     // earliest indication that the mic has closed.
-    assistant_interaction_model_.SetMicState(MicState::kClosed);
+    model_.SetMicState(MicState::kClosed);
 
     // Add an error message to the response.
-    assistant_interaction_model_.pending_response()->AddUiElement(
+    model_.pending_response()->AddUiElement(
         std::make_unique<AssistantTextElement>(
             l10n_util::GetStringUTF8(IDS_ASH_ASSISTANT_ERROR_GENERIC)));
   }
@@ -391,12 +397,11 @@
   // of an interaction to be processed. To be timely in updating UI, we use
   // this as an opportunity to finalize the Assistant response and update the
   // interaction model.
-  assistant_interaction_model_.FinalizePendingResponse();
+  model_.FinalizePendingResponse();
 }
 
 void AssistantInteractionController::OnOpenUrlResponse(const GURL& url) {
-  if (assistant_interaction_model_.interaction_state() !=
-      InteractionState::kActive) {
+  if (model_.interaction_state() != InteractionState::kActive) {
     return;
   }
   assistant_controller_->OpenUrl(url);
@@ -405,14 +410,14 @@
 void AssistantInteractionController::OnDialogPlateButtonPressed(
     DialogPlateButtonId id) {
   if (id == DialogPlateButtonId::kKeyboardInputToggle) {
-    assistant_interaction_model_.SetInputModality(InputModality::kKeyboard);
+    model_.SetInputModality(InputModality::kKeyboard);
     return;
   }
 
   if (id != DialogPlateButtonId::kVoiceInputToggle)
     return;
 
-  switch (assistant_interaction_model_.mic_state()) {
+  switch (model_.mic_state()) {
     case MicState::kClosed:
       StartVoiceInteraction();
       break;
@@ -432,9 +437,8 @@
     const gfx::Rect& region) {
   StopActiveInteraction();
 
-  assistant_interaction_model_.SetPendingQuery(
-      std::make_unique<AssistantTextQuery>(
-          l10n_util::GetStringUTF8(IDS_ASH_ASSISTANT_CHIP_WHATS_ON_MY_SCREEN)));
+  model_.SetPendingQuery(std::make_unique<AssistantTextQuery>(
+      l10n_util::GetStringUTF8(IDS_ASH_ASSISTANT_CHIP_WHATS_ON_MY_SCREEN)));
 
   assistant_->StartMetalayerInteraction(region);
 }
@@ -442,9 +446,8 @@
 void AssistantInteractionController::StartScreenContextInteraction() {
   StopActiveInteraction();
 
-  assistant_interaction_model_.SetPendingQuery(
-      std::make_unique<AssistantTextQuery>(
-          l10n_util::GetStringUTF8(IDS_ASH_ASSISTANT_CHIP_WHATS_ON_MY_SCREEN)));
+  model_.SetPendingQuery(std::make_unique<AssistantTextQuery>(
+      l10n_util::GetStringUTF8(IDS_ASH_ASSISTANT_CHIP_WHATS_ON_MY_SCREEN)));
 
   // Note that screen context was cached when the UI was launched.
   assistant_->StartCachedScreenContextInteraction();
@@ -454,8 +457,7 @@
     const std::string text) {
   StopActiveInteraction();
 
-  assistant_interaction_model_.SetPendingQuery(
-      std::make_unique<AssistantTextQuery>(text));
+  model_.SetPendingQuery(std::make_unique<AssistantTextQuery>(text));
 
   assistant_->SendTextQuery(text);
 }
@@ -463,8 +465,7 @@
 void AssistantInteractionController::StartVoiceInteraction() {
   StopActiveInteraction();
 
-  assistant_interaction_model_.SetPendingQuery(
-      std::make_unique<AssistantVoiceQuery>());
+  model_.SetPendingQuery(std::make_unique<AssistantVoiceQuery>());
 
   assistant_->StartVoiceInteraction();
 }
@@ -474,15 +475,15 @@
   // via a call to OnInteractionFinished(Resolution), we explicitly set it to
   // inactive here to prevent processing any additional UI related service
   // events belonging to the interaction being stopped.
-  assistant_interaction_model_.SetInteractionState(InteractionState::kInactive);
-  assistant_interaction_model_.ClearPendingQuery();
+  model_.SetInteractionState(InteractionState::kInactive);
+  model_.ClearPendingQuery();
 
   assistant_->StopActiveInteraction();
 
   // Because we are stopping an interaction in progress, we discard any pending
   // response for it that is cached to prevent it from being finalized when the
   // interaction is finished.
-  assistant_interaction_model_.ClearPendingResponse();
+  model_.ClearPendingResponse();
 }
 
 }  // namespace ash
diff --git a/ash/assistant/assistant_interaction_controller.h b/ash/assistant/assistant_interaction_controller.h
index c141b5f3..1017495 100644
--- a/ash/assistant/assistant_interaction_controller.h
+++ b/ash/assistant/assistant_interaction_controller.h
@@ -46,9 +46,7 @@
   void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
 
   // Returns a reference to the underlying model.
-  const AssistantInteractionModel* model() const {
-    return &assistant_interaction_model_;
-  }
+  const AssistantInteractionModel* model() const { return &model_; }
 
   // Adds/removes the specified interaction model |observer|.
   void AddModelObserver(AssistantInteractionModelObserver* observer);
@@ -117,7 +115,7 @@
   mojo::Binding<chromeos::assistant::mojom::AssistantInteractionSubscriber>
       assistant_interaction_subscriber_binding_;
 
-  AssistantInteractionModel assistant_interaction_model_;
+  AssistantInteractionModel model_;
 
   DISALLOW_COPY_AND_ASSIGN(AssistantInteractionController);
 };
diff --git a/ash/assistant/assistant_screen_context_controller.cc b/ash/assistant/assistant_screen_context_controller.cc
index 1bbf86f7..c43b10d 100644
--- a/ash/assistant/assistant_screen_context_controller.cc
+++ b/ash/assistant/assistant_screen_context_controller.cc
@@ -144,12 +144,12 @@
 
 void AssistantScreenContextController::AddModelObserver(
     AssistantScreenContextModelObserver* observer) {
-  assistant_screen_context_model_.AddObserver(observer);
+  model_.AddObserver(observer);
 }
 
 void AssistantScreenContextController::RemoveModelObserver(
     AssistantScreenContextModelObserver* observer) {
-  assistant_screen_context_model_.RemoveObserver(observer);
+  model_.RemoveObserver(observer);
 }
 
 void AssistantScreenContextController::RequestScreenshot(
@@ -195,8 +195,7 @@
   // Otherwise, we abort any requests in progress and reset state.
   if (new_visibility != AssistantVisibility::kVisible) {
     screen_context_request_factory_.InvalidateWeakPtrs();
-    assistant_screen_context_model_.SetRequestState(
-        ScreenContextRequestState::kIdle);
+    model_.SetRequestState(ScreenContextRequestState::kIdle);
     return;
   }
 
@@ -210,8 +209,7 @@
 
   // Abort any request in progress and update request state.
   screen_context_request_factory_.InvalidateWeakPtrs();
-  assistant_screen_context_model_.SetRequestState(
-      ScreenContextRequestState::kInProgress);
+  model_.SetRequestState(ScreenContextRequestState::kInProgress);
 
   // Cache screen context for the entire screen.
   assistant_->CacheScreenContext(base::BindOnce(
@@ -220,8 +218,7 @@
 }
 
 void AssistantScreenContextController::OnScreenContextRequestFinished() {
-  assistant_screen_context_model_.SetRequestState(
-      ScreenContextRequestState::kIdle);
+  model_.SetRequestState(ScreenContextRequestState::kIdle);
 }
 
 std::unique_ptr<ui::LayerTreeOwner>
diff --git a/ash/assistant/assistant_screen_context_controller.h b/ash/assistant/assistant_screen_context_controller.h
index 79927e97..5919a4d 100644
--- a/ash/assistant/assistant_screen_context_controller.h
+++ b/ash/assistant/assistant_screen_context_controller.h
@@ -36,9 +36,7 @@
   void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
 
   // Returns a reference to the underlying model.
-  const AssistantScreenContextModel* model() const {
-    return &assistant_screen_context_model_;
-  }
+  const AssistantScreenContextModel* model() const { return &model_; }
 
   // Adds/removes the specified screen context model |observer|.
   void AddModelObserver(AssistantScreenContextModelObserver* observer);
@@ -71,7 +69,7 @@
   // Owned by AssistantController.
   chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
 
-  AssistantScreenContextModel assistant_screen_context_model_;
+  AssistantScreenContextModel model_;
 
   // Weak pointer factory used for screen context requests.
   base::WeakPtrFactory<AssistantScreenContextController>
diff --git a/ash/assistant/assistant_ui_controller.cc b/ash/assistant/assistant_ui_controller.cc
index 23e972e9..8eab5c3 100644
--- a/ash/assistant/assistant_ui_controller.cc
+++ b/ash/assistant/assistant_ui_controller.cc
@@ -62,12 +62,12 @@
 
 void AssistantUiController::AddModelObserver(
     AssistantUiModelObserver* observer) {
-  assistant_ui_model_.AddObserver(observer);
+  model_.AddObserver(observer);
 }
 
 void AssistantUiController::RemoveModelObserver(
     AssistantUiModelObserver* observer) {
-  assistant_ui_model_.RemoveObserver(observer);
+  model_.RemoveObserver(observer);
 }
 
 void AssistantUiController::OnWidgetActivationChanged(views::Widget* widget,
@@ -90,8 +90,8 @@
   // We need to update the model when the widget is destroyed as this may have
   // happened outside our control. This can occur as the result of pressing the
   // ESC key, for example.
-  assistant_ui_model_.SetVisibility(AssistantVisibility::kClosed,
-                                    AssistantSource::kUnspecified);
+  model_.SetVisibility(AssistantVisibility::kClosed,
+                       AssistantSource::kUnspecified);
 
   container_view_->GetWidget()->RemoveObserver(this);
   container_view_ = nullptr;
@@ -114,12 +114,16 @@
 }
 
 void AssistantUiController::OnMicStateChanged(MicState mic_state) {
-  UpdateUiMode();
+  // When the mic is opened we update the UI mode to ensure that the user is
+  // being presented with the main stage. When closing the mic it is appropriate
+  // to stay in whatever UI mode we are currently in.
+  if (mic_state == MicState::kOpen)
+    UpdateUiMode();
 }
 
 void AssistantUiController::OnScreenContextRequestStateChanged(
     ScreenContextRequestState request_state) {
-  if (assistant_ui_model_.visibility() != AssistantVisibility::kVisible)
+  if (model_.visibility() != AssistantVisibility::kVisible)
     return;
 
   // Once screen context request state has become idle, it is safe to activate
@@ -168,11 +172,11 @@
     HighlighterEnabledState state) {
   switch (state) {
     case HighlighterEnabledState::kEnabled:
-      if (assistant_ui_model_.visibility() != AssistantVisibility::kVisible)
+      if (model_.visibility() != AssistantVisibility::kVisible)
         ShowUi(AssistantSource::kStylus);
       break;
     case HighlighterEnabledState::kDisabledByUser:
-      if (assistant_ui_model_.visibility() == AssistantVisibility::kVisible)
+      if (model_.visibility() == AssistantVisibility::kVisible)
         HideUi(AssistantSource::kStylus);
       break;
     case HighlighterEnabledState::kDisabledBySessionComplete:
@@ -210,7 +214,7 @@
 
 void AssistantUiController::OnUrlOpened(const GURL& url) {
   // We hide Assistant UI when opening a URL in a new tab.
-  if (assistant_ui_model_.visibility() == AssistantVisibility::kVisible)
+  if (model_.visibility() == AssistantVisibility::kVisible)
     HideUi(AssistantSource::kUnspecified);
 }
 
@@ -256,7 +260,7 @@
     return;
   }
 
-  if (assistant_ui_model_.visibility() == AssistantVisibility::kVisible) {
+  if (model_.visibility() == AssistantVisibility::kVisible) {
     // If Assistant window is already visible, we just try to retake focus.
     container_view_->GetWidget()->Activate();
     return;
@@ -271,24 +275,24 @@
   // necessary due to limitations imposed by retrieving screen context. Once we
   // have finished retrieving screen context, the Assistant widget is activated.
   container_view_->GetWidget()->ShowInactive();
-  assistant_ui_model_.SetVisibility(AssistantVisibility::kVisible, source);
+  model_.SetVisibility(AssistantVisibility::kVisible, source);
 }
 
 void AssistantUiController::HideUi(AssistantSource source) {
-  if (assistant_ui_model_.visibility() == AssistantVisibility::kHidden)
+  if (model_.visibility() == AssistantVisibility::kHidden)
     return;
 
   if (container_view_)
     container_view_->GetWidget()->Hide();
 
-  assistant_ui_model_.SetVisibility(AssistantVisibility::kHidden, source);
+  model_.SetVisibility(AssistantVisibility::kHidden, source);
 }
 
 void AssistantUiController::CloseUi(AssistantSource source) {
-  if (assistant_ui_model_.visibility() == AssistantVisibility::kClosed)
+  if (model_.visibility() == AssistantVisibility::kClosed)
     return;
 
-  assistant_ui_model_.SetVisibility(AssistantVisibility::kClosed, source);
+  model_.SetVisibility(AssistantVisibility::kClosed, source);
 
   if (container_view_) {
     container_view_->GetWidget()->CloseNow();
@@ -298,13 +302,13 @@
 
 void AssistantUiController::ToggleUi(AssistantSource source) {
   // When not visible, toggling will show the UI.
-  if (assistant_ui_model_.visibility() != AssistantVisibility::kVisible) {
+  if (model_.visibility() != AssistantVisibility::kVisible) {
     ShowUi(source);
     return;
   }
 
   // When in mini state, toggling will restore the main UI.
-  if (assistant_ui_model_.ui_mode() == AssistantUiMode::kMiniUi) {
+  if (model_.ui_mode() == AssistantUiMode::kMiniUi) {
     UpdateUiMode(AssistantUiMode::kMainUi);
     return;
   }
@@ -318,7 +322,7 @@
   // If a UI mode is provided, we will use it in lieu of updating UI mode on the
   // basis of interaction/widget visibility state.
   if (ui_mode.has_value()) {
-    assistant_ui_model_.SetUiMode(ui_mode.value());
+    model_.SetUiMode(ui_mode.value());
     return;
   }
 
@@ -328,9 +332,9 @@
 
   // When stylus input modality is selected, we should be in mini UI mode.
   // Otherwise we fall back to main UI mode.
-  assistant_ui_model_.SetUiMode(input_modality == InputModality::kStylus
-                                    ? AssistantUiMode::kMiniUi
-                                    : AssistantUiMode::kMainUi);
+  model_.SetUiMode(input_modality == InputModality::kStylus
+                       ? AssistantUiMode::kMiniUi
+                       : AssistantUiMode::kMainUi);
 }
 
 AssistantContainerView* AssistantUiController::GetViewForTest() {
diff --git a/ash/assistant/assistant_ui_controller.h b/ash/assistant/assistant_ui_controller.h
index b4919b1d..715ef62 100644
--- a/ash/assistant/assistant_ui_controller.h
+++ b/ash/assistant/assistant_ui_controller.h
@@ -57,7 +57,7 @@
   void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
 
   // Returns the underlying model.
-  const AssistantUiModel* model() const { return &assistant_ui_model_; }
+  const AssistantUiModel* model() const { return &model_; }
 
   // Adds/removes the specified model |observer|.
   void AddModelObserver(AssistantUiModelObserver* observer);
@@ -119,7 +119,7 @@
   // Owned by AssistantController.
   chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
 
-  AssistantUiModel assistant_ui_model_;
+  AssistantUiModel model_;
 
   AssistantContainerView* container_view_ =
       nullptr;  // Owned by view hierarchy.
diff --git a/ash/assistant/ui/dialog_plate/dialog_plate.cc b/ash/assistant/ui/dialog_plate/dialog_plate.cc
index c24ff1af..a697326 100644
--- a/ash/assistant/ui/dialog_plate/dialog_plate.cc
+++ b/ash/assistant/ui/dialog_plate/dialog_plate.cc
@@ -100,14 +100,6 @@
   return kPreferredHeightDip;
 }
 
-void DialogPlate::ChildPreferredSizeChanged(views::View* child) {
-  PreferredSizeChanged();
-}
-
-void DialogPlate::ChildVisibilityChanged(views::View* child) {
-  PreferredSizeChanged();
-}
-
 void DialogPlate::ButtonPressed(views::Button* sender, const ui::Event& event) {
   OnButtonPressed(static_cast<DialogPlateButtonId>(sender->id()));
 }
diff --git a/ash/assistant/ui/dialog_plate/dialog_plate.h b/ash/assistant/ui/dialog_plate/dialog_plate.h
index d58e981a..744aa98 100644
--- a/ash/assistant/ui/dialog_plate/dialog_plate.h
+++ b/ash/assistant/ui/dialog_plate/dialog_plate.h
@@ -75,8 +75,6 @@
   // views::View:
   gfx::Size CalculatePreferredSize() const override;
   int GetHeightForWidth(int width) const override;
-  void ChildPreferredSizeChanged(views::View* child) override;
-  void ChildVisibilityChanged(views::View* child) override;
   void RequestFocus() override;
 
   // ButtonListener:
diff --git a/ash/assistant/ui/main_stage/assistant_footer_view.cc b/ash/assistant/ui/main_stage/assistant_footer_view.cc
index ce609bf..1ab8c63 100644
--- a/ash/assistant/ui/main_stage/assistant_footer_view.cc
+++ b/ash/assistant/ui/main_stage/assistant_footer_view.cc
@@ -67,14 +67,6 @@
   return kPreferredHeightDip;
 }
 
-void AssistantFooterView::ChildPreferredSizeChanged(views::View* child) {
-  PreferredSizeChanged();
-}
-
-void AssistantFooterView::ChildVisibilityChanged(views::View* child) {
-  PreferredSizeChanged();
-}
-
 void AssistantFooterView::InitLayout() {
   SetLayoutManager(std::make_unique<views::FillLayout>());
 
diff --git a/ash/assistant/ui/main_stage/assistant_footer_view.h b/ash/assistant/ui/main_stage/assistant_footer_view.h
index e26afb0..0f9604e3 100644
--- a/ash/assistant/ui/main_stage/assistant_footer_view.h
+++ b/ash/assistant/ui/main_stage/assistant_footer_view.h
@@ -31,8 +31,6 @@
   // views::View:
   gfx::Size CalculatePreferredSize() const override;
   int GetHeightForWidth(int width) const override;
-  void ChildPreferredSizeChanged(views::View* child) override;
-  void ChildVisibilityChanged(views::View* child) override;
 
   // mojom::VoiceInteractionObserver:
   void OnVoiceInteractionStatusChanged(
diff --git a/ash/assistant/util/deep_link_util.cc b/ash/assistant/util/deep_link_util.cc
index 41e17b8b..2457381 100644
--- a/ash/assistant/util/deep_link_util.cc
+++ b/ash/assistant/util/deep_link_util.cc
@@ -6,6 +6,7 @@
 
 #include <set>
 
+#include "base/i18n/rtl.h"
 #include "base/stl_util.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
@@ -37,9 +38,9 @@
 
 // TODO(b/113357196): Make these URLs configurable for development purposes.
 constexpr char kAssistantRemindersWebUrl[] =
-    "https://assistant.google.com/reminders/mainview";
+    "https://assistant.google.com/reminders/mainview?hl=";
 constexpr char kAssistantSettingsWebUrl[] =
-    "https://assistant.google.com/settings/mainpage";
+    "https://assistant.google.com/settings/mainpage?hl=";
 
 }  // namespace
 
@@ -141,9 +142,10 @@
 
   switch (type) {
     case DeepLinkType::kReminders:
-      return GURL(kAssistantRemindersWebUrl);
+      return GURL(kAssistantRemindersWebUrl +
+                  base::i18n::GetConfiguredLocale());
     case DeepLinkType::kSettings:
-      return GURL(kAssistantSettingsWebUrl);
+      return GURL(kAssistantSettingsWebUrl + base::i18n::GetConfiguredLocale());
     case DeepLinkType::kUnsupported:
     case DeepLinkType::kFeedback:
     case DeepLinkType::kOnboarding:
diff --git a/ash/public/interfaces/voice_interaction_controller.mojom b/ash/public/interfaces/voice_interaction_controller.mojom
index 203e3de..c4990eb 100644
--- a/ash/public/interfaces/voice_interaction_controller.mojom
+++ b/ash/public/interfaces/voice_interaction_controller.mojom
@@ -44,7 +44,9 @@
   // Disallowed because incognito mode.
   DISALLOWED_BY_INCOGNITO,
   // Disallowed because the device is in demo mode.
-  DISALLOWED_BY_DEMO_MODE
+  DISALLOWED_BY_DEMO_MODE,
+  // Disallowed because the device is in public session.
+  DISALLOWED_BY_PUBLIC_SESSION
 };
 
 // Allows observing changes to voice interaction status and settings.
diff --git a/ash/system/status_area_widget_delegate.cc b/ash/system/status_area_widget_delegate.cc
index 405b9b0..dba6fabb 100644
--- a/ash/system/status_area_widget_delegate.cc
+++ b/ash/system/status_area_widget_delegate.cc
@@ -29,6 +29,8 @@
 
 constexpr int kPaddingFromEdgeOfShelf = 3;
 
+constexpr int kPaddingBetweenWidgetsNewUi = 8;
+
 class StatusAreaWidgetDelegateAnimationSettings
     : public ui::ScopedLayerAnimationSettings {
  public:
@@ -194,20 +196,24 @@
 
 void StatusAreaWidgetDelegate::SetBorderOnChild(views::View* child,
                                                 bool extend_border_to_edge) {
-  const int padding = (ShelfConstants::shelf_size() - kTrayItemSize) / 2;
+  const int vertical_padding =
+      (ShelfConstants::shelf_size() - kTrayItemSize) / 2;
 
   // Edges for horizontal alignment (right-to-left, default).
-  int top_edge = padding;
+  int top_edge = vertical_padding;
   int left_edge = 0;
-  int bottom_edge = padding;
+  int bottom_edge = vertical_padding;
   int right_edge =
       !features::IsSystemTrayUnifiedEnabled() && extend_border_to_edge
           ? kPaddingFromEdgeOfShelf
           : 0;
   // In the new UI, since all corners are rounded, add some extra space so that
-  // borders don't overlap.
-  if (chromeos::switches::ShouldUseShelfNewUi())
-    right_edge += ShelfConstants::control_border_radius() / 3;
+  // borders don't overlap. This padding between items also takes care of
+  // padding at the edge of the shelf.
+  if (chromeos::switches::ShouldUseShelfNewUi()) {
+    right_edge = kPaddingBetweenWidgetsNewUi;
+    left_edge = 0;
+  }
 
   // Swap edges if alignment is not horizontal (bottom-to-top).
   if (!shelf_->IsHorizontalAlignment()) {
diff --git a/ash/test/ash_test_helper.cc b/ash/test/ash_test_helper.cc
index 9e9e43b..00c1a47e 100644
--- a/ash/test/ash_test_helper.cc
+++ b/ash/test/ash_test_helper.cc
@@ -30,6 +30,7 @@
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/power_policy_controller.h"
 #include "chromeos/network/network_handler.h"
+#include "components/discardable_memory/public/interfaces/discardable_shared_memory_manager.mojom.h"
 #include "components/prefs/testing_pref_service.h"
 #include "device/bluetooth/bluetooth_adapter_factory.h"
 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
@@ -39,6 +40,8 @@
 #include "services/service_manager/public/cpp/connector.h"
 #include "services/service_manager/public/cpp/identity.h"
 #include "services/service_manager/public/cpp/service.h"
+#include "services/ws/public/cpp/host/gpu_interface_provider.h"
+#include "services/ws/public/mojom/gpu.mojom.h"
 #include "services/ws/window_service.h"
 #include "ui/aura/env.h"
 #include "ui/aura/input_state_lookup.h"
@@ -65,6 +68,41 @@
 
 namespace ash {
 
+// An implementation of GpuInterfaceProvider that queues up requests for
+// interfaces. The requests are never actually bound, but are kept alive to
+// ensure the requestor doesn't detect a close and try to exit.
+class TestGpuInterfaceProvider : public ws::GpuInterfaceProvider {
+ public:
+  TestGpuInterfaceProvider() = default;
+  ~TestGpuInterfaceProvider() override = default;
+
+  // ws::GpuInterfaceProvider:
+  void RegisterGpuInterfaces(
+      service_manager::BinderRegistry* registry) override {
+    registry->AddInterface(base::BindRepeating(
+        &TestGpuInterfaceProvider::BindDiscardableSharedMemoryManager,
+        base::Unretained(this)));
+    registry->AddInterface(base::BindRepeating(
+        &TestGpuInterfaceProvider::BindGpuRequest, base::Unretained(this)));
+  }
+  void RegisterOzoneGpuInterfaces(
+      service_manager::BinderRegistry* registry) override {}
+
+ private:
+  void BindDiscardableSharedMemoryManager(
+      discardable_memory::mojom::DiscardableSharedMemoryManagerRequest
+          request) {
+    request_handles_.push_back(request.PassMessagePipe());
+  }
+  void BindGpuRequest(ws::mojom::GpuRequest request) {
+    request_handles_.push_back(request.PassMessagePipe());
+  }
+
+  std::vector<mojo::ScopedMessagePipeHandle> request_handles_;
+
+  DISALLOW_COPY_AND_ASSIGN(TestGpuInterfaceProvider);
+};
+
 // TODO(sky): refactor and move to services.
 class TestConnector : public service_manager::mojom::Connector {
  public:
@@ -268,9 +306,8 @@
       new TestSessionControllerClient(shell->session_controller()));
   session_controller_client_->InitializeAndBind();
 
-  if (start_session) {
+  if (start_session)
     session_controller_client_->CreatePredefinedUserSessions(1);
-  }
 
   // Tests that change the display configuration generally don't care about
   // the notifications and the popup UI can interfere with things like
@@ -321,6 +358,15 @@
 
   ui::TerminateContextFactoryForTests();
 
+  // ui::TerminateContextFactoryForTests() destroyed the context factory (and
+  // context factory private) referenced by Env. Reset Env's members in case
+  // some other test tries to use it. This matters if someone else created Env
+  // (such as the test suite) and is long lived.
+  if (aura::Env::HasInstance()) {
+    aura::Env::GetInstance()->set_context_factory(nullptr);
+    aura::Env::GetInstance()->set_context_factory_private(nullptr);
+  }
+
   ui::ShutdownInputMethodForTesting();
   zero_duration_mode_.reset();
 
@@ -392,6 +438,8 @@
   init_params.delegate.reset(test_shell_delegate_);
   init_params.context_factory = context_factory;
   init_params.context_factory_private = context_factory_private;
+  init_params.gpu_interface_provider =
+      std::make_unique<TestGpuInterfaceProvider>();
   Shell::CreateInstance(std::move(init_params));
 }
 
diff --git a/ash/wm/workspace/workspace_event_handler.cc b/ash/wm/workspace/workspace_event_handler.cc
index 69932ed..1ef7bc0 100644
--- a/ash/wm/workspace/workspace_event_handler.cc
+++ b/ash/wm/workspace/workspace_event_handler.cc
@@ -16,12 +16,18 @@
 
 namespace ash {
 
-WorkspaceEventHandler::WorkspaceEventHandler() : click_component_(HTNOWHERE) {}
+WorkspaceEventHandler::WorkspaceEventHandler(aura::Window* workspace_window)
+    : workspace_window_(workspace_window), click_component_(HTNOWHERE) {
+  // TODO(crbug.com/866529): Convert to AddPreTargetHandler.
+  wm::AddLimitedPreTargetHandlerForWindow(this, workspace_window_);
+}
 
-WorkspaceEventHandler::~WorkspaceEventHandler() = default;
+WorkspaceEventHandler::~WorkspaceEventHandler() {
+  wm::RemoveLimitedPreTargetHandlerForWindow(this, workspace_window_);
+}
 
-void WorkspaceEventHandler::OnMouseEvent(ui::MouseEvent* event,
-                                         aura::Window* target) {
+void WorkspaceEventHandler::OnMouseEvent(ui::MouseEvent* event) {
+  aura::Window* target = static_cast<aura::Window*>(event->target());
   if (event->type() == ui::ET_MOUSE_PRESSED && event->IsOnlyLeftMouseButton() &&
       ((event->flags() & (ui::EF_IS_DOUBLE_CLICK | ui::EF_IS_TRIPLE_CLICK)) ==
        0)) {
@@ -70,11 +76,11 @@
   }
 }
 
-void WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event,
-                                           aura::Window* target) {
+void WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event) {
   if (event->handled() || event->type() != ui::ET_GESTURE_TAP)
     return;
 
+  aura::Window* target = static_cast<aura::Window*>(event->target());
   int previous_target_component = click_component_;
   click_component_ = wm::GetNonClientComponent(target, event->location());
 
diff --git a/ash/wm/workspace/workspace_event_handler.h b/ash/wm/workspace/workspace_event_handler.h
index 5c94d04..dc3018d 100644
--- a/ash/wm/workspace/workspace_event_handler.h
+++ b/ash/wm/workspace/workspace_event_handler.h
@@ -8,6 +8,7 @@
 #include "ash/ash_export.h"
 #include "ash/wm/workspace/multi_window_resize_controller.h"
 #include "base/macros.h"
+#include "ui/events/event_handler.h"
 
 namespace aura {
 class Window;
@@ -25,17 +26,16 @@
 class WindowState;
 }
 
-// ui::EventHandler like class installed on the window associated with
-// WorkspaceLayoutManager. This handles various events happening on child
-// windows and takes appropriate action. It is expected the environment specific
-// file calls OnMouseEvent()/OnGestureEvent() as appropriate.
-class ASH_EXPORT WorkspaceEventHandler {
+// Handles events on workspace windows, such as double-click on the resize edge
+// to maximize in one dimension.
+class ASH_EXPORT WorkspaceEventHandler : public ui::EventHandler {
  public:
-  WorkspaceEventHandler();
-  virtual ~WorkspaceEventHandler();
+  explicit WorkspaceEventHandler(aura::Window* workspace_window);
+  ~WorkspaceEventHandler() override;
 
-  void OnMouseEvent(ui::MouseEvent* event, aura::Window* target);
-  void OnGestureEvent(ui::GestureEvent* event, aura::Window* target);
+  // ui::EventHandler:
+  void OnMouseEvent(ui::MouseEvent* event) override;
+  void OnGestureEvent(ui::GestureEvent* event) override;
 
  private:
   friend class WorkspaceEventHandlerTestHelper;
@@ -47,6 +47,8 @@
   void HandleVerticalResizeDoubleClick(wm::WindowState* window_state,
                                        ui::MouseEvent* event);
 
+  aura::Window* workspace_window_;
+
   MultiWindowResizeController multi_window_resize_controller_;
 
   // The non-client component for the target of a MouseEvent or GestureEvent.
diff --git a/ash/wm/workspace/workspace_event_handler_classic.cc b/ash/wm/workspace/workspace_event_handler_classic.cc
deleted file mode 100644
index cb5a233..0000000
--- a/ash/wm/workspace/workspace_event_handler_classic.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 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 "ash/wm/workspace/workspace_event_handler_classic.h"
-
-#include "ash/wm/window_util.h"
-#include "ui/aura/window.h"
-#include "ui/events/event.h"
-
-namespace ash {
-
-WorkspaceEventHandlerClassic::WorkspaceEventHandlerClassic(
-    aura::Window* workspace_window)
-    : workspace_window_(workspace_window) {
-  wm::AddLimitedPreTargetHandlerForWindow(this, workspace_window_);
-}
-
-WorkspaceEventHandlerClassic::~WorkspaceEventHandlerClassic() {
-  wm::RemoveLimitedPreTargetHandlerForWindow(this, workspace_window_);
-}
-
-void WorkspaceEventHandlerClassic::OnMouseEvent(ui::MouseEvent* event) {
-  WorkspaceEventHandler::OnMouseEvent(
-      event, static_cast<aura::Window*>(event->target()));
-}
-
-void WorkspaceEventHandlerClassic::OnGestureEvent(ui::GestureEvent* event) {
-  WorkspaceEventHandler::OnGestureEvent(
-      event, static_cast<aura::Window*>(event->target()));
-}
-
-}  // namespace ash
diff --git a/ash/wm/workspace/workspace_event_handler_classic.h b/ash/wm/workspace/workspace_event_handler_classic.h
deleted file mode 100644
index 9e77d09..0000000
--- a/ash/wm/workspace/workspace_event_handler_classic.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 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.
-
-#ifndef ASH_WM_WORKSPACE_WORKSPACE_EVENT_HANDLER_CLASSIC_H_
-#define ASH_WM_WORKSPACE_WORKSPACE_EVENT_HANDLER_CLASSIC_H_
-
-#include "ash/ash_export.h"
-#include "ash/wm/workspace/workspace_event_handler.h"
-#include "base/macros.h"
-#include "ui/events/event_handler.h"
-
-namespace aura {
-class Window;
-}
-
-namespace ash {
-
-// TODO: fold this back into WorkspaceEventHandler. https://crbug.com/842365
-class ASH_EXPORT WorkspaceEventHandlerClassic : public ui::EventHandler,
-                                                public WorkspaceEventHandler {
- public:
-  explicit WorkspaceEventHandlerClassic(aura::Window* workspace_window);
-  ~WorkspaceEventHandlerClassic() override;
-
-  // ui::EventHandler:
-  void OnMouseEvent(ui::MouseEvent* event) override;
-  void OnGestureEvent(ui::GestureEvent* event) override;
-
- private:
-  aura::Window* workspace_window_;
-
-  DISALLOW_COPY_AND_ASSIGN(WorkspaceEventHandlerClassic);
-};
-
-}  // namespace ash
-
-#endif  // ASH_WM_WORKSPACE_WORKSPACE_EVENT_HANDLER_CLASSIC_H_
diff --git a/ash/wm/workspace_controller.cc b/ash/wm/workspace_controller.cc
index bb72fff6..2a9feda9 100644
--- a/ash/wm/workspace_controller.cc
+++ b/ash/wm/workspace_controller.cc
@@ -16,7 +16,7 @@
 #include "ash/wm/wm_window_animations.h"
 #include "ash/wm/workspace/backdrop_controller.h"
 #include "ash/wm/workspace/backdrop_delegate.h"
-#include "ash/wm/workspace/workspace_event_handler_classic.h"
+#include "ash/wm/workspace/workspace_event_handler.h"
 #include "ash/wm/workspace/workspace_layout_manager.h"
 #include "ui/aura/window.h"
 #include "ui/compositor/layer.h"
@@ -37,7 +37,7 @@
 
 WorkspaceController::WorkspaceController(aura::Window* viewport)
     : viewport_(viewport),
-      event_handler_(std::make_unique<WorkspaceEventHandlerClassic>(viewport)),
+      event_handler_(std::make_unique<WorkspaceEventHandler>(viewport)),
       layout_manager_(new WorkspaceLayoutManager(viewport)) {
   viewport_->AddObserver(this);
   ::wm::SetWindowVisibilityAnimationTransition(viewport_, ::wm::ANIMATE_NONE);
diff --git a/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java b/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java
index bfa5d5c..765e7eb6 100644
--- a/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java
+++ b/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java
@@ -152,13 +152,15 @@
         }
     }
 
-    // Synchronize on this for access.
-    @GuardedBy("sAllBindingStateCounts")
+    // Global lock to protect all the fields that can be accessed outside launcher thread.
+    private static final Object sBindingStateLock = new Object();
+
+    @GuardedBy("sBindingStateLock")
     private static final int[] sAllBindingStateCounts = new int[NUM_BINDING_STATES];
 
     @VisibleForTesting
     static void resetBindingStateCountsForTesting() {
-        synchronized (sAllBindingStateCounts) {
+        synchronized (sBindingStateLock) {
             for (int i = 0; i < NUM_BINDING_STATES; ++i) {
                 sAllBindingStateCounts[i] = 0;
             }
@@ -236,21 +238,19 @@
     private boolean mUnbound;
 
     // Binding state of this connection.
+    @GuardedBy("sBindingStateLock")
     private @ChildBindingState int mBindingState;
 
-    // Protects access to instance variables that are also accessed on the client thread.
-    private final Object mClientThreadLock = new Object();
-
     // Same as above except it no longer updates after |unbind()|.
-    @GuardedBy("mClientThreadLock")
+    @GuardedBy("sBindingStateLock")
     private @ChildBindingState int mBindingStateCurrentOrWhenDied;
 
     // Indicate |kill()| was called to intentionally kill this process.
-    @GuardedBy("mClientThreadLock")
+    @GuardedBy("sBindingStateLock")
     private boolean mKilledByUs;
 
     // Copy of |sAllBindingStateCounts| at the time this is unbound.
-    @GuardedBy("mClientThreadLock")
+    @GuardedBy("sBindingStateLock")
     private int[] mAllBindingStateCountsWhenDied;
 
     private MemoryPressureCallback mMemoryPressureCallback;
@@ -423,7 +423,7 @@
         } catch (RemoteException e) {
             // Intentionally ignore since we are killing it anyway.
         }
-        synchronized (mClientThreadLock) {
+        synchronized (sBindingStateLock) {
             mKilledByUs = true;
         }
         notifyChildProcessDied();
@@ -572,12 +572,9 @@
         mModerateBinding.unbind();
         updateBindingState();
 
-        int[] bindingStateCounts;
-        synchronized (sAllBindingStateCounts) {
-            bindingStateCounts = Arrays.copyOf(sAllBindingStateCounts, NUM_BINDING_STATES);
-        }
-        synchronized (mClientThreadLock) {
-            mAllBindingStateCountsWhenDied = bindingStateCounts;
+        synchronized (sBindingStateLock) {
+            mAllBindingStateCountsWhenDied =
+                    Arrays.copyOf(sAllBindingStateCounts, NUM_BINDING_STATES);
         }
 
         if (mMemoryPressureCallback != null) {
@@ -659,7 +656,7 @@
         // WARNING: this method can be called from a thread other than the launcher thread.
         // Note that it returns the current waived bound only state and is racy. This not really
         // preventable without changing the caller's API, short of blocking.
-        synchronized (mClientThreadLock) {
+        synchronized (sBindingStateLock) {
             return mBindingStateCurrentOrWhenDied;
         }
     }
@@ -671,53 +668,62 @@
         // WARNING: this method can be called from a thread other than the launcher thread.
         // Note that it returns the current waived bound only state and is racy. This not really
         // preventable without changing the caller's API, short of blocking.
-        synchronized (mClientThreadLock) {
+        synchronized (sBindingStateLock) {
             return mKilledByUs;
         }
     }
 
-    public int[] bindingStateCountsCurrentOrWhenDied() {
+    /**
+     * Returns the binding state of remaining processes, excluding the current connection.
+     *
+     * If the current process is dead then returns the binding state of all processes when it died.
+     * Otherwise returns current state.
+     */
+    public int[] remainingBindingStateCountsCurrentOrWhenDied() {
         // WARNING: this method can be called from a thread other than the launcher thread.
         // Note that it returns the current waived bound only state and is racy. This not really
         // preventable without changing the caller's API, short of blocking.
-        synchronized (mClientThreadLock) {
+        synchronized (sBindingStateLock) {
             if (mAllBindingStateCountsWhenDied != null) {
                 return Arrays.copyOf(mAllBindingStateCountsWhenDied, NUM_BINDING_STATES);
             }
-        }
-        synchronized (sAllBindingStateCounts) {
-            return Arrays.copyOf(sAllBindingStateCounts, NUM_BINDING_STATES);
+
+            int[] counts = Arrays.copyOf(sAllBindingStateCounts, NUM_BINDING_STATES);
+            // If current process is still bound then remove it from the counts.
+            if (mBindingState != ChildBindingState.UNBOUND) {
+                assert counts[mBindingState] > 0;
+                counts[mBindingState]--;
+            }
+            return counts;
         }
     }
 
     // Should be called any binding is bound or unbound.
     private void updateBindingState() {
-        int oldBindingState = mBindingState;
+        int newBindingState;
         if (mUnbound) {
-            mBindingState = ChildBindingState.UNBOUND;
+            newBindingState = ChildBindingState.UNBOUND;
         } else if (mStrongBinding.isBound()) {
-            mBindingState = ChildBindingState.STRONG;
+            newBindingState = ChildBindingState.STRONG;
         } else if (mModerateBinding.isBound()) {
-            mBindingState = ChildBindingState.MODERATE;
+            newBindingState = ChildBindingState.MODERATE;
         } else {
             assert mWaivedBinding.isBound();
-            mBindingState = ChildBindingState.WAIVED;
+            newBindingState = ChildBindingState.WAIVED;
         }
 
-        if (mBindingState != oldBindingState) {
-            synchronized (sAllBindingStateCounts) {
-                if (oldBindingState != ChildBindingState.UNBOUND) {
-                    assert sAllBindingStateCounts[oldBindingState] > 0;
-                    sAllBindingStateCounts[oldBindingState]--;
-                }
+        synchronized (sBindingStateLock) {
+            if (newBindingState != mBindingState) {
                 if (mBindingState != ChildBindingState.UNBOUND) {
-                    sAllBindingStateCounts[mBindingState]++;
+                    assert sAllBindingStateCounts[mBindingState] > 0;
+                    sAllBindingStateCounts[mBindingState]--;
+                }
+                if (newBindingState != ChildBindingState.UNBOUND) {
+                    sAllBindingStateCounts[newBindingState]++;
                 }
             }
-        }
-
-        if (!mUnbound) {
-            synchronized (mClientThreadLock) {
+            mBindingState = newBindingState;
+            if (!mUnbound) {
                 mBindingStateCurrentOrWhenDied = mBindingState;
             }
         }
diff --git a/base/android/junit/src/org/chromium/base/process_launcher/ChildProcessConnectionTest.java b/base/android/junit/src/org/chromium/base/process_launcher/ChildProcessConnectionTest.java
index 95474ea..a12d50d 100644
--- a/base/android/junit/src/org/chromium/base/process_launcher/ChildProcessConnectionTest.java
+++ b/base/android/junit/src/org/chromium/base/process_launcher/ChildProcessConnectionTest.java
@@ -368,19 +368,19 @@
         mFirstServiceConnection = null;
 
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 0, 0});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 0, 0});
 
         connection0.start(false /* useStrongBinding */, null /* serviceCallback */);
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 0});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 0, 0});
 
         connection1.start(true /* useStrongBinding */, null /* serviceCallback */);
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 0, 1});
 
         connection2.start(false /* useStrongBinding */, null /* serviceCallback */);
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 2, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
 
         Binder binder0 = new Binder();
         Binder binder1 = new Binder();
@@ -396,30 +396,30 @@
         // Add and remove moderate binding works as expected.
         connection2.removeModerateBinding();
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 1, 1, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 1, 0, 1});
         connection2.addModerateBinding();
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 2, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
 
         // Add and remove strong binding works as expected.
         connection0.addStrongBinding();
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 2});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
         connection0.removeStrongBinding();
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 2, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
 
         // Stopped connection should no longe update.
         connection0.stop();
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
         assertArrayEquals(
-                connection1.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
+                connection1.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 0});
 
         connection2.removeModerateBinding();
         assertArrayEquals(
-                connection0.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
+                connection0.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 0, 1, 1});
         assertArrayEquals(
-                connection1.bindingStateCountsCurrentOrWhenDied(), new int[] {0, 1, 0, 1});
+                connection1.remainingBindingStateCountsCurrentOrWhenDied(), new int[] {0, 1, 0, 0});
     }
 }
diff --git a/base/win/win_util.cc b/base/win/win_util.cc
index 7f9cc50a..4628713 100644
--- a/base/win/win_util.cc
+++ b/base/win/win_util.cc
@@ -121,6 +121,29 @@
   return false;
 }
 
+// Enable V2 per-monitor high-DPI support for the process. This will cause
+// Windows to scale dialogs, comctl32 controls, context menus, and non-client
+// area owned by this process on a per-monitor basis. If per-monitor V2 is not
+// available (i.e., prior to Windows 10 1703) or fails, returns false.
+// https://docs.microsoft.com/en-us/windows/desktop/hidpi/dpi-awareness-context
+bool EnablePerMonitorV2() {
+  decltype(
+      &::SetProcessDpiAwarenessContext) set_process_dpi_awareness_context_func =
+      reinterpret_cast<decltype(&::SetProcessDpiAwarenessContext)>(
+          ::GetProcAddress(::GetModuleHandle(L"user32.dll"),
+                           "SetProcessDpiAwarenessContext"));
+  if (set_process_dpi_awareness_context_func) {
+    return set_process_dpi_awareness_context_func(
+        DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
+  }
+
+  DCHECK_LT(GetVersion(), VERSION_WIN10_RS2)
+      << "SetProcessDpiAwarenessContext should be available on all platforms"
+         " >= Windows 10 Redstone 2";
+
+  return false;
+}
+
 bool* GetDomainEnrollmentStateStorage() {
   static bool state = IsOS(OS_DOMAINMEMBER);
   return &state;
@@ -685,9 +708,13 @@
 }
 
 void EnableHighDPISupport() {
-  // Enable per-monitor DPI for Win10 or above instead of Win8.1 since Win8.1
-  // does not have EnableChildWindowDpiMessage, necessary for correct non-client
-  // area scaling across monitors.
+  // Enable per-monitor V2 if it is available (Win10 1703 or later).
+  if (EnablePerMonitorV2())
+    return;
+
+  // Fall back to per-monitor DPI for older versions of Win10 instead of Win8.1
+  // since Win8.1 does not have EnableChildWindowDpiMessage, necessary for
+  // correct non-client area scaling across monitors.
   PROCESS_DPI_AWARENESS process_dpi_awareness =
       GetVersion() >= VERSION_WIN10 ? PROCESS_PER_MONITOR_DPI_AWARE
                                     : PROCESS_SYSTEM_DPI_AWARE;
diff --git a/build/README.md b/build/README.md
new file mode 100644
index 0000000..47e059db
--- /dev/null
+++ b/build/README.md
@@ -0,0 +1,30 @@
+# About
+`//build` contains:
+ * Core GN templates and configuration
+ * Core Python build scripts
+
+Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium,
+v8, etc), it should be kept as self-contained as possible by not referring
+to files outside of it. Some exceptions exist (`//testing`, select
+`//third_party` subdirectories), but new dependencies tend to break these other
+projects, and so should be avoided.
+
+## Contents
+ * `//build/config` - Common templates via `.gni` files.
+ * `//build/toolchain` - GN toolchain definitions.
+ * `Other .py files` - Some are used by GN/Ninja. Some by gclient hooks, some
+   are just random utilities.
+
+Files referenced by `//.gn`:
+ * `//build/BUILDCONFIG.gn` - Included by all `BUILD.gn` files.
+ * `//build/secondary` - An overlay for `BUILD.gn` files. Enables adding
+   `BUILD.gn` to directories that live in sub-repositories.
+ * `//build_overrides` -
+   Refer to [//build_overrides/README.md](../build_overrides/README.md).
+
+## Docs
+
+* [Writing GN Templates](docs/writing_gn_templates.md)
+* [Debugging Slow Builds](docs/debugging_slow_builds.md)
+* [Mac Hermetic Toolchains](docs/mac_hermetic_toolchain.md)
+* [Android Build Documentation](android/docs)
diff --git a/build/config/fuchsia/testing_sandbox_policy b/build/config/fuchsia/testing_sandbox_policy
index e3a67a08..8dbc3eae 100644
--- a/build/config/fuchsia/testing_sandbox_policy
+++ b/build/config/fuchsia/testing_sandbox_policy
@@ -3,7 +3,7 @@
       "vulkan" ],
   "dev": ["null", "zero"],
   "services": [
-      "fuchsia.fonts.FontProvider",
+      "fuchsia.fonts.Provider",
       "fuchsia.media.Audio",
       "fuchsia.net.LegacySocketProvider",
       "fuchsia.netstack.Netstack",
diff --git a/build/docs/debugging_slow_builds.md b/build/docs/debugging_slow_builds.md
new file mode 100644
index 0000000..315690c
--- /dev/null
+++ b/build/docs/debugging_slow_builds.md
@@ -0,0 +1,19 @@
+# Debugging slow builds
+
+Some tips for debugging slow build times:
+* Use [ninjatracing](https://github.com/nico/ninjatracing) and chrome:tracing to
+  view a timeline of the most recent build.
+  * Many bots output a build trace (look for a `"ninja_log"` link).
+* Use `gn gen --tracelog trace.json` to create a similar trace for `gn gen`.
+* Depot Tool's `autoninja` has logic for summarizing slow steps. Enable it via:
+  * `NINJA_SUMMARIZE_BUILD=1 autoninja -C out/Debug my_target`
+* Many Android templates make use of
+  [`md5_check.py`](https://cs.chromium.org/chromium/src/build/android/gyp/util/md5_check.py)
+  to optimize incremental builds.
+  * Set `PRINT_BUILD_EXPLANATIONS=1` to have these commands log which inputs
+    changed.
+* If you suspect files are being rebuilt unnecessarily during incremental
+  builds:
+  * Use `ninja -n -d explain` to figure out why ninja thinks a target is dirty.
+  * Ensure actions are taking advantage of ninja's `restat=1` feature by not
+    updating timestamps on outputs when their content does not change.
diff --git a/build/docs/writing_gn_templates.md b/build/docs/writing_gn_templates.md
new file mode 100644
index 0000000..95ffadff
--- /dev/null
+++ b/build/docs/writing_gn_templates.md
@@ -0,0 +1,226 @@
+# Writing GN Templates
+GN and Ninja are documented here:
+* GN: https://gn.googlesource.com/gn/+/master/docs/
+* Ninja: https://ninja-build.org/manual.html
+
+[TOC]
+
+## Things to Consider When Writing Templates
+### Inputs and Depfiles
+* List all files read (or executed) by an action as `inputs`.
+  * It is [not enough](https://chromium-review.googlesource.com/c/chromium/src/+/1090231)
+    to have inputs listed by dependent targets. They must be listed directly by targets that use them.
+  * Non-system Python imports are inputs! For scripts that import such modules,
+    use [`action_with_pydeps`](https://cs.chromium.org/chromium/src/build/config/python.gni?rcl=320ee4295eb7fabaa112f08d1aacc88efd1444e5&l=75)
+    to ensure all dependent Python files are captured as inputs.
+* For action inputs that are not computable during "gn gen", actions can write
+  depfiles (.d files) to add additional input files as dependencies for
+  subsequent builds. They are relevant only for incremental builds.
+  * Depfiles should not list files that GN already lists as `inputs`.
+    * Besides being redundant, listing them also makes it harder to remove
+      inputs, since removing them from GN does not immediately remove them from
+      depfiles.
+    * Stale paths in depfiles can cause ninja to complain of circular
+      dependencies [in some cases](https://bugs.chromium.org/p/chromium/issues/detail?id=639042).
+
+### Ensuring "gn analyze" Knows About your Inputs
+"gn analyze" is used by bots to run only affected tests and build only affected
+targets. Try it out locally via:
+```bash
+echo "compute_inputs_for_analyze = true" >> out/Debug/args.gn
+gn analyze //out/Debug <(echo '{
+    "files": ["//BUILD.gn"],
+    "test_targets": ["//base"],
+    "additional_compile_targets":[]}') result.txt; cat result.txt
+```
+* For analyze to work properly, GN must know about all inputs.
+* Inputs added by depfiles are *not available* to "gn analyze".
+  * When paths listed in a target's depfile are listed as `inputs` to a
+    dependent target, analyze will be correct.
+    * Example: An  `AndroidManifest.xml` file is an input to an
+      `android_library()` and is included in an `android_apk()`'s depfile.
+      `gn analyze` will know that a change to the file will require the APK
+      to be rebuilt, because the file is marked as an input to the library, and
+      the library is a dep of the APK.
+  * When paths listed in a target's depfile are *not* listed as `inputs` to a
+    dependent target, a few options exist:
+    * Rather than putting the inputs in a depfile, force users of your template
+      to list them, and then have your action re-compute them and assert that
+      they were correct.
+      * `jinja_template()` does this.
+    * Rather than putting the inputs in a depfile, compute them beforehand and
+      save them to a text file. Have your template Use `read_file()` to read
+      them in.
+      * `action_with_pydeps()` does this.
+    * Continue using a depfile, but use an `exec_script()` to compute them when
+      [`compute_inputs_for_analyze`](https://cs.chromium.org/chromium/src/build/config/compute_inputs_for_analyze.gni)
+      is set.
+      * `grit()` does this.
+
+### Outputs
+Do not list files as `outputs` unless they are important. Outputs are important
+if they are:
+  * used as an input by another target, or
+  * are leaves in the dependency graph (e.g. binaries, apks, etc).
+
+Example:
+* An action runs a binary that creates an output as well as a log file. Do not
+  list the log file as an output.
+
+## Best Practices for Python Actions
+Outputs should be atomic and take advantage of `restat=1`.
+* Make outputs atomic by writing to temporary files and then moving them to
+  their final location.
+  * Rationale: An interrupted write can leave a file with an updated timestamp
+    and corrupt contents. Ninja looks only at timestamps.
+* Do not overwrite an existing output with identical contents.
+  * Rationale: `restat=1` is a ninja feature enabled for all actions that
+    short-circuits a build when output timestamps do not change. This feature is
+    the reason that the total number of build steps sometimes decreases when
+    building..
+* Use [`build_utils.AtomicOutput()`](https://cs.chromium.org/chromium/src/build/android/gyp/util/build_utils.py?rcl=7d6ba28e92bec865a7b7876c35b4621d56fb37d8&l=128)
+  to perform both of these techniques.
+
+Actions should be deterministic in order to avoid hard-to-reproduce bugs.
+Given identical inputs, they should produce byte-for-byte identical outputs.
+* Some common mistakes:
+  * Depending on filesystem iteration order.
+  * Writing timestamps in files (or in zip entries).
+  * Writing absolute paths in outputs.
+
+## Style Guide
+Chromium GN files follow
+[GN's Style Guide](https://gn.googlesource.com/gn/+/master/docs/style_guide.md)
+with a few additions.
+
+### Action Granularity
+ * Prefer writing new Python scripts that do what you want over
+   composing multiple separate actions within a template.
+   * Fewer targets makes for a simpler build graph.
+   * GN logic and build logic winds up much simpler.
+
+Bad:
+```python
+template("generate_zipped_sources") {
+  generate_files("${target_name}__gen") {
+    ...
+    outputs = [ "$target_gen_dir/$target_name.temp" ]
+  }
+  zip(target_name) {
+    deps = [ ":${target_name}__gen" ]
+    inputs = [ "$target_gen_dir/$target_name.temp" ]
+    outputs = [ invoker.output_zip ]
+  }
+}
+```
+
+Good:
+```python
+template("generate_zipped_sources") {
+  action(target_name) {
+    script = "generate_and_zip.py"
+    ...
+    outputs = [ invoker.output_zip ]
+  }
+}
+```
+
+### Naming for Intermediate Targets
+Targets that are not relevant to users of your template should be named as:
+`${target_name}__$something`.
+
+Example:
+```python
+template("my_template") {
+  action("${target_name}__helper") {
+    ...
+  }
+  action(target_name) {
+    deps = [ ":${target_name}__helper" ]
+    ...
+  }
+}
+```
+
+### Variables
+Prefix variables within templates and targets with an underscore. For example:
+
+```python
+template("example") {
+  _outer_sources = invoker.extra_sources
+
+  source_set(target_name) {
+    _inner_sources = invoker.sources
+    sources = _outer_sources + _inner_sources
+  }
+}
+```
+
+This convention conveys that `sources` is relevant to `source_set`, while
+`_outer_sources`  and `_inner_sources` are not.
+
+### Passing Arguments to Targets
+Pass arguments to targets by assigning them directly within target definitions.
+
+When a GN template goes to resolve `invoker.FOO`, GN will look in all enclosing
+scopes of the target's definition. It is hard to figure out where `invoker.FOO`
+is coming from when it is not assigned directly within the target definition.
+
+Bad:
+```python
+template("hello") {
+  script = "..."
+  action(target_name) {
+    # This action will see "script" from the enclosing scope.
+  }
+}
+```
+
+Good:
+```python
+template("hello") {
+  action(target_name) {
+    script = "..."  # This is equivalent, but much more clear.
+  }
+}
+```
+
+**Exception:** `testonly` and `visibility` can be set in the outer scope so that
+they are implicitly passed to all targets within a template.
+
+This is okay:
+```python
+template("hello") {
+  testonly = true  # Applies to all nested targets.
+  action(target_name) {
+    script = "..."
+  }
+}
+```
+
+### Using forward_variables_from()
+Using `forward_variables_from()` is encouraged, but `testonly` and `visibility`
+should always be listed explicitly in case they are assigned in an enclosing
+scope (applies to the `"*"` variant of `forward_variables_from()`).
+See [this bug](https://bugs.chromium.org/p/chromium/issues/detail?id=862232)
+for more context.
+
+```python
+template("action_wrapper") {
+  action(target_name) {
+    forward_variables_from(invoker, "*", [ "testonly", "visibility" ])
+    forward_variables_from(invoker, [ "testonly", "visibility" ])
+    ...
+  }
+}
+```
+
+## Useful Ninja Flags
+Useful ninja flags when developing build rules:
+* `ninja -v` - log the full command-line of every target.
+* `ninja -v -n` - log the full command-line of every target without having
+  to wait for a build.
+* `ninja -w dupbuild=err` - fail if multiple targets have the same output.
+* `ninja -d keeprsp` - prevent ninja from deleting response files.
+* `ninja -n -d explain` - print why ninja thinks a target is dirty.
+* `ninja -j1` - execute only one command at a time.
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index 2cc6489..6ead596a 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-71a461e9bc9c9f5c9a24d9f580cc0ea7dcfda1c0
\ No newline at end of file
+5e8bc2ea95f5f87583674d5f6ee8fa0241790f47
\ No newline at end of file
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index 87b90bff..96d2934d 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-8be776b3c2a222010e7a7dec81257dcbb11470a4
\ No newline at end of file
+f50929bddbf4b5cd2ea0f1ec1ae1bc93b78d11ac
\ No newline at end of file
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
index 9ce96c1d..817ee9d3 100644
--- a/cc/layers/layer_impl.cc
+++ b/cc/layers/layer_impl.cc
@@ -736,6 +736,11 @@
 
   MathUtil::AddToTracedValue("position", position_, state);
 
+  state->SetInteger("transform_tree_index", transform_tree_index());
+  state->SetInteger("clip_tree_index", clip_tree_index());
+  state->SetInteger("effect_tree_index", effect_tree_index());
+  state->SetInteger("scroll_tree_index", scroll_tree_index());
+
   state->SetInteger("draws_content", DrawsContent());
   state->SetInteger("gpu_memory_usage",
                     base::saturated_cast<int>(GPUMemoryUsageInBytes()));
diff --git a/cc/layers/texture_layer.cc b/cc/layers/texture_layer.cc
index 499b95b7..0b2784b 100644
--- a/cc/layers/texture_layer.cc
+++ b/cc/layers/texture_layer.cc
@@ -18,21 +18,13 @@
 
 namespace cc {
 
-const int TextureLayer::kMaxResourcesWaitingDefault;
-const int TextureLayer::kMaxResourcesWaitingCanvasWebGL;
-
 scoped_refptr<TextureLayer> TextureLayer::CreateForMailbox(
-    TextureLayerClient* client,
-    int max_resources_waiting) {
-  return scoped_refptr<TextureLayer>(
-      new TextureLayer(client, max_resources_waiting));
+    TextureLayerClient* client) {
+  return scoped_refptr<TextureLayer>(new TextureLayer(client));
 }
 
-TextureLayer::TextureLayer(TextureLayerClient* client,
-                           int max_resources_waiting)
-    : client_(client),
-      max_resources_waiting_(max_resources_waiting),
-      weak_ptr_factory_(this) {}
+TextureLayer::TextureLayer(TextureLayerClient* client)
+    : client_(client), weak_ptr_factory_(this) {}
 
 TextureLayer::~TextureLayer() = default;
 
@@ -116,29 +108,6 @@
          resource != holder_ref_->holder()->resource());
   DCHECK_EQ(resource.mailbox_holder.mailbox.IsZero(), !release_callback);
 
-  if (release_callback && max_resources_waiting_) {
-    if (!layer_tree_host()->IsSingleThreaded()) {
-      // In certain test scenarios we have a single threaded compositor where
-      // compositing is forced and we may ignore commit deferral. Don't DCHECK
-      // in these cases.
-      DCHECK_LT(resources_waiting_for_release_, max_resources_waiting_);
-    }
-    ++resources_waiting_for_release_;
-    if (resources_waiting_for_release_ == max_resources_waiting_) {
-      // Add backpressure by blocking RAF until the GPU process returns our
-      // resources. This prevents us from queuing up too WebGL frames at once.
-      // If too many frames are queued latency suffers and the GPU scheduler
-      // might decide to execute two WebGL frames in one browser frame, causing
-      // a framerate hiccup. http://crbug.com/835353
-      DCHECK(!defer_commits_);
-      defer_commits_ = layer_tree_host()->DeferCommits();
-    }
-    // Wrap the release callback to decrement the counter and restore RAF.
-    release_callback = viz::SingleReleaseCallback::Create(base::BindOnce(
-        &TextureLayer::ReleaseAndUpdateWaiting, weak_ptr_factory_.GetWeakPtr(),
-        std::move(release_callback)));
-  }
-
   // If we never commited the mailbox, we need to release it here.
   if (!resource.mailbox_holder.mailbox.IsZero()) {
     holder_ref_ = TransferableResourceHolder::Create(
@@ -177,12 +146,6 @@
     return;
   }
 
-  // If we previously took a DeferCommits, reset it here before we lose the
-  // reference to this LayerTreeHost, and set it on the new LayerTreeHost.
-  if (defer_commits_) {
-    defer_commits_.reset();
-  }
-
   // If we're removed from the tree, the TextureLayerImpl will be destroyed, and
   // we will need to set the mailbox again on a new TextureLayerImpl the next
   // time we push.
@@ -200,12 +163,6 @@
         std::make_move_iterator(registered_bitmaps_.begin()),
         std::make_move_iterator(registered_bitmaps_.end()));
     registered_bitmaps_.clear();
-
-    // If we need to throttle RAF for backpressure, defer commits on the new
-    // LayerTreeHost.
-    if (max_resources_waiting_ &&
-        resources_waiting_for_release_ >= max_resources_waiting_)
-      defer_commits_ = host->DeferCommits();
   }
   Layer::SetLayerTreeHost(host);
 }
@@ -421,23 +378,4 @@
       base::Bind(&TransferableResourceHolder::InternalRelease, this));
 }
 
-// We must take a weak_ptr here (rather than making this a non-static member
-// fn) as the |original_callback| must always be run, whether or not
-// TextureLayer is still alive.
-void TextureLayer::ReleaseAndUpdateWaiting(
-    base::WeakPtr<TextureLayer> weak_texture_layer,
-    std::unique_ptr<viz::SingleReleaseCallback> original_callback,
-    const gpu::SyncToken& sync_token,
-    bool is_lost) {
-  if (auto* texture_layer = weak_texture_layer.get()) {
-    DCHECK_GT(texture_layer->resources_waiting_for_release_, 0);
-    --texture_layer->resources_waiting_for_release_;
-    if (texture_layer->resources_waiting_for_release_ <
-        texture_layer->max_resources_waiting_) {
-      texture_layer->defer_commits_.reset();
-    }
-  }
-  original_callback->Run(sync_token, is_lost);
-}
-
 }  // namespace cc
diff --git a/cc/layers/texture_layer.h b/cc/layers/texture_layer.h
index e063818..b5d59931 100644
--- a/cc/layers/texture_layer.h
+++ b/cc/layers/texture_layer.h
@@ -7,7 +7,6 @@
 
 #include <string>
 
-#include "build/build_config.h"
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
@@ -28,7 +27,6 @@
 }
 
 namespace cc {
-class ScopedDeferCommits;
 class SingleReleaseCallback;
 class TextureLayer;
 class TextureLayerClient;
@@ -107,29 +105,9 @@
     DISALLOW_COPY_AND_ASSIGN(TransferableResourceHolder);
   };
 
-  // By default, don't throttle RAF. 0 disables throttling.
-  static const int kMaxResourcesWaitingDefault = 0;
-#if !defined(OS_ANDROID)
-  // On some platforms (Mac), we don't control the texture return flow, as a
-  // component like CoreAnimation does not provide a clear contract as to how
-  // long it will hold our resources. For now, disable throttling on all
-  // platforms other than Android where we control the resource return flow.
-  static const int kMaxResourcesWaitingCanvasWebGL =
-      kMaxResourcesWaitingDefault;
-#else
-  // For Canvas or WebGL, we limit to two outstanding resources on Android.
-  static const int kMaxResourcesWaitingCanvasWebGL = 2;
-#endif
-
   // Used when mailbox names are specified instead of texture IDs.
-  // |max_resources_waiting| specifies the number of outstanding resources that
-  // can be outstanding for a texture layer before we block commits to stop the
-  // flow of new resources. By default, this is set to 0, which allows
-  // unlimited resources. For WebGL and Canvas we use 2, which provides some
-  // backpressure in these cases.
   static scoped_refptr<TextureLayer> CreateForMailbox(
-      TextureLayerClient* client,
-      int max_resources_waiting = kMaxResourcesWaitingDefault);
+      TextureLayerClient* client);
 
   // Resets the client, which also resets the texture.
   void ClearClient();
@@ -190,7 +168,7 @@
       scoped_refptr<CrossThreadSharedBitmap> bitmap) override;
 
  protected:
-  TextureLayer(TextureLayerClient* client, int max_resources_waiting);
+  explicit TextureLayer(TextureLayerClient* client);
   ~TextureLayer() override;
   bool HasDrawableContent() const override;
 
@@ -206,15 +184,6 @@
   // compositor.
   void UnregisterSharedBitmapId(viz::SharedBitmapId id);
 
-  // Helper function which wraps an existing release callback and also
-  // decrements our |resources_waiting_for_release_|, un-deferring commits if
-  // we drop below |max_resources_waiting_|.
-  static void ReleaseAndUpdateWaiting(
-      base::WeakPtr<TextureLayer> weak_texture_layer,
-      std::unique_ptr<viz::SingleReleaseCallback> original_callback,
-      const gpu::SyncToken& sync_token,
-      bool is_lost);
-
   TextureLayerClient* client_;
 
   bool flipped_ = true;
@@ -228,8 +197,6 @@
 
   std::unique_ptr<TransferableResourceHolder::MainThreadReference> holder_ref_;
   bool needs_set_resource_ = false;
-  int resources_waiting_for_release_ = 0;
-  const int max_resources_waiting_ = 0;
 
   // The set of SharedBitmapIds to register with the LayerTreeFrameSink on the
   // compositor thread. These requests are forwarded to the TextureLayerImpl to
@@ -246,8 +213,6 @@
   // The SharedBitmapIds to unregister on the compositor thread, passed to the
   // TextureLayerImpl.
   std::vector<viz::SharedBitmapId> to_unregister_bitmap_ids_;
-  // To add backpressure to RAF, TextureLayer may take a ScopedDeferCommits.
-  std::unique_ptr<ScopedDeferCommits> defer_commits_;
 
   base::WeakPtrFactory<TextureLayer> weak_ptr_factory_;
 
diff --git a/cc/layers/texture_layer_unittest.cc b/cc/layers/texture_layer_unittest.cc
index c48a588..88b1b63 100644
--- a/cc/layers/texture_layer_unittest.cc
+++ b/cc/layers/texture_layer_unittest.cc
@@ -304,103 +304,6 @@
   }
 }
 
-TEST_F(TextureLayerTest, MaxResourcesWaitingEnforced) {
-  // Specify that when two or more resources are waiting, DeferCommits should
-  // be called to delay RAF.
-  auto test_layer = TextureLayer::CreateForMailbox(
-      nullptr, 2 /* max_resources_waiting */);
-  layer_tree_host_->SetRootLayer(test_layer);
-  Mock::VerifyAndClearExpectations(layer_tree_host_.get());
-
-  EXPECT_SET_NEEDS_COMMIT(
-      1, test_layer->SetTransferableResource(
-             test_data_.resource1_,
-             viz::SingleReleaseCallback::Create(base::DoNothing())));
-  // Prevent resource1_ from being released by holding it in a second layer.
-  auto holder_layer = TextureLayerImpl::Create(host_impl_.active_tree(), 1);
-  test_layer->PushPropertiesTo(holder_layer.get());
-  // Only one resource is waiting, we should not be deferring commits yet.
-  EXPECT_FALSE(layer_tree_host_->defer_commits());
-  EXPECT_SET_NEEDS_COMMIT(
-      1, test_layer->SetTransferableResource(
-             test_data_.resource2_,
-             viz::SingleReleaseCallback::Create(base::DoNothing())));
-  // Now two resources are waiting. We should defer commits.
-  EXPECT_TRUE(layer_tree_host_->defer_commits());
-  // Make sure that all callbacks have been run and verify again.
-  base::RunLoop().RunUntilIdle();
-  EXPECT_TRUE(layer_tree_host_->defer_commits());
-  // Release resource1_.
-  holder_layer->SetTransferableResource(viz::TransferableResource(), nullptr);
-  base::RunLoop().RunUntilIdle();
-  // Now there is only one resource waiting and callbacks have run, we should no
-  // longer be deferring commits.
-  EXPECT_FALSE(layer_tree_host_->defer_commits());
-
-  // Release the resource from test_layer and give callback a chance to run
-  // before exiting.
-  EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetTransferableResource(
-                                 viz::TransferableResource(), nullptr));
-}
-
-TEST_F(TextureLayerTest, MaxResourcesWaitingSwitchLayerTreeHost) {
-  // Specify that when two or more resources are waiting, DeferCommits should
-  // be called to delay RAF.
-  auto test_layer = TextureLayer::CreateForMailbox(
-      nullptr, 2 /* max_resources_waiting */);
-  layer_tree_host_->SetRootLayer(test_layer);
-  Mock::VerifyAndClearExpectations(layer_tree_host_.get());
-
-  EXPECT_SET_NEEDS_COMMIT(
-      1, test_layer->SetTransferableResource(
-             test_data_.resource1_,
-             viz::SingleReleaseCallback::Create(base::DoNothing())));
-  // Prevent resource1_ from being released by holding it in a second layer.
-  auto holder_layer = TextureLayerImpl::Create(host_impl_.active_tree(), 1);
-  test_layer->PushPropertiesTo(holder_layer.get());
-  // Only one resource is waiting, we should not be deferring commits yet.
-  EXPECT_FALSE(layer_tree_host_->defer_commits());
-  EXPECT_SET_NEEDS_COMMIT(
-      1, test_layer->SetTransferableResource(
-             test_data_.resource2_,
-             viz::SingleReleaseCallback::Create(base::DoNothing())));
-  // Now two resources are waiting. We should defer commits.
-  EXPECT_TRUE(layer_tree_host_->defer_commits());
-  // Make sure that all callbacks have been run and verify again.
-  base::RunLoop().RunUntilIdle();
-  EXPECT_TRUE(layer_tree_host_->defer_commits());
-
-  // Switch layer tree hosts. Defer commits should transfer from one host to
-  // another.
-  // First remove the layer from our current host.
-  EXPECT_SET_NEEDS_COMMIT(1, layer_tree_host_->SetRootLayer(nullptr));
-  // It should no longer defer commits.
-  EXPECT_FALSE(layer_tree_host_->defer_commits());
-  // Next create a new host.
-  auto layer_tree_host_2 = MockLayerTreeHost::Create(
-      &fake_client_, &task_graph_runner_, animation_host_.get());
-  // It should not yet be deferring commits.
-  EXPECT_FALSE(layer_tree_host_2->defer_commits());
-  // Next, add the layer to our new |layer_tree_host_2|
-  EXPECT_CALL(*layer_tree_host_2, SetNeedsCommit());
-  layer_tree_host_2->SetRootLayer(test_layer);
-  Mock::VerifyAndClearExpectations(layer_tree_host_2.get());
-  // |layer_tree_host_2| should now defer commits.
-  EXPECT_TRUE(layer_tree_host_2->defer_commits());
-  // Release resource1_.
-  holder_layer->SetTransferableResource(viz::TransferableResource(), nullptr);
-  base::RunLoop().RunUntilIdle();
-  // Now there is only one resource waiting and callbacks have run, we should no
-  // longer be deferring commits.
-  EXPECT_FALSE(layer_tree_host_2->defer_commits());
-
-  // Release the resource from test_layer and give callback a chance to run
-  // before exiting.
-  EXPECT_CALL(*layer_tree_host_2, SetNeedsCommit());
-  test_layer->SetTransferableResource(viz::TransferableResource(), nullptr);
-  Mock::VerifyAndClearExpectations(layer_tree_host_2.get());
-}
-
 class TestMailboxHolder : public TextureLayer::TransferableResourceHolder {
  public:
   using TextureLayer::TransferableResourceHolder::Create;
diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
index 5de0fbaa..327e907 100644
--- a/cc/scheduler/scheduler_state_machine.cc
+++ b/cc/scheduler/scheduler_state_machine.cc
@@ -1123,6 +1123,9 @@
   if (active_tree_needs_first_draw_)
     return true;
 
+  if (!needs_redraw_)
+    return false;
+
   // This is used to prioritize impl-thread draws when the main thread isn't
   // producing anything, e.g., after an aborted commit. We also check that we
   // don't have a pending tree -- otherwise we should give it a chance to
@@ -1132,7 +1135,7 @@
     return true;
 
   // Prioritize impl-thread draws in ImplLatencyTakesPriority mode.
-  if (needs_redraw_ && ImplLatencyTakesPriority())
+  if (ImplLatencyTakesPriority())
     return true;
 
   return false;
diff --git a/cc/scheduler/scheduler_state_machine_unittest.cc b/cc/scheduler/scheduler_state_machine_unittest.cc
index acd7b0c3..aa742f8 100644
--- a/cc/scheduler/scheduler_state_machine_unittest.cc
+++ b/cc/scheduler/scheduler_state_machine_unittest.cc
@@ -2649,27 +2649,5 @@
   EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::Action::ACTIVATE_SYNC_TREE);
 }
 
-TEST(SchedulerStateMachineTest, EarlyDeadlineAfterAbortedMainFrame) {
-  SchedulerSettings settings;
-  StateMachine state(settings);
-
-  SET_UP_STATE(state);
-  state.SetNeedsRedraw(false);
-  state.SetNeedsBeginMainFrame();
-  state.IssueNextBeginImplFrame();
-
-  // Use a late deadline after sending main frame and no impl side draw.
-  EXPECT_ACTION_UPDATE_STATE(
-      SchedulerStateMachine::Action::SEND_BEGIN_MAIN_FRAME);
-  EXPECT_EQ(state.CurrentBeginImplFrameDeadlineMode(),
-            SchedulerStateMachine::BeginImplFrameDeadlineMode::LATE);
-
-  // Use an immediate deadline after aborting main frame and no impl side draw.
-  state.NotifyBeginMainFrameStarted();
-  state.BeginMainFrameAborted(CommitEarlyOutReason::FINISHED_NO_UPDATES);
-  EXPECT_EQ(state.CurrentBeginImplFrameDeadlineMode(),
-            SchedulerStateMachine::BeginImplFrameDeadlineMode::IMMEDIATE);
-}
-
 }  // namespace
 }  // namespace cc
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
index e45ba10..b232488 100644
--- a/cc/trees/layer_tree_host.cc
+++ b/cc/trees/layer_tree_host.cc
@@ -372,6 +372,27 @@
 
   micro_benchmark_controller_.ScheduleImplBenchmarks(host_impl);
   property_trees_.ResetAllChangeTracking();
+
+  // Dump property trees and layers if run with:
+  //   --vmodule=layer_tree_host=3
+  if (VLOG_IS_ON(3)) {
+    VLOG(3) << "After finishing commit on impl, the sync tree:";
+    // Because the property tree and layer list output can be verbose, the VLOG
+    // output is split by line to avoid line buffer limits on android.
+    VLOG(3) << "property trees:";
+    std::string property_trees;
+    base::JSONWriter::WriteWithOptions(
+        *sync_tree->property_trees()->AsTracedValue()->ToBaseValue(),
+        base::JSONWriter::OPTIONS_PRETTY_PRINT, &property_trees);
+    std::stringstream property_trees_stream(property_trees);
+    for (std::string line; std::getline(property_trees_stream, line);)
+      VLOG(3) << line;
+
+    VLOG(3) << "layers:";
+    std::stringstream layers_stream(host_impl->LayerListAsJson());
+    for (std::string line; std::getline(layers_stream, line);)
+      VLOG(3) << line;
+  }
 }
 
 void LayerTreeHost::ImageDecodesFinished(
@@ -751,75 +772,75 @@
     TRACE_EVENT_INSTANT1("cc", "LayerTreeHost::UpdateLayers_BuiltPropertyTrees",
                          TRACE_EVENT_SCOPE_THREAD, "property_trees",
                          property_trees_.AsTracedValue());
-    } else {
-      TRACE_EVENT_INSTANT1("cc",
-                           "LayerTreeHost::UpdateLayers_ReceivedPropertyTrees",
-                           TRACE_EVENT_SCOPE_THREAD, "property_trees",
-                           property_trees_.AsTracedValue());
-      // The HUD layer is managed outside the layer list sent to LayerTreeHost
-      // and needs to have its property tree state set.
-      if (hud_layer_ && root_layer_.get()) {
-        hud_layer_->SetTransformTreeIndex(root_layer_->transform_tree_index());
-        hud_layer_->SetEffectTreeIndex(root_layer_->effect_tree_index());
-        hud_layer_->SetClipTreeIndex(root_layer_->clip_tree_index());
-        hud_layer_->SetScrollTreeIndex(root_layer_->scroll_tree_index());
-        hud_layer_->set_property_tree_sequence_number(
-            root_layer_->property_tree_sequence_number());
-      }
+  } else {
+    TRACE_EVENT_INSTANT1("cc",
+                         "LayerTreeHost::UpdateLayers_ReceivedPropertyTrees",
+                         TRACE_EVENT_SCOPE_THREAD, "property_trees",
+                         property_trees_.AsTracedValue());
+    // The HUD layer is managed outside the layer list sent to LayerTreeHost
+    // and needs to have its property tree state set.
+    if (hud_layer_ && root_layer_.get()) {
+      hud_layer_->SetTransformTreeIndex(root_layer_->transform_tree_index());
+      hud_layer_->SetEffectTreeIndex(root_layer_->effect_tree_index());
+      hud_layer_->SetClipTreeIndex(root_layer_->clip_tree_index());
+      hud_layer_->SetScrollTreeIndex(root_layer_->scroll_tree_index());
+      hud_layer_->set_property_tree_sequence_number(
+          root_layer_->property_tree_sequence_number());
     }
+  }
 
 #if DCHECK_IS_ON()
-    // Ensure property tree nodes were created for all layers. When using layer
-    // lists, this can fail if blink doesn't setup layers or nodes correctly in
-    // |PaintArtifactCompositor|. When not using layer lists, this can fail if
-    // |PropertyTreeBuilder::BuildPropertyTrees| fails to create property tree
-    // nodes.
-    for (auto* layer : *this) {
-      DCHECK(property_trees_.effect_tree.Node(layer->effect_tree_index()));
-      DCHECK(
-          property_trees_.transform_tree.Node(layer->transform_tree_index()));
-      DCHECK(property_trees_.clip_tree.Node(layer->clip_tree_index()));
-      DCHECK(property_trees_.scroll_tree.Node(layer->scroll_tree_index()));
-    }
+  // Ensure property tree nodes were created for all layers. When using layer
+  // lists, this can fail if blink doesn't setup layers or nodes correctly in
+  // |PaintArtifactCompositor|. When not using layer lists, this can fail if
+  // |PropertyTreeBuilder::BuildPropertyTrees| fails to create property tree
+  // nodes.
+  for (auto* layer : *this) {
+    DCHECK(property_trees_.effect_tree.Node(layer->effect_tree_index()));
+    DCHECK(property_trees_.transform_tree.Node(layer->transform_tree_index()));
+    DCHECK(property_trees_.clip_tree.Node(layer->clip_tree_index()));
+    DCHECK(property_trees_.scroll_tree.Node(layer->scroll_tree_index()));
+  }
 #endif
 
-    draw_property_utils::UpdatePropertyTrees(this, &property_trees_);
+  draw_property_utils::UpdatePropertyTrees(this, &property_trees_);
 
-    LayerList update_layer_list;
-    draw_property_utils::FindLayersThatNeedUpdates(this, &property_trees_,
-                                                   &update_layer_list);
+  LayerList update_layer_list;
+  draw_property_utils::FindLayersThatNeedUpdates(this, &property_trees_,
+                                                 &update_layer_list);
 
-    // Dump property trees useful for debugging --blink-gen-property-trees
-    // flag. We care only about the renderer compositor.
-    if (VLOG_IS_ON(3) && GetClientNameForMetrics() == std::string("Renderer")) {
-      VLOG(3) << "CC Property Trees:";
-      std::string out;
-      base::JSONWriter::WriteWithOptions(
-          *property_trees_.AsTracedValue()->ToBaseValue(),
-          base::JSONWriter::OPTIONS_PRETTY_PRINT, &out);
-      std::stringstream ss(out);
-      while (!ss.eof()) {
-        std::string line;
-        std::getline(ss, line);
-        VLOG(3) << line;
-      }
+  // Dump property trees and layers if run with:
+  //   --vmodule=layer_tree_host=3
+  // This only prints output for the renderer.
+  if (VLOG_IS_ON(3) && GetClientNameForMetrics() == std::string("Renderer")) {
+    VLOG(3) << "After updating layers on the main thread:";
+    // Because the property tree and layer list output can be verbose, the VLOG
+    // output is split by line to avoid line buffer limits on android.
+    VLOG(3) << "property trees:";
+    std::string property_trees;
+    base::JSONWriter::WriteWithOptions(
+        *property_trees_.AsTracedValue()->ToBaseValue(),
+        base::JSONWriter::OPTIONS_PRETTY_PRINT, &property_trees);
+    std::stringstream property_trees_stream(property_trees);
+    for (std::string line; std::getline(property_trees_stream, line);)
+      VLOG(3) << line;
 
-      VLOG(3) << "CC Layer List:";
-      for (auto* layer : *this) {
-        VLOG(3) << "layer id " << layer->id();
-        VLOG(3) << "  element_id: " << layer->element_id();
-        VLOG(3) << "  bounds: " << layer->bounds().ToString();
-        VLOG(3) << "  opacity: " << layer->opacity();
-        VLOG(3) << "  position: " << layer->position().ToString();
-        VLOG(3) << "  draws_content: " << layer->DrawsContent();
-        VLOG(3) << "  scrollable: " << layer->scrollable();
-        VLOG(3) << "  contents_opaque: " << layer->contents_opaque();
-        VLOG(3) << "  transform_tree_index: " << layer->transform_tree_index();
-        VLOG(3) << "  clip_tree_index: " << layer->clip_tree_index();
-        VLOG(3) << "  effect_tree_index: " << layer->effect_tree_index();
-        VLOG(3) << "  scroll_tree_index: " << layer->scroll_tree_index();
-      }
+    VLOG(3) << "layers:";
+    for (auto* layer : *this) {
+      VLOG(3) << "  layer id " << layer->id();
+      VLOG(3) << "    element_id: " << layer->element_id();
+      VLOG(3) << "    bounds: " << layer->bounds().ToString();
+      VLOG(3) << "    opacity: " << layer->opacity();
+      VLOG(3) << "    position: " << layer->position().ToString();
+      VLOG(3) << "    draws_content: " << layer->DrawsContent();
+      VLOG(3) << "    scrollable: " << layer->scrollable();
+      VLOG(3) << "    contents_opaque: " << layer->contents_opaque();
+      VLOG(3) << "    transform_tree_index: " << layer->transform_tree_index();
+      VLOG(3) << "    clip_tree_index: " << layer->clip_tree_index();
+      VLOG(3) << "    effect_tree_index: " << layer->effect_tree_index();
+      VLOG(3) << "    scroll_tree_index: " << layer->scroll_tree_index();
     }
+  }
 
   bool painted_content_has_slow_paths = false;
   bool painted_content_has_non_aa_paint = false;
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 2675af2..b61ef6f1 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -2870,6 +2870,27 @@
     if (active_tree()->TakeNewLocalSurfaceIdRequest())
       child_local_surface_id_allocator_.GenerateId();
   }
+
+  // Dump property trees and layers if run with:
+  //   --vmodule=layer_tree_host_impl=3
+  if (VLOG_IS_ON(3)) {
+    VLOG(3) << "After activating sync tree, the active tree:";
+    // Because the property tree and layer list output can be verbose, the VLOG
+    // output is split by line to avoid line buffer limits on android.
+    VLOG(3) << "property trees:";
+    std::string property_trees;
+    base::JSONWriter::WriteWithOptions(
+        *active_tree_->property_trees()->AsTracedValue()->ToBaseValue(),
+        base::JSONWriter::OPTIONS_PRETTY_PRINT, &property_trees);
+    std::stringstream property_trees_stream(property_trees);
+    for (std::string line; std::getline(property_trees_stream, line);)
+      VLOG(3) << line;
+
+    VLOG(3) << "layers:";
+    std::stringstream layers_stream(LayerListAsJson());
+    for (std::string line; std::getline(layers_stream, line);)
+      VLOG(3) << line;
+  }
 }
 
 void LayerTreeHostImpl::ActivateStateForImages() {
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedOfflineBridge.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedOfflineBridge.java
index 727c639..53b309d 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedOfflineBridge.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedOfflineBridge.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.feed;
 
+import com.google.android.libraries.feed.api.knowncontent.ContentMetadata;
 import com.google.android.libraries.feed.api.knowncontent.ContentRemoval;
 import com.google.android.libraries.feed.api.knowncontent.KnownContentApi;
 import com.google.android.libraries.feed.common.functional.Consumer;
@@ -19,6 +20,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 
 /** Provides access to native implementations of OfflineIndicatorApi. */
 @JNINamespace("feed")
@@ -102,7 +104,7 @@
      * Filters out any {@link ContentRemoval} that was not user driven, such as old articles being
      * garbage collected.
      *
-     * @param contentRemovd The articles being removed, may or may not be user driven.
+     * @param contentRemoved The articles being removed, may or may not be user driven.
      * @return All and only the user driven removals.
      */
     @VisibleForTesting
@@ -121,6 +123,19 @@
         return Long.valueOf(id);
     }
 
+    @CalledByNative
+    private void getKnownContent() {
+        mKnownContentApi.getKnownContent((List<ContentMetadata> metadataList) -> {
+            for (ContentMetadata metadata : metadataList) {
+                long time_published_ms = TimeUnit.SECONDS.toMillis(metadata.getTimePublished());
+                nativeAppendContentMetadata(mNativeBridge, metadata.getUrl(), metadata.getTitle(),
+                        time_published_ms, metadata.getImageUrl(), metadata.getPublisher(),
+                        metadata.getFaviconUrl(), metadata.getSnippet());
+            }
+            nativeOnGetKnownContentDone(mNativeBridge);
+        });
+    }
+
     private native long nativeInit(Profile profile);
     private native void nativeDestroy(long nativeFeedOfflineBridge);
     private native Object nativeGetOfflineId(long nativeFeedOfflineBridge, String url);
@@ -129,4 +144,8 @@
     private native void nativeOnContentRemoved(long nativeFeedOfflineBridge, String[] urlsRemoved);
     private native void nativeOnNewContentReceived(long nativeFeedOfflineBridge);
     private native void nativeOnNoListeners(long nativeFeedOfflineBridge);
+    private native void nativeAppendContentMetadata(long nativeFeedOfflineBridge, String url,
+            String title, long timePublishedMs, String imageUrl, String publisher,
+            String faviconUrl, String snippet);
+    private native void nativeOnGetKnownContentDone(long nativeFeedOfflineBridge);
 }
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java
index 887bdd4..464756b7 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java
@@ -68,7 +68,7 @@
         schedulerBridge.initializeFeedDependencies(
                 sFeedProcessScope.getRequestManager(), sFeedProcessScope.getSessionManager());
 
-        // TODO(skym): Pass on the KnownContentApi when the FeedProcessScope provides one.
+        // TODO(skym): Use sFeedProcessScope.getKnownContentApi().
         sFeedOfflineIndicator = new FeedOfflineBridge(profile, null);
     }
 
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
index 3215e0c7..236085b 100644
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -644,6 +644,7 @@
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTop"
             android:documentLaunchMode="intoExisting"
+            android:exported="false"
             android:persistableMode="persistNever"
             {{ self.supports_video_persistence() }}
             {{ self.chrome_activity_common() }}
@@ -662,6 +663,7 @@
             android:icon="@mipmap/app_shortcut_icon"
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTask"
+            android:exported="false"
             android:persistableMode="persistNever"
             android:taskAffinity="{{ manifest_package }}.webapps.WebappActivity{{ i }}"
             {{ self.supports_video_persistence() }}
@@ -682,6 +684,7 @@
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTop"
             android:documentLaunchMode="intoExisting"
+            android:exported="false"
             android:persistableMode="persistNever"
             {{ self.supports_video_persistence() }}
             {{ self.chrome_activity_common() }}
@@ -695,6 +698,7 @@
             android:icon="@mipmap/app_shortcut_icon"
             android:label="@string/webapp_activity_title"
             android:launchMode="singleTask"
+            android:exported="false"
             android:persistableMode="persistNever"
             android:taskAffinity="{{ manifest_package }}.webapps.WebApkActivity{{ i }}"
             {{ self.supports_video_persistence() }}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
index a713b4a..2098234 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
@@ -101,7 +101,6 @@
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.browser.util.IntentUtils;
 import org.chromium.chrome.browser.util.UrlUtilities;
-import org.chromium.chrome.browser.webapps.WebappActivity;
 import org.chromium.chrome.browser.webapps.WebappCustomTabTimeSpentLogger;
 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
 import org.chromium.content_public.browser.LoadUrlParams;
@@ -720,8 +719,8 @@
         Tab tab = new Tab(assignedTabId, parentTabId, mIntentDataProvider.isIncognito(),
                 getWindowAndroid(), TabLaunchType.FROM_EXTERNAL_APP, null, null);
         if (getIntent().getIntExtra(CustomTabIntentDataProvider.EXTRA_BROWSER_LAUNCH_SOURCE,
-                    WebappActivity.ActivityType.OTHER)
-                == WebappActivity.ActivityType.WEBAPK) {
+                    CustomTabIntentDataProvider.LaunchSourceType.OTHER)
+                == CustomTabIntentDataProvider.LaunchSourceType.WEBAPK) {
             String webapkPackageName = getIntent().getStringExtra(Browser.EXTRA_APPLICATION_ID);
             tab.setAppAssociatedWith(webapkPackageName);
         } else {
@@ -873,7 +872,7 @@
         mIsInitialResume = false;
         mWebappTimeSpentLogger = WebappCustomTabTimeSpentLogger.createInstanceAndStartTimer(
                 getIntent().getIntExtra(CustomTabIntentDataProvider.EXTRA_BROWSER_LAUNCH_SOURCE,
-                        WebappActivity.ActivityType.OTHER));
+                        CustomTabIntentDataProvider.LaunchSourceType.OTHER));
 
         if (mModuleActivityDelegate != null) {
             resumeModule();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
index 7b4b256..67c076f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -68,6 +68,17 @@
         int OFFLINE_PAGE = 6;
     }
 
+    @IntDef({LaunchSourceType.OTHER, LaunchSourceType.WEBAPP, LaunchSourceType.WEBAPK,
+            LaunchSourceType.TWA, LaunchSourceType.MEDIA_LAUNCHER_ACTIVITY})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface LaunchSourceType {
+        int OTHER = -1;
+        int WEBAPP = 0;
+        int WEBAPK = 1;
+        int TWA = 2;
+        int MEDIA_LAUNCHER_ACTIVITY = 3;
+    }
+
     /**
      * Extra that indicates whether or not the Custom Tab is being launched by an Intent fired by
      * Chrome itself.
@@ -133,6 +144,7 @@
     private final int mTitleVisibilityState;
     private final String mMediaViewerUrl;
     private final boolean mEnableEmbeddedMediaExperience;
+    private final boolean mIsFromMediaLauncherActivity;
     private final int mInitialBackgroundColor;
     private final boolean mDisableStar;
     private final boolean mDisableDownload;
@@ -248,6 +260,10 @@
         mEnableEmbeddedMediaExperience = isTrustedIntent()
                 && IntentUtils.safeGetBooleanExtra(
                            intent, EXTRA_ENABLE_EMBEDDED_MEDIA_EXPERIENCE, false);
+        mIsFromMediaLauncherActivity = isTrustedIntent()
+                && (IntentUtils.safeGetIntExtra(
+                            intent, EXTRA_BROWSER_LAUNCH_SOURCE, LaunchSourceType.OTHER)
+                           == LaunchSourceType.MEDIA_LAUNCHER_ACTIVITY);
         mDisableStar = IntentUtils.safeGetBooleanExtra(intent, EXTRA_DISABLE_STAR_BUTTON, false);
         mDisableDownload =
                 IntentUtils.safeGetBooleanExtra(intent, EXTRA_DISABLE_DOWNLOAD_BUTTON, false);
@@ -619,6 +635,13 @@
     }
 
     /**
+     * @return See {@link #EXTRA_IS_FROM_MEDIA_LAUNCHER_ACTIVITY}
+     */
+    boolean isFromMediaLauncherActivity() {
+        return mIsFromMediaLauncherActivity;
+    }
+
+    /**
      * @return If the Custom Tab is an info page.
      * See {@link #EXTRA_UI_TYPE}.
      */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationFactory.java
index 4f6b043..f5594cdf 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationFactory.java
@@ -48,10 +48,13 @@
     public static final int MAX_FILE_NAME_LENGTH = 25;
 
     /**
-     * Builds a downloads notification based on the status of the download and its information.
+     * Builds a downloads notification based on the status of the download and its information. All
+     * changes to this function should consider the difference between normal profile and off the
+     * record profile.
      * @param context of the download.
      * @param downloadStatus (in progress, paused, successful, failed, deleted, or summary).
-     * @param downloadUpdate information about the download (ie. contentId, fileName, icon, etc).
+     * @param downloadUpdate information about the download (ie. contentId, fileName, icon,
+     * isOffTheRecord, etc).
      * @return Notification that is built based on these parameters.
      */
     public static Notification buildNotification(Context context,
@@ -129,16 +132,12 @@
                 }
 
                 if (!downloadUpdate.getProgress().isIndeterminate()
+                        && !downloadUpdate.getIsOffTheRecord()
                         && downloadUpdate.getTimeRemainingInMillis() >= 0
                         && !LegacyHelpers.isLegacyOfflinePage(downloadUpdate.getContentId())) {
                     String subText = DownloadUtils.formatRemainingTime(
                             context, downloadUpdate.getTimeRemainingInMillis());
-
-                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
-                        builder.setSubText(subText);
-                    } else {
-                        builder.setContentInfo(subText);
-                    }
+                    setSubText(builder, subText);
                 }
 
                 if (downloadUpdate.getStartTime() > 0) {
@@ -183,7 +182,8 @@
             case DownloadNotificationService2.DownloadStatus.COMPLETED:
                 Preconditions.checkArgument(downloadUpdate.getNotificationId() != -1);
 
-                if (downloadUpdate.getTotalBytes() > 0) {
+                // Don't show file size in incognito mode.
+                if (downloadUpdate.getTotalBytes() > 0 && !downloadUpdate.getIsOffTheRecord()) {
                     contentText = context.getResources().getString(
                             R.string.download_notification_completed_with_size,
                             DownloadUtils.getStringForBytes(
@@ -243,9 +243,17 @@
         Bundle extras = new Bundle();
         extras.putInt(EXTRA_NOTIFICATION_BUNDLE_ICON_ID, iconId);
 
-        builder.setContentText(contentText).setSmallIcon(iconId).addExtras(extras);
+        builder.setSmallIcon(iconId).addExtras(extras);
 
-        if (downloadUpdate.getFileName() != null) {
+        // Context text is shown as title in incognito mode as the file name is not shown.
+        if (downloadUpdate.getIsOffTheRecord()) {
+            builder.setContentTitle(contentText);
+        } else {
+            builder.setContentText(contentText);
+        }
+
+        // Don't show file name in incognito mode.
+        if (downloadUpdate.getFileName() != null && !downloadUpdate.getIsOffTheRecord()) {
             builder.setContentTitle(DownloadUtils.getAbbreviatedFileName(
                     downloadUpdate.getFileName(), MAX_FILE_NAME_LENGTH));
         }
@@ -260,6 +268,13 @@
                             downloadHomeIntent, PendingIntent.FLAG_UPDATE_CURRENT));
         }
 
+        // A sub text to inform the users that they are using incognito mode.
+        if (downloadUpdate.getIsOffTheRecord()) {
+            setSubText(builder,
+                    context.getResources().getString(
+                            R.string.download_notification_incognito_subtext));
+        }
+
         return builder.build();
     }
 
@@ -275,6 +290,19 @@
     }
 
     /**
+     * Helper method to set the sub text on different versions of Android.
+     * @param builder The builder to build notification.
+     * @param subText A string shown as sub text on the notification.
+     */
+    private static void setSubText(ChromeNotificationBuilder builder, String subText) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+            builder.setSubText(subText);
+        } else {
+            builder.setContentInfo(subText);
+        }
+    }
+
+    /**
      * Helper method to build an download action Intent from the provided information.
      * @param context {@link Context} to pull resources from.
      * @param action Download action to perform.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java
index defb95426..b8fb94fb 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java
@@ -300,7 +300,7 @@
                 mDownloadSharedPreferenceHelper.getDownloadSharedPreferenceEntry(id);
         if (!isResumable) {
             // TODO(cmsy): Use correct FailState.
-            notifyDownloadFailed(id, fileName, icon, FailState.CANNOT_DOWNLOAD);
+            notifyDownloadFailed(id, fileName, icon, isOffTheRecord, FailState.CANNOT_DOWNLOAD);
             return;
         }
         // If download is already paused, do nothing.
@@ -391,13 +391,15 @@
 
     /**
      * Add a download failed notification.
-     * @param id       The {@link ContentId} of the download.
-     * @param fileName Filename of the download.
-     * @param icon     A {@link Bitmap} to be used as the large icon for display.
+     * @param id             The {@link ContentId} of the download.
+     * @param fileName       Filename of the download.
+     * @param icon           A {@link Bitmap} to be used as the large icon for display.
+     * @param isOffTheRecord If the profile is off the record.
+     * @param failState      Reason why download failed.
      */
     @VisibleForTesting
-    public void notifyDownloadFailed(
-            ContentId id, String fileName, Bitmap icon, @FailState int failState) {
+    public void notifyDownloadFailed(ContentId id, String fileName, Bitmap icon,
+            boolean isOffTheRecord, @FailState int failState) {
         // If the download is not in history db, fileName could be empty. Get it from
         // SharedPreferences.
         if (TextUtils.isEmpty(fileName)) {
@@ -414,6 +416,7 @@
                                                 .setContentId(id)
                                                 .setFileName(fileName)
                                                 .setIcon(icon)
+                                                .setIsOffTheRecord(isOffTheRecord)
                                                 .setFailState(failState)
                                                 .build();
         Notification notification = DownloadNotificationFactory.buildNotification(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/SystemDownloadNotifier2.java b/chrome/android/java/src/org/chromium/chrome/browser/download/SystemDownloadNotifier2.java
index 8f471b3..768816c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/SystemDownloadNotifier2.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/SystemDownloadNotifier2.java
@@ -137,10 +137,8 @@
 
     @Override
     public void notifyDownloadFailed(DownloadInfo info, @FailState int failState) {
-        NotificationInfo notificationInfo =
-                new NotificationInfo(NotificationType.FAILED, info, NotificationPriority.HIGH);
-        notificationInfo.mFailState = failState;
-        addPendingNotification(notificationInfo);
+        mDownloadNotificationService.notifyDownloadFailed(info.getContentId(), info.getFileName(),
+                info.getIcon(), info.isOffTheRecord(), failState);
     }
 
     @Override
@@ -260,7 +258,8 @@
                 break;
             case NotificationType.FAILED:
                 getDownloadNotificationService().notifyDownloadFailed(info.getContentId(),
-                        info.getFileName(), info.getIcon(), notificationInfo.mFailState);
+                        info.getFileName(), info.getIcon(), info.isOffTheRecord(),
+                        notificationInfo.mFailState);
                 break;
             case NotificationType.INTERRUPTED:
                 getDownloadNotificationService().notifyDownloadPaused(info.getContentId(),
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
index dba7fef..8c576df 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -27,12 +27,12 @@
 import org.chromium.chrome.browser.ChromeSwitches;
 import org.chromium.chrome.browser.IntentHandler;
 import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider.LaunchSourceType;
 import org.chromium.chrome.browser.instantapps.InstantAppsHandler;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabRedirectHandler;
 import org.chromium.chrome.browser.util.IntentUtils;
 import org.chromium.chrome.browser.util.UrlUtilities;
-import org.chromium.chrome.browser.webapps.WebappActivity.ActivityType;
 import org.chromium.chrome.browser.webapps.WebappScopePolicy;
 import org.chromium.content_public.common.ContentUrlConstants;
 import org.chromium.ui.base.PageTransition;
@@ -770,8 +770,10 @@
         }
 
         int launchSource = IntentUtils.safeGetIntExtra(
-                tab.getActivity().getIntent(), EXTRA_BROWSER_LAUNCH_SOURCE, ActivityType.OTHER);
-        if (launchSource != ActivityType.WEBAPK && launchSource != ActivityType.TWA) return false;
+                tab.getActivity().getIntent(), EXTRA_BROWSER_LAUNCH_SOURCE, LaunchSourceType.OTHER);
+        if (launchSource != LaunchSourceType.WEBAPK && launchSource != LaunchSourceType.TWA) {
+            return false;
+        }
 
         String appId = IntentUtils.safeGetStringExtra(
                 tab.getActivity().getIntent(), Browser.EXTRA_APPLICATION_ID);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/MediaLauncherActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/media/MediaLauncherActivity.java
index 605d156..c0e3567 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/MediaLauncherActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/MediaLauncherActivity.java
@@ -13,6 +13,7 @@
 import android.webkit.MimeTypeMap;
 
 import org.chromium.base.metrics.CachedMetrics;
+import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
 import org.chromium.chrome.browser.util.IntentUtils;
 
 import java.lang.annotation.Retention;
@@ -63,6 +64,8 @@
         Intent intent = MediaViewerUtils.getMediaViewerIntent(
                 contentUri, contentUri, mimeType, false /* allowExternalAppHandlers */);
         intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+        intent.putExtra(CustomTabIntentDataProvider.EXTRA_BROWSER_LAUNCH_SOURCE,
+                CustomTabIntentDataProvider.LaunchSourceType.MEDIA_LAUNCHER_ACTIVITY);
         startActivity(intent);
 
         finish();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java
index 896eb02..aff6f91 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java
@@ -182,15 +182,23 @@
     private class RemoteMediaClientCallback extends RemoteMediaClient.Callback {
         @Override
         public void onStatusUpdated() {
-            mNotificationController.onStatusUpdated();
+            BaseSessionController.this.onStatusUpdated();
         }
 
         @Override
         public void onMetadataUpdated() {
-            mNotificationController.onMetadataUpdated();
+            BaseSessionController.this.onMetadataUpdated();
         }
     }
 
+    protected void onStatusUpdated() {
+        mNotificationController.onStatusUpdated();
+    }
+
+    protected void onMetadataUpdated() {
+        mNotificationController.onMetadataUpdated();
+    }
+
     @Nullable
     public FlingingController getFlingingController() {
         return null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java
index c9730cf..3eb3be58 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java
@@ -4,35 +4,117 @@
 
 package org.chromium.chrome.browser.media.router.caf.remoting;
 
+import com.google.android.gms.cast.MediaStatus;
 import com.google.android.gms.cast.framework.media.RemoteMediaClient;
 
+import org.chromium.base.Log;
 import org.chromium.chrome.browser.media.router.FlingingController;
 import org.chromium.chrome.browser.media.router.MediaController;
+import org.chromium.chrome.browser.media.router.MediaStatusBridge;
 import org.chromium.chrome.browser.media.router.MediaStatusObserver;
 
 /** Adapter class for bridging {@link RemoteMediaClient} and {@link FlingController}. */
-public class FlingingControllerAdapter implements FlingingController {
-    FlingingControllerAdapter(RemotingSessionController sessionController) {}
+public class FlingingControllerAdapter implements FlingingController, MediaController {
+    private static final String TAG = "FlingCtrlAdptr";
+
+    private final RemotingSessionController mSessionController;
+    private MediaStatusObserver mMediaStatusObserver;
+
+    FlingingControllerAdapter(RemotingSessionController sessionController) {
+        mSessionController = sessionController;
+    }
+
+    ////////////////////////////////////////////
+    // FlingingController implementation begin
+    ////////////////////////////////////////////
 
     @Override
     public MediaController getMediaController() {
-        // Not implemented.
-        return null;
+        return this;
     }
 
     @Override
     public void setMediaStatusObserver(MediaStatusObserver observer) {
-        // Not implemented.
+        assert mMediaStatusObserver == null;
+        mMediaStatusObserver = observer;
     }
 
     @Override
     public void clearMediaStatusObserver() {
-        // Not implemented.
+        assert mMediaStatusObserver != null;
+        mMediaStatusObserver = null;
     }
 
     @Override
     public long getApproximateCurrentTime() {
-        // Not implemented.
-        return 0;
+        return mSessionController.getRemoteMediaClient().getApproximateStreamPosition();
+    }
+
+    ////////////////////////////////////////////
+    // FlingingController implementation end
+    ////////////////////////////////////////////
+
+    ////////////////////////////////////////////
+    // MediaController implementation begin
+    ////////////////////////////////////////////
+
+    @Override
+    public void play() {
+        if (!mSessionController.isConnected()) return;
+        mSessionController.getRemoteMediaClient().play().setResultCallback(
+                this ::onMediaCommandResult);
+    }
+
+    @Override
+    public void pause() {
+        if (!mSessionController.isConnected()) return;
+        mSessionController.getRemoteMediaClient().pause().setResultCallback(
+                this ::onMediaCommandResult);
+    }
+
+    @Override
+    public void setMute(boolean mute) {
+        if (!mSessionController.isConnected()) return;
+        mSessionController.getRemoteMediaClient().setStreamMute(mute).setResultCallback(
+                this ::onMediaCommandResult);
+    }
+
+    @Override
+    public void setVolume(double volume) {
+        if (!mSessionController.isConnected()) return;
+        mSessionController.getRemoteMediaClient().setStreamVolume(volume).setResultCallback(
+                this ::onMediaCommandResult);
+    }
+
+    @Override
+    public void seek(long position) {
+        if (!mSessionController.isConnected()) return;
+        mSessionController.getRemoteMediaClient().seek(position).setResultCallback(
+                this ::onMediaCommandResult);
+    }
+
+    ////////////////////////////////////////////
+    // MediaController implementation end
+    ////////////////////////////////////////////
+
+    public void onStatusUpdated() {
+        if (mMediaStatusObserver == null) return;
+
+        MediaStatus mediaStatus = mSessionController.getRemoteMediaClient().getMediaStatus();
+        if (mediaStatus != null) {
+            mMediaStatusObserver.onMediaStatusUpdate(new MediaStatusBridge(mediaStatus));
+        }
+    }
+
+    private void onMediaCommandResult(RemoteMediaClient.MediaChannelResult result) {
+        // When multiple API calls are made in quick succession, "Results have already been set"
+        // IllegalStateExceptions might be thrown from GMS code. We prefer to catch the exception
+        // and noop it, than to crash. This might lead to some API calls never getting their
+        // onResult() called, so we should not rely on onResult() being called for every API call.
+        // See https://crbug.com/853923.
+        if (!result.getStatus().isSuccess()) {
+            Log.e(TAG, "Error when sending command. Status code: %d",
+                    result.getStatus().getStatusCode());
+        }
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java
index 7bbb749..21bd2c5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java
@@ -44,6 +44,12 @@
     }
 
     @Override
+    protected void onStatusUpdated() {
+        super.onStatusUpdated();
+        mFlingingControllerAdapter.onStatusUpdated();
+    }
+
+    @Override
     public FlingingController getFlingingController() {
         return mFlingingControllerAdapter;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappCustomTabTimeSpentLogger.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappCustomTabTimeSpentLogger.java
index 1ee6751..9ba16c74f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappCustomTabTimeSpentLogger.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappCustomTabTimeSpentLogger.java
@@ -7,15 +7,21 @@
 import android.os.SystemClock;
 
 import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider.LaunchSourceType;
 
 import java.util.concurrent.TimeUnit;
 
-/** Logs to UMA the amount of time user spends in a CCT for CCTs launched from webapps. */
+/**
+ * Logs to UMA the amount of time user spends in a CCT for CCTs launched from webapps.
+ *
+ * TODO(https://crbug.com/883402): Rename this to CustomTabTimeSpentLogger and refactor into the
+ * customtabs package.
+ */
 public class WebappCustomTabTimeSpentLogger {
     private long mStartTime;
-    private @WebappActivity.ActivityType int mActivityType;
+    private @LaunchSourceType int mActivityType;
 
-    private WebappCustomTabTimeSpentLogger(@WebappActivity.ActivityType int activityType) {
+    private WebappCustomTabTimeSpentLogger(@LaunchSourceType int activityType) {
         mActivityType = activityType;
         mStartTime = SystemClock.elapsedRealtime();
     }
@@ -26,7 +32,7 @@
      * @return {@link WebappCustomTabTimeSpentLogger} instance.
      */
     public static WebappCustomTabTimeSpentLogger createInstanceAndStartTimer(
-            @WebappActivity.ActivityType int activityType) {
+            @LaunchSourceType int activityType) {
         return new WebappCustomTabTimeSpentLogger(activityType);
     }
 
@@ -37,15 +43,18 @@
         long timeSpent = SystemClock.elapsedRealtime() - mStartTime;
         String umaSuffix;
         switch (mActivityType) {
-            case WebappActivity.ActivityType.WEBAPP:
+            case LaunchSourceType.WEBAPP:
                 umaSuffix = ".Webapp";
                 break;
-            case WebappActivity.ActivityType.WEBAPK:
+            case LaunchSourceType.WEBAPK:
                 umaSuffix = ".WebApk";
                 break;
-            case WebappActivity.ActivityType.TWA:
+            case LaunchSourceType.TWA:
                 umaSuffix = ".TWA";
                 break;
+            case LaunchSourceType.MEDIA_LAUNCHER_ACTIVITY:
+                umaSuffix = ".MediaLauncherActivity";
+                break;
             default:
                 umaSuffix = ".Other";
                 break;
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
index 9b3d707..81dab35 100644
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2273,6 +2273,9 @@
       <message name="IDS_DOWNLOAD_NOTIFICATION_PENDING_ANOTHER_DOWNLOAD" desc="Download notification to be displayed when a download has been scheduled but has not started being fetched from the network because another download is currently being downloaded.">
         Waiting for another download…
       </message>
+      <message name="IDS_DOWNLOAD_NOTIFICATION_INCOGNITO_SUBTEXT" desc="Displayed in incognito mode download notification as subtext.">
+        Incognito tab
+      </message>
       <message name="IDS_DOWNLOAD_CANT_OPEN_FILE" desc="Toast that appears when a downloaded file can't be opened.">
         Can’t open file
       </message>
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index 84684ce..6d1948c 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -2117,6 +2117,7 @@
   "javatests/src/org/chromium/chrome/browser/webapps/WebApkUpdateDataFetcherTest.java",
   "javatests/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java",
   "javatests/src/org/chromium/chrome/browser/webapps/WebappActionsNotificationTest.java",
+  "javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTest.java",
   "javatests/src/org/chromium/chrome/browser/webapps/WebappAuthenticatorTest.java",
   "javatests/src/org/chromium/chrome/browser/webapps/WebappDeferredStartupTest.java",
   "javatests/src/org/chromium/chrome/browser/webapps/WebappDisplayModeTest.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/download/MockDownloadNotificationService2.java b/chrome/android/javatests/src/org/chromium/chrome/browser/download/MockDownloadNotificationService2.java
index e727a96b..458c224 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/download/MockDownloadNotificationService2.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/download/MockDownloadNotificationService2.java
@@ -98,11 +98,11 @@
 
     @Override
     public void notifyDownloadFailed(final ContentId id, final String fileName, final Bitmap icon,
-            @FailState int failState) {
+            boolean isOffTheRecord, @FailState int failState) {
         ThreadUtils.runOnUiThreadBlocking(
                 ()
                         -> MockDownloadNotificationService2.super.notifyDownloadFailed(
-                                id, fileName, icon, failState));
+                                id, fileName, icon, isOffTheRecord, failState));
     }
 
     @Override
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTest.java
new file mode 100644
index 0000000..3266992f9
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTest.java
@@ -0,0 +1,29 @@
+// 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.webapps;
+
+import android.support.test.filters.SmallTest;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider.LaunchSourceType;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+
+/**
+ * Tests for WebappActivity class.
+ */
+@RunWith(ChromeJUnit4ClassRunner.class)
+public class WebappActivityTest {
+    @Test
+    @SmallTest
+    public void testActivityTypeMatchesLaunchSourceType() throws Exception {
+        Assert.assertEquals(LaunchSourceType.OTHER, WebappActivity.ActivityType.OTHER);
+        Assert.assertEquals(LaunchSourceType.WEBAPP, WebappActivity.ActivityType.WEBAPP);
+        Assert.assertEquals(LaunchSourceType.WEBAPK, WebappActivity.ActivityType.WEBAPK);
+        Assert.assertEquals(LaunchSourceType.TWA, WebappActivity.ActivityType.TWA);
+    }
+}
diff --git a/chrome/android/profiles/newest.txt b/chrome/android/profiles/newest.txt
index 3392872..bd2127c 100644
--- a/chrome/android/profiles/newest.txt
+++ b/chrome/android/profiles/newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-71.0.3551.0_rc-r1.afdo.bz2
\ No newline at end of file
+chromeos-chrome-amd64-71.0.3551.2_rc-r1.afdo.bz2
\ No newline at end of file
diff --git a/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/HostBrowserUtilsTest.java b/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/HostBrowserUtilsTest.java
index 4862aeab..24e2e955 100644
--- a/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/HostBrowserUtilsTest.java
+++ b/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/HostBrowserUtilsTest.java
@@ -206,7 +206,7 @@
     private void uninstallBrowser(String packageName) {
         Intent intent = null;
         try {
-            intent = Intent.parseUri("http://", Intent.URI_INTENT_SCHEME);
+            intent = WebApkUtils.getQueryInstalledBrowsersIntent();
         } catch (Exception e) {
             Assert.fail();
             return;
@@ -228,7 +228,7 @@
     private void mockInstallBrowsers(String[] browsersToInstall, String defaultBrowser) {
         Intent intent = null;
         try {
-            intent = Intent.parseUri("http://", Intent.URI_INTENT_SCHEME);
+            intent = WebApkUtils.getQueryInstalledBrowsersIntent();
         } catch (Exception e) {
             Assert.fail();
             return;
diff --git a/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/MainActivityTest.java b/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/MainActivityTest.java
index 7848a406..19d625c 100644
--- a/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/MainActivityTest.java
+++ b/chrome/android/webapk/shell_apk/junit/src/org/chromium/webapk/shell_apk/MainActivityTest.java
@@ -197,7 +197,7 @@
     }
 
     private void installBrowser(String browserPackageName) {
-        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://"));
+        Intent intent = WebApkUtils.getQueryInstalledBrowsersIntent();
         Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager())
                 .addResolveInfoForIntent(intent, newResolveInfo(browserPackageName));
         Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager())
diff --git a/chrome/android/webapk/shell_apk/shell_apk_version.gni b/chrome/android/webapk/shell_apk/shell_apk_version.gni
index ebd1f62..3dfe273 100644
--- a/chrome/android/webapk/shell_apk/shell_apk_version.gni
+++ b/chrome/android/webapk/shell_apk/shell_apk_version.gni
@@ -6,7 +6,7 @@
 # (including AndroidManifest.xml) is updated. This version should be incremented
 # prior to uploading a new ShellAPK to the WebAPK Minting Server.
 # Does not affect Chrome.apk
-template_shell_apk_version = 51
+template_shell_apk_version = 52
 
 # The ShellAPK version expected by Chrome. Chrome will try to update the WebAPK
 # if the WebAPK's ShellAPK version is less than |expected_shell_apk_version|.
diff --git a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserUtils.java b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserUtils.java
index c87056bf..74261ccd 100644
--- a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserUtils.java
+++ b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserUtils.java
@@ -11,7 +11,6 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
-import android.net.Uri;
 import android.text.TextUtils;
 
 import org.chromium.webapk.lib.common.WebApkConstants;
@@ -182,7 +181,7 @@
 
     /** Returns the package name of the default browser on the Android device. */
     private static String getDefaultBrowserPackageName(PackageManager packageManager) {
-        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://"));
+        Intent browserIntent = WebApkUtils.getQueryInstalledBrowsersIntent();
         ResolveInfo resolveInfo =
                 packageManager.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY);
         if (resolveInfo == null || resolveInfo.activityInfo == null) return null;
diff --git a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
index 4910a04..87b249e 100644
--- a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
+++ b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkUtils.java
@@ -90,10 +90,11 @@
 
     /** Returns a list of ResolveInfo for all of the installed browsers. */
     public static List<ResolveInfo> getInstalledBrowserResolveInfos(PackageManager packageManager) {
-        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://"));
+        Intent browserIntent = getQueryInstalledBrowsersIntent();
         // Note: {@link PackageManager#queryIntentActivities()} does not return ResolveInfos for
         // disabled browsers.
-        return packageManager.queryIntentActivities(browserIntent, PackageManager.MATCH_ALL);
+        return packageManager.queryIntentActivities(
+                browserIntent, PackageManager.MATCH_DEFAULT_ONLY);
     }
 
     /**
@@ -150,4 +151,14 @@
         int version = Integer.parseInt(versionName.substring(0, dotIndex));
         return version < MINIMUM_REQUIRED_CHROME_VERSION;
     }
+
+    /**
+     * Returns the Intent to query a list of installed browser apps.
+     */
+    static Intent getQueryInstalledBrowsersIntent() {
+        return new Intent()
+                .setAction(Intent.ACTION_VIEW)
+                .addCategory(Intent.CATEGORY_BROWSABLE)
+                .setData(Uri.parse("http://"));
+    }
 }
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
index 9f766e7b..b4a7704 100644
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -3329,6 +3329,9 @@
     <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_FINGERPRINT_LESS_SECURE" desc="Text telling users that fingerprints might be less secure than strong PINs or passwords.">
       Note: Your fingerprint may be less secure than a strong password or PIN.
     </message>
+    <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_DELETE_FINGERPRINT_ARIA_LABEL" desc="Aria label for the button in the fingerprint subpage that deletes a registered fingerprint. Only visible by screen reader software.">
+      delete [<ph name="FINGERPRINT_NAME">$1<ex>Fingerprint 1</ex></ph>], button
+    </message>
     <message name="IDS_SETTINGS_PEOPLE_LOCK_SCREEN_NEW_FINGERPRINT_DEFAULT_NAME" desc="The default name (plus a number for a newly added fingerprint).">
       Finger <ph name="NEW_FINGER_NUMBER">$1<ex>1</ex></ph>
     </message>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index cf5cf2e6..dd12cc4 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -441,6 +441,7 @@
     "download/image_thumbnail_request.h",
     "download/offline_item_model.cc",
     "download/offline_item_model.h",
+    "download/offline_item_model_data.h",
     "download/offline_item_model_manager.cc",
     "download/offline_item_model_manager.h",
     "download/offline_item_model_manager_factory.cc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 2155b82..829c421 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1692,6 +1692,10 @@
      flag_descriptions::kAndroidMessagesIntegrationName,
      flag_descriptions::kAndroidMessagesIntegrationDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(chromeos::features::kAndroidMessagesIntegration)},
+    {"enable_android_messages_prod_endpoint",
+     flag_descriptions::kAndroidMessagesProdEndpointName,
+     flag_descriptions::kAndroidMessagesProdEndpointDescription, kOsCrOS,
+     FEATURE_VALUE_TYPE(chromeos::features::kAndroidMessagesProdEndpoint)},
     {
         "enable-background-blur", flag_descriptions::kEnableBackgroundBlurName,
         flag_descriptions::kEnableBackgroundBlurDescription, kOsCrOS,
diff --git a/chrome/browser/android/feed/feed_offline_bridge.cc b/chrome/browser/android/feed/feed_offline_bridge.cc
index 62911262..05589d8 100644
--- a/chrome/browser/android/feed/feed_offline_bridge.cc
+++ b/chrome/browser/android/feed/feed_offline_bridge.cc
@@ -19,7 +19,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_android.h"
 #include "components/feed/content/feed_host_service.h"
-#include "components/offline_pages/core/offline_page_model.h"
+#include "components/feed/core/content_metadata.h"
 #include "jni/FeedOfflineBridge_jni.h"
 
 using base::android::JavaRef;
@@ -55,8 +55,11 @@
 FeedOfflineBridge::FeedOfflineBridge(const JavaRef<jobject>& j_this,
                                      FeedOfflineHost* offline_host)
     : j_this_(ScopedJavaGlobalRef<jobject>(j_this)),
-      offline_host_(offline_host) {
+      offline_host_(offline_host),
+      weak_factory_(this) {
   DCHECK(offline_host_);
+  offline_host_->Initialize(base::BindRepeating(
+      &FeedOfflineBridge::TriggerGetKnownContent, weak_factory_.GetWeakPtr()));
 }
 
 FeedOfflineBridge::~FeedOfflineBridge() = default;
@@ -106,4 +109,39 @@
   offline_host_->OnNoListeners();
 }
 
+void FeedOfflineBridge::AppendContentMetadata(
+    JNIEnv* env,
+    const base::android::JavaRef<jobject>& j_this,
+    const base::android::JavaRef<jstring>& j_url,
+    const base::android::JavaRef<jstring>& j_title,
+    const jlong j_time_published_ms,
+    const base::android::JavaRef<jstring>& j_image_url,
+    const base::android::JavaRef<jstring>& j_publisher,
+    const base::android::JavaRef<jstring>& j_favicon_url,
+    const base::android::JavaRef<jstring>& j_snippet) {
+  ContentMetadata metadata;
+  metadata.url = base::android::ConvertJavaStringToUTF8(env, j_url);
+  metadata.title = base::android::ConvertJavaStringToUTF8(env, j_title);
+  metadata.time_published = base::Time::FromJavaTime(j_time_published_ms);
+  metadata.image_url = base::android::ConvertJavaStringToUTF8(env, j_image_url);
+  metadata.publisher = base::android::ConvertJavaStringToUTF8(env, j_publisher);
+  metadata.favicon_url =
+      base::android::ConvertJavaStringToUTF8(env, j_favicon_url);
+  metadata.snippet = base::android::ConvertJavaStringToUTF8(env, j_snippet);
+  known_content_metadata_buffer_.push_back(std::move(metadata));
+}
+
+void FeedOfflineBridge::OnGetKnownContentDone(
+    JNIEnv* env,
+    const base::android::JavaRef<jobject>& j_this) {
+  offline_host_->OnGetKnownContentDone(
+      std::move(known_content_metadata_buffer_));
+}
+
+void FeedOfflineBridge::TriggerGetKnownContent() {
+  DCHECK(known_content_metadata_buffer_.empty());
+  JNIEnv* env = base::android::AttachCurrentThread();
+  Java_FeedOfflineBridge_getKnownContent(env, j_this_);
+}
+
 }  // namespace feed
diff --git a/chrome/browser/android/feed/feed_offline_bridge.h b/chrome/browser/android/feed/feed_offline_bridge.h
index 594a412..9d21c90 100644
--- a/chrome/browser/android/feed/feed_offline_bridge.h
+++ b/chrome/browser/android/feed/feed_offline_bridge.h
@@ -6,12 +6,13 @@
 #define CHROME_BROWSER_ANDROID_FEED_FEED_OFFLINE_BRIDGE_H_
 
 #include <jni.h>
-#include <stdint.h>
 #include <vector>
 
 #include "base/android/scoped_java_ref.h"
 #include "base/macros.h"
+#include "base/memory/weak_ptr.h"
 #include "components/feed/content/feed_offline_host.h"
+#include "components/feed/core/content_metadata.h"
 
 namespace feed {
 
@@ -48,13 +49,45 @@
   void OnNoListeners(JNIEnv* env,
                      const base::android::JavaRef<jobject>& j_this);
 
+  // Used to convert from Java ContentMetadata to a native ContentMetadata, and
+  // put the resulting object into |known_content_metadata_buffer_|. When a
+  // GetKnownContent() call finishes, this method should be synchronously called
+  // for every piece of data, and then OnGetKnownContentDone() should be called.
+  void AppendContentMetadata(
+      JNIEnv* env,
+      const base::android::JavaRef<jobject>& j_this,
+      const base::android::JavaRef<jstring>& j_url,
+      const base::android::JavaRef<jstring>& j_title,
+      const jlong j_time_published_ms,
+      const base::android::JavaRef<jstring>& j_image_url,
+      const base::android::JavaRef<jstring>& j_publisher,
+      const base::android::JavaRef<jstring>& j_favicon_url,
+      const base::android::JavaRef<jstring>& j_snippet);
+
+  // Called to flush the contents of |known_content_metadata_buffer_| to the
+  // |offline_host_|. This should happen at the end of a GetKnownContent() call,
+  // and after AppendContentMetadata() is called for all data.
+  void OnGetKnownContentDone(JNIEnv* env,
+                             const base::android::JavaRef<jobject>& j_this);
+
  private:
+  // Starts an the async request for ContentMetadata through KnownContentApi's
+  // GetKnownContent(). Assumes the caller was FeedOfflineHost and will directly
+  // call FeedOfflineHost::OnGetKnownContentDone() on async completion.
+  void TriggerGetKnownContent();
+
   // Reference to the Java half of this bridge. Always valid.
   base::android::ScopedJavaGlobalRef<jobject> j_this_;
 
   // Object to which all Java to native calls are delegated.
   FeedOfflineHost* offline_host_;
 
+  // Temporarily holds ContentMetadata objects during the completion of a
+  // GetKnownContent call.
+  std::vector<ContentMetadata> known_content_metadata_buffer_;
+
+  base::WeakPtrFactory<FeedOfflineBridge> weak_factory_;
+
   DISALLOW_COPY_AND_ASSIGN(FeedOfflineBridge);
 };
 
diff --git a/chrome/browser/apps/guest_view/web_view_browsertest.cc b/chrome/browser/apps/guest_view/web_view_browsertest.cc
index b98091ee..ce14f12 100644
--- a/chrome/browser/apps/guest_view/web_view_browsertest.cc
+++ b/chrome/browser/apps/guest_view/web_view_browsertest.cc
@@ -886,6 +886,24 @@
   static float scale() { return 2.0f; }
 };
 
+// TODO(mcnee): These tests are BrowserPlugin specific. While WebView itself
+// is no longer based on BrowserPlugin, MimeHandlerViewGuest is. We'll keep
+// these tests (that would otherwise be removed) so that we keep test coverage
+// of functionality that could still be relevant to MimeHandlerViewGuest. Once
+// MimeHandlerViewGuest is no longer based on BrowserPlugin, remove these
+// tests. (See https://crbug.com/533069 and https://crbug.com/659750).
+class WebViewBrowserPluginSpecificTest : public WebViewTest {
+ protected:
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    WebViewTest::SetUpCommandLine(command_line);
+    scoped_feature_list_.InitAndDisableFeature(
+        features::kGuestViewCrossProcessFrames);
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
 class WebContentsAudioMutedObserver : public content::WebContentsObserver {
  public:
   explicit WebContentsAudioMutedObserver(content::WebContents* web_contents)
@@ -4039,6 +4057,71 @@
   }
 }
 
+class WebViewScrollGuestContentBrowserPluginSpecificTest
+    : public WebViewBrowserPluginSpecificTest {
+ public:
+  ~WebViewScrollGuestContentBrowserPluginSpecificTest() override {}
+
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    WebViewBrowserPluginSpecificTest::SetUpCommandLine(command_line);
+
+    command_line->AppendSwitchASCII(
+        switches::kTouchEventFeatureDetection,
+        switches::kTouchEventFeatureDetectionEnabled);
+  }
+};
+
+#if defined(USE_AURA)
+// This verifies the fix for crbug.com/694393 .
+IN_PROC_BROWSER_TEST_F(WebViewScrollGuestContentBrowserPluginSpecificTest,
+                       OverscrollControllerSeesConsumedScrollsInGuest) {
+  // This test is only relevant for non-OOPIF WebView as OOPIF-based WebView
+  // uses different scroll bubbling logic.
+  DCHECK(
+      !base::FeatureList::IsEnabled(::features::kGuestViewCrossProcessFrames));
+
+  LoadAppWithGuest("web_view/scrollable_embedder_and_guest");
+
+  content::WebContents* embedder_contents = GetEmbedderWebContents();
+  content::RenderFrameSubmissionObserver embedder_frame_observer(
+      embedder_contents);
+
+  std::vector<content::WebContents*> guest_web_contents_list;
+  GetGuestViewManager()->WaitForNumGuestsCreated(1u);
+  GetGuestViewManager()->GetGuestWebContentsList(&guest_web_contents_list);
+  ASSERT_EQ(1u, guest_web_contents_list.size());
+
+  content::WebContents* guest_contents = guest_web_contents_list[0];
+  content::RenderFrameSubmissionObserver guest_frame_observer(guest_contents);
+
+  gfx::Rect embedder_rect = embedder_contents->GetContainerBounds();
+  gfx::Rect guest_rect = guest_contents->GetContainerBounds();
+  guest_rect.set_x(guest_rect.x() - embedder_rect.x());
+  guest_rect.set_y(guest_rect.y() - embedder_rect.y());
+
+  content::RenderWidgetHostView* embedder_host_view =
+      embedder_contents->GetRenderWidgetHostView();
+  gfx::Vector2dF default_offset;
+  guest_frame_observer.WaitForScrollOffset(default_offset);
+  embedder_frame_observer.WaitForScrollOffset(default_offset);
+
+  // If we scroll the guest, the OverscrollController for the
+  // RenderWidgetHostViewAura should see that the scroll was consumed.
+  // If it doesn't, this test will time out indicating failure.
+  content::MockOverscrollController* mock_overscroll_controller =
+      content::MockOverscrollController::Create(embedder_host_view);
+
+  gfx::Point guest_scroll_location(guest_rect.width() / 2, 0);
+  float gesture_distance = 15.f;
+  // It's sufficient to scroll vertically, since all we need to test is that
+  // the OverscrollController sees consumed scrolls.
+  content::SimulateGestureScrollSequence(guest_contents, guest_scroll_location,
+                                         gfx::Vector2dF(0, -gesture_distance));
+
+  mock_overscroll_controller->WaitForConsumedScroll();
+}
+#endif
+
 // This runs the chrome://chrome-signin page which includes an OOPIF-<webview>
 // of accounts.google.com.
 class ChromeSignInWebViewTest : public WebViewTest {
diff --git a/chrome/browser/chromeos/android_sms/BUILD.gn b/chrome/browser/chromeos/android_sms/BUILD.gn
index 3531206c..3753dec 100644
--- a/chrome/browser/chromeos/android_sms/BUILD.gn
+++ b/chrome/browser/chromeos/android_sms/BUILD.gn
@@ -12,6 +12,7 @@
 
   deps = [
     "//base",
+    "//chromeos:chromeos",
     "//url",
   ]
 }
diff --git a/chrome/browser/chromeos/android_sms/android_sms_urls.cc b/chrome/browser/chromeos/android_sms/android_sms_urls.cc
index d5abce2..8d7e2d1 100644
--- a/chrome/browser/chromeos/android_sms/android_sms_urls.cc
+++ b/chrome/browser/chromeos/android_sms/android_sms_urls.cc
@@ -9,6 +9,7 @@
 #include "base/command_line.h"
 #include "base/optional.h"
 #include "chrome/browser/chromeos/android_sms/android_sms_switches.h"
+#include "chromeos/chromeos_features.h"
 #include "url/gurl.h"
 
 namespace chromeos {
@@ -18,9 +19,11 @@
 namespace {
 
 // NOTE: Using internal staging server until changes roll out to prod.
-const char kDefaultAndroidMessagesUrl[] =
+const char kAndroidMessagesSandboxUrl[] =
     "https://android-messages.sandbox.google.com/";
 
+const char kAndroidMessagesProdUrl[] = "https://messages.android.com/";
+
 // NOTE: Using experiment mods until changes roll out to prod.
 const char kExperimentUrlParams[] =
     "?e=DittoServiceWorker,DittoPwa,DittoIndexedDb";
@@ -31,8 +34,11 @@
   std::string url_string =
       command_line->GetSwitchValueASCII(switches::kAlternateAndroidMessagesUrl);
 
+  bool use_prod_url = base::FeatureList::IsEnabled(
+      chromeos::features::kAndroidMessagesProdEndpoint);
   if (url_string.empty())
-    url_string = std::string(kDefaultAndroidMessagesUrl);
+    url_string = std::string(use_prod_url ? kAndroidMessagesProdUrl
+                                          : kAndroidMessagesSandboxUrl);
   if (with_experiments)
     url_string += std::string(kExperimentUrlParams);
   return GURL(url_string);
diff --git a/chrome/browser/chromeos/arc/arc_util.cc b/chrome/browser/chromeos/arc/arc_util.cc
index 6ae08ce4..5a75249a 100644
--- a/chrome/browser/chromeos/arc/arc_util.cc
+++ b/chrome/browser/chromeos/arc/arc_util.cc
@@ -630,6 +630,9 @@
   if (chromeos::DemoSession::IsDeviceInDemoMode())
     return ash::mojom::AssistantAllowedState::DISALLOWED_BY_DEMO_MODE;
 
+  if (user_manager::UserManager::Get()->IsLoggedInAsPublicAccount())
+    return ash::mojom::AssistantAllowedState::DISALLOWED_BY_PUBLIC_SESSION;
+
   if (chromeos::switches::IsAssistantEnabled()) {
     const std::string kAllowedLocales[] = {ULOC_US, ULOC_UK, ULOC_CANADA,
                                            ULOC_CANADA_FRENCH};
diff --git a/chrome/browser/chromeos/arc/arc_util_unittest.cc b/chrome/browser/chromeos/arc/arc_util_unittest.cc
index d36a5c1..e037dace 100644
--- a/chrome/browser/chromeos/arc/arc_util_unittest.cc
+++ b/chrome/browser/chromeos/arc/arc_util_unittest.cc
@@ -653,6 +653,20 @@
                     user_manager::USER_TYPE_PUBLIC_ACCOUNT);
   EXPECT_EQ(ash::mojom::AssistantAllowedState::DISALLOWED_BY_DEMO_MODE,
             IsAssistantAllowedForProfile(profile()));
+
+  chromeos::DemoSession::SetDemoConfigForTesting(
+      chromeos::DemoSession::DemoModeConfig::kNone);
+}
+
+TEST_F(ChromeArcUtilTest, IsAssistantAllowedForProfile_PublicSession) {
+  base::CommandLine::ForCurrentProcess()->InitFromArgv(
+      {"", "--arc-availability=officially-supported",
+       "--enable-voice-interaction"});
+  ScopedLogIn login(GetFakeUserManager(),
+                    AccountId::FromUserEmail(profile()->GetProfileUserName()),
+                    user_manager::USER_TYPE_PUBLIC_ACCOUNT);
+  EXPECT_EQ(ash::mojom::AssistantAllowedState::DISALLOWED_BY_PUBLIC_SESSION,
+            IsAssistantAllowedForProfile(profile()));
 }
 
 // Test the AreArcAllOptInPreferencesIgnorableForProfile() function.
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
index f20580a..99d9b65 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
@@ -1296,45 +1296,6 @@
   SendResponse(true);
 }
 
-bool FileManagerPrivateInternalGetShareUrlFunction::RunAsync() {
-  using extensions::api::file_manager_private_internal::GetShareUrl::Params;
-  const std::unique_ptr<Params> params(Params::Create(*args_));
-  EXTENSION_FUNCTION_VALIDATE(params);
-
-  const base::FilePath path = file_manager::util::GetLocalPathFromURL(
-      render_frame_host(), GetProfile(), GURL(params->url));
-  DCHECK(drive::util::IsUnderDriveMountPoint(path));
-
-  const base::FilePath drive_path = drive::util::ExtractDrivePath(path);
-
-  drive::FileSystemInterface* const file_system =
-      drive::util::GetFileSystemByProfile(GetProfile());
-  if (!file_system) {
-    // |file_system| is NULL if Drive is disabled.
-    return false;
-  }
-
-  file_system->GetShareUrl(
-      drive_path,
-      GURL("chrome-extension://" + extension_id()),  // embed origin
-      base::Bind(&FileManagerPrivateInternalGetShareUrlFunction::OnGetShareUrl,
-                 this));
-  return true;
-}
-
-void FileManagerPrivateInternalGetShareUrlFunction::OnGetShareUrl(
-    drive::FileError error,
-    const GURL& share_url) {
-  if (error != drive::FILE_ERROR_OK) {
-    SetError("Share Url for this item is not available.");
-    SendResponse(false);
-    return;
-  }
-
-  SetResult(std::make_unique<base::Value>(share_url.spec()));
-  SendResponse(true);
-}
-
 bool FileManagerPrivateInternalRequestDriveShareFunction::RunAsync() {
   using extensions::api::file_manager_private_internal::RequestDriveShare::
       Params;
@@ -1398,7 +1359,7 @@
     ~FileManagerPrivateInternalGetDownloadUrlFunction() = default;
 
 bool FileManagerPrivateInternalGetDownloadUrlFunction::RunAsync() {
-  using extensions::api::file_manager_private_internal::GetShareUrl::Params;
+  using extensions::api::file_manager_private_internal::GetDownloadUrl::Params;
   const std::unique_ptr<Params> params(Params::Create(*args_));
   EXTENSION_FUNCTION_VALIDATE(params);
 
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.h b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.h
index 6a65ea19..5cb6682 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.h
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.h
@@ -210,24 +210,6 @@
                             const std::string& access_token);
 };
 
-// Implements the chrome.fileManagerPrivate.getShareUrl method.
-class FileManagerPrivateInternalGetShareUrlFunction
-    : public LoggedAsyncExtensionFunction {
- public:
-  DECLARE_EXTENSION_FUNCTION("fileManagerPrivateInternal.getShareUrl",
-                             FILEMANAGERPRIVATEINTERNAL_GETSHAREURL)
-
- protected:
-  ~FileManagerPrivateInternalGetShareUrlFunction() override = default;
-
-  // ChromeAsyncExtensionFunction overrides.
-  bool RunAsync() override;
-
-  // Callback with an url to the sharing dialog as |share_url|, called by
-  // FileSystem::GetShareUrl.
-  void OnGetShareUrl(drive::FileError error, const GURL& share_url);
-};
-
 // Implements the chrome.fileManagerPrivate.requestDriveShare method.
 class FileManagerPrivateInternalRequestDriveShareFunction
     : public LoggedAsyncExtensionFunction {
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc
index 8a8ecdb..a9bbb039 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc
@@ -6,6 +6,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "base/files/file_util.h"
 #include "base/format_macros.h"
@@ -135,9 +136,9 @@
   }
 
   file_system->IsCacheFileMarkedAsMounted(
-      drive_path, base::Bind(&FileManagerPrivateAddMountFunction::
-                                 RunAfterIsCacheFileMarkedAsMounted,
-                             this, drive_path, cache_path));
+      drive_path, base::BindOnce(&FileManagerPrivateAddMountFunction::
+                                     RunAfterIsCacheFileMarkedAsMounted,
+                                 this, drive_path, cache_path));
 }
 
 void FileManagerPrivateAddMountFunction::RunAfterIsCacheFileMarkedAsMounted(
@@ -167,10 +168,9 @@
   }
   file_system->MarkCacheFileAsMounted(
       drive_path,
-      base::Bind(
+      base::BindOnce(
           &FileManagerPrivateAddMountFunction::RunAfterMarkCacheFileAsMounted,
-          this,
-          drive_path.BaseName()));
+          this, drive_path.BaseName()));
 }
 
 void FileManagerPrivateAddMountFunction::RunAfterMarkCacheFileAsMounted(
@@ -312,9 +312,10 @@
   // doesn't give bad side effect.
   if (is_mounted) {
     file_system->MarkCacheFileAsMounted(
-        drive_path, base::Bind(&FileManagerPrivateMarkCacheAsMountedFunction::
-                                   RunAfterMarkCacheFileAsMounted,
-                               this));
+        drive_path,
+        base::BindOnce(&FileManagerPrivateMarkCacheAsMountedFunction::
+                           RunAfterMarkCacheFileAsMounted,
+                       this));
   } else {
     file_system->MarkCacheFileAsUnmounted(
         cache_path, base::Bind(&FileManagerPrivateMarkCacheAsMountedFunction::
diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
index 73328137..308b295 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
@@ -434,7 +434,9 @@
     ShareAndManageDialog, /* share_and_manage_dialog.js */
     FilesAppBrowserTest,
     ::testing::Values(TestCase("shareFileDrive"),
+                      TestCase("shareFileDrive").EnableDriveFs(),
                       TestCase("shareDirectoryDrive"),
+                      TestCase("shareDirectoryDrive").EnableDriveFs(),
                       TestCase("manageHostedFileDrive"),
                       TestCase("manageHostedFileDrive").EnableDriveFs(),
                       TestCase("manageFileDrive"),
diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest_base.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest_base.cc
index c51200f..9ae88bd 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_browsertest_base.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest_base.cc
@@ -767,12 +767,6 @@
     }
   }
 
-  // Sets the url base for the test server to be used to generate share urls
-  // on the files and directories.
-  virtual void ConfigureShareUrlBase(const GURL& share_url_base) {
-    fake_drive_service_->set_share_url_base(share_url_base);
-  }
-
   drive::DriveIntegrationService* CreateDriveIntegrationService(
       Profile* profile) {
     if (!CreateRootDirectory(profile))
@@ -850,8 +844,6 @@
     ASSERT_TRUE(UpdateModifiedTime(entry));
   }
 
-  void ConfigureShareUrlBase(const GURL& share_url_base) override {}
-
  private:
   base::RepeatingCallback<
       std::unique_ptr<drivefs::DriveFsHost::MojoConnectionDelegate>()>
@@ -1048,12 +1040,9 @@
   CHECK(local_volume_->Mount(profile()));
 
   if (!IsGuestModeTest()) {
-    // Start the embedded test server to serve the mocked share dialog.
+    // Start the embedded test server to serve the mocked CWS widget container.
     CHECK(embedded_test_server()->Start());
-    const GURL share_url_base(embedded_test_server()->GetURL(
-        "/chromeos/file_manager/share_dialog_mock/index.html"));
     drive_volume_ = drive_volumes_[profile()->GetOriginalProfile()].get();
-    drive_volume_->ConfigureShareUrlBase(share_url_base);
     test_util::WaitUntilDriveMountPointIsAdded(profile());
 
     // Init crostini.  Set prefs to enable crostini and register
diff --git a/chrome/browser/download/download_shelf_controller.cc b/chrome/browser/download/download_shelf_controller.cc
index 57f24ee..38eea15 100644
--- a/chrome/browser/download/download_shelf_controller.cc
+++ b/chrome/browser/download/download_shelf_controller.cc
@@ -25,7 +25,7 @@
 
 void DownloadShelfController::OnItemRemoved(const ContentId& id) {
   OfflineItemModelManagerFactory::GetForBrowserContext(profile_)
-      ->RemoveOfflineItemModel(id);
+      ->RemoveOfflineItemModelData(id);
 }
 
 void DownloadShelfController::OnItemUpdated(const OfflineItem& item) {
@@ -34,15 +34,15 @@
 
   OfflineItemModelManager* manager =
       OfflineItemModelManagerFactory::GetForBrowserContext(profile_);
-  OfflineItemModel* model = manager->GetOrCreateOfflineItemModel(item);
-
-  if (!model->was_ui_notified()) {
-    OnNewOfflineItemReady(item);
-    model->set_was_ui_notified(true);
+  OfflineItemModel model(manager, item);
+  if (!model.WasUINotified()) {
+    model.SetWasUINotified(true);
+    OnNewOfflineItemReady(model);
   }
 }
 
-void DownloadShelfController::OnNewOfflineItemReady(const OfflineItem& item) {
+void DownloadShelfController::OnNewOfflineItemReady(
+    const OfflineItemModel& item) {
   Browser* browser = browser = chrome::FindLastActiveWithProfile(profile_);
 
   if (browser && browser->window()) {
diff --git a/chrome/browser/download/download_shelf_controller.h b/chrome/browser/download/download_shelf_controller.h
index e31acd4..6634e42087 100644
--- a/chrome/browser/download/download_shelf_controller.h
+++ b/chrome/browser/download/download_shelf_controller.h
@@ -31,7 +31,7 @@
   void OnItemUpdated(const OfflineItem& item) override;
 
   // Called when a new OfflineItem is to be displayed on UI.
-  void OnNewOfflineItemReady(const OfflineItem& item);
+  void OnNewOfflineItemReady(const OfflineItemModel& item);
 
   Profile* profile_;
 
diff --git a/chrome/browser/download/offline_item_model.cc b/chrome/browser/download/offline_item_model.cc
index aae73de..5675f04c 100644
--- a/chrome/browser/download/offline_item_model.cc
+++ b/chrome/browser/download/offline_item_model.cc
@@ -4,8 +4,39 @@
 
 #include "chrome/browser/download/offline_item_model.h"
 
+#include "chrome/browser/download/offline_item_model_manager.h"
+
 OfflineItemModel::OfflineItemModel(
+    OfflineItemModelManager* manager,
     const offline_items_collection::OfflineItem& offline_item)
-    : was_ui_notified_(false) {}
+    : manager_(manager), offline_item_(offline_item) {}
 
 OfflineItemModel::~OfflineItemModel() = default;
+
+int64_t OfflineItemModel::GetCompletedBytes() const {
+  return offline_item_.received_bytes;
+}
+
+int64_t OfflineItemModel::GetTotalBytes() const {
+  return offline_item_.total_size_bytes > 0 ? offline_item_.total_size_bytes
+                                            : 0;
+}
+
+int OfflineItemModel::PercentComplete() const {
+  if (GetTotalBytes() <= 0)
+    return -1;
+
+  return static_cast<int>(GetCompletedBytes() * 100.0 / GetTotalBytes());
+}
+
+bool OfflineItemModel::WasUINotified() const {
+  const OfflineItemModelData* data =
+      manager_->GetOrCreateOfflineItemModelData(offline_item_.id);
+  return data->was_ui_notified_;
+}
+
+void OfflineItemModel::SetWasUINotified(bool was_ui_notified) {
+  OfflineItemModelData* data =
+      manager_->GetOrCreateOfflineItemModelData(offline_item_.id);
+  data->was_ui_notified_ = was_ui_notified;
+}
diff --git a/chrome/browser/download/offline_item_model.h b/chrome/browser/download/offline_item_model.h
index ee82144f..fe786d6 100644
--- a/chrome/browser/download/offline_item_model.h
+++ b/chrome/browser/download/offline_item_model.h
@@ -7,23 +7,40 @@
 
 #include "components/offline_items_collection/core/offline_item.h"
 
+class OfflineItemModelManager;
+
 // This class is an abstraction for common UI tasks and properties associated
-// with an OfflineItem.
+// with an OfflineItem. This item is short lived, all the state needs be stored
+// in OfflineItemModelData.
 class OfflineItemModel {
  public:
   // Constructs a OfflineItemModel.
-  explicit OfflineItemModel(
-      const offline_items_collection::OfflineItem& offline_item);
+  OfflineItemModel(OfflineItemModelManager* manager,
+                   const offline_items_collection::OfflineItem& offline_item);
   ~OfflineItemModel();
 
-  bool was_ui_notified() const { return was_ui_notified_; }
+  // Get the number of bytes that has completed so far.
+  int64_t GetCompletedBytes() const;
 
-  void set_was_ui_notified(bool was_ui_notified) {
-    was_ui_notified_ = was_ui_notified;
-  }
+  // Get the total number of bytes for this download. Should return 0 if the
+  // total size of the download is not known.
+  int64_t GetTotalBytes() const;
+
+  // Rough percent complete. Returns -1 if the progress is unknown.
+  int PercentComplete() const;
+
+  // Returns |true| if the UI has been notified about this download. By default,
+  // this value is |false| and should be changed explicitly using
+  // SetWasUINotified().
+  bool WasUINotified() const;
+
+  // Change what's returned by WasUINotified().
+  void SetWasUINotified(bool should_notify);
 
  private:
-  bool was_ui_notified_;
+  OfflineItemModelManager* manager_;
+
+  offline_items_collection::OfflineItem offline_item_;
 
   DISALLOW_COPY_AND_ASSIGN(OfflineItemModel);
 };
diff --git a/chrome/browser/download/offline_item_model_data.h b/chrome/browser/download/offline_item_model_data.h
new file mode 100644
index 0000000..bcf7ea1d
--- /dev/null
+++ b/chrome/browser/download/offline_item_model_data.h
@@ -0,0 +1,15 @@
+// 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_DOWNLOAD_OFFLINE_ITEM_MODEL_DATA_H_
+#define CHROME_BROWSER_DOWNLOAD_OFFLINE_ITEM_MODEL_DATA_H_
+
+// Per OfflineItem data used by OfflineItemModel. The model doesn't keep any
+// state, all the state will be stored in this class.
+struct OfflineItemModelData {
+  // Whether the UI has been notified about this offline item.
+  bool was_ui_notified_ = false;
+};
+
+#endif  // CHROME_BROWSER_DOWNLOAD_OFFLINE_ITEM_MODEL_DATA_H_
diff --git a/chrome/browser/download/offline_item_model_manager.cc b/chrome/browser/download/offline_item_model_manager.cc
index bdd9bcf..e8b8d179 100644
--- a/chrome/browser/download/offline_item_model_manager.cc
+++ b/chrome/browser/download/offline_item_model_manager.cc
@@ -8,16 +8,15 @@
 
 OfflineItemModelManager::~OfflineItemModelManager() = default;
 
-OfflineItemModel* OfflineItemModelManager::GetOrCreateOfflineItemModel(
-    const OfflineItem& offline_item) {
-  auto it = offline_item_models_.find(offline_item.id);
-  if (it != offline_item_models_.end())
+OfflineItemModelData* OfflineItemModelManager::GetOrCreateOfflineItemModelData(
+    const ContentId& id) {
+  auto it = offline_item_model_data_.find(id);
+  if (it != offline_item_model_data_.end())
     return it->second.get();
-  offline_item_models_[offline_item.id] =
-      std::make_unique<OfflineItemModel>(offline_item);
-  return offline_item_models_[offline_item.id].get();
+  offline_item_model_data_[id] = std::make_unique<OfflineItemModelData>();
+  return offline_item_model_data_[id].get();
 }
 
-void OfflineItemModelManager::RemoveOfflineItemModel(const ContentId& id) {
-  offline_item_models_.erase(id);
+void OfflineItemModelManager::RemoveOfflineItemModelData(const ContentId& id) {
+  offline_item_model_data_.erase(id);
 }
diff --git a/chrome/browser/download/offline_item_model_manager.h b/chrome/browser/download/offline_item_model_manager.h
index c50961e..d66b00f 100644
--- a/chrome/browser/download/offline_item_model_manager.h
+++ b/chrome/browser/download/offline_item_model_manager.h
@@ -7,12 +7,11 @@
 
 #include <memory>
 
-#include "chrome/browser/download/offline_item_model.h"
+#include "chrome/browser/download/offline_item_model_data.h"
 #include "components/keyed_service/core/keyed_service.h"
 #include "components/offline_items_collection/core/offline_item.h"
 
 using ContentId = offline_items_collection::ContentId;
-using OfflineItem = offline_items_collection::OfflineItem;
 
 // Class for managing all the OfflineModels for a profile.
 class OfflineItemModelManager : public KeyedService {
@@ -23,13 +22,13 @@
 
   // Returns the OfflineItemModel for the ContentId, if not found, an empty
   // OfflineItemModel will be created and returned.
-  OfflineItemModel* GetOrCreateOfflineItemModel(
-      const OfflineItem& offline_item);
+  OfflineItemModelData* GetOrCreateOfflineItemModelData(const ContentId& id);
 
-  void RemoveOfflineItemModel(const ContentId& id);
+  void RemoveOfflineItemModelData(const ContentId& id);
 
  private:
-  std::map<ContentId, std::unique_ptr<OfflineItemModel>> offline_item_models_;
+  std::map<ContentId, std::unique_ptr<OfflineItemModelData>>
+      offline_item_model_data_;
 
   DISALLOW_COPY_AND_ASSIGN(OfflineItemModelManager);
 };
diff --git a/chrome/browser/extensions/api/web_request/web_request_apitest.cc b/chrome/browser/extensions/api/web_request/web_request_apitest.cc
index cd8f6d3c..32f9ff29 100644
--- a/chrome/browser/extensions/api/web_request/web_request_apitest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_apitest.cc
@@ -287,6 +287,24 @@
                                  std::move(params));
     return loader_factory;
   }
+
+  void InstallWebRequestExtension(const std::string& name) {
+    constexpr char kManifest[] = R"({
+      "name": "%s",
+      "version": "1",
+      "manifest_version": 2,
+      "permissions": [
+        "webRequest"
+      ]
+    })";
+    auto dir = std::make_unique<TestExtensionDir>();
+    dir->WriteManifest(base::StringPrintf(kManifest, name.c_str()));
+    LoadExtension(dir->UnpackedPath());
+    test_dirs_.push_back(std::move(dir));
+  }
+
+ private:
+  std::vector<std::unique_ptr<TestExtensionDir>> test_dirs_;
 };
 
 class DevToolsFrontendInWebRequestApiTest : public ExtensionApiTest {
@@ -1305,18 +1323,16 @@
   if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
     return;
 
-  auto* web_request_api =
-      extensions::BrowserContextKeyedAPIFactory<extensions::WebRequestAPI>::Get(
-          profile());
-  web_request_api->OnListenerAdded(
-      EventListenerInfo("name", "id1", GURL(), profile()));
+  InstallWebRequestExtension("extension");
 
   network::mojom::WebSocketPtr web_socket;
   network::mojom::WebSocketRequest request = mojo::MakeRequest(&web_socket);
   network::mojom::AuthenticationHandlerPtr auth_handler;
   content::RenderFrameHost* host =
       browser()->tab_strip_model()->GetActiveWebContents()->GetMainFrame();
-  web_request_api->MaybeProxyWebSocket(host, &request, &auth_handler);
+  extensions::BrowserContextKeyedAPIFactory<extensions::WebRequestAPI>::Get(
+      profile())
+      ->MaybeProxyWebSocket(host, &request, &auth_handler);
   content::BrowserContext::GetDefaultStoragePartition(profile())
       ->GetNetworkContext()
       ->CreateWebSocket(std::move(request), network::mojom::kBrowserProcessId,
@@ -1547,11 +1563,7 @@
   loader_factory.set_connection_error_handler(
       base::BindLambdaForTesting([&]() { has_connection_error = true; }));
 
-  auto* web_request_api =
-      extensions::BrowserContextKeyedAPIFactory<extensions::WebRequestAPI>::Get(
-          profile());
-  web_request_api->OnListenerAdded(
-      EventListenerInfo("name", "id1", GURL(), profile()));
+  InstallWebRequestExtension("extension1");
   content::BrowserContext::GetDefaultStoragePartition(profile())
       ->FlushNetworkInterfaceForTesting();
   EXPECT_TRUE(has_connection_error);
@@ -1561,8 +1573,7 @@
   has_connection_error = false;
   loader_factory.set_connection_error_handler(
       base::BindLambdaForTesting([&]() { has_connection_error = true; }));
-  web_request_api->OnListenerAdded(
-      EventListenerInfo("name", "id2", GURL(), profile()));
+  InstallWebRequestExtension("extension2");
   content::BrowserContext::GetDefaultStoragePartition(profile())
       ->FlushNetworkInterfaceForTesting();
   EXPECT_FALSE(has_connection_error);
@@ -1585,14 +1596,14 @@
 
   // Create a WebRequestAPI instance that we can control the lifetime of.
   auto api = std::make_unique<WebRequestAPI>(tmp_profile);
-  // Add a listener to make sure we proxy.
-  api->OnListenerAdded(EventListenerInfo("name", "id1", GURL(), tmp_profile));
+  // Make sure we are proxying for |tmp_profile|.
+  api->ForceProxyForTesting();
   content::BrowserContext::GetDefaultStoragePartition(tmp_profile)
       ->FlushNetworkInterfaceForTesting();
 
   network::mojom::URLLoaderFactoryPtr factory;
   auto request = mojo::MakeRequest(&factory);
-  api->MaybeProxyURLLoaderFactory(nullptr, false, &request);
+  EXPECT_TRUE(api->MaybeProxyURLLoaderFactory(nullptr, false, &request));
   auto params = network::mojom::URLLoaderFactoryParams::New();
   params->process_id = 0;
   content::BrowserContext::GetDefaultStoragePartition(tmp_profile)
diff --git a/chrome/browser/extensions/extension_context_menu_model_unittest.cc b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
index 49ddf26..4cfcc67 100644
--- a/chrome/browser/extensions/extension_context_menu_model_unittest.cc
+++ b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
@@ -1019,6 +1019,13 @@
       // Even with an all-hosts like pattern, we shouldn't show controls if
       // the extension can't run on the origin.
       {"https://*.com/*", "https://*.com/*", GURL("https://chromium.org"), {}},
+      // No controls should ever show for restricted pages, like
+      // chrome:-scheme pages or the webstore.
+      {"<all_urls>", "<all_urls>", GURL("chrome://extensions"), {}},
+      {"<all_urls>",
+       "<all_urls>",
+       ExtensionsClient::Get()->GetWebstoreBaseURL(),
+       {}},
   };
 
   // Add a web contents to the browser.
diff --git a/chrome/browser/extensions/scripting_permissions_modifier.cc b/chrome/browser/extensions/scripting_permissions_modifier.cc
index e5b9ac55..ca31aac 100644
--- a/chrome/browser/extensions/scripting_permissions_modifier.cc
+++ b/chrome/browser/extensions/scripting_permissions_modifier.cc
@@ -217,13 +217,20 @@
 
   DCHECK(granted_permissions);
 
+  const bool is_restricted_site =
+      extension_->permissions_data()->IsRestrictedUrl(url, /*error=*/nullptr);
+
   // For indicating whether an extension has access to a site, we look at the
   // granted permissions, which could include patterns that weren't explicitly
   // requested. However, we should still indicate they are granted, so that the
   // user can revoke them (and because if the extension does request them and
   // they are already granted, they are silently added).
-  if (granted_permissions->effective_hosts().MatchesSecurityOrigin(url))
+  // The extension should never have access to restricted sites (even if a
+  // pattern matches, as it may for e.g. the webstore).
+  if (!is_restricted_site &&
+      granted_permissions->effective_hosts().MatchesSecurityOrigin(url)) {
     access.has_site_access = true;
+  }
 
   const PermissionSet& withheld_permissions =
       extension_->permissions_data()->withheld_permissions();
@@ -231,8 +238,11 @@
   // Be sure to check |access.has_site_access| in addition to withheld
   // permissions, so that we don't indicate we've withheld permission if an
   // extension is granted https://a.com/*, but has *://*/* withheld.
-  if (withheld_permissions.effective_hosts().MatchesSecurityOrigin(url) &&
-      !access.has_site_access) {
+  // We similarly don't show access as withheld for restricted sites, since
+  // withheld permissions should only include those that are conceivably
+  // grantable.
+  if (!is_restricted_site && !access.has_site_access &&
+      withheld_permissions.effective_hosts().MatchesSecurityOrigin(url)) {
     access.withheld_site_access = true;
   }
 
@@ -250,6 +260,10 @@
 
 void ScriptingPermissionsModifier::GrantHostPermission(const GURL& url) {
   DCHECK(CanAffectExtension());
+  // Check that we don't grant host permission to a restricted URL.
+  DCHECK(
+      !extension_->permissions_data()->IsRestrictedUrl(url, /*error=*/nullptr))
+      << "Cannot grant access to a restricted URL.";
 
   URLPatternSet explicit_hosts;
   explicit_hosts.AddOrigin(Extension::kValidHostPermissionSchemes, url);
diff --git a/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc b/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc
index 72293d7..f1e8dc63 100644
--- a/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc
+++ b/chrome/browser/extensions/scripting_permissions_modifier_unittest.cc
@@ -594,6 +594,30 @@
     EXPECT_FALSE(site_access.withheld_all_sites_access);
   }
 
+  // Chrome pages should be restricted, and the extension shouldn't have access
+  // to them granted or withheld.
+  const GURL chrome_extensions("chrome://extensions");
+  {
+    const ScriptingPermissionsModifier::SiteAccess site_access =
+        modifier.GetSiteAccess(chrome_extensions);
+    EXPECT_FALSE(site_access.has_site_access);
+    EXPECT_FALSE(site_access.withheld_site_access);
+    EXPECT_TRUE(site_access.has_all_sites_access);
+    EXPECT_FALSE(site_access.withheld_all_sites_access);
+  }
+
+  // Other restricted urls should also be protected, and the extension shouldn't
+  // have or want access.
+  const GURL webstore = ExtensionsClient::Get()->GetWebstoreBaseURL();
+  {
+    const ScriptingPermissionsModifier::SiteAccess site_access =
+        modifier.GetSiteAccess(webstore);
+    EXPECT_FALSE(site_access.has_site_access);
+    EXPECT_FALSE(site_access.withheld_site_access);
+    EXPECT_TRUE(site_access.has_all_sites_access);
+    EXPECT_FALSE(site_access.withheld_all_sites_access);
+  }
+
   modifier.SetWithholdHostPermissions(true);
   {
     const ScriptingPermissionsModifier::SiteAccess site_access =
@@ -604,6 +628,16 @@
     EXPECT_TRUE(site_access.withheld_all_sites_access);
   }
 
+  // Restricted sites should not be considered "withheld".
+  {
+    const ScriptingPermissionsModifier::SiteAccess site_access =
+        modifier.GetSiteAccess(chrome_extensions);
+    EXPECT_FALSE(site_access.has_site_access);
+    EXPECT_FALSE(site_access.withheld_site_access);
+    EXPECT_FALSE(site_access.has_all_sites_access);
+    EXPECT_TRUE(site_access.withheld_all_sites_access);
+  }
+
   modifier.GrantHostPermission(example_com);
   {
     const ScriptingPermissionsModifier::SiteAccess site_access =
diff --git a/chrome/browser/extensions/service_worker_apitest.cc b/chrome/browser/extensions/service_worker_apitest.cc
index 2036d48..e080b8a5 100644
--- a/chrome/browser/extensions/service_worker_apitest.cc
+++ b/chrome/browser/extensions/service_worker_apitest.cc
@@ -284,17 +284,11 @@
   EXPECT_FALSE(process_manager()->GetBackgroundHostForExtension(extension_id));
 }
 
-#if defined(OS_LINUX)
-// Disabled on Linux due to flakes; see https://crbug.com/855800.
-#define MAYBE_Basic DISABLED_Basic
-#else
-#define MAYBE_Basic Basic
-#endif
 // After browser restarts, this test step ensures that opening a tab fires
 // tabs.onCreated event listener to the extension without explicitly loading the
 // extension. This is because the extension registered a listener before browser
 // restarted in PRE_Basic.
-IN_PROC_BROWSER_TEST_P(ServiceWorkerBasedBackgroundTest, MAYBE_Basic) {
+IN_PROC_BROWSER_TEST_P(ServiceWorkerBasedBackgroundTest, Basic) {
   ExtensionTestMessageListener newtab_listener("CREATED", false);
   newtab_listener.set_failure_message("CREATE_FAILED");
   const GURL url = embedded_test_server()->GetURL("/extensions/test_file.html");
@@ -1064,9 +1058,7 @@
   lazy_observer.Wait();
 }
 
-// Flaky: http://crbug/834200.
-IN_PROC_BROWSER_TEST_P(ServiceWorkerLazyBackgroundTest,
-                       DISABLED_EventsAfterRestart) {
+IN_PROC_BROWSER_TEST_P(ServiceWorkerLazyBackgroundTest, EventsAfterRestart) {
   ExtensionTestMessageListener newtab_listener("hello-newtab", false);
   content::WebContents* new_web_contents =
       AddTab(browser(), GURL(url::kAboutBlankURL));
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 9fdee00..e0746e94 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -47,6 +47,12 @@
 const char kAndroidMessagesIntegrationDescription[] =
     "Enables Chrome OS integration with Android messages.";
 
+const char kAndroidMessagesProdEndpointName[] =
+    "Use Android Messages prod endpoint";
+const char kAndroidMessagesProdEndpointDescription[] =
+    "For Android Messages integration, point to the prod endpoint instead of "
+    "sandbox.";
+
 const char kAppBannersName[] = "App Banners";
 const char kAppBannersDescription[] =
     "Enable the display of Progressive Web App banners, which prompt a user to "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 2ef9733..b62169e 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -55,6 +55,9 @@
 extern const char kAndroidMessagesIntegrationName[];
 extern const char kAndroidMessagesIntegrationDescription[];
 
+extern const char kAndroidMessagesProdEndpointName[];
+extern const char kAndroidMessagesProdEndpointDescription[];
+
 extern const char kAppBannersName[];
 extern const char kAppBannersDescription[];
 
diff --git a/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_browsertest.cc b/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_browsertest.cc
index 4475199..756ef72 100644
--- a/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_browsertest.cc
+++ b/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_browsertest.cc
@@ -132,18 +132,6 @@
   DISALLOW_COPY_AND_ASSIGN(ChromeMimeHandlerViewBrowserPluginTest);
 };
 
-class ChromeMimeHandlerViewBrowserPluginScrollTest
-    : public ChromeMimeHandlerViewBrowserPluginTest {
- public:
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    ChromeMimeHandlerViewBrowserPluginTest::SetUpCommandLine(command_line);
-
-    command_line->AppendSwitchASCII(
-        switches::kTouchEventFeatureDetection,
-        switches::kTouchEventFeatureDetectionEnabled);
-  }
-};
-
 // Helper class to monitor focus on a WebContents with BrowserPlugin (guest).
 class FocusChangeWaiter {
  public:
@@ -331,53 +319,20 @@
     ASSERT_FALSE(IsWebContentsBrowserPluginFocused(guest_web_contents()));
   }
 }
-
-// This verifies the fix for crbug.com/694393 .
-IN_PROC_BROWSER_TEST_F(ChromeMimeHandlerViewBrowserPluginScrollTest,
-                       OverscrollControllerSeesConsumedScrollsInGuest) {
-  InitializeTestPage(embedded_test_server()->GetURL("/test_embedded.html"));
-
-  // Part of set-up and making sure that pages respond to user scroll.
-  ASSERT_TRUE(ExecuteScript(guest_web_contents(), "ensurePageIsScrollable();"));
-  ASSERT_TRUE(
-      ExecuteScript(embedder_web_contents(), "ensurePageIsScrollable()"));
-
-  content::RenderFrameSubmissionObserver embedder_frame_observer(
-      embedder_web_contents());
-  content::RenderFrameSubmissionObserver guest_frame_observer(
-      guest_web_contents());
-
-  gfx::Rect embedder_rect = embedder_web_contents()->GetContainerBounds();
-  gfx::Rect guest_rect = guest_web_contents()->GetContainerBounds();
-  guest_rect.set_x(guest_rect.x() - embedder_rect.x());
-  guest_rect.set_y(guest_rect.y() - embedder_rect.y());
-
-  gfx::Vector2dF default_offset;
-  guest_frame_observer.WaitForScrollOffset(default_offset);
-  embedder_frame_observer.WaitForScrollOffset(default_offset);
-
-  content::RenderWidgetHostView* embedder_host_view =
-      embedder_web_contents()->GetRenderWidgetHostView();
-  // If we scroll the guest, the OverscrollController for the
-  // RenderWidgetHostViewAura should see that the scroll was consumed.
-  // If it doesn't, this test will time out indicating failure.
-  content::MockOverscrollController* mock_overscroll_controller =
-      content::MockOverscrollController::Create(embedder_host_view);
-
-  gfx::Point guest_scroll_location(guest_rect.width() / 2,
-                                   guest_rect.height() / 2);
-
-  float gesture_distance = 15.f;
-  // It's sufficient to scroll vertically, since all we need to test is that
-  // the OverscrollController sees consumed scrolls.
-  content::SimulateGestureScrollSequence(guest_web_contents(),
-                                         guest_scroll_location,
-                                         gfx::Vector2dF(0, -gesture_distance));
-
-  mock_overscroll_controller->WaitForConsumedScroll();
-}
 #endif  // USE_AURA
 
+class ChromeMimeHandlerViewBrowserPluginScrollTest
+    : public ChromeMimeHandlerViewBrowserPluginTest {
+ public:
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    ChromeMimeHandlerViewBrowserPluginTest::SetUpCommandLine(command_line);
+
+    command_line->AppendSwitchASCII(
+        switches::kTouchEventFeatureDetection,
+        switches::kTouchEventFeatureDetectionEnabled);
+  }
+};
+
 #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
 #define MAYBE_ScrollGuestContent DISABLED_ScrollGuestContent
 #else
diff --git a/chrome/browser/notifications/win/notification_image_retainer.cc b/chrome/browser/notifications/win/notification_image_retainer.cc
index e595d41..c89d0e3 100644
--- a/chrome/browser/notifications/win/notification_image_retainer.cc
+++ b/chrome/browser/notifications/win/notification_image_retainer.cc
@@ -82,8 +82,8 @@
   // To minimize the risk of collisions, separate each request by subdirectory
   // generated from hashes of the profile and the origin. Each file within the
   // subdirectory will also be given a unique filename.
-  base::string16 directory = base::UintToString16(base::Hash(
-      base::UTF8ToUTF16(profile_id) + base::UTF8ToUTF16(origin.spec())));
+  base::string16 directory =
+      base::UintToString16(base::Hash(profile_id + origin.spec()));
   FilePath temp_file =
       WriteDataToTmpFile(image_directory_, directory, image.As1xPNGBytes());
 
diff --git a/chrome/browser/notifications/win/notification_image_retainer_unittest.cc b/chrome/browser/notifications/win/notification_image_retainer_unittest.cc
index a6a029b..5a8cf86f 100644
--- a/chrome/browser/notifications/win/notification_image_retainer_unittest.cc
+++ b/chrome/browser/notifications/win/notification_image_retainer_unittest.cc
@@ -41,8 +41,7 @@
 
   base::string16 CalculateHash(const std::string& profile_id,
                                const GURL& origin) {
-    return base::UintToString16(base::Hash(base::UTF8ToUTF16(profile_id) +
-                                           base::UTF8ToUTF16(origin.spec())));
+    return base::UintToString16(base::Hash(profile_id + origin.spec()));
   }
 
  private:
diff --git a/chrome/browser/printing/pdf_nup_converter_client.cc b/chrome/browser/printing/pdf_nup_converter_client.cc
index b8adf0b..647ccd9 100644
--- a/chrome/browser/printing/pdf_nup_converter_client.cc
+++ b/chrome/browser/printing/pdf_nup_converter_client.cc
@@ -23,10 +23,11 @@
     int document_cookie,
     uint32_t pages_per_sheet,
     const gfx::Size& page_size,
+    const gfx::Rect& printable_area,
     std::vector<base::ReadOnlySharedMemoryRegion> pdf_page_regions,
     mojom::PdfNupConverter::NupPageConvertCallback callback) {
   auto& nup_converter = GetPdfNupConverterRequest(document_cookie);
-  nup_converter->NupPageConvert(pages_per_sheet, page_size,
+  nup_converter->NupPageConvert(pages_per_sheet, page_size, printable_area,
                                 std::move(pdf_page_regions),
                                 std::move(callback));
 }
@@ -35,11 +36,12 @@
     int document_cookie,
     uint32_t pages_per_sheet,
     const gfx::Size& page_size,
+    const gfx::Rect& printable_area,
     base::ReadOnlySharedMemoryRegion src_pdf_document,
     mojom::PdfNupConverter::NupDocumentConvertCallback callback) {
   auto& nup_converter = GetPdfNupConverterRequest(document_cookie);
   nup_converter->NupDocumentConvert(
-      pages_per_sheet, page_size, std::move(src_pdf_document),
+      pages_per_sheet, page_size, printable_area, std::move(src_pdf_document),
       base::BindOnce(&PdfNupConverterClient::OnDidNupPdfDocumentConvert,
                      base::Unretained(this), document_cookie,
                      std::move(callback)));
diff --git a/chrome/browser/printing/pdf_nup_converter_client.h b/chrome/browser/printing/pdf_nup_converter_client.h
index 33b0d84d..4c32505a 100644
--- a/chrome/browser/printing/pdf_nup_converter_client.h
+++ b/chrome/browser/printing/pdf_nup_converter_client.h
@@ -29,12 +29,14 @@
       int document_cookie,
       uint32_t pages_per_sheet,
       const gfx::Size& page_size,
+      const gfx::Rect& printable_area,
       std::vector<base::ReadOnlySharedMemoryRegion> pdf_page_regions,
       mojom::PdfNupConverter::NupPageConvertCallback callback);
   void DoNupPdfDocumentConvert(
       int document_cookie,
       uint32_t pages_per_sheet,
       const gfx::Size& page_size,
+      const gfx::Rect& printable_area,
       base::ReadOnlySharedMemoryRegion src_pdf_document,
       mojom::PdfNupConverter::NupDocumentConvertCallback callback);
 
diff --git a/chrome/browser/printing/print_preview_message_handler.cc b/chrome/browser/printing/print_preview_message_handler.cc
index 202ff9c..f2dd9861 100644
--- a/chrome/browser/printing/print_preview_message_handler.cc
+++ b/chrome/browser/printing/print_preview_message_handler.cc
@@ -61,6 +61,25 @@
   return page_number >= 0 && page_number < page_count;
 }
 
+// Checks whether |printable_area| can be used to form a valid symmetrical
+// printable area, so that margin_left equals margin_right, and margin_top
+// equals margin_bottom.  For example if
+// printable_area.x() * 2 >= page_size.width(), then the
+// content_width = page_size.width() - 2 * printable_area.x() would be zero or
+// negative, which is invalid.
+// |page_size| is the physical page size that includes margins.
+bool IsValidPrintableArea(const gfx::Size& page_size,
+                          const gfx::Rect& printable_area) {
+  return !printable_area.IsEmpty() && printable_area.x() >= 0 &&
+         printable_area.y() >= 0 &&
+         printable_area.right() <= page_size.width() &&
+         printable_area.bottom() <= page_size.height() &&
+         printable_area.x() * 2 < page_size.width() &&
+         printable_area.y() * 2 < page_size.height() &&
+         printable_area.right() * 2 > page_size.width() &&
+         printable_area.bottom() * 2 > page_size.height();
+}
+
 }  // namespace
 
 PrintPreviewMessageHandler::PrintPreviewMessageHandler(
@@ -339,11 +358,16 @@
       std::vector<base::ReadOnlySharedMemoryRegion> pdf_page_regions =
           print_preview_ui->TakePagesForNupConvert();
 
+      gfx::Rect printable_area = GetSymmetricalPrintableArea(
+          print_preview_ui->page_size(), print_preview_ui->printable_area());
+      if (printable_area.IsEmpty())
+        return;
+
       auto* client = PdfNupConverterClient::FromWebContents(web_contents());
       DCHECK(client);
       client->DoNupPdfConvert(
           document_cookie, pages_per_sheet, print_preview_ui->page_size(),
-          std::move(pdf_page_regions),
+          printable_area, std::move(pdf_page_regions),
           base::BindOnce(&PrintPreviewMessageHandler::OnNupPdfConvertDone,
                          weak_ptr_factory_.GetWeakPtr(), new_page_number, ids));
     }
@@ -395,9 +419,14 @@
     auto* client = PdfNupConverterClient::FromWebContents(web_contents());
     DCHECK(client);
 
+    gfx::Rect printable_area = GetSymmetricalPrintableArea(
+        print_preview_ui->page_size(), print_preview_ui->printable_area());
+    if (printable_area.IsEmpty())
+      return;
+
     client->DoNupPdfDocumentConvert(
         document_cookie, pages_per_sheet, print_preview_ui->page_size(),
-        std::move(region),
+        printable_area, std::move(region),
         base::BindOnce(&PrintPreviewMessageHandler::OnNupPdfDocumentConvertDone,
                        weak_ptr_factory_.GetWeakPtr(),
                        (page_count + pages_per_sheet - 1) / pages_per_sheet,
@@ -459,4 +488,24 @@
   return handled;
 }
 
+// static
+gfx::Rect PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area) {
+  if (!IsValidPrintableArea(page_size, printable_area))
+    return gfx::Rect();
+
+  int left_right_margin =
+      std::max(printable_area.x(), page_size.width() - printable_area.right());
+  int top_bottom_margin = std::max(
+      printable_area.y(), page_size.height() - printable_area.bottom());
+  int width = page_size.width() - 2 * left_right_margin;
+  int height = page_size.height() - 2 * top_bottom_margin;
+
+  gfx::Rect symmetrical_printable_area = gfx::Rect(page_size);
+  symmetrical_printable_area.ClampToCenteredSize(gfx::Size(width, height));
+
+  return symmetrical_printable_area;
+}
+
 }  // namespace printing
diff --git a/chrome/browser/printing/print_preview_message_handler.h b/chrome/browser/printing/print_preview_message_handler.h
index 8e3dd31c..cf88ffc 100644
--- a/chrome/browser/printing/print_preview_message_handler.h
+++ b/chrome/browser/printing/print_preview_message_handler.h
@@ -32,6 +32,7 @@
 
 namespace gfx {
 class Rect;
+class Size;
 }
 
 namespace printing {
@@ -49,6 +50,11 @@
   bool OnMessageReceived(const IPC::Message& message,
                          content::RenderFrameHost* render_frame_host) override;
 
+  // Gets a symmetrical printable area.  It is defined as a static function to
+  // make writing unit tests easier.
+  static gfx::Rect GetSymmetricalPrintableArea(const gfx::Size& page_size,
+                                               const gfx::Rect& printable_area);
+
  private:
   friend class content::WebContentsUserData<PrintPreviewMessageHandler>;
 
diff --git a/chrome/browser/printing/print_preview_message_handler_unittest.cc b/chrome/browser/printing/print_preview_message_handler_unittest.cc
new file mode 100644
index 0000000..c8401fc2
--- /dev/null
+++ b/chrome/browser/printing/print_preview_message_handler_unittest.cc
@@ -0,0 +1,42 @@
+// 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/printing/print_preview_message_handler.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace printing {
+
+using PrintPreviewMessageHandlerTest = testing::Test;
+
+TEST_F(PrintPreviewMessageHandlerTest, GetSymmetricalPrintableArea) {
+  gfx::Rect printable_area =
+      PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+          gfx::Size(612, 792), gfx::Rect(0, 0, 560, 750));
+  EXPECT_EQ(gfx::Rect(52, 42, 508, 708), printable_area);
+
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(50, 60, 550, 700));
+  EXPECT_EQ(gfx::Rect(50, 60, 512, 672), printable_area);
+
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(-1, 60, 520, 700));
+  EXPECT_EQ(gfx::Rect(), printable_area);
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(50, -1, 520, 700));
+  EXPECT_EQ(gfx::Rect(), printable_area);
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(100, 60, 520, 700));
+  EXPECT_EQ(gfx::Rect(), printable_area);
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(50, 100, 520, 700));
+  EXPECT_EQ(gfx::Rect(), printable_area);
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(400, 60, 212, 700));
+  EXPECT_EQ(gfx::Rect(), printable_area);
+  printable_area = PrintPreviewMessageHandler::GetSymmetricalPrintableArea(
+      gfx::Size(612, 792), gfx::Rect(40, 600, 212, 192));
+  EXPECT_EQ(gfx::Rect(), printable_area);
+}
+
+}  // namespace printing
diff --git a/chrome/browser/resources/about_invalidations.html b/chrome/browser/resources/about_invalidations.html
index 7b892719..d49aa98 100644
--- a/chrome/browser/resources/about_invalidations.html
+++ b/chrome/browser/resources/about_invalidations.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <meta charset="utf-8">
   <title>Invalidations</title>
diff --git a/chrome/browser/resources/bluetooth_internals/bluetooth_internals.html b/chrome/browser/resources/bluetooth_internals/bluetooth_internals.html
index ea388081..05135936 100644
--- a/chrome/browser/resources/bluetooth_internals/bluetooth_internals.html
+++ b/chrome/browser/resources/bluetooth_internals/bluetooth_internals.html
@@ -1,5 +1,5 @@
 <!DOCTYPE HTML>
-<html>
+<html lang="en">
 
 <!-- TODO(crbug.com/658814): Localize strings. -->
 <head>
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
index fb618d0..288e914 100644
--- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
+++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel.js
@@ -847,12 +847,18 @@
     // Watch for a blur on the panel.
     var pendingCallback = Panel.pendingCallback_;
     Panel.pendingCallback_ = null;
-    var onBlur = function(evt) {
-      if (evt.target.docUrl != location.href)
+    var onFocus = function(evt) {
+      if (evt.target.docUrl == location.href)
         return;
 
       desktop.removeEventListener(
-          chrome.automation.EventType.BLUR, onBlur, true);
+          chrome.automation.EventType.FOCUS, onFocus, true);
+
+      // Clears focus on the page by focusing the root explicitly. This makes
+      // sure we don't get future focus events as a result of giving this entire
+      // page focus and that would have interfered with with our desired range.
+      if (evt.target.root)
+        evt.target.root.focus();
 
       setTimeout(function() {
         if (pendingCallback)
@@ -860,7 +866,7 @@
       }, 0);
     };
 
-    desktop.addEventListener(chrome.automation.EventType.BLUR, onBlur, true);
+    desktop.addEventListener(chrome.automation.EventType.FOCUS, onFocus, true);
 
     // Make sure all menus are cleared to avoid bogous output when we re-open.
     Panel.clearMenus();
diff --git a/chrome/browser/resources/chromeos/cryptohome.html b/chrome/browser/resources/chromeos/cryptohome.html
index 9e11f11..64110c0 100644
--- a/chrome/browser/resources/chromeos/cryptohome.html
+++ b/chrome/browser/resources/chromeos/cryptohome.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
   <head>
     <title>About Cryptohome</title>
     <meta charset="utf-8">
diff --git a/chrome/browser/resources/chromeos/drive_internals.html b/chrome/browser/resources/chromeos/drive_internals.html
index c67a0c0..9a3d82b 100644
--- a/chrome/browser/resources/chromeos/drive_internals.html
+++ b/chrome/browser/resources/chromeos/drive_internals.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
   <head>
     <title>drive-internals</title>
     <meta charset="utf-8">
diff --git a/chrome/browser/resources/chromeos/login/oobe_network.html b/chrome/browser/resources/chromeos/login/oobe_network.html
index 2e4465d..67f7bdf 100644
--- a/chrome/browser/resources/chromeos/login/oobe_network.html
+++ b/chrome/browser/resources/chromeos/login/oobe_network.html
@@ -14,7 +14,7 @@
           icon2x="oobe-network-64:dialog-icon-wifi">
       </hd-iron-icon>
       <h1 slot="title">[[i18nDynamic(locale, 'networkSectionTitle')]]</h1>
-      <div slot="subtitle">
+      <div slot="subtitle" hidden$="[[isDemoModeSetup]]">
         [[i18nDynamic(locale, 'networkSectionHint')]]
       </div>
       <div slot="footer" class="layout vertical">
diff --git a/chrome/browser/resources/chromeos/sys_internals/index.html b/chrome/browser/resources/chromeos/sys_internals/index.html
index ecce429..1ca94540 100644
--- a/chrome/browser/resources/chromeos/sys_internals/index.html
+++ b/chrome/browser/resources/chromeos/sys_internals/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html>
+<html lang="en">
 <!--
 Copyright 2017 The Chromium Authors. All rights reserved.
 Use of this source code is governed by a BSD-style license that can be
diff --git a/chrome/browser/resources/chromeos/zip_archiver/unpacker-test/cpp/index.html b/chrome/browser/resources/chromeos/zip_archiver/unpacker-test/cpp/index.html
index 7ab8863..a2e1e89 100644
--- a/chrome/browser/resources/chromeos/zip_archiver/unpacker-test/cpp/index.html
+++ b/chrome/browser/resources/chromeos/zip_archiver/unpacker-test/cpp/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html>
+<html lang="en">
   <!--
   Copyright 2014 The Chromium Authors. All rights reserved.
   Use of this source code is governed by a BSD-style license that can be
diff --git a/chrome/browser/resources/eoc_internals/eoc_internals.html b/chrome/browser/resources/eoc_internals/eoc_internals.html
index a57a39f..1841605 100644
--- a/chrome/browser/resources/eoc_internals/eoc_internals.html
+++ b/chrome/browser/resources/eoc_internals/eoc_internals.html
@@ -5,7 +5,7 @@
 -->
 
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -135,4 +135,4 @@
       </template>
   </div>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/chrome/browser/resources/inspect/inspect.html b/chrome/browser/resources/inspect/inspect.html
index 40ed76f..cdd1e51 100644
--- a/chrome/browser/resources/inspect/inspect.html
+++ b/chrome/browser/resources/inspect/inspect.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <!--
 Copyright (c) 2012 The Chromium Authors. All rights reserved.
 Use of this source code is governed by a BSD-style license that can be
diff --git a/chrome/browser/resources/interventions_internals/unsupported_page.html b/chrome/browser/resources/interventions_internals/unsupported_page.html
index 733210f..e3cdfaf 100644
--- a/chrome/browser/resources/interventions_internals/unsupported_page.html
+++ b/chrome/browser/resources/interventions_internals/unsupported_page.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html>
+<html lang="en">
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width">
diff --git a/chrome/browser/resources/local_ntp/custom_backgrounds.css b/chrome/browser/resources/local_ntp/custom_backgrounds.css
index 3c3f782..3d8910a 100644
--- a/chrome/browser/resources/local_ntp/custom_backgrounds.css
+++ b/chrome/browser/resources/local_ntp/custom_backgrounds.css
@@ -354,22 +354,27 @@
   height: 64px;
   padding-left: 0;
   position: absolute;
+  text-align: right;
   user-select: none;
   width: 100%;
 }
 
+html[dir=rtl] #bg-sel-footer {
+  text-align: left;
+}
+
 .bg-sel-footer-button {
   border: none;
   border-radius: 4px;
-  bottom: 16px;
   font-family: 'Roboto', arial, sans-serif;
   font-size: 12px;
   font-weight: 500;
   height: 32px;
   line-height: normal;
+  margin-top: 16px;
   min-width: 60px;
   padding: 0 16px;
-  position: absolute;
+  position: relative;
   text-align: center;
   transition-duration: 200ms;
   transition-property: background-color, color, box-shadow, border;
@@ -384,12 +389,12 @@
 #bg-sel-footer-done {
   background-color: rgb(241, 243, 244);
   color: rgb(128, 134, 139);
-  right: 16px;
+  margin-right: 16px;
 }
 
 html[dir=rtl] #bg-sel-footer-done {
-  left: 16px;
-  right: auto;
+  margin-left: 16px;
+  margin-right: 0;
 }
 
 #bg-sel-footer-cancel {
@@ -397,13 +402,10 @@
   border: 1px solid rgb(218, 220, 224);
   color: rgb(26, 115, 232);
   margin-right: 8px;
-  right: 78px;
 }
 
 html[dir=rtl] #bg-sel-footer-cancel {
-  left: 78px;
   margin-left: 8px;
-  right: auto;
 }
 
 #bg-sel-footer-cancel:hover {
diff --git a/chrome/browser/resources/local_ntp/custom_backgrounds.js b/chrome/browser/resources/local_ntp/custom_backgrounds.js
index 16d1ea99..d32e295c 100644
--- a/chrome/browser/resources/local_ntp/custom_backgrounds.js
+++ b/chrome/browser/resources/local_ntp/custom_backgrounds.js
@@ -165,6 +165,13 @@
  */
 customBackgrounds.selectedTile = null;
 
+/**
+ * Number of tiles that will be preloaded.
+ * @type {number}
+ * @const
+ */
+customBackgrounds.FIRST_N_TILES = 9;
+
 /* Type of collection that is being browsed, needed in order
  * to return from the image dialog.
  * @type {int}
@@ -612,6 +619,9 @@
     imageData = photos;
   }
 
+  let preLoadTiles = [];
+  let postLoadTiles = [];
+
   for (var i = 0; i < imageData.length; ++i) {
     let tileBackground = document.createElement('div');
     tileBackground.classList.add(
@@ -626,31 +636,23 @@
     if (sourceIsChromeBackgrounds) {
       // TODO(crbug.com/854028): Remove this hardcoded check when wallpaper
       // previews are supported.
-      if (imageData[i].collectionId == 'solidcolors') {
-        var imageWithOverlay = [
-          customBackgrounds.CUSTOM_BACKGROUND_OVERLAY,
-          'url(' + imageData[i].thumbnailImageUrl + ')'
-        ].join(',').trim();
-        tile.style.backgroundImage = imageWithOverlay;
+      if (imageData[i].collectionId === 'solidcolors') {
         tile.dataset.attributionLine1 = '';
         tile.dataset.attributionLine2 = '';
         tile.dataset.attributionActionUrl = '';
       } else {
-        tile.style.backgroundImage =
-            'url(' + imageData[i].thumbnailImageUrl + ')';
         tile.dataset.attributionLine1 =
-          (imageData[i].attributions[0] != undefined ?
+          (imageData[i].attributions[0] !== undefined ?
                imageData[i].attributions[0] :
                '');
         tile.dataset.attributionLine2 =
-          (imageData[i].attributions[1] != undefined ?
+          (imageData[i].attributions[1] !== undefined ?
                imageData[i].attributions[1] :
                '');
         tile.dataset.attributionActionUrl = imageData[i].attributionActionUrl;
       }
       tile.setAttribute('aria-label', imageData[i].attributions[0]);
       tile.dataset.url = imageData[i].imageUrl;
-      fadeInImageTile(tile, imageData[i].thumbnailImageUrl);
     } else {
       tile.style.backgroundImage =
           'url(' + imageData[i].thumbnailPhotoUrl + ')';
@@ -659,13 +661,20 @@
       tile.dataset.attributionLine2 = '';
       tile.dataset.attributionActionUrl = '';
       tile.setAttribute('aria-label', configData.translatedStrings.photoLabel);
-      fadeInImageTile(tile, imageData[i].thumbnailPhotoUrl);
     }
 
     tile.id = 'img_tile_' + i;
     tile.dataset.tile_num = i;
     tile.tabIndex = -1;
 
+    //TODO(crbug.com/876814): Dynamically determine N based on the current
+    // window size
+    // Load the first FIRST_N_TILES tiles.
+    if (i < customBackgrounds.FIRST_N_TILES)
+      preLoadTiles.push(tile);
+    else
+      postLoadTiles.push(tile);
+
     let tileInteraction = function(tile) {
       if (customBackgrounds.selectedTile) {
         customBackgrounds.removeSelectedState(customBackgrounds.selectedTile);
@@ -738,13 +747,58 @@
     tileBackground.appendChild(tile);
     tileContainer.appendChild(tileBackground);
   }
+  let tileGetsLoaded = 0;
+  for (let tile of preLoadTiles) {
+    loadTile(tile, imageData, () => {
+      // After the |FIRST_N_TILES| finish loading, the rest of the tiles start
+      // loading.
+      if (++tileGetsLoaded === preLoadTiles.length) {
+        postLoadTiles.forEach((tile) => loadTile(tile, imageData));
+      }
+    });
+  }
+
   $(customBackgrounds.IDS.TILES).focus();
 };
 
-let fadeInImageTile = (tile, imageUrl) => {
+/**
+ * Add background image src to the tile and add animation for the tile once it
+ * successfully loaded.
+ * @param {Object} tile the tile that needs to be loaded.
+ * @param {object} imageData the source imageData.
+ * @param {?Function} countLoad If not null, called after the tile finishes
+ * loading.
+ */
+let loadTile = function(tile, imageData, countLoad) {
+  if (imageData[tile.dataset.tile_num].collectionId === 'solidcolors') {
+    tile.style.backgroundImage = [customBackgrounds.CUSTOM_BACKGROUND_OVERLAY,
+      'url(' + imageData[tile.dataset.tile_num].thumbnailImageUrl + ')'].join(
+        ',').trim();
+  } else {
+    tile.style.backgroundImage = 'url('
+        + imageData[tile.dataset.tile_num].thumbnailImageUrl + ')' || 'url('
+        + imageData[tile.dataset.tile_num].thumbnailPhotoUrl + ')';
+  }
+  fadeInImageTile(tile, imageData[tile.dataset.tile_num].thumbnailImageUrl
+      || imageData[tile.dataset.tile_num].thumbnailPhotoUrl, countLoad);
+};
+
+/**
+ * Fade in effect for both collection and image tile. Once the image
+ * successfully loads, we can assume the background image with the same source
+ * has also loaded. Then, we set opacity for the tile to start the animation.
+ * @param {Object} tile The tile to add the fade in animation to.
+ * @param {string} imageUrl the image url for the tile
+ * @param {?Function} countLoad If not null, called after the tile finishes
+ * loading.
+ */
+let fadeInImageTile = function(tile, imageUrl, countLoad) {
   let image = new Image();
   image.onload = () => {
     tile.style.opacity = '1';
+    if (countLoad) {
+      countLoad();
+    }
   };
   image.src = imageUrl;
 };
diff --git a/chrome/browser/resources/local_ntp/custom_links_edit.js b/chrome/browser/resources/local_ntp/custom_links_edit.js
index 03161f7..308b165 100644
--- a/chrome/browser/resources/local_ntp/custom_links_edit.js
+++ b/chrome/browser/resources/local_ntp/custom_links_edit.js
@@ -330,9 +330,7 @@
   let finishEditOrClose = (event) => {
     if (event.keyCode === KEYCODES.ENTER) {
       event.preventDefault();
-      if ($(IDS.DONE).disabled)
-        closeDialog();
-      else
+      if (!$(IDS.DONE).disabled)
         finishEditLink();
     }
   };
diff --git a/chrome/browser/resources/local_ntp/local_ntp.css b/chrome/browser/resources/local_ntp/local_ntp.css
index 9c11fae..fee0dc34 100644
--- a/chrome/browser/resources/local_ntp/local_ntp.css
+++ b/chrome/browser/resources/local_ntp/local_ntp.css
@@ -886,16 +886,13 @@
   display: none;
   outline: none;
   padding: 0 16px;
+  position: relative;
 }
 
 #error-notice:not(.has-link) #error-notice-link {
   display: none;
 }
 
-#error-notice.has-link #error-notice-link {
-  display: inline;
-}
-
 #error-notice-link:hover,
 #error-notice-link:focus {
   text-decoration: underline;
diff --git a/chrome/browser/resources/local_ntp/local_ntp.js b/chrome/browser/resources/local_ntp/local_ntp.js
index 46e18a4..7f2d7b0 100644
--- a/chrome/browser/resources/local_ntp/local_ntp.js
+++ b/chrome/browser/resources/local_ntp/local_ntp.js
@@ -739,13 +739,14 @@
   // Reset notification visibility once the animation is complete.
   notificationContainer.classList.remove(CLASSES.FLOAT_UP);
   let afterHide = (event) => {
-    if (event.propertyName == 'bottom') {
+    if (event.propertyName === 'bottom') {
       notification.classList.add(CLASSES.HIDE_NOTIFICATION);
       notification.classList.remove(CLASSES.HAS_LINK);
       notificationContainer.removeEventListener('transitionend', afterHide);
     }
-    // Focus on the omnibox after the notification is hidden.
-    window.chrome.embeddedSearch.searchBox.startCapturingKeyStrokes();
+    // Blur the hidden items.
+    $(IDS.UNDO_LINK).blur();
+    $(IDS.RESTORE_ALL_LINK).blur();
   };
   notificationContainer.addEventListener('transitionend', afterHide);
 }
@@ -757,6 +758,8 @@
  */
 function onUndo() {
   hideNotification();
+  // Focus on the omnibox after the notification is hidden.
+  window.chrome.embeddedSearch.searchBox.startCapturingKeyStrokes();
   if (configData.isCustomLinksEnabled) {
     ntpApiHandle.undoCustomLinkAction();
   } else if (lastBlacklistedTile != null) {
@@ -771,6 +774,8 @@
  */
 function onRestoreAll() {
   hideNotification();
+  // Focus on the omnibox after the notification is hidden.
+  window.chrome.embeddedSearch.searchBox.startCapturingKeyStrokes();
   if (configData.isCustomLinksEnabled) {
     ntpApiHandle.resetCustomLinks();
   } else {
diff --git a/chrome/browser/resources/local_state/local_state.html b/chrome/browser/resources/local_state/local_state.html
index 0bb9e3ff..601a646 100644
--- a/chrome/browser/resources/local_state/local_state.html
+++ b/chrome/browser/resources/local_state/local_state.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <meta charset="utf-8">
   <title>Local State Debug Page</title>
diff --git a/chrome/browser/resources/media/media_engagement.html b/chrome/browser/resources/media/media_engagement.html
index 8170845..3fc8168a 100644
--- a/chrome/browser/resources/media/media_engagement.html
+++ b/chrome/browser/resources/media/media_engagement.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <title>Media Engagement</title>
   <meta charset="utf-8">
diff --git a/chrome/browser/resources/omnibox/omnibox.html b/chrome/browser/resources/omnibox/omnibox.html
index 3f34ae2..ccaaa686 100644
--- a/chrome/browser/resources/omnibox/omnibox.html
+++ b/chrome/browser/resources/omnibox/omnibox.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <meta charset="utf-8">
   <title>Omnibox Debug Page</title>
diff --git a/chrome/browser/resources/print_preview/new/BUILD.gn b/chrome/browser/resources/print_preview/new/BUILD.gn
index 7f7f060..bcf546e2 100644
--- a/chrome/browser/resources/print_preview/new/BUILD.gn
+++ b/chrome/browser/resources/print_preview/new/BUILD.gn
@@ -72,6 +72,7 @@
     "../data:invitation_store",
     "../data:measurement_system",
     "../data:user_info",
+    "//ui/webui/resources/cr_elements:cr_container_shadow_behavior",
     "//ui/webui/resources/js:event_tracker",
     "//ui/webui/resources/js:util",
     "//ui/webui/resources/js:webui_listener_tracker",
diff --git a/chrome/browser/resources/print_preview/new/app.html b/chrome/browser/resources/print_preview/new/app.html
index cace13c..964e5a1 100644
--- a/chrome/browser/resources/print_preview/new/app.html
+++ b/chrome/browser/resources/print_preview/new/app.html
@@ -1,5 +1,6 @@
 <link rel="import" href="chrome://resources/html/polymer.html">
 
+<link rel="import" href="chrome://resources/cr_elements/cr_container_shadow_behavior.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/html/cr.html">
@@ -60,7 +61,7 @@
         width: 311px;
       }
 
-      #settingsSections {
+      #container {
         color: var(--google-grey-900);
         flex: 1;
         overflow: overlay;
@@ -71,6 +72,21 @@
         background-color: var(--google-grey-200);
         flex: 1;
       }
+
+      #cr-container-shadow {
+        background-color: rgb(232, 234, 237);
+        height: 1px;
+        margin-bottom: -1px;
+        opacity: 0.3;
+      }
+
+      #cr-container-shadow.has-shadow {
+        background-color: white;
+        box-shadow: inset 0 1px 2px 0 rgba(60, 64, 67, .3),
+                    inset 0 1px 3px -1px rgba(60, 64, 67, .15);
+        height: 3px;
+        margin-bottom: -3px;
+      }
     </style>
     <print-preview-state id="state" state="{{state}}"></print-preview-state>
     <print-preview-model id="model" settings="{{settings}}"
@@ -84,7 +100,7 @@
           on-print-requested="onPrintRequested_"
           on-cancel-requested="onCancelRequested_">
       </print-preview-header>
-      <div id="settingsSections">
+      <div id="container">
         <print-preview-destination-settings id="destinationSettings"
             destination="[[destination_]]"
             destination-store="[[destinationStore_]]"
diff --git a/chrome/browser/resources/print_preview/new/app.js b/chrome/browser/resources/print_preview/new/app.js
index 07db69b7c..852c434 100644
--- a/chrome/browser/resources/print_preview/new/app.js
+++ b/chrome/browser/resources/print_preview/new/app.js
@@ -14,7 +14,7 @@
 Polymer({
   is: 'print-preview-app',
 
-  behaviors: [SettingsBehavior],
+  behaviors: [SettingsBehavior, CrContainerShadowBehavior],
 
   properties: {
     /**
diff --git a/chrome/browser/resources/print_preview/new/header.html b/chrome/browser/resources/print_preview/new/header.html
index 63d02523..a623bda 100644
--- a/chrome/browser/resources/print_preview/new/header.html
+++ b/chrome/browser/resources/print_preview/new/header.html
@@ -16,7 +16,6 @@
     <style include="print-preview-shared paper-button-style">
       :host {
         background-color: white;
-        border-bottom: var(--print-preview-settings-border);
         display: block;
         padding-bottom: 8px;
         padding-inline-end: 16px;
diff --git a/chrome/browser/resources/sandbox_internals/sandbox_internals.html b/chrome/browser/resources/sandbox_internals/sandbox_internals.html
index 0531ce6..7f4816b 100644
--- a/chrome/browser/resources/sandbox_internals/sandbox_internals.html
+++ b/chrome/browser/resources/sandbox_internals/sandbox_internals.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1">
diff --git a/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html b/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
index be6cb91c..2470b37 100644
--- a/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
+++ b/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
@@ -111,7 +111,7 @@
         </paper-icon-button-light>
       </div>
     </div>
-    <cr-dialog id="forgetDeviceDialog" show-close-button="false">
+    <cr-dialog id="forgetDeviceDialog">
       <div slot="title">$i18n{multideviceForgetDeviceDialogHeading}</div>
       <div slot="body">
         <div class="settings-box first">
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html
index e1282d3..c2a503e 100644
--- a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html
+++ b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html
@@ -59,7 +59,8 @@
       <template is="dom-if" route-path="/payments">
         <settings-subpage
             associated-control="[[$$('#paymentManagerButton')]]"
-            page-title="$i18n{creditCards}">
+            page-title="$i18n{creditCards}"
+            learn-more-url="$i18n{paymentMethodsLearnMoreURL}">
           <settings-payments-section id="paymentSection" prefs="{{prefs}}">
           </settings-payments-section>
         </settings-subpage>
diff --git a/chrome/browser/resources/settings/people_page/fingerprint_list.html b/chrome/browser/resources/settings/people_page/fingerprint_list.html
index 42d5e7f..f9217a04 100644
--- a/chrome/browser/resources/settings/people_page/fingerprint_list.html
+++ b/chrome/browser/resources/settings/people_page/fingerprint_list.html
@@ -55,7 +55,9 @@
             <cr-input value="{{item}}" on-change="onFingerprintLabelChanged_">
             </cr-input>
             <paper-icon-button-light class="icon-delete-gray">
-              <button on-click="onFingerprintDeleteTapped_"></button>
+              <button on-click="onFingerprintDeleteTapped_"
+                  aria-label$="[[getButtonAriaLabel_(item)]]">
+              </button>
             </paper-icon-button-light>
           </div>
         </template>
diff --git a/chrome/browser/resources/settings/people_page/fingerprint_list.js b/chrome/browser/resources/settings/people_page/fingerprint_list.js
index 7c4ec5f..2a7d252 100644
--- a/chrome/browser/resources/settings/people_page/fingerprint_list.js
+++ b/chrome/browser/resources/settings/people_page/fingerprint_list.js
@@ -181,5 +181,14 @@
       this.onSetupFingerprintDialogClose_();
     }
   },
+
+  /**
+   * @param {string} item
+   * @return {string}
+   * @private
+   */
+  getButtonAriaLabel_: function(item) {
+    return this.i18n('lockScreenDeleteFingerprintLabel', item);
+  },
 });
 })();
diff --git a/chrome/browser/resources/settings/people_page/people_page.html b/chrome/browser/resources/settings/people_page/people_page.html
index 15992e5..3e957d7 100644
--- a/chrome/browser/resources/settings/people_page/people_page.html
+++ b/chrome/browser/resources/settings/people_page/people_page.html
@@ -401,7 +401,8 @@
         <template is="dom-if" route-path="/payments">
           <settings-subpage
               associated-control="[[$$('#paymentManagerButton')]]"
-              page-title="$i18n{creditCards}">
+              page-title="$i18n{creditCards}"
+              learn-more-url="$i18n{paymentMethodsLearnMoreURL}">
             <settings-payments-section id="paymentsSection" prefs="{{prefs}}">
             </settings-payments-section>
           </settings-subpage>
diff --git a/chrome/browser/resources/supervised_user_internals.html b/chrome/browser/resources/supervised_user_internals.html
index a61fa7d..3ae9ad2 100644
--- a/chrome/browser/resources/supervised_user_internals.html
+++ b/chrome/browser/resources/supervised_user_internals.html
@@ -4,7 +4,7 @@
 found in the LICENSE file.
 -->
 <!DOCTYPE html>
-<html>
+<html lang="en">
 <head>
 <meta charset="utf-8">
 <title>Supervised User Internals</title>
diff --git a/chrome/browser/resources/task_scheduler_internals/index.html b/chrome/browser/resources/task_scheduler_internals/index.html
index 8128d32..49dbc52ce 100644
--- a/chrome/browser/resources/task_scheduler_internals/index.html
+++ b/chrome/browser/resources/task_scheduler_internals/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html>
+<html lang="en">
   <head>
     <title>Task Scheduler Internals</title>
     <link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
diff --git a/chrome/browser/resources/usb_internals/usb_internals.html b/chrome/browser/resources/usb_internals/usb_internals.html
index 51a95766..f0dd0e2 100644
--- a/chrome/browser/resources/usb_internals/usb_internals.html
+++ b/chrome/browser/resources/usb_internals/usb_internals.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <meta charset="utf-8">
   <title>USB Internals</title>
diff --git a/chrome/browser/resources/user_actions/user_actions.html b/chrome/browser/resources/user_actions/user_actions.html
index 6085f5e3..d676d355 100644
--- a/chrome/browser/resources/user_actions/user_actions.html
+++ b/chrome/browser/resources/user_actions/user_actions.html
@@ -1,5 +1,5 @@
 <!doctype html>
-<html>
+<html lang="en">
 <head>
   <meta charset="utf-8">
   <title>User Actions Debug Page</title>
diff --git a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc
index 8af41404..2113894 100644
--- a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc
+++ b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc
@@ -318,14 +318,6 @@
   return google_apis::CancelCallback();
 }
 
-google_apis::CancelCallback DriveServiceOnWorker::GetShareUrl(
-    const std::string& resource_id,
-    const GURL& embed_origin,
-    const google_apis::GetShareUrlCallback& callback) {
-  NOTREACHED();
-  return google_apis::CancelCallback();
-}
-
 google_apis::CancelCallback DriveServiceOnWorker::GetAppList(
     const google_apis::AppListCallback& callback) {
   NOTREACHED();
diff --git a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h
index 43e1710..2cf7a25 100644
--- a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h
+++ b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h
@@ -124,10 +124,6 @@
   google_apis::CancelCallback Search(
       const std::string& search_query,
       const google_apis::FileListCallback& callback) override;
-  google_apis::CancelCallback GetShareUrl(
-      const std::string& resource_id,
-      const GURL& embed_origin,
-      const google_apis::GetShareUrlCallback& callback) override;
   google_apis::CancelCallback GetAppList(
       const google_apis::AppListCallback& callback) override;
   google_apis::CancelCallback TrashResource(
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm b/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
index 14a70e72..c518031e 100644
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
+++ b/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
@@ -178,7 +178,7 @@
   void StopAnimating() override;
   void ShowToolbarActionBubble(
       std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble) override;
-  void CloseOverflowMenuIfOpen() override;
+  bool CloseOverflowMenuIfOpen() override;
 
   // The owning BrowserActionsController; weak.
   BrowserActionsController* controller_;
@@ -245,11 +245,14 @@
   [controller_ createMessageBubble:std::move(bubble)];
 }
 
-void ToolbarActionsBarBridge::CloseOverflowMenuIfOpen() {
+bool ToolbarActionsBarBridge::CloseOverflowMenuIfOpen() {
   AppMenuController* appMenuController =
       [[controller_ toolbarController] appMenuController];
-  if ([appMenuController isMenuOpen])
-    [appMenuController cancel];
+  if (![appMenuController isMenuOpen])
+    return false;
+
+  [appMenuController cancel];
+  return true;
 }
 
 }  // namespace
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h
index b133703..cf09f12 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h
+++ b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h
@@ -29,7 +29,6 @@
       std::unique_ptr<extensions::ExtensionViewHost> host,
       bool grant_tab_permissions,
       ExtensionActionViewController::PopupShowAction show_action) override;
-  void CloseOverflowMenu() override;
   void ShowContextMenu() override;
 
   // content::NotificationObserver:
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
index 3d2896f..a64f5a2 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
@@ -13,7 +13,6 @@
 #include "chrome/browser/extensions/extension_view_host.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h"
 #include "chrome/browser/ui/cocoa/browser_dialogs_views_mac.h"
 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
 #import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
@@ -101,18 +100,6 @@
                                     viewsScreenPoint, popupShowAction);
 }
 
-void ExtensionActionPlatformDelegateCocoa::CloseOverflowMenu() {
-  // If this was triggered by an action overflowed to the app menu, then the app
-  // menu will be open. Close it before opening the popup.
-  AppMenuController* appMenuController =
-      [[[BrowserWindowController
-          browserWindowControllerForWindow:
-              controller_->browser()->window()->GetNativeWindow()]
-          toolbarController] appMenuController];
-  if ([appMenuController isMenuOpen])
-    [appMenuController cancel];
-}
-
 void ExtensionActionPlatformDelegateCocoa::ShowContextMenu() {
   // We should only use this code path for extensions shown in the toolbar.
   BrowserWindowController* windowController = [BrowserWindowController
diff --git a/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.h b/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.h
index 411f1e5..42a75e2 100644
--- a/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.h
+++ b/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.h
@@ -15,9 +15,6 @@
   explicit MediaRouterActionPlatformDelegateCocoa(Browser* browser);
   ~MediaRouterActionPlatformDelegateCocoa() override;
 
-  // MediaRouterActionPlatformDelegate:
-  bool CloseOverflowMenuIfOpen() override;
-
  private:
   // The corresponding browser.
   Browser* browser_;
diff --git a/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.mm b/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.mm
index c4e65c1..150d5e1 100644
--- a/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.mm
+++ b/chrome/browser/ui/cocoa/toolbar/media_router_action_platform_delegate_cocoa.mm
@@ -6,11 +6,6 @@
 
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
 #include "ui/base/ui_features.h"
 
 // static
@@ -36,18 +31,3 @@
 MediaRouterActionPlatformDelegateCocoa::
     ~MediaRouterActionPlatformDelegateCocoa() {
 }
-
-bool MediaRouterActionPlatformDelegateCocoa::CloseOverflowMenuIfOpen() {
-  // TODO(apacible): This should be factored to share code with extension
-  // actions.
-  AppMenuController* appMenuController =
-      [[[BrowserWindowController
-          browserWindowControllerForWindow:
-              browser_->window()->GetNativeWindow()]
-          toolbarController] appMenuController];
-  if (![appMenuController isMenuOpen])
-    return false;
-
-  [appMenuController cancel];
-  return true;
-}
diff --git a/chrome/browser/ui/extensions/extension_action_platform_delegate.h b/chrome/browser/ui/extensions/extension_action_platform_delegate.h
index ad7cc0a..c90b034 100644
--- a/chrome/browser/ui/extensions/extension_action_platform_delegate.h
+++ b/chrome/browser/ui/extensions/extension_action_platform_delegate.h
@@ -42,9 +42,6 @@
       bool grant_tab_permissions,
       ExtensionActionViewController::PopupShowAction show_action) = 0;
 
-  // Closes the overflow menu, if it was open.
-  virtual void CloseOverflowMenu() = 0;
-
   // Shows the context menu for the extension.
   virtual void ShowContextMenu() = 0;
 };
diff --git a/chrome/browser/ui/extensions/extension_action_view_controller.cc b/chrome/browser/ui/extensions/extension_action_view_controller.cc
index f0f05292..c52eced1 100644
--- a/chrome/browser/ui/extensions/extension_action_view_controller.cc
+++ b/chrome/browser/ui/extensions/extension_action_view_controller.cc
@@ -393,7 +393,7 @@
 
   if (toolbar_actions_bar_ &&
       !toolbar_actions_bar_->IsActionVisibleOnMainBar(this)) {
-    platform_delegate_->CloseOverflowMenu();
+    toolbar_actions_bar_->CloseOverflowMenuIfOpen();
     toolbar_actions_bar_->PopOutAction(
         this,
         show_action == SHOW_POPUP_AND_INSPECT,
diff --git a/chrome/browser/ui/toolbar/media_router_action.cc b/chrome/browser/ui/toolbar/media_router_action.cc
index 5a6a783..b2251f07 100644
--- a/chrome/browser/ui/toolbar/media_router_action.cc
+++ b/chrome/browser/ui/toolbar/media_router_action.cc
@@ -180,10 +180,13 @@
 
   GetMediaRouterDialogController()->ShowMediaRouterDialog();
   if (GetPlatformDelegate()) {
+    // TODO(karandeepb): Instead of checking the return value of
+    // CloseOverflowMenuIfOpen, just check
+    // ToolbarActionsBar::IsActionVisibleOnMainBar.
     media_router::MediaRouterMetrics::RecordMediaRouterDialogOrigin(
-        GetPlatformDelegate()->CloseOverflowMenuIfOpen() ?
-        media_router::MediaRouterDialogOpenOrigin::OVERFLOW_MENU :
-        media_router::MediaRouterDialogOpenOrigin::TOOLBAR);
+        toolbar_actions_bar_->CloseOverflowMenuIfOpen()
+            ? media_router::MediaRouterDialogOpenOrigin::OVERFLOW_MENU
+            : media_router::MediaRouterDialogOpenOrigin::TOOLBAR);
   }
   return true;
 }
diff --git a/chrome/browser/ui/toolbar/media_router_action_platform_delegate.h b/chrome/browser/ui/toolbar/media_router_action_platform_delegate.h
index b9a38ce..41df5e5 100644
--- a/chrome/browser/ui/toolbar/media_router_action_platform_delegate.h
+++ b/chrome/browser/ui/toolbar/media_router_action_platform_delegate.h
@@ -11,6 +11,7 @@
 
 class Browser;
 
+// TODO(karandeepb): Delete this class.
 class MediaRouterActionPlatformDelegate {
  public:
   MediaRouterActionPlatformDelegate() {}
@@ -26,10 +27,6 @@
   static std::unique_ptr<MediaRouterActionPlatformDelegate> CreateCocoa(
       Browser* browser);
 #endif
-
-  // Closes the overflow menu, if it was open. Returns whether or not the
-  // overflow menu was closed.
-  virtual bool CloseOverflowMenuIfOpen() = 0;
 };
 
 #endif  // CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_H_
diff --git a/chrome/browser/ui/toolbar/toolbar_actions_bar.cc b/chrome/browser/ui/toolbar/toolbar_actions_bar.cc
index 5d24f5f..8cea239 100644
--- a/chrome/browser/ui/toolbar/toolbar_actions_bar.cc
+++ b/chrome/browser/ui/toolbar/toolbar_actions_bar.cc
@@ -568,6 +568,10 @@
                      weak_ptr_factory_.GetWeakPtr(), std::move(bubble)));
 }
 
+bool ToolbarActionsBar::CloseOverflowMenuIfOpen() {
+  return delegate_->CloseOverflowMenuIfOpen();
+}
+
 void ToolbarActionsBar::MaybeShowExtensionBubble() {
   std::unique_ptr<extensions::ExtensionMessageBubbleController> controller =
       model_->GetExtensionMessageBubbleController(browser_);
diff --git a/chrome/browser/ui/toolbar/toolbar_actions_bar.h b/chrome/browser/ui/toolbar/toolbar_actions_bar.h
index 9172f56..ccd3009 100644
--- a/chrome/browser/ui/toolbar/toolbar_actions_bar.h
+++ b/chrome/browser/ui/toolbar/toolbar_actions_bar.h
@@ -224,6 +224,10 @@
   void ShowToolbarActionBubbleAsync(
       std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble);
 
+  // Closes the overflow menu, if it was open. Returns whether or not the
+  // overflow menu was closed.
+  bool CloseOverflowMenuIfOpen();
+
   // Returns the underlying toolbar actions, but does not order them. Primarily
   // for use in testing.
   const ToolbarActions& toolbar_actions_unordered() const {
diff --git a/chrome/browser/ui/toolbar/toolbar_actions_bar_delegate.h b/chrome/browser/ui/toolbar/toolbar_actions_bar_delegate.h
index 0f71d82296..0f1aaab8f 100644
--- a/chrome/browser/ui/toolbar/toolbar_actions_bar_delegate.h
+++ b/chrome/browser/ui/toolbar/toolbar_actions_bar_delegate.h
@@ -59,8 +59,9 @@
   virtual void ShowToolbarActionBubble(
       std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble) = 0;
 
-  // Closes the overflow menu if it's open.
-  virtual void CloseOverflowMenuIfOpen() = 0;
+  // Closes the overflow menu, if it was open. Returns whether or not the
+  // overflow menu was closed.
+  virtual bool CloseOverflowMenuIfOpen() = 0;
 };
 
 #endif  // CHROME_BROWSER_UI_TOOLBAR_TOOLBAR_ACTIONS_BAR_DELEGATE_H_
diff --git a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc
index 4fd992c..0b9f6ecd 100644
--- a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc
+++ b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc
@@ -16,7 +16,6 @@
 #include "chrome/browser/ui/extensions/accelerator_priority.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
-#include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_action_view_delegate_views.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
 #include "chrome/browser/ui/views_mode_controller.h"
@@ -95,17 +94,6 @@
                             popup_show_action);
 }
 
-void ExtensionActionPlatformDelegateViews::CloseOverflowMenu() {
-  // TODO(mgiuca): Use button_provider() instead of toolbar(), so this also
-  // works for hosted app windows.
-  AppMenuButton* app_menu_button =
-      BrowserView::GetBrowserViewForBrowser(controller_->browser())
-          ->toolbar()
-          ->app_menu_button();
-  if (app_menu_button && app_menu_button->IsMenuShowing())
-    app_menu_button->CloseMenu();
-}
-
 void ExtensionActionPlatformDelegateViews::ShowContextMenu() {
   views::View* view = GetDelegateViews()->GetAsView();
   view->context_menu_controller()->ShowContextMenuForView(
diff --git a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.h b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.h
index 233ad046..fd1c48cd 100644
--- a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.h
+++ b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.h
@@ -37,7 +37,6 @@
       std::unique_ptr<extensions::ExtensionViewHost> host,
       bool grant_tab_permissions,
       ExtensionActionViewController::PopupShowAction show_action) override;
-  void CloseOverflowMenu() override;
   void ShowContextMenu() override;
 
   // content::NotificationObserver:
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc
index 1de27579a..3ba8f79 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc
@@ -207,4 +207,14 @@
   title()->Layout();
 }
 
+void CastDialogSinkButton::RequestFocus() {
+  if (enabled()) {
+    HoverButton::RequestFocus();
+  } else {
+    // The sink button is disabled, but the icon within it may be enabled and
+    // want focus.
+    icon_view()->RequestFocus();
+  }
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h
index dc443eda..a2e991e 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h
+++ b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h
@@ -27,6 +27,7 @@
   bool OnMousePressed(const ui::MouseEvent& event) override;
   void OnMouseReleased(const ui::MouseEvent& event) override;
   void OnEnabledChanged() override;
+  void RequestFocus() override;
 
   const UIMediaSink& sink() const { return sink_; }
 
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_view.cc b/chrome/browser/ui/views/media_router/cast_dialog_view.cc
index 437a072d..9824944 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_view.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_view.cc
@@ -270,6 +270,19 @@
 }
 
 void CastDialogView::RestoreSinkListState() {
+  if (selected_sink_index_ &&
+      selected_sink_index_.value() < sink_buttons_.size()) {
+    CastDialogSinkButton* sink_button =
+        sink_buttons_.at(selected_sink_index_.value());
+    // Focus on the sink so that the screen reader reads its label, which has
+    // likely been updated.
+    sink_button->RequestFocus();
+    // If the state became AVAILABLE, the screen reader no longer needs to read
+    // the label until the user selects a sink again.
+    if (sink_button->sink().state == UIMediaSinkState::AVAILABLE)
+      selected_sink_index_.reset();
+  }
+
   views::ScrollBar* scroll_bar =
       const_cast<views::ScrollBar*>(scroll_view_->vertical_scroll_bar());
   if (scroll_bar) {
@@ -318,6 +331,7 @@
   if (!controller_)
     return;
 
+  selected_sink_index_ = index;
   const UIMediaSink& sink = sink_buttons_.at(index)->sink();
   if (sink.route_id.empty()) {
     base::Optional<MediaCastMode> cast_mode = GetCastModeToUse(sink);
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_view.h b/chrome/browser/ui/views/media_router/cast_dialog_view.h
index a20a15b..56b62a40 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_view.h
+++ b/chrome/browser/ui/views/media_router/cast_dialog_view.h
@@ -191,6 +191,10 @@
   // Records UMA metrics for the dialog's behavior.
   CastDialogMetrics metrics_;
 
+  // The sink that the user has selected to cast to. If the user is using
+  // multiple sinks at the same time, the last activated sink is used.
+  base::Optional<size_t> selected_sink_index_;
+
   base::WeakPtrFactory<CastDialogView> weak_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(CastDialogView);
diff --git a/chrome/browser/ui/views/media_router/media_remoting_dialog_view.cc b/chrome/browser/ui/views/media_router/media_remoting_dialog_view.cc
index 12ba7ffe..817966f6 100644
--- a/chrome/browser/ui/views/media_router/media_remoting_dialog_view.cc
+++ b/chrome/browser/ui/views/media_router/media_remoting_dialog_view.cc
@@ -5,7 +5,9 @@
 #include "chrome/browser/ui/views/media_router/media_remoting_dialog_view.h"
 
 #include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/media_router/media_router_ui_service.h"
 #include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
+#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
 #include "chrome/browser/ui/views/media_router/cast_toolbar_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
@@ -28,9 +30,9 @@
   DCHECK(callback);
 
   // Check whether user has set the permission.
-  PrefService* const pref_service =
-      Profile::FromBrowserContext(web_contents->GetBrowserContext())
-          ->GetPrefs();
+  Profile* profile =
+      Profile::FromBrowserContext(web_contents->GetBrowserContext());
+  PrefService* const pref_service = profile->GetPrefs();
   DCHECK(pref_service);
   const PrefService::Preference* pref =
       pref_service->FindPreference(::prefs::kMediaRouterMediaRemotingEnabled);
@@ -47,8 +49,11 @@
   }
   views::View* icon_view =
       BrowserView::GetBrowserViewForBrowser(browser)->toolbar()->cast_button();
-  instance_ =
-      new MediaRemotingDialogView(icon_view, pref_service, std::move(callback));
+  MediaRouterActionController* action_controller =
+      MediaRouterUIService::Get(profile)->action_controller();
+
+  instance_ = new MediaRemotingDialogView(
+      icon_view, pref_service, action_controller, std::move(callback));
   views::Widget* widget =
       views::BubbleDialogDelegateView::CreateBubble(instance_);
   widget->Show();
@@ -111,20 +116,27 @@
   return gfx::Size(width, GetHeightForWidth(width));
 }
 
-MediaRemotingDialogView::MediaRemotingDialogView(views::View* anchor_view,
-                                                 PrefService* pref_service,
-                                                 PermissionCallback callback)
+MediaRemotingDialogView::MediaRemotingDialogView(
+    views::View* anchor_view,
+    PrefService* pref_service,
+    MediaRouterActionController* action_controller,
+    PermissionCallback callback)
     : BubbleDialogDelegateView(anchor_view, views::BubbleBorder::TOP_RIGHT),
       permission_callback_(std::move(callback)),
       pref_service_(pref_service),
+      action_controller_(action_controller),
       dialog_title_(
           l10n_util::GetStringUTF16(IDS_MEDIA_ROUTER_REMOTING_DIALOG_TITLE)) {
   DCHECK(pref_service_);
   SetLayoutManager(
       std::make_unique<views::BoxLayout>(views::BoxLayout::kVertical));
+  // Depress the Cast toolbar icon.
+  action_controller_->OnDialogShown();
 }
 
-MediaRemotingDialogView::~MediaRemotingDialogView() = default;
+MediaRemotingDialogView::~MediaRemotingDialogView() {
+  action_controller_->OnDialogHidden();
+}
 
 void MediaRemotingDialogView::Init() {
   views::Label* body_text = new views::Label(
diff --git a/chrome/browser/ui/views/media_router/media_remoting_dialog_view.h b/chrome/browser/ui/views/media_router/media_remoting_dialog_view.h
index dd2f39c..19c903b 100644
--- a/chrome/browser/ui/views/media_router/media_remoting_dialog_view.h
+++ b/chrome/browser/ui/views/media_router/media_remoting_dialog_view.h
@@ -7,6 +7,7 @@
 
 #include "ui/views/bubble/bubble_dialog_delegate_view.h"
 
+class MediaRouterActionController;
 class PrefService;
 
 namespace views {
@@ -57,9 +58,10 @@
   gfx::Size CalculatePreferredSize() const override;
 
  private:
-  explicit MediaRemotingDialogView(views::View* anchor_view,
-                                   PrefService* pref_service,
-                                   PermissionCallback callback);
+  MediaRemotingDialogView(views::View* anchor_view,
+                          PrefService* pref_service,
+                          MediaRouterActionController* action_controller,
+                          PermissionCallback callback);
   ~MediaRemotingDialogView() override;
 
   // views::BubbleDialogDelegateView:
@@ -76,6 +78,7 @@
   PermissionCallback permission_callback_;
 
   PrefService* const pref_service_;
+  MediaRouterActionController* const action_controller_;
 
   // Title shown at the top of the dialog.
   base::string16 dialog_title_;
diff --git a/chrome/browser/ui/views/toolbar/browser_actions_container.cc b/chrome/browser/ui/views/toolbar/browser_actions_container.cc
index 96c7716..ff55ed9 100644
--- a/chrome/browser/ui/views/toolbar/browser_actions_container.cc
+++ b/chrome/browser/ui/views/toolbar/browser_actions_container.cc
@@ -307,15 +307,18 @@
   bubble->Show();
 }
 
-void BrowserActionsContainer::CloseOverflowMenuIfOpen() {
+bool BrowserActionsContainer::CloseOverflowMenuIfOpen() {
   // TODO(mgiuca): Use toolbar_button_provider() instead of toolbar(), so this
   // also works for hosted app windows.
   BrowserAppMenuButton* app_menu_button =
       BrowserView::GetBrowserViewForBrowser(browser_)
           ->toolbar()
           ->app_menu_button();
-  if (app_menu_button && app_menu_button->IsMenuShowing())
-    app_menu_button->CloseMenu();
+  if (!app_menu_button || !app_menu_button->IsMenuShowing())
+    return false;
+
+  app_menu_button->CloseMenu();
+  return true;
 }
 
 void BrowserActionsContainer::OnWidgetClosing(views::Widget* widget) {
diff --git a/chrome/browser/ui/views/toolbar/browser_actions_container.h b/chrome/browser/ui/views/toolbar/browser_actions_container.h
index a2aabadf..09337f88 100644
--- a/chrome/browser/ui/views/toolbar/browser_actions_container.h
+++ b/chrome/browser/ui/views/toolbar/browser_actions_container.h
@@ -240,7 +240,7 @@
   void StopAnimating() override;
   void ShowToolbarActionBubble(
       std::unique_ptr<ToolbarActionsBarBubbleDelegate> controller) override;
-  void CloseOverflowMenuIfOpen() override;
+  bool CloseOverflowMenuIfOpen() override;
 
   // views::WidgetObserver:
   void OnWidgetClosing(views::Widget* widget) override;
diff --git a/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.cc b/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.cc
index 3812e76c..42651620 100644
--- a/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.cc
+++ b/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.cc
@@ -4,11 +4,9 @@
 
 #include "chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.h"
 
+#include "base/logging.h"
 #include "base/memory/ptr_util.h"
 #include "build/build_config.h"
-#include "chrome/browser/ui/views/frame/browser_view.h"
-#include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
-#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
 #include "chrome/browser/ui/views_mode_controller.h"
 
 // static
@@ -31,17 +29,3 @@
 MediaRouterActionPlatformDelegateViews::
     ~MediaRouterActionPlatformDelegateViews() {
 }
-
-bool MediaRouterActionPlatformDelegateViews::CloseOverflowMenuIfOpen() {
-  // TODO(mgiuca): Use button_provider() instead of toolbar(), so this also
-  // works for hosted app windows.
-  AppMenuButton* app_menu_button =
-      BrowserView::GetBrowserViewForBrowser(browser_)
-          ->toolbar()
-          ->app_menu_button();
-  if (!app_menu_button || !app_menu_button->IsMenuShowing())
-    return false;
-
-  app_menu_button->CloseMenu();
-  return true;
-}
diff --git a/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.h b/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.h
index b2ce655..203c24e 100644
--- a/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.h
+++ b/chrome/browser/ui/views/toolbar/media_router_action_platform_delegate_views.h
@@ -15,9 +15,6 @@
   explicit MediaRouterActionPlatformDelegateViews(Browser* browser);
   ~MediaRouterActionPlatformDelegateViews() override;
 
-  // MediaRouterActionPlatformDelegate:
-  bool CloseOverflowMenuIfOpen() override;
-
  private:
   // The corresponding browser.
   Browser* const browser_;
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index e07213c..8e3f3e0 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -752,6 +752,8 @@
     NOTREACHED();
     return;
   }
+  // Save printable_area information for N-up conversion.
+  printable_area_ = printable_area;
 
   base::DictionaryValue layout;
   layout.SetDouble(printing::kSettingMarginTop, page_layout.margin_top);
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_ui.h b/chrome/browser/ui/webui/print_preview/print_preview_ui.h
index 2f3990e..5135daa 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_ui.h
+++ b/chrome/browser/ui/webui/print_preview/print_preview_ui.h
@@ -17,6 +17,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/time/time.h"
 #include "chrome/browser/ui/webui/constrained_web_dialog_ui.h"
+#include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/geometry/size.h"
 
 class PrintPreviewHandler;
@@ -65,6 +66,8 @@
 
   int pages_per_sheet() const { return pages_per_sheet_; }
 
+  const gfx::Rect& printable_area() const { return printable_area_; }
+
   const gfx::Size& page_size() const { return page_size_; }
 
   // Returns true if |page_number| is the last page in |pages_to_render_|.
@@ -250,6 +253,9 @@
   // Physical size of the page, including non-printable margins.
   gfx::Size page_size_;
 
+  // The printable area of the printed document pages.
+  gfx::Rect printable_area_;
+
   DISALLOW_COPY_AND_ASSIGN(PrintPreviewUI);
 };
 
diff --git a/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
index a7b7efb..b8e3f255 100644
--- a/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
@@ -1497,6 +1497,8 @@
                          autofill::payments::GetManageAddressesUrl(0).spec());
   html_source->AddString("manageCreditCardsUrl",
                          autofill::payments::GetManageInstrumentsUrl(0).spec());
+  html_source->AddString("paymentMethodsLearnMoreURL",
+                         chrome::kPaymentMethodsLearnMoreURL);
   html_source->AddBoolean(
       "migrationEnabled",
       autofill::features::GetLocalCardMigrationExperimentalFlag() ==
@@ -1572,6 +1574,8 @@
      IDS_SETTINGS_PEOPLE_LOCK_SCREEN_FINGERPRINT_SUBPAGE_TITLE},
     {"lockScreenFingerprintWarning",
      IDS_SETTINGS_PEOPLE_LOCK_SCREEN_FINGERPRINT_LESS_SECURE},
+    {"lockScreenDeleteFingerprintLabel",
+     IDS_SETTINGS_PEOPLE_LOCK_SCREEN_DELETE_FINGERPRINT_ARIA_LABEL},
     {"lockScreenNotificationHide",
      IDS_ASH_SETTINGS_LOCK_SCREEN_NOTIFICATION_HIDE},
     {"lockScreenNotificationHideSensitive",
diff --git a/chrome/browser/ui/webui/settings/people_handler.cc b/chrome/browser/ui/webui/settings/people_handler.cc
index 42fed24..d084c97 100644
--- a/chrome/browser/ui/webui/settings/people_handler.cc
+++ b/chrome/browser/ui/webui/settings/people_handler.cc
@@ -671,11 +671,25 @@
   if (sync_startup_tracker_)
     return;
 
-  if (!service->IsEngineInitialized()) {
+  if (!service->IsEngineInitialized() ||
+      service->HasDisableReason(
+          syncer::SyncService::DISABLE_REASON_USER_CHOICE)) {
     // Requesting the sync service to start may trigger call to PushSyncPrefs.
     // Setting up the startup tracker beforehand correctly signals the
     // re-entrant call to early exit.
-    sync_startup_tracker_.reset(new SyncStartupTracker(profile_, this));
+    sync_startup_tracker_ =
+        std::make_unique<SyncStartupTracker>(profile_, this);
+    // RequestStart() does two things:
+    // 1) If DISABLE_REASON_USER_CHOICE is set (meaning that Sync was reset via
+    //    the dashboard), clears it.
+    // 2) Pokes the sync service to start *immediately*, i.e. bypass deferred
+    //    startup.
+    // It's possible that both of these are already the case, i.e. the engine is
+    // already in the process of initializing, in which case RequestStart() will
+    // effectively do nothing. It's also possible that the sync service is
+    // already running in standalone transport mode and so the engine is already
+    // initialized. In that case, this will trigger the service to switch to
+    // full Sync-the-feature mode.
     service->RequestStart();
 
     // See if it's even possible to bring up the sync engine - if not
diff --git a/chrome/browser/ui/webui/settings/people_handler.h b/chrome/browser/ui/webui/settings/people_handler.h
index bfedcdc..2998ac45 100644
--- a/chrome/browser/ui/webui/settings/people_handler.h
+++ b/chrome/browser/ui/webui/settings/people_handler.h
@@ -88,7 +88,6 @@
       PeopleHandlerTest,
       DisplayConfigureWithEngineDisabledAndSyncStartupCompleted);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, HandleSetupUIWhenSyncDisabled);
-  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, SelectCustomEncryption);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest,
                            ShowSetupCustomPassphraseRequired);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, ShowSetupEncryptAll);
@@ -102,9 +101,7 @@
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, ShowSigninOnAuthError);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, ShowSyncSetup);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, ShowSyncSetupWhenNotSignedIn);
-  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, SuccessfullySetPassphrase);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, TestSyncEverything);
-  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, TestSyncNothing);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, TestSyncAllManually);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, TestPassphraseStillRequired);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, TestSyncIndividualTypes);
@@ -117,13 +114,13 @@
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerNonCrosTest,
                            UnrecoverableErrorInitializingSync);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerNonCrosTest, GaiaErrorInitializingSync);
-  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerNonCrosTest, HandleCaptcha);
-  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerNonCrosTest, HandleGaiaAuthFailure);
-  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerNonCrosTest,
-                           SubmitAuthWithInvalidUsername);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerFirstSigninTest, DisplayBasicLogin);
   FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest,
                            AcquireSyncBlockerWhenLoadingSyncSettingsSubpage);
+  FRIEND_TEST_ALL_PREFIXES(PeopleHandlerTest, RestartSyncAfterDashboardClear);
+  FRIEND_TEST_ALL_PREFIXES(
+      PeopleHandlerTest,
+      RestartSyncAfterDashboardClearWithStandaloneTransport);
 
   // SettingsPageUIHandler implementation.
   void RegisterMessages() override;
diff --git a/chrome/browser/ui/webui/settings/people_handler_unittest.cc b/chrome/browser/ui/webui/settings/people_handler_unittest.cc
index 269c29a..0d38ac0 100644
--- a/chrome/browser/ui/webui/settings/people_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/people_handler_unittest.cc
@@ -505,6 +505,56 @@
       LoginUIServiceFactory::GetForProfile(profile())->current_login_ui());
 }
 
+TEST_F(PeopleHandlerTest, RestartSyncAfterDashboardClear) {
+  // Clearing sync from the dashboard results in DISABLE_REASON_USER_CHOICE
+  // being set.
+  ON_CALL(*mock_pss_, GetDisableReasons())
+      .WillByDefault(Return(syncer::SyncService::DISABLE_REASON_USER_CHOICE));
+  ON_CALL(*mock_pss_, IsFirstSetupComplete()).WillByDefault(Return(true));
+  ON_CALL(*mock_pss_, GetTransportState())
+      .WillByDefault(Return(syncer::SyncService::TransportState::DISABLED));
+
+  // Attempting to open the setup UI should restart sync.
+  EXPECT_CALL(*mock_pss_, RequestStart()).WillOnce([&]() {
+    // RequestStart() clears DISABLE_REASON_USER_CHOICE, and immediately starts
+    // initialzing the engine.
+    ON_CALL(*mock_pss_, GetDisableReasons())
+        .WillByDefault(Return(syncer::SyncService::DISABLE_REASON_NONE));
+    ON_CALL(*mock_pss_, GetTransportState())
+        .WillByDefault(
+            Return(syncer::SyncService::TransportState::INITIALIZING));
+  });
+
+  handler_->HandleShowSetupUI(nullptr);
+  ExpectPageStatusChanged(PeopleHandler::kSpinnerPageStatus);
+}
+
+TEST_F(PeopleHandlerTest,
+       RestartSyncAfterDashboardClearWithStandaloneTransport) {
+  // Clearing sync from the dashboard results in DISABLE_REASON_USER_CHOICE
+  // being set. However, the sync engine has restarted in standalone transport
+  // mode.
+  ON_CALL(*mock_pss_, GetDisableReasons())
+      .WillByDefault(Return(syncer::SyncService::DISABLE_REASON_USER_CHOICE));
+  ON_CALL(*mock_pss_, IsFirstSetupComplete()).WillByDefault(Return(true));
+  ON_CALL(*mock_pss_, GetTransportState())
+      .WillByDefault(Return(syncer::SyncService::TransportState::ACTIVE));
+
+  // Attempting to open the setup UI should re-enable sync-the-feature.
+  EXPECT_CALL(*mock_pss_, RequestStart()).WillOnce([&]() {
+    // RequestStart() clears DISABLE_REASON_USER_CHOICE. Since the engine is
+    // already running, it just gets reconfigured.
+    ON_CALL(*mock_pss_, GetDisableReasons())
+        .WillByDefault(Return(syncer::SyncService::DISABLE_REASON_NONE));
+    ON_CALL(*mock_pss_, GetTransportState())
+        .WillByDefault(
+            Return(syncer::SyncService::TransportState::CONFIGURING));
+  });
+
+  handler_->HandleShowSetupUI(nullptr);
+  ExpectPageStatusChanged(PeopleHandler::kSpinnerPageStatus);
+}
+
 // Tests that signals not related to user intention to configure sync don't
 // trigger sync engine start.
 TEST_F(PeopleHandlerTest, OnlyStartEngineWhenConfiguringSync) {
diff --git a/chrome/common/extensions/api/file_manager_private.idl b/chrome/common/extensions/api/file_manager_private.idl
index 734c3904..2cf3f536 100644
--- a/chrome/common/extensions/api/file_manager_private.idl
+++ b/chrome/common/extensions/api/file_manager_private.idl
@@ -1010,13 +1010,6 @@
   static void requestWebStoreAccessToken(
       RequestWebStoreAccessTokenCallback callback);
 
-  // Requests a share dialog url for the specified file.
-  // |entry| The entry to share.
-  // |callback|
-  [nocompile]
-  static void getShareUrl([instanceof=Entry] object entry,
-                          GetUrlCallback callback);
-
   // Requests a download url to download the file contents.
   // |entry| The entry to download.
   // |callback|
diff --git a/chrome/common/extensions/api/file_manager_private_internal.idl b/chrome/common/extensions/api/file_manager_private_internal.idl
index 131069a..22f87b6b 100644
--- a/chrome/common/extensions/api/file_manager_private_internal.idl
+++ b/chrome/common/extensions/api/file_manager_private_internal.idl
@@ -72,7 +72,6 @@
                                SimpleCallback callback);
     static void getFileTasks(DOMString[] urls,
                              GetFileTasksCallback callback);
-    static void getShareUrl(DOMString  url, GetUrlCallback callback);
     static void getDownloadUrl(DOMString url, GetUrlCallback callback);
     static void requestDriveShare(DOMString url,
                                 fileManagerPrivate.DriveShareType shareType,
diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
index 6ccad71..54f61ad 100644
--- a/chrome/common/url_constants.cc
+++ b/chrome/common/url_constants.cc
@@ -176,6 +176,13 @@
     "https://support.google.com/chrome/?p=settings_password";
 #endif
 
+const char kPaymentMethodsLearnMoreURL[] =
+#if defined(OS_CHROMEOS)
+    "https://support.google.com/chromebook/?p=settings_autofill";
+#else
+    "https://support.google.com/chrome/?p=settings_autofill";
+#endif
+
 const char kPrivacyLearnMoreURL[] =
 #if defined(OS_CHROMEOS)
     "https://support.google.com/chromebook/?p=settings_privacy";
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
index fde64b5..452cf33 100644
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -153,6 +153,8 @@
 
 extern const char kPasswordManagerLearnMoreURL[];
 
+extern const char kPaymentMethodsLearnMoreURL[];
+
 // "Learn more" URL for the Privacy section under Options.
 extern const char kPrivacyLearnMoreURL[];
 
diff --git a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc
index 2610f3f8..11122ca 100644
--- a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc
+++ b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc
@@ -39,7 +39,7 @@
   page_resource_data_use_.emplace(
       std::piecewise_construct,
       std::forward_as_tuple(initial_request->resource_id()),
-      std::forward_as_tuple(*initial_request));
+      std::forward_as_tuple(std::move(initial_request)));
   buffer_timer_delay_ms_ = base::GetFieldTrialParamByFeatureAsInt(
       kPageLoadMetricsTimerDelayFeature, "BufferTimerDelayMillis",
       kBufferTimerDelayMillis /* default value */);
@@ -97,15 +97,15 @@
 
   auto resource_it = page_resource_data_use_.emplace(
       std::piecewise_construct, std::forward_as_tuple(resource_id),
-      std::forward_as_tuple());
-  resource_it.first->second.DidStartResponse(resource_id, response_head);
+      std::forward_as_tuple(std::make_unique<PageResourceDataUse>()));
+  resource_it.first->second->DidStartResponse(resource_id, response_head);
 }
 
 void PageTimingMetricsSender::DidReceiveTransferSizeUpdate(
     int resource_id,
     int received_data_length) {
   // Transfer size updates are called in a throttled manner.
-  const auto& resource_it = page_resource_data_use_.find(resource_id);
+  auto resource_it = page_resource_data_use_.find(resource_id);
 
   // It is possible that resources are not in the map, if response headers were
   // not received or for failed/cancelled resources.
@@ -113,8 +113,8 @@
     return;
   }
 
-  resource_it->second.DidReceiveTransferSizeUpdate(received_data_length);
-  modified_resources_.insert(&resource_it->second);
+  resource_it->second->DidReceiveTransferSizeUpdate(received_data_length);
+  modified_resources_.insert(resource_it->second.get());
   EnsureSendTimer();
 }
 
@@ -129,14 +129,14 @@
   if (resource_it == page_resource_data_use_.end()) {
     auto new_resource_it = page_resource_data_use_.emplace(
         std::piecewise_construct, std::forward_as_tuple(resource_id),
-        std::forward_as_tuple());
+        std::forward_as_tuple(std::make_unique<PageResourceDataUse>()));
     resource_it = new_resource_it.first;
   }
 
-  if (resource_it->second.DidCompleteResponse(status)) {
+  if (resource_it->second->DidCompleteResponse(status)) {
     EnsureSendTimer();
   }
-  modified_resources_.insert(&resource_it->second);
+  modified_resources_.insert(resource_it->second.get());
 }
 
 void PageTimingMetricsSender::DidCancelResponse(int resource_id) {
@@ -144,7 +144,7 @@
   if (resource_it == page_resource_data_use_.end()) {
     return;
   }
-  resource_it->second.DidCancelResponse();
+  resource_it->second->DidCancelResponse();
 }
 
 void PageTimingMetricsSender::UpdateResourceMetadata(
@@ -157,8 +157,8 @@
   // This can get called multiple times for resources, and this
   // flag will only be true once.
   if (reported_as_ad_resource)
-    it->second.SetReportedAsAdResource(reported_as_ad_resource);
-  it->second.SetIsMainFrameResource(is_main_frame_resource);
+    it->second->SetReportedAsAdResource(reported_as_ad_resource);
+  it->second->SetIsMainFrameResource(is_main_frame_resource);
 }
 
 void PageTimingMetricsSender::Send(mojom::PageLoadTimingPtr timing) {
diff --git a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h
index bf05596..f4cf35e8 100644
--- a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h
+++ b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h
@@ -87,7 +87,7 @@
 
   // The page's resources that are currently loading,  or were completed after
   // the last timing update.
-  base::small_map<std::map<int, PageResourceDataUse>, 16>
+  base::small_map<std::map<int, std::unique_ptr<PageResourceDataUse>>, 16>
       page_resource_data_use_;
 
   // Set of all resources that have completed or received a transfer
diff --git a/chrome/renderer/resources/extensions/file_manager_private_custom_bindings.js b/chrome/renderer/resources/extensions/file_manager_private_custom_bindings.js
index bb6f521..72fac16 100644
--- a/chrome/renderer/resources/extensions/file_manager_private_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/file_manager_private_custom_bindings.js
@@ -151,11 +151,6 @@
     fileManagerPrivateInternal.getFileTasks(urls, callback);
   });
 
-  apiFunctions.setHandleRequest('getShareUrl', function(entry, callback) {
-    var url = fileManagerPrivateNatives.GetEntryURL(entry);
-    fileManagerPrivateInternal.getShareUrl(url, callback);
-  });
-
   apiFunctions.setHandleRequest('getDownloadUrl', function(entry, callback) {
     var url = fileManagerPrivateNatives.GetEntryURL(entry);
     fileManagerPrivateInternal.getDownloadUrl(url, callback);
diff --git a/chrome/services/printing/pdf_nup_converter.cc b/chrome/services/printing/pdf_nup_converter.cc
index 7261051..281c98d 100644
--- a/chrome/services/printing/pdf_nup_converter.cc
+++ b/chrome/services/printing/pdf_nup_converter.cc
@@ -60,6 +60,7 @@
 void PdfNupConverter::NupPageConvert(
     uint32_t pages_per_sheet,
     const gfx::Size& page_size,
+    const gfx::Rect& printable_area,
     std::vector<base::ReadOnlySharedMemoryRegion> pdf_page_regions,
     NupPageConvertCallback callback) {
   std::vector<base::ReadOnlySharedMemoryMapping> pdf_mappings;
@@ -67,7 +68,7 @@
       CreatePdfPagesVector(pdf_page_regions, &pdf_mappings);
 
   std::vector<uint8_t> output_pdf_buffer = chrome_pdf::ConvertPdfPagesToNupPdf(
-      std::move(input_pdf_buffers), pages_per_sheet, page_size);
+      std::move(input_pdf_buffers), pages_per_sheet, page_size, printable_area);
   if (output_pdf_buffer.empty()) {
     std::move(callback).Run(mojom::PdfNupConverter::Status::CONVERSION_FAILURE,
                             base::ReadOnlySharedMemoryRegion());
@@ -80,6 +81,7 @@
 void PdfNupConverter::NupDocumentConvert(
     uint32_t pages_per_sheet,
     const gfx::Size& page_size,
+    const gfx::Rect& printable_area,
     base::ReadOnlySharedMemoryRegion src_pdf_region,
     NupDocumentConvertCallback callback) {
   base::ReadOnlySharedMemoryMapping pdf_document_mapping = src_pdf_region.Map();
@@ -87,7 +89,7 @@
 
   std::vector<uint8_t> output_pdf_buffer =
       chrome_pdf::ConvertPdfDocumentToNupPdf(input_pdf_buffer, pages_per_sheet,
-                                             page_size);
+                                             page_size, printable_area);
   if (output_pdf_buffer.empty()) {
     std::move(callback).Run(mojom::PdfNupConverter::Status::CONVERSION_FAILURE,
                             base::ReadOnlySharedMemoryRegion());
diff --git a/chrome/services/printing/pdf_nup_converter.h b/chrome/services/printing/pdf_nup_converter.h
index 9d00c47..18473366 100644
--- a/chrome/services/printing/pdf_nup_converter.h
+++ b/chrome/services/printing/pdf_nup_converter.h
@@ -24,10 +24,12 @@
   void NupPageConvert(
       uint32_t pages_per_sheet,
       const gfx::Size& page_size,
+      const gfx::Rect& printable_area,
       std::vector<base::ReadOnlySharedMemoryRegion> pdf_page_regions,
       NupPageConvertCallback callback) override;
   void NupDocumentConvert(uint32_t pages_per_sheet,
                           const gfx::Size& page_size,
+                          const gfx::Rect& printable_area,
                           base::ReadOnlySharedMemoryRegion src_pdf_region,
                           NupDocumentConvertCallback callback) override;
   void SetWebContentsURL(const GURL& url) override;
diff --git a/chrome/services/printing/public/mojom/pdf_nup_converter.mojom b/chrome/services/printing/public/mojom/pdf_nup_converter.mojom
index bf7f2e3..1b6dcce 100644
--- a/chrome/services/printing/public/mojom/pdf_nup_converter.mojom
+++ b/chrome/services/printing/public/mojom/pdf_nup_converter.mojom
@@ -32,6 +32,8 @@
   // Convert a list of PDF pages to a N-up PDF.
   // |pages_per_sheet| is the number of pages to put on a single sheet.
   // |page_size| is the output page size, measured in PDF "user space" units.
+  // |printable_area| is the printable area of the output page, measured in
+  // PDF "user space" units.
   // |pdf_page_regions| is a list of pdf pages to be converted to a N-up page.
   // The number of items in |pdf_page_regions| can be different from N.  It
   // will return a N-up PDF document of
@@ -39,14 +41,18 @@
   NupPageConvert(
       uint32 pages_per_sheet,
       gfx.mojom.Size page_size,
+      gfx.mojom.Rect printable_area,
       array<mojo_base.mojom.ReadOnlySharedMemoryRegion> pdf_page_regions)
    => (Status status, mojo_base.mojom.ReadOnlySharedMemoryRegion? pdf_region);
 
   // Convert a PDF document to a N-up PDF document.
   // |pages_per_sheet| is the number of pages to put on a single sheet.
   // |page_size| is the output page size, measured in PDF "user space" units.
+  // |printable_area| is the printable area of the output page, measured in
+  // PDF "user space" units.
   NupDocumentConvert(uint32 pages_per_sheet,
                      gfx.mojom.Size page_size,
+                     gfx.mojom.Rect printable_area,
                      mojo_base.mojom.ReadOnlySharedMemoryRegion src_pdf_region)
    => (Status status, mojo_base.mojom.ReadOnlySharedMemoryRegion? pdf_region);
 
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index ded331c..df1b63bf 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -3990,6 +3990,7 @@
     sources += [
       "../browser/printing/print_job_unittest.cc",
       "../browser/printing/print_preview_dialog_controller_unittest.cc",
+      "../browser/printing/print_preview_message_handler_unittest.cc",
       "../browser/printing/print_preview_test.cc",
       "../browser/printing/print_preview_test.h",
       "../browser/printing/print_test_utils.cc",
diff --git a/chrome/test/data/chromeos/file_manager/share_dialog_mock/index.html b/chrome/test/data/chromeos/file_manager/share_dialog_mock/index.html
deleted file mode 100644
index 51ef2be..0000000
--- a/chrome/test/data/chromeos/file_manager/share_dialog_mock/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <title>Share dialog</title>
-    <script type="text/javascript" src="main.js"></script>
-  </head>
-  <body style="display: none">
-    <div id="container">
-      This is a mocked sharing dialog.
-      <button onclick="javascript:shareDialog.setVisible(false);">Close</button>
-    </div>
-  </body>
-</html>
diff --git a/chrome/test/data/chromeos/file_manager/share_dialog_mock/main.js b/chrome/test/data/chromeos/file_manager/share_dialog_mock/main.js
deleted file mode 100644
index 2030a576..0000000
--- a/chrome/test/data/chromeos/file_manager/share_dialog_mock/main.js
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2013 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.
-
-// Namespace for the share dialog mock.
-var shareDialog = {};
-
-/**
- * Origin of the Files app.
- * @type {string}
- * @const
- */
-shareDialog.EMBEDDER_ORIGIN =
-    'chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj';
-
-/**
- * Target width of the sharing window in pixels.
- * @type {number}
- * @const
- */
-shareDialog.TARGET_WIDTH = 350;
-
-/**
- * Target height of the sharing window in pixels.
- * @type {number}
- * @const
- */
-shareDialog.TARGET_HEIGHT = 250;
-
-/**
- * Target window of the Files app. Used to communicate over messages. Filled
- * out once the first message from the embedder arrives.
- * @type {Window}
- */
-shareDialog.embedderTarget = null;
-
-/**
- * List of pending messages enqueued to be sent before establishing the target.
- * @type {Array<Object>}
- */
-shareDialog.pendingMessages = [];
-
-/**
- * Sends a message to the embedder. If the embedder target is not available,
- * then enqueues them. Such enqueued messages will be sent as soon as the target
- * is available.
- *
- * @param {string} type Message identifier
- * @param {Object=} opt_args Arguments for the message.
- * @private
- */
-shareDialog.sendMessage_ = function(type, opt_args) {
-  if (!shareDialog.embedderTarget) {
-    shareDialog.pendingMessages.push({type: type, args: opt_args});
-    return;
-  }
-
-  var data = {};
-  data.type = type;
-  if (opt_args)
-    data.args = opt_args;
-
-  shareDialog.embedderTarget.postMessage(JSON.stringify(data),
-                                         shareDialog.EMBEDDER_ORIGIN);
-};
-
-/**
- * Handles a request from the embedder to make the body visible.
- * @private
- */
-shareDialog.onMakeBodyVisible_ = function() {
-  document.body.style.display = '';
-};
-
-/**
- * Handles an event from the embedder than preparation to show the contents
- * is done.
- * @private
- */
-shareDialog.onPrepareComplete_ = function() {
-  shareDialog.resize();
-};
-
-/**
- * Handles an event from the embedder than preparation resize the window is
- * done.
- * @private
- */
-shareDialog.onResizeComplete_ = function() {
-  var container = document.querySelector('#container');
-  container.style.width = shareDialog.TARGET_WIDTH + 'px';
-  container.style.height = shareDialog.TARGET_HEIGHT + 'px';
-};
-
-/**
- * Changes the visibility of the dialog.
- * @param {boolean} visible True to set the dialog visible, false to set it
- *     invisible.
- */
-shareDialog.setVisible = function(visible) {
-  shareDialog.sendMessage_('setVisible', {visible: visible});
-};
-
-/**
- * Prepares the embedder to make the contents visible.
- */
-shareDialog.prepareForVisible = function() {
-  shareDialog.sendMessage_('prepareForVisible');
-};
-
-/**
- * Resizes the embedder to the content window dimensions.
- */
-shareDialog.resize = function() {
-  shareDialog.sendMessage_('prepareForResize');
-};
-
-/**
- * Handles messages sent by the embedder. If it is the first message, then
- * the target is established and all enqueued messages to be sent to the
- * embedder are sent before handling the message from the embedder.
- *
- * @param {Event} message Message event.
- * @private
- */
-shareDialog.onMessage_ = function(message) {
-  if (message.origin != shareDialog.EMBEDDER_ORIGIN)
-    return;
-
-  if (!shareDialog.embedderTarget) {
-    shareDialog.embedderTarget = message.source;
-    for (var i = 0; i < shareDialog.pendingMessages.length; i++) {
-      shareDialog.sendMessage_(shareDialog.pendingMessages[i].type,
-                               shareDialog.pendingMessages[i].args);
-    }
-    shareDialog.pendingMessages = [];
-  }
-
-  var packet = JSON.parse(message.data)
-  var type = packet.type;
-  var args = packet.args;
-
-  switch (type) {
-    case 'makeBodyVisible':
-      shareDialog.onMakeBodyVisible_(args);
-      break;
-    case 'prepareComplete':
-      shareDialog.onPrepareComplete_(args);
-      break;
-    case 'resizeComplete':
-      shareDialog.onResizeComplete_(args);
-      break;
-  }
-};
-
-/**
- * Initializes the mocked share dialog.
- */
-shareDialog.initialize = function() {
-  window.addEventListener('message', shareDialog.onMessage_);
-  shareDialog.prepareForVisible();
-};
-
-window.addEventListener('load', shareDialog.initialize);
diff --git a/chrome/test/data/extensions/api_test/mime_handler_view/test_embedded.html b/chrome/test/data/extensions/api_test/mime_handler_view/test_embedded.html
index b155002..29e9c6b 100644
--- a/chrome/test/data/extensions/api_test/mime_handler_view/test_embedded.html
+++ b/chrome/test/data/extensions/api_test/mime_handler_view/test_embedded.html
@@ -1,14 +1,5 @@
 <html>
 <body>
 <object id="plugin" width="200" height="200" data="testEmbedded.csv" type="text/csv"></object>
-<script>
-  // TODO(ekaramad): Remove once MimeHandlerViewGuest is based on OOPIF (https://crbug.com/659750).
-  function ensurePageIsScrollable() {
-    var spacer = document.createElement("div");
-    spacer.style = "width: 100%; height: 200%";
-    document.body.appendChild(spacer);
-    window.scrollTo(0, 0);
-  }
-</script>
 </body>
 </html>
diff --git a/chromecast/browser/cast_content_window.h b/chromecast/browser/cast_content_window.h
index 52dd8e6..18f86ea 100644
--- a/chromecast/browser/cast_content_window.h
+++ b/chromecast/browser/cast_content_window.h
@@ -63,6 +63,11 @@
 
   // The activity should not be visible.
   HIDDEN = 5,
+
+  // The activity should not be visible, but the activity will consider itself
+  // to be visible. This is useful for opaque overlays while the activity is
+  // still active.
+  HIDDEN_STICKY = 6,
 };
 
 enum class GestureType {
diff --git a/chromecast/media/cma/backend/audio_decoder_for_mixer.cc b/chromecast/media/cma/backend/audio_decoder_for_mixer.cc
index c940205..3740f22 100644
--- a/chromecast/media/cma/backend/audio_decoder_for_mixer.cc
+++ b/chromecast/media/cma/backend/audio_decoder_for_mixer.cc
@@ -163,6 +163,9 @@
   }
   playback_start_pts_ = playback_start_pts;
   start_playback_asap_ = start_playback_asap;
+  last_push_timestamp_ = kInvalidTimestamp;
+  last_push_pts_ = kInvalidTimestamp;
+
   return true;
 }
 
@@ -172,6 +175,15 @@
   mixer_input_->StartPlaybackAt(playback_start_timestamp);
 }
 
+void AudioDecoderForMixer::RestartPlaybackAt(int64_t timestamp, int64_t pts) {
+  LOG(INFO) << __func__ << " pts=" << pts << " timestamp=" << timestamp;
+
+  last_push_timestamp_ = kInvalidTimestamp;
+  last_push_pts_ = kInvalidTimestamp;
+
+  mixer_input_->RestartPlaybackAt(timestamp, pts);
+}
+
 void AudioDecoderForMixer::Stop() {
   TRACE_FUNCTION_ENTRY0();
   decoder_.reset();
@@ -225,6 +237,10 @@
   return mixer_input_->SetAvSyncPlaybackRate(rate);
 }
 
+// TODO(almasrymina): This function currently only really works well when
+// audio is in steady playback, because it returns the timestamp at buffer
+// push. We need to call into the BufferingMixerSource here to get the values
+// of the last *played* buffer.
 bool AudioDecoderForMixer::GetTimestampedPts(int64_t* timestamp,
                                              int64_t* pts) const {
   if (last_push_timestamp_ == kInvalidTimestamp ||
diff --git a/chromecast/media/cma/backend/audio_decoder_for_mixer.h b/chromecast/media/cma/backend/audio_decoder_for_mixer.h
index b4b0bae1..c12ee66 100644
--- a/chromecast/media/cma/backend/audio_decoder_for_mixer.h
+++ b/chromecast/media/cma/backend/audio_decoder_for_mixer.h
@@ -61,6 +61,7 @@
   // This allows for very small changes in the rate of audio playback that are
   // (supposedly) imperceptible.
   float SetAvSyncPlaybackRate(float rate);
+  void RestartPlaybackAt(int64_t pts, int64_t timestamp);
 
  private:
   friend class MockAudioDecoderForMixer;
diff --git a/chromecast/media/cma/backend/audio_fader.cc b/chromecast/media/cma/backend/audio_fader.cc
index 3cc0ba2..a6d24c0 100644
--- a/chromecast/media/cma/backend/audio_fader.cc
+++ b/chromecast/media/cma/backend/audio_fader.cc
@@ -31,13 +31,16 @@
   return num_fill_frames + fade_frames_ - buffered_frames_;
 }
 
-int AudioFader::FillFrames(int num_frames, ::media::AudioBus* buffer) {
+int AudioFader::FillFrames(int num_frames,
+                           ::media::AudioBus* buffer,
+                           int write_offset) {
   DCHECK(buffer);
   DCHECK_EQ(buffer->channels(), fade_buffer_->channels());
+  DCHECK_LE(write_offset + num_frames, buffer->frames());
 
   // First, copy data from buffered_frames_.
   int filled_frames = std::min(buffered_frames_, num_frames);
-  fade_buffer_->CopyPartialFramesTo(0, filled_frames, 0, buffer);
+  fade_buffer_->CopyPartialFramesTo(0, filled_frames, write_offset, buffer);
   buffered_frames_ -= filled_frames;
   num_frames -= filled_frames;
 
@@ -50,8 +53,8 @@
 
   if (num_frames > 0) {
     // Still need more frames; ask source to fill.
-    int extra_fill =
-        source_->FillFaderFrames(buffer, filled_frames, num_frames);
+    int extra_fill = source_->FillFaderFrames(
+        buffer, filled_frames + write_offset, num_frames);
     filled_frames += extra_fill;
     num_frames -= extra_fill;
   }
@@ -61,14 +64,16 @@
 
   const bool complete = (num_frames == 0 && buffered_frames_ == fade_frames_);
   if (complete) {
-    CompleteFill(buffer, filled_frames);
+    CompleteFill(buffer, filled_frames, write_offset);
   } else {
-    IncompleteFill(buffer, filled_frames);
+    IncompleteFill(buffer, filled_frames, write_offset);
   }
   return filled_frames;
 }
 
-void AudioFader::CompleteFill(::media::AudioBus* buffer, int filled_frames) {
+void AudioFader::CompleteFill(::media::AudioBus* buffer,
+                              int filled_frames,
+                              int write_offset) {
   switch (state_) {
     case State::kSilent:
       // Fade in.
@@ -88,15 +93,17 @@
           std::max(0, fade_frames_ - fade_frames_remaining_ - 1);
       break;
   }
-  FadeIn(buffer, filled_frames);
+  FadeIn(buffer, filled_frames, write_offset);
 }
 
-void AudioFader::IncompleteFill(::media::AudioBus* buffer, int filled_frames) {
+void AudioFader::IncompleteFill(::media::AudioBus* buffer,
+                                int filled_frames,
+                                int write_offset) {
   switch (state_) {
     case State::kSilent:
       // Remain silent.
       buffered_frames_ = 0;
-      buffer->ZeroFramesPartial(0, filled_frames);
+      buffer->ZeroFramesPartial(write_offset, filled_frames);
       return;
     case State::kFadingIn:
       // Fade back out.
@@ -113,20 +120,22 @@
       // Continue fading out.
       break;
   }
-  FadeOut(buffer, filled_frames);
+  FadeOut(buffer, filled_frames, write_offset);
 }
 
 // static
 void AudioFader::FadeInHelper(::media::AudioBus* buffer,
                               int filled_frames,
+                              int write_offset,
                               int fade_frames,
                               int fade_frames_remaining) {
   const float inverse_fade_frames = 1.0f / static_cast<float>(fade_frames);
   const int fade_limit = std::min(filled_frames, fade_frames_remaining + 1);
 
+  DCHECK_LE(write_offset + fade_limit, buffer->frames());
   for (int c = 0; c < buffer->channels(); ++c) {
     float* channel_data = buffer->channel(c);
-    for (int f = 0; f < fade_limit; ++f) {
+    for (int f = write_offset; f < (write_offset + fade_limit); ++f) {
       const float fade_multiplier =
           1.0 - (fade_frames_remaining - f) * inverse_fade_frames;
       channel_data[f] *= fade_multiplier;
@@ -137,29 +146,34 @@
 // static
 void AudioFader::FadeOutHelper(::media::AudioBus* buffer,
                                int filled_frames,
+                               int write_offset,
                                int fade_frames,
                                int fade_frames_remaining) {
   const float inverse_fade_frames = 1.0f / static_cast<float>(fade_frames);
   const int fade_limit = std::min(filled_frames, fade_frames_remaining + 1);
 
+  DCHECK_LE(write_offset + fade_limit, buffer->frames());
   for (int c = 0; c < buffer->channels(); ++c) {
     float* channel_data = buffer->channel(c);
-    for (int f = 0; f < fade_limit; ++f) {
+    for (int f = write_offset; f < (write_offset + fade_limit); ++f) {
       const float fade_multiplier =
           (fade_frames_remaining - f) * inverse_fade_frames;
       channel_data[f] *= fade_multiplier;
     }
   }
   if (filled_frames > fade_frames_remaining) {
-    buffer->ZeroFramesPartial(fade_frames_remaining,
+    buffer->ZeroFramesPartial(write_offset + fade_frames_remaining,
                               filled_frames - fade_frames_remaining);
   }
 }
 
-void AudioFader::FadeIn(::media::AudioBus* buffer, int filled_frames) {
+void AudioFader::FadeIn(::media::AudioBus* buffer,
+                        int filled_frames,
+                        int write_offset) {
   DCHECK(state_ == State::kFadingIn);
 
-  FadeInHelper(buffer, filled_frames, fade_frames_, fade_frames_remaining_);
+  FadeInHelper(buffer, filled_frames, write_offset, fade_frames_,
+               fade_frames_remaining_);
   fade_frames_remaining_ = std::max(0, fade_frames_remaining_ - filled_frames);
 
   if (fade_frames_remaining_ == 0) {
@@ -167,10 +181,13 @@
   }
 }
 
-void AudioFader::FadeOut(::media::AudioBus* buffer, int filled_frames) {
+void AudioFader::FadeOut(::media::AudioBus* buffer,
+                         int filled_frames,
+                         int write_offset) {
   DCHECK(state_ == State::kFadingOut);
 
-  FadeOutHelper(buffer, filled_frames, fade_frames_, fade_frames_remaining_);
+  FadeOutHelper(buffer, filled_frames, write_offset, fade_frames_,
+                fade_frames_remaining_);
   fade_frames_remaining_ = std::max(0, fade_frames_remaining_ - filled_frames);
 
   if (fade_frames_remaining_ == 0) {
diff --git a/chromecast/media/cma/backend/audio_fader.h b/chromecast/media/cma/backend/audio_fader.h
index d0e0a15..68ae728 100644
--- a/chromecast/media/cma/backend/audio_fader.h
+++ b/chromecast/media/cma/backend/audio_fader.h
@@ -47,10 +47,11 @@
 
   int buffered_frames() const { return buffered_frames_; }
 
-  // Fills |buffer| with up to |num_frames| frames of data, fading as
-  // appropriate to avoid pops/clicks. This will call through to the source to
-  // get more data. Returns the number of frames filled.
-  int FillFrames(int num_frames, ::media::AudioBus* buffer);
+  // Fills |buffer| with up to |num_frames| frames of data, starting at
+  // |write_offset| within |buffer|, and fading as appropriate to avoid
+  // pops/clicks. This will call through to the source to get more data. Returns
+  // the number of frames filled.
+  int FillFrames(int num_frames, ::media::AudioBus* buffer, int write_offset);
 
   // Returns the total number of frames that will be requested from the source
   // (potentially over multiple calls to source_->FillFaderFrames()) if
@@ -60,17 +61,20 @@
   // Helper methods to fade in/out an AudioBus. |buffer| contains the data to
   // fade; |filled_frames| is the amount of data actually in |buffer| (if the
   // buffer was partially filled, this will not be equal to buffer->frames()).
-  // |fade_frames| is the number of frames over which a complete fade should
+  // |write_offset| is the offset within |buffer| to starting writing frames
+  // to. |fade_frames| is the number of frames over which a complete fade should
   // happen (ie, how many frames it takes to go from a 1.0 to 0.0 multiplier).
   // |fade_frames_remaining| is the number of frames left in the current fade
   // (which will be less than |fade_frames| if part of the fade has already
   // been completed on a previous buffer).
   static void FadeInHelper(::media::AudioBus* buffer,
                            int filled_frames,
+                           int write_offset,
                            int fade_frames,
                            int fade_frames_remaining);
   static void FadeOutHelper(::media::AudioBus* buffer,
                             int filled_frames,
+                            int write_offset,
                             int fade_frames,
                             int fade_frames_remaining);
 
@@ -82,10 +86,14 @@
     kFadingOut,
   };
 
-  void CompleteFill(::media::AudioBus* buffer, int filled_frames);
-  void IncompleteFill(::media::AudioBus* buffer, int filled_frames);
-  void FadeIn(::media::AudioBus* buffer, int filled_frames);
-  void FadeOut(::media::AudioBus* buffer, int filled_frames);
+  void CompleteFill(::media::AudioBus* buffer,
+                    int filled_frames,
+                    int write_offset);
+  void IncompleteFill(::media::AudioBus* buffer,
+                      int filled_frames,
+                      int write_offset);
+  void FadeIn(::media::AudioBus* buffer, int filled_frames, int write_offset);
+  void FadeOut(::media::AudioBus* buffer, int filled_frames, int write_offset);
 
   Source* const source_;
   const int fade_frames_;
diff --git a/chromecast/media/cma/backend/audio_fader_unittest.cc b/chromecast/media/cma/backend/audio_fader_unittest.cc
index c1d7047..57ae067 100644
--- a/chromecast/media/cma/backend/audio_fader_unittest.cc
+++ b/chromecast/media/cma/backend/audio_fader_unittest.cc
@@ -88,7 +88,9 @@
   EXPECT_EQ(frames_needed, kFadeFrames + kFillSize);
 
   auto dest = CreateAudioBus(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  // TODO(almasrymina): need to add unittests for cases where write_offset is
+  // non-zero.
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
 
   // Test that FramesNeededFromSource() works correctly.
   EXPECT_EQ(source.total_requested_frames(), frames_needed);
@@ -111,7 +113,7 @@
   const int kFillSize = kFadeFrames * 2 / 3;
   int frames_needed = fader.FramesNeededFromSource(kFillSize);
   auto dest = CreateAudioBus(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
 
   // Fader's internal buffer should be full.
   EXPECT_EQ(fader.buffered_frames(), kFadeFrames);
@@ -122,7 +124,7 @@
 
   // Fill more data.
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
   EXPECT_EQ(fader.buffered_frames(), kFadeFrames);
 
   // Test that FramesNeededFromSource() works correctly.
@@ -146,14 +148,14 @@
   auto dest = CreateAudioBus(kFillSize);
 
   int frames_needed = fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
 
   // Data should be faded in.
   EXPECT_EQ(dest->channel(0)[kFadeFrames], 1.0f);
 
   // Now request more data. Data should remain fully faded in.
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
   EXPECT_EQ(dest->channel(0)[0], 1.0f);
 
   // Test that FramesNeededFromSource() works correctly.
@@ -174,21 +176,21 @@
   auto dest = CreateAudioBus(kFillSize);
 
   int frames_needed = fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
 
   // Data should be faded in.
   EXPECT_EQ(dest->channel(0)[kFadeFrames], 1.0f);
 
   // Now request more data. Data should remain fully faded in.
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
   EXPECT_EQ(dest->channel(0)[0], 1.0f);
 
   // Now make the source not provide enough data.
   EXPECT_GT(fader.FramesNeededFromSource(kFillSize), 0);
   source.set_max_fill_frames(0);
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  int filled = fader.FillFrames(kFillSize, dest.get());
+  int filled = fader.FillFrames(kFillSize, dest.get(), 0);
   EXPECT_EQ(filled, kFadeFrames);
 
   // Test that FramesNeededFromSource() works correctly.
@@ -214,21 +216,21 @@
   auto dest = CreateAudioBus(kFillSize);
 
   int frames_needed = fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
 
   // Data should be faded in.
   EXPECT_EQ(dest->channel(0)[kFadeFrames], 1.0f);
 
   // Now request more data. Data should remain fully faded in.
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
   EXPECT_EQ(dest->channel(0)[0], 1.0f);
 
   // Now make the source not provide enough data.
   EXPECT_GT(fader.FramesNeededFromSource(kFillSize), 0);
   source.set_max_fill_frames(0);
   frames_needed += fader.FramesNeededFromSource(kFadeFrames / 3);
-  int filled = fader.FillFrames(kFadeFrames / 3, dest.get());
+  int filled = fader.FillFrames(kFadeFrames / 3, dest.get(), 0);
   EXPECT_EQ(filled, kFadeFrames / 3);
 
   // Data should be partially faded out.
@@ -243,7 +245,7 @@
   // Now let the source provide data again.
   source.set_max_fill_frames(std::numeric_limits<int>::max());
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
   // Data should fade back in from the point it faded out to.
   EXPECT_GE(dest->channel(0)[0], fade_min);
   EXPECT_EQ(dest->channel(0)[kFillSize - 1], 1.0f);
@@ -269,7 +271,7 @@
   // from silence, the fader should output silence.
   auto dest = CreateAudioBus(kFillSize);
   source.set_max_fill_frames(10);
-  int filled = fader.FillFrames(kFillSize, dest.get());
+  int filled = fader.FillFrames(kFillSize, dest.get(), 0);
 
   // Test that FramesNeededFromSource() works correctly.
   EXPECT_EQ(source.total_requested_frames(), frames_needed);
@@ -294,7 +296,7 @@
 
   int frames_needed = fader.FramesNeededFromSource(kFillSize);
   auto dest = CreateAudioBus(kFillSize);
-  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get()), kFillSize);
+  EXPECT_EQ(fader.FillFrames(kFillSize, dest.get(), 0), kFillSize);
 
   // Fader's internal buffer should be full.
   EXPECT_EQ(fader.buffered_frames(), kFadeFrames);
@@ -309,7 +311,7 @@
   // back out to silence.
   source.set_max_fill_frames(0);
   frames_needed += fader.FramesNeededFromSource(kFillSize);
-  int filled = fader.FillFrames(kFillSize, dest.get());
+  int filled = fader.FillFrames(kFillSize, dest.get(), 0);
 
   // Data should be faded out.
   EXPECT_LE(dest->channel(0)[0], fade_max);
diff --git a/chromecast/media/cma/backend/audio_output_redirector.cc b/chromecast/media/cma/backend/audio_output_redirector.cc
index 2c76029..b2b81ce9 100644
--- a/chromecast/media/cma/backend/audio_output_redirector.cc
+++ b/chromecast/media/cma/backend/audio_output_redirector.cc
@@ -84,13 +84,13 @@
   if (previous_ended_in_silence_) {
     if (!redirected) {
       // Smoothly fade in from previous silence.
-      AudioFader::FadeInHelper(temp_buffer_.get(), num_frames, num_frames,
+      AudioFader::FadeInHelper(temp_buffer_.get(), num_frames, 0, num_frames,
                                num_frames);
     }
   } else if (redirected) {
     // Smoothly fade out to silence, since output is now being redirected by a
     // previous output splitter.
-    AudioFader::FadeOutHelper(temp_buffer_.get(), num_frames, num_frames,
+    AudioFader::FadeOutHelper(temp_buffer_.get(), num_frames, 0, num_frames,
                               num_frames);
   }
   previous_ended_in_silence_ = redirected;
diff --git a/chromecast/media/cma/backend/buffering_mixer_source.cc b/chromecast/media/cma/backend/buffering_mixer_source.cc
index df8ff53..6f99e4b 100644
--- a/chromecast/media/cma/backend/buffering_mixer_source.cc
+++ b/chromecast/media/cma/backend/buffering_mixer_source.cc
@@ -43,6 +43,7 @@
 // issues with voice calling.
 const int64_t kCommsInputQueueMs = 200;
 const int64_t kCommsStartThresholdMs = 150;
+const int64_t kNonCommsStartThresholdMs = 40;
 
 void PostTaskShim(scoped_refptr<base::SingleThreadTaskRunner> task_runner,
                   base::OnceClosure task) {
@@ -81,7 +82,7 @@
   if (device_id == ::media::AudioDeviceDescription::kCommunicationsDeviceId) {
     return MsToSamples(kCommsStartThresholdMs, sample_rate);
   }
-  return 0;
+  return MsToSamples(kNonCommsStartThresholdMs, sample_rate);
 }
 
 }  // namespace
@@ -196,6 +197,36 @@
   locked->playback_start_timestamp_ = playback_start_timestamp;
 }
 
+void BufferingMixerSource::RestartPlaybackAt(int64_t timestamp, int64_t pts) {
+  DCHECK(caller_task_runner_->BelongsToCurrentThread());
+
+  LOG(INFO) << __func__ << " timestamp=" << timestamp << " pts=" << pts;
+
+  bool post_pcm_completion = false;
+  RenderingDelay cached_mixer_rendering_delay;
+  {
+    auto locked = locked_members_.Lock();
+    DCHECK(locked->started_);
+
+    playback_start_pts_ = pts;
+
+    locked->playback_start_timestamp_ = timestamp;
+    locked->started_ = false;
+
+    locked->queue_.clear();
+    locked->current_buffer_offset_ = 0;
+    locked->queued_frames_ = 0;
+    if (locked->pending_data_) {
+      locked->pending_data_.reset();
+      post_pcm_completion = true;
+      cached_mixer_rendering_delay = locked->mixer_rendering_delay_;
+    }
+  }
+  if (post_pcm_completion) {
+    POST_TASK_TO_CALLER_THREAD(PostPcmCompletion, cached_mixer_rendering_delay);
+  }
+}
+
 float BufferingMixerSource::SetAvSyncPlaybackRate(float rate) {
   DCHECK(caller_task_runner_->BelongsToCurrentThread());
   LOG(INFO) << __func__ << " rate=" << rate;
@@ -263,7 +294,8 @@
               << " difference=" << playback_start_pts_ - data->timestamp();
     } else {
       LOG_IF(INFO, (!locked->started_ &&
-                    (data->timestamp() - playback_start_pts_) < 100000))
+                    (data->timestamp() - playback_start_pts_) < 100000 &&
+                    locked->playback_start_timestamp_ != INT64_MIN))
           << "Queueing pts diff=" << data->timestamp() - playback_start_pts_
           << " current buffered data=" << GetCurrentBufferedDataInUs() / 1000;
 
@@ -274,8 +306,13 @@
       locked->queued_frames_ += frames;
       locked->queue_.push_back(std::move(buffer));
 
-      if (!locked->started_ && GetCurrentBufferedDataInUs() >=
-                                   kAudioReadyForPlaybackThresholdMs * 1000) {
+      // TODO(almasrymina): this needs to be called outside the lock.
+      // POST_TASK_TO_CALLER_THREAD should also probably DCHECK that the lock
+      // is not held before executing.
+      if (!locked->started_ &&
+          GetCurrentBufferedDataInUs() >=
+              kAudioReadyForPlaybackThresholdMs * 1000 &&
+          locked->playback_start_timestamp_ != INT64_MIN) {
         POST_TASK_TO_CALLER_THREAD(PostAudioReadyForPlayback);
       }
     }
@@ -382,22 +419,11 @@
             base::TimeDelta::FromMicroseconds(-silence_duration),
             input_samples_per_second_));
       } else {
-        // Queue silence.
-        LOG(INFO) << "Queueing silence padding buffer. Duration="
-                  << silence_duration;
-
-        scoped_refptr<DecoderBufferBase> padding(
-            new DecoderBufferAdapter(new ::media::DecoderBuffer(
-                ::media::AudioTimestampHelper::TimeToFrames(
-                    base::TimeDelta::FromMicroseconds(silence_duration),
-                    input_samples_per_second_) *
-                num_channels_ * sizeof(float))));
-
-        LOG(INFO) << "silence_duration=" << silence_duration
-                  << " padding->data_size()=" << padding->data_size();
-
-        locked->queued_frames_ += DataToFrames(padding->data_size());
-        locked->queue_.push_front(std::move(padding));
+        LOG(INFO) << "Adding silence. Duration=" << silence_duration;
+        remaining_silence_frames_ =
+            DataToFrames(::media::AudioTimestampHelper::TimeToFrames(
+                base::TimeDelta::FromMicroseconds(silence_duration),
+                input_samples_per_second_));
       }
     }
 
@@ -445,7 +471,22 @@
       locked->zero_fader_frames_ = false;
     }
 
-    filled = locked->fader_.FillFrames(num_frames, buffer);
+    DCHECK_GE(remaining_silence_frames_, 0);
+    if (remaining_silence_frames_ >= num_frames) {
+      remaining_silence_frames_ -= num_frames;
+      return 0;
+    }
+
+    int write_offset = 0;
+    if (remaining_silence_frames_ > 0) {
+      buffer->ZeroFramesPartial(0, remaining_silence_frames_);
+      filled += remaining_silence_frames_;
+      num_frames -= remaining_silence_frames_;
+      write_offset = remaining_silence_frames_;
+      remaining_silence_frames_ = 0;
+    }
+
+    filled = locked->fader_.FillFrames(num_frames, buffer, write_offset);
 
     locked->mixer_rendering_delay_ = rendering_delay;
     locked->extra_delay_frames_ = num_frames + locked->fader_.buffered_frames();
@@ -560,6 +601,11 @@
         << " locked->current_buffer_offset_=" << locked->current_buffer_offset_
         << " buffer=" << buffer->data_size();
 
+    DCHECK_LE(frames_to_copy + frame_offset, dest->frames())
+        << " frames_to_copy=" << frames_to_copy
+        << " dest->frames()=" << dest->frames()
+        << " frame_offset=" << frame_offset;
+
     const float* buffer_samples =
         reinterpret_cast<const float*>(buffer->data());
     for (int c = 0; c < num_channels_; ++c) {
diff --git a/chromecast/media/cma/backend/buffering_mixer_source.h b/chromecast/media/cma/backend/buffering_mixer_source.h
index f3014bb..6b94f8a 100644
--- a/chromecast/media/cma/backend/buffering_mixer_source.h
+++ b/chromecast/media/cma/backend/buffering_mixer_source.h
@@ -80,6 +80,14 @@
   // |start_playback_asap| is false during constructing.
   void StartPlaybackAt(int64_t playback_start_timestamp);
 
+  // Restarts the current playback from the timestamp provided at the pts
+  // provided. Flushes any currently buffered audio. Generally does well if you
+  // require the audio to jump back and/or forth by up to 5 seconds or so,
+  // depending on how much data is already buffered by the upper layers and
+  // ready for consumption here. This API will start having problems if you try
+  // to do more than that, so it's not advised.
+  void RestartPlaybackAt(int64_t timestamp, int64_t pts);
+
   // Queues some PCM data to be mixed. |data| must be in planar float format.
   // If the buffer can accept more data, the delegate's OnWritePcmCompletion()
   // method is called synchronously. Otherwise, OnWritePcmCompletion() will be
@@ -221,7 +229,6 @@
   int64_t DataToFrames(int64_t size);
   void CheckAndStartPlaybackIfNecessary(int num_frames,
                                         int64_t playback_absolute_timestamp);
-
   Delegate* const delegate_;
   const int num_channels_;
   const int input_samples_per_second_;
@@ -245,6 +252,8 @@
 
   LockedMembers locked_members_;
 
+  int remaining_silence_frames_ = 0;
+
   base::WeakPtr<BufferingMixerSource> weak_this_;
   base::WeakPtrFactory<BufferingMixerSource> weak_factory_;
 
diff --git a/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.cc b/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.cc
index d852198..c33451e 100644
--- a/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.cc
+++ b/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.cc
@@ -77,7 +77,6 @@
 
   video_ready_to_play_ = !video_decoder_;
   audio_ready_to_play_ = !audio_decoder_;
-  first_resume_processed_ = false;
 
   start_playback_timestamp_us_ = INT64_MIN;
   start_playback_pts_us_ = start_pts;
@@ -93,11 +92,9 @@
   if (video_decoder_ && !video_decoder_->Start(start_playback_pts_us_, true))
     return false;
 
-  if (av_sync_) {
-    state_ = kStatePaused;
-  } else {
-    state_ = kStatePlaying;
-  }
+  state_ = kStatePlaying;
+  playback_started_ = !av_sync_;
+
   return true;
 }
 
@@ -116,13 +113,13 @@
 }
 
 bool MediaPipelineBackendForMixer::Pause() {
-  if (av_sync_ && !first_resume_processed_) {
-    DCHECK_EQ(kStatePaused, state_);
+  DCHECK_EQ(kStatePlaying, state_);
+  if (!playback_started_) {
+    state_ = kStatePaused;
+    LOG(INFO) << "Pause received while playback has not started yet.";
     return true;
   }
 
-  DCHECK_EQ(kStatePlaying, state_);
-
   if (audio_decoder_ && !audio_decoder_->Pause()) {
     return false;
   }
@@ -139,10 +136,10 @@
 
 bool MediaPipelineBackendForMixer::Resume() {
   DCHECK_EQ(kStatePaused, state_);
-  if (av_sync_ && !first_resume_processed_) {
 
-    LOG(INFO) << "First resume received.";
-    first_resume_processed_ = true;
+  if (!playback_started_) {
+    LOG(INFO) << "Resume received while playback has not started yet.";
+    state_ = kStatePlaying;
     TryStartPlayback();
     return true;
   }
@@ -276,13 +273,13 @@
 
 void MediaPipelineBackendForMixer::TryStartPlayback() {
   DCHECK(av_sync_);
-  DCHECK(state_ == kStatePaused);
   DCHECK(!IsIgnorePtsMode());
   DCHECK(video_decoder_);
   DCHECK(audio_decoder_);
+  DCHECK(!playback_started_);
 
   if (!audio_ready_to_play_ || !video_ready_to_play_ ||
-      !first_resume_processed_) {
+      state_ != kStatePlaying) {
     return;
   }
 
@@ -293,7 +290,7 @@
   video_decoder_->SetPts(start_playback_timestamp_us_, start_playback_pts_us_);
   audio_decoder_->StartPlaybackAt(start_playback_timestamp_us_);
   av_sync_->NotifyStart(start_playback_timestamp_us_, start_playback_pts_us_);
-  state_ = kStatePlaying;
+  playback_started_ = true;
 }
 
 }  // namespace media
diff --git a/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.h b/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.h
index 478f900..50b35cc5 100644
--- a/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.h
+++ b/chromecast/media/cma/backend/media_pipeline_backend_for_mixer.h
@@ -95,7 +95,7 @@
   // met.
   bool audio_ready_to_play_ = false;
   bool video_ready_to_play_ = false;
-  bool first_resume_processed_ = false;
+  bool playback_started_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(MediaPipelineBackendForMixer);
 };
diff --git a/chromecast/media/cma/backend/mixer_input.cc b/chromecast/media/cma/backend/mixer_input.cc
index bf83703d92..88b89ce 100644
--- a/chromecast/media/cma/backend/mixer_input.cc
+++ b/chromecast/media/cma/backend/mixer_input.cc
@@ -170,11 +170,11 @@
       filled = 0;
     } else {
       // Smoothly fade in from previous silence.
-      AudioFader::FadeInHelper(dest, filled, filled, filled);
+      AudioFader::FadeInHelper(dest, filled, 0, filled, filled);
     }
   } else if (redirected) {
     // Smoothly fade out to silence, since output is now being redirected.
-    AudioFader::FadeOutHelper(dest, filled, filled, filled);
+    AudioFader::FadeOutHelper(dest, filled, 0, filled, filled);
   }
   previous_ended_in_silence_ = redirected;
   first_buffer_ = false;
diff --git a/chromecast/media/cma/backend/video/av_sync_video.cc b/chromecast/media/cma/backend/video/av_sync_video.cc
index 71c6b2fe..94246dea 100644
--- a/chromecast/media/cma/backend/video/av_sync_video.cc
+++ b/chromecast/media/cma/backend/video/av_sync_video.cc
@@ -26,6 +26,10 @@
 
 namespace {
 
+// Threshold where the audio and video pts are far enough apart such that we
+// want to do a hard correction.
+const int kHardCorrectionThresholdUs = 100000;
+
 // Length of time after which data is forgotten from our linear regression
 // models.
 const int kLinearRegressionDataLifetimeUs =
@@ -123,6 +127,18 @@
     return;
   }
 
+  int64_t timestamp_for_0_vpts = new_vpts_timestamp - new_raw_vpts;
+  int64_t timestamp_for_0_apts = new_apts_timestamp - new_raw_apts;
+
+  // Positive difference means it looks like the audio started playing before
+  // the video, which means the audio is ahead the video.
+  int64_t raw_difference = timestamp_for_0_vpts - timestamp_for_0_apts;
+
+  if (abs(raw_difference) > kHardCorrectionThresholdUs) {
+    HardCorrection(now, new_raw_vpts, new_vpts_timestamp, raw_difference);
+    return;
+  }
+
   int64_t linear_regression_vpts = 0;
   int64_t linear_regression_apts = 0;
   double vpts_slope = 0.0;
@@ -238,6 +254,22 @@
       new WeightedMovingLinearRegression(kLinearRegressionDataLifetimeUs));
 }
 
+void AvSyncVideo::HardCorrection(int64_t now,
+                                 int64_t new_raw_vpts,
+                                 int64_t new_vpts_timestamp,
+                                 int64_t raw_difference) {
+  backend_->audio_decoder()->RestartPlaybackAt(new_vpts_timestamp,
+                                               new_raw_vpts);
+
+  audio_pts_.reset(
+      new WeightedMovingLinearRegression(kLinearRegressionDataLifetimeUs));
+
+  LOG(INFO) << "Hard correction."
+            << " raw_difference=" << raw_difference
+            << " new_raw_vpts=" << new_raw_vpts
+            << " current_audio_playback_rate_=" << current_audio_playback_rate_;
+}
+
 // We calculate the desired audio playback rate, and set the rate to that if
 // it's different from the current rate. The desired rate of audio playback is
 // that one which will bring us to 0 sync difference in kReSyncDurationUs.
@@ -276,10 +308,17 @@
 
 void AvSyncVideo::GatherPlaybackStatistics() {
   DCHECK(backend_);
-  if (!backend_->video_decoder()) {
+  if (!backend_->video_decoder() || av_sync_difference_count_ == 0) {
     return;
   }
 
+  double average_av_sync_difference =
+      static_cast<double>(av_sync_difference_sum_) /
+      static_cast<double>(av_sync_difference_count_);
+
+  av_sync_difference_sum_ = 0;
+  av_sync_difference_count_ = 0;
+
   int64_t frame_rate_difference =
       (backend_->video_decoder()->GetCurrentContentRefreshRate() -
        backend_->video_decoder()->GetOutputRefreshRate()) /
@@ -311,15 +350,6 @@
   int64_t unexpected_repeated_frames =
       (repeated_frames - last_repeated_frames_) - expected_repeated_frames;
 
-  double average_av_sync_difference = 0.0;
-
-  if (av_sync_difference_count_ != 0) {
-    average_av_sync_difference = static_cast<double>(av_sync_difference_sum_) /
-                                 static_cast<double>(av_sync_difference_count_);
-  }
-  av_sync_difference_sum_ = 0;
-  av_sync_difference_count_ = 0;
-
   int64_t accurate_vpts = 0;
   int64_t accurate_vpts_timestamp = 0;
   backend_->video_decoder()->GetCurrentPts(&accurate_vpts_timestamp,
@@ -331,8 +361,7 @@
                                            &accurate_apts);
 
   LOG(INFO) << "Playback diagnostics:"
-            << " average_av_sync_difference="
-            << average_av_sync_difference / 1000
+            << " average_av_sync_difference=" << average_av_sync_difference
             << " content fps=" << GetContentFrameRate()
             << " unexpected_dropped_frames=" << unexpected_dropped_frames
             << " unexpected_repeated_frames=" << unexpected_repeated_frames;
diff --git a/chromecast/media/cma/backend/video/av_sync_video.h b/chromecast/media/cma/backend/video/av_sync_video.h
index c15ff00..ad29901d 100644
--- a/chromecast/media/cma/backend/video/av_sync_video.h
+++ b/chromecast/media/cma/backend/video/av_sync_video.h
@@ -66,6 +66,10 @@
   // linear regression / the number of samples (which are unique frames).
   int GetContentFrameRate();
 
+  void HardCorrection(int64_t now,
+                      int64_t new_vpts,
+                      int64_t new_vpts_timestamp,
+                      int64_t difference);
   void AudioRateUpkeep(int64_t now,
                        int64_t new_raw_vpts,
                        int64_t new_raw_apts,
diff --git a/chromeos/chromeos_features.cc b/chromeos/chromeos_features.cc
index 4ca6a97..2b8e7784 100644
--- a/chromeos/chromeos_features.cc
+++ b/chromeos/chromeos_features.cc
@@ -12,6 +12,10 @@
 const base::Feature kAndroidMessagesIntegration{
     "AndroidMessagesIntegration", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Point to the production Android Messages URL instead of sandbox.
+const base::Feature kAndroidMessagesProdEndpoint{
+    "AndroidMessagesProdEndpoint", base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Enables or disables native ChromeVox support for Arc.
 const base::Feature kChromeVoxArcSupport{"ChromeVoxArcSupport",
                                          base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chromeos/chromeos_features.h b/chromeos/chromeos_features.h
index 5bf4b4d..9fcdab82 100644
--- a/chromeos/chromeos_features.h
+++ b/chromeos/chromeos_features.h
@@ -16,6 +16,7 @@
 // alongside the definition of their values in the .cc file.
 
 CHROMEOS_EXPORT extern const base::Feature kAndroidMessagesIntegration;
+CHROMEOS_EXPORT extern const base::Feature kAndroidMessagesProdEndpoint;
 CHROMEOS_EXPORT extern const base::Feature kChromeVoxArcSupport;
 CHROMEOS_EXPORT extern const base::Feature kDriveFs;
 CHROMEOS_EXPORT extern const base::Feature kEnableUnifiedMultiDeviceSettings;
diff --git a/chromeos/services/assistant/assistant_manager_service_impl.cc b/chromeos/services/assistant/assistant_manager_service_impl.cc
index 1abba35..c334d8c 100644
--- a/chromeos/services/assistant/assistant_manager_service_impl.cc
+++ b/chromeos/services/assistant/assistant_manager_service_impl.cc
@@ -346,6 +346,7 @@
          <body>
            <style>
              * {
+               box-sizing: border-box;
                cursor: default;
                font-family: Google Sans, sans-serif;
                user-select: none;
diff --git a/chromeos/services/assistant/platform/system_provider_impl.cc b/chromeos/services/assistant/platform/system_provider_impl.cc
index 51ab5e0..b1c8f9807 100644
--- a/chromeos/services/assistant/platform/system_provider_impl.cc
+++ b/chromeos/services/assistant/platform/system_provider_impl.cc
@@ -66,14 +66,5 @@
   battery_monitor_.FlushForTesting();
 }
 
-void SystemProviderImpl::ProcessTpm(TpmProcessingType type,
-                                    const std::string& data,
-                                    TpmCallback on_done) {
-  // This method is used for processing data from the TPM chip. This is inorder
-  // to access secure storage. The work is currently not complete (b:111559586).
-  // The default implementation by other platforms is to call on_done for now.
-  on_done(data);
-}
-
 }  // namespace assistant
 }  // namespace chromeos
diff --git a/chromeos/services/assistant/platform/system_provider_impl.h b/chromeos/services/assistant/platform/system_provider_impl.h
index c582736..c3b035fd 100644
--- a/chromeos/services/assistant/platform/system_provider_impl.h
+++ b/chromeos/services/assistant/platform/system_provider_impl.h
@@ -26,9 +26,6 @@
   bool GetBatteryState(BatteryState* state) override;
   void UpdateTimezoneAndLocale(const std::string& timezone,
                                const std::string& locale) override;
-  void ProcessTpm(TpmProcessingType type,
-                  const std::string& data,
-                  TpmCallback on_done) override;
 
  private:
   friend class SystemProviderImplTest;
diff --git a/components/blacklist/README.md b/components/blacklist/README.md
index bf46565..f83cc36 100644
--- a/components/blacklist/README.md
+++ b/components/blacklist/README.md
@@ -1,15 +1,43 @@
-#Blacklist component#
+# Blacklist component #
 
 The goal of the blacklist component is to provide various blacklists that allow
-different policies for features to consume. Currently, the only implemented
-blacklist is the opt out blacklist.
+different policies for features to consume. Below are various types of blacklist
+included within the component.
 
-##Opt out blacklist##
+## Bloom filter blacklist ##
+The Bloom filter blacklist allows blocking specific strings (hosts) based on a
+probabilistic data structure that represents a host as a hashed value.
+Collisions are possible (false positive matches), and the consumer is
+responsible for determining what action to take when a match occurs. The
+implementation uses MurmurHash3 in coordination with wherever (i.e., the server
+that ships it) the bloom filter is generated.
+
+### Expected behavior ###
+The consumer needs to supply a Bloom filter, the number of times to hash the
+string, and the number of bits that the Bloom filter occupies. Calling Contains,
+will inform the consumer whether the string is included in the Bloom filter, and
+these should be considered strings that are not allowed to be used for the
+consumer feature.
+
+### Host filter ###
+HostFilter uses an internal Bloom filter to blacklist host names. It uses the
+Bloom filter to store blacklisted host name suffixes. Given a URL, HostFilter
+will check the URL's host name for any blacklisted host suffixes. The host
+filter will look for matching sub-domains and the full domain in the Bloom
+filter, and will treat any match as a blacklisted host. For instance, a host
+like a.b.c.d.e.chromium.org would match any of the following if they appeared in
+the Bloom filter: a.b.c.d.e.chromium.org, chromium.org, e.chromium.org,
+d.e.chromium.org, c.d.e.chromium.org. Note that b.c.d.e.chromium.org is not
+included, as the default implementation checks the full host, and four other
+sub-domains, looking at the most granular to least granular. Hosts with top
+level domains of more than 6 characters are not supported.
+
+## Opt out blacklist ##
 The opt out blacklist makes decisions based on user history actions. Each user
 action is evaluated based on action type, time of the evaluation, host name of
 the action (can be any string representation), and previous action history.
 
-###Expected feature behavior###
+### Expected feature behavior ###
 When a feature action is allowed, the feature may perform said action. After
 performing the action, the user interaction should be determined to be an opt
 out (the user did not like the action) or a non-opt out (the user was not
@@ -24,7 +52,7 @@
 not dismiss the InfoBar that could be considered a non-opt out. All of the
 information related to that action should be reported to the blacklist.
 
-###Supported evaluation policies###
+### Supported evaluation policies ###
 In general, policies follow a specific form: the most recent _n_ actions are
 evaluated, and if _t_ or more of them are opt outs the action will not be
 allowed for a specified duration, _d_. For each policy, the feature specifies
@@ -51,7 +79,7 @@
 specifies a set of enabled types and versions for each type. This allows
 removing past versions of types to be removed from the backing store.
 
-###Clearing the blacklist###
+### Clearing the blacklist ###
 Because many actions should be cleared when user clears history, the opt out
 blacklist allows clearing history in certain time ranges. All entries are
 cleared for the specified time range, and the data in memory is repopulated
diff --git a/components/cast_channel/cast_socket.cc b/components/cast_channel/cast_socket.cc
index eb512d8..6a8b51fc 100644
--- a/components/cast_channel/cast_socket.cc
+++ b/components/cast_channel/cast_socket.cc
@@ -412,7 +412,7 @@
       network::mojom::TLSClientSocketOptions::New();
   // Cast code does its own authentication after SSL handshake since the devices
   // don't have a known hostname.
-  options->skip_cert_verification = true;
+  options->unsafely_skip_cert_verification = true;
   tcp_socket_->UpgradeToTLS(
       host_port_pair, std::move(options),
       net::MutableNetworkTrafficAnnotationTag(GetNetworkTrafficAnnotationTag()),
diff --git a/components/cbor/BUILD.gn b/components/cbor/BUILD.gn
index ae9ec5b2..c44e464 100644
--- a/components/cbor/BUILD.gn
+++ b/components/cbor/BUILD.gn
@@ -6,7 +6,7 @@
 
 component("cbor") {
   sources = [
-    "cbor_binary.h",
+    "cbor_constants.h",
     "cbor_reader.cc",
     "cbor_reader.h",
     "cbor_values.cc",
diff --git a/components/cbor/cbor_binary.h b/components/cbor/cbor_constants.h
similarity index 87%
rename from components/cbor/cbor_binary.h
rename to components/cbor/cbor_constants.h
index 27f675b7..69a6364c 100644
--- a/components/cbor/cbor_binary.h
+++ b/components/cbor/cbor_constants.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 COMPONENTS_CBOR_CBOR_BINARY_H_
-#define COMPONENTS_CBOR_CBOR_BINARY_H_
+#ifndef COMPONENTS_CBOR_CBOR_CONSTANTS_H_
+#define COMPONENTS_CBOR_CBOR_CONSTANTS_H_
 
 #include <stdint.h>
 
@@ -29,7 +29,9 @@
 // Indicates the integer is in the next 8 bytes.
 static constexpr uint8_t kAdditionalInformation8Bytes = 27u;
 
+extern const char kUnsupportedMajorType[];
+
 }  // namespace constants
 }  // namespace cbor
 
-#endif  // COMPONENTS_CBOR_CBOR_BINARY_H_
+#endif  // COMPONENTS_CBOR_CBOR_CONSTANTS_H_
diff --git a/components/cbor/cbor_reader.cc b/components/cbor/cbor_reader.cc
index 1eda503..1c3aa754 100644
--- a/components/cbor/cbor_reader.cc
+++ b/components/cbor/cbor_reader.cc
@@ -12,10 +12,14 @@
 #include "base/numerics/safe_conversions.h"
 #include "base/stl_util.h"
 #include "base/strings/string_util.h"
-#include "components/cbor/cbor_binary.h"
+#include "components/cbor/cbor_constants.h"
 
 namespace cbor {
 
+namespace constants {
+const char kUnsupportedMajorType[] = "Unsupported major type.";
+}
+
 namespace {
 
 CBORValue::Type GetMajorType(uint8_t initial_data_byte) {
@@ -28,9 +32,10 @@
   return initial_data_byte & constants::kAdditionalInformationMask;
 }
 
-// Error messages that correspond to each of the error codes.
+// Error messages that correspond to each of the error codes. There is 1
+// exception: we declare |kUnsupportedMajorType| cbor_constants.h in the
+// `constants` namespace, because we use it in several files.
 const char kNoError[] = "Successfully deserialized to a CBOR value.";
-const char kUnsupportedMajorType[] = "Unsupported major type.";
 const char kUnknownAdditionalInfo[] =
     "Unknown additional info format in the first byte.";
 const char kIncompleteCBORData[] =
@@ -122,6 +127,9 @@
       return ReadArrayContent(*header, max_nesting_level);
     case CBORValue::Type::MAP:
       return ReadMapContent(*header, max_nesting_level);
+    case CBORValue::Type::TAG:
+      NOTREACHED() << constants::kUnsupportedMajorType;
+      return base::nullopt;
     case CBORValue::Type::SIMPLE_VALUE:
       return DecodeToSimpleValue(*header);
     case CBORValue::Type::NONE:
@@ -141,19 +149,17 @@
   const auto major_type = GetMajorType(initial_byte.value());
   const uint8_t additional_info = GetAdditionalInfo(initial_byte.value());
 
-  uint64_t value;
-  if (!ReadVariadicLengthInteger(additional_info, &value))
-    return base::nullopt;
-
-  return DataItemHeader{major_type, additional_info, value};
+  base::Optional<uint64_t> value = ReadVariadicLengthInteger(additional_info);
+  return value ? base::make_optional(
+                     DataItemHeader{major_type, additional_info, value.value()})
+               : base::nullopt;
 }
 
-bool CBORReader::ReadVariadicLengthInteger(uint8_t additional_info,
-                                           uint64_t* value) {
+base::Optional<uint64_t> CBORReader::ReadVariadicLengthInteger(
+    uint8_t additional_info) {
   uint8_t additional_bytes = 0;
   if (additional_info < 24) {
-    *value = additional_info;
-    return true;
+    return base::make_optional(additional_info);
   } else if (additional_info == 24) {
     additional_bytes = 1;
   } else if (additional_info == 25) {
@@ -164,13 +170,13 @@
     additional_bytes = 8;
   } else {
     error_code_ = DecoderError::UNKNOWN_ADDITIONAL_INFO;
-    return false;
+    return base::nullopt;
   }
 
   const base::Optional<base::span<const uint8_t>> bytes =
       ReadBytes(additional_bytes);
   if (!bytes) {
-    return false;
+    return base::nullopt;
   }
 
   uint64_t int_data = 0;
@@ -179,8 +185,9 @@
     int_data |= b;
   }
 
-  *value = int_data;
-  return CheckMinimalEncoding(additional_bytes, int_data);
+  return CheckMinimalEncoding(additional_bytes, int_data)
+             ? base::make_optional(int_data)
+             : base::nullopt;
 }
 
 base::Optional<CBORValue> CBORReader::DecodeValueToNegative(uint64_t value) {
@@ -365,7 +372,7 @@
     case DecoderError::CBOR_NO_ERROR:
       return kNoError;
     case DecoderError::UNSUPPORTED_MAJOR_TYPE:
-      return kUnsupportedMajorType;
+      return constants::kUnsupportedMajorType;
     case DecoderError::UNKNOWN_ADDITIONAL_INFO:
       return kUnknownAdditionalInfo;
     case DecoderError::INCOMPLETE_CBOR_DATA:
diff --git a/components/cbor/cbor_reader.h b/components/cbor/cbor_reader.h
index 4223c04..1a1589c 100644
--- a/components/cbor/cbor_reader.h
+++ b/components/cbor/cbor_reader.h
@@ -16,37 +16,40 @@
 #include "components/cbor/cbor_values.h"
 
 // Concise Binary Object Representation (CBOR) decoder as defined by
-// https://tools.ietf.org/html/rfc7049. This decoder only accepts canonical
-// CBOR as defined by section 3.9.
-// Supported:
-//  * Major types:
-//     * 0: Unsigned integers, up to 64-bit.
-//     * 2: Byte strings.
-//     * 3: UTF-8 strings.
-//     * 4: Definite-length arrays.
-//     * 5: Definite-length maps.
-//     * 7: Simple values.
+// https://tools.ietf.org/html/rfc7049. This decoder only accepts canonical CBOR
+// as defined by section 3.9.
+//
+// This implementation supports the following major types:
+//  - 0: Unsigned integers, up to 64-bit values.
+//  - 1: Signed integers, up to 64-bit values.
+//  - 2: Byte strings.
+//  - 3: UTF-8 strings.
+//  - 4: Definite-length arrays.
+//  - 5: Definite-length maps.
+//  - 7: Simple values.
 //
 // Requirements for canonical CBOR representation:
-//  - Duplicate keys for map are not allowed.
-//  - Keys for map must be sorted first by length and then by byte-wise
+//  - Duplicate keys in maps are not allowed.
+//  - Keys for maps must be sorted first by length and then by byte-wise
 //    lexical order.
 //
-// Known limitations and interpretations of the RFC:
-//  - Does not support negative integers, indefinite data streams and tagging.
-//  - Floating point representations and BREAK stop code in major
-//    type 7 are not supported.
-//  - Non-character codepoint are not supported for Major type 3.
-//  - Incomplete CBOR data items are treated as syntax errors.
-//  - Trailing data bytes are treated as errors.
-//  - Unknown additional information formats are treated as syntax errors.
-//  - Callers can decode CBOR values with at most 16 nested depth layer. More
-//    strict restrictions on nesting layer size of CBOR values can be enforced
-//    by setting |max_nesting_level|.
-//  - Only CBOR maps with integer or string type keys are supported due to the
-//    cost of serialization when sorting map keys.
-//  - Simple values that are unassigned/reserved as per RFC 7049 are not
-//    supported and treated as errors.
+// Known limitations and interpretations of the RFC (and the reasons):
+//  - Does not support indefinite-length data streams or semantic tags (major
+//    type 6). (Simplicity; security)
+//  - Does not support the floating point and BREAK stop code value types in
+//    major type 7. (Simplicity)
+//  - Does not support non-character codepoints in major type 3. (Security)
+//  - Treats incomplete CBOR data items as syntax errors. (Security)
+//  - Treats trailing data bytes as errors. (Security)
+//  - Treats unknown additional information formats as syntax errors.
+//    (Simplicity; security)
+//  - Limits CBOR value inputs to at most 16 layers of nesting. Callers can
+//    enforce more shallow nesting by setting |max_nesting_level|. (Efficiency;
+//    security)
+//  - Only supports CBOR maps with integer or string type keys, due to the
+//    cost of serialization when sorting map keys. (Efficiency; simplicity)
+//  - Does not support simple values that are unassigned/reserved as per RFC
+//    7049, and treats them as errors. (Security)
 
 namespace cbor {
 
@@ -74,14 +77,18 @@
 
   ~CBORReader();
 
-  // Reads and parses |input_data| into a CBORValue. If any one of the syntax
-  // formats is violated -including unknown additional info and incomplete
-  // CBOR data- then an empty optional is returned. Optional |error_code_out|
-  // can be provided by the caller to obtain additional information about
-  // decoding failures, which is always available if an empty value is returned.
+  // Reads and parses |input_data| into a CBORValue. Returns an empty Optional
+  // if the input violates any one of the syntax requirements (including unknown
+  // additional info and incomplete CBOR data).
   //
-  // Fails if not all the data was consumed and sets |error_code_out| to
-  // EXTRANEOUS_DATA in this case.
+  // The caller can optionally provide |error_code_out| to obtain additional
+  // information about decoding failures.
+  //
+  // If the caller provides it, |max_nesting_level| cannot exceed
+  // |kCBORMaxDepth|.
+  //
+  // Returns an empty Optional if not all the data was consumed, and sets
+  // |error_code_out| to EXTRANEOUS_DATA in this case.
   static base::Optional<CBORValue> Read(base::span<const uint8_t> input_data,
                                         DecoderError* error_code_out = nullptr,
                                         int max_nesting_level = kCBORMaxDepth);
@@ -119,7 +126,7 @@
   base::Optional<CBORValue> DecodeValueToNegative(uint64_t value);
   base::Optional<CBORValue> DecodeValueToUnsigned(uint64_t value);
   base::Optional<CBORValue> DecodeToSimpleValue(const DataItemHeader& header);
-  bool ReadVariadicLengthInteger(uint8_t additional_info, uint64_t* value);
+  base::Optional<uint64_t> ReadVariadicLengthInteger(uint8_t additional_info);
   base::Optional<CBORValue> ReadByteStringContent(const DataItemHeader& header);
   base::Optional<CBORValue> ReadStringContent(const DataItemHeader& header);
   base::Optional<CBORValue> ReadArrayContent(const DataItemHeader& header,
@@ -128,6 +135,9 @@
                                            int max_nesting_level);
   base::Optional<uint8_t> ReadByte();
   base::Optional<base::span<const uint8_t>> ReadBytes(uint64_t num_bytes);
+  // TODO(crbug/879237): This function's only caller has to make a copy of a
+  // `span<uint8_t>` to satisfy this function's interface. Maybe we can make
+  // this function take a `const span<const uint8_t>` and avoid copying?
   bool HasValidUTF8Format(const std::string& string_data);
   bool CheckOutOfOrderKey(const CBORValue& new_key, CBORValue::MapValue* map);
   bool CheckMinimalEncoding(uint8_t additional_bytes, uint64_t uint_data);
diff --git a/components/cbor/cbor_reader_unittest.cc b/components/cbor/cbor_reader_unittest.cc
index 902b9b9..d86866d 100644
--- a/components/cbor/cbor_reader_unittest.cc
+++ b/components/cbor/cbor_reader_unittest.cc
@@ -1054,7 +1054,7 @@
       // clang-format off
       {0xa2,  // map with 2 keys with same major type and length
          0x61, 0x62,  // key "b"
-         0x61, 0x42,  // value :"B"
+         0x61, 0x42,  // value "B"
 
          0x61, 0x61,  // key "a" (out of order byte-wise lexically)
          0x61, 0x45   // value "E"
@@ -1197,7 +1197,7 @@
   }
 }
 
-TEST(CBORReaderTest, TestUnsupportedSimplevalue) {
+TEST(CBORReaderTest, TestUnsupportedSimpleValue) {
   static const std::vector<uint8_t> unsupported_simple_values[] = {
       // Simple value (0, unassigned)
       {0xE0},
diff --git a/components/cbor/cbor_values.cc b/components/cbor/cbor_values.cc
index 370050ae..397ce9a 100644
--- a/components/cbor/cbor_values.cc
+++ b/components/cbor/cbor_values.cc
@@ -9,6 +9,7 @@
 
 #include "base/numerics/safe_conversions.h"
 #include "base/strings/string_util.h"
+#include "components/cbor/cbor_constants.h"
 
 namespace cbor {
 
@@ -37,6 +38,9 @@
     case Type::MAP:
       new (&map_value_) MapValue();
       return;
+    case Type::TAG:
+      NOTREACHED() << constants::kUnsupportedMajorType;
+      return;
     case Type::SIMPLE_VALUE:
       simple_value_ = CBORValue::SimpleValue::UNDEFINED;
       return;
@@ -152,6 +156,9 @@
       return CBORValue(array_value_);
     case Type::MAP:
       return CBORValue(map_value_);
+    case Type::TAG:
+      NOTREACHED() << constants::kUnsupportedMajorType;
+      return CBORValue();
     case Type::SIMPLE_VALUE:
       return CBORValue(simple_value_);
   }
@@ -235,6 +242,9 @@
     case Type::MAP:
       new (&map_value_) MapValue(std::move(that.map_value_));
       return;
+    case Type::TAG:
+      NOTREACHED() << constants::kUnsupportedMajorType;
+      return;
     case Type::SIMPLE_VALUE:
       simple_value_ = that.simple_value_;
       return;
@@ -258,6 +268,9 @@
     case Type::MAP:
       map_value_.~MapValue();
       break;
+    case Type::TAG:
+      NOTREACHED() << constants::kUnsupportedMajorType;
+      break;
     case Type::NONE:
     case Type::UNSIGNED:
     case Type::NEGATIVE:
diff --git a/components/cbor/cbor_values.h b/components/cbor/cbor_values.h
index e035faee..39f2cca 100644
--- a/components/cbor/cbor_values.h
+++ b/components/cbor/cbor_values.h
@@ -91,6 +91,7 @@
     STRING = 3,
     ARRAY = 4,
     MAP = 5,
+    TAG = 6,
     SIMPLE_VALUE = 7,
     NONE = -1,
   };
diff --git a/components/cbor/cbor_writer.cc b/components/cbor/cbor_writer.cc
index 47497a9..5312ab9 100644
--- a/components/cbor/cbor_writer.cc
+++ b/components/cbor/cbor_writer.cc
@@ -8,7 +8,7 @@
 
 #include "base/numerics/safe_conversions.h"
 #include "base/strings/string_piece.h"
-#include "components/cbor/cbor_binary.h"
+#include "components/cbor/cbor_constants.h"
 
 namespace cbor {
 
@@ -96,6 +96,10 @@
       return true;
     }
 
+    case CBORValue::Type::TAG:
+      NOTREACHED() << constants::kUnsupportedMajorType;
+      return false;
+
     // Represents a simple value.
     case CBORValue::Type::SIMPLE_VALUE: {
       const CBORValue::SimpleValue simple_value = node.GetSimpleValue();
diff --git a/components/data_reduction_proxy/OWNERS b/components/data_reduction_proxy/OWNERS
index 8bdd0837..e5bf0ff 100644
--- a/components/data_reduction_proxy/OWNERS
+++ b/components/data_reduction_proxy/OWNERS
@@ -1,9 +1,9 @@
 # Primary
+tbansal@chromium.org
 dougarnett@chromium.org
 rajendrant@chromium.org
 ryansturm@chromium.org
 sclittle@chromium.org
-tbansal@chromium.org
 
 # Secondary
 bengr@chromium.org
@@ -54,4 +54,4 @@
 #                       .,//(((((((((((((((((((((((((//*.                      #
 #                          .,,*//((((((((((((((///**,                          #
 #                                                                              #
-################################################################################
\ No newline at end of file
+################################################################################
diff --git a/components/drive/chromeos/dummy_file_system.h b/components/drive/chromeos/dummy_file_system.h
index 78de6b9e..52a5a7ca 100644
--- a/components/drive/chromeos/dummy_file_system.h
+++ b/components/drive/chromeos/dummy_file_system.h
@@ -84,17 +84,14 @@
   void SearchByHashes(const std::set<std::string>& hashes,
                       SearchByHashesCallback callback) override {}
   void GetAvailableSpace(GetAvailableSpaceCallback callback) override {}
-  void GetShareUrl(const base::FilePath& file_path,
-                   const GURL& embed_origin,
-                   const GetShareUrlCallback& callback) override {}
   void GetMetadata(GetFilesystemMetadataCallback callback) override {}
   void MarkCacheFileAsMounted(const base::FilePath& drive_file_path,
-                              const MarkMountedCallback& callback) override {}
+                              MarkMountedCallback callback) override {}
   void MarkCacheFileAsUnmounted(
       const base::FilePath& cache_file_path,
       const FileOperationCallback& callback) override {}
   void IsCacheFileMarkedAsMounted(const base::FilePath& drive_file_path,
-                                  const IsMountedCallback& callback) override {}
+                                  IsMountedCallback callback) override {}
   void AddPermission(const base::FilePath& drive_file_path,
                      const std::string& email,
                      google_apis::drive::PermissionRole role,
diff --git a/components/drive/chromeos/fake_file_system.cc b/components/drive/chromeos/fake_file_system.cc
index 35bc8efe4..7f7fec9 100644
--- a/components/drive/chromeos/fake_file_system.cc
+++ b/components/drive/chromeos/fake_file_system.cc
@@ -137,7 +137,7 @@
 
 void FakeFileSystem::IsCacheFileMarkedAsMounted(
     const base::FilePath& drive_file_path,
-    const IsMountedCallback& callback) {
+    IsMountedCallback callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 }
 
@@ -208,20 +208,13 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 }
 
-void FakeFileSystem::GetShareUrl(
-    const base::FilePath& file_path,
-    const GURL& embed_origin,
-    const GetShareUrlCallback& callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-}
-
 void FakeFileSystem::GetMetadata(GetFilesystemMetadataCallback callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 }
 
 void FakeFileSystem::MarkCacheFileAsMounted(
     const base::FilePath& drive_file_path,
-    const MarkMountedCallback& callback) {
+    MarkMountedCallback callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 }
 
diff --git a/components/drive/chromeos/fake_file_system.h b/components/drive/chromeos/fake_file_system.h
index b72f54b..9ffd054 100644
--- a/components/drive/chromeos/fake_file_system.h
+++ b/components/drive/chromeos/fake_file_system.h
@@ -111,16 +111,13 @@
   void SearchByHashes(const std::set<std::string>& hashes,
                       SearchByHashesCallback callback) override;
   void GetAvailableSpace(GetAvailableSpaceCallback callback) override;
-  void GetShareUrl(const base::FilePath& file_path,
-                   const GURL& embed_origin,
-                   const GetShareUrlCallback& callback) override;
   void GetMetadata(GetFilesystemMetadataCallback callback) override;
   void MarkCacheFileAsMounted(const base::FilePath& drive_file_path,
-                              const MarkMountedCallback& callback) override;
+                              MarkMountedCallback callback) override;
   void MarkCacheFileAsUnmounted(const base::FilePath& cache_file_path,
                                 const FileOperationCallback& callback) override;
   void IsCacheFileMarkedAsMounted(const base::FilePath& drive_file_path,
-                                  const IsMountedCallback& callback) override;
+                                  IsMountedCallback callback) override;
   void AddPermission(const base::FilePath& drive_file_path,
                      const std::string& email,
                      google_apis::drive::PermissionRole role,
diff --git a/components/drive/chromeos/file_system.cc b/components/drive/chromeos/file_system.cc
index b9a3964..68cb10be 100644
--- a/components/drive/chromeos/file_system.cc
+++ b/components/drive/chromeos/file_system.cc
@@ -171,19 +171,19 @@
 }
 
 // Runs the callback with arguments.
-void RunMarkMountedCallback(const MarkMountedCallback& callback,
+void RunMarkMountedCallback(MarkMountedCallback callback,
                             base::FilePath* cache_file_path,
                             FileError error) {
   DCHECK(callback);
-  callback.Run(error, *cache_file_path);
+  std::move(callback).Run(error, *cache_file_path);
 }
 
 // Runs the callback with arguments.
-void RunIsMountedCallback(const IsMountedCallback& callback,
+void RunIsMountedCallback(IsMountedCallback callback,
                           bool* result,
                           FileError error) {
   DCHECK(callback);
-  callback.Run(error, *result);
+  std::move(callback).Run(error, *result);
 }
 
 // Callback for internals::GetStartPageToken.
@@ -763,78 +763,6 @@
                           about_resource->quota_bytes_used_aggregate());
 }
 
-void FileSystem::GetShareUrl(const base::FilePath& file_path,
-                             const GURL& embed_origin,
-                             const GetShareUrlCallback& callback) {
-  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-  DCHECK(callback);
-
-  // Resolve the resource id.
-  ResourceEntry* entry = new ResourceEntry;
-  base::PostTaskAndReplyWithResult(
-      blocking_task_runner_.get(),
-      FROM_HERE,
-      base::Bind(&internal::ResourceMetadata::GetResourceEntryByPath,
-                 base::Unretained(resource_metadata_),
-                 file_path,
-                 entry),
-      base::Bind(&FileSystem::GetShareUrlAfterGetResourceEntry,
-                 weak_ptr_factory_.GetWeakPtr(),
-                 file_path,
-                 embed_origin,
-                 callback,
-                 base::Owned(entry)));
-}
-
-void FileSystem::GetShareUrlAfterGetResourceEntry(
-    const base::FilePath& file_path,
-    const GURL& embed_origin,
-    const GetShareUrlCallback& callback,
-    ResourceEntry* entry,
-    FileError error) {
-  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-  DCHECK(callback);
-
-  if (error != FILE_ERROR_OK) {
-    callback.Run(error, GURL());
-    return;
-  }
-  if (entry->resource_id().empty()) {
-    // This entry does not exist on the server. Just return.
-    callback.Run(FILE_ERROR_FAILED, GURL());
-    return;
-  }
-
-  scheduler_->GetShareUrl(
-      entry->resource_id(),
-      embed_origin,
-      ClientContext(USER_INITIATED),
-      base::Bind(&FileSystem::OnGetResourceEntryForGetShareUrl,
-                 weak_ptr_factory_.GetWeakPtr(),
-                 callback));
-}
-
-void FileSystem::OnGetResourceEntryForGetShareUrl(
-    const GetShareUrlCallback& callback,
-    google_apis::DriveApiErrorCode status,
-    const GURL& share_url) {
-  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-  DCHECK(callback);
-
-  FileError error = GDataToFileError(status);
-  if (error != FILE_ERROR_OK) {
-    callback.Run(error, GURL());
-    return;
-  }
-
-  if (share_url.is_empty()) {
-    callback.Run(FILE_ERROR_FAILED, GURL());
-    return;
-  }
-
-  callback.Run(FILE_ERROR_OK, share_url);
-}
-
 void FileSystem::Search(const std::string& search_query,
                         const GURL& next_link,
                         SearchCallback callback) {
@@ -1072,37 +1000,33 @@
   std::move(callback).Run(*default_corpus_metadata, *team_drive_metadata);
 }
 
-void FileSystem::MarkCacheFileAsMounted(
-    const base::FilePath& drive_file_path,
-    const MarkMountedCallback& callback) {
+void FileSystem::MarkCacheFileAsMounted(const base::FilePath& drive_file_path,
+                                        MarkMountedCallback callback) {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(callback);
 
   base::FilePath* cache_file_path = new base::FilePath;
   base::PostTaskAndReplyWithResult(
-      blocking_task_runner_.get(),
-      FROM_HERE,
-      base::Bind(&MarkCacheFileAsMountedInternal,
-                 resource_metadata_,
-                 cache_,
-                 drive_file_path,
-                 cache_file_path),
-      base::Bind(
-          &RunMarkMountedCallback, callback, base::Owned(cache_file_path)));
+      blocking_task_runner_.get(), FROM_HERE,
+      base::BindOnce(&MarkCacheFileAsMountedInternal, resource_metadata_,
+                     cache_, drive_file_path, cache_file_path),
+      base::BindOnce(&RunMarkMountedCallback, std::move(callback),
+                     base::Owned(cache_file_path)));
 }
 
 void FileSystem::IsCacheFileMarkedAsMounted(
     const base::FilePath& drive_file_path,
-    const IsMountedCallback& callback) {
+    IsMountedCallback callback) {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(callback);
 
   bool* is_mounted = new bool(false);
   base::PostTaskAndReplyWithResult(
       blocking_task_runner_.get(), FROM_HERE,
-      base::Bind(&IsCacheFileMarkedAsMountedInternal, resource_metadata_,
-                 cache_, drive_file_path, is_mounted),
-      base::Bind(&RunIsMountedCallback, callback, base::Owned(is_mounted)));
+      base::BindOnce(&IsCacheFileMarkedAsMountedInternal, resource_metadata_,
+                     cache_, drive_file_path, is_mounted),
+      base::BindOnce(&RunIsMountedCallback, std::move(callback),
+                     base::Owned(is_mounted)));
 }
 
 void FileSystem::MarkCacheFileAsUnmounted(
diff --git a/components/drive/chromeos/file_system.h b/components/drive/chromeos/file_system.h
index d3dac43..d177fa4f 100644
--- a/components/drive/chromeos/file_system.h
+++ b/components/drive/chromeos/file_system.h
@@ -147,14 +147,11 @@
                      ReadDirectoryEntriesCallback entries_callback,
                      const FileOperationCallback& completion_callback) override;
   void GetAvailableSpace(GetAvailableSpaceCallback callback) override;
-  void GetShareUrl(const base::FilePath& file_path,
-                   const GURL& embed_origin,
-                   const GetShareUrlCallback& callback) override;
   void GetMetadata(GetFilesystemMetadataCallback callback) override;
   void MarkCacheFileAsMounted(const base::FilePath& drive_file_path,
-                              const MarkMountedCallback& callback) override;
+                              MarkMountedCallback callback) override;
   void IsCacheFileMarkedAsMounted(const base::FilePath& drive_file_path,
-                                  const IsMountedCallback& callback) override;
+                                  IsMountedCallback callback) override;
   void MarkCacheFileAsUnmounted(const base::FilePath& cache_file_path,
                                 const FileOperationCallback& callback) override;
   void AddPermission(const base::FilePath& drive_file_path,
@@ -249,17 +246,6 @@
                                  GetResourceEntryCallback callback,
                                  FileError error);
 
-  // Part of GetShareUrl. Resolves the resource entry to get the resource it,
-  // and then uses it to ask for the share url. |callback| must not be null.
-  void GetShareUrlAfterGetResourceEntry(const base::FilePath& file_path,
-                                        const GURL& embed_origin,
-                                        const GetShareUrlCallback& callback,
-                                        ResourceEntry* entry,
-                                        FileError error);
-  void OnGetResourceEntryForGetShareUrl(const GetShareUrlCallback& callback,
-                                        google_apis::DriveApiErrorCode status,
-                                        const GURL& share_url);
-
   void OnGetMetadata(
       GetFilesystemMetadataCallback callback,
       drive::FileSystemMetadata* default_corpus_metadata,
diff --git a/components/drive/chromeos/file_system_interface.h b/components/drive/chromeos/file_system_interface.h
index 1bbe0ea8..30976c6 100644
--- a/components/drive/chromeos/file_system_interface.h
+++ b/components/drive/chromeos/file_system_interface.h
@@ -138,10 +138,6 @@
     void(FileError error, int64_t bytes_total, int64_t bytes_used)>
     GetAvailableSpaceCallback;
 
-// Used to get the url to the sharing dialog.
-typedef base::Callback<void(FileError error,
-                            const GURL& share_url)> GetShareUrlCallback;
-
 // Used to get filesystem metadata.
 typedef base::OnceCallback<void(
     const FileSystemMetadata&,
@@ -149,12 +145,12 @@
     GetFilesystemMetadataCallback;
 
 // Used to mark cached files mounted.
-typedef base::Callback<void(FileError error,
-                            const base::FilePath& file_path)>
+typedef base::OnceCallback<void(FileError error,
+                                const base::FilePath& file_path)>
     MarkMountedCallback;
 
 // Used to check if a cached file is mounted.
-typedef base::Callback<void(FileError error, bool is_mounted)>
+typedef base::OnceCallback<void(FileError error, bool is_mounted)>
     IsMountedCallback;
 
 // Used to get file path.
@@ -437,13 +433,6 @@
   // and returns it to the callback.
   virtual void GetAvailableSpace(GetAvailableSpaceCallback callback) = 0;
 
-  // Fetches the url to the sharing dialog to be embedded in |embed_origin|,
-  // for the specified file or directory. |callback| must not be null.
-  virtual void GetShareUrl(
-      const base::FilePath& file_path,
-      const GURL& embed_origin,
-      const GetShareUrlCallback& callback) = 0;
-
   // Returns miscellaneous metadata of the file system like the largest
   // timestamp. Used in chrome:drive-internals. |callback| must not be null.
   virtual void GetMetadata(GetFilesystemMetadataCallback callback) = 0;
@@ -452,14 +441,13 @@
   // If succeeded, the cached file path will be passed to the |callback|.
   // |callback| must not be null.
   virtual void MarkCacheFileAsMounted(const base::FilePath& drive_file_path,
-                                      const MarkMountedCallback& callback) = 0;
+                                      MarkMountedCallback callback) = 0;
 
   // Checks if the cached file is marked as mounted, and passes the result to
   // |callback| upon completion. If the file was not found in the cache, the
   // result is false. |callback| must not be null.
-  virtual void IsCacheFileMarkedAsMounted(
-      const base::FilePath& drive_file_path,
-      const IsMountedCallback& callback) = 0;
+  virtual void IsCacheFileMarkedAsMounted(const base::FilePath& drive_file_path,
+                                          IsMountedCallback callback) = 0;
 
   // Marks the cached file as unmounted, and runs |callback| upon completion.
   // Note that this method expects that the |cached_file_path| is the path
diff --git a/components/drive/file_system_unittest.cc b/components/drive/file_system_unittest.cc
index 6560b57..d9483898 100644
--- a/components/drive/file_system_unittest.cc
+++ b/components/drive/file_system_unittest.cc
@@ -1301,26 +1301,6 @@
   EXPECT_EQ(FILE_ERROR_OK, cache_->Remove(entry->local_id()));
 }
 
-TEST_F(FileSystemTest, GetShareUrl) {
-  ASSERT_TRUE(LoadFullResourceList());
-
-  const base::FilePath kFileInRoot(FILE_PATH_LITERAL("drive/root/File 1.txt"));
-  const GURL kEmbedOrigin("chrome-extension://test-id");
-
-  // Try to fetch the URL for the sharing dialog.
-  FileError error = FILE_ERROR_FAILED;
-  GURL share_url;
-  file_system_->GetShareUrl(
-      kFileInRoot,
-      kEmbedOrigin,
-      google_apis::test_util::CreateCopyResultCallback(&error, &share_url));
-  content::RunAllTasksUntilIdle();
-
-  // Verify the share url to the sharing dialog.
-  EXPECT_EQ(FILE_ERROR_OK, error);
-  EXPECT_TRUE(share_url.is_valid());
-}
-
 TEST_F(FileSystemTest, FreeDiskSpaceIfNeededFor) {
   ASSERT_TRUE(LoadFullResourceList());
 
diff --git a/components/drive/job_scheduler.cc b/components/drive/job_scheduler.cc
index 31523b7..8c206c7a 100644
--- a/components/drive/job_scheduler.cc
+++ b/components/drive/job_scheduler.cc
@@ -482,29 +482,6 @@
   StartJob(new_job);
 }
 
-void JobScheduler::GetShareUrl(
-    const std::string& resource_id,
-    const GURL& embed_origin,
-    const ClientContext& context,
-    const google_apis::GetShareUrlCallback& callback) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(!callback.is_null());
-
-  JobEntry* new_job = CreateNewJob(TYPE_GET_SHARE_URL);
-  new_job->context = context;
-  new_job->task = base::Bind(
-      &DriveServiceInterface::GetShareUrl,
-      base::Unretained(drive_service_),
-      resource_id,
-      embed_origin,
-      base::Bind(&JobScheduler::OnGetShareUrlJobDone,
-                 weak_ptr_factory_.GetWeakPtr(),
-                 new_job->job_info.job_id,
-                 callback));
-  new_job->abort_callback = CreateErrorRunCallback(callback);
-  StartJob(new_job);
-}
-
 void JobScheduler::TrashResource(
     const std::string& resource_id,
     const ClientContext& context,
@@ -1066,18 +1043,6 @@
     callback.Run(error, std::move(start_page_token));
 }
 
-void JobScheduler::OnGetShareUrlJobDone(
-    JobID job_id,
-    const google_apis::GetShareUrlCallback& callback,
-    google_apis::DriveApiErrorCode error,
-    const GURL& share_url) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(!callback.is_null());
-
-  if (OnJobDone(job_id, error))
-    callback.Run(error, share_url);
-}
-
 void JobScheduler::OnGetAppListJobDone(
     JobID job_id,
     const google_apis::AppListCallback& callback,
diff --git a/components/drive/job_scheduler.h b/components/drive/job_scheduler.h
index 86ce363a..4478442 100644
--- a/components/drive/job_scheduler.h
+++ b/components/drive/job_scheduler.h
@@ -150,12 +150,6 @@
                        const ClientContext& context,
                        const google_apis::FileResourceCallback& callback);
 
-  // Adds a GetShareUrl operation to the queue.
-  void GetShareUrl(const std::string& resource_id,
-                   const GURL& embed_origin,
-                   const ClientContext& context,
-                   const google_apis::GetShareUrlCallback& callback);
-
   // Adds a TrashResource operation to the queue.
   void TrashResource(const std::string& resource_id,
                      const ClientContext& context,
@@ -342,13 +336,6 @@
       google_apis::DriveApiErrorCode error,
       std::unique_ptr<google_apis::StartPageToken> start_page_token);
 
-  // Callback for job finishing with a GetShareUrlCallback.
-  void OnGetShareUrlJobDone(
-      JobID job_id,
-      const google_apis::GetShareUrlCallback& callback,
-      google_apis::DriveApiErrorCode error,
-      const GURL& share_url);
-
   // Callback for job finishing with a AppListCallback.
   void OnGetAppListJobDone(JobID job_id,
                            const google_apis::AppListCallback& callback,
diff --git a/components/drive/job_scheduler_unittest.cc b/components/drive/job_scheduler_unittest.cc
index dc995d1..a5dda4a 100644
--- a/components/drive/job_scheduler_unittest.cc
+++ b/components/drive/job_scheduler_unittest.cc
@@ -472,23 +472,6 @@
   ASSERT_TRUE(entry);
 }
 
-TEST_F(JobSchedulerTest, GetShareUrl) {
-  ConnectToWifi();
-
-  google_apis::DriveApiErrorCode error = google_apis::DRIVE_OTHER_ERROR;
-  GURL share_url;
-
-  scheduler_->GetShareUrl(
-      "2_file_resource_id",  // resource ID
-      GURL("chrome-extension://test-id/"), // embed origin
-      ClientContext(USER_INITIATED),
-      google_apis::test_util::CreateCopyResultCallback(&error, &share_url));
-  base::RunLoop().RunUntilIdle();
-
-  ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
-  ASSERT_FALSE(share_url.is_empty());
-}
-
 TEST_F(JobSchedulerTest, TrashResource) {
   ConnectToWifi();
 
diff --git a/components/drive/service/drive_api_service.cc b/components/drive/service/drive_api_service.cc
index 3ec2a27..e72a592 100644
--- a/components/drive/service/drive_api_service.cc
+++ b/components/drive/service/drive_api_service.cc
@@ -44,7 +44,6 @@
 using google_apis::FilesListCorpora;
 using google_apis::FilesListRequestRunner;
 using google_apis::GetContentCallback;
-using google_apis::GetShareUrlCallback;
 using google_apis::HTTP_NOT_IMPLEMENTED;
 using google_apis::HTTP_SUCCESS;
 using google_apis::InitiateUploadCallback;
@@ -85,7 +84,6 @@
 const char kDriveAppsReadonlyScope[] =
     "https://www.googleapis.com/auth/drive.apps.readonly";
 const char kDriveAppsScope[] = "https://www.googleapis.com/auth/drive.apps";
-const char kDocsListScope[] = "https://docs.google.com/feeds/";
 
 // Mime type to create a directory.
 const char kFolderMimeType[] = "application/vnd.google-apps.folder";
@@ -117,8 +115,6 @@
     "modifiedDate,lastViewedByMeDate,shared,modifiedByMeDate";
 const char kFileResourceOpenWithLinksFields[] =
     "kind,id,openWithLinks/*";
-const char kFileResourceShareLinkFields[] =
-    "kind,id,shareLink";
 const char kFileListFields[] =
     "kind,items(kind,id,title,createdDate,sharedWithMeDate,"
     "mimeType,md5Checksum,fileSize,labels/trashed,labels/starred,"
@@ -164,12 +160,6 @@
   callback.Run(DRIVE_OTHER_ERROR, GURL());
 }
 
-void ExtractShareUrlAndRun(const GetShareUrlCallback& callback,
-                           DriveApiErrorCode error,
-                           std::unique_ptr<FileResource> value) {
-  callback.Run(error, value ? value->share_link() : GURL());
-}
-
 // Ignores the |entry|, and runs the |callback|.
 void EntryActionCallbackAdapter(const EntryActionCallback& callback,
                                 DriveApiErrorCode error,
@@ -295,11 +285,6 @@
   scopes.push_back(kDriveAppsReadonlyScope);
   scopes.push_back(kDriveAppsScope);
 
-  // Note: The following scope is used to support GetShareUrl on Drive API v2.
-  // Unfortunately, there is no support on Drive API v2, so we need to fall back
-  // to GData WAPI for the GetShareUrl.
-  scopes.push_back(kDocsListScope);
-
   sender_ = std::make_unique<RequestSender>(
       std::make_unique<google_apis::AuthService>(
           oauth2_token_service_, account_id, url_loader_factory_, scopes),
@@ -534,27 +519,6 @@
   return sender_->StartRequestWithAuthRetry(std::move(request));
 }
 
-CancelCallback DriveAPIService::GetShareUrl(
-    const std::string& resource_id,
-    const GURL& embed_origin,
-    const GetShareUrlCallback& callback) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(!callback.is_null());
-
-  if (!google_apis::IsGoogleChromeAPIKeyUsed()) {
-    LOG(ERROR) << "Only the official build of Chrome OS can open share dialogs "
-               << "from the file manager.";
-  }
-
-  std::unique_ptr<FilesGetRequest> request = std::make_unique<FilesGetRequest>(
-      sender_.get(), url_generator_, google_apis::IsGoogleChromeAPIKeyUsed(),
-      base::Bind(&ExtractShareUrlAndRun, callback));
-  request->set_file_id(resource_id);
-  request->set_fields(kFileResourceShareLinkFields);
-  request->set_embed_origin(embed_origin);
-  return sender_->StartRequestWithAuthRetry(std::move(request));
-}
-
 CancelCallback DriveAPIService::GetAboutResource(
     const AboutResourceCallback& callback) {
   DCHECK(thread_checker_.CalledOnValidThread());
diff --git a/components/drive/service/drive_api_service.h b/components/drive/service/drive_api_service.h
index 9d3250d..7b842c6d 100644
--- a/components/drive/service/drive_api_service.h
+++ b/components/drive/service/drive_api_service.h
@@ -161,10 +161,6 @@
   google_apis::CancelCallback GetFileResource(
       const std::string& resource_id,
       const google_apis::FileResourceCallback& callback) override;
-  google_apis::CancelCallback GetShareUrl(
-      const std::string& resource_id,
-      const GURL& embed_origin,
-      const google_apis::GetShareUrlCallback& callback) override;
   google_apis::CancelCallback GetAboutResource(
       const google_apis::AboutResourceCallback& callback) override;
   google_apis::CancelCallback GetStartPageToken(
diff --git a/components/drive/service/drive_service_interface.h b/components/drive/service/drive_service_interface.h
index d5cfdcf..c27943d 100644
--- a/components/drive/service/drive_service_interface.h
+++ b/components/drive/service/drive_service_interface.h
@@ -321,15 +321,6 @@
       const std::string& resource_id,
       const google_apis::FileResourceCallback& callback) = 0;
 
-  // Fetches an url for the sharing dialog for a single entry with id
-  // |resource_id|, to be embedded in a webview or an iframe with origin
-  // |embed_origin|. The url is returned via |callback| with results on the
-  // calling thread. |callback| must not be null.
-  virtual google_apis::CancelCallback GetShareUrl(
-      const std::string& resource_id,
-      const GURL& embed_origin,
-      const google_apis::GetShareUrlCallback& callback) = 0;
-
   // Gets the about resource information from the server.
   // Upon completion, invokes |callback| with results on the calling thread.
   // |callback| must not be null.
diff --git a/components/drive/service/dummy_drive_service.cc b/components/drive/service/dummy_drive_service.cc
index 1742acc..248f30f 100644
--- a/components/drive/service/dummy_drive_service.cc
+++ b/components/drive/service/dummy_drive_service.cc
@@ -19,7 +19,6 @@
 using google_apis::FileListCallback;
 using google_apis::FileResourceCallback;
 using google_apis::GetContentCallback;
-using google_apis::GetShareUrlCallback;
 using google_apis::InitiateUploadCallback;
 using google_apis::ProgressCallback;
 using google_apis::TeamDriveListCallback;
@@ -110,11 +109,6 @@
     const std::string& resource_id,
     const FileResourceCallback& callback) { return CancelCallback(); }
 
-CancelCallback DummyDriveService::GetShareUrl(
-    const std::string& resource_id,
-    const GURL& embed_origin,
-    const GetShareUrlCallback& callback) { return CancelCallback(); }
-
 CancelCallback DummyDriveService::GetAboutResource(
     const AboutResourceCallback& callback) { return CancelCallback(); }
 
diff --git a/components/drive/service/dummy_drive_service.h b/components/drive/service/dummy_drive_service.h
index 271ffe13..3c26e7d 100644
--- a/components/drive/service/dummy_drive_service.h
+++ b/components/drive/service/dummy_drive_service.h
@@ -68,10 +68,6 @@
   google_apis::CancelCallback GetFileResource(
       const std::string& resource_id,
       const google_apis::FileResourceCallback& callback) override;
-  google_apis::CancelCallback GetShareUrl(
-      const std::string& resource_id,
-      const GURL& embed_origin,
-      const google_apis::GetShareUrlCallback& callback) override;
   google_apis::CancelCallback GetAboutResource(
       const google_apis::AboutResourceCallback& callback) override;
   google_apis::CancelCallback GetStartPageToken(
diff --git a/components/drive/service/fake_drive_service.cc b/components/drive/service/fake_drive_service.cc
index 8df5fb0..07266ac 100644
--- a/components/drive/service/fake_drive_service.cc
+++ b/components/drive/service/fake_drive_service.cc
@@ -53,7 +53,6 @@
 using google_apis::FileResource;
 using google_apis::FileResourceCallback;
 using google_apis::GetContentCallback;
-using google_apis::GetShareUrlCallback;
 using google_apis::HTTP_BAD_REQUEST;
 using google_apis::HTTP_CREATED;
 using google_apis::HTTP_FORBIDDEN;
@@ -269,7 +268,6 @@
       start_page_token_load_count_(0),
       offline_(false),
       never_return_all_file_list_(false),
-      share_url_base_("https://share_url/"),
       weak_ptr_factory_(this) {
   UpdateLatestChangelistId(largest_changestamp_, std::string());
   about_resource_->set_quota_bytes_total(9876543210);
@@ -702,31 +700,6 @@
   return CancelCallback();
 }
 
-CancelCallback FakeDriveService::GetShareUrl(
-    const std::string& resource_id,
-    const GURL& /* embed_origin */,
-    const GetShareUrlCallback& callback) {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(callback);
-
-  if (offline_) {
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(callback, DRIVE_NO_CONNECTION, GURL()));
-    return CancelCallback();
-  }
-
-  EntryInfo* entry = FindEntryByResourceId(resource_id);
-  if (entry) {
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(callback, HTTP_SUCCESS, entry->share_url));
-    return CancelCallback();
-  }
-
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE, base::BindOnce(callback, HTTP_NOT_FOUND, GURL()));
-  return CancelCallback();
-}
-
 CancelCallback FakeDriveService::GetAboutResource(
     const AboutResourceCallback& callback) {
   DCHECK(thread_checker_.CalledOnValidThread());
@@ -1869,9 +1842,6 @@
     *new_file->mutable_parents() = parents;
   }
 
-  new_entry->share_url = net::AppendOrReplaceQueryParameter(
-      share_url_base_, "name", title);
-
   AddNewChangestamp(new_change, team_drive_id);
   UpdateETag(new_file);
 
@@ -1909,9 +1879,6 @@
   team_drive->set_name(team_drive_name);
   change.set_team_drive(std::move(team_drive));
 
-  new_entry->share_url = net::AppendOrReplaceQueryParameter(
-      share_url_base_, "name", team_drive_name);
-
   AddNewChangestamp(&change, std::string());
 
   change.set_modification_date(base::Time() +
diff --git a/components/drive/service/fake_drive_service.h b/components/drive/service/fake_drive_service.h
index 21b56a7..7725e89 100644
--- a/components/drive/service/fake_drive_service.h
+++ b/components/drive/service/fake_drive_service.h
@@ -89,12 +89,6 @@
     default_max_results_ = default_max_results;
   }
 
-  // Sets the url to the test server to be used as a base for generated share
-  // urls to the share dialog.
-  void set_share_url_base(const GURL& share_url_base) {
-    share_url_base_ = share_url_base;
-  }
-
   // Changes the quota fields returned from GetAboutResource().
   void SetQuotaValue(int64_t used, int64_t total);
 
@@ -207,10 +201,6 @@
   google_apis::CancelCallback GetFileResource(
       const std::string& resource_id,
       const google_apis::FileResourceCallback& callback) override;
-  google_apis::CancelCallback GetShareUrl(
-      const std::string& resource_id,
-      const GURL& embed_origin,
-      const google_apis::GetShareUrlCallback& callback) override;
   google_apis::CancelCallback GetAboutResource(
       const google_apis::AboutResourceCallback& callback) override;
   google_apis::CancelCallback GetStartPageToken(
@@ -478,7 +468,6 @@
   bool offline_;
   bool never_return_all_file_list_;
   base::FilePath last_cancelled_file_;
-  GURL share_url_base_;
   std::string app_json_template_;
   std::string open_url_format_;
 
diff --git a/components/drive/service/fake_drive_service_unittest.cc b/components/drive/service/fake_drive_service_unittest.cc
index 9edf94a..91ea64a 100644
--- a/components/drive/service/fake_drive_service_unittest.cc
+++ b/components/drive/service/fake_drive_service_unittest.cc
@@ -1048,22 +1048,6 @@
   EXPECT_FALSE(entry);
 }
 
-TEST_F(FakeDriveServiceTest, GetShareUrl) {
-  ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_));
-
-  const std::string kResourceId = "2_file_resource_id";
-  DriveApiErrorCode error = DRIVE_OTHER_ERROR;
-  GURL share_url;
-  fake_service_.GetShareUrl(
-      kResourceId,
-      GURL(),  // embed origin
-      test_util::CreateCopyResultCallback(&error, &share_url));
-  base::RunLoop().RunUntilIdle();
-
-  EXPECT_EQ(HTTP_SUCCESS, error);
-  EXPECT_FALSE(share_url.is_empty());
-}
-
 TEST_F(FakeDriveServiceTest, DeleteResource_ExistingFile) {
   ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_));
 
diff --git a/components/feed/content/feed_offline_host.cc b/components/feed/content/feed_offline_host.cc
index 256df3eb..b71849a9 100644
--- a/components/feed/content/feed_offline_host.cc
+++ b/components/feed/content/feed_offline_host.cc
@@ -15,11 +15,17 @@
 
 namespace feed {
 
+using offline_pages::OfflinePageItem;
+using offline_pages::OfflinePageModel;
+using offline_pages::PrefetchService;
+using offline_pages::PrefetchSuggestion;
+using offline_pages::SuggestionsProvider;
+
 namespace {
 
 // |url| is always set. Sometimes |original_url| is set. If |original_url| is
 // set it is returned by this method, otherwise fall back to |url|.
-const GURL& PreferOriginal(const offline_pages::OfflinePageItem& item) {
+const GURL& PreferOriginal(const OfflinePageItem& item) {
   return item.original_url.is_empty() ? item.url : item.original_url;
 }
 
@@ -39,9 +45,9 @@
         on_each_result_(std::move(on_each_result)),
         start_time_(base::Time::Now()) {}
 
-  void OnGetPages(const std::vector<offline_pages::OfflinePageItem>& pages) {
+  void OnGetPages(const std::vector<OfflinePageItem>& pages) {
     if (!pages.empty()) {
-      offline_pages::OfflinePageItem newest =
+      OfflinePageItem newest =
           *std::max_element(pages.begin(), pages.end(), [](auto lhs, auto rhs) {
             return lhs.creation_time < rhs.creation_time;
           });
@@ -75,18 +81,43 @@
   base::Time start_time_;
 };
 
+// Consumes |metadataVector|, moving as many of the fields as possible.
+std::vector<PrefetchSuggestion> ConvertMetadataToSuggestions(
+    std::vector<ContentMetadata> metadataVector) {
+  std::vector<PrefetchSuggestion> suggestionsVector;
+  for (ContentMetadata& metadata : metadataVector) {
+    // TODO(skym): Copy over published time when PrefetchSuggestion adds
+    // support.
+    PrefetchSuggestion suggestion;
+    suggestion.article_url = GURL(metadata.url);
+    suggestion.article_title = std::move(metadata.title);
+    suggestion.article_attribution = std::move(metadata.publisher);
+    suggestion.article_snippet = std::move(metadata.snippet);
+    suggestion.thumbnail_url = GURL(metadata.image_url);
+    suggestion.favicon_url = GURL(metadata.favicon_url);
+    suggestionsVector.push_back(std::move(suggestion));
+  }
+  return suggestionsVector;
+}
+
+void RunSuggestionCallbackWithConversion(
+    SuggestionsProvider::SuggestionCallback suggestions_callback,
+    std::vector<ContentMetadata> metadataVector) {
+  std::move(suggestions_callback)
+      .Run(ConvertMetadataToSuggestions(std::move(metadataVector)));
+}
+
 }  //  namespace
 
-FeedOfflineHost::FeedOfflineHost(
-    offline_pages::OfflinePageModel* offline_page_model,
-    offline_pages::PrefetchService* prefetch_service,
-    base::RepeatingClosure on_suggestion_consumed,
-    base::RepeatingClosure on_suggestions_shown)
+FeedOfflineHost::FeedOfflineHost(OfflinePageModel* offline_page_model,
+                                 PrefetchService* prefetch_service,
+                                 base::RepeatingClosure on_suggestion_consumed,
+                                 base::RepeatingClosure on_suggestions_shown)
     : offline_page_model_(offline_page_model),
       prefetch_service_(prefetch_service),
       on_suggestion_consumed_(on_suggestion_consumed),
       on_suggestions_shown_(on_suggestions_shown),
-      weak_ptr_factory_(this) {
+      weak_factory_(this) {
   DCHECK(offline_page_model_);
   DCHECK(prefetch_service_);
   DCHECK(!on_suggestion_consumed_.is_null());
@@ -95,6 +126,13 @@
 
 FeedOfflineHost::~FeedOfflineHost() = default;
 
+void FeedOfflineHost::Initialize(
+    const base::RepeatingClosure& trigger_get_known_content) {
+  DCHECK(trigger_get_known_content_.is_null());
+  trigger_get_known_content_ = trigger_get_known_content;
+  // TODO(skym): Post task to call PrefetchService::SetSuggestionProvider().
+}
+
 base::Optional<int64_t> FeedOfflineHost::GetOfflineId(const std::string& url) {
   auto iter = url_hash_to_id_.find(base::Hash(url));
   return iter == url_hash_to_id_.end() ? base::Optional<int64_t>()
@@ -110,7 +148,7 @@
       base::MakeRefCounted<CallbackAggregator>(
           std::move(callback),
           base::BindRepeating(&FeedOfflineHost::CacheOfflinePageAndId,
-                              weak_ptr_factory_.GetWeakPtr()));
+                              weak_factory_.GetWeakPtr()));
 
   for (std::string url : urls) {
     offline_page_model_->GetPagesByURL(
@@ -130,10 +168,29 @@
   // TODO(skym): Clear out local cache of offline data.
 }
 
+void FeedOfflineHost::OnGetKnownContentDone(
+    std::vector<ContentMetadata> suggestions) {
+  // While |suggestions| are movable, there might be multiple callbacks in
+  // |pending_known_content_callbacks_|. All but one callback will need to
+  // receive a full copy of |suggestions|, and the last one will received a
+  // moved copy.
+  for (size_t i = 0; i < pending_known_content_callbacks_.size(); i++) {
+    bool can_move = (i + 1 == pending_known_content_callbacks_.size());
+    std::move(pending_known_content_callbacks_[i])
+        .Run(can_move ? std::move(suggestions) : suggestions);
+  }
+  pending_known_content_callbacks_.clear();
+}
+
 void FeedOfflineHost::GetCurrentArticleSuggestions(
-    offline_pages::SuggestionsProvider::SuggestionCallback
-        suggestions_callback) {
-  // TODO(skym): Call into bridge callback.
+    SuggestionsProvider::SuggestionCallback suggestions_callback) {
+  pending_known_content_callbacks_.push_back(base::BindOnce(
+      &RunSuggestionCallbackWithConversion, std::move(suggestions_callback)));
+  // Trigger after push_back() in case triggering results in a synchronous
+  // response via OnGetKnownContentDone().
+  if (pending_known_content_callbacks_.size() <= 1) {
+    trigger_get_known_content_.Run();
+  }
 }
 
 void FeedOfflineHost::ReportArticleListViewed() {
@@ -144,19 +201,17 @@
   on_suggestions_shown_.Run();
 }
 
-void FeedOfflineHost::OfflinePageModelLoaded(
-    offline_pages::OfflinePageModel* model) {
+void FeedOfflineHost::OfflinePageModelLoaded(OfflinePageModel* model) {
   // Ignored.
 }
 
-void FeedOfflineHost::OfflinePageAdded(
-    offline_pages::OfflinePageModel* model,
-    const offline_pages::OfflinePageItem& added_page) {
+void FeedOfflineHost::OfflinePageAdded(OfflinePageModel* model,
+                                       const OfflinePageItem& added_page) {
   // TODO(skym): Call into bridge callback.
 }
 
 void FeedOfflineHost::OfflinePageDeleted(
-    const offline_pages::OfflinePageModel::DeletedPageInfo& page_info) {
+    const OfflinePageModel::DeletedPageInfo& page_info) {
   // TODO(skym): Call into bridge callback.
 }
 
diff --git a/components/feed/content/feed_offline_host.h b/components/feed/content/feed_offline_host.h
index 6816a54..d14b00c 100644
--- a/components/feed/content/feed_offline_host.h
+++ b/components/feed/content/feed_offline_host.h
@@ -13,6 +13,7 @@
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "base/optional.h"
+#include "components/feed/core/content_metadata.h"
 #include "components/offline_pages/core/offline_page_model.h"
 #include "components/offline_pages/core/prefetch/suggestions_provider.h"
 
@@ -32,12 +33,20 @@
 class FeedOfflineHost : public offline_pages::SuggestionsProvider,
                         public offline_pages::OfflinePageModel::Observer {
  public:
+  using GetKnownContentCallback =
+      base::OnceCallback<void(std::vector<ContentMetadata>)>;
+
   FeedOfflineHost(offline_pages::OfflinePageModel* offline_page_model,
                   offline_pages::PrefetchService* prefetch_service,
                   base::RepeatingClosure on_suggestion_consumed,
                   base::RepeatingClosure on_suggestions_shown);
   ~FeedOfflineHost() override;
 
+  // Initialize with callbacks to call into bridge/Java side. Should only be
+  // called once, and done as soon as the bridge is ready. The FeedOfflineHost
+  // will not be fully ready to perform its function without these dependencies.
+  void Initialize(const base::RepeatingClosure& trigger_get_known_content);
+
   // Synchronously returns the offline id of the given page. The host will only
   // have knowledge of the page if it had previously returned status about it
   // through GetOfflineState() or as a notification. Otherwise the caller will
@@ -64,6 +73,10 @@
   // to clear local tracking of offlined items.
   void OnNoListeners();
 
+  // Should be called when async GetKnownContent is completed. Broadcasts to all
+  // waiting consumers in |pending_known_content_callbacks_|.
+  void OnGetKnownContentDone(std::vector<ContentMetadata> suggestions);
+
   // offline_pages::SuggestionsProvider:
   void GetCurrentArticleSuggestions(
       offline_pages::SuggestionsProvider::SuggestionCallback
@@ -99,7 +112,16 @@
   // is the offline id for the given page.
   base::flat_map<uint32_t, int64_t> url_hash_to_id_;
 
-  base::WeakPtrFactory<FeedOfflineHost> weak_ptr_factory_;
+  // Starts an the async request for ContentMetadata through KnownContentApi's
+  // GetKnownContent(). Will only be invoked when there isn't already an
+  // outstanding GetKnownContent().
+  base::RepeatingClosure trigger_get_known_content_;
+
+  // Holds all consumers of GetKnownContent(). It is assumed that there's an
+  // outstanding GetKnownContent() if and only if this vector is not empty.
+  std::vector<GetKnownContentCallback> pending_known_content_callbacks_;
+
+  base::WeakPtrFactory<FeedOfflineHost> weak_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(FeedOfflineHost);
 };
diff --git a/components/feed/content/feed_offline_host_unittest.cc b/components/feed/content/feed_offline_host_unittest.cc
index eb2e93f..dbb9c22 100644
--- a/components/feed/content/feed_offline_host_unittest.cc
+++ b/components/feed/content/feed_offline_host_unittest.cc
@@ -10,30 +10,43 @@
 #include <utility>
 
 #include "base/bind.h"
+#include "base/location.h"
 #include "base/task/post_task.h"
 #include "base/test/scoped_task_environment.h"
 #include "base/threading/thread_task_runner_handle.h"
+#include "components/feed/core/content_metadata.h"
 #include "components/offline_pages/core/offline_page_item.h"
 #include "components/offline_pages/core/offline_page_types.h"
 #include "components/offline_pages/core/prefetch/stub_prefetch_service.h"
 #include "components/offline_pages/core/stub_offline_page_model.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
 
 namespace feed {
 
 namespace {
 
-const char kUrl1[] = "https://www.one.com/";
-const char kUrl2[] = "https://www.two.com/";
-const char kUrl3[] = "https://www.three.com/";
+using offline_pages::OfflinePageItem;
+using offline_pages::StubOfflinePageModel;
+using offline_pages::MultipleOfflinePageItemCallback;
+using offline_pages::PrefetchSuggestion;
+using offline_pages::StubPrefetchService;
 
-class TestOfflinePageModel : public offline_pages::StubOfflinePageModel {
+constexpr char kUrl1[] = "https://www.one.com/";
+constexpr char kUrl2[] = "https://www.two.com/";
+constexpr char kUrl3[] = "https://www.three.com/";
+
+constexpr char kOne[] = "One";
+constexpr char kTwo[] = "Two";
+constexpr char kThree[] = "Three";
+
+class TestOfflinePageModel : public StubOfflinePageModel {
  public:
   void AddOfflinedPage(const std::string& url,
                        const std::string& original_url,
                        int64_t offline_id,
                        base::Time creation_time) {
-    offline_pages::OfflinePageItem item;
+    OfflinePageItem item;
     item.url = GURL(url);
     item.original_url = GURL(original_url);
     item.offline_id = offline_id;
@@ -49,11 +62,10 @@
   }
 
  private:
-  void GetPagesByURL(
-      const GURL& url,
-      offline_pages::MultipleOfflinePageItemCallback callback) override {
+  void GetPagesByURL(const GURL& url,
+                     MultipleOfflinePageItemCallback callback) override {
     auto iter = url_to_offline_page_item_.equal_range(url.spec());
-    std::vector<offline_pages::OfflinePageItem> ret;
+    std::vector<OfflinePageItem> ret;
     ret.resize(std::distance(iter.first, iter.second));
     std::transform(iter.first, iter.second, ret.begin(),
                    [](auto pair) { return pair.second; });
@@ -62,15 +74,19 @@
         FROM_HERE, base::BindOnce(std::move(callback), std::move(ret)));
   }
 
-  // Maps URLs to offline_pages::OfflinePageItem. Items with both |urls| and
-  // |original_url| will be inserted at both locations in the multimap.
-  std::multimap<std::string, offline_pages::OfflinePageItem>
-      url_to_offline_page_item_;
+  // Maps URLs to OfflinePageItem. Items with both |urls| and |original_url|
+  // will be inserted at both locations in the multimap.
+  std::multimap<std::string, OfflinePageItem> url_to_offline_page_item_;
 };
 
-void CopyResults(std::vector<std::string>* actual,
-                 std::vector<std::string> result) {
-  *actual = result;
+void CopyStatus(std::vector<std::string>* out,
+                std::vector<std::string> result) {
+  *out = std::move(result);
+}
+
+void CopySuggestions(std::vector<PrefetchSuggestion>* out,
+                     std::vector<PrefetchSuggestion> result) {
+  *out = std::move(result);
 }
 
 }  // namespace
@@ -81,28 +97,36 @@
   FeedOfflineHost* host() { return host_.get(); }
   int get_suggestion_consumed_count() { return suggestion_consumed_count_; }
   int get_suggestions_shown_count() { return suggestions_shown_count_; }
+  int get_get_known_content_count() { return get_known_content_count_; }
 
   void RunUntilIdle() { scoped_task_environment_.RunUntilIdle(); }
 
- protected:
-  FeedOfflineHostTest() {
+  void ResetHost() {
     host_ = std::make_unique<FeedOfflineHost>(
         &offline_page_model_, &prefetch_service_,
         base::BindRepeating(&FeedOfflineHostTest::OnSuggestionConsumed,
                             base::Unretained(this)),
         base::BindRepeating(&FeedOfflineHostTest::OnSuggestionsShown,
                             base::Unretained(this)));
+    host_->Initialize(
+        base::BindRepeating(&FeedOfflineHostTest::OnGetKnownContentRequested,
+                            base::Unretained(this)));
   }
 
+ protected:
+  FeedOfflineHostTest() { ResetHost(); }
+
   void OnSuggestionConsumed() { ++suggestion_consumed_count_; }
   void OnSuggestionsShown() { ++suggestions_shown_count_; }
+  void OnGetKnownContentRequested() { ++get_known_content_count_; }
 
   base::test::ScopedTaskEnvironment scoped_task_environment_;
   TestOfflinePageModel offline_page_model_;
-  offline_pages::StubPrefetchService prefetch_service_;
+  StubPrefetchService prefetch_service_;
   std::unique_ptr<FeedOfflineHost> host_;
   int suggestion_consumed_count_ = 0;
   int suggestions_shown_count_ = 0;
+  int get_known_content_count_ = 0;
 };
 
 TEST_F(FeedOfflineHostTest, ReportArticleListViewed) {
@@ -125,7 +149,7 @@
 
 TEST_F(FeedOfflineHostTest, GetOfflineStatusEmpty) {
   std::vector<std::string> actual;
-  host()->GetOfflineStatus({}, base::BindOnce(&CopyResults, &actual));
+  host()->GetOfflineStatus({}, base::BindOnce(&CopyStatus, &actual));
   RunUntilIdle();
 
   EXPECT_EQ(0U, actual.size());
@@ -135,7 +159,7 @@
   offline_page_model()->AddOfflinedPage(kUrl1, 4);
 
   std::vector<std::string> actual;
-  host()->GetOfflineStatus({kUrl2}, base::BindOnce(&CopyResults, &actual));
+  host()->GetOfflineStatus({kUrl2}, base::BindOnce(&CopyStatus, &actual));
   RunUntilIdle();
 
   EXPECT_EQ(0U, actual.size());
@@ -150,7 +174,7 @@
 
   std::vector<std::string> actual;
   host()->GetOfflineStatus({kUrl1, kUrl2},
-                           base::BindOnce(&CopyResults, &actual));
+                           base::BindOnce(&CopyStatus, &actual));
 
   EXPECT_EQ(0U, actual.size());
   RunUntilIdle();
@@ -167,7 +191,7 @@
   offline_page_model()->AddOfflinedPage(kUrl1, kUrl2, 4, base::Time());
 
   std::vector<std::string> actual;
-  host()->GetOfflineStatus({kUrl2}, base::BindOnce(&CopyResults, &actual));
+  host()->GetOfflineStatus({kUrl2}, base::BindOnce(&CopyStatus, &actual));
   RunUntilIdle();
 
   EXPECT_EQ(1U, actual.size());
@@ -182,7 +206,7 @@
       kUrl1, "", 5, base::Time() + base::TimeDelta::FromHours(1));
 
   std::vector<std::string> actual;
-  host()->GetOfflineStatus({kUrl1}, base::BindOnce(&CopyResults, &actual));
+  host()->GetOfflineStatus({kUrl1}, base::BindOnce(&CopyStatus, &actual));
   RunUntilIdle();
 
   EXPECT_EQ(1U, actual.size());
@@ -190,4 +214,82 @@
   EXPECT_EQ(host()->GetOfflineId(kUrl1).value(), 5);
 }
 
+TEST_F(FeedOfflineHostTest, GetCurrentArticleSuggestions) {
+  std::vector<PrefetchSuggestion> actual;
+  host()->GetCurrentArticleSuggestions(
+      base::BindOnce(&CopySuggestions, &actual));
+  EXPECT_EQ(1, get_get_known_content_count());
+  EXPECT_EQ(0U, actual.size());
+
+  ContentMetadata metadata;
+  metadata.url = kUrl1;
+  metadata.title = kOne;
+  metadata.time_published = base::Time();
+  metadata.image_url = kUrl2;
+  metadata.publisher = kTwo;
+  metadata.favicon_url = kUrl3;
+  metadata.snippet = kThree;
+  host()->OnGetKnownContentDone({std::move(metadata)});
+
+  EXPECT_EQ(1U, actual.size());
+  EXPECT_EQ(kUrl1, actual[0].article_url.spec());
+  EXPECT_EQ(kOne, actual[0].article_title);
+  EXPECT_EQ(kTwo, actual[0].article_attribution);
+  EXPECT_EQ(kThree, actual[0].article_snippet);
+  EXPECT_EQ(kUrl2, actual[0].thumbnail_url.spec());
+  EXPECT_EQ(kUrl3, actual[0].favicon_url.spec());
+}
+
+TEST_F(FeedOfflineHostTest, GetCurrentArticleSuggestionsMultiple) {
+  std::vector<PrefetchSuggestion> suggestions1;
+  host()->GetCurrentArticleSuggestions(
+      base::BindOnce(&CopySuggestions, &suggestions1));
+  EXPECT_EQ(1, get_get_known_content_count());
+  std::vector<PrefetchSuggestion> suggestions2;
+  host()->GetCurrentArticleSuggestions(
+      base::BindOnce(&CopySuggestions, &suggestions2));
+  // This second GetCurrentArticleSuggestions() should not re-trigger since the
+  // host should know there's an outstanding request.
+  EXPECT_EQ(1, get_get_known_content_count());
+
+  // Use both url and title, url goes through a GURL and isn't really moved all
+  // the way, but title should actually be moved into one of the results.
+  ContentMetadata metadata1;
+  metadata1.url = kUrl1;
+  metadata1.title = kOne;
+  ContentMetadata metadata2;
+  metadata2.url = kUrl2;
+  metadata2.title = kTwo;
+  host()->OnGetKnownContentDone({std::move(metadata1), std::move(metadata2)});
+
+  EXPECT_EQ(2U, suggestions1.size());
+  EXPECT_EQ(kUrl1, suggestions1[0].article_url.spec());
+  EXPECT_EQ(kOne, suggestions1[0].article_title);
+  EXPECT_EQ(kUrl2, suggestions1[1].article_url.spec());
+  EXPECT_EQ(kTwo, suggestions1[1].article_title);
+  EXPECT_EQ(2U, suggestions2.size());
+  EXPECT_EQ(kUrl1, suggestions2[0].article_url.spec());
+  EXPECT_EQ(kOne, suggestions2[0].article_title);
+  EXPECT_EQ(kUrl2, suggestions2[1].article_url.spec());
+  EXPECT_EQ(kTwo, suggestions2[1].article_title);
+
+  // Now perform another GetCurrentArticleSuggestions and make sure the
+  // originally bound callbacks are not invoked.
+  std::vector<PrefetchSuggestion> suggestions3;
+  host()->GetCurrentArticleSuggestions(
+      base::BindOnce(&CopySuggestions, &suggestions3));
+  EXPECT_EQ(2, get_get_known_content_count());
+
+  ContentMetadata metadata3;
+  metadata3.url = kUrl3;
+  metadata3.title = kThree;
+  host()->OnGetKnownContentDone({std::move(metadata3)});
+
+  EXPECT_EQ(2U, suggestions1.size());
+  EXPECT_EQ(2U, suggestions2.size());
+  EXPECT_EQ(1U, suggestions3.size());
+  EXPECT_EQ(kUrl3, suggestions3[0].article_url.spec());
+  EXPECT_EQ(kThree, suggestions3[0].article_title);
+}
+
 }  // namespace feed
diff --git a/components/feed/core/BUILD.gn b/components/feed/core/BUILD.gn
index 3954cdcd..f2732b3 100644
--- a/components/feed/core/BUILD.gn
+++ b/components/feed/core/BUILD.gn
@@ -8,6 +8,8 @@
 
 source_set("feed_core") {
   sources = [
+    "content_metadata.cc",
+    "content_metadata.h",
     "feed_content_database.cc",
     "feed_content_database.h",
     "feed_content_mutation.cc",
diff --git a/components/feed/core/content_metadata.cc b/components/feed/core/content_metadata.cc
new file mode 100644
index 0000000..8f78ace
--- /dev/null
+++ b/components/feed/core/content_metadata.cc
@@ -0,0 +1,17 @@
+// 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/feed/core/content_metadata.h"
+
+namespace feed {
+
+ContentMetadata::ContentMetadata() = default;
+
+ContentMetadata::ContentMetadata(const ContentMetadata&) = default;
+
+ContentMetadata::ContentMetadata(ContentMetadata&&) = default;
+
+ContentMetadata::~ContentMetadata() = default;
+
+}  // namespace feed
diff --git a/components/feed/core/content_metadata.h b/components/feed/core/content_metadata.h
new file mode 100644
index 0000000..bf31306cd
--- /dev/null
+++ b/components/feed/core/content_metadata.h
@@ -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.
+
+#ifndef COMPONENTS_FEED_CORE_CONTENT_METADATA_H_
+#define COMPONENTS_FEED_CORE_CONTENT_METADATA_H_
+
+#include <string>
+
+#include "base/time/time.h"
+
+namespace feed {
+
+// Native counterpart of ContentMetadata.java.
+struct ContentMetadata {
+  ContentMetadata();
+  ContentMetadata(const ContentMetadata&);
+  ContentMetadata(ContentMetadata&&);
+  ~ContentMetadata();
+
+  // A link to the underlying article.
+  std::string url;
+
+  // The title of the article.
+  std::string title;
+
+  // The time the article was published, independent of when the device was
+  // downloaded this metadata.
+  base::Time time_published;
+
+  // A link to a thumbnail.
+  std::string image_url;
+
+  // The name of the publisher.
+  std::string publisher;
+
+  // A link to the favicon for the publisher's domain.
+  std::string favicon_url;
+
+  // A short description of the article, human readable.
+  std::string snippet;
+};
+
+}  // namespace feed
+
+#endif  // COMPONENTS_FEED_CORE_CONTENT_METADATA_H_
diff --git a/components/offline_items_collection/core/BUILD.gn b/components/offline_items_collection/core/BUILD.gn
index 758caea..430c73c 100644
--- a/components/offline_items_collection/core/BUILD.gn
+++ b/components/offline_items_collection/core/BUILD.gn
@@ -10,6 +10,8 @@
 static_library("core") {
   sources = [
     "fail_state.h",
+    "filtered_offline_item_observer.cc",
+    "filtered_offline_item_observer.h",
     "launch_location.h",
     "offline_content_aggregator.cc",
     "offline_content_aggregator.h",
@@ -55,6 +57,7 @@
   testonly = true
 
   sources = [
+    "filtered_offline_item_observer_unittest.cc",
     "offline_content_aggregator_unittest.cc",
     "throttled_offline_content_provider_unittest.cc",
   ]
diff --git a/components/offline_items_collection/core/filtered_offline_item_observer.cc b/components/offline_items_collection/core/filtered_offline_item_observer.cc
new file mode 100644
index 0000000..d37be51
--- /dev/null
+++ b/components/offline_items_collection/core/filtered_offline_item_observer.cc
@@ -0,0 +1,61 @@
+// 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/offline_items_collection/core/filtered_offline_item_observer.h"
+#include <utility>
+
+namespace offline_items_collection {
+
+FilteredOfflineItemObserver::FilteredOfflineItemObserver(
+    OfflineContentProvider* provider)
+    : provider_(provider) {
+  provider_->AddObserver(this);
+}
+
+FilteredOfflineItemObserver::~FilteredOfflineItemObserver() {
+  provider_->RemoveObserver(this);
+}
+
+void FilteredOfflineItemObserver::AddObserver(const ContentId& id,
+                                              Observer* observer) {
+  if (observers_.find(id) == observers_.end())
+    observers_.insert(std::make_pair(id, std::make_unique<ObserverValue>()));
+
+  observers_[id]->AddObserver(observer);
+}
+
+void FilteredOfflineItemObserver::RemoveObserver(const ContentId& id,
+                                                 Observer* observer) {
+  auto it = observers_.find(id);
+  if (it == observers_.end())
+    return;
+
+  it->second->RemoveObserver(observer);
+
+  if (!it->second->might_have_observers())
+    observers_.erase(it);
+}
+
+void FilteredOfflineItemObserver::OnItemsAdded(
+    const OfflineContentProvider::OfflineItemList& items) {}
+
+void FilteredOfflineItemObserver::OnItemRemoved(const ContentId& id) {
+  auto it = observers_.find(id);
+  if (it == observers_.end())
+    return;
+
+  for (auto& observer : *(it->second))
+    observer.OnItemRemoved(id);
+}
+
+void FilteredOfflineItemObserver::OnItemUpdated(const OfflineItem& item) {
+  auto it = observers_.find(item.id);
+  if (it == observers_.end())
+    return;
+
+  for (auto& observer : *(it->second))
+    observer.OnItemUpdated(item);
+}
+
+}  // namespace offline_items_collection
diff --git a/components/offline_items_collection/core/filtered_offline_item_observer.h b/components/offline_items_collection/core/filtered_offline_item_observer.h
new file mode 100644
index 0000000..bbb00fd
--- /dev/null
+++ b/components/offline_items_collection/core/filtered_offline_item_observer.h
@@ -0,0 +1,56 @@
+// 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_OFFLINE_ITEMS_COLLECTION_CORE_FILTERED_OFFLINE_ITEM_OBSERVER_H_
+#define COMPONENTS_OFFLINE_ITEMS_COLLECTION_CORE_FILTERED_OFFLINE_ITEM_OBSERVER_H_
+
+#include <map>
+#include <memory>
+
+#include "base/macros.h"
+#include "base/observer_list.h"
+#include "components/offline_items_collection/core/offline_content_provider.h"
+#include "components/offline_items_collection/core/offline_item.h"
+
+namespace offline_items_collection {
+
+// Provides clients the ability to register observers interested only in the
+// updates for a single offline item.
+class FilteredOfflineItemObserver : public OfflineContentProvider::Observer {
+ public:
+  // Observer for a single offline item.
+  class Observer {
+   public:
+    virtual void OnItemRemoved(const ContentId& id) = 0;
+    virtual void OnItemUpdated(const OfflineItem& item) = 0;
+
+   protected:
+    virtual ~Observer() = default;
+  };
+
+  FilteredOfflineItemObserver(OfflineContentProvider* provider);
+  ~FilteredOfflineItemObserver() override;
+
+  void AddObserver(const ContentId& id, Observer* observer);
+  void RemoveObserver(const ContentId& id, Observer* observer);
+
+ private:
+  using ObserverValue = base::ObserverList<Observer>::Unchecked;
+  using ObserversMap = std::map<ContentId, std::unique_ptr<ObserverValue>>;
+
+  // OfflineContentProvider::Observer implementation.
+  void OnItemsAdded(
+      const OfflineContentProvider::OfflineItemList& items) override;
+  void OnItemRemoved(const ContentId& id) override;
+  void OnItemUpdated(const OfflineItem& item) override;
+
+  OfflineContentProvider* provider_;
+  ObserversMap observers_;
+
+  DISALLOW_COPY_AND_ASSIGN(FilteredOfflineItemObserver);
+};
+
+}  // namespace offline_items_collection
+
+#endif  // COMPONENTS_OFFLINE_ITEMS_COLLECTION_CORE_FILTERED_OFFLINE_ITEM_OBSERVER_H_
diff --git a/components/offline_items_collection/core/filtered_offline_item_observer_unittest.cc b/components/offline_items_collection/core/filtered_offline_item_observer_unittest.cc
new file mode 100644
index 0000000..af362c8
--- /dev/null
+++ b/components/offline_items_collection/core/filtered_offline_item_observer_unittest.cc
@@ -0,0 +1,73 @@
+// 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/offline_items_collection/core/filtered_offline_item_observer.h"
+
+#include "base/guid.h"
+#include "components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.h"
+#include "components/offline_items_collection/core/test_support/mock_offline_content_provider.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using testing::_;
+
+namespace offline_items_collection {
+namespace {
+
+TEST(FilteredOfflineItemObserverTest, TestBasicUsage) {
+  ContentId id1("test", base::GenerateGUID());
+  ContentId id2("test", base::GenerateGUID());
+  ContentId id3("test2", id1.id);
+  ContentId id4("test", base::GenerateGUID());
+
+  OfflineItem item1(id1);
+  OfflineItem item2(id2);
+
+  MockOfflineContentProvider provider;
+  FilteredOfflineItemObserver filter(&provider);
+
+  MockFilteredOfflineItemObserver::ScopedMockObserver obs1(&filter, id1);
+  MockFilteredOfflineItemObserver::ScopedMockObserver obs2(&filter, id2);
+  MockFilteredOfflineItemObserver::ScopedMockObserver obs3(&filter, id3);
+
+  EXPECT_CALL(obs2, OnItemUpdated(item2)).Times(1);
+  EXPECT_CALL(obs3, OnItemRemoved(id3)).Times(1);
+
+  provider.NotifyOnItemsAdded({item1});
+  provider.NotifyOnItemUpdated(item2);
+  provider.NotifyOnItemRemoved(id3);
+  provider.NotifyOnItemRemoved(id4);
+}
+
+TEST(FilteredOfflineItemObserverTest, AddRemoveObservers) {
+  ContentId id1("test", base::GenerateGUID());
+  OfflineItem item1(id1);
+
+  MockOfflineContentProvider provider;
+  FilteredOfflineItemObserver filter(&provider);
+
+  MockFilteredOfflineItemObserver::MockObserver obs1;
+
+  {
+    EXPECT_CALL(obs1, OnItemUpdated(_)).Times(0);
+    provider.NotifyOnItemUpdated(item1);
+  }
+
+  filter.AddObserver(id1, &obs1);
+
+  {
+    EXPECT_CALL(obs1, OnItemUpdated(_)).Times(1);
+    provider.NotifyOnItemUpdated(item1);
+  }
+
+  filter.RemoveObserver(id1, &obs1);
+
+  {
+    EXPECT_CALL(obs1, OnItemUpdated(_)).Times(0);
+    provider.NotifyOnItemUpdated(item1);
+  }
+}
+
+}  // namespace
+}  // namespace offline_items_collection
diff --git a/components/offline_items_collection/core/test_support/BUILD.gn b/components/offline_items_collection/core/test_support/BUILD.gn
index 0334a7a..f696a95 100644
--- a/components/offline_items_collection/core/test_support/BUILD.gn
+++ b/components/offline_items_collection/core/test_support/BUILD.gn
@@ -6,6 +6,8 @@
   testonly = true
 
   sources = [
+    "mock_filtered_offline_item_observer.cc",
+    "mock_filtered_offline_item_observer.h",
     "mock_offline_content_provider.cc",
     "mock_offline_content_provider.h",
     "offline_item_test_support.cc",
diff --git a/components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.cc b/components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.cc
new file mode 100644
index 0000000..ab7c804
--- /dev/null
+++ b/components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.cc
@@ -0,0 +1,23 @@
+// 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/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.h"
+
+namespace offline_items_collection {
+
+MockFilteredOfflineItemObserver::MockObserver::MockObserver() = default;
+MockFilteredOfflineItemObserver::MockObserver::~MockObserver() = default;
+
+MockFilteredOfflineItemObserver::ScopedMockObserver::ScopedMockObserver(
+    FilteredOfflineItemObserver* observer,
+    const ContentId& id)
+    : id_(id), observer_(observer) {
+  observer_->AddObserver(id_, this);
+}
+
+MockFilteredOfflineItemObserver::ScopedMockObserver::~ScopedMockObserver() {
+  observer_->RemoveObserver(id_, this);
+}
+
+}  // namespace offline_items_collection
diff --git a/components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.h b/components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.h
new file mode 100644
index 0000000..6e252b3
--- /dev/null
+++ b/components/offline_items_collection/core/test_support/mock_filtered_offline_item_observer.h
@@ -0,0 +1,50 @@
+// 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_OFFLINE_ITEMS_COLLECTION_CORE_TEST_SUPPORT_MOCK_FILTERED_OFFLINE_ITEM_OBSERVER_H_
+#define COMPONENTS_OFFLINE_ITEMS_COLLECTION_CORE_TEST_SUPPORT_MOCK_FILTERED_OFFLINE_ITEM_OBSERVER_H_
+
+#include "base/macros.h"
+#include "components/offline_items_collection/core/filtered_offline_item_observer.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace offline_items_collection {
+
+class MockFilteredOfflineItemObserver {
+ public:
+  class MockObserver : public FilteredOfflineItemObserver::Observer {
+   public:
+    MockObserver();
+    ~MockObserver() override;
+
+    // FilteredOfflineItemObserver::Observer implementation.
+    MOCK_METHOD1(OnItemRemoved, void(const ContentId&));
+    MOCK_METHOD1(OnItemUpdated, void(const OfflineItem&));
+  };
+
+  class ScopedMockObserver : public MockObserver {
+   public:
+    ScopedMockObserver(FilteredOfflineItemObserver* observer,
+                       const ContentId& id);
+    ~ScopedMockObserver() override;
+
+   private:
+    ContentId id_;
+    FilteredOfflineItemObserver* observer_;
+
+    DISALLOW_COPY_AND_ASSIGN(ScopedMockObserver);
+  };
+
+ private:
+  // Do not allow instantiation.
+  MockFilteredOfflineItemObserver() = default;
+  ~MockFilteredOfflineItemObserver() = default;
+
+  DISALLOW_COPY_AND_ASSIGN(MockFilteredOfflineItemObserver);
+};
+
+}  // namespace offline_items_collection
+
+#endif  // COMPONENTS_OFFLINE_ITEMS_COLLECTION_CORE_TEST_SUPPORT_MOCK_FILTERED_OFFLINE_ITEM_OBSERVER_H_
diff --git a/components/safe_browsing/base_ui_manager.cc b/components/safe_browsing/base_ui_manager.cc
index 127a842..58509d17 100644
--- a/components/safe_browsing/base_ui_manager.cc
+++ b/components/safe_browsing/base_ui_manager.cc
@@ -227,7 +227,10 @@
     return;
   }
 
-  if (resource.threat_type != SB_THREAT_TYPE_SAFE) {
+  if (resource.threat_type != SB_THREAT_TYPE_SAFE &&
+      resource.threat_type != SB_THREAT_TYPE_BILLING) {
+    // TODO(vakh): crbug/883462: The reports for SB_THREAT_TYPE_BILLING should
+    // be disabled for M70 but enabled for a later release (M71?).
     CreateAndSendHitReport(resource);
   }
 
diff --git a/components/test/data/search_provider_logos/ddljson_android0.json b/components/test/data/search_provider_logos/ddljson_android0.json
index 84001670..ca41f5e 100644
--- a/components/test/data/search_provider_logos/ddljson_android0.json
+++ b/components/test/data/search_provider_logos/ddljson_android0.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Tama\u0027s 18th Birthday","data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAMAAAApx+PaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYTQ5NjhiZC05NTZhLTRjYmEtOTAyMy1jZTNhY2Q5NTMzNWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODU5NjkwMEQxQzk3MTFFN0FBRjZGREQ2RkFFRUEyMzQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODU5NjkwMEMxQzk3MTFFN0FBRjZGREQ2RkFFRUEyMzQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphY2ZhNTExOC0zZTVmLTQxZjAtYTE4Yi01MzliNTczOWFiMGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NmViZjFlYy00OTYwLTExN2EtODBlYS1mNTE4ZDlmMDQ1NDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4GRDF8AAAC/VBMVEWavjiy11HuhigPAgKew0JLLBqmy0Six0AzJg9qcyh3hy+221VANxWFmDZeYiPJ9Vy63FvD7Vi221n///vkgilNMiO85VWkyzlMSBpVVR+y10y631Ws1kG83mXO/F6fxi+Wujj8/fWm0D3X/2PQ5ZVDQRY+IRA7GhDZ6aukxkuTuig1FBWMpDeWuzGZvjSOth/C3nKevj3vizJVMRpdPCWu01KSqjzy+OGYsUSy203I3Y389/Cnx1DvkTyaxiar1Tqu10b3++/l/2qy4ESJsxP3+ent9de98UrvhCO221HG43mpz0S46Ef1eSLviivSdyi61Xay1Fnk78aqyVaaujijvEnzmUqeuEShXiKq00fe6rzo9Mt8SRxwW1CVtDmwz1X0tYv1oleOrjSu20W3113i8LygzC+uy2BnSjZYQD2t20HmfyKu00m24E67ZCKx4Vb37+P+kSr5w5azz2iy10X2rnGupZ+s61r1hyfE+kuq007vchPA0oc4JyGVwxuHcGK9trfSpDfPaSGmui370K6my0p7qQSVin39mDezhBT81AzT/1mSszOk0ixqNRSfuh+TxDvN/06atj/JxLu84k7puwz5iTT84MrX0M/769qPeXvq5+W8w0nmjCvHlRO/6Uri3N3Qlneauj+1zXWLyj2Rmktya27Xqw3p7tT/ojHOskLWjDG1flDglS+231WxkzG71VKfzjyhujisu2729fSFOQ6x62HJyUr8oGr4/f+IqyD3hRp2bRCc0SCfqG6Uzj1COQPj/KZHICxXZwj07fK48lpxlz3018qw4VDYs2ft7fHD52lvjg6w21ey21GvyET/xXzXkk9iJAGjySqh3k+evjjt+uRmHgyBwBHMVhibsDSyzDmri26Iwiqq5UW71kGu10+apSfX+oah10qk90eV3T2p5C2v+F6m20G71E3/8/ua603d6Vec50H38/u02TiCqjCy1ySWyzTL0+Pr//smEQmu002ewztDJhiqz0mpzUiavjy12VP///8AAAACX7fCAAAA/3RSTlP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBm/IpZAACdA0lEQVR42uy9CXgb53kumuEY0AADYDAgMdgIoCRIgAxwG4QEQFDmHpPhEoqiFC6SyFC8V1LIUoupUEusyLLkTXaOlNSL7Mh2GifHdmI7tnOO4yRNetqmzdL0JG2enpw2SZsup8s9955zl+e5M8YgQz/3+/5/BgsJUKLs9nGfZiSCBDDr//7f973f8v//e9761fZvbnvPr5rgV6D/avsV6L/afgX6r7Zfgf52tr5ftf2/AtDr6a+13rd6ja0etj74YeBlze9f6+vzw68+zeXqDY7W+5POTr+T7xt1aZ1aUnMG15wuLdnndPpda51akPFr/vrO4Ggf7qZ1ujTYn9E0J+OED/2apsGPP+hKBvvgUJdLg7PC10Gn5vI7g0HY1eVa05xwok4n7NLS8lYTHANf+uGbzvpR5xrcstPJ9zr9TS1vaa7kqN/l7wxqLo3XRl08vHUmXXCXzqAWDAbh9hi4IVens8mpOfuCzl6XBufx46vWyfj9+Orq7IQ7XfOPOuuDyV6t06n1dfrXGK0PngQeG36Cfn9nvV/r1YJavb9+DY7rqyfNUl8PDwut5Nf66vv64Kezvt4FR/QyTnhXDzv4e3v9Tvizl9FIs/ZBi9Yz5HM4tL63vhcauLde6+slp6y/0qf54c9gk3YFPu/r7PXDZZzO3qa3ev1vvaW9BXd5i6ADKn19PDRtJzRVp4bPvmlzbnjv0lwAUhA+93ciSEGEj2HgM20tGOxzOZMIbbIpCZ9BLwBInZ3wF3w4Ct0BGg56xRqch8GTMTz0BDjW73LC9Z30Q7hCkKChOV1ro0l/MtiZbGrqg6vBobhDpzO51jc6CjfSNOqEDtGUTEJHSQKcnU683SR0oXroN/7gqAsOCDaNwpPBKfHL0WQ97NTX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\u003d\u003d","doodle_type":"SIMPLE","fingerprint":"735c8999","gallery_url":"http://www.google.com/doodles/tamas-18th-birthday","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/wyeF_2wwEDE_ln_ZBDbWYHMFkfhFCHZuXG68UBqCrJEMdHmzG7bOuVJFfKYfK96FgpyO98XDNdkko4vEoXC2EpZYu_HA7jtQd7N9fPmc","height":200,"image_id":6291066231717888,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616.2-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Tama\u0027s 18th birthday! #GoogleDoodle\nhttps://g.co/doodle/mzbmtf","short_link":"//g.co/doodle/mzbmtf","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Mary G. Ross\u0027 110th birthday","data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAMAAAApx+PaAAADAFBMVEVHcEwXKj8NIjodb0QiLjUhLzsbc0Q5dk8cNksVgkt8ob4fLDkbKjcZrFUsb0UVjU0aKTciMj4iLDQjKy4iKi0iKCsrRFUnPlcUn1CAi5aLlJ+GhoJpamhTdpQcIyMgJSccIyIgKiokKy8lLjIjKi0gJiglLTEmMDTM0dKmpZ8gaT81RlJ0foxedYm2vME8PzwuO0Lp6OJITEswODMjJis9UVolOTk1SmGXnaZ0dXEpOU9FYXtYZnclNC0dJSVGXF0KfkZFomg1kVp+fnlZXF1/oIeHq5BLZWEXYjhZpnPa3b8ZTTNZdGrMycPZ2dO4trBjj3Jwlnz37NHs58sTaz+hoJqcmpXl5N+ssbgpPFGry6TX1c3PzseWlI9DWHC/zLz59O9Og2FNa4jB1LC0xbPx7ujp5t5xsoOqvqz28ert6N/w6uLy7eQcJCNSdZePjomft6Pu6+STr5mUw5Zaf0FqiEUYHyBSfKkrO1HYfQATOCijnUz5hwAUGx03UW3wskX/fwCwewvXtlQ5cUL9/PiqplDxxF6DeCXtwFXkv1nrozUQFhnf3dbk4drDwbqwr6kuSD/ovlVZiGne2tPj39e7ubOtq6bjvFX6fgBFfVjU0cpIeUO0sqyqqKPp49vb18+/vbbeulT4myDIxb96j0jkw1/5kgugp7AvQlk+X4vBuWLmyWnAxcmEmE3rz3Ps1X77qDja3t+Umky2qVChfE6+nUdONB5qUzhgPCOITysKDxSNYT69d0g7JRXJrVDMhE4hFAsICQy9ajkCAQAmLCTArlLPslJ3RiecWDCrZjo+aVxEeGr61Kc1VkzTbzfKkmXhrX7Ymmm7h1/EqojitpT3vpDzy5/aonfttYDprXX73rTkoW7XklooN0vu4pKMqbjP5eu20d0gVlaTuMpig6B5mbChxtt7q9SCs92OwOpzostpl8BNlM1fi7EiQGY3eaeJuuU0VIEnSHUZNVpGZZo2TGlbgcBAhbstYZhFco4udY4oZHZQpOc7ZJBQo+hYnNZjU8jJAAABAHRSTlMAIAerf1z//xH/VU06////LW+TqsHV0bf//////9D27/v/6Pb/////////////////////////////9P///////////////////////////////////////+L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v////////7///////////b///94/v//qtyDm/v0pQAAnmpJREFUeAHsxTESgCAMBMAL0RMUlf+/Vmt7BsbcNgv5JRExQzCSfEEwsnJLCEVyIVdIKE7S0YPsGVM6Cl8VEkc+C3nRIf2kz6P5eReSl2GAbJiUVWu1PYRQ12IDIQwLreniOvDInlzm//9gZV/GY3TDMljGAm9KCaHrUqnEomamVwirOK4Z3isfglzpA2ZjU4POlKsIE6GjkEwIyvFExR+5nsASKVTCUisHZ6FcykspkqnmvzRKpSsVJVK5Ui0Fc/rQHUgXY0cMgDh3Y/X7e/rmeO1KetSUv9AkmA5ppMFiITojDgErGAouwgaTc1GOscVDLF1Z0Oul2Gy+0MGjLccKEuuRQzpZIYtmRJUEnBkdJICEcoa5TH5sydgk0Jii1oLLyQR4WVeA8FzFTDmPniKv15vter3bNMcGb7/fH47HPd7+1PetWRtgBmp2T1vv36m1E8qctx6544QHMIMazpqRNmNFAvn5YlHi0qhCLwhcccK2RG/tm8CPiYqCwLKi7p+1ssCOHAaC6DIzox2721XhDNizzHT/G+2UFHWY82213Ga9LyAAgyNhAOiuiP0wGO/Ppaf5fZlqUdMhcN1B2/uUSlAyEgFBeAPXUYZMh4wkbSura+sbOR2NxxOQRL4kpkvrI1Dseju3fQbuUHDv5aPvvd/GgFyTul4uto+OI71rqoXGHHWSXnvj+hRpQtK1D8PTMC/5GWvLTabTOU29gFmsOsITxXJLa28mJkgzXZd2U1SYd5H53TRpV8o5xkBAuIe6w1h+cXdzer82S880COLQHWeH+/3Nu7VR6Qjv309R4ByQH16zsKffRi+Sai/WPdchnil6Pwyqivf2yrGkV11XOaqk3Gp03ebvm8gaP376/FHa2tHck3zYqAgXcSgYwdqZHs7XaVSV8mDWlkAzBpwRpMo+4Jh8md2/f/+FRvryteVlnC8kPToNsS8csB/Rxr2NYolMRTFJ79GrhqRvWlcIPE4cU3rdfe2aBbhXqK2qLfcuFTKk2rASehW0hWNye2bfJrS9MEp5iGF6H0L4sbwT+8BrN7//+Hnz5rV7sj6DwzscG+6fBL8+HP0Ljn04pHFI5bcC441ZNbTBe23hPIjM/ZjSm6rCgtcG2JMnBhpzX6PRYvkeZd9atgsyH7LzRTH58/ebidGff+VKCsMns2yah+D/OTEP57aNJYxPCz18Lb0Xzca7d/OE8SNEQkxhhNCJ5NCWq8z0hEmY6oL03ntxe73+tW+/uwUEyTAHzgfg9grupMFvdw9EI/ok3dHnWogn3fHBQ/uvDZHe6WyyyrWX7x3uN1P1rFd65Oh6e4+pz26APqyn+eTYA6HClc8Ad6BuEb+bdMUbfXzvb1t8vViCNK0r2qWbbt6bJs7HXcV2dENr0YuGAk9vTgP2IUZ8Pa374fETgwC5dwLQtymvjvxCOReLnbHAu1OhjdfDaM01aDjuHtg6qZG+58AfpprffZgRyIcrHI74StyOb2wMrhjEg8dXVp6oY2XHi+J8repp2rbSeuOBJ5/qhefPHI0eGWijotaCvTHSMXTvNS2g3wvieilevLw/vcoWSoAJshbF3riHRtzeb7Z2TNVgi2LQX5ig2S9W2COJCJbJlencRkwOjV3a2cPTa5/ZOnnoWo30Z5/bM7VQj8pDpkctFo06sXFiwTaSPv/UYDfPupgb07tvoSfgA0Y7OncWDg4mvNCp0SqUJBVwC/alFm/v1ytwd89ep8dSIGh/KUAbhrMeYRa1s2HVsCBtKyzDbvecGk0n4TWbmKm6h4jLWeHUJok9VXu+OOva3H9o62SE/sKLR1+aLC+zCDOT0qYY4d6mVxNpu+Zc73Cv7aa/hlaDhH8N9MSXq3F5GfZadjel83kSa5pHDf2NLaCHZb2FN0PajEofmjVjm81nZQAaqXDWVWu7nVB9Omx+Y+O4JBM5j5K5vhZrQeghp3Xb9uz2ilzFf7j/pDLfehnQX3n11ddOTDpDERJiYuGQ24ez4DdiKYLDSVQG6ppfQFqtX/zG1jji26uam9UOw1rTbORiJZn5WLmnze/0it2wnppCZzIfNSfpZJTYtuPNYWq7LduCdfxohwtDg9JhcNTYg7XkQhQyGAmJ+RTwOyHP5gbM/XUP5sK4lypqQtGSm76uzA36G6dOnzl7YHlClBcFSV7koqL0TZaYUWrBzliBrkiNmskWbAknGK766/bq0uG2T6utU+eM0S7l0t2b+9L1raBbzvXlLueZ9ALK1VQtKnUF2igsPEgILTuMikW6C8a2qGCE8afKzFyNa4keUnkmT8pFGYpH6GmDvMuFSRth9fStP/VYtMk6JIx7jZ4l+83xgQD9mfG13enbp06ffufFd6eAnuPKFbxIsi8R8CYtSuAQUazzgsBt6CbmvOZ6JLwLum8PvZyHczUBZEvyuMA9a5D1tnp7T51F5tAbdEdMjD6DFwHXfNC6ACE+tUwb5upGuMrYRJYM69/TgBZIS+TGHRwlfi1VME7RAySiUSiM5aINra4fffItzvMc9wqzoLDJ4V8fdsfvBejvjbvd6bunVlZOn3pjuklSROUK3T+0b99QlyARRxIe8IzZGTNHjozawu28jodtDycEPtXjHQMLkQ9mo3QHdRxhUd21U3COCw36bHDx+VQ/pmWme/Tc2xr6NSDkSsZs2ZGphGukIh4LThUxKpnlYsqYGdNqu7zVcav9CYv3+GTNSYJ7YAi+IQGBohUKICXHo1c5UZFADoDpzudjkoEjsMvVMoE+x9192h3rq/vW1nvXvv8BoJ9eWTn19nS5+FAVChkmynzfPPFYlwMiuu+jhDmQZtgrIGf6+M3UmYbbZJnK9CBSpXpc1rsQerpvHqE7K/FLKTzsdDTau6Tz8a2UXe+4fXCFULtcS632dOMYkWbMWlDoAsfQHU9I+djHQFLQjqN7a1MbroIYcDCp0MZNZB5AseFdDvrkHastd3cmniWSq5Q2WwUiElQRL+JIJQ/3c/IBWC46Fn2EROJf2ux2uy9vbR06OO5+8kl3evzM2ZV3Tr076Xz6oamQ1fm+uVJ/KMHs6Lr3ffTRR4mQikU4grQcbfwNZDpKS+bz4C74ywyHjLOEuIivGoU4ykN+upz6IBam2apV6julxQo7ts8yfHijnzGo23bepJtbpPe9ji0xB5ooiBlGMo1lBhbz2lifJUyckQ6y6O05IcIyAWLPmTkCs71jKUvbNxU5/AGRZdm7io3Iimgt9SANjkkaK6BtcANXEEIVrIZD8Cm9wrKBrqLMrz2kYT4ef/b55++Pp8effHXl1IFJR0P9ixJ7CuYJ5SHZ56A8HH008yJoIMOIiA6SY9nmLQgD60GFh3H3LwohcuLMv8Mbpva5XE81Uliot5dlj+hzgbhe/cMbGxuPDRjI2X6k1cUZt4UOxrgyEtGCdDJAlfmDK5k/JCkLbk+GJCJEOXBrVwaHDgEeoBNa4R2PJCh4QZyhIpehnrN30TuGLDTZXLObcw/HAMtAFdDLuGdGn0rmX8YK2iHeKQfBSbc7fuTl/ePu+IOvPv/6m3Fn+tLRU4Cuof7FFyV2pf5wAcU3O0XDIylyogCdOboDU4DITLapicUISxUILLLeF2Q/FuYiF9wIh1FnUJvDAOPVMMfFu360cV+Zn3h4wBnkR6PVrEk3tUjvnBlfqxhqFK5k78IgoylwKIHJRE2eedC2wYxjrAWMKlD3DpSYwU0hSxYzN3shDGhLCK6W6g2b3c5kzUCqLNKtUdaEInQ//+ij+6p7AZ0YHrWpzLvX6tW99tuvPv/88+86nemeF77fUOibX0AW66tzD6xgruBFikLbavEX9II3EJgzutQSGEiuTSAXTlyswEdSHz2PBLSFdK4KPhSX5IXv7oMm5j7wZiTgiFw1OLHRA6WgNGl+gb+xFXQBw5oiar2odIjwyd+4RtqeBVKGqS7gOUOcZxx71eTIwspSGxR6yY4yV8M/fCqhjVKX12H8rF7exDO7TDHyTCQKffTRPDXnCNAxLkIdjfNnDo4V/Q8/AvpPHaX+hxc2pmo/jNQD98HMlg1GyPijHitiYY9xGjzxxPN3PvrA+nq/3xt47eehIBgEWwOM2iyL2w7u1wIOADETN1BeKAfonKZsOytKBb9+3BhAfDlybvlxhg2jBS/Q9g7vWsxVNTbrOYASCbMSjzJkgCCmWCPAiSaAVUlUhnZVZSbCKC3fptQV+1pR4DW7pmK4mgQ6lQoaDfMKeoksn4yvPXByKyT3n3859/nnX3/SCdT3TLHw+S+iwrb+Yc2lona6GIn1CMng2QtHL7wDvfbkxaNHLh378x+feOvRB+6KTiBQIVl4a+PKReE/iHTmq8vsVnOrM1ajLBMtAd6XP9n4CuBbR7pJgkjtXcfLrsojqowimUsYfThRVKPWiQ4bofIXWFbaAFuLgMrEef5Y6ijM+8ttSr2rkCab+Yc7sX85GkkJyBilZKgirsD80/FBfHRX6I98+1eFrtTf7yju6d+U+vLy+fOGvfSlmrahR4uFOYDLiXpHjz7399cuPnnxtXdW3qmE+spr/3j2yKV//gtOcFfMBE7ifNIML3oStUjrjbIvc6mzH5FVFm4Az+339DpVCe9x/sSJegYxAyWrosPb0INVExsCVVZIa3mU1NjbHRjTAq1cfGZr9A6CukJCVNovLADSM5ndVxQVJdvHoQoXmFP3mS18lnlkPP7h53//cu4/Cv0bLDd54+h/J8vLn5437FiyCKvVw9uKCr5Ct32/f+HCc/+7eOGCYr+4AtR6NOv0axfVCY7VnaD8Uk1uUWQ3b+xBHAt1J+eZSXaFeL15T4tI/+094YHXNDi+sfHE8/r/9nv4d7PLJcAZoVtpFsX/KTkTtzauNN3f1XqYRdz92sFP6CUbZJXdi/20bxqDYbDdJSAGy0+qCBCjApXkgBzoxc5qbMdLHXngHHAooI4ceenbdpaxs3bGHmc8dmb/m+Z9TxVIMO6nlQ9UlEpClOp33vf7ziLixxDYxsyrwUfjBsMHzF828LHhE/dvBvXGTQ1JLn3oPnbkzbVAmcUm8OQLhLVenOYWEdu/F8gJHeZ+0UAH9iX6++iw6O1e8/dVneP7DwdUuvbSe0TaTou0L/y0cF23+B0icoLllYFBpgO2gprRN1SDD6XNLXdg6S/EA98o5JjoNwLfQL+57pxeGygRO/18Pu95odSBVb4wwAomagNPxHyj24ZqoOrwTxreuJEKmTLipF7dqf4OI3rgxUZSb4gWtlHuLxIRxRnD+ulbG3jVpmKYe1cMvfHSbAQdUn+PUncK2WxXa+sRSr2Wez2BP7InY6d9JYQL6L5wU2vmbn48NPK8bTiSR7hKO1EjaKo2gofHCy/AJOIxwnio4OGsq4eb/8t3h45Ad9DOe4j8+gh5sj0TTRNNsIG1NlClz01E+McvUOOr6ZtI43txrJqE+ckH4/vY6zbQGyF1UO/v7+/efwzM4wCtJ58ErVpgaFg/+fUqm00cfsWY+75GmDugfwClo5SDbyTtbKo4PAmp82XOfzfqaIxbU+m0n3Ez4J5Jue7D3f3h2Ml69QCCd+ODeROuClgTDETp4OfMB7HUOeO1tlgyHjDdjn76HwZfv71vjN5fBHkvDEHdo96Vl4/3wd0r2a4WQRDYlSAolS6srPnAdtMGyG7bs7vi8TQDlGx5o6/XekStwhnm6ccAfTWvJxMjfV2To4v7jxjeMas16Gsm/NZrLJhp7hx+5Yxq+2Uyv3jlKoQeST3hF1OpbDrZ/eYac1PC10n9yE5IPINCzsVXxk1FaT2W+x8WuRf/jBjHmHmX7NdHgQc81/f9VOapUs/KxASMYOeeuCioDgJv+/nDoeM61l3I/SknajZKfZsCbAbknQd9cy/0lKeUDhQisGwZSKU8d9UFbKkdq1JeGBic6Oi4tmUP20DEMdY/4a6rA2JniA9w9Npkz00x9Ya5w2mRL+RyOX+kv9vIvYqLUe3Mvfarn32faP4feuj7sHhirK394uzZs1euXPngjauM32zqX2TVnXVYysUvxNd5/Ol6Hb6jKDKg7VLmLn6Ce0z84dzz6/dj0owYPL/XBwUmpOtmT57MFnzHcZQIpW0HVsUpXaC6jMN2de7ZjoGPNdR1jL3XBf3JbSHOwHyZb9x4J/QQSstQuW4YhlpL6YcuH8XRQLKNFAr54ZwKXeUKGVTmFwYHO1b7sk8ALKL2PAm9qvgdTU+wPN9vmJP62IGCxyiAOrL7kRqTj4PMX/ztz1577bX//wLA9GPN80uQeVvD706D+HVAJ3JspvpHslT6UKvpta2V8E9uYVVYTzQJP4MQVHtKUOkplYmhZh+eyj3+8KrIDfZY4xulXoiCBpsbPnnSg7xs25ahkrayKsoP/ILUuOhQnZTw14PIsR3mwuJ7XbndXAf0//KwWnBbPoqXcDZre2ROgw8F9hChdmQg2CSwH1jK81zPDW2n4lS08N08moPs8bWlpdaWtbxSXjZpK24Dj9XW/IymGze2PE7dNZI6Nw279xX4moY63D6WO3jV1mLff+vV11599dWfPn6E469jB8Ya2to+/Oj69Y9wu/LBB1f5ffXd/tbJXJHQ10t957VttPg/5u2Igyn4LlSOWwY3AeqBdlOZFJjbIhtzf3hVX8W+JnTeNiDPmm0uC6GfHM6Demj7UkqhbTiqCHyrHEhfaunbgYPkWlkpXRgcXD5YCqCucofRUv399IfEnrwVn0leFWLuhVj1Ib5w14heuK4xAVMBRG5Qsebny1rQAVzbQpQraLIlVCqO9l2YtZvLpmBZpcp8z3JLXL8+D8Pa9tyh7aZT1r35zwmd0X44h7+T8nKC1FHW7T+2yiu2ebaS37766mvow3+/Abj3QuZt7R9F8fHpTxjAfnWmvxvUc6PdrSzlYuq/3PPcc891PFmX1FdSPmBnIG6Azgi88yKcV9uMEugoHElJy0AuZH2RLXAvVjqPmfurvGuFXsgb2IhsIYcuxjChF71QCaUkXFMK6Ar7SuO+FSiN75IFI11YWAkcB5cSbaDpu064/PvYmg90EEipYCVgTMiFIIxFL7xqElq7xcdAXVRKWtELuK9suJOtQj8IdAkvKJTp7TA7ZjN4e4zhXOqv0s5zhw4datq69efbnv/Lxs1//jqp//l0Y8NkDlFwxVBiU6K9t2vy8BzlbhRftfjf/uyVyNzbIXPMq/7u44/MF6C/Terg/l5/K6jnxgGdvTYGfnX7lueea9peF/QLFHW2Z2JiolJ0Bap4N5MWTOe+yFT8jO8LIZRTkghfa+RjxcRflAEEDOJZ5WcN9JoCvlAr89ww3qf5GuZlyXkuzVxgQ1PlPYEMLx22NIHjyqnMB2wVunzBsiod1Y56PdAffRh0LzAnk0ebQu7WEs2s4igE3N1iI+DD2sMmdoAIujl7PInW7mHjoqEy/yucu91TUGlcIpFB3YNyKMtcmBtGZKGgv0I89dQNoL+2o33z5n2H20H93d+8t2lssqtvbiSRbO1zXcih8NJYWzeGbKpiZxH+05/8EubetnvfYc6z3PwYAeRUOqgb7udaEeMnJwl9f9Xft8PeYS/1QXdT2QVbBn5K0ORTRRvQ3XRGpGwWcjhQEDILaeMtO4HyJdMvWrwNH/CF44hQsECxpXFQhKqlPmygU/GREDxyZnhRiSdcVnlSMTxh+nkyCAFIW/MQ+04kyfqV/t8fZu8dYVBQLS0rpYInCzFYC+ToMbqiEcwtlh/6pmNX8uJc4Jsnu5HVowojcWz5HDRUPxRhijnQfCFoZXizWTIHcjK/dm3HI72bNx/GspfGzdPvvPOb92b6Ga2tm0ZzHgPUG/uPvRlzr6Z2fKAFCydg7osnrly/fv3Wp59+evyzc+eInDEFqbcOAfr6Um4bfrWeWu7FMpQO6AL1IDCz21YMXAodhzWhSxc3nzt4Y9KFwD3uyILrMvlZgS1t2IBdCXxbcpRHWkYa+awvc6bx5wpejtAZvHigzm8vnysQO4sq6sfDgWE2BNuhBejA0U55KyujupX+35v/Nz+L3PxoreKbQpkLVko9lXyoC3ls8Ddww5ngrfCIyeIVEWolESXb5AKlSnGhX7BV3Jpd3DMHYXKeyHjFbC6bQwA6v43Qi4CeJnIw3/HII1ueaWzkAPpY4+bfvPPOO++/ywkTMzsKz/NSRVJvbOg+gpwcQ3/s16gE2tlD7+t+/vMvvvzyC9w+j+Krt9823D9Du+lOzhnox36/JvUn6hyhefypLO19ADZlMjoSVCpIy7TtpNOqwjZgu6mCVEjihK7RAuCExYJkCvCL3KHPM00qXDoAFcwFms3AtnwZ4hfzKqDkgTwlqXRgFzF0yA4/yZj387moGXi8GQbze77TLNuf/m9EMz/yX9N3mwidsFyWIV7RNhV7DF2FhbgZKGwkSJKmB8Nnm1SyjKyjAV9WLMHEI8KKGdbBs6QbVTZEDuYMSp3QjdIB/Qah7wD0bkDnUtbN772D8TQjd86TJZwcijoEqCM27V/trz/5618e23vgwHzHF8T8JYjHyA11ECf2JeJeTJJ6d1Xq8RDNH9X6E1YK51kkdPTbTDc95aQgdBtNwEJKTwe+8i2HtZZAClR4isYb9F2glsjqWgC5LuYL2sXVcKEeV0Yemrc1rcAVIgiE1AK2gbxtRCQqMgyN/4eazMOo5xRBz0fMQyb2ZUJ/PF4YWS/0Zn6MDeto4xhUgbc8b8PE8TYCre0w1BUYiwZ9oXkOolCImgHohwFOPnRBX8KmjMAt6bLetHUlCDSDuUCZiYoSrYzcQ/A30IfXpH7IUH/mWGO8gLnxDQ6jxnLv719M56JCd6yhkbG5+0UQI/oj/Z0dX6ySrkWO+Dry95uU+uQoTJ69tj88GPviQ919+1Ms3TODLnUusAfqNhptxgd57hSBuBioVEqAnHKYAR2Qq2ghfQfytIQHE8CFkuBdYFsQksLBdfM92DuviieGjdGfNBfNtnUwHwSOMVGr4iulQN3hVedlUIrM2RDw8MI20/Wtez7d/EeR5uZHm2v8vUXr3HKJgyyB7apQSw8ZSCnwZ+EAMdtoBspBm5OgT+0XRIgdySYocVaaKR23vJ2PmmNYURntS+0rS/oyg8umrGwqa97jUxmjdPr7tWug/syb/RH0lxtPXX0f2N9/P5J7/4jjDA2Njo9Ptre37967d2xsLBnNv+5/fh3n9fT/2ij9XBLQj54E9dpeG6Meg3/eTqefGhrv7dp7NIKODVkLH3ldsg0LbBRyVihRqAbsrNlwaEe5yg+AqyJhgo7v+xX8vhsIXDpAz5Z7euZbFubnS8sVx65YSrg+krri4JiAe+IATAD6tkpS60BzeM4OWCKqIPBChhfg5Qee/+72/oMf/aD50Zq+27LWhQVYi0IHW0k0JY6zgqwO0VJ1HpLXQuhASR3wDCoUtXRdqcHQ9OzZHIWPlG6DeajZOjzTaS24VjZHZxd2xdXKxyBHuuKkI+Q7oHRAf/b8/lXou8+QuuFOuS+19jM29W/q4rJ2BIbf9h+5XcUc/bj9+W0T8cE7f3MO1KejXtsQHf6XNdTjkfzq0omNKv/+sf37k3vb2xsbEElHpIEuDeiBz7br+myIo6Pjo4h0Ief5HKFIYaM9t8jk7kq8X8ct5oUNTrxYPn5VoZ5XqkUJZQWSluhUlntK5fmVnvnywMry8nIlVCGVRjfwpAyjIs7hjovDlg0CcANdgps2ba9Oq/+veqBD6s2PNTc/VqP0FVsXWiwdstbUhO5FxZwCPUWoErp2ddQM8tIJQx8mIO3AHph3aALIBS78IS4AJEsCN18UEtBtqLsIVWT8LPCzpLOgc5PQH2EZt+WZXeff5McPae+Nvzt9jtSjMHIHcwabBQPUV4HHyG/fvX33m2/u4vbN3dumBXx68/ZXf/s3n7USulc4DOr7o1Iups5Y441NDJ+w92M5ZcNa4O9OYrItjRAZYUlR6ewdSSRm4lhKJOY6R1WuyHTuuX7R9Qx0ukGQKhRDP5v3eB2zLIc0DrstrhuCoyhNTBxsGWzpKUkbwxjLlmVdWAiVhC2GOR26LlXmO57rOpwJkZ5Hey/kWNtV4P87n6xC/991QUc0U+hryykeW3AC62DZsq1yTwlaDuDWUQYyxRyohXlIOkQGUh6OSNJHqpJKbu3R0LVylFABG7Dla6UdFQoLLu+LokkBwxy2VKhycy5MsZhGSjdSh8yJfdf58938oDGhf3j6yjkwr3KH3KNiHlrftw8tY3LN2YH7Liz99jf37t67d4/Q7xnst7+4/Hd3UdF90U3o3kuHE92t50k9nqev7bXx026rsPnPS9ra2tYx73VuWDesp56y08L3s+OLyakPT92//+DBgxO83bl1c2pmblzLis0JKKVE4HrFUNHrc0Nzc3N9WKswOT4+NOqkQ5sJsYWFXMFpWViwOaxV6llednJFZFC7vKItq0fbMHJoGwoUvs3xbnaHtet5tkIHL8BOALU3ETqjbqVD6sjoNUp/ouRo72AQ+DooBY7lWLaUVklLCXoqcGBmk5NHJxHjQzYqSRg+7Tuf98NwMFCa9kY3EGglgceZIqVIP2AusC2RcTUc3ndzRWgChZyfBfQbhG66bDsA/VhjO3ptgN6OiZO3Y+JVuSdJvfMAmB8Y/LIq87uQNyCD9b1738Dd0QgAH9S//gKHEdsnUGkceGmum6XcxtUUG5TdhjM4cPj1MYJfZd6aPMR47rnSDcdOj8+1Tt+6eObM7OyZ1cDenelkpwqEj3eKLIxU7gSOln4l7Fs6fvPy9PTU1NLS0sxMYnFxZG7UW8kC+sKAyrEylm4ul/eDsucI15tfPopn9Pb29fFSX1guYdxNasnhEs+G1ALh5Vzbwx2tVMfaYsbHsBq2TntvxpOrOX17uSLVoLRD5B0diFChlwGWnFjrXFxMLK0GTn9x7qit4DarJlDIadwzuUCiR+nT2VlnhkHR87TwUjbabcZpGRgYbFnuqVQsX6QtKP2GKd6N1nfsgQLbGlHBd6FCP3X6ynVSrwVv+nBt/X1I6xMxcrMFZFo6SAP6599+i8OUPR759PM4dgbugQMj3a3dNTn9yLFjBjYw73u93SAG6DF4Df4A/OTl3TxklvL8gud3jdhvPHU0uXTq0sVLmLafvXPqOOPWpTO4M3t8Zs7OekUBe89AnEXle66ouL3Tp027mL146cSDO/dv3brZ2gmle+HgCoAr3FgyeeKkXCm5wl2e7+yemZ5CA0maSCQWR0bgFZ1dR+EVo+VyoAPOZqmyE+g95F3/ypn/bv7tCP6DYM1k/PMVtKcJBeEKNC60JSRuLTFGADubPn7/xIlLFxGXLuHs79+cSvRZrCq11LjNuxopKGS3TnrkjR5W6JkCwHPNoJVEInc6OOveNDHRZG4HMfs2+AgCV3TLlh0/B479jaA+hs1uTpJevFrj8FwVwT5cf//uvXO3CbvG32HokDfj87//Co0g1vrXa8/5onTgQLxC8s0jx3Z2JPv7Y8rtrx94CV8v721oi2RuAke6GleZJ3aakyT1G/Ot0w/iK3HmcjKxCCCJpVOzvHt/pheO4ms39C1A55BNaA/3YdVeHLOIMxenFkeDAeVMDMKgzeqEQIUeE55/ULnecln1Jm+diVrI/Vunjt/80PgEbYLtgFYxcjRUqgIn2WYWH9X/AUYoHdCf4Ijc9+Jp+eetsuNMaJudDCFDVxFfmLN7W6fvz7KprvnZLO6eWkpghNRm4lHlrT5OQVtlGJojOTPoyaHJySEHpapIKYwfKsFKoFSaPzgI3CCPCfcO3nbu3LoV33v2PPM0NWj64fhCKQfqWPcUB5gjYpdv21+LHNCjXG6g3/6Hb7GLwO6XX+Cx+JlfDO4j9O7u/oYx5od9r+9tJGUiZ+CDj11te80dBvsHhnkrvn+xa8uWLTH1f5y5gyxuoM9O9fmBFpnS4sypM6R+KjkahsoXQmmOyLNTHuR6uZqnGmc+TKSH7eXh5RXNga1AKFmSPuTra//CgNYLPbKSmJqNWkjNBZ+NfeLUzZuXW3vpoUqpbdW1aD+sz96p9OrqRozhbqtUZDCotJJBRdnITBxn0kOJpfsAjpg9gVZ3+fKHN29dxP0zJ6aTR00nTResg8NKeZ6yPZcnE1p9UTZIJNAw5+Z6O492To4OOTaG3EUxS92nnfmFhXjJFWPbtl0v0Hn7AX3v3kZTyjFYzsXM40BP7t3bMczbDEKvxt2vvobKqXw8YjTPoo4xmOgGQiBfpXzg9YaxmDICw/4N7Xtf3ofjOBjN2+H5+PqnPbueeeYZQ/253u7jd+6sQe8cFhxvtRanIqJTfQqt37Yti+OsaA++9kZqoeMazkwOF6wFa1BwvCP0C3mTqj1R8JS14lSaSnbQu3RxfeDPRfzN9kFyvGCgh9sMOTL8fh32DugQOqq4R7l2NV6kvMeqKH2Qqdi1OeyncQvk3BJTFmP2VhLWMjI1NTP9gE3x4ofJoRDQ7bwundQhErzJ6fnc0OLSh7dO0KGMP6GOmTL+lOhyBLJ5pqiKOYy9D6OCx5AcSiQOwj7yAmdOj21uxD8WGGMpx6iWcxFuLIN64+obv7lHkizYQJZ7kHUcSOr/8Pk9Po4wkr/HfG+GaZNYZ7uXUBl09PaG9jFDORodaKPb40hV5kboiWd//BfPEjqUvqP18p07d8gcMbt0NOdj+FSE48n7xuBvjrhw9VDIwBWhLXFz5OLNWuhnjifsfMGaaFr2JKFLQHc4uiHynrSsloGdgDk3tQ757OUZFFLT05c/PDHLu/eT4x48InT9bUaz3Dza/F/rGpEzQid001oQe2Qg7IMKHEMbzu6yOledM3fik4Z94YRD68A/n2o1ZzV7aWpOCoFM7pSGhcu+PPsVufHk9FkYUpzDosC9Sw9uLiU6S8L3/UBkhGMJP+2YidVoTA7QEZtYypEASjkEE3ut0sH8g6tf3QPTWMXc1DAH72//nsD5eGz5cc/9y3+Bznd3HT4QQcbnW2HvMWXIHPcYPML0DubJVqP0Xc/+eNczsHek9UO/mLn1WSR06m9pEm8b/WshEsfPmMpuxilI4Wa07YE+xqR839sA/cMRqUS5Y2fJhxvA213PlWZUHtAdgXVmti9HYO+1sbTY2dc7N4LKyjStW8lRqXU5sCvbq595APS67L2ZrOOFyJT61iDwrAGP0CV4e5B8bjSJt1NtpQq1ppctHG1dTWIVlhReqZSylVJOwCl/J/EhiFdrl2qLZSEwl0FFl8HojMhkUz4G5W5A6eyyPfIkmf9+f2PD6y/Ba3e3AzoWOWID6qvIzTqoD27f+wYqpo4JvIqcwVQeG3+1MeCpFPsmMm3Y/fo+QKZ/M2Lu7WvIGdzbNNnbT+b/uGvXtl0QOsxoS8dfTn9WdXc4tbQhdVg8yRroQznfdTNSuq6nPOQxlVk8vg765d6sly1v7Qh1IKRgCg0sJbkwTgaWPNjUYctgsVr7RY2r04MAPfto8sMz5qo7yAWopuwn4w8OYVl8vfb+6PfwK/F/XeIv7wycYOGgtDncywUQLORGptegwb0W3WhYyBvBaVHqS+M5GHquYg3D3r1Ah0IF65LYA3oh6774Ja4s9rrZnI8VI34qVxQBRuUo9EMYnnnMQH+zoeFlk1Xb74N6hB2jc/D1mDmG0+/eA2xsviHWjcGWwNG582uPsfuO5xI6A0z3jhnIGzg3YmgfHnrz1GfvYXp+KDfCSZrkK7t2PW2gw963tFYzOqF3LqwgWgYWEjdPzyIezIyGUqRc5UPlooBRidBPnFoPvQ+jg5WD87mBBRqpQA+HSdFXoXIsubKzwwnKiY1lQKenkGpl2DfzYBbaSzrAELhusD36sCQBAnod9h5Nr4H6EaJnNOlKfnkBipXaVpzwkeHkzJ0a6B/ORcNz+UJnZECz0505GnrZyXEuVod47OjSpdmaRsqCbmpqGi8Tv4OlTiyfwPAclk1lMwFzOsdid1x75PHzJrobMUOO2H35dISc1COdU+WffPDJv1LgiHsPYY4wD1UjepZx+Nb1nA13gB4h6FP3H5xA6zx9+vTbV9+faev1c+4ilJ78i1dg78+COeqOgztnqkKnrkeztotpFtsfmb5/58Glsw9mJgYGBlpaWnp6LpTLXNimrMSt2VrovGLsnecGdloFzze2aga4PdfRuZ49HUJZEPR66F22pW2osZKcPgPtJWDELJwtfoaewaT+X+qz90eNNTBeNHqfKFn55R4Voh7neYQ4td6pda10Tkoakgq7WF8Set9wwZPD5SBrmiIz00g1hxHxkD00Pn40wUKHgd5sciiDGSlhK2TDtEhHU+oo5rgaClI/FkPHJ5SM0gn++kXWb28QORa+fUuuEDok/Mcj7r/zNz5vjUlT0dMG9O9OnD175nTcKzJr5mevvv/OVFsX6+kEhP6Pr7zyyq6nAZ1l3I1OQI+Zs6CaaSktYLpsocfqRQ96Bs07aeW5YqpUqZTKyz0tA5WwZ+b+Buh5F6wruSCwQd9FOhcc4PLcUJfLcr6s1FDy5jroD5KTMHOlAjvsQl49c3nR0TJwpFow6Pgx4fr66X+G/6off7QIEVnEYDkoLJSUB+gK1gPoKsE/Xz3hXhzUoQrk0SVzlXAklL4u9GiXwH0vn3MScKDq+S76wwX3ZHZx7Z2fRVbLCRTuNlaY+kHagdKBHEonc0bDvgj6WikH7tfPfgClAzri74kQN27/SLDeW30S0vrUXpC+RdBXTpu4cpqt6qIJ/MA+uojvvNswnoNv+YCe/PFPae90d5Qd13qnKPTVy3Frxs5KN5Ph1IfTUxqf7OvqWu7hdNkCBjyCisr6K/OjVa+Mu3kKmvUHF2QgbaWlCKnZvOCnXFp2lnDpw2odFTeu1nEl3TCEkbojS5cAXSGf274aIHJC/37dOb3ZuHq8IfWWwLJbynhB1/bzHhdKiNoqhIMRuWiuFbaPq3fnxMXpvrySQbiCZMBCJPDDcRp/LfSc5w6nl9ZaAo4lRlOYTvdp8SqDnB4tktvC5W9Q+u/jf+/a3tZOJPyi1q+fA3QgZ0YH8KrQv/ny66++/RJjsfFd01tbA70u1V/BysnTp8/M4jWjF+YOmTNwCP1DDva27R1OYUTNRvX+45/+dFXpj2As6V+ma6GfSpQdWyo/0PB4N4vMV8h6Gc48z1csq7QycaFoW01MwzWxNIkLoot6YqIkOJKjICFhc85cOysTLVzkPr4BOqp1pQAdKaAw2nr59PQI6ieNeyv8pGj8Odsf/FldI3LNG/+nwIXAUQMl3/dBUAGiCu1FNtMqdOQjZWZNnV4Mxidmllo7cwWlhy+4Ke15guOJk+ug31lMh0LknKUT1aNX0HYAPZPL5VJYR2FH4++Hnnkzlvov20Ad0Bs4KhcHqb9N5ufOfR6VZvHm3zg7E6c47iTfv9PsZfbelbeJneONZbXWaw+as2NOTQMjW6pu8KgLxVTVCsKizeVoNSM7Zu1xKNbyNXZV9zN9bFD05W3vObpGZiQkkJHwjgGHnzgsCRgx/lveJ6toVVcxsUtsQrcOdADfzvxl5veb+btxeWZ5ZXVtdmlp6er09esLVxcXl5ZmZ5emJahjcvw3/vx19NHnmX/xMBdrYO4Wh/B5k0c7hwB99Diqi6997Wvf+ZsO19NDD6X+37vSjfNAT4QT4XI5US5mS/FaLRPPKLrIhXK62WulLauQMIYHz3hfulvmUZ7BTaYRUXAAFPhbNZtoTfKnFNVQDXrqZKsv9yNbPy6gJ3NgXenc/95z46TyoJNUH+ZQFoaQ58/87u48fVtdRXMG1CHZikp1VLXzomwTHRaZ5XHA8pUOMOXVYeeTHrEzsRODXRrN9lxfCRmJdHLQ7o2dao4N702YNOetwcl3fFVLGtTTAI/iTIi2Buji6ZCfhwT1J7/3+79PKudAJJBjrwnoV7fBdICkEJv55Padu3dvr6yvLs9ia8vr6ysrG5uryzPXvdx9u20joJ+Xf1Le3KeGl7uRHWPq8ZC7a/LE0UPPOo7+za8I5sew1nPSdvcq2GypWOKRLZLFF8niwxhPZRU1RK3ASyARpbflS8omTzg0VHpUSw/nMyFNV0rxQiEezpYSqXgccZJVObn/vQDoNYKoremayCkn9tOFRV5BY8RwV7AI8J/dVSL3J3/S8PTGZPEjtUxu1LDlONeSPOWH+8jEfa/SMZSbHERYnoAEnY9sS0i20oAwqxV9dGSoS4o57/MdT1O29J3wgX5ugvmwGN6QpDsXiynADugR19MllRMp+5O/jyDuZc/Rwf3C+dMEd4HP68PMr/7q47s77I48rTRgb7xKrhDdm1xdzIvsQC7G/gpHc8F0Tc9RlPVypH+zA8wdjq310ssvN1Ww/XCoMJ8ifCll4/FSObttYec1IMWc+v1TPtA/PHMSOTzyCWaAKXcMGKpqBbUZp6CqQk5zzlfG9vtzv0utfNMxhxTJZ7q64ho8h65V29wEXKq2z37mT3aRyEGmi6d7Y6QPf4mhmUpKoKQB4ySUQ50k777QNDRqiSDWHC1GxUIpNYHUqx6O8TJANcEYXs+7zaBf6iZbs/pOTgb6E9DpFuqZJEm8XnNE0Mfa3DUEYnILy9PfA/VLrqu7mMscw+lbzaXZwq1bf7v5q199/HEQ8I+d31ud56Rvwh1P3wZ9R2SnTHMx/8kZ1FUnGDMabDl0+Bq7EAT07wjowq62XMLRva+jn56KxcIJ1JK0Y4SoQPxUI3HPxl0rFes9fAubz7uWRJbXQ6lUKBHZayUb+ExO696BpFpESUxlVulsfT8AumaLONKm42M7VRJ0t0YN1Qbm7lKsXYHOmf6nHqfqAv+4rthKylbw43qeE51ksZvWTHO9eByyPy8Hyqiq8enZCp8743QGRGk0MSxSmWSPL98/14Ng3uobO/V2M+hHEmWCoqJwQpiWvh3eO7Yxv0ZX7rd//7tgTrfkZ96RDujYL5pi9vVbt27duwPEDsaCPM/yi185dndlfn6Bs937G1M/8zwdyBuYN8g8oXFfP0qdxvUA3XDv125+W0D/a/F0QH/s7D9/9KIf9AyDIYxplzJ1gjmDe0w2iITYQg4jE0+8DCp0NHyZeIteoQ9H5cuLo1CUsl7lTChmC7VwmFcBkUOXFozPSVqqSgWzRQ4pkkk5YeUXEbez9qzYX/7Jrs50wbt5rP0ARUYeko0zR6mAum7mm/tx0oxQYP0p40lTTUcvN2qJhgqh/kDeVmkvEd67A6BzHmiVTl/Mf+6IqsKwqrxYDAOiTXZc/PNjB15qHOrXnpda+hlWAZLKeWe6gH7+1eteAb44N7u6uXFn464LNe/uG+aiPndrceFyA3My+ekrDLWCugP5NuheZHeCu2DeGjvpqChv3nxYovtfd3zTAZ0mUgvyiaavYzytJ2qFYr23IId7PZtlnrxULhXC2QxWhy+vV7r50n1JjibzyCKHJtLlEmXnUJCzAPhrhIZysTjuz/0o0aqKUx3h3DoubwpEOjMHbW6djrtzqP/Jrs50F/TPuaALycbrKacOC6j5ESw3POQDi2ZEii+DmVm0U3qmqMOuuFmfTLKZ9Vymhmxi/MVmfN8l30cg1enFfOnodIO36ChSIQEdzEMRQPfC+zVn4rwLPuSJ856rO54+c+M+6pfnZrfubW5ubGzeBnafgbjY7dVbVxecJIA2rIC+8G8yyeyv04jsnjSn1RuIOXzz5rW9XwH0Rzu+Cat67OvZfWdb3msGENDtELKQQl+JL0bvU4pho1DJFOqpeqwUL6lKvVBS/MwqGb9i5nMmUkdnfCCeoHdHf6dU4r0slZhp5rvJgHz/T7+lm4AuonjQVzSOcwq9XOWAu1wTA/TdSaDd89xbF9CRr49UVVoy1JEyPoMYv8t3QL/XGs0NIaepFCKRCPqHBJ+DCPtNdhEoMqSq12jWv+pz6i5AT/f1+L7yUyfhVWlQaDqKwKIqZ0Pk682e/hap3PcQSBLg/41o3HB0scsfuEW4nOhzW+uAvrmx+Y+gjt3H/G4jwK9vOa7eyP2mr/7CBd1L4N4msns2eRSxdY9gLsH92s1f/40DesRhVY8pj51539dn6c/UCVPR8lA2ZaSUPrsYTtWTGZgye0ApJ0I5q6xm+8/5mdUJKnJFM20tI6MNBaOYFd1zNhsvZRMK33kzb42TAfn+n3HUlElyBnmpcHg400ScELnHH8bcZVif/ezuRBTBbTVtJCIZg3+RpQMyPoX40QcWpUOkVqUBU4uoUpYkjPiwZHVKJamnIqKDSdSUar/XapYX6RgxzC5P+L7yyZOs5G6XIXx5SH9GsvfHn2+4OqwLOwB/IKh/Fy2Fm8i5oP/bDSHY3AJ8ae7eNuibdxwDdd49X//49vrq/MLCTY9/uzrlgN7w8+bILo4ug80TJ/p6DsGuvXATT39EovujHY+KfKKoFg3/YTvZbWvk59FCOhGNpkr5DK+AuBVPJUJKWkuEDV4GqUSLH/RL/TJ6bI2kkxpjrqadULOJUhbWhqovEaaAszW735f74STdSU3K9Jx7rlfMvDNUUKkI6Di5A/ruhJGfCa4vieTtET0h08m2Tu1fJWPsbv6MqUujIQyxS0SMkBav1ZmdTNpqAlOjkYSdo+Ha/CIdU8qpUHnC349PFEhsJXuVufq6jg46c/axZtDfOoynO8KG7wH5Tz1PpwrjMHc7rAT3dcF8g3Odtw1J6Xhzff3OnY8/vbCyvj5HfG+4OqAvuYmcL7J7wZ3IPtY+NCCeTnDH1X8smD8E6P+MOm7fzwcDFWxnvUZ3xYjb4Rp5uJlB0VzIlTiuFEtnG1d4WI+EWgJ0+jjNKkCXQcFhYM+kSkVJ8zkOiuGwbSo05nbQ6T15TfbQ0OnG5StgQ1qAyzueznHOE56+W9D9vh4x7dFMkSKdQ6am5+W8Hr/kq79awmTdhTqr0HhdGuUwe0UccSOKNxydw9nQpfXu+3zJbC26uT7QmaSJ6ZrIKm2q3Lgs03nssS/JdBrmluoCuqDOAkhgdys2HN3jWG5Oz23du7e5ga3cxs03QD1gmyvr91aXiO+elGqp4ekkcH9PZPfZmaM9sT6mD4VSvXZTUP8rF/SHfKB7X8fggMbYC19FRs+UMplyuR4v1cqljFrTlJJSLw3bRrnlRT/o3aikqbtGYSw4QfNmKJwV0IGd72kGQK3qDjq9R8tURYNla4o0eUWS44D+JQ/0b7NSbPege+t/2uzqUAHQFXAMoVQmVe/3ZWXnJhTdjtcK5JuSZNbiBZuTnJ0oejwRkoM5BP6BHt7xvnR+IDkhB73Xjy/kY3aNv6ZkYnasXj+beSx79hjTw17Rdu2oC/rTbIDEJRugX24WyAA64f22a/g65j7j5bzduXNvfX11le5sE+izAvrPvAacP7iPy6KEdDs7T15wHP0aoD8qoNOZyZzd1zs46Wc8B9s1hDNWr4y0MY7LcAhTS9TuSLzrTv6eCdeDdHo3TTU9R4TTTVkjYyVS4ulZUC+XS9mchiBhJ52el5wQj8umipka4FdlMsGufcFpsLjp+y5Apznzl0HQo9XqSLaUq5Q5muQ9FbcnOKCbP2E6EczXmPTk9GqxVCio5SKuHo/XSwXFrhXgDU4EnMEeGq4MWfw7zf14e0h0FHRiLQaW7di++mPFY8e+zOSBl8C/0PD03/5QXF1Ap8b2jmc50sXTt0Hf6egc6XfAfHVuccF7pSy8L4U6AT4Q2d1q7VBXH5CneyeOEtzFrn3F9fS/EEcvlOpdPl4BOh3kgDmWt0ydQWY7z5CbDDSxfyqZttI023R7B53OGEjdiNZMDd2YrueyUQ4F8aEs1Xo4ozNf0pwGYC+f6VZTqhqWP2PgWGUZdDFRnNe/4Aocneb7rs90vyXM3Gg4nsuHIpzaoVAbmRmfsZ9Ztaq5ZI7+O8E/rAwBfY4XIYGsFo4T8BNlZcznDB9OahW9HA61SIvJK1WzQjMoNoUf/ViT7QQ/12PHGuPHbv/9pe/KDWuATiqHXwroEt090K/Pzm2tyJG+snF7w7H7nv6xvDklG6jPLTVlcgsfXhBP/1kwsrvVGu1XQB9Ithx9y3X0t+jM0Hbv+DodWD1Wz/Q0g04FO2jXCLnCrGoKCmaFXQX8JG9S04g2klbKsA6d7mdWk4yfp9rClkxwa2ZFS5Uc7j1eAvREke9K3E+n8+LqCRdrhZpwOiVO0lSd3gwle7LWoMqwXYKOp/utyEBCmNaPnM5RwT3a5mkfXMWEs+WugmALtk1F2cgoRAVuzezrpclELmCXOk/5QU9FyfhCzQc9pWqqNmQl2DXGgR6uqfEa8W1f+FnB3IvwhwR18fTv/dQFna1RLzZF92k6MysbruHn5x3QPW+/u52935ubJZNr2PTLQrnI6Izf4NZOUaEfJ7oPpbsI7hiwv/Q3jgq2wz3RM4Vuf9uiJQuvhpRfJBMytVNgEkypEd/JxtipRjmujJwIMKunxpKkysk6UUFkE6ZVKSpIaWRkrc6ywLJuWceDdHprZ5EDtSRUXjZKU6NIPa+R1WUFNRxdoP/srvj0z/uXTPITtZofSihWDtAjjKK0gTtg+UqHWimLlxay8EcFI5NPIsOFT0fQnLZ5aWdYZDHmd4YWgx5j1uCg9xUBbGczoqlyMl9KqaHe3kQqvE8V0BuYO6wLqDsXrL1K1eZ6+lSTp18F9A1I1bWpqZmZlQbkDeQd0O/i6IB+tQl0GPXzr10MYu5Wa/tbTBZmHGdPJXiDOZ1BHB0dbNsxAb1dz4y/62MQW4oFp7ES51sSz+CGNZ7iHOXyMqjXOLdr2skgnd7FkG9GI0BW4dJtWhyFGqSV9Lar+H6JpmhAQ0F7pEuO/HixxNlP9RQxOAN0gmxKUMPk+bN/+nu7PtMbkGNfKNFGNfRhOwoQsvw3FT0SqEs7s3Y4ElUhjxKZUsiCImSXkq5rZoxRNVN6hbafZHuPfB/QO5sPekpVNWEOJFiCGksqIdH81qLGWcMFXQzIeTsqqMsGoX5J5Zw6/V0PdI70udUZdM0Op3J9i2p92+c3AX155go697X15eVVQL/ugS5MHevldoD+t7Rjjvan+3o79x99gODugv5tJ7oDOpjHaiV/o4WIVcT/SiUecd7proCMFGAFOb5qgnzBHttBp1fMHKCZ8s0iD9aqpayVl7CQr5OUFzJ5a9CVGntO0poolSTDL0DBkmpFUpp4ulVJuZu1t6P7//ivnOmPKFQSBv2ZCJCrYf7tyJFAKn4klIl0tIVMXs6mEpYhZchVWgXtSdllaepW1d9lp/+ExEBN9PiZ1R4r0zeUqethq6+uqiGlLxZR96V8ns5EsbMIUjz9938pqEt4v9Kkc56bm71848rU7OzV6cs3+OU9krat1XtSxa3ObE85zKwB+txiU832i9cuIq7ckcRRrdGD63nlBJNPv/2CnOfOmf4FVxAZeeysHuttH+jzVbBELL44EcMSd7PyXi4Jtc5P3MobjEqZTmSi/jKPzppNg4bpU850yxqulUeSHJFsGaDHVsra9liATr/UAF2iihExIikdMarQ6S5wQouji/yt3YC+Y8k/CtzhFC84zmBwj0TU0BHfAQ3oqWxHR1tbOZoy2Pqo5RlzYECtwk48dxPBSKCHx/eFkBEyAvLKbjiKerGkFTWrpKVL+Fc5Fgs5oDd35R4Q2oUHqdxO0K9uzU5PTy3Pzc7OLy1MX8fzt+bmlvH+e8szl29cn17g7frNK2vLW3NLTTXb4psXZX1oML4T3AG9q/MomB+95vo5thfMEe9Fz3Kit7P+qd/ftuiP6Rm9nskS3F3yvEhY4ydk2W4AKGXrPTs0FLI+Fw6Vk9EBfSQTHpKtNMOycySplMz8Tjo9EYajLzmlnQrooTrUJaK2lIOg24j97J/87i7P9Iebt+4/LtPJRqVSA/RQOEHVHTlyyv8qjYSybYwb1pk3jSdSpawwpDCKmtlbtUac3XMBku3ShFrOKskuP7Pak8vH9GzR1gsZnKFIY87QzQiFhxfgsZec1RMCess7HuiN7szU3OLM1BTKqKXZRYaTacnPgjmozywgkZu+OjMzM7W8yDaK5a2l6ZtefJ+X7aF+0F1u7ej+fqg1RNIvuZm72BcffVTE7oCuodJ/pW/CTyaN96UbJbqVB0uFhdg1UuxCGbiLTpzP+Ol0NBSDNFdsh7iW2ZakNZxRB5BCj7BoBv9XsnlrLECnn2sN8wICdHklqW2ptkiJug7SJur6rStu/dNdjTV5CgoX9AMIHK1UcrgWxdNTajSViB7xM6stsiojzm7XBOeLESaDp0JRCGdZGnMiAkWjOx6k0yHh+jjofSSMLOnRLMT6srOBtR6yWa8Nrsj1dZd2eWG/g7k80ZVzM7krnsvObk2RwS1cviFCSGe10AyQr+LWl6/z64WFhZnZ2dXZ6etTW83p+/UlQMfT/dWaCCdaThw/up/X2GGBXFydE+aLjqeHQvv2sRoU/tjXaCFiIZ3gS4nRxMtb6LlZLZ80GXCxtDSqCjZMVjN5X5XnqKZ5URTgzQu6TbubNL9mVJKW6B41QNez+UrnDjq9JGFEjpJiMdxmRKLFvIkWDzpdgHP3rO8WdMy3DZiIo5HBx6OEZDUViaai44ESJVVIqSkFEryYoJXAS1YiEqMtrEKl6IYjzBYDztDZN5pP9wXo9DFRx/X24SPsaTLb2ScX02IdDcwxxJGH9zvmrhw55YJ+3vH0m+6Rvrk8O3P55rUvvyWNGhldXZglV59dlIEmHoL81dmtuatXVj3QJb5fFMz9oMtWye7YK2OHwNwN7uAuoP/Vow/Bo4dSsX1szVA0JdC26OHzZi5Vz+csRYvlNH5iarIkxkYdazHQkc7JdHoQdHQnHPfZmlR7FHpZw7KEcrRFuZIp2rmeAJ3+XIsq9DNvYuTX0SyJHNKqNq9O360alpkm3z0sHcjcbDUnoEejqhqJhtom/MxqS7QED2qmUuVElAMAlS9FijSdRSZGjarTlwgyqxBJZiXArHZqtgzzmpbWjo/ITjm+UR1yk5lTqWMvoFvBXOCBnlROPH3KxRyb3tqcI2o/Ej7w/AcfPPs8qE8vLNOFn1sAbTC/8hLnAH69tbV8b67Z0xff3BHe/+7o0daTbD/qFNCfb0Auy2kOPCRd95DKfqEBBjOyZ/xkUndM0em9a+1shjYtlE6sWqGWQTKlMabPxnDTHhoP0OlnANxpuhZrDvrxgqrKbjkZVLYYCyxXqwE6HdDZRiQGp2U4oJfJBthU1NG4TUnsT39rV2e66+o8XNDbSMR0dWSkDjecgjKD5u73M6st0QTL+2uhUJkMMqxmZOt4IZPN1JWM02MjasUDzjA2atFN9pF1VC1Jqhad709d5+VS1+GWTeuAhHf3VP/2YfDmSo+TY60u6EchWH/moi6gS5WOTGpt4fp0LfLBB9eMKzfFr5cpz5cXHMw/aXv2gw8OHCAgrN7b3AL0Rhtvwcnk/DtNqNU04Vm6veB+zUX9Ow+1RY49Fkrsi/VSwZvMePlBjxcl4hY534olvnhe+JAvOaC3LEtjz2BMS/s1FGS2hVqtJn+4VAd16Uup4VE2fI8AesW0MuV8vjtIp08YiE1AxdGl0TOLJEzZGZFkcyC2a9Dx9M/wh70r1rBIRR+ph+nqlvinjZSwqJPNYL1NiRJPGAny9nCCUt7ItEWiJV4bCcOAbQvz28VMscXvDJ2QdqMD44FJJ1ZFUnL0WrLMWucLkNHlAyIBcTL4bx3a33VCt5BJI1Rz7PWf/MObp//xZzRWXrzmgre2sXH3V3e25mZJ3Ga35tkQujCzSpW+unCdyn3m43/nT0WMKyiktza3Gt2ZG5c5BMTTmYtr5ta4xkvuW2OmUYI77w1P7/gmpOrXI2EH9AFq7gCDmJHOaDzLIU26LiQUZ6+8CoSLhIyAHTf7A3R6Cy2WIo94sRDHAN4osnTMQg8t178pRTM4nc66ElU83fkupwwB3dBFi1xxQG9cjvf5/76bhcACd8PXxToMdoSGTWs4T3uJrwHV1mQgFY8aoQSvt3CoXC6kDAXQKeqNRLRNNSIRgyqvGAn08LpG0uZoMsCsHmchRQ7eut2EUAbvGMeC+bioOgH94cMUzGxGTg9z9bnj5qfYD4xm8R9Ov3bh0wtTNx0ufXWDrvvtVUF9DuJlbmZpa3ndAX1mam1tZWP5yo3pGY50PrY5t9gAXWo5PB3Mfa241n2yrzaGEvNZt0CXdwH9K9+MkMd1HHM9vd3faIFOzzLlANZk1cDMw6HLeBSp0rMuSx6cTp8AZ6fgzsqHS2TFRgK6Rs4DxaRWLwen0/l/+hugC40dCXH45io2+9Ufd8O04Lgr0Anvcgtuw9fF2SO6nSyHkT9ZWkZegTU9M+lnVsejRqQE/5ZtS6WKhlrviEaVKOVbKKIgoKCEDBWD7Rx1mFre8phVDGaVnFVn+1Cv7NnUmHsYyqVjTN3KUrevOsJEeuDtA3arA/rf0TvBmFm9+Mb5T1ekvXb58qbYy3dWVh3MNzbv0ZtZvwPoS2tCsDP6MDs7x+/zka1bS40VcyT6V077QJdq7WiLrKIf2udl7gK54+kPQaqehREDc7gVGi3+WVI8vQB8ICz+HQ5Lne78hIBfxo15BQTp9AnCO5hLZK9lREZSM7LsCJbhfp10uBC2dcbA/aX9uAu6Kk8u6KRD1HsO6A0AP/PfdxPevQsz3etVQ7peaiswvmijhHKVqpPv+evSaCJalMYMoCfAviMSKZPkw6lkDLycvkHpSIBZNSxG7pWJX/qY1YwGL+FYocCXLnEwre917s6VpJ0Bk+F25rvHD7lu3lg/IqNsp1+TZG7myuam9N7ugKpj+L2AfndjdW1dfrW6tsyfkIb8xr2t+flpplvcHPDKxsXm6A63Jtex4uhD7c9894FrTX6OvdT2EPza2eg+Ce6MVwcYxDOd2bA4eFH07aRnxZL8ROK8WJhzvlwqBun0ccnfAB21hZhsXiqNpi13zME0M9m8NhEA/cw4x63gAeYu6AmU8iwK+ZILt/v4zK48/f7VaNubAw1eaipLvG01JFSOdNIm/SRbd0QFdACPUD60GWWOlzCOD+pZyS5CbSH1SIBkCw8kzdHYhJ9ZrbMuTWeNusmAALsoZNttui71prg5KjUhtblA7xANk9dx82bQ3Y0EazObq1uCegNzcF5ec0BHE+3+GnOYFxf0G+40VMfdi37QT8ktn53Q+yc40V+45qLecPTnI4B+7Gwo1u6sK3+F+Ww/nd6rVzUd5ABc+ibi5YkiTi7d+KyTsGWDdPo4Qd35MFk8Hwd0I05pJxvDWcwH6Jbup9N5cXWLA7qPlPBgUYMCuVrR93q3nhLed5W979129AbqZaootV4ZtQxD/FgN4emBEiWaiNT4SDFqGOVIudQRieLpchtXkUdCmrcB0M+UaTH2aX5mdUJUnRqiA02+TB26gRmRzMMPk8A5dlxuuOhlga/n5hhIOQOMFy9/cGNuanOVqO6Bjq1Nrd/9eGV52fN992frDuiXl2TYIfrxaR/oHOgPyBTTK+YzzK0fkizOK9i4TODRv/hnNhuGLNZW4+p9nQE6/fhAL5WefDCdT8rBrNl2BskMaZwIm2Vq+aSfToedrsm5D/DSo3eSACMrk5+mJUqoXLxUUQJ0OqBLaJdHAmholHKmMyVZybh4u7Dv8kx3o3ujWIdksxVTredHbOFbED7xw6SvH3hqHNCVUCqBt4eLbdlsWySUoWikgVdPRdqK8HLG95/zM6spzrbqCT+zOt7Od9BkN0cySdBEQ0EHsz3+ZYnsUp33DOiDXeMt+4+2/h0JHOa5+kV3PP3yrSk5zD1X53l1am0V0Od8oG/e4xRYnp+//MH07I0Png3j52Dugc4V69L/0QdlGckDbzV4lkZ0/zJVOjsiQ+1Ayw087T0BBlGJOeoXk+2Xcsu61OqWyS0vpkWHlSUkST0/GJxO76HzLE7u8jGcblkjnrb0nEiiae8Ui9UTO+j0HsMFXR7Cg4USltyHGPcqNgDcFeif2V5B0UB+bwEZh6poVp3IbjhyqXOUKM1Z2XgqFFEjzkBKMRuphdsiqcI26Hh6nA8aH/l6eO+dkeWAke/7mdVxqGB8m83QaZpWySF5GjAOg3cr25T7JyYE+qM+N/fi+5tvCuhL6wK6mGRtK/j5lWnx9Ntzs2sbmysO5gK42Byg31xc/ODxp8+DudOQw9yhZEBn8etBWU/hBXfMXR/7CKOqZ/fpqaEB3qxM1pdh0baIpU2ifp6zyALymAJVSmN1W0NBxE7nhwaDdHpnTbDmEecpK6Cr9YG0s4KRMz1XjAfpdITn0ZCEdjeDB/S2VKKSA/Ris5x5V55OIifm3Yr5CNu+rVTVGlIAFTcH9KDIcaxi12GVpB4pJkIGex5TZO0c6yEb0GtUbqmPAu0co5xItX1n0i8CrmUobgtCEBMMazqvcK2rdbxn7MQ+qy/W6jTijp7x3DxwqC/cdEBHLbXq5OzO22XolhUmlucQVSzDot+7b1uzgH5jaSpy942LTnB3NtG53NoDjjlrpgjunqM3bvLC0ffF6gaXUPAeq/UHGEQ0bRTqpRpfRR2sWZUpPRlac1AKsjsqZw+dnAzQ6QI6eMvDRR/QWRmO6ypVQE9k2EMRpNPpmoSwlJzrnKF81/Mc6cmE707L3Xr6twXwBupfknHYVM4cygA4kAL6u4ES5WQlzzyNJcdwhZczw5lyQ7wqpFwkSp8mGg595BfKA7qa6jgSINlIVU27wnGOa9RoThXGJg6d5CCXWwDGHciPvu65eTC+U2zfWlpeh0mfA3JY9OW1tatLOPadj+/e3tq8tzSzxoe2OPKx1Tkwn79++db6HbnJ5zRsC6jj6LJlBLCpzcUaji7vbhYnG4MfRyal/Lymgjio6/GJc35BuIhmSo1RNIdbh053WHSc3ragJQb8oMuWJbQWDukqFLkLut3ea1Yo2ajbzHC9Muin0wFdFaIlYaSAffzIEUBP5OBbkoY3fAqCn/m9XYf3bcR5PG6ST6XYGlGQvD0K6Oq7gazsOP1CuTgoJ9skNdkumJSd/kh++drDUlNEPwq0cxLFcKhjnIPet2lndLQ3NjA6ILc+mGba7HQzdmxoLOjmO139+s3I8tWplaml+dnZZWwNhnV6cWb6ytTdjzeWp5Znr8C/sZ5gCwNyQF+cXry1cuE17I3Tp988zcOxl9l14Zi7cep5F3XP0x3QkcYl+gZAfQjQ/QziRLEI4C6E9wl06dY48lb5ULjWSZDzgT7mlGzyh+WPSoWfUkxblxX5uRyerv+G6fSw/LmsqDW6W8+cibQZpbSMOaUE9IajA/puLuN72DNnZpUNhnbK1qwioKsO6OPBbJVxVdkh6mwE5QKndJ7riODYhivOtX1VAlp/oJ1jSEH3UYBkw6OT+QFIV/iWnHWC1QquDjVNP4bE6qhXp/nNBX3pwOiTV65sTM0szYP7FLa0uLg4DaV6ZWoG4cSNy7N8TF4Sc2AutriwNH/nUzGRwvJwtxe98fcHnetdf5+dF9uHeqMB63r6gWMc6T+PhwX0dD3un1tgltQ5pEplvNbpyyTwRwdrR0PheLHoZ/2OE2ZCWT7EoyZPyCJyFqpi8v4q3mPUq5076HTafU6vr5BovfReS1vEqImQMil0umef/4Nd3arcjPnDkGxKRTPYQF2iJkhFpMPb789WzyjOCixnk+SwbdEoZaVcGsmMSHmJ+qKd6g/IDFIy+jLh0xM6JJttQ8rm5ZLaHnHtiaQ4epqBooCbB0F3UB/uO3B5Yw1gxWaneMKxZ1BSCI8+vbA0xy+uLs0DO7qaxcX5qwtXZ+9++umFCy7a98ea3vgpqGMH9/3ooDg8qLvWDHpvsdgHlw7wsQCdPpEtChwOhA580psRD3a6chLqyzUJcr5ypix/ELylVq9lpbRLQELErLyIJK16ImftpNOZcsCK8WLL5NsO6PVRSsRkxHeH+m4TOXpg2wc7jw4mnjXVModEe6dGVTw9mK2i3pPEWzbJWZrcNSvXupgjaRd0BAV02f3MamclSVfZR7LRj7eVTE1acbx1tezHONGpioboxxzd4eY7Xf3Nywdu3lhZnZkRuBcFcqdkX0VTMUPhRt4O6mAP6ng6Py4sXJ2/K8PtTMq4mLsD6uwtPefc6fvDvqee/NHBPb9/2GvGgfnzHcdQu7cXC5zp2Ctmi382s3sAJcjJcecWhhS8pyNykC0NopkBUlENjwem01vCjbMg67xe4oVEmQWTVcp8he9qISwaiiCd7pwZRbQKZ95/7cXWjkiKZd0sV2/z8jjww9N3G969mq2N7UGKwThKzeBMj+CiqYlAtopT2xVoOKGD6nyaNpy4CPtNDT4xT+QfZZQlcHwzqDzkB31ykNDAyJZcQtfj1uYTvZZ9fLCrpzXo5r/R1d+UIcZlXH0GZ+cdzN1OzPryuquEX511UCfAz19dnF/C7VfdxSOOgbf7BvKgLq4+LHtJnz6453Czoz/fBujWQLkG4K+0a9bxAJ3ek7asvh7nFobJFmwC6+/vYQLJKcsyGUDfMZ0upGqWUB12plr4iVGw8jG5OFkn9mVLVqUnSKdPlNyzYJy0nhO+LapWTZuVwx0NxHebvQO6J591LFKxR2oqG09KsoLfCe/BbFXPM846wny6bIHDM0XiVZEdwFqdOwpgki07wKyODckVpMEdkmx0kVsf2lnr4hDn/S39ODw//w/d3Evl1v4dMcS9VVAX3G9RsHsCaDFENSKSvTo7N7s4I8LJT155CtAZiPNAbyAP6g8+uOeH7tVge0AdyMXA/PlHubGldyiBdJehaq2UCNDpnQzcWt3vvube0/GeewnDmVatPcdRZXJg4R07ptPzEMoU5FVp3ynMR2RExM50GqWwWdVSGQ0NRYBZlX3r4909grlcEdAWCrNyMlkRZtWzXREu/+sv8fFmCyXZTFrM5ZOKdGYiomJtCcys4tn6iXGCWdfY4Bgr+3V7ZJT4QCancZ2qiTbSnvQzzicrVXTRPgnVy5NxM08uOGD17O/vGRvEl7qBHvvP3Jw319UvcIXLArn58szM/K2/vfXmPTEXdQyORUBncBHQl+bmOdX7XnmKwRYPc3l/WyK8rI4E9T1PADrGEX+o4eloeFIO6Ibu3I9oqiF/zT3ZI4NGjmN4O87fPTPmiILkDsMkMrkgnd7PtBuSdcvEV9gVTbBTe3tl8tySv6Gx6SMWoNPfkW35zpUuBA054SOsiq8gnAH05vj+mV2E9z9k+M1nKS7RyhbxwJEMrZ+Q7IcIZKvjyKJqnWfONS4ekojGgcY+eytjaSh42REanFlNM/DIGGTzzGqLw9EYPa2Heoawgb5BF3LIlf8Qct4bm0JP3/mEQWUUU1u3sCXZGLlwFUp9aw0y/ZPbG/ccZfTS2twa/bhbS0tDr/zqfMPRZQuF6+TgLs+vvYqvP91w9T1H37p/phuKYgK61kdDrk9Xibs+QXh3gs6o3zHebe3KkNWhfOPBKiFt4jdMpzPL1GuKCrKKkrIeTltJeRloCt9Gg6mX4HS67GN1gsn2/9AWKiRlTTx0erPtinD5P3u/8DnHts/1cMUaKsflzsxKJcPgSnBpNbuUanot3nPKvXjonZe5UIR4Nnlo0ErWMrqeL1hm3/EAs6oPVHIDZoBZTRQoTvuhzW2hzYcrE9u1+U/+Ezf3UrnTp+8KxJt0Z65cdjZCC1eOMNaVSlzhNOeoX1ubW90E9MVl90B3QfcOdJ7AHV9/9cE9TFBtu/qeB1wBNqCrGuKJIcOUrpEVV/3atZfP9NAKNwC9uU3enVAxxO+ow5l5yojf+ByHDj2tT1tRKGG0WHt7uNYu6/RYEW9byXKRGshNn4NGMHFP+DORVAbBBfXx477dYLsF/VuP7N37rS9su3yJy3PDhTwluDVctoaSyaFgtjpeR/58v/B0A9qlM11xXdIWpcwig8qgn3HmZlyrOqD5ZlZ/yW8ODMoZLss4kz94auzQf+rmYs7mb+5Ff/sfEcBf+HRtcU48fXNleWb6xpW1otbbroRDoSvT7iUf01dmllZXVu+tzt66dfW8M5/sejpYi8nzffhfe48A/yNufMDVsd8WbSaYP1s0Y+h1Dai0NDfqmkE6PSr6VFD1SRhpknvst5rYuew9CRGn5+nZUpqbvZqRYUED2vFcXTFNlVu2fdPpGP61/b12M4mPIglrBIZquPolAPdSud00Z/5w77e+9chXH3lkL++Ow2fYc5WoQe/R1+Vo0aoVJZCtHkkwaTHuH1vaP1avyqBeLmMnCkrSN75IJM+SlhLzA8xqrHs/1qqNiHM92UJtPoki6j8CmzYaILmbgR07f3dxXkBnUnl2cXFmnfzatb6n2BR5Y3p2fWV5ZWN1c4vovnzexdzdD+qA7T55qP/ywT17Hjz4zNNPHnRQf9bB/NvxWIzbJwzYdGygbywwnT6oZZQCqDZrXFKuVNlhv4UX2zGdXkmFmAxLwXNwpqcHakUTKt1mpVRdyesqRETGR6djp1iXLxe4vOhc5XFqQgTQOUbU9b3NI6i7Ktn+8KuOfWvvV7/1VbD/1iN1OrCqXpHKu5LKD+fMkeN+WpD/DsYMRsUn6kgwlF6iEcWmBPK6rsDMKl9+WR/0M6v9nW5t3ukco091HfK7uQ/rBti8NUwE8EjgP11aAvQ5IVVZATyjv+LZD6am59dRTCGacaK7YB5wdNcaYZ4c/t8e5GCndjvIE6X7Cy+h3Np79uda+0CvkcbRB9D7dvtp41b9lWSf6ZUrsq05Kw3WBKYaGJLR4HR6VwIeC9QVkzM9xryubbbLdBOP6nApDjsboNNJjCbG+6EeW92ezan+aD09zPxgWmkiVrFdlWwu6OLt/MCTzYpX1bbYH8eQlCU7Qo8HmNXOnFIoNaejFI3yguYYM8Qg2sf9zOoENIER9kvLzm3LmluffIqbVE50tjrCxyDWDtQu1i48962xX2x5ce4e9OrGPQYcluYXp0jglCcZT769Sg63uiEGGUMTdtYBvZHG+SB3Hm69/iGYy/vTP3riQUEdT/+SHkM+YaUcR+/NmwE6vTWMjDkujuHl5s616jEydEvmdjJ61g86kv9Q2wEuJCvrGs6da88Ukw4B34twhuiu2WZwOl2Wjzgyy8798p1nnjCqcBZwP2rBS913zbJ9EajF9gI69n9j+eSokTPpqJvJVGWUjX8naA0F7hMbHvapmU+NqxLMpLAnqoF/QCgvM6uJsGS975D5YR9+eMnFnGnBp54e627hrmSp0yC4m7AG6m1IGq8Wt4XmgQ6Ot68uAi+gb23NLtKFIVunB3dLbIkAgJHnSe7+JsI6AR3U/Y7uQc/TGy8fBPQH93BpkDTn9rzw/LOP12O96CMMQG8H9uB+tZaaUlPCnmMI6LV4XbGVWLI9KYvN8wM7ptPHqoWyGtetOrIJXdcTlOtmLqbnOFSteDwP6EENBVI8h5IrTgAHJ8gRFSqdTRfp0pf9dfquw7tnf0VdaYXozchdEwL68NBggFkdZMO/2VRzyzU1faZVy2h0E9k4xdS6rywlkss27GLPqXcE7vff/8UvXpy8P6z0xMHtq4tf/8Xp07J3H3OgdcHluZFsYe/ch9yJ7+6GgoW1raU5/FlQn8duzd+anSdxm4dpF9C3tlbn+dVFTPI/36bIIO7k8S8fdJz9B05z7pk9h59//OzPEfLZ6lAaY4oluF/NjtnpZscA9IKIoMLOKvAS35NaT5BOH+Qfs/jHtDyzEFo8PmDS4Mrr7C6p6wlNqevaID2YwB6KkmOd+y+9wbf8SLYdussaHii7Lt543hXLFgD9O9z1nk/JLue8Yoc0yL7hsSCzOpTOxwR0r5McG2KrWYolhsNpuSw0OLPaT3hXE92n3hHEgfy5VsG7cXmOPDDmkc/9kus1GvHbg5znBiaNXzfCO65+d3qB6E0vjrH0NWHaXFsC8i0ENRTrW3OA/qaoZTCSQTkwfjPm8v72O46vu/f2P/ngnsMHzuq6mVaMIfFz6KDxAG2cbM8NnRTQvSqcfbqxmB7joWg6gaAzSKeP2Rj7iKpgnq6XKlRJBJJ8ejhtJ3SLdnZ+sPU9f7seOt0h7rIt3OTx/pmIzmdDjZdWm8I7tqsl/1/96uFfHwZteWDfH6mOWGrSkot+sx0lrvof7QowqyfoCegtjU9JjrWJpBwDtRDKClrxaVTLfma1P1wkvI8/97KD+aWW3w7Y9w4+0/XDpxEluri/cR9z8Wx5a7KGr2+vmiKVi9yYEVd3BFPrGNT6Gkv+8Xxpz21uAfqtW3Pi5//wpgylky2cds+J34z8G+8cBPSD7vWMz+zZ0/IYa4TSGfF0gR3Q/V8cI6q+hfhvv9vTq3Gc6zRfOJ3NmD7QxYd9jjNWgEEnGiRgZrJGUdcVIrqFTtAq1gekRTd8kssc/WqpkLPsIBzu2f/ia79sDcnSClisdMoL7bsF/Q9//eNff/HHPP1aDvSvfvHISC6dMwCdBcPZA1qSXUKdAb3bcYQzJ7zMREC3WD3ePlRMsYicnbJD6QCz2s1BX86Ov/uOE9q5iNmH+A+5/P4psS5xesH9p+AuiHu4eNC7zt90qn/6yeXLjKeLU8t0g5gMOSy7mOPocw7mGJhjzqzqT8CdMP8bvZ17RJ8AdbcP/zRJ/DOlut5bCA+BOe/tgS+uP23l+rom/ZujYr3JXlqk7Ra0cVIf6gpOpx832ZcuignmGopFduPKtEscVNm5God6rNtdATodtZRs1VcZamo9RbAPa0mTqro6EAqAvhuW7ceugbs8/TrCfWu2YUKUsrQwm7aqaUD3Jy5VRPnNdw9BH1BhaKx9NxKmlskN1+0Aszo2FEeZ3/8uV/JJdJ+aem7SA925qcUx2SzDr13c3wB3wTcIjAt5o1i/cP7Cp58gnKDxdvu2szTSNcCnDy+YM9LEKX9BxJCCuCeCBffGptCAQbWC+hPuJyUV+xNnbbNYEtAxK/DFdTOimkQV3VyQWTEubyKPI/62t/dqAwENxfst+rBVdWbWTK3OX6cVK6oq24Jw4R1mvhZY9g7lEbMLiVRItFKt3AF2/P9Tdh7cUVxZHj9p0CZ6w0lD2LxOQpa3YL3Ic8ggGeTpUmstKI6roFsH1ZOqVD7oCTGHsSYTB78nyaoHXpXkLrBwOLaYIJy0sA4cMoescTYOn2T+93WpptSTxFVqNVH9e/e+++69717GOdXJ8/Ww6hmZU7nUdxLi9AGpY3GQ32bHQiH74wjbYd2t1ZnVoLvcNctbHQ4CGsJbjrASNywe3Hak+s6qF6ix9TWTzyMLRdAnD54++ERtSj0dVk6df5MheeCOaPMfQjLr0IaY3N07/z/11juXLt+aBvYEOS0AnWWlnDo897MolgFziGZO0BPuf9jMI8GOUxuMD/5LCNeAuvnQmKuZu2ZVf7WCK8LZVEcbbezpYSQtZgvDkJFbqE6n2z4TpsGkbfjQLpe7JkyIwlKReUspx45ldTodk7eF63IEb+3iCMRWhsFCi7mLV6XVUroE+u/mAv0LyPJXv1j+6J5Xoel1fuiNP8QYtFm1bDuGPEm5UJVZDZkfznJcTgy7POQ+kzaTasvR/M7qO6s9vp2X4zWTz8F7T3T94NDqx6/kEup/2VShrgfqQmjwJek7cc/S1mqeMtetSCrQp95CncxNoq4F8PGZBEWwVGFxHSVSh9JiyKwQ98y5Pf166OT8+Z27djQ/2UxBOhTVbBkzstCz48qknEX156M91OUzdKQSjm0KJzKq0+kjgnEREnTL4pYwDDekGID0XG5zZsXCYtXpdEzec6gdLNUjUpk9+U6GCU3fcF9612Gusfe/qqtbsb1u65cLXqn/smFh3YJ6FnrHBhmqoRhreeEYU0FQ5biMhGFsw3HJWjiPx9z3WYSIPbb08RequgEXPRZzq70f0LUv198P6EuXPrpkybVk7OkmAMfJeMeOTX+5tnPXU5hmv2lNZn/PyAx0bd2J+d2bmMc1hfTa5x9p6FDwVJBcQ8Bm6jJBv/vjlzNlz1l58fBLv6BGsZn9BNQnwRr+XCeCcxSj2zkmpQHhIvVh09npljsMqpkmQvRbGSmwMDhXNh8+UZVOt4WMYqBzLKnC2GCuyV2XSXzY3GCRsAyk06ugm44UOE4JPdBeOY4ZmnZoeTqdTtAhc4X+FeTrr/Hx4Fckvy7HpTEk2YJAlpFRjGXgV9e7dcOQ947O7iBJjUKRM1LYnMp+qTqz6rgs5Gpkvz6yzWg6hh+tXgL5Zp7e2Hd1blq3juaWNxN+CKjj2yruhCRBTl6cnuFzeOoijmgoi3nvI4Ke4Y6Lqpr52esfEnVMaq1S9Iy+Aztl4GA/ZnR9//yK7AJ3YO8R0D/Oqxw5dAEEI8qXZytHAZ1bod50DS5N6/fS6ZbFohgIx/GqkYdPe4EB3ecq0te2DVHV7B1jHZjgnCthML/oREIJZlGbC0Anq37v0CEPEvqJia8tFQYvjDlKURCYcymqoEOtA59hDM2sSHKpDKsjY0cJgY9ydWtsG9BhFk/BuFf0nDS9bgGMzIoV27cvf/SbmaM6hKgDeUJ9Nvf0rE7toAk6kMM/u/TOFGbvTSEeh2uL9AbBF/hwsO1TKI67fF0Xwf7yRQr5paSruT/3C8jrOuRLH6AOww6h4NxTnWvXFk2AgSUunJjdT4MOTigKyri6kS2BjxoPEScRWlXpdDhBeJpxLsPALhaLjmmDtYQnJSLbUKYzPnZ0REf4s1FPFNjkI1MaQQ8GutY00cD2mJf4I9l8y9zq3v/qa63m9fVQ8q8nHvzKkMp76JggfzKOQ6rVz/5ABL3V40zNdlx6SlTRalAhPBcG96oyq6OUQqSLysc1dQhBp0HkKzT17T9a/k2u2ptPqUM095kx3MlZjfT8AC6ZA/rZi4B+GdSRZk2EOgi+B+aXiHkK/Rcv/+ms7WFwJ43HFg+lB/W//Vvijs0G1mfX/C7blDDlZOWyAcqSyWSGKg5xoS0EtvJQmMdgHvKmrOrwjymzgF7mcOFl+15dV9deMD3FXNeis/rmllCMVKXT+wqYAITuPoPKrhnt7x8d7ua8HHLXAPT0ehJp+l/PAbq26sZXJXx2ybwrWdo8Lrt5oMoBPsnuILuyyXFhwrbhuGR+7o5SmYL1TMA2wD54vdVzVrmw/eLohednorBv9h+8hqml0PWHNXWMMl1OZj6h/mRCvTMzwV7rO3GvBGCp7Okwlc9ACPrUaQJ88cx7GUGyFZb/LEH/GMyJeqrnf0LfdakFyUsHTv0lYafgHLhv+nYPuoSaloMAabYhnKcMM5tOH20smQbnUhrMgs7ISJq/n043uO4NrvBLF86jrO5kbU9JMe6K0JODAwYzR6rS6aMFVE9SW6KWQu3kgQN9BaWs0GaesSwZo5hA/6e/nwN0Qk3ytTbyMO9lyqxiGSmfPpU5IguzG8MG5TDMOi4I13TH1HtcmhzQOa/OOLdbQVl6enQnRd+1su++RoPI64j69g0w8ZBXX/2mLXXrIEQdsMmVXwtnXnN/7SUay6eJHH45Yf75WWzpoA4vHV3kzsxwR3UcVgEyb5R/+YSYU8U7qM+JO4R0/rW/XINLEMSc4jTzeyfyaEGSOU0hnV7kJo/g3GUmonqK/DfJDYP2dRPQT1VBL4diPA5FPkJp7SGURrzbt7dYUobrhsIYE0Iyuyqdfhwd/gWT8diRrlwfwkejrTJUkRMa5v1pT4m5Q5+o/3oCs4y3biXffcFCJywHO/MhTZD2Sd0Z92bn00dx6GYq45kg+izKMfYjpItoZLiUvGeWeT/VbgSW9Cpt/4+TidfQX3kF1Gf29Ud/RND3/Nezz2zUut7UuWnT2rWYb/7Ujh0UsGteC/oJd62FaOeriR9+846ERkPNtbLTRQd8PUOGHcjBHK4csH8+nqU+V+7UWp6WG8URdEh2fhNRN2F6M15bnFeZquhDfQWXg7UrAZ5Lzo2YVTd7x+wqo9KAQBUp2gp70VqUYiAUciBsgS2xDDs3WT0wX1IoRtoje7GCkOB2yZi4rpM2hEuCM9+aA/SF2sTuWb58zxeQPQNhuXunzvKOg6PthLIcZi0NHJcSZyrrmeCkGkgZ8EAq7lsxk36x5t1ZF9F93xYzG32yr+++shXUFxD2h8nEQ5a/uuc+1KD+8Jk20CWhQ9surfGw90Rdc98Ny34IkZYK8vU9Azeh6YBL1C9Rq1C8kb0nwdNQdch7458m1F8i6nPnfvf1dWvWrK38J5rh1XVSU+COlAjS6R1mxNKSA6ot6IrjvBQiCqWlbLjpplGsvp3eu8/zykhMSZeGLZPvR0NjYloGx8a5mTfF72VWc70wAgbHLE7QoOy6a3AF6AP3JX1EiP0coX/rOwSbArB7SF4dkD7fKcvkXSLGxmLKoGSyfOS4dLNskg0/NtJuknFaeJz7AvRF1uHHnFVfjkcytfk6wdo3jGlcrzRgcGmq7YgQ/RDXyIj7E22pW9f55Gy3bs3JXx4g942Q9w9fbc1P/y9l1ggvqE+lxPFUhTmgIzrz5P/cTaj/HEjnzh1/ArreiciB9uWIev1EnioZDiWanqPrDQl0Mu6NHjdCKoNRkqYHm/G48Xu30wtdXR1d5LQrKjehg7t0eUC33O2jLmcmd4u5/VXQe6iQMuzKjV7QpqEJ0EPLLbUQcZK5h2Ep9p6VR52wu7yTgR5XvFubp6AcUN/qzJ1VhiTb/hQ6TfHmigXcLbMg8KHyHKHoDPSTrSU3ZJnGsLDx7+7dgoILmvG1ePGKxSsg5MwR9OSe8PeemEm9bppFfV7bfpzSSN482X716tX1H376HjEn6uS3YWx+Ch3bOYSo375x+87dhPrdQzi2zZn7IWBfS0ZnLcXn6MC+ieY79Ob6zlfKFCvVwJPP4wXCt5O1w5SVUaQCeKBfSLOizhlB9biuHYfoJh+Un3Vd6ijsDeQ9zoThdtRWp9O7lJJKFvTzBF3ZYhwGdBDQMyMa5pZanQ19uykCsc2XLke2ja4lYl8XvhzZTT+UdlxyvQgNFNPgOsxZT5l6olKoIbakCGmwSNaeUWNYV3KCng3x5Hcemdi6CPt6Xd1jFKZZumTPkgf+LxVwfwbckyOclgDOPNqEvEnE350cvqrl+m/CO1qb9QesO4SIX06FzPv4vjcan7o7Iwd0K+A/JT/JyIuHfkFbiz5ArPs2FU7CAXqwp33vKOoUT5yY7N9/6vwFhBpRzrJ/d65JuWCtj+eAbhH9sLolAZWw623u/P5+MgEEPZRSRVLyMcEpLuvhdnpVZrVDMnqatlrC0OOSMcHFm/tWZYPvcOTuHbpjcxtJtjIrkyPHKTkuEWKr6fsZnExaYn17ITW586k5a2U60pDsBbatKHdUSFWdfFWaNJ2ds0r2IsKgmiPbGmDiIQvqNpAb/5/PZqBTH7eKW7du166mTvLs1tRCDv/qzYQ4yenbd3AJ/ay+mqo9dk38bAqcPm7E3WPbmgqbOnfd3aF1nabuU4o1yzgj1IXm+9//KeTgwb6+yRMjSAgk8QIc4UC9oaF+YqKrt6mxsbUw3D4ChcVr0te3NzfcxUMmLbA2CDppumFFgE42AahJ0hcBgqcSHfANpmwZhpsB34mEaK1Kp/fnikJyNaJtLil+h0fxPu5uoyFNaVkkdfmfQz59NvQVeTtAZpWumeftEElDmuapZGC375288LPjxxEhwRI9f+oUFd3jm8nagkUmjE7oAT1gFi0B10TV9syOcHJ0lK70pWcQ1KHhKJvfMmAOHEGzgm3ah9+wAu7cEoKeaeJG3BO3jqStnaBffnvoytWrV67hE8nSqTP7pgl6elAj6An2s3o93PBLp1sLV69cudKOuD6wE/Wk19AMZIiGDMwwvLncPBL8k+uKruH0dK79XasKok5jm8aF6xllz+XCNm2no7extScymKDWAlFEBW9CKNuUSsRub+2JSW0R3oVFoPL1QxUBdo0QsVwg5OXAZUc5N6TkUXt1ZrW2Bq/hCIx7ei4kVePuIt3cP62Avm9OjlwV9Cj0nEG/HARMBLybxb7uxl4OnaaRvXtHtUU7Odl/6jz+/8+/O9mX63W7FTCHHBL6PFDamcM5L7f7+TSEptdJf+rgXhgtCPPI5ha8WIPOxJF60nY6sq9YvSpj3Ym41vdnE7eubcREbfzQuXPLroHfVYJO8tbtfdM3PspQn7HteAKFUmc/Kk/f2fn4MDHHH2ovYG/+JRKth6mcQ0PuI8iachtJrrergEf6+3lNLKA8BFwVNJhLsZOFnzhmS0MIznWehCvsx5YFYIJuLZqGJW0prcgOhe3wjsbC8PBITQ79IzIvYv9+WgTHsQRO1uS53hQC9QI3DCVLx2qrQu8/o1uRu/tOpop/TMWhIw13/dOgnrmPiNTqvUJ/OHK4z0N470xxwkd6yyn7UmLFrq4emLRWbdDoP7+3ZrjY7Yd04NSaHvLAlSwg6LxUrBndD8OQkcQrQFeDVs6Nli1HWjBpOhofq8dwgIaFixZg2t3TNL8jo+0z8sMnsJ1v7CoVKtCHSM2BUMuVt07f7u6+cQbUE+zgTcAh75298dF0aeDi0qsV5lpG+vpeu/s6XELqXQXZWFPThqL7ebXUSy7XKDwviJragb2tveghu2QgaOHZBfr1maAhDuwYnp+3IyB2leCWYYO1LTVvKQm6ZRJ9XUNhGJ5kXJrFYkdXVy9ewkKyKeQqS6Av11XWe4HrSoIupDNMMRtIRtdJnjuUJrjzMjTzoXAxFIGgP42tXWv8P80pn55l/kWdaWvolGpxecDigDw6rcCVyfguGTQay9TV2NShYpcZMXVDwl5gYi8Qiso7peBUGtBaM6qXNBm2dytmDeDP797b63ncQ3PFfIs1wGVkOvmt9Q1boOyr/1V39k+oa/IEngbdb5y3cdhFt4KNj5xbuVJTT+Xauanp6Tv5W7+jDuDv0jv0vHnfh7dPv50yJ7l23wfvP3ICB4FaCDD3StXRiP5l1JmyNSLMfuCxYmtbY1DixNwIkONoA/TkneCvW7iooWWC7u6hoxS0mbrIRcKyNG/brLA2TGlYIjIsemDQK+py6bmuILKmsIs4uPX04IUUedMUUSRVOMgsJntra0+ex2ZwIbsXZBcBlVTQ32EYbAOsO6BXBq3SuKZ7P7LVRaFfVk4YyhgwwxjJs3LsQ4klDH7oArxwOQ9dF69NibLoPJDSDfyQMynhvEtHKBlTKW9eyQEs68bW1kKhHXu6XtI4qtS0RmUeMvfoURPV4eMuU4Y08w8Obq1/pWE1TXWojE5PzHsquOjmuG5UuxHIly27BuhZ6qc/b/Y+OpMq+4yan2me/qj5ztTbhDxlfmXo3PfOnTsHF1EjbzQ9guw7PYXaguMFRBleqScLbSONHVjn3PfMAiwBTIF+JyHL/91F64/Ur1+UP2pa49uOUPkryNl5au7vmAIPhZQ6YRolRsAk3ZcmLQHGDCVpBZS8UsA8l0UWTIMthP1QqETUW0N7QW3FEKSKoxdB5Zx44ASgM8uEjV1KszZn5Gk48vfuvS80Bem1T7kAxmQYU+WrjGLbFiq0VYhnuc/A2lVgzRydk9F7gYGnaW0zju9g4skbwO6g5wkpVAF3dPR0NTU19pguR523cB8aZGLMHHfpVGPZomVgYmvD4w/8K7X3T7U9UXTCj+tPJYPz9idWwroPPTJ07WpGhpa9cXP6VrO6QVqeQKeHt/i+W2cuvf34LObXVp6DLGsjVc+1OoFfLgNyd4k11rZ2CE9rerfXAfcByl/T2iGDLjyGJNS1kMJ/97GGbZtxL/WoeXSz1Ic0i8halgQ9YUamaQ7YEZaCJYRjUjtJCUtA5LEMuKkMQ8Z0nid9pWcVHlhjeW6YlhJOsauxl3bT4UJ7ezttBZBkEew+Mdk3orhhhfgDS+G6AztsO33Ckf0f7s28Qxoc/f/A5XvG0WfC912XS7bl2FjIBzfbY7GKkHeNbUGJ31DFMWd+KEEt5EYgbc4NMguSoNPi8ZVLKeWAmki5vk3jdMtS2QPbNkf2lsHYGogGuBC0/vkxxzlSv+Cbof9+OpnKljBPsD/bNiJdA8mfoXMrh4aWrVxGqp7V9bc/+k23N93crKnTp7Pv3dyH+qnbWeYk15ad09DJLattelIHWCnM2wuyBLlLBFD3xlrNmbiPDONxRhLwUMTHFixaRCPkMcdoDHMtnHHblBFZdZh51yIbbpICk8F36BWLbJOsgGnTd7ZJez8d7QhdRPqiB3+00J8yuLLIM5Tebyk7F9C47TuO8xyERweUAY0Nw+D4ovlxvhN1Ghyft9l0oZ10zdqTCtJ5N7cSOzMniEdaCjWPheckncmdBBN3kUA8XAgPQ1g6BgyoYRBm4rXuIy2ma95rlmzdeD/3/f4lJ3ILw/n59L+zT8f5r8//9/39/nr81FZSX/UGEeYHeUqV5QNnsP2NqOt5ZVbNprCDuYD+7NNCH3/BhJNbqCuNapRhJ0iUuBunkh+ci01JC8PYGWietcKYHfc8D9A9xoIelECNjcjDn+wVx+1R8MH7kmtlib2OYSD0wbUtp6LgBjC9Rt1zYsN3oCFqrLh9X0mmcNbWxNLbJYg8sRed/d3TPASNvZPrc3Pr2+vyFqdtRepz71//eHf30qWd3Y8A/frOn3dan7c/wW0XwbyAnOK+SuhlQEdyCAUXR/Te/FUG9jVwf+XXv8x/y/+UQ87GwMuwaz+fFLfymbr8wphMK8OGg3AwGGhaQ5K0QZAECbAaZAltc8S01mMYdpHYR7qL0QExQFAwVbxQI6YEqmerKiJeZONTPX4U46GLMGjWsx09SBo58XcDs4OVPXzKc+VVWI3QYYT/7NPG9I2jhgNWVfRCxg8sTOu8qZzWD1JWQ0z7dZzWzv2FttVur7jtvCaqC0WKDa8Xp11WgHTjruF5PSpXdsTJtSw94gig+itJ3TQ0LfADP4mjWMfs1koRAI/funXryy+fm5xden6mVBPYyZw/77Div1NpvbjOLI7Ut79FHRJ/47NPdndefWkn/mj3wue7F/766Yd/+stBPwdzijtsG9B/cuQIcvTfn3nzpTOI0cLoxiKjO2A3t2/iO+d54J82vTpami5Xq4sovy3nVpaHWhbGJahG5iI2Hd9fxBpSUxuEnUHiK77p6Y6nW22m+nTnikeyLs97irhLC56TRnqfYuBGqoutyaDdMYKGKgIHcryYV0UmienjU5UeFrW0mlEXDWP6D55a3icUhuvFapnU2RfjAmqntRG+V0L2gz0dHh5CHaxBkqQYzR5mqO3With1DA13XBHlV2zX0D2ohOfGrDgVGT1PZb4ZU7lcDFnIu++HzcaANbg0bdAMw3TzKzCn3Z6cXBofnxk5n3k7obOuoGOpz8hb8PRrDMwHoQOnfPU6z4T9+LNffPLpq7uforbUH9+/Op/P6IsBnfZbHDt74/tHRE7GR9FeEw79Dozjbu/tjY2NE2tv762dWAN23El9/F3UTR6jj5fKEq/ea6Ic0/DiwhAv6egEviKgZ5twGNqtGmnq+0PlKm9biULKkppBp6BnPu118aIryDpeqFTgAQBvmBABM5Iaku+qXfq2B/WoKAO3o4vpYeTZ5oiAnkV0kMdE/TBXuGTG097RtxdUQDebnumjml2TV1CjMkwDHTF7oZw5Pwd12wZMxQ/6Haxxkr2VOkk9MCNDgbx7SAcsJPctXqCFxH7FwbBltPM4NekZquq5USMwYt6tUkGG46b10B9cBnQaqN+589xtOPze6Plc5XFDl4sWbux2Wt6CssO28fQt6tdm5Ctf3GAt6B1cuHzjQ9x8tVpkfnGf+RzaZ36Mo+TYp46ZNxaSJmiQ5jfm2eMHIoXkZjmxhuP9dPSl+Xn4bzk3Wa4aDosdwi10ymNuw+d4IGlxsVqF6Psp2OnOhcb++/JCu6LzB2x5fTLxqXhheHYlUhHkG5HjcEw4eMvR0zDsSUnPM1kSPFLj+iANla6idnuGodvJ6hPoNfH0w0PI+96+Ud2XXkfwQQW51m/gviyb1sz/Uzo5KjxnHZEXFPQD8xysMCwiAQ39Y1Vo5rNaU5I6qWKY6opjU96ZlnhdKzsK4bLcYBeqpw1JA6nT8etpoJmBoW/evXfv/r37twid1CeXlzbg7qAA6ND31vFnTgtPJ/TtLSTwB6lDu69+COywG19cef8PchVrFlfIk7h1QudJWS8C+j7ofIfAB2yKlkGnk8+emlxanOCxYOyEnQpYGbSxoDU0ahUUHOooZB5PDYqj48DFo+FyrvTYdNx2hN60KoI5TAfsik2r2DoaVdQmCIKuWiF0PDphpds3lboZe1jTTPtpNIh0eo+qRKrdX31iNTaHgQ55z4mzb6emdHp64MLTg4Ek9U+W902uruDmSjxrxvCreT/g5ItZP2gnxTBhdWxtTM4HSlOcMmnxyEAcEzr31vI7EM7srmmYSj+Bpmga6gh3vvrH1w/++eDBw4cP7tBuE/vs2sbe3sjvTrOc5IUzp9cF9G0w317PBb5IHZEd9+K6sXPj+tUtuVx9gvxikTmhf+8ILmB5A5W+c8wHaX9QgF7ag8CfWJqdRPI2OXxq6vLU65tZJZKK1Zb6EDEXcJMhDQkcdH4BdJtSo1P3fUDR6RTCIAoV11CS/mCoYZF4zp3LY/x8kHZUrysGlDAN6gqFIFTctMOLnUJfTQeGo+sGPs0RMqgVoDORO5yngzcXQH904pQJIJhiOZaN0daLWcOzH6LiANWKRYgTP41cI/dtRv1mJUqJDd2l0ItYoCw87um5lmM5mVUqWDyHyoXGReN1WTTfamfX6RoqoH9N5m+d/dfZs7dvT2TUca7soz0mzq+YP8p3wmbU5bnvUsdfy1f+9sWV8pZcQH4gnssYLpims2QcTsc5XURe9PQCeFSUO18rTVfRwYlz2PsqpJdWcdIkQ+bowUC1aE7F7iT9gBsFXiNxw2UuXq1DnNH3lhJaGfInDbwctOHqfEIDDzdTJE0mL2OhKXXfNKPIRERVoq7uAbpum4ZtN2oFNxfztsNA30/kmK1sTAggNJsDsqXUey1aG6lcI0lTRHqM56GTmc7TyRtII502XfzCyQw1DVUpslWkllMwYmfDNjvwmPm+6rHZ/Pvdf9+/dw/UH94+u7z83vLy7DIWUF87ISZNmEln0HObk79LHe48V74qb5XnD76T+zmZC+hHeJ419P3lHHURc9EO1As9vypshEJWFWMcmWgdHm24ipQIlFwkLRsT8B2lr5q6zslZ2uljMsdgMJS0I7LOHo8dHuDxAugzoXeEiTGAxakYCm/plSJ388Bbp6mubjcz6GwJHc3TQBeuPsGhJczrpn3P4qBb4WADpbDvsFpvu+VJSWTZHq/PCBoh7w0nMar1s/yGUl+1Wd8JE5h62C4S/7+m4wz8u3fvMpMD9bfOnl1+75u1b9bWxEJPv4ip8gyhw8+fz6gXkrmfsSFzeU6gLSbthbnaHJgT+k/p6ND3l8m6AD5z+AJx4CZvoB4ZHa2NjB0bPTYzPTYzVjs2UxIZc602Oj//eBBog3pqpsCRObNmWnyFAZAEbRfP+Gs45HvEzYUtTCdrgV3PIFceez7f50sigOkemPNjXNnT7XOrBRP7aQ4X0wvUJy4r+74OvhxnYlSpurq5ye8lOCsO+xafkexZjdDjDqxLvdhItX4YSggFC8MnNSkchPU0CoN25TDUK1w2NwV0UhcRHdTfm/3Po0f/ffToJveSuygIPlf09IPUrwl1n5sTcPnGgXgO0I+Zr3PfDD0d10a/UxT0orPnHp47+LHaSOnY6FgNE/TpUml6fL40M700Oz5dGh0pzTyPtH702OgIHE0k0PtKgBsaDTUGQZIqpqs3NCIjQlOLnMzD2aAVzwRLymip9cJ0AV8Xj8ywLh1drCmgL9SeIKefA/rT7pwZR8aydGpy4ujRozgrGqcAYjk+dRznB12+fJzg+Y8bipv992AVBZYjBoPVDn3LbbdonuL5UaT4dZQ2dqLK/1g7m9g2zjOPY/cgV0VhYYu02LSFIyIUqTWriJaWIiJaH1FsS4kF10qF9abb0jYbo/bBrOsAoWFgeenetl0YxqJAgBbY29KAL75ffWqR+0lwTFGiLJr6cPThtXLY3/99OHzFaixPjP5n5uUMOZSb/ub5eJ/3neFBvmqs9Rt/sh9TX9wIqDeFnUSOqdFfCfpNfuMacx3z0AHo4SK5doE9687qGJIJmN8R8xGSuXl3o+wU0A03yyFO3WCivr40j2RKpHn62ng6I+axvkQqn0kDH+iyNGf8avpiHGs3lhweJqvFE7z/Q4p1RAP6cJa9abU9xLPb3Qur3uXVrN6Cvn2gMwy/7b3roaOoiRxpnFaTT+qkclkdlVxuoFjbqtWWlv71HdD387z7B78/188Fxz+qKbAPmAnOoMJPKNCYj/jFP13Rr28RCX7yLj9BFGBFtFp0oNaLQyz9/v3ld2TqN64+enTz0Ztv1orFYq5cXqtU9UMf135+XNBHHPSUkLMqrvvU3SHv6jo7DHXfo1O93TNnE/QpewjCv3dGcG2euCEPk10IUL7Oej0z4mijvnRCH4u5V18mA35WpA/25QQUu3/iOvK/k7nLd1sQF1UL3iys5tANuS3apT3Fv+XVFxW6qYO9x48Ef3Nz8562ra1SsVRakh7hB/rP9XMZsL1z/9yDFkSM/r/+R6SlC4wZCbGtLJJvfSPoF/qXH98H+jtYurT0gx/UwK7sHUPXnLDP8d3Dw+IGcAQ/HoFn4RvmXBEPzx7vYpm/A/U/H2TON9k4nOma5Nm/Ux3QwR1rE/dGLoSHa3wQ0qZ0PnXwbKDzps+49BKDPy0vsb54MggHPyIe/JGL4Nx/G32zdNa2Z2dtQ5f7H+q088j9dA9beyGiCIlgzoq2nO5tsUe2VUNcAow+9DN0qOBDvmeGLatvuS4OWCQx9o0XMb1fId0X5SSMHehZ+mv8zUtzI7AcAZuQo5R2eU9dOJE15EadgRmL9PuZm0YEff5XMvTu//TIO438M+TTo8O174QU/A+IYB8uqCsmuJFwd2zoAk/AT1nSOyAloHvAVdDSCbsguABwBm3oVo5jiwD9H8IM3Q5sM+a5Anyhjmghz67y6tbBlrsUflzjviiyAaIA9k8GcEEbzZcPHrjY9cCy1U7JF7Apj1tZWVlcoddWd/11FnXeFNWZQUEH+NqNEfI0oGOvlr+3IV7ng7Mz85Nd8yCfn8czaPjV+nD7fTurWXp319SHumMJ1AHzALjnHQI9ZvtJ2L6+PF+L++b3vTewzWSJ4XC7d/AH1XWpCLUSu0H/98Q8MnTDG8bejvMUSArNZgH0WJ25esNv1u+aLeAPoAJbbamxurLxBC0/wXjVFXtsN0mCX8sF6QELrS4D7XNpLK+sbKxsQLwO8lqtKZWKOW5onTlzSXGjf1hTpczUZdxC6B6Khdc/Pj852TP1wc3z80eZ4MbY+J2Hw+b1jTnf85YOdKh30ZhxQxve4THcEQmUmHC0/5koff1vIJca2hwIU3g48ZV17fSlcQQqiOqXrIc7T0MR3XuIP6dSw2I7svJarQDxfNY+xfQNOqsWNagwcBLqLM36ypMwLdslgLB90Vf7+AFZez+p+/IiuOsivirapZpBL5eBftNB/0SGbuyE3KAPi/md7n9kdrPudOSJo1evfcJPB4g6Z1A2aJn5iL4s8cY8s+k1vXXee3Rj/grofSMOdiyV6ouANBnB2o15hKvDxNmJXLwv5vCHnRe9y7Zgqw0oiSltvpAvV/SquliRBZPLts3fKnjZ7f2is/eXk7OztaV63Qy9Qxst7kKvww3nyBcXWRFp+zv1xmpjp7nTdDU56jPaKd0jnaiSu+uprHcx9BEFdQw9gw0HZj52tIebyD9Sz/uDeX4H/cS1a+dufg51UgDkZlLqbLCzKhsE+qefzjPDFq8OckvdQqkb81Ber3ibPl18X1g4zNjl3F8NXa/xvkSulEuQBOi9kH+47xtaehZV9FyIHB01wni5UMCj12ocsZvPcwX4k1vjsaO3RkezoxXwM/Z4cpqlVt+AKIgP0cYKTnynsePUQDsNQsIqkHdKpR2BLzURzAubsvTjM1evnbh042zb0p2ZY7OsYw+/4L6T99pPoiOof6LRzisMzwBd2BUKYC7oydswZ7JU19RPGW7pPiszZ/Wmft1D9yH9dQT0fe4ArqEsDecriAcnWq+wXEzFVGTXByGKCF38sPIyvNnyOagXafl/u1DLEc1x7LliAaj5Sjv8p1IZaQJNs5q0O1CH6UtQuwatrNaFPEQw393Zbe7s7hj0LUqxz9aAfvkKMyhc1QXbdtBBKIoPB49Mcq+R/fgKuRnQZ05rGjndeoo5fAPm8gryCWbpMaBP3tDdz4Ie3dIjqJNDX7RvtLK4dCr8Y8+dDSWz7FiQf13oBnEB5Cgro8bU87W8Y5xV+gZ/PL5ElDelYC7SAs2amWCbnuC9icyS4IZwl/mLuEvNjXi4sPMG1r5bKpWI6Fv3bLhl5iJ3OjhLHzZbh56QD3/eg533/Kr1hBCYV7vmjzCdzP2O4/xvB+m6iblZOorJvd9hNJ3hFkGXgC5FZD6ejEdCHlnjFqBTmeCNwaGQc3ylL+6gj4VTjxrTF5SbwVrCtbPLcb6YzcqlZ9k4NAm6Uc9g6WLtlEmp5Y1UKru60ea74py8Gg7rK6RpEG+IN1BfKp0hF19CRbN0QZ/jx5wcdGMuOwf5j6Ywcwzd3dj60097uqtrWaj/TLPVrn2iH+8kk4P6HYmvyDeMx4DOwyU0nH77gKFffzX1tCVoI7G/FXgzda+h9zs+ZdFq0r40OKsvva57X1AshzaGjrWrBXQuW2YtsJvFC1QqHnqKRdTFHfCCLU3LyvXOAJm7gjZareulbn0wpWjGu9RSCPmnq0/x/PVgWF3MN58B3aajGnTIgQ4xbHLXmflkz6cffchPMXCX4VdorTp/98Mrwv65qJPIyc4tpKPbY9cfnrUfYLs8KegtM3+5ew/HamGaNhLx5P5PUrG/+gdGEtF79rzQDM6dHmqN77yWpVcw8lxZvXF6Z/CFLeB5zeXBLeJlb+kpqRXU2QM0ds7mlmltS3W62/S2lyReKKWS/1PA3QpRC/wWG1GeXG6VrjorHqGp1F1lALP0y0AfeyjnjChfko29SwSHeM97Uzx4sAfNf2Wqzh89f+N31xih4Yu/5eoYQZa7496BPmMpwM3J25+Jt26vCGc+btshRba4/7h3PGKsTyb5A+nxjqgeUfAW9fj506fvjl1/XUvflkuv5WTkxVxOKTtmf6tcFmsgyws43NpgDmQ2eLNaI9oK7Say96XVpfpS7c2aFWgHctbhL1vdDtEEUq5u3LFvpMuFFe6rcu9bbegzR8/NzRj0GMjFfOgyTwlwz4f4ZQ/wUVXAjbrdnNLPhQL1h3xN0JW5s46NPzwKchfUFxaSScZEYS3g0vgdM8NQ0mavHdDHh9KdJ/Vac4gArjpbcDZ6ZfY+NKgQEEQb1rHzszF2Q777vQiWns/lZeW0hVrRWXsuS+bGKGuFFVomrgGyfIvm5slZrIV5W1RnID3w44HzA6x3ZwdcPWfBarm+dG/C+NtxvA5q5FIAMcfScQ3PnXuvQu7Mf3wyMwNuVoSZn5qahLd7pOx7iuo9XS3gDMCLOkn8/JEjujll3qibc0+O3U7GHs6QuyumA/2rhYV4PM79FeM2djZ2/iWhGuJ9CTPuDszJ+AHorK19Dz+WSfozhhN2Iif0ptOBoePk7euo8xoaOnPmzjj7TnYdcBmEO4g3Xg39/2TdhRxLsdHMFcyHy7ArKe1U2NWGYG6CITL0E7YI++z0rNPA7MCAWprp6UzQqwf6swA7Jm/IMWb10usNFXMs/0PskA40SlCHOdSx2yMXrhChBU/IYX63J3jmE/YK9O5qGzmLUWeyzUWV5szWx6yXHlOXjYFVRK6/kHTYEwnMnc4v29DccHg1Jp1L2Psy0lAZ7xYY1jZYNYlMklfeOMbLsXR66GRv77Fjvcd6R94O5rHmMrS8Jbk/wmLXwOyZ04O8HGNlk7kzkSec+WdRoAs3Jp4vFHPNoioyzD9t2basG3vnGhA2r5bJk7qzQtxCvBy9uEt/YZlGGU4MJFOHurd2ufaGCq9y6r6jt+xqN0AvtQxd0K9e4qE1Z52Zt+5V6Ame7vZL2bkzc2A/W0MCb9S7zl2iNIeHl4+4nVBocCngPF/+6Ab9u2RS/wvl5BHk43fmTk/E24MgXpAmeoej9ntaTAaUI38RaF9I2TJLi0tLqZj2DaNZOr6AQxNf1oeGf3h22v3Jt93Hviob4t17I9zW9O3VWkOJVq1RKzRrBfXNZeZm29ZDY38hTLfg7WzcUbcqbkbY4W1KLewfwqkY9XubgaWXFMoFXDLkqs0vb6hjR7gXcyXvVd3owHALtRmsFOqDx7sxdCFH7/loDvZnxtxsnajAhOzfXJzD1mNgx8gRf2Wy6z1XyJn/LL5gdQqmPxH0E4nZubnTszYJBlkYjVCjCUzbCDvikt/hI2MIuZOPFpdqA4WTqWNvtfgi8wIBc9Q+3/+hTCmtg3E/IHcQ+rEo0OtUuAsNcq4Cq/I3VgEPZJ5dC0oveGHdIBdzgyspB5jAzwfM+Zb/Q0FY32Ix5k2M3Giz0mDkMF/eMObm3LH0maMXr2i85XPycOm4/LkZOs9261E0XwigO+pm9VXCudXsL83NfCHqtzF3tcOMqfI7Qdy2mrRiJJf1SHpB09+w9LmJkQTUPfaohTkz6+FBtSDzwEzGcPTNRd22JWU4DLAb9WOHa7uY1jd6O8Z6B1/D0uuN2iorzFWQK9N/c57dENrSUot12pVgzca1Zdg6pl/oDcknAQH0LOPvjMtvFeTgiwyo1MXaqIMcbSwvcx1sNEjirJNeFvQj3P3G3YtzBv2sQniPIjq/CvCzqe4qyFlpYC7oyHJ4m3DDN68S14EdpIFnuWP1iO5mml8gpN+ybir/YbeY+zY7dyepjB7snru9RtLY9Nxwy9Mb7rdoTexP/EBGXmTJpeMA99BNZtH24mUn8Z7tAN139wbvD3dC/24E6BCv12p1DD5XIXE34gF028xgrdwu1qaJYJnoiN2c3TrFFWs4RsGALP0ElVyotBWLTZgDXcBbyDHyJ9ZNx87dXFioZ9fWuLmFkdUrJ44I+p0ZumeY+gefWufcojnEQS7myMA7W+cOZ/mI3x+BOsQF3qB3T3XRVBeQFZ/KKV3P6XRm1kV3qEvCri069MHTp6f7gpyO1RCaxQ89kpFDfCA/Yq7Au3/ZumG3lvWA9IFerL9o+vWJP/R1QH/1kyj+/tt0jvCmq8WibiooFHyl1XtsM2zPWlKrIxodpFwAsMiu971a5Vm5UKjfg2WhCHiXwhlvwXaTn5cX66rjNRVscAgFmJc1LZLKjJz01S6ZOTMl1Dn/QD/2YtH8Fsj3M9/04Ku6w1kVWTr5oi7icD+rnxLQcPrRCh7ilkEvpwQ9lRpKJ5nvCva4EjsZvPQK5r0+ez413fG2WBrAiR8v1QrOyjMJPmnhNdjDQ/50No/ds7d3DHo7oCfeZzbSn/bbeqSH/DcbjaVmLlfM3SoUuYORTD1Qytx4xuNmM+qGnTVQpt2XS3FKuCj/WPewWAD5BgYt4AriCOwwx+M3wP2CzZUOEOSosFzkPuXLdNlu81hodc5/iYNH3dBdq7JWaJ5JShoUFiQ+0/SLa7pgrDY3JlOnm85o+keK6Xv6N1rMiW78F6dTaUI7SmjD3uNwd83htTa/MwiCEGUeLZmVF1LxXp8DmEcYPn96dqyFPZWCeCf9wQla7wr8H038yU2gvz+4D3qUh/wzkA3zci4n3t7MBdwjNTtvu23RTnGOpeaIXffCOn2YTlIQKBHUG9ZNW17uV7Iu5vVFmXjjhVMxx3kGnXCj0Dx37ZqKM2fV1bLhNMV1SDtlRTyoARS2WK2Up8z/yM2LF65dOnHEqCOoz0xO0dWTey/nAJHLi7mqVJmMuCPV75L86rBhj3M3uqavvv7g2tDJAUN+Mj0eUrMbpssQs7dihULCf2DY352L+z4/q//30n86wWSzU7F92XuUR3/j2mu5ZoH+VBDLUQZNsLIF7M3CJRtgy0DY5/Nm52oyYbD5VjYji8rlmpofUd+A+vLj/v7+ZSoyTJyhW65q+/qLF3sv9rTmkGO+5qBzn/LdGeYtt+ZK/KwbdVXXKl9h4kGngJhR0l9n0/icwMO9OnP8yPkb/eeBbtTBrm66LhzG5J5tFmq6F54BZKd8yriPsJjFx2Xzoq/5LYdgHz+MfqpGpXKAB2x4nH6HbXBuvM0x3dr1JwwOqg13L/9y4sK7EWO6h16rrVJtD0ZXbBwFGWvtt7jbcXtAXTYRkOZFotUhF0cHb85sZYR0B5mTUWw2NrhLkVlSF9/BzLH4BlpdL3KvKlbukP9lD2lOh+r90CKV66cD1t0DLKTpDwCzIF7eFG9Y66+gBmoGY3RWz5uZ4e5HWqMO9PfclTPZzdf5dm1JCZYGFhV88imTyBt2TD4ZV2oXNuIWYVo8Rdc+7m3PxEM796bhg+bf21nUYwvO8bU49v54//o3hq6KTFnUK1mDnqIAq+EziSPH15k9/FI+R2959xbwin8/FYR9y969xDxXrDWUtePdF53YXW2sNKgBA1zMA+UVb4G+ZtAvY6rzPAZcEi7MHK++57p+Ag7vekuOu8y9aMZetavmontA4BcasenSIJtualrD0p8/fw72/3305slUCuoMP2Ta0FOiPsKOZXbh+ZyhPwT+L36NqSd1wmvIwvhbLNaPU52vQ8mhzuMoz5HjFpJaLosgrgVppAWDN+ZOQE955CH3QKVcY2+k2t/jyIsT8gWycgeIgTSDvmpmSaG9hVyblHPQn/E/S8ykrm7nlT/Sb3vIzMvlvXueuBJ/zbVcEXZR99ihTt/t0qXf/Pzm3Zkv6K1TeUekcrJ0oAs7d+w8OpnlPzqfy6TTAfbUyMjCyMIC1EcSVqAPITdeKeT7Xm73px6ceLfjuogu+IIZ0UWnYR18mzLsfvUNdqaYkZ73vg3yvJVjWNk6MO3L5IPueidIfVNeglVnd7De5wQUAvKq9tYwdY2pUX9lHuyjRY2sFEsv4NMUc9Tt2ipRfdMl7xXP/AOyOCZLTHXRISvvbd4rdCCHORJzaR92qKN/u8JsSR40+sXgTKtsz9+BOsjX19efFx8tPn78aODOCEokjTr5nHy8pB0Zu0/jPeVxLr3kS8HFfnjiwvvfHLa9stAKPI22wdixTuqD5zot/Xt/FwU6rp0xFjPycI2Cz7ipbb3HBmobbhf7W/trOh1VXMOfreSYTVFbLa5uCJFqA8IDdOgomBeNuVeemVLqbbehd/Mb6/qRxiqoDpo5uPmTNmWed6UdR31L1FWGp8OusbojunpckOiiVi/q68K+3ny0/OXjRbAn8eZy6qrVuEyVmK7DZALFQ/puTEoeN/5h5jx+Cub+Y+QP/Y4/AHQnd8mDRx3XVKel977xrSjj6TAzaodyb7FeGF0YHR39ePTWxx9nJU19L+e3t9vjr4Gnb/HPsoxWRkc5q1zQTGrLtWqOitwwAR7oLyi/7d3zvF/c29tENsbWZt7Nb+gQzTWsQrYOc+ju6OL52jz606dPG0+bu6X10u4u+ztPNTtL2EVdU+dZqMjq55wJ6jxbStDN0nedSovchrP452q1OsKYC501rF7I1XtTopNEiRDosXSfpxY6ab3zY394uKVbV72zVqfq3WGKAB1Ld7SFK2umeRA4i1p4a1fMP/74+7r3YZs1v00/J88e2MXdgWYt592uHVW4FYLLShPqgVyoFQqwEnGAr5Jnm2ff3PMiFD9v9bQ99Ek2SnCCnqOID09wPW2KtrQK892nu7vN3d11XmlZ0RZ/CeoX7QfQL88QKH5FfUcdAJVzDLquk/VSQz9HuVTYq95R+V29NWK6qAOdBE8ZXZi9jkdI5zsN27fawgfmbSdoBZz1FdA/i+TeR+FkCkdu5q3WDH5U2mYYtsaN64Xt7VytSQV3G+4qrWu4hpZNDVFjVNi1uPCgmVl8karbKkO6raeMFF7k4L1Z3ttjNelY8tDFHHVZuVXzsoFevLclgweZbFuCcmldeqFGMMGOLUN9Zs495+uaM/WeD0njBB3mBp2rhK+vN5f1S5RLJBVVw52Is8jbp3BV2XTIFNjInbfxkD1/6Anby2e9bG34wm16663rhwnokZ45E1127xMZmSIptMvc5mZlclbqq7mCanuohvVnBd6YB/NudGRPZSsU+St5InN5k0S9jPae7YeOPHSYAz0wc6hvYumFAi6eOMC2lSsDGWpijNRQ52F9bgeAxdbnrp67AvjLM/iMT3/a07L05wF1rpmv4d4A+5fLzXWw37ol6Bp3IbVL46fK6XS8k5VtUmTg4QUdb/k+kncYPwL44dA1cSb6Q/4jMkdZeDEUu1KXqdbgDXfEFcAO6LEHVKxhi4DNSiIu+XwQVZQAsss1sJZ9Voa4tmdlh5xjE4mcN3TM3Jjj3qG+WWYcjoBB504Xzx6UIQxtWkfcYzfqMzNH7565+JtP1BGYOmP1HXPv5t+B/vXXT3d25eO/fPJ0fW+vsgD1mJtHhbFXylh6XyhOz99W36EKjwasXuEePuTQqB87NO9/4zsRoH/8csaVg4bOjHiZNn0uJWBMZasViNDibczFAAvWxNoaL2UhN+YdxVo2vSIdVPmVVZtCR8OyWbZX6KK2oVchLlWe2XwMLitYa81WMwot5XtgZ6UxGXphN+rk8Jole1SpnARz79/N1BHmviHsK7uydnw8dfeYpMpc3zerug+eGWyd+PDUwXP9ZRLFZ2D9r47px74XwdK/9d3RSLwNOfYM7BpzqxpL9LeKzVVsHCtvFhgxbMraZfqrxVyRvRxkNELP3/KABX0/cuQeZkYNXdiFW5uG0Sm7Y9YG3cwcCROXkbAreUBZ1mw1pb4j1I10p8COsRt1cW9nCFV59wPMpZUnUH/8pElsJ7jHJFeHDa9/h2wtxYfiAf5f+Jw9wm2vr603XhnT0Xe+HzWc5wGJP2/WsXOsHcgcFwpA50JwxzXQg71Zw7/j5VWDs5so9mHXOoo8dWkU7Ar2a2Ul+lDfXtteq2is/JYxx8yRyyO3rU+YFW14Z1JqMPZqqkpw8Ki167FD3SqyKIDeMvQtH9Pb2J+uKI9ffqovV3V7TPLtt2Hu3S4jnH7uqnaR7ZhB2ju8vPX/jJ2BitswDECbToYSGxbZtQ1ALpDPuD/JT+yrewyAY4xRILCse3LTcgNg94IsRbIlx25KKIHyA+rzgXya87z3x9vAmXE8k0z4n0wE8jlxzDnG89yYdgjElKd5emE2xpSj+OPh/5xcLctSlkLbVNNgGl5bw1KP0J7auKe/2zt1b5fx27ht2zi+X8Z/wcmul4o1jm+X940U7bmfdDXWR+5Ua43NPhcicF2qszgB/HQur+1vU5jBLzowkFi5XgtgYlvLuOtS6pcYRVfYEAy3PpB1M2p97vrX/eu9lJ/27tZ91+HPnd/W9H1/u3EpPzaqpHNmdV/mzNrOOZ8bCSiaMM2XMNtm5HPEgzfnpM6nbAOQqG7oV+dVRZ1KFBFV9Z0T9U4k4nXBmReJqCDihhMMoWOvvPcheOecxpQksL+dihPqJUOGwyfpglNqkYpWmyhnaFGgwRJZ175fH9yeTR/6u59r2TXGEJrp+8Z668kQOYR0fvCUEFDm74OdtBKKQfg+H68SY2VMYYeWeidGS7EydJ/qSru2cXjC0HUsD9I4chicd103BO+pG5ePt3ppOTfZGred/qFJ0EP7BLW9sPpq4tQWyNsRwjCgvKpy0gW1sCjVhLBq6E7HEKX1cMzlYHfikckhgDLH6XgwBzagEWLoE/IB6/C3/TJQjRAGgqiZkGNFaTcFvH/o/39gs04i10JpT+8InPsiCEIGyNsRsu6cp1nXjaqixZwdJb8c50cKCv/fi/a6F0BMk810Xj7fPrKRko25BpEdgVIDp3Sl9dFYZ4WxGkIQ/J6M48fo/C1J1RylZcmJ0DnN7LO+ar9uVb+0SaJ0YXQnHGBrZp4q807lBNRu3mOTvqRkubdF749Lr2ixUrt4IFMKwXIj/+/vkeGGO+9P62XQsCGCQ1pAzHxk1aPZ5uJAOV2BfAMCPEAKBtgjEik9bIg77w8KAlJVPS6a1scx304UXHp3wPvs00YqlqonCCru/OVBIV7G6XTK3fo4Y2jKXfrrA1tR3fXpUBlOwRc/HJ74Eo8/xAAAAABJRU5ErkJggg\u003d\u003d","doodle_type":"SIMPLE","fingerprint":"151314e7","gallery_url":"http://www.google.com/doodles/mary-g-ross-110th-birthday?hl\u003den","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/4WMMyZBIzhWnJi-lfknABhr9C0wdLV3LHhoOSxVJEX0ml6i8KxAfBs5lYvVgqeJ2QtDDm5ARqzOjXxOP0tRgHsAAl427PNU9rjcpshQ","height":200,"image_id":5629499534213120,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Mary G. Ross\u0027 110th birthday! #GoogleDoodle\nhttps://g.co/doodle/b8nb2p","short_link":"//g.co/doodle/b8nb2p","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android0_fp.json b/components/test/data/search_provider_logos/ddljson_android0_fp.json
index a66e7f58..63d9351 100644
--- a/components/test/data/search_provider_logos/ddljson_android0_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_android0_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Tama\u0027s 18th Birthday","doodle_type":"SIMPLE","fingerprint":"735c8999","gallery_url":"http://www.google.com/doodles/tamas-18th-birthday","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/wyeF_2wwEDE_ln_ZBDbWYHMFkfhFCHZuXG68UBqCrJEMdHmzG7bOuVJFfKYfK96FgpyO98XDNdkko4vEoXC2EpZYu_HA7jtQd7N9fPmc","height":200,"image_id":6291066231717888,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616.2-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Tama\u0027s 18th birthday! #GoogleDoodle\nhttps://g.co/doodle/mzbmtf","short_link":"//g.co/doodle/mzbmtf","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Mary G. Ross\u0027 110th birthday","doodle_type":"SIMPLE","fingerprint":"151314e7","gallery_url":"http://www.google.com/doodles/mary-g-ross-110th-birthday?hl\u003den","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/4WMMyZBIzhWnJi-lfknABhr9C0wdLV3LHhoOSxVJEX0ml6i8KxAfBs5lYvVgqeJ2QtDDm5ARqzOjXxOP0tRgHsAAl427PNU9rjcpshQ","height":200,"image_id":5629499534213120,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Mary G. Ross\u0027 110th birthday! #GoogleDoodle\nhttps://g.co/doodle/b8nb2p","short_link":"//g.co/doodle/b8nb2p","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android1.json b/components/test/data/search_provider_logos/ddljson_android1.json
index 63fd8eb..5a3e040 100644
--- a/components/test/data/search_provider_logos/ddljson_android1.json
+++ b/components/test/data/search_provider_logos/ddljson_android1.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Gilbert Baker\u0027s 66th birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAADICAMAAACJWIs0AAAAA3NCSVQICAjb4U/gAAAC/VBMVEUAWs3sIXKzPpzz3rP/QrW0xdzf4ee1zrVPSbz/W8Cypc7fOJa1vLTewLXuvbzrR5qytrPk4sMAYte13ue+1LzjtbP2/PeWRK7rtcLiyMHg3trosLDuMnocbNz+z7MAWt745eY8ZdzRzMHvx72lYK34MpS+4uMDaeSzz+7tg6mxmNHmNIzyl8bzerjh0rftcKb9u9e9v7r/0O6MdcfDsd7u49v777y11rX70ObgVZggVdCw0sn69+3svNV2Tbr3tbXDjs/i6/D/37TzxtnuNInUN43zts203e3QmNb/M5m9vsbyjMBLft3uMZXB6++0ecAAW+cAY+YAbPfR1db+5b72zbTlys7VjtHF1sPvKnvCs7pqUMD0/f70QofSyNzvv7W13rTqXKXFwNPv7/Gz1uDlfb/qZ7L19trGxLqoRK3psLP35rT3OKP28sj85PH2R6e/zrXYY6L39/cAVNbMzMz54bzB1eBrg9csZOP41r7Ov8zvtbX5p9nrvcq25++1vcL3tdfQ4O/1MnzCcrbR3+De594AbvC0zuWMSLLg1tG9v87/57ZPWs3OxNhOXde4Rqezz9Tn7+f6VZW/zeDvO5W82Li1w9QAd/ru0bbFxM3x09vwKXPvt87SgsPUsbTTxLWLitf2M4v/7sjMX6j////77/Tw9/P+iMkZXt215ef6Va7Ez8+/3r37ybD+9/j+fcji0b73wLXl9/Y8UMb/1rQAZN6wxc7+bb7FxdbDwcX27rXUPqDyTIx1WMjNwNXnOJP55tz+/vTT2s74NpTu4sMeburFZq731bTFvs78TpnU39ULfPj2b6MAY+/5OZ3S1sX/9NkAWtby2cj348j5a7YvVc/S8fXT0LW73LfT1uFoX8z/58i3z97/Oab/RavyysnExt3kNoziytmzvs6zvtWNV8DylbFagdoJbu/2vb/nwLMrdd/+V7X+m9YQaeL57+bl6NxSVMdQcdi/1c33vNXwWpW1xbS019W1tr3h0MPAPJv8uNXo6Ob2YJmz1O9NfvOhAAAA/3RSTlP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j5KxIAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAIABJREFUeJztnQlc1HX+/yUP6iGgKUwyS4GY0q5Hoj+QVZT1qFYSYzgMMyQdUlRAG8EkRHNyUHRNSZQBEsKF8aoxD0pCBQddbIRRwDSP0dV+/TQswFIUG/fx/1zfcw5g5jvan+W1GwzDOAw8531+3p/Pt1tRlzqfuj3pF9AlO6iLamdUF9XOqC6qnVFdVDujuqh2RnVRfTJS2/XZu6h2RnVRfTLqstUudVRdVDujuqh2RnVR7YzqotoZ1UW1M6qLamdUF9XOqC6qnVFdVDujuqh2RnVR7YzqoiqYVFKDwZApetIvA+oJUlXLiovtu3RhNxm9bFWmVuPqCBV1JkqjUKmeLNwnRVUt9ZsMlJvrVVxcLBP86UWit98W/EnN/jCZxpEvjULxBME+IaqGGTM+/f33kViTJ/sZpAKRfVulUr194Pz03dOHDFEJ85QmxHpmlVQR5ToGyAhsVJRCqrLfa7CkJ0JVlOGe9umnBOrvQHeB0RpscsciYJ0HJk48P2TI7t0rd78GFBs7UbAXzP9hmJVIlqnVAr87xiRULFctklgrblbJRI/LfJ8IVYM7pHoXCHG9SzQ5sViqVneILUR5fvqQ6cAyV67cDbQSfXoNYbUbVZmoSJaZqXV1RUY6xhJVNmAgjSLTxC8h+At8ElRlGe4DBnyKsRK9CoTATg4I8PJKtIxWBK1FNfHAgfPnpyOULAGaFNX7a+z0+jMN2iiYGr3zzhiu2ibr6NgSZeD/OiZA26gnQdVvRhowVSQ2VcwVkp0ckOuV6JUI8ygTeFVDAM3pQ9gs+2Ox2QJbHWKPFy8zaB1dHccYiU/PPOQWDdc4+ZQF0BOgKp1x91NGd2Fc/f1VWr9T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","cta_log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"b2d3e5e8","gallery_url":"http://www.google.com/doodles/gilbert-bakers-66th-birthday","header_layout":"LEGACY","id":37727880,"intent":"BUILTIN","large_cta_image":{"height":200,"image_id":4817033455730688,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.2-scta.png","width":469},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/zCtRFJP-Rz8iKp1XXnazo9vWr2YMBb-vEzhr1C3-QfEQpEhzMyajvLqSMDS6wPpOEImC7RdfdwxiI9ofoKahlSCu5HJ65bc0lIeHyHs0","height":200,"image_id":5661458385862656,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.8-law.gif","width":469},"log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:27,type:1,cta:0","search_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480","share_text":"Gilbert Baker\u0027s 66th birthday\nhttps://g.co/doodle/2ythp4","short_link":"//g.co/doodle/2ythp4","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Prayoon Yomyiam\u0027s 85th Birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbIAAADZCAMAAABy6UUDAAADAFBMVEVHcEyVmXmjmnp9jXpscYJpaYJhgH9Lln5UhHtCh3ZxdYKYm3mMm3uTmnqdm3l8mn2EknZscINpaYJsZoJViIFKmX9Mln9RmIFqn4J6pn9ZmH9bgYFraIJqa4Jfe4FjcIFSj4BPk39pa4NXeHxCh3ZYinVmbIJqjXZzj3Z8kXWDg3xpZ4Nydn6Ok3aflXWKinqXk3WkmXZwcIFpaoNIg3c+iHVNiXVhjHZec35QfnpmhHyrm3Z4d4BnZoJkd4Jufnt1gnx6iHpqbIJ/e3+Dmnxrcn5imH5ocYJrboNra4NjZYGIqn50mX23n3hsmH1wdoNuc4NuaYRtcYN+fot1cItybolvbYafo4Tv0sbXtq6KkJVxdYOMoIPuyLP/6dZ4co5pan5sbIVnanhgYG1YXWNPT1FKSkpISEhtYFiwlqHBuapWVlp7bmD/48VCREWShIajjKN8oolvkptxeYuSqY+7naiAqZOUvJ95gZWer6E6g3Kqya2Sn55mpZFKiX1goYxBjXu81LhuqJahwKZvdIeIs5t2rppYnIdflo5ZiYiqqo+xtZ1qh5E/lYVhiI2DeZc7oZJ1hp1yfpF8dJF/d5SstLd0jp6Lfp5olJV6hKKLtqyokK97jKSSgqWHfJuPgKHMqazlvqyYhqhwhpj/1rX/3b7/38P/2rr/4MZ+saPSs5j5zbD/4sn/7b3/5MyEiKqhhNerf/DFk/PftOFbUUrQsYWOdmVloMSxgf+2gv+ufv3yypf/2p7hv5W6hf//1pz805qylr2eiq//5dB7rc6CYcmYc9pqUbAmJmaje+eSeMS/ppQjJGI+NYCojoUrKWtUQ5h8nLv8zZT8xoz4v4jvrod4jaH4r4XTn4SEdK2/lH92b5bzrXjkrY7olGzacF3rpHSZtMGrgmv/tId3la/Yjnz+sIH/5LD/wHr/uXD/vm7/vHH9rmrrj1X1oGB6tNiNtMyAs9SBttdspchzqs1emr+/YHXPd3jGanfBZHZyjpx+h6f5wpHBZHZKSktdmr/AOsn2AAABAHRSTlMAZVx8jpGZr6a5if//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////iHw/gbCdEjKUIQAAZf5JREFUeAHs0FWCRSEMA9Bh0qSF/e/3uvvns4O7/L2hnzT57xKQYJzJO4KabNsdq841H0nuwVnkYIFgNHRHNqE5u3CiHJE7UnCj6+9KXioAumdN+jq4o+5+4Q1eUPiKSHbFI+EhI9F/csN4ZrxzMqImtDwXE8SeKP6vnwTC0ixcBHu5UoVENBBsqVvf/2X2XK64mKITuxOc4TfnDJf1cmQNQRQbIu4NScKDIN4J8i/KOVRNNxDNVrujm6T61NI6+FA3u7phE+VrqAr/N83Re31T17vq+ZvBcDRWJtPZnC5c1/X8IPTcIMTLiCo8luNhbA+T4XCY3D/cXx6frIYsbHWVpEvlSvTXdwLrDG2F4YZFiGcplBruI80uUkkXRRLVRMW9MVG+CUKI3XV04xw9A2+6RFHznt7LVeVWEBu9PCmUFoEru7NisZVlf5d9m0sjr4ww9JVsH85rWWdkANaQ0BvuYShJwkE4rOn5x/q81Fa71XTyc0OdEplm6o71XYc2/6eu4ujOGF3tSPXVeDhcqU+jh2J5nHkemG1QWhR4gTw7nn80TuwUyMBs9HxJhgySYTxMVuogSa+dKfLyfHcAMnQGZhU0vBLEUJQLi9bnC8jGHJnx8g0yolqmY+g1YobGAGKEiZobjPctZMs0iW1K6EJ2i/HyeJy7s6k729PvcrN56HlBgKL9DK/33yCrguksLEdREO7W4yqtbAXRbrd0rWoib3GVabpGvnaYa2wI0QsZA2uu69o/IkuTAXmdTiYv1He9wMfPYY7o3HMxdm+nFkiarAZJHDOZPY8uZNaPS5Q2O85VZHbnwJEhKqUhyleisH2lF8gMmyP77uyTvunUefXwRte6Pfa4IwQ6024SGyepslRodzIrovnTbCqFs8DzgOO7ZPhOyETGTowfRvQrMlGsmEnQGEZRhNJgjtX523XKep/bsMacXCDratzy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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"9eefd996","gallery_url":"http://www.google.com/doodles/prayoon-yomyiams-85th-birthday?hl\u003den","header_layout":"LEGACY","id":69128162,"iframe_height_px":217,"iframe_width_px":434,"intent":"BUILTIN","large_cta_image":{"height":217,"image_id":4905660105883648,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-scta.png","width":434},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/RMr0-ruAIq-5Z5He0s8p8tmIsP_GVONwIDEEiOWtzOeFLQ9xsM9JluujPSmpokDR_bDlo-oNzuyMZQmjb3p_gJEijB3QJmaEte_XJDW0nA","height":215,"image_id":5750085036015616,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904-law.gif","width":430},"log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:27,type:1,cta:0","search_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den","share_text":"Prayoon Yomyiam\u0027s 85th Birthday #GoogleDoodle\nhttps://g.co/doodle/2645d6","short_link":"//g.co/doodle/2645d6","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android1_fp.json b/components/test/data/search_provider_logos/ddljson_android1_fp.json
index 3ccaa7d0..de50ac6 100644
--- a/components/test/data/search_provider_logos/ddljson_android1_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_android1_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Gilbert Baker\u0027s 66th birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"b2d3e5e8","gallery_url":"http://www.google.com/doodles/gilbert-bakers-66th-birthday","header_layout":"LEGACY","id":37727880,"intent":"BUILTIN","large_cta_image":{"height":200,"image_id":4817033455730688,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.2-scta.png","width":469},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/zCtRFJP-Rz8iKp1XXnazo9vWr2YMBb-vEzhr1C3-QfEQpEhzMyajvLqSMDS6wPpOEImC7RdfdwxiI9ofoKahlSCu5HJ65bc0lIeHyHs0","height":200,"image_id":5661458385862656,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.8-law.gif","width":469},"log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:27,type:1,cta:0","search_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480","share_text":"Gilbert Baker\u0027s 66th birthday\nhttps://g.co/doodle/2ythp4","short_link":"//g.co/doodle/2ythp4","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Prayoon Yomyiam\u0027s 85th Birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"9eefd996","gallery_url":"http://www.google.com/doodles/prayoon-yomyiams-85th-birthday?hl\u003den","header_layout":"LEGACY","id":69128162,"iframe_height_px":217,"iframe_width_px":434,"intent":"BUILTIN","large_cta_image":{"height":217,"image_id":4905660105883648,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-scta.png","width":434},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/RMr0-ruAIq-5Z5He0s8p8tmIsP_GVONwIDEEiOWtzOeFLQ9xsM9JluujPSmpokDR_bDlo-oNzuyMZQmjb3p_gJEijB3QJmaEte_XJDW0nA","height":215,"image_id":5750085036015616,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904-law.gif","width":430},"log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:27,type:1,cta:0","search_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den","share_text":"Prayoon Yomyiam\u0027s 85th Birthday #GoogleDoodle\nhttps://g.co/doodle/2645d6","short_link":"//g.co/doodle/2645d6","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android2.json b/components/test/data/search_provider_logos/ddljson_android2.json
index e32feea..4a94989 100644
--- a/components/test/data/search_provider_logos/ddljson_android2.json
+++ b/components/test/data/search_provider_logos/ddljson_android2.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Happy Halloween!","cta_data_uri":"data:image/png;base64,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","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Happy Halloween!","cta_data_uri":"data:image/png;base64,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","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"iframe_height_px":230,"iframe_width_px":460,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android2_fp.json b/components/test/data/search_provider_logos/ddljson_android2_fp.json
index 9aa57e3..87de73b 100644
--- a/components/test/data/search_provider_logos/ddljson_android2_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_android2_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Happy Halloween!","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Happy Halloween!","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"iframe_height_px":230,"iframe_width_px":460,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android3.json b/components/test/data/search_provider_logos/ddljson_android3.json
index 1ec3d5567..05233eb 100644
--- a/components/test/data/search_provider_logos/ddljson_android3.json
+++ b/components/test/data/search_provider_logos/ddljson_android3.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAADmCAMAAAAweAhcAAAAA3NCSVQICAjb4U/gAAADAFBMVEX/////1hD/zhD2xg+UhCqMey4pMUj/1hD/zhCUhCr/zhCchSn/1hD/zhC1myH/2Qj/zhC1myH/2Qj/zhAiLUn/2Qj/zhD/2Qj/zhC+pR//2Qj/zhDctxgiLUn/zhD/zhApMUj/2Qj/1hD/zhDvxRI8QkI4OkAyOUIvNUYpMUgiLUn/1hD/zhD2xg9KSkBFSEAyOUIvNUYpMUgiLUn/2Qj/1hD/zhD3zhBSUjsyOUIvNUYpMUgAAAD////1+Pj//5nu7u7j4+PM6+G86di26tb/5hKt58//3hH/3gm03c7/2Qio3sz/1hCl3cbMzMz/zhCn1sX3zhDmzj6c1cTvzhCd1L/Ew8P2xg+fzr7vxRKUz72RzrfnwQ+YyLqzvL3mvRaTxbSdwrjevhiLxbWxtrTctxiJv7OLvq6jtbSUu7DWtRmEvq3MtD57vaelra7Urg6JtavPrRmcrayFtaW7rVDHrBt6taicqKucpafGph6JqqWop2KVo6W+pR+EqZtwrpx2rKN6qZy7nSGZmZmYoFpspZxupZR/oZS1myGMm5xjp5ODnZuZmWa5mAyUlJSjl0StlCOElJV7m2ttmZNlnI1hnJSwkgt6lJSnkSVxloeCkoWHjpCljSdbmYl7jI6ejChlko10jIxTlIVokW1hj4SEhISlhwuchSlyhouIhlFTjopWjoNzhISUhCqdggptg4VMiYV3fH2PfSxbhH9pfoeMey58e1ZJhIFSg3tWgnCReAloeHtCg3Zxc3SEczBOe3Z8cjFAfHFicXNPc3J6bDJobV2DbAl0ajNZamxmZmY4cmpBb2xQaWVpYjllYzlgYWFPY2t1YAg8aGEzZmZiWzlbWTlNWGNOWFNoVgdZVDtLVVtSUjs+VFkrV1NKSkBNSjlYSgZBSVBFSEBCQkIgS0c8QkI6QkonRkQ4PklKPQU4OkA8PCU1OjsyOUIxOUkvNUYzMzM+MgQoMzgpMUgiLUkmKjE0KQMhJSooIAIaHSEVGRkdGAIWEAEPEBMICAgAAACHvmIfAAABAHRSTlMAERERERERIiIiMzNERERVVVVmZmZ3d4iIiJmZmZmqu7vMzMzMzMzMzMzM3d3d3d3d3d3d7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xmmAmwAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7H0PQFTnlS9Nmjw3fem2W19es2n+dJvsbtO0291m3WarWa2GjMMgzI4EZgAHGQFlKhUogxgQJAsBbVOIUsnKHzFmmdVhR1GqFoOKbDExaGpAiyRYIGOn93nnWq+uq1v1nfP9u98Mg7G7b1/2vfINcGeGO3fu/c73O+d3zne+c2Niptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SbbtNtuk236Tbdptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SLbHfxJzMe+tJDMyLfnG4fW/v8V7/6OfLkrkcTEhIeJSKZ8chTX7r/Yz2r3+V2/wNEIA8kgzw+Q95IwEYE8oWEhOSnET4zHvjcjNscY7r9J7TPgRQeuTsm5vFkc3LCQ/jOfxeSuZs8A8HdPysh4UvTovm/1O66D7v6rqeg75NBDI+gEP4H+c8jFovlEXxy9xet8OZ/Z//8PL5137R8/rPbfU8lzAI03DULO/0PQApftVge/+S99947857PfqHmC5/9vZn33hsz86vmWSiQP8KdHkITlJz80DQp+M9tX8XOvi8m5iFzgvlLn4y5d+anTvQ98adfV4LPKH+t67qmPxN4ZvZj3+z52u/NjImZ+bQ5wQLY+Xwy1W7T7T+lzcBBfzealYTfh2cPfrfkazNnjwUv63pIVYKqElJJg2faBV1XLj8ze/bMf8p//NOwL7K2hEfEQabb/8l210OzngIFddcXoY+f/nTMzJmPfT0E8ggSUbBNSMG34Ie8o4S0C98K/cnDM++95wEzxcyMR2c99ZmP+0r+f2ufT6Ds+L7H/9L+4MOzr19FiCBOgkQK+Ajic7Lh0oJf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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAADmCAMAAAAweAhcAAAAA3NCSVQICAjb4U/gAAADAFBMVEX/////1hD/zhD2xg+UhCqMey4pMUj/1hD/zhCUhCr/zhCchSn/1hD/zhC1myH/2Qj/zhC1myH/2Qj/zhAiLUn/2Qj/zhD/2Qj/zhC+pR//2Qj/zhDctxgiLUn/zhD/zhApMUj/2Qj/1hD/zhDvxRI8QkI4OkAyOUIvNUYpMUgiLUn/1hD/zhD2xg9KSkBFSEAyOUIvNUYpMUgiLUn/2Qj/1hD/zhD3zhBSUjsyOUIvNUYpMUgAAAD////1+Pj//5nu7u7j4+PM6+G86di26tb/5hKt58//3hH/3gm03c7/2Qio3sz/1hCl3cbMzMz/zhCn1sX3zhDmzj6c1cTvzhCd1L/Ew8P2xg+fzr7vxRKUz72RzrfnwQ+YyLqzvL3mvRaTxbSdwrjevhiLxbWxtrTctxiJv7OLvq6jtbSUu7DWtRmEvq3MtD57vaelra7Urg6JtavPrRmcrayFtaW7rVDHrBt6taicqKucpafGph6JqqWop2KVo6W+pR+EqZtwrpx2rKN6qZy7nSGZmZmYoFpspZxupZR/oZS1myGMm5xjp5ODnZuZmWa5mAyUlJSjl0StlCOElJV7m2ttmZNlnI1hnJSwkgt6lJSnkSVxloeCkoWHjpCljSdbmYl7jI6ejChlko10jIxTlIVokW1hj4SEhISlhwuchSlyhouIhlFTjopWjoNzhISUhCqdggptg4VMiYV3fH2PfSxbhH9pfoeMey58e1ZJhIFSg3tWgnCReAloeHtCg3Zxc3SEczBOe3Z8cjFAfHFicXNPc3J6bDJobV2DbAl0ajNZamxmZmY4cmpBb2xQaWVpYjllYzlgYWFPY2t1YAg8aGEzZmZiWzlbWTlNWGNOWFNoVgdZVDtLVVtSUjs+VFkrV1NKSkBNSjlYSgZBSVBFSEBCQkIgS0c8QkI6QkonRkQ4PklKPQU4OkA8PCU1OjsyOUIxOUkvNUYzMzM+MgQoMzgpMUgiLUkmKjE0KQMhJSooIAIaHSEVGRkdGAIWEAEPEBMICAgAAACHvmIfAAABAHRSTlMAERERERERIiIiMzNERERVVVVmZmZ3d4iIiJmZmZmqu7vMzMzMzMzMzMzM3d3d3d3d3d3d7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xmmAmwAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7H0PQFTnlS9Nmjw3fem2W19es2n+dJvsbtO0291m3WarWa2GjMMgzI4EZgAHGQFlKhUogxgQJAsBbVOIUsnKHzFmmdVhR1GqFoOKbDExaGpAiyRYIGOn93nnWq+uq1v1nfP9u98Mg7G7b1/2vfINcGeGO3fu/c73O+d3zne+c2Niptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SbbtNtuk236Tbdptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SLbHfxJzMe+tJDMyLfnG4fW/v8V7/6OfLkrkcTEhIeJSKZ8chTX7r/Yz2r3+V2/wNEIA8kgzw+Q95IwEYE8oWEhOSnET4zHvjcjNscY7r9J7TPgRQeuTsm5vFkc3LCQ/jOfxeSuZs8A8HdPysh4UvTovm/1O66D7v6rqeg75NBDI+gEP4H+c8jFovlEXxy9xet8OZ/Z//8PL5137R8/rPbfU8lzAI03DULO/0PQApftVge/+S99947857PfqHmC5/9vZn33hsz86vmWSiQP8KdHkITlJz80DQp+M9tX8XOvi8m5iFzgvlLn4y5d+anTvQ98adfV4LPKH+t67qmPxN4ZvZj3+z52u/NjImZ+bQ5wQLY+Xwy1W7T7T+lzcBBfzealYTfh2cPfrfkazNnjwUv63pIVYKqElJJg2faBV1XLj8ze/bMf8p//NOwL7K2hEfEQabb/8l210OzngIFddcXoY+f/nTMzJmPfT0E8ggSUbBNSMG34Ie8o4S0C98K/cnDM++95wEzxcyMR2c99ZmP+0r+f2ufT6Ds+L7H/9L+4MOzr19FiCBOgkQK+Ajic7Lh0oJf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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"iframe_height_px":230,"iframe_width_px":409,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android3_fp.json b/components/test/data/search_provider_logos/ddljson_android3_fp.json
index f64db50..293a5ea4 100644
--- a/components/test/data/search_provider_logos/ddljson_android3_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_android3_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"iframe_height_px":230,"iframe_width_px":409,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android4.json b/components/test/data/search_provider_logos/ddljson_android4.json
index 5d84045..fd92c89c 100644
--- a/components/test/data/search_provider_logos/ddljson_android4.json
+++ b/components/test/data/search_provider_logos/ddljson_android4.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","data_uri":"data:image/jpeg;base64,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\u003d\u003d","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998668000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","data_uri":"data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwP/2wBDAQEBAQEBAQIBAQICAgECAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCADhAZADAREAAhEBAxEB/8QAHwAAAAUFAQEAAAAAAAAAAAAAAAECCQoDBQYHCAQL/8QAZhAAAQIEBQIDBQEJBwoRCwUBAQIDBAUGEQAHEiExCEETIlEJFDJhcYEVFiMkQpGhscEXGDNSctHwGSUmNDZHYoLC8ScoNThDREVGU1VWWHOSstXhN1djZGV0dpOXs9JUZoOGtLb/xAAeAQAABgMBAQAAAAAAAAAAAAAAAQIDBwgEBQYJCv/EAGIRAAECAwUDBgcJCQwHBwMFAAECAwAEEQUGEiExB0FREyJhcYGRCBQyobHB0RUXI0JScpLh8AkWM1NUYnOTshgkNDU3Q4Kz0tPi8TZWdHWUosIlJkRVY4O0OEXjJyhGZKP/2gAMAwEAAhEDEQA/AERKl+9xw8Z+3vcbw+6L/jr/AD598fO3aYT4ynmp8lO4cB0R6SyhqdTpxg4Zp9+yWzEqIPAdd4vYX8/yxhzK221ErwAZbhw6ozcKlKNK98XSFZT4wTFJjdikBTa3jtchRLYXdQ9bHGA8s4KtYO0D0w4hKcVF4uysZK5KJSoJcho2McAQbpS2+UuLTc2upwWBSd1DYAHnY41iZybBKXUIGfEZDu82sZhl5ciqFKPYYQ3IoN16HaS/FMLiV+CPeHXEMhSl6Qrxg4UpbSdiTsPrhSp95CFLKUqSgVyAJ04U16ISmVaUoJBUCTTOMth8u4CLUENzZwrcZcSoN+9Btl1tYSke9Fzww8tRATcAEX9Mady8swwMSmRhBGuGpBHyaVoN/ZxjOFlNLNAvMjdXXrjYMlyjlb0IXApTsIHVP+LExL4Wz5UtqhVq8bU+8VI1EgBO+wAxzc9fKbQ9hIAepSiUih34tMhu4xsGbGlyjiitcycujXOM3g8p6PS21aDL7jbifFLz7rg1FNxfS8NY/wAHtjQvXwtoqPPwpIyoAPV54zUWTJADmVNd9YvswyvpmJYRDGWoSgabBoqaUkD4dSkaVaL8C5tjAl71Wq04XQ6SenP0xkOWbKrTgKBh6I9kuyhpVtlTAhC6hRufEdWshQv8P5Vgr54Ymb5WupeMroRwAEKbsqUSnCE1EZPA5YUnAp8knhXgm4s6guKIOygdSgTYcdxjVTF6rXmDm+tJ6DT0RkIs6VQMkJp1R62su6JDmoSCC1qUoqKkHUSTqA+IK0p4HoMMrvJbpTQzC8NOMKEjJ1ryaa9UZBB0xTcCEJg5LAMAK1ENQzXmIVdQVrSrZRtc/FtzjXPWracxUvvuKy3qP29XRGQhiXRkhCR1CPQ7T0hfJUuUwKVKWVKUiHZbWpR+ImyEgqUABcC+2G0WlaDYol5ylOJMK5Bk6pFeyKZpelidX3AlalAghSoRpV1AbqIKSNRO5wr3WtYCnjDoHzjCfF5Y5lCe6BB0tTEElKYaSQKEpcW8Lt+IpTqzdSnFOFSnN+Aq4AFhgPWtar5q6+4TSmtMhwpp2awaZeWSOagcYubsulLyfCdlkvW2SklK4VohRbCwg/CCNHiKt3BUcYiJmcbONDrgV0KO+le+g7ocLbRFCBTqhSZXJvi+5svvpSiwhWRslNkpF02CUjbBGandOVcpWvlGBybW5KYqe4Sy3lgoNB1pJWIZgKsLbXCQqxt88J8Ymt61kU4mDwI4CFrhYF1KkuQ0K4hwFKtbDbhUk2BTqWlSwCPQjCQ7MIIKVLBHAkejKBhQRoDFliaSpKLUVxVPSWIWVJJW5AsqXdGyfiBACU9gADyd8Z7Vs2wyMLUy+kcAo0hpUrKr8ttBPSBHiXQVErQ22qmZOUIWhxI9zSTraFmytwFK3bW7kgncg4fTeG3QSoTT+IgjyuOtBoPTwhJkZMinJIp1R7GqRpNq/h07Jxc6ipUAwohQFgR4jS7H9uGV2zbC/KmXvpn1EQoSkqNG0fREGqlaXSgg0/LnAXG3Qn3SGKgpCkLQEKIQoN6kX0k2IuDsSMELXtYqymXQaEeUrfWtdc89erfnA8Wl6eQnuj0CmqYGofcGToClLWo+4QadSlbmxLeoJ9Bxhs2pav5Q8cgPLV7YPxeXHxEdwhJpalyS4ZDK0klNrQcPYaUm2kIRdN73O+53ODFrWtTD4w7T5x9cDxaXrXAnuEV0yCRIBSmUwASq10mEa0kk2PxIJ3HO9yMNm0bQOZecqPzj7YVyDXyR3Qh2nKcdSA7JZaUA3SPdWhYpVyLJvtfBotO00GqH3a/OMEZdk6oT3QbdM04mykSWXA6wu5hGFeYdwVIUd7C/rgKtW0zkp9ylKeUYHi7A+ImvVFwVLJUspU5LYFZSkgKMDCGwuCQLND09MYwmptIIS64AT8pXthZQ2dUjugzLpVteAg/K4HE/ikNdK76rj8He998EJmb3OL0p5StO+BybfyR3CKxg4BXxQsMpJBC0qZZKXQQAAtJQQq3z5wjlpgaLVXrOXng8KOAjzrlcnWgIVLZcpGoEBUGzcLAsk3DYVqSO9zhwTU6FYg66FU+UdO+C5NvTCnuEeYSKQNeGBJpaS0kBClwTTq9rDWpa0FTjm3xG6vnh0z9oqqS+7Q60UQOqlch0aQXIsgeQnLogGTSAuNu/cqXhTIcDdoRoJBdBStWjw9JWb7G18AT1ohJRyzlFUrzju03wORarXCnLogzJJApISJLKCE3sBAQVzwSNRYKhci5AI3wXj1og1L71fnq9sFyTJ+InuEE7IqdW14DkilHhEEBH3PhkhIsQfhbSoG3G98Gi0LSSvlEzD2PjjV7YBZZIwlCadQi3KpKkUgINOSlKEi4DcGykA7WJ2BubYyhbFsk4vGnqniowjxWVGXJo7opP0xTzyVeHJJcwspISpMIjSSdwtW41ELAJ4O2FN2raSCMT7qh86CMuyRkgd0Y1FZf0+9DOtGDhQt1kpDiodRSlwkFbrbJcAVdW+kkbbXtjas3itFDoVjXhB0xbtwJp5+3WMdUkwpNMIz6PVGMqynpBD63Uykva3C6Vri40NBZ3Cy0h9LesE+U28u3oMbUXvtkthJepQUySitOsitOPGMY2XJ4qhFTWupp6Ytr+UtFlZSZVoSiGLPiNxcWmIS2bkuFxUQFLfJvdz4wO+Mlu+FuBNeWrVVaFKaV4Uw5Do0htVlSRPkbqVqa+nXp1izt5SU17w4qFgPwbSFa2VRT6nfCWAApCi+NaVX3/ACrb4zFXxtXkwHXOcTkcIpXpyy9ENCyZTFVKBTrPtjEKpytp9t2IimHX2laYVCCyXjDsBKA2WzCpcKosqcCTdBSUC4II3G6sm9loqQllwJUKq1pU51ripzcq6g1NCKRiTNkyylFaag0Gmndv/wA41fO6Ig5c2xFMzCIiYV0w6XGvCiGY1lyIJPh+661h15tsbhJGngjbHVyFuvTKlMrbSl4YqGoKSBvxUFATx14xq5izm2wFhRLeXGufRxEWBqUS9x9EMozNDLjyUlbSVxD6kLClJW22h3xFo8u+kbC57Y2S5yYS2XByRcCdDQCvAmlAeuMZMu0VYOfhJ6zAmsvlcKsIYcj3w0FoWltMQ2dTZUnxHnFqCVNpWQhSkjY3HpgpSYmnU4nA2mtCK0Ou4DjvAPtgPtMINElRpwr5/RWMafhIly6m0xDelW4Lzo02TdIOpeok42jbzSMlFJy4D2RhqbUrMAjvi0OtuIXpLj5J3H4d4nfe3x3xmoUlSa0TTqHshgpoc695hDJWYiFHivbxcMAPGesSIhvY+fe5/Pg14Q0s0T5Ctw+SeiCT5QpXyh6Y9KIF96LmCww68yxFRq3VNJCglBjHxvuDcnbbGVbb7bcyhOIJWoJArxoIZs9pSs6EpAzjY9N0a+54QiFqh1xa/wAD5VONONONKUk+K2PDQltxBQ4o30E8c4462bbaYJcCQ4gDStCCMjkczUZgb+Mb1Ui4lsKScKyevKn2EZjMJBKKfg1TapY+XSiQSWyZ3Po6LhpLJ5ewmHU4l6Km8apphlvSrUpatK3FXFrJudZZj1sW6/4vYko6/MOiqEALWczQZJrStCAMxTMVJpDz6rPabQqYfDOCoV5IxHgMXnIpnrHO0860+g6XOiAi+o2hPEg2HoeIMmNUTEJBVofhm4iX06YB0lxJVcLUFcg74mSz/Br2/TiBOSlkFZdIUlp1SEV6ytYUmg3GhyoY0b17rpIUGFTqeUFRoNOtNR0xY4Xrz6EZfBpKOomlIp9SQVJMqqq4Qgt+CLqpm3itJQUkfDpWTcqxsnvBZ8IiYdOK7zSW/wDam9TWv89odeNRwhLd8brtIynUE9Xd8X7dcZZJuvzoSiEhMX1BURCKfWQsqgKwbaSnQVq1rTTpSEpKbhWgrV8I5xorR8Frbok/vWzXFUHy2Tn+sr3Zb4yG773TpUzqAerzeTSO9ctoujMyqSkdYZZ1ZJa1oycB1coqilo5uPk8dodLES0FgpLMVCvjw32XUoeYcBS4lJBGK5X2sK3LgW6uwr1sEW6QByBqlSSQCkkimoNU0JBBrmI62yJyUnZUWmzMhyRWKoGQpSoOY1zB46ERqVPWv0ZQFfQeVLHUJl9M8wo2qYOjIWnZMqdz5D9VzKPblUHJfu1KpNGSRTn3UWlh55EUG21Kte6TjvWfBk22zt13L2zFmOy9loYLwKikLLISVFeAqCgAnnAFNSMwDGsavpYrk6uz0uDlwoAdZ1AyIyjsUQQYLjS2ylSXClSVFLikrQSladVgFBKhYHuN8VuW6tt9cu6auoJFRkPNHaMnE0FKzCsxFVKG0nypSCnggAGx+gHOEFSjqTSHRQRqvODOnLDIWh5jmZnDWsroai5YosLjpk2/ExMzjgCUyiSSuBYiZpOZs6AdDEM0tV7FZQi6xIuz/ZxeXateRu7ty5JxTq9VDyUCmalqWcKQOKiBu1IjW2/b9lXeky/PqGKnE16KAcYaYqD26nTzARsS3TGSGeVTy9D5Zg5nExtDUg5GQ6fKmLErm8TMoqED5Fw2tal2O53xchH3PS+7aUonbw2SzM4QVIUxNLUkkVzU3RByNQUilOOsQjNbd5GUeVLplFuBJ8qhoa55UWNNIx9Ht4MoySf3tOdiwLW01xlgCNzyfC742En9zovdPBQRe+7Mvhp/CJeeTir8iik1pTPXUQwfCBkxrIEdeL+8hSvbw5Rgb9M2dukW/hK3ywKQPqGgecPTH3OC98qyp83zum6BTmsszxcNTTmgrUDTU5HKsOs7fZR9wNJkcz0K/vIuEq9u1kZFRLbU26fM7pJCKeaS7MYeo8vZ4tqGUSH1tyqGdhFOvsggpHiDVe2NWfuet7DQJvPYxWTvlZwec0183TGcnbZL4qrklYKaAKBr14zl0U7YdK6fuqHI/qlpeJqrJGuIWo2pQiHFV0vHQjsmraiYqJUtpuFqymoxRj4FL7qFBuKZVEwTxB0ujg1X2ubCb9bFbRblb1S6nZZ2uB5APJrAOZSpOWWVUk4hXnAGJMuze+x7xo5OWV++eBOdSOHo9cdANnUkKBNrm17fMdwDtbEOzQbS+Q0KIoMuGWfnjqUNONJwOqxLG+gz4dwiooi1t7fMD7dt9rDGOAawonKCUVFCw3pSQkq1BCnNASN1+EFanLJ4A3PbCkhsrHLKKG+Oue4dpyru1ht1aW2itRwpG+G/OrL2lPTt0jTt2h5+7UOZua8KlD82ywoIQSoqlURMO3GQSaxqeZ+7yOQKiod0KDX4xEIFgtoHc202K+CRtE21SqbUEu1Yd1qDBPPqURMHOobbJUrL5eFKTnQ5UiNbc2pWFZDhkjUzY3gVHaKjXr1jgdft66R8UhnpXrMtgGyY3M2nG3TvsT7vTrjRFv8AC+zFjR9zRtcjnXnYB6GwfSB6I4lW3IHSQcA6x7ISfb1UwbaelWph2P8AopSMk/Z97gthY+5o2nTnXoar+jRCffxGniDtfnD2Qf8AV66YAH+lWqj52zUkW9v/AOuYMfc0bSCSTedn9WjLzQY24p3yLv0vqjZWWXtxunyp6ggZDmdlTmRlJL491CYisGJhLcwqeljzzqQhybQ0jhYKpYKXeDu880xEBnkIUBbHH3q+5230siy3p2wLck56ebTzGSkNqWKioqaN4tcPOqTQHMxm2ZtmRaE63JvSrjLazmvXDTPMb9KaCHlabqKSVhI5RV9KVFKKrpCooKHmtP1JIIliYSScy2LSpUNFy6OhwWYhshCkqAs42tKkuJQsKSKJXksCbujbD12bdk1s2rLrKFlWJKgRrVJpQ9m8bom2zLVs61ZZLsoQVEA618+ns0i+7ncbgnknkWvf9OOVy3xlmu6FC4PP6eP084GUGK1hKllIF723sbHaw1Hi4CQkXJOMhpmWWw6889ybiKYU0qV14cKeuGXA5yqFheFlNcQyz4a8OiNIZvdT3Tr0+xUJLs7s56Dy7mkZDiMh5HPJm65Ua4ZwAtxD0kk8BNpxBwz1x4aohhhDlxoUrErXB2EbW9pwExc2w3X5TOi1kttKIrUcotSU1yOQVXopHM2reuy7OfHKPBDINFaZcDnuzGY1640L/VQPZ+2BHUvR+4JsqTVugp3Isk/e2Sobc7X9MSiPAr8JM1/7tsf8W1/exrvfAu0NZ5vuJ/6YL+qgez+uf9MvRu//ALKra/03pi2D/cVeEn/q3L/8W1/fQfvg3Y/Lm69R9kbMyp63OknPKq4Shsp8+qEq6tJj7wZVSjSpzKJ3Nfc4ZcXFJlLE8lkrh5o6zDNqcLbbhe0pOlCscffnwZNtFx7FNtXhsRUpJS6Ty7iHEOoFTVJJSteHKg3VOVYy5G+ti2g8JaUfC1V8qmR76ebhGzM388co8haehquzozJprLSm4mOMugY+pI1bDk3mBZEQYOVS2Fh4ybTN9mGOtYh4ZwNpIK1IuLx7cDZle7apayrH2fyTs9NpSFOUFEsJqRiWskIAUQaYlA1FBWM+2Ly2ZdtkP2k8lSXckjSlNdN+ememcW3JvP8Ayh6jZBNqryPzAltf05IpqKfm83lMHN4VuCnQhUxwlbcLOJbARL0U9BvocStIW2AbXub43V+dk15Nk1tM3c2iy4lJibZLrbxOJKUJCs+YopzWnAQrPOoGUOWHeiyrcljMylVITWu7PLU8OgZ56xgubvWp0tZD1aig8485KcoKsVSmAnyaemkBUj8UiUTQOKl0UXpbKI+EcS8lpQ2WDqSRbvjeXJ8HPajtAuu7ea5sgq0JLlC2hYU2gFaaFQGNac6EHMECozjR2xf2yLGXyUwTj6j35RrWG9px0COPJaHUxQjXinTrel1attIU5fdbv3teGxf8pawUDe/qOo/cg+EGzLFTt3lOv0yAeZr1ZPAHoG/QZw0raJdRCa+OpJ6v8PrjtCnqjp6q5BKqppOdyuoaUnMnankjqSSzCHj5NNZG80IhM0g5kIkw6oRLNytxTiA1pOvQUkCCbVurbFj22u6lqy7rF7eVShUuoZtrIqlJy1UnnUNaVyjo5S1JScs5Nry0ylcksHCctxp6RHIs+9pD0E01NI2SzHqdy9iI2Xvrh4tUr++adwTMU0SHoZmbSyn4iAmQaIsXmFrYJ2SskHE8WT4H/hC2tINzEld0LUU4ip15tklKvI5inEkHI1BAOm4iNCu/13kLLUxMpaWnLMeV0ilR59+cXSg/aCdFmaVZU3l1l9n1S1UVxWEyblFNU9BQFWw8XOJitp15MEw/GU8xCMLW0yo61rCUgXPGNde7wUdvVy7tzd6rxWE1K2FJNhbzqZhpwtoKkpxYA6SoVUAaAmhhyWvrYU+8mUk5xC5pdcKQNaAk7twBMdaLUoJTuAqwUdKvES0pQuplLhBK/BN0lW2oi/BxXpKQXSwfwo+2kdlL/CN1XmawZsRtyQb2UeDsSAObnCcxBRblwL7iiGUh5S/g8viLBNxYoJSVE32FxfjGyln2JlbUg02ROFVCoE0Ncxl0DgIYeJSgqSaEa/YxwhNvaI9Dclm00kc26j6QgpxI5jHSebS52V1kDAzOWPuQEbDuOt0yEvLajGFhQSpaARYKOLPSngk7brQsyWtOQs9S2JlsOJJU0KoUApCgCvRSTUZVpmRHFzF9bvSrhYm5oNOpJGhzNc926KVI9c3RfmFVEvpKkc/qFnFUT6NZlclk7653J1zaPi1BENBS+MnUplsu96ilnShtTwU4ryJupQBctPwY9tV1bJdt+1bIW/Z8q2VrQkpJppio0sr+Drj0A5ueVYalb6Xam5tEsxNJcdWaAaV8w8xjcGYFR0XlVIptV+Zc9kuXtDyEe8TWop/EKgpawsqTDw0JdSH33FvRLoQmFaQ7FPrNm07G0cXOuxbt+VKsy66HJ+9ZVhTKpAxYa85VSUiqaeUSEpGajG1tK0JORkzOcoA3ruy4cagjP/OOH/39HQmieImKOpylVoSwtQSZTWDa2olSEtOuRC002nxXYgJJVYW0qtzc4sd+5d8IgyBlVXaZxE5/vpqmGtQB8LkE7ukcI5EXvuvy/KifRWnA6765amLlUHXp0HRMucTDdQtFF5DDcNBJallYL90AU0UlpDlONIdZbKF+VRIGsnffGBZ/gt7fZecxTtlFsYsS0B1lQVkdVcoczUEkcKZQ2/fW6ilqbVPt5AACmQ0Pya09sbtoydZZ5y0x9/WU1fUvW9JpiVSMzGlnHY8szlLcNEPQUbCutQ8xh1ttxza9EQ2h1LV9IKQMRteq7d7NnEz7k3zk3pa1HlYmgsgBSEeXnmAaFOaapUojOtY3MnOWVbjan7KmklDQAUKJJz00rlllU1pu0jljNjqU6bMo6qmdFVznLRcmq6WxXgxdOhczm81lSrp0NThqTy+OZlkS6haV+C674yAqykIPEx3X2J7Tr12RKWzZFmvKst5slTtUpSTSvNC1ArGRTVAw13xzM9b1mys2JJ1wcoSaccq67h25xseFHirlcS2QpqLdlsTDqTcqWw+pp5l4gpRp95aWHEggFKSARfHDTrCZCZeZf5zTKVJWOkAgivXD6VPOFL7Z+BKhuHGNtSWSQJjnUOlzVFxsW20lxaoRT34++HVQv4NyxIA1KWlQ03tYkHHIXnnpgTFUUohIJoMVMssWY7ACDXWoBjfWPLt1GKtVDKuVeqN7wkolkBCsRLyf6xtQLr0bER6XCw3Bsh16NcLbzgQhhttkuuqIAJTva5xwTipi0rSlZFpdbQedSMKKVSSqicxXEaaDgaCtI6V3k5ULcWKshI1rw9Z1MROeufrKqzq0zBi5bL4yZybIuk5nGw+XNIpeWmFnjcJGuMqr2sIRwqam9RTlaVKhy9qRBQxQhoAEk+2WwzY9YWyu7rcy+wh68k22kvO0CSigI5JulcISFUcIIUpeLOgAFQ753ictu2HJZSFplJdRw0XkrFvOQ0pl0dMcQFkoVwsg3tuFaQTYAq5JA74nF2aDw5AJCJDehHNUaaUXQ0zpXI1GUceqWs5ZxOMrUrjyh9kVEsJ2ukcnsN/nbvjFLVnfJmf1w/sQPE7J3sufrD7I9aEoSLEE+m9tJ7G2/GM5+1HHq0baGXyRC/FbKp+AX+sPsjqXJ3q/zvyNyVzoyKy/qiLlNH51Q8vbj4mHiXWZrRsWiKH3yTKi4gBX3Fja0kSBLZgpuxLN3UkPHViGr6bHdn9/b6WNf28NnsPW9ZBOak1S+BXkkrSKApZJqgLx55HmUSOls+80/ZciLLkVLRICtE4q0xGqs6byTXLz5xhPS8yyx1K9OjMO0mHabzuymbbYaUsstNGvJMtLaPEK3VBtSiEqWpSyi2oki57najOi07jW2+EJblxIrDSBQ8mOQdCudQYiqgJNBpGNd0zr16WJgvqCVOJ5tOBG+sT0I4fj0YL/AO2orc7k/hnObWvxj5oH/gpqcKhiWHCK6fHpXfF5mjRlgDTAP2YoNs+K4hoKCXHXEMpKgA2hTiglKnFKulKbnuCMZrskpFoNSDSsSncOdKUxU3Z1pWH3CW0KXSoCSctcgTkOMQt/aPdTtQdTXU7XbpmsQ9ljlZUtRZe5TyBp55EpgJVT8wclE3n5g0qS09OKqm0teiX4hzW4Gg0yhQZShI+gbwYNklhbHtlLPjMmJq3Zlhtx94gNq5VwcogEUXVDSVpSEVAKsSjzjlSe+157Qt20MLpKGwsgCtcgadGtNY4TSoJABGs2Hncspe3YkaRYcD0GJ1Yta1W2ghU3NVHyVISnPMUCm1EfSOelBlHJ/Cs/BIUMI6OOcHqvwAnfgAi/G53/ADYUq1Jl3+FOPvU0xqQacaUbGu/XSAHX95Sf6IgXI7g9rHcEk24Ku2CTaS2zjYLjbo0UkoCh1HkzqMtNIMPzKTibUlK+OEQoEixsi43Pl4POwudwcOe7Vpa+Nzv6xv8AuYV45aX47/lHtjb/AE/Z7110y5s0pnPl5M3ZdNqTjQqdwBiXkSqrKMiHvEqOl6hh2yj3uXzaEUtJbFkIe0OJSCgY4zaRcCxNpl2BdO3mwt60pRbofoCWXUpUUOJQcipJACjiGJJUk5HLc2BbExd2dlbQZqsOuAYa0pmN+deI0oaERO/k82gKgkslqOVeJ9y6lk0pqOW+KQXvcJ9LoaawvilISFOeDFpubC+PmvtSVXZ9rTdnOmrktNvsk0pUtOrbrTOlcNaVy0i8MhMKm5JqZWOctIOWnDLoj3K77W/OPpbnDMszy7obrQUJrrpGXTInhHMfWXntHdNPTNmznBJQz990jp1MqoNuIstpdc1S83I6aecaK0B+GlsTGGLeF9kMHticvBo2ZWRte2ryF1rxhRu4S6p5KdVhppbgQT8UKUkA65ZRw98rfVZN35mcS1jUgJFCqnlKCdabia9NKRB6mkwmk5msyn08mkbPZ/PY+Inc8nsyiFxkwnc3mKzEzCbx0Y4S4/GRsQ4pS72CNkpASBj6BpB5dn3bbuhLpabu4yAG2WkBvk0p8lCVZnCkAAV1zJzMU3mWTOWmq0ZpRWFGuH6+PZHht/hbHgWJ4522wWCzvxLn60/2YR47O/LT9H64OwAG/wCgm/5iMMLlbPWoq5NwV/8AUP8AZgeOzvy0/R+uC2PoTvbk/TvtucNmTkNyHP1h9kDx2e/GD6P1wEkoOsICinhKlOJQVcAlTSkPJsdwUqSoHvjMlUWdLPB5LClqSlWSl1BGE1BFOFYbcnJ4ooHACSMwKHXrh8b2J/UXVMkzanHSpN5lETPLquabqGr6Bl8a6pZo+vqVYRNZ4iRNIAYlsprSSKcdmLTSUNOR8O08kBSlhVBPDw2d3etnZidqUqwmWteTfQ2tQAWpxtRCUha+aSpBGFBIJDZwmoSkiaNlF4JmzbfFhuVcbcQTixUw5Z0Tnxrrr2xJo2JKvtB3ub97cD6Y8feiLOgUygySkAggm4+I6bDknYHgDvh1pkOsPPE4Q0BQa4id1d3ngml43VoVkE0z41ENu+0z62Jl0g5QymX5dqhF52ZsREylNFRkY0mJhaJkEvZSxPcwYuDKgiLiZbHRsPCSxp4KYVMXgpYIaOLb+CFsFs7a/eV6370IcN3bJW0osgZTK1lWFsL+LmiqiMwgKIzAiLNpl83busMSUq1yjszygKgvDyZSE7qGo53RXLOlREP+aTGZT2bTSoagm00qKoZ1Fe/zeoJ5GOzCcTWNVqL0TNZhEqcjJjFKcWopU64oMA6G0pRYY9x35GyrHlZWxbJlkyljoaoWWyE6CowEJAQK+UAiqvjEnOKrTjs7OOrcnnluSizVTeYJ4c6p0NDpuplHjsTyB9vP68Yvi9mfJmf13/44wvFbJ/EOfrD7IFj/AE/z4Hi9mfImf13/AOOB4pZP4hz9YfZHulUxmlPzmUVJTk0jpBU1PTKBnkgqCWO+BNJNPJS6IiUzKXxPxw7kviQHEhNgtXxXBth17xCbsGfuzaMuiasedSE4HaKKUn8IlSqArDgqPilIpQ1FYyZSamLPcJkFqbZHkpqSUnr3556dEb86puqDM/q6zNZzPzTjmlRcBTkrpaQ07LXHWZDT8shJZDQk4dljKipcPH1VM0xEfMHUkKefiAn4G0jHDbItm1w9jNhCxbnWchtxcyp550kVeUo0axJw1+BTzUgqUNSACTXaW5b9pW7JBqbcVjbFEnWlRnQdNB5uEP7ewtQVdOGbpQ44jw88bFXlLjiVUVJGbnQG20q0L7AD6Y81/uic2t/aBZDFoAOMvy5KsICCCHF0oaKoMxlTd0xPuxVPi13XGXqvKUaVOWpT16Q1B7WGrJrV/WZVEVN0wiX5PSlP05CGChzDIMulEXNoeDLyC45riQ0LKXff0xd3wSLJRdDY2zK2SUBLlV1UgKoVjPU65ZmI82uOf96EWIzVAcFcda0yrpv14w24CE3sD8SFAKOpOppaVpKk7BekpuAdr8gjFk02/bfIFhx1lSCN7ScvPET+K2X+JX+sPsjpah+rXOzL3p1zK6XaZqqMgsr8ypxKJq6w3EPtzilYKHeiHqrp2lZi24l6USHMBamDM4ZopbuwoNhKX3gqIrw7I9nt5b92ZtLtGzJdV85BCg4+UgiYVQpZWpFKBTCDRKlcoSaEnmpA6Ni8loSVkosWRUtuz0E0TiJoCoqIrlkSftUxzWlKUNttNpShtlCG0BCEthSG0JbbKkNhLYdS0gAkABXpfErWlMy9qT65t9taJfClLbbawgIAGdThOMnWpAIjn3A3Nuly0cT3yQFYcOteNa5cKR2T7O4W66+lgcXzUgUk2vYKlM3B/RiDPCJakE7DLzKbQ9jFnjyncSfwzdajANeuOuuA1Z7F8JNxhlYdHKAErJAq0saU4GJrykAoVclN9StgONR8otwcfPw0oLnpi0AKJbUeZXWtd/R1RdZpzkpYOkVruionTtz9vrb1sOBjENYWKRj9YT6LpWkqkqaWNtLmNPyaPm0Gh9Jch3IuEQFQ4fbSUlTIWQVC+4Fu+Oy2eWY3P39saSdOU7NJTWlcGZFafG8nTLWMSfWmVk3nVJxhSTlWm4jXzxAcr2MfmmYNfzOLDZipjXFYx8UGE+EwH42pprEOeE2VKKEBS7AXPGPpJs1CLDsGRsOSSjHLS6Ap0pBLgwJSkYfi4Qnia16M6L3gDc1bsy5PBbqcfNAVhw1qVca1y4aRiDrDTyS24na6Vjc7LQoLbWnghbTiQpJuCFJB7YyPdKcwqHwJCkqSatilFApOVeBjUpalpZYfkEram0mqV4yqnHLLUVHRWsdL59dWGcfUjSWUFHZoVDEzeW5O0yuQy51UQ6qIqyaeM60xWlYFR0zarIeQhmA95XcuNtLWoannLxps62V7P9ldr2jeO5lmsyt47TeLjrozQkFSllttsg4GsSirAFUxBJ+KI6m3b2WjbNkosxBUy6kCrmLFXICpTlmQOO8neY5iU1uSlIHySEpH2JGwt+bEihqzfkzP67/BHJmTsr8Q5X9IfZFNxi+lStSgghWm9txvykBQJO3OMmVnFShLbIBldyVgKUK61XQVz0yyGUM+IWalzlOSXhyyxnd00joTp36os2OlmfVnP8rJqzDRld0dN6UnMDMGUxMnbjoyAchKfrOHgLJbTVdGPPKfhIjbxSS27qaUUmOdoOzC5O1FqVbvhItTHiL/ACrJzSpNTz26jMtuUFUaAgKFFCsdHZlvO2GhxFkJUyXkgL59QaVodNRU59McwTJC3HFRkY/GRUfExao6Mj4+JXERMwjY19pcxjY91SSqLio95IcdcJDhWeQNsSdJPpl7PFlSzbSJFDLicKUgABLasCUfISigCQKiiadMahybnHptt5ThCsQrWprU0NeOsTA3YX7nwNIKaCggyek1aFKSvYSqWKQpEQkgPJdaWCm6QUjbHhytxUw9bLL5xOB944tNHHK1TnSlKHPOLVS7JlpOWlCSpSgOd9tY6xpmmm2PeXItluMPixDAch06m/JMop67ClK8VvWmwIUL3Fje4xDt8LUWu0QhlRQKg0OvkgZ7j2R2VjSwSgFQqcNMu/KMR6s51NaZ6ZM1JvLyYOLjaRmtPQqkqIXBw83lUfDRzqVItoWINvw2yndKlbWF8d74O9iWRbu12QYnHMTjb6FUofKFCDpxzhu9in0WQ+/LipbQSvTIUHHXIjTtiExCJaEJC+EPL4DHY8iFhW7ntfQhI+gGPeadQ/y65VKfgJdCTWoqcVakjsilzwVOTLk21zkOHXTToOeUekDVbTY3BVyANKVaFG5IFgvb6417aVvGjKVKVwAJPYAKmMJ5xEucLtQTwBPorCgg/wCDx2W3/wDlxh3xWc/Ev/q1/wBmGfG2Pzvoq9kKSnv5ftW3z8vNftgjKzn4h/8AVr/swfjbH530VeyDJ2J2GxNwpCrfYlRJOMZ08irA8FIUNxBB7iKw6l1CxiTWnUR6Y3b0xX/fM9O9yCTnhlKex5ruS9xtjm7+EHZ1bShoZNz+pejo7rfx9LfPHpETyo82jYy2343FAeU8+Mu/ytvj5t3GVP2jONpFSHFKPUlZUe4AxeBkVblwPkf9MYbXUbFyyiayjIN9MPEQlMzaJbe81g+iHWho3R5gtrUpaSOFJHfHa3Fk0Wtf6zWnM0zbqUM/nqxAYfzakEVVSHXnG2yAveD2ZE1+3GIDFZAitK2TquTW9Y6v8JX3xTLe554x9H8pNzjl02LJZbottKCrMZUArvzppFCrcJNonhiP7RjHLk3G1gLndJ+ibJKlhYG9iAbb8YyvElPKrJ4VNADMqSnMDPJRB1r1xgzTqGnDiru3E7hwEAKFjZQt38q9/p5cYimXUrKAhS1jXACunXhrTthoOoUKitD0H2QYI/jEf4q+P+rzfBck/vadA4lCkjtJAHnhSVBasKa16j7Iq8i41W3AVpWElX8ULUgNlQvxe+GmiH18k1msdnphSTjVhSDXqMeONTqgI8EXBg3yQbEEeGsi4O1gQCPnjp7JU07aFmF08xLDsua/jgg8z/F5PTGQs/BSH6YekRP1ybWTkzk4VEkqyjyxUq4sSo0PIuTyTj5ir+Npbv3bbafi2xOpPQoTLoUOxQIrv3ZRfCxiBZTHQj1mNjkjzX59LGw2It8v58c/KKS2VKPlYDSNmVAVRXnEZQzl7aiMiXOmWVSkueJL355AzF9glXhqiIOaSeHhwpvZKltJiF2PbWr1OPQH7n3Zsou9Uxaa8pxvlgnLcpuhz6oifaiORulNh3JR5Pp/nE8Iis3v8ySSfmpR3+pJx639MVZ5VvjCjdKlJULKQUhYPbUL21DyHb54NpJfFWqEdYHppGv5ROLDnXqPsg9vl9ih+w2w5yDnR3j2wpRwKwqBB6jBXF7XBN77qH2WscHyDtK0HePbDK5plsgLxAnTmk6dQgioWBBB1EpSUnULi+oG1wNJTY+hw5KIBmMK9MC/2DDykqU1ygHMxJ/aEOUeyKuOvfKkpHm+9TNVIO97GjIskXF9iUj8wxVPw0Wmk+CzaJH5S1/WiJS2dge+AxX8Uv8AZMTCAj4trcbWV8+/Y48JyqLdAQYb1kX9LWNzt6kdx+sDD0y4G7MAQecpfOhKcitSfKp6oim+2tqSNqPqnpOCilJVA0hQM6peTQ4CglqDbqhyLmD7qT5VvTKYRa3SeSgpB3Tj3L8CqzpW7exxmZkUJVMTi23HOIUlvCMzxBrl174q1tWfUq0WC+KH4SnT5PDqA6hDQXcailPa5Nh8hex+zFtVrXaK+UcoJgAkCoAoBU56aVOsRG+80Gia8NxhWk9xY+iiEH62cKTb02wxKy65yXXNyxQqXbNFHGkU7CQe4RgNzLLqsKCSr5p9kCx/wf8Aro//ACwfik3+If8A1a/7MJ8bZ/O+ir2QVjvxsCfjRe301YJMs8VYCMKxqFEJPaFEEd2kOsvImFltmpWOgj0iKN7mxCkKASpSVAhSQR5QRyk2G4O4wrkltKAWUmqhooK39BMO4gWnEZ4k0rkemJQ3sKzbpuzjV2TniknY3/uOkR/ZjyS+6J/yiWCP/wCsf60xZzZAlSrFUE64h6RDPXtOkKT1iV6Do8sHBoVZaCUrEym5KSLggjVj0I8HCTmFbI5VQwlJQn46eHXEYbV3UOX6ankEmVbSQpVDlkBpr5o4B0LB+G9r38MhekW+JWknSPnxiX1pLbnIqycO6ItLyEqwGuLqPshIJTudR24SCo372A3P2YXMtOSqm0TAwqd8jfXOm7TPjDgqdIq6VH4dJB4VrSAra50nUAQPXi+G30qllLS8ldW6YsKVKCcWlSkECtDSMdc0yg4VE1HAE+gR2P7OxKv39nSyC2q6M1IFar6SPDEpm6iu9/MkJFyRfYYhzwi2X07CLxuqQ4lp2zwEFSVJBJdbpqBr0x2Oz51ExfGTaaxFdXDoRkGlk5kcB6omw2ISoG1wVpA1JNwVK0quOUrTukjykG42x8+rSS29NSSsplSshxIrXPTzxdlIJlA38fhBAb3ABA2I3N9+xAxi9B1h8Rg2aSSrLKvkggKVS03A1XsbNo1FR4SBiTdlcq89tGu48gJLbc4kq5yQQAtedCa7xujBtRtcxIONMiqwDlpuJ39EQLasBNY1lYi332VILkaQdU8mKxbxNGoFKhxfH0cqk332GpxrAZdTCKKxoGg6TURRi2zW2ppAriQoYsjlWtIsHAF0kBVwDpUAo76gkkBKrAc3xjGVdS2XaoKE60WknuBJ80alK0q0r3GC0jbbc35PHyt3wxWFQQQT6A73BUlJFrCygSCkm+1+cLwP/in/ANU5/ZhvlE8D3H2QC0o/xf8Aro//ACw4liaUMSWX6fo1/wBmGlTDKTRWKvzVeyPM6ybDva6gQUq0BIJUpRSryJFuT3+eAsOsCr6ForpiSpNeqoFeyHGv3whS2gSlFK1BFK6agcI8j4DzbYUkEh1hST63cT2sOcPMJUW3HU+QGXP6tW7WMiWbU6pLqRVsOIz/AKQGmsTHazkMRKYGiVqcK2PudSsMhpaVFxgIk0ocuXEJTDIZd8YhtI8x03Ppjwus2fbm563EAUcDr6iRoauODTyiRTM6CtItxMy6mvEl1qjIdVPNnwju+TSWHh0uur1OrUp4+YISVaot9RKwLDWkGxPewxXm9k64u1MCckhQ+3VHdWS2EoSd+ERzH12JQnpczGCUhIEG6LDsPcZlt674njwVCTtklCflo9AjWXpp7h2l+h9SYhMQFvdIbv8Ai7G/ofd2f2DHva7icvKZf4i0Jr2AxR0vql7NS4nXGr1Q6J7P/pFlXUjReaNQzPK1/MN6lK4kUhhotM3ipeiTomNNuTVctKEzSXIWIlSfFHNhium3bbXZmyu2ZSzZmeFltTSVkTRAIbDainTfjUCgdpiWtnF15S8suZybCVFAOR1PT2VFesR3x/UvKbB36anbf/EsX+sVTiDP3XV3f9emvoj2RKXvcWN+LEH/AFLym/8Am0ubckVNGcfbVW+C/ddXd/16b+gPZB+9xY/4sRrDOj2flDZXZV11XM0yNNLpkdMzyKl84iJ3MYpEDO2JdEPy1TbbVQxaHFh5KVAONqSTsQRjr9m/hGWVfm9CrEYn02oKpAmRlylQDQigph8nKukc7eLZ7IysmqZYSkACtN4/zMNBdLRv1KdO6ySVOZ35Rum5Fgp2uJGtSRtYJClbYsptAZLWzu2VfEVJuU/UuxDF30clehpr5Lg9IiejHXMbFfOLiLWN/wDZ13tb1x83suR7rzx/Nf8AQuLuS4OFgb8H/TGC5mb5eV9wR96s2/8A874233tjttlf8ol0f94I/rDDU7XEk/mn0RAjrMf2b1sP/wB7Vn+io5nvj6NrJ/gaj+Yn0CKJW5/GB+cfTHYHQP0/wHUVmlWlJzLL9vMRin6CaqZuWrinoJuXxRn0JLRGqcamUr1LUw+oG61CwG3bEPbadodgbMLqM3htCYWy866pCqaVByH0aEx29wbOs637bVZk2kFTYSc+kVh1r+plU+vjphg1ADYicRKk/O39l+K1jwurmPSLL0jeP3KcVix4hi5alKEVGQRn9KJsmdn9jMOYW0IKYCvZlU8hBX+9ehFaUlRT92IwXABKjdNVrNgn0GMdfhfWDLp5ZF7UWioGni+GnKVy1ofJrj03Qym5FlJUDyadeEN39fPTdSnT3JaFZleW0Hl3Uk1nsU1M0QkbHRa4+TCUrjYRtaImaTOHbSqIbKSU6V2v8sWI2LbSU7SXS8wolsZ9pNI4DabZFlXVs5M60lNVcO7zQ2bGH8Qj/wD3J/i3/BLtb5YsVY4pNyX+9nv2VRDS/wAHIfph6RE+/Jg/6C+TW4P+hFlja1+9DSIcA4+ZW/4//UG8P+/7S/8AmvxfCxj/ANlsfM9ZjZJJvyb773v6Y5dqlT1GNgr8Ogdfqhmn20Vv3usot3mLd+L/AOrch+XFseif3Pr/AEgmet3+riK9sFPvWmacW/6xMRZLlJB73O5At8jxuMesOo7IqZD5HSN0Hy3N7pvypzHfyDl1YN1VLJ7FM1TFRrEPETZyEqicS51bjC6glwSlpyD0pOjjbFadou1CauhbBs5twp52YB0yGXHIZRYq412LGtqyvHnUJrTKojpH+phSTv0vyb7JjC8ncc1iO+OKXt1m0qw8orQb+iN995Fku88toqTw4ZQD7MCUpZfeHS9IfChmH4iJcemsOA0ywhTzqw01WJeeShtJuEi4wlnbrOOTjUuHFELPHqjJRcu7zMo8qabRjIGDLrr26QwP1CU7IqTzzzRp2mJazJafk1TNwEplMIVe7QEGmSysrh2dbry9K3lFarrWSre5xcC5s6q1bManleUqXUqvWFiK5XslGpSdUiWyYDgFO0R2X7Ikf6fjKjt/Yrmrzt/vKjcVs8NL/wCli0f9pa/rRHXbOv5QGP0Sv2TEwoIum9+b7A+nc33O+PCQqzpFuxFVCPhudyRtzsAo2Hy9cFNq/ePRihtPlOdQ9ERIPbE3/fYI1EXMmqM2Hb+yGH2x7x+CT/I1I00on9iKp7XP4wl+t3/phr+nYATapaYlBaMQJtU1PSpUKFFPvaJlOIKDcgypK21oEU28UXCkkX5xZSZm5SQlXp6eJEmyw4tZGoCUKNeyIwswMqn2kv8A4Eqoe0UHniRA/wCy6pluKcZHTVEpU3pSG11PGAhASNC0hdUa9LqfMdW+onjjFEmfCuukyqdlnZ9xWB0gGoyoSBoADTXflFnbP2dWH7jom0oRiUmtN8Uz7LqmQN+ml0Htepozf1/3032xmDwu7un/APnbf0BDh2cWP+LEIV7LymyCEdNbwcuNGmposnULGwSapIJKu2Maa8L25B5NldsGenVGinxkHK6UFKc0c3sjKlNnViMFbpQjER6OMNK9ceTtMZF5qSKiqYpNNGI+9iLjJ7J/fY6PdM9E/jWH4hx2OjY4gqYShNkL0jTi1mzC9khfKyF2tZ7yn2gttJKqZVSSANN0QVtDsuTst9LcokDEVVp0EU9Jh7v2FaijpvzgBCbqz1aslZ8yh95sjKtI72Rc/Zjzf+6IIlnNo1hJm1FMr4ovEoZ0HKK/yiXdjYrY692R9EVc9ego5v5q1jXlU5GxVVRk0nUxEunTs69wEXJffomIlykMws+gkkFMQrzKRqJ+QtiQtk/hLXBuRcSXsaam10QgZbq7/QI2Fp3KYtm01uvAUrmTHEvUz0N0TktkpX1cxuSKaOmMBII9dNzl+ezKLXCzqDcY8zbJnUWy6osley2ym3zxPmzXwgJXaNbrcpKqqVKGnDduEcxeO6VkyNhuWkG0haE8M4ZLuAgFZUdCFa1G4UvQCCtWn8tZTc2FvTFurQaU5aUmwvMNgHvzitsxOpck2p9muF1Sh9FRT6odp6FejKT9Q+TEyryNyldzCehq/qCm0TxM2VLkMQ8sgZPEtS9piHnMuSW4dceqxUgq3FzisO2vbbZWza2H7Itm3BY6p1tC2wU4uV5NSgo03Yapz34onu4VyZC07OXOTSUlSsNO4kw650nezzyyyvzZgsyJ7kI5TE6oOGbneX9RxE9msSZJVzkb7qqPhWUVDGwcUoQEY6AiIQ43v8IxTPwiPCYVatyTdywL2+6UvOMpQ5LoQKON4gogqocNKBWVCaUiSrGuRY9m2o1NoQkPJxAcc0kK/wCUmvRnDtQSAnYKTqVdR0gkkgbW4CRwANgNhjzi5QqmzPHQ1PfElAUFMzBjVtzcn1Hp6DvhvKDzjDsxICZzigazk0nZciJvHU5MoeWw7am0uxEXEtFDTDa3FNtpdddSEgqUAL7nHb7OnrFkL62daFpPKQlDwKuAIrQV6s+2GXQQk01VX0U9Zhjx32YchjYmLmEV04xDsdHxD0fMH11TEan46KedfiYhSUVMlDanXXSbJGkACwx6oTXhZ3JkWHLNTOrDku22lOelRThTQDjEW/eDZ3umt59KVGaNTlWmHj3w29179OlL9PH3hy2T0Aug6gnk0nKZ3DGZxcwMTKW5XAxEBdD0ymLLaUO2KSkpJv3xP+xi/tnbQLLXactNOPLRoDpqd4A4mn1CIo2kWJZtgueLyiUhS6UI4VzhuR8lDZWNym1hbkkgAbWIB49cTiM601ofQYibeOsemJD8n9mNTsZJpDHK6b4iJcmVPU/MHooVLHaYgxsqh4sOKC6jQkPLcdVex47YpK74VF3WnVsuX6ZS4hakkFIqClRBB6iKHqi06bj2QpIUlCCCBu6M4ug9l9TNv9bW7a53NSxfA/k1Va+MZfhbXdaOAX6ay/MHXwhwbPLHcGMtpqYtU89mtQdPS2NnU/6d3JfJJe21ER8Uuo5mpttLcSz4TjghqldeUlLir20kG24xtrA8Juzbx2wxZ0hbwtpSyQcKQORrluGfKaf0Yx5/Z5Zrdmvql0pCgmtMqmlfREeSYttojpgyjSEMTiMYbCNSkpaYmjzLSUqWouWS2gfESdt8XKkWJpyXE8KiXVLOkjraVSvbSK4voTJzniYFPhk/tCJpWcMI45Isvm2IpSYf7gSBwwRIJMW1KZQExa3LeZPu7ikgA+Xa++PBu6ryU2zeBTiKueMuDF+aVuc0DrFenOkW1tJtSmZIJVzKHLp490dtwEMgQLRNgQhZPl3J8d24Vf0O2IDvS4r3bUBpj9cdnZSRySOOAeiOPevJDY6YMw7ust3gnyrUdPhtol8yJdcPAQO3JxY7wUSTtjlNfwiPQI0t6gfcO0uAZ9SYhJyw6oJokFOmCZNlAA/wDQ9TwUm+PfWaNLSUneZuV/YmIpLZ/wCElx0u+qJLnsGFNnKLqlYCm1OpzooBx1u48RLS8uHkNvab38JxxJSD/GSRjyG+6MyK27duVNmuH3GnB0ZzafPWJ92GJqqfp8o+lMPt6AOQkW5FgQB+bnHnBWsWDw0gtAI4HbYgcXvc/UYFaGCw5Rzz1Q5eTnMzJ6dUdJqecqlU5mMsaj5My+3DKi5SlbyZg2p5yIhC2h5h7TqQtKh2ItfFgfB3vNJXNvj7vTq0pAoBXTm8R0xqbVl27Rl1SL34Pu1hu7p29m7lnR+a9N1ZWnTy3KICkWxUcmm0dUk5WuV1pKplAR9NTOBaltWRCnYiXRbCnUJeSWlFI1AjFxNtnhbrmrizdi3YfQJmdbUyvDQnAtKkKFSCAClSknea5cY4OyNlVgSVpm0woKfxAgV3g14+f06Q8qnxSXnHt33nVKWqyRda16r6UeROsm5ttjzJl2FNvtTCxTlWXz2ckvjn3xJ6kAPsJYzaQFD/AJaDWMOzNNsvK/UbWTSc3V3SUhMM8VD0BtjvNlf8od0f94I/rDGJO6p+afRECSs1f2b1sLH+7OsFk3BSAuo5j4YBBNypKgoWuLHH0a2TQyivmD0CKKW5/GP9L1w8b7C15sdSmcMOpaUuvZFOOsIVup9EJW8i99U2BckQgdTrvuAq42xRD7ohZrq9jtiTaQcHugsmn/uJBPQaHuiVNkZT98jh05qfVEoFLaRwkcDew/Ne2PHV5ZKEJ4J9kWiA+HX2euAtKdCtgN06rC9/OkW233GGB6j6IeTSucRwvbiJP3x5ZbAFb6VDtZDVORutWnYkJ1JH1Ix7Afc+D/3NmfnH9qK9bZfwA6oYGjSTL5idyUS+JVsNyEtKASEgklSibAcnHo5ZrLUtaUjKSpqv3WeA35YSB3ViuC6cnIdLw9MT8MlHm4nJTJd9hXiMu5PZWuMupHkcbVQdPnWk/wAW5I+oOPmT2jyz0ptGvFLzAwvJt+0ag8TOvmL/AFg/xPL8eT+3eM42V67HuP6H0xyTevYY2R/DI7fVDNftpElPTtKAR/ugzqVtYa59IUoG9jdZBsB2Bx6Jfc+iDb0yd1Xf6uIq2wf6LTNOLf8AWJiLGpOoEDYm4GxuSR/Pj1iBpFTYmg+ypehoj2fvTeuHeZeLFPVbDOKZIV4LrWZNaeI25b4HUGwUg2Ui41AXGPM3wi5FbG2l541qW0ZZ6hArFobhfyeSyc9Sa/0jlDhyVHaylWG/y522BtviG3VY3FK6Y793yx81P7IjxTI/1tmZNr/cuZjjgGAiv14yJH+FN/pE+mGkfwtvt9IiBd1PKC+ojNywJC6rYUCLWLf3uyc+ILEjSFpKT3ChbHrvc5QRdGy1HdLL86FRUG8WdvWn+mT+2mOtvZGPts9e+UgWsAv03mlCsJ21PRi6Jj3UQiB3eWwlSwOClJtvYYrt4Y9nLmvBYtJxGofbPYl0VOXZHabPMI2gsFRoOSVmdBzTrExI8kk3APIRsoDgggbA3x4RdUW8iik7uK07BQtYG1tAF7Ydmh+8Ujfi9cYM5/CpQfnmIkHtgl36sEt6SlTUlnuoHTsHJ5DlpRAJIDyUlSb8gY94vBMy2OSP9H9mKubYzivE2rdyXqSPVDbNBONNZhZcuvuoZZbzHy+ccedIS20hNZyMqWpR2ASN/pif7xSypy7VpyqKla7MnBl/szsRhZv8YsfpU+kR9BCOKFTCYnSCA64LqCbhYcOptQAulTW1+24tcb4+bCWZVLylnrNamcc8xSO3SL2pPPkk9HfVIoe2PMoIsbBPJ82wHNzYW/oMakVrnGyoKbopk+ENaboUmxStKUkpXewUAQBqFsPobVOtLYWRgaoew7obRhcU60dw9UM59SPRBEZ25u1hW9SZKxVaIdmce3Ts7RORAIVJIqIEchppDVSwIWy3FOr+JAIJO2PU3ZB4QN2Li7JbLsdDzYmEIWlQJzqmgFd9Yiy2rnM2rPlL+WeXbr3R330sdP8AQXTrlbK6Uy/odvL5c/DdT15Jm4+ZTRUdWZY+5sRNH35lNJqll0wjbaAGFJb5AFuaXeEHtZtLadehExMvB+UZb5Js0AwoSSpKRRI5tSTnnU6x2N3bsSN3ZfkpcDlK5EE/GAJ7dx6AI6Q0g22SqygADb1O3yAxAA13x0lKCiaQ2N7V9sjpGqtelPlhJsFW0jdyCYQhIuU3U44sADucXb8BhVdqrgqac31xH+0YUsRwfbSIhCUK1lGxOpaR8z5thcDvj2ym5kclNsn4tn+flSfRFO5X+C2gOr0RKl9h+EDpArJvU0tTfUDW+tKNy2V01RSkaxynxACU+oBx47/dKmFseEPLEhQSq7FnkHcc3606t/n3RZ3YoB97VTrlDwwABNrWv6DuT6bjHn5EyxUvtsRub/M/mHbCYVuyggAdtjvxpsb7G/pg6mCyhXa2/Fr2v9v24KDFN0EkAOt7D8oAlA48pvsLXODe/i935yN/XDUzXxReu70xGg9uEFfuh5X6gLqhnlp4SpaUyuEJ0i+opRx9cey3gGimzKY6kftRX3bsamzeNHPXDE8TfwV/EANBPy86fpi8reauw+gxXs7usemPoHUgVGhqHTbSTRVGqQVWU2tKqXl9tCwFIukHfvj5qr1TDKrwzdJU82cfqaHOjqqnt14RfKylSIQk1BJHr9lI0d1FdWOSPSfLKRnOec6n8jltbzOaymm1U7SM0q9+JjpNBNTCPRFQkoT40GyIZ0FDi7IWq6Qb4lbY/sWvNtvctWzrpNNMTEq00panlhsALOFIBV5RJGYTUhJrGNeO9dmXcZDj5FVEjfwruB89OuuUaXpvrCyN626Izky76ZpjWFV1fT1HSydTGVz2g53RuuFjJ9DwkIuBip49BsRK1OsrSsBxAAtub2xLKNh19vBit679/wDadbLFn2cidcEqZZxT1VpSlTqDRIwhQIVoa4Y0ljXls287brAWBiAFesHiBw45b6COOcv/AGYWW8VXtNLrzpsW3Sbs895qiKXUsaiHahYjx33YhaJfVa4gNojHEqKUo07WI04tNfTwxLMRdabmbvXmXPW1My45KXLVCtSSCSThyKUgqBO8cY0juzSzXHSjEFJWa68DWg6SYcWzmCFLk8IhLCFyJK5czBMIf0QEBCpYhYRsORKluOIVDNIUnzKOkXO+PPG5M49Nuz9tPAhEyQrFlRSlFSiAB8knDnSOithpclZqJOUqpTZPTTie07hHVUK4FwgcKrNHWpSjsLeM6dubJAG+InvQgptos/z+P1x09mKJkA7/ADmHI9ndDHPtYut7KSByqqDpty2qWCrXNOpplLIesn5GpT8ny1kDCn3YmDm00KBDxVTT7zNMwbBcSyyFrfUysNpX6M+Bb4Pd6V27LbR7woUxZjgKpdKhRbpSSMYH4sZEqNARTDiJNIiv9fVmSkHrLbNZxaSl05UNaUHDIAAb61r0xnEHRZKbAJSW7JAtoG9vluecesE0+DbSWwNFJUo8VIBCD2BShTfXPdFX21vMqS4g0SCcGWlfK669MOF+zj62YPozzdnExreAi5lkxmRBS+QZlNS1vx5nTYlkV4klzHlsPqbXFCmPeXWoyFBL8RCvKLaVKS3atvhQeDy7twuqizJIoReGzm1qs91VaNpJS46woDyuUwc0rqASRVJNYky414Jy7lppUwspknVHlU0BxHCaHMZUJ0ES+qFzCojNGmJTXeW9UyetKMnzKX5NP5Mp/wBxjG02SpLjcWzCxcHGoOzzDqEuMrulW4Jx4UXoupa9zLYnLo2+wtm8Uo5Q4sjhrkQNClQzSeGkWrsy027Ws0TEqo4zv1+rzRzT1IddfTh0o1PTlHZzVLV0qntV08up5MzIKEmlTtRMkZmD0sciYiKly/BhHUzBlxsMrQFqQkK9TiatnHgz7WdrVlrta6NlSAk21hJKpkhRKgTVKFOVIoMzuOVNI521r6yV218jbHOcI3ZdhoPXHO59sZ0IqIV9/GaW4IP+hBUVgCCCAB2seOMSMnwDvCVbBDFkyK2/lCZpX/n4xzy9rN1XDiU2a9ZELR7Y3oQbdQ4K3zPuNSVWyeqE3SoAEWVYEW9cIV4AvhJqlHcdmSTSapy8ZBKtd6lGlIaO1G6SW1rDasvzldPTHYPTn1R5O9VNIz+tcmptP5pT1N1KulppE1BTMXSsQ3N0QUNMUNNQseVuvMKhYlJC0kb27YhnbBsl2jbJJyQs++snKMPqY5qmXQ6SlQUlaVALIScINcsgdxpHZXatxF4JYTNmnCxU9Jp1nrpnxjnbr665Mmum3KKu6Ufn8DUed9ZUtOafoXLqWRJiJixHTVsS/wC+mqFNNKh5JTdM+9iIcDykvR7uiHaAClOIlnwW/B/vftIv7Zt5WG1NXMs2YQtLxFBjBKuTQSarWohVBnhHOVQCNRfe+EndtAx5u4TlqdKV76f5xDcu6VKcfdU9EOuvPRD6rhT8S+vxIl5YKlEF13zWJOm9hj22bXyIKGea2d0U7fdXMucs8cS6k17a7o6K6VeoqpulTPGjs6KZgkzoyX32WVLS7kWYWFq6j5zDqgZ5TwdaBXDTJ6HdVEMur8jUSyyVbc8PtY2bWbty2fvbP55uipZoqS5UgoWFl5CxQglIJUlYGZSpQAOkb67l5n7v2m3NS5+FChiyBqNwzFK7x0gHpiZpkF1JZOdTlGwleZN1QJ7KolmH+6UnjYd2X1JSszWwlyKkVQy11AbRHQK7oL0M4/CROnxGnCk2HgjtU2TXm2TXocu/eVs4CSWHMsLrdclJIOY01CSNCAYuDde8sneSSMyyCHkUC68TWnry3aVOsbMq+sKWoWnZlVFZ1PJqRpuUwz0bNJ/P41EvlkBCQyfFfefilpUhGhKbgWJJ2G+OMsC71o3ktdmxLFl3Ji05lWBttAKlKUcgABmY6CZnpazmFTs2aS7YqTwrlU9FYiEe0v6t6P6rs94aOywfiYnKygpOmnaZqGOhYiXRFazEFtudVeiVxX4eBkUQ2hTUuadCYqIZAecbbLgQn3W8FnYla2xTZI5N3lUld4JldcAI+CqcmqpNCpFaL1AIoFGhipe0a8jtvzqmpYlMqDkKDTtFacIbqeCXEOI81nAUp0g3OonynukFF9+2LEyk3MSM23PSqsM204XEqoDRahmqhqDXgRSItKEkNgjJpWJHQRoentiTB7Lf2i2XM1y5pDpcztqZiisxaKhmadytqafxDgkeYVLNBxUoplcyWlxMJWNNtBTAbiVNtR0GGlIc8ZtSHPK3wu/BOt9V55zbBcxBVYlqrVMzbKUgll0nC/MDPJp10FZpkhZUnClJBiyuzraKuZYZsm1lFUyDTFQDEK5DLIEJwjIbt9TR8iYzKXySWRU0nUdCSqWwbCoqNmsxiGoKCgoZtsOl5+IfU2w00pshWpZACd7485mLImpm8HuTJhSzUICUipUpQoABQkknQDWJ1Q+w6S+AQEevU9lIjJ+1461Mp89HqFyVyRn8PWcopCOmE+r+uJS447S8ZNEKaallJUxGrAE++5EQVxEwjkEQxcW20x4iUlePXvwKNgd6dndi2hem+KFMTroSWWFgJcQhdEla06pKgealXOoCSE5VrNtSvsicLl32uclxQ5244CFerd0b60ZIIUNOndQtp5A1dtydt8XmBz6IhEw9f7Jv2hdE9PLUw6dM+Juimsr6pqmIqWg8wXoWJipRl/VdRhtmayarBDByNgKTrCIhEvwr6EOKhJkFh7Qy/qTWzwhNkE3tCnfv2ur8FaDTdFtjnKcbSK1SCSCpAriGpSEkVwqpJ9wL8KscN3RtXE8VZJUKACpJANKaE5EmmZrrEpCWzCBm8DBTOWRkLMJdMIdqKgY6EdTEQ0VDODW2+08yVNOpdSb3QVItwSN8UCdYLM8qUX5SFYT1jXzxY0odbol5WJYAzpTIjm5dVAOOpjl/qs6yMiukqg5zPsyqpl8dV0ZIpgaFyllEe0utswJrEwrzEuhJew2iJ+40qXELBi5jFpRDw8OFKTrc0oMm7PtmdsX7txpNl1bsyWWkzKiKpAUeYVHUYaEhKTiVoATHN3kvFL3elkvqFZhdcB4FNMWWnDXTqiDvUE9mlV1BO6qnjrTs5qKax84mK4cFDCIiYPriFw8OkqUBDQwWG2xxpSDj1MsyzJWwbNlpWcSVyLLeBKCc6FOEVIoamtTnlWm6KxTb7NovzE9Qco6sFXSag9lNcoyrKbM6p8lM0KCzeop1puqMuqplFTS1t51bEJHGDeUI2TTJaAVGBnkscdhlFIKgFnHN3xu3ZV+7szFyrUZDt05ppaFsmtefTnBYIWFJUARRYPAg0MKkrSnbNnk2nIrCJ1OQVhChTeCkgggjI5RNL6YesfIzq5o+CqHK2pGmapYgYZ2t8sJoow9YUFN1NpbipdMoNYU3HStcS2sQUfCuvMRbaSs+EvU0nwi2veDxe/YxeBUreHC7YC1L5B9IIQ6EknCknPEkEYgQFDQjQm310L0s3kaJVUOpSCoGnq9Oh3RtrNPOfKXIimI6uM5a9kWX9JQzWtyPnK33IiLdRdtMDJZfDNuR04msataUMwsOhSisXUpKSSI+uFs9vHtctZi7FzJYrn04i6RUilSQs7gEpyOYFBUmNzbcy3IS/jblStkkpzpSvHq45nOgBMQt+sbqCh+p3qLzDzblcrjJJSk2mCZbREqmSgqasUrLFPNS+LnASpbP3Vmq1riH0oISwpYYBWG9Z989klxG9nOzuzbrqUFzzLfwyxWil0FadA0BFK5nKsU4vpehN5raWvDRxjmk6VB0y3adfGOYHQFp8PWW1LUgNuNX8Zh9LiFsRDBG6X4d5IcQRuFJBxJjBUFkJAJWhaaHMELSUkEHcQSD0GOTSXUqC2FYXUkEHWlM9/REvLoF9oplv1J0TS2Xtbz+GpbqPksjlsonVMTNiJQjMWGlTCJdAVtR8SWTCxj06l8Kh2Ywr7rL7D4UtpK0qCR4s+Ex4Mdt7M5h2812W1KuI3MLcSlIqJdbhC1JWSSoYSaJ1SpIGGmgtJs22kyV7Vt2Q8lSbUYBos1pnmT31pllWhAArDlE/n0vpunZ9U02dchpPTcom1QTl9iGXFxDEpkcti5pMXYaFQlTsS61CQilBAsTbFSrGsCZtW3mboMIC7bmXUttrqQMayKCmlDWlSMolWemTZTBmppeNlIqcgMuyGy2fbI9BkTDsPmt8z9L7Tb6AjJ+pQAlxsLSDqUpWq6t97X42xbH9wX4SLONuRsyQmJVYALnjA59NaUVSiTzQRrSscAdrV2JZ5WBJxnU1NTwy3ZdHtiofbFdBpteuc0bXO37j9R2AsBZIJsLenGGv3BPhL4A37jSWAVoPGjqdfj74x1bWLrKdS8WzyiK0OI7/T2xkVHe1j6KK4qul6GputMyYmoayqOUUxIISOyuqKXwT82nUa1L5cxEx6/LCsOxL6UlR8oJF8YlpeBLt6uxY87b95LKk2bBk5N555aH8S0httSk4QV5nGE5b8xQxs7P2nXftm0WpJlNJhZOE1NAaGuWhqOMOUxgbgnYzxVoYZgipDi3dSEMqR5VKcesoFOsXB329cVMlhKuWdZ7i0Ypt6YWHKE85AKcKaaClTUih6Y7pp6rKJgkFChXSlYjre1/608qawoqV9NWVNVwNcVIzPlzXNOeSIvREkpaDgFttQ9HtzayIWOqOZREPrdQx4jUK0glxwOL8NHqr4Cfg7Xrsm139pV6WzK2MuXCpdlYwrWMyHSPKwZ0STQKyoCATEF7T75MTTZkLLUcBJBNARUa613+anWY+IUvSgLWCsoCnFgG3iK8y7FG6kgqtcbHkY9EGnzNJW+cg8Cg9KAo0HR6Yr8w0G2loOrvl9Ps7Id89lR10UZ0v1RWeVmckWiQZQ5pzaX1BD1r4MTEsZdV3CsNSxLtRmHS4UUfUMsSiHXEtNuuQsQ22tadBWcVA8MrwfrZ25WZKX3u9Vd9LIYVLlIGcxLqqtppKQQC40oLKQAFKSpQqSlKTKezi+jV2XlWfN1Mm5QIyrgpWtd9DzTUn4tNCYlRSSbyuoZdDzqQzmXT+SxraH4GbSp5uJl8cw8PFZehYlr8G62tlaVJI5Bvjxdt2y5iwZ5NkTqCi0EFQcB1BGWEg6EHWLSS1oyU6yhyXHlio14VMXW4tcb/AG9saqkZFRrBc/MfXkWBuR9cCCpWD2t6C4ttwPSw5N8DODoIxurK0o/L+RR9UVzU8jo2nZXDvRMdUVRxzUtkstZaGt2IjYx0HSAgWSlIJWsgDcjG9u7du2L4Wo1dmwmXH7SmnEhCECpJFcqDPfujDtB5EnJuT8ySLPZTVwDKoqKc7dTOIe3tKeqqj+qrqIdqDLF2PjMr6Lk0JSdIzuYQqoA1bEhlLk8q5uEcKnmZbFRDKYeWoWlt0stqcdTdace73gubKJ3ZDsuXY16Dyl5ZjCrI81nCsUaoMioJxYjVQFQK4gYp9tAvgq+1oNTFnqwWVJ4gU08oqJANTnqRwrStAMob7UlK0FCrFJSL89rEG9wdjxifc6xwUdkQ3tDOuSChYaBg+qLNCGhISHhYWFh2oyUIaYhoKFag4VltIlWzbMKwlI9bXO++Ife8H7YrMOl5+7kgt0kmp5QmpNT8fie7KOqTfe9SPImyP6Df9mNV5q9R3UP1Et0vI84c1KyzZap6aREZR8oqFyDifuXO5wy3LoqJlaYKEgnffZhDhLSrqVqT5Ra+O9uTcC5Nw5hT1ybNl7NddSfGC3i+GSk1SDjKgMIoARSka+07ate8pRJ2k+XKmnkpT1ZpA0iRV7H7pGqDJLLmu86MwlPy+t85US+n5PSy1pDFN0HTUS3MoOJmymXNTs7n09dXEaQB7qw0hpe5WD5X+HTt1kL8Xkl9nF22ymzLJW4qaUtOPHMOhFA0p0KW3yaUlKigjGSTXDSLD7Mbly1lSq5l0VUvARzlEgCvTTMmprnQADfR5BttpDhCfKFG6lEkqUnVe69BBWCBuODihBtGaDTTaMASwCEUbQFDECDVWGqqgnyiYmbCFFOOlRp0dUcrZjwsxUPeZlCGDTFuzR5mGXMPuooITNG0+8uxQUUtREWjcw6TpYQQjkHEqXZnGiyZGWcC2UlBVRsNjEUVoBSpCT8b4xz0jnp1C0INRhSa0FcW/UncTw3aR05APRBlazAuQaYxMPEtQzkYqJEEh7xHkI95EG27FKhyuyVpaSpRF7WG+OFtxLDl9AuaVyMuXQSaV0PZrGdKHk5ANUxc0egcfbDA/tNskKlzDZqerMxKcpmW5mUzTz8+oaqaShGoGTzClZWt+KmFNpjkMNRM0EQwHVrEYVxDDmlJVpUAPW3wWr42bL2XKWPZE/ilkhXwVNCVKNTRVK5mhA0NIiq/V15efs6btCuF+XSCTQnHkMqk1HDfXWI6SSlxCVgg3SlQBvshaAts8/lJP2Yve5M43q8nRxRAxV89KRVyz1KtAtpIwA4unye7XzQ6n7KvpUV1BZrTvMac0zTNU0NktMpL48oreBemdEzOu5o2ZhBQs9k7BDk6XASiHES3CKuwtzStwlKShVX/AAtts0xsguaqyZF95ds2o1hacbIbcbTjSFlIVUKrRSDmKCppuiZtlt3mLwTrs2+5hRKKpydMXKVBTWtebhqDWhFaDfEthhsNw8MxphGm2IduHRDwKVQ0GwyyNAahGdKfdYZpPlbbCU6EgACwGPC6dfmJycmbRfWpc5MOFZWQCanM14k8Ys8xLIl5bxaXARTo9Wn24xG69pvkpnH1FdQyYmQzKkYmS5bQM2omAbns2RI4yBh1Td+Ztw0KiFlUWuZQmmI1l59ZcCiANjj2j8EJNx7ibJFTM2mZW7MuBxSfGcJCyM1VKDxPNASO7Kvm0O69pXjnUz6MSEpFMNK1A6ctddMqw23PeiDO2npJO6imLtBKl0hlMfOY5MHVD78WqDlsM5FRIhocyZoPRBaaOhGpOo7XGLIy19rDedl5OTmJoOTBISgO+Tzjrlv1rviOHbjzgs+YtEoUkMJBw61y47u6OU6elUZUs4ksgliWPujUMylkogBFL8GHTGzN5lhkRERoc8Flpx4alBKjbtjsJ/xORccVaj0yuXYSFZu0qCCTTm5adMcTZzbtpynIiXU26+qgOKuHCeFBWteiJc3st+m3MTpryAqiSZkR9HRUXmJWzGYFOro+dRU9hk07E05ASlpuavqlkuXAzJyOgHNTaEu6WSDquceO/hqbQbk3r2j2ZNXclptxUlJrYcS4+kpJWXBQUTQ4cQUFnCVUw0AAJtrsru/P3dsEtzBLhKsiQU5nCa0NQQBrnQGmdaiMZ6/smajzmkjMpzTkNKPUklMxhcvqspaAC5jStWRcIWJTGR04dhhUAmEWQlpUMXDL4lkqQ4jVZQkjwSb6WPdAfeld6aMxbE3hWvEcJQa1WkJT5SdwNQocYyr43eYvEyWJjmqzzpiPqpnwy6IiZxcHEy2NjpZGtlqNlcdFS2MQRp8OLgIqIg4pFr2ToehiLdseosmnxxgveTRINNYqPOseJTHi9cWetKb6aZx1f0SdNE46p+oCQZfw0uYmEilktiKvq5qNeehpSql5K7oMDN4qDWIxuWTaZvIaiUtWecaBSk3ULRftm2ly2yO5Hu+4sSz86S2hyuajVSSQKfECTv1pHY3HsKXt23BJP0SlFDWla1zApXppE1WjJCml6XkkgblNIyKFk8AxLoWSUJI0U9SUsbhkJC2pNK0BHukO47clOlN+9zc48CtoN7Z29d8Jy1Zla31OuEhxSqlQJyINNO09kW9suUlLPb8RlGQ0ltKakfGJru3U3a69EY/mKcxXKamzGWUPSsVO3oZ7VBVJCqjmXPwSmUsS6FfZiJOuNcQSEJiUqRrtqBxt9nDtlSV7JK0bVWtDbbwUkpKQAoaFZOdOGHOu+Hp9hqYllNPDE0RQ1NKj/PPhSIgPXTklKMtKulFV09IGqYarKbT+UVPIkMe7MS2rZO8l2KLMANLEvVOERBU4GglrxW1LSLL0j3u2bXylrekJGabdE7ZDLKPggaJyFCFK51SNQaVyiqO0yx/cKaM8xzgrVNKef6o4QcWhpt15whLTTbjrh22Sy2p1aU77uFts2Hc4liyLJYtK15SzJp8S7c0wp3lMOLBRKlYcNRXSlajXSIymqSyZdSeeX1AU0w1p1116Ilh+yx6RorI/K2SZlVPQVCmt8zJPAVNE1jO4BUfmPJJXNYJqOk9KSR96Hi4KQ0zCwTyXnWke6xsS+8pSnVNlLY8bvDE27TN8Jh269iz7jVh2dNrZS0hVUvFtSkrUoVFCpYKgCFUpFvbg3OsuyLJlZh0crPlClleHD5RJHHMJNBQkcRUCjqFTLqRMoiFUrCU1HzxDUQqGh6qdmKZc9rbsu4goeKeiHl7XDpEPYAK2xTe50vZs9bLCbbmnJRmZWlSn0gEt8nnnUjXFqNKR3s4DVLbXNSsGuW4erz9MRU/aP5FCVTCdZwRtNwdK5giq4CEzJk8ngoOTyKbfdluIhZRVUFKJahMrHgLYSwiKh9Pjsu6li+59xdht/LNvJd2WsC77/jVmSDOFx8KqXFCpFUknDUk1BUc84rxtTu/KsIXaSUgPNlOdPlEJ1hp5PxISNN1KSBqJ0i6hYqG22++J435xBkSCPY0dJcVEy1nquqKjqLqKCjZvOKeoKYZiy5yPXKYSURTsDPKjoiWMMvQkTUbk1L8IJhGsOpbhodLaNyV4qx4SG0NyzLYcuRYz3i8nydVKBrixAHCRlkBnStMzXWJw2cXXsxN20Xgn/wB8Wks5GmEpFSK1z1zGVDlkcokgkaUpKUuEJQPDGlpl1ekAJVpCvBZUtNjYEIHYAbYobLLxzBUVYk4jzuNDE1J5TAA6rG4RWtKa6d2nTDafXzlfPs1qRfp6uqLouZ5RxUYwVT+QwDbtXSadvfgYGbzOoI+AYqOS+7RCkke5kQbqQUuJX5SLC7Hbbcsa2FuSr+DGW6j5VK6jfrQjONRaVhStuhMlMii1IVRRzwgcE1p69KmIgtbUrMKCrWqqHmrgej6Vn0xkj0ShBbbi0QjqDCxjbSgFIRGwbyHQCNgrHolZj71ucgpwnki2pRGtcKCaV6xFTLUlzZlpzcuhWJuXcCeGLEoCu+lK13xnvT9kzUfULnNQWT1MtxDkfV8wfaecgloRFwUpl7YmU7jGFOENsuCXQykhxR/B6iq22ObvxeyzbibO5m/82sYZdRTyBOHERp8JnT6Jjc3bslN4bxN2Ct3kELTiLlMWEDPyaj0xNg6fMppDknljT+XkhofL+h2JBCsQ/utCQ8QRMHG2kMvzmeTSPhWo+bVBMgnXEv8AjRDRdUopKb2Pgztw2kWjtAvsq8kzOuTDaxQNE1CBXyQakaUAoBpoIuTYljSVitFqWTkRmdK0GWXWc6gHQZ0i09ScrzCn+Xs/ktKSek51T0bLFt1XKZtK253P4qRu+IzEok0DN4OKp8hTK1pf3TGFF/DsdOOh8Hq27MsC8r1ppdMtPoUkgZUI11yUNd2XXDNoSq55xxhw1RTzlOlK+mo6jSIcnVVlHIsnc01yekob3CkaikkvqWnJYHHXRKWXHIiBj5M2t8qeEHKYuGCGEE2bbWEWukk+4FyLXevDduXtx9zlFzAOeum+u8mtSYqVfmwpaxbSSuXFOWKq5U8mlPTHOUOxFxkTCwcvYciphGxULAwEM0QHImYRz7ULBQ7ZsfM9FPIT8747OWVLIWt2ccDMshl1ZVStMDalDKo1IA6K1jikNLfcQy2cKlLSK66kA+aJqHQ50rnpUykltGRMjoaW1RMoNmYVbUEslTzlf1DPY7w46OhKrqRalNrgYN5wssQrS2kQzbYFlkk48LPCP24T21O1Z1jE77mSb5bCCoFICVFIKQBupWupNd+cXJuzd2xrsS8uiz5ceOuo5zulTqSE0r0HnEGgpGy+reb1JJ+nuvU0nHMS+c1HLomi0KikMuQy4asJbMpFFQzynmYjwG3m4o3cSnWgC4745nwY7LZtPbFLO2qr4WWcS5jUK5pNdMtw1rlG6vJLTD9kLs51eNa0kY6U831xEngugLPqEgYaH8fLYiGhkNfgq0iXUAMpKUpDipEC4sJTYna54x7fT21W5bcxNJnp+0G5iWSjmsoKm1VQCAkhQAy8qlaGucVgOzacE04zyiltpPl4SK1z0rlStNd0aLzcycrHJGeSena3ckDkynUlVUEIqnJq7NoMQHvrsAEvPuwUCpqLD7CtSNJt6439g2/Zl5rDVbdjzNpFCFhJS5Vuta0KTni0zyFMo5O2bCNjV5epIOW6tPR546q9n/0sZn575yZd1zQ8RSLclyzzPpupKkRPp49K5kqDoyayOoZqzLIRuAjERcS/CvtoYCnGwtajxpOIn2/7QrFuDs8tL3bcm3Vzcg4023jCgXHkltGMHDzAoglWZAGQJyjq9nV2HLan2bRacUwULJ8kr3U3U458NTEy2cRMwf8AutFygS5uOi1v+4NTVUYiXavEWoe8KgkGKLdleaybBVwPn4I3cTIC25WXnVhcrKv49PwmdcP5ulYtsGViQRKE1UhOaqdHA+2I1XtN8jJ3USqzzQrSRyeVZrUrCQc6dn1LQULKZPUlFJfYg1MJTCQ8MxM5fAQKkOtOvIVFhTa/EVde3tB4OV+LPe2fWfZdjTWJhbikqaOaxWuEkhVAQaVplSIL2m3cYMobSl/g1JzoBXrz+qGJwhOqyfIFuEabFWgLdIJHOoAG4+Rxcu3G2pGZIl0BLKZNp2lcqkBKh2qBNemkV+lJozMq/MKThLO6uvs88PYex/6VP3Q6qnfUXUdHUjVFM0LUTtFUd+6HCuzGQw1Vw8DATGeVNJ5GwmLam09krUc1DQq4qHfhGC8pakaikppd4cO1VjZtLN7LbCtJQn7SslubfeQC2psPYw0zhBJNMKlYgoV0Iictld1ZC15Jy2J4coTgwIoMsziookDgNx1pnEoPW7slWhJFtYbOvXsR4eo6UpaQfh0pSfkBtjxMdcM0S46rlHUKNF6Vr0fXFim5ZlnAWxQJGmQ9EEDbki/1/RhqnDSMitOEETsN7X5sobAb7bYMawIqISVXusADckqJ0jbtbgYSSBB5674wXMmGr6JpmYw2XUtpCazuIh4plMLWDKouBdZdh3EPph4VyGiZfFRS4fWlLcSC0pShscSRspesyUvWzaFozBl1sqSWyAKlRrvJFKZVpnwjW2xnIrSsYmVgBSa0xCo3jp7DoeEQ5uuHJOU5WVzKKjp6VmnZfWzs2hp/TaGGoRmnq3lSkGdwbEAwhuHl7Myhy28ppoBtt1J0DSqw94tmN6lXlsJglzlihsc+uopv1z039uUVN2m3WYuxaMsuzzhlZvEVIApSgJGdc8+iOH1kNoUreyUlXbsDudsSeMzSI40jsiA6Fs8pjL5fMWH8vUszOWwU1hG3auiA/wC5TGFYjIZbiRISltwsRCdab+W+I7G1W5aVKQ8udQ6kkU8XJzBofj9ESHIbO7Snpfly4UZVpgrr2iNVZwdPGYOSEvkMxrl2mlQ1Sxkyl8rRT07cmsQIiWQjMY8qJS7L4Ew7XhO+VYUdxtjrLCvTZd7OSasjlG2WgrEtacJXzjqivNppmTXWOdty70/YaA4KqdSrhQ+uH9PYu9UuaWbcjzGyGzGnZq2WZP09TU8y7qKYqSuopfIJzNYiUxtIzSNSkKnEBARDaIiFiXyYlAWtC1LTpKfNHw+dk907Gm7Mv1YJRL2hOOTLc0lKMnloS24hVcXNIBVUAEZ5U0ibdjd5LTn2ZuVtBspQ2WsJKtyguu4aFI7z0Q+SkEPBO58xGpKwSSOCDyfljzOZo9LOOnmlFMqa19HdE+pTUY845xzRdVEwcG4pLLQ8KJU023rQ34Jj2QFttqCCG3VJKrkAqJ3xJl00Bp9aQVHNNSczXAdTnmNI0NpHE3XIZH0xuqjiTJGQ2vxG2lxzZcBV5nEzOLDiU3KVt6FpIKd7diRjmr4ty71rrM6rkpskUTSuRApWlQa7j5hD1nILsskIFaJEcm+0DlkHH9NtWzF5lLkdJYaaKhYggDwW5lIpnDxsOLnVoiXGmysAWUUJJ4xZXwM5xqU2nps6bfUlpak4BziCTXgDTUaxqbyMUu/aSXaAlmvTWiaemITUDvCw55Jhobf1IhmQL7/kg2F8e5DjD6bTTLlPwKCnGajIEEjryB0ilVnhpksrGSfha+aJMvsG3AnJvqbbJs6M7KIAsLkK/c5Uo7+pSm1/QY8r/ulHJt3wuq20sqacsuZmUDMYmVvhCXOjn83CaK3kUzieNg5DptB5vNoq16ij2iH1+FXUkKO1xpBv8zwCR88eahcQoaxYzIRqabZHZRVDNZlOpxRUHFTacRhmEyinoubJVFxZT4aolxMJMmmW4haLAhCbEfTEmSW2W+tk2AxYtnOBLbZzNRmBoADujCUgugJdbFOyOOeuDKTLiiOmHNGe0jTMJI5u1Io6FMe1ETR11DMTAzBLrDSYuYRTag8iwKikEfZiw/g9bUb13s2uSMpNnFJYkbxkaAHLrrHO3jaZYu/aYbQK8lwGeSfRnEUnptgmJp1B9PkqjWUxMumOcmVUNMYZzXaIh4mq5Mw4ypTakOpS+FlKlIUFAHHsVtSDbVzbbmGVUnm5BWEdJZd36bop9diZmlWnJNBsclyyq5jimJ48NIpTTkO3JZHDMwErlCoiFl0CjxlphYQLU0iFaceUp/w20AC61FSgNyTj5tn7StG07bm5+dVjnULUrCaUoCQrPTmpqemmWcXmlHAlllnDzVNivYmtSONeGkYPm5Loed5V1tL41CG2WZJEx7ZWkLUzFQHhxcJFMkavDU07DqSq3mKVWHfEgbErQmLtbVbMtOz18o/NuhtkCoxlawCk1pTOtCaDLpjGnGWS4c/KSYgcVupTlc1y44VKccrqtFLUbkqUqpZooknckkm+PohseviSq/i0+gRRW3P4xPzj6YeO9hWNPUjnMQAScjEBQJICk/ftJ/Kri4OKFfdF1OTOyO77K1cm01aK6HWoPKE6Z6mnZEvbIWG12+skZ4B6Ik9pCj5j8RsSb31WUQBe+4SOMeRbT8kJVuXUqpbGRoc658N26LPrQlDhw60FYVpAGkhPhkp8SwIulTg1ny7lWk/XGDynKOFBVgawrz4EJJT05qoITgxa8IjY+27lcHL6uouJhEFoT2bQc1jW+3vopJ6GW7YAAuL92SsnkqJOPYf7n/PTFobKLQlp9wrtZt8hkHMqbqc8WgpwJBiu22RlHigCvL+1PVDCceAYGJSUhSdC1b+qWXrGxGxIx6AyiEzFo2WtSsKvEF+ZByiurLb6kyBmhT4Ubwd/WY+gPl3qVlxlqtYK1nLyglXvuSaQkqQo7DfQLb9sfMreZmWmLzWoqamDj905vIg7ph3LSL/2MhCLLYCPJCMu8xl677EDzA6hv6cJChYjY9uTjTlLM2BLOLwMoScJoTXjlrujZ0bLgC9c6QzD7aGAgk5IQs9aZ8OYTFuWyuMfSAA6zLKmljsGhdrLUUtRZSCb6Ui2PRz7nvakzJzs/YrauUkpgqKjuSUIxCgNDmRw35xDe12Ww3dmHQMgUedaYi4LuUK5N0EHnix4x6oDXoirUTTPZXnV7P7prWogrFL1ShCiLlKBmTWatIuNgVb/AFx5neESjFtemGnVEHkUUH9ARZm4LSxs4l6jPGfTDgl9/nf0sBxvYd8Qchgy0vyLebgKvOomJEUCmgOuFPoEWGrJPB1HSdUyKYpLsJNaem8E7rGtKUOQUS6HFJXfUqHebQ4g8pWkEbjGfdq0rVs63WHlJKZUrAUajLPLIGucJQ4GZlDy8kgKB7aeqsQRuqNWvqKzgVdS7VYwlK1kqWoIp6TIQVKO5KkJSfXHsFcBxSbuSky5k4uWVh6eaqvVQcYqDe1pyWt2eS+MPjDyS3vxAKSd2mQOtI6z9kV/r9sqNh/ctmmT2O1Fxve/IGK4eGey214LdpPtLKXDMN6V/GAefSOn2cNODaEwojLklegxMHNzvsNIISlIBskAaUi+4At2x4UsSsm3LlbjlZncmh166Ui44FBBhx1taCyspCXErvqAHibAuFPdQAO9uBhxpa5GWFpMukT5NCkA5AHIV0Nct++CSlkpWVZrIz+3VEQ32tsqg5F1NwUmlzRYgZdKKpTCN+XTojKrMe4G0o8qGWXX9CE9hxtj3s8F21pm1tjlmuzf4VKKHtAMVV2vBAn5Uo1+Fr/yQ3dl0QnMjLYkghOZGX+xv3rGScWHria7yIU5du0UpyV4hMGvABlwk9gFYi6y0hdpy6DoXkftAx9AePUpcXGk2KkOv3uq+yn3F35811LufmcfNxhB8ccBKkTj6gyfxhCz2pyI8qkXybZbxSyhSuHLsSP8oxqqqRpmuJOuQ1XKmJxKHIiHi1wTynkARMIsqZebcadZW26ApQ1BV7KONpdi+VqXXvA7bUjktaSB3ZQ643y6aOAdFTGt1dOeR6nFpOXkrLJBHgiYz0IAUi/h/wCqgFrbcWGJC9/3as3ZZblrVaZZWs8zkgpaaq3qKCCN+pNOGkMFmXlkBsAcq5UCo1Pnp3iIsXtXZPLaf6ofuNJoJEDKZXT8zgoCFQsuIbYRUUQ4Ahbi3IhQBc/2RROPZ7wbLdvLeHZJZUzeicYm3VGtW2y3gBAqF1SnEVHMEVp0RVXayHW55DDiQlQxGleNCDl0Q5v7C+l5C5kdm5WD0tbXU0NmzESGGnBdeMTDSd+lZJEvS5LaXEw5YedJc1lKnATpG2KRfdF7dm2b0WTd+VWU2a7Llatc8CjTLr6tIknY4wyLIKxQubxTqz+rp6KQ+UVqVp1AFAsDqAUSkXHm2JIA4x5pCVZaPKIcPKHry4xNVE7hDantSpZDRHTBU87faT7/AC+n6ulPiqKFByBmkrZiX2jvcoQ5Dpsnjc4vT4D828dqLljh1S7GQApGo52dMjmM4j/aOy37jOaUw5eg+iIfLK1JQy6CQrQ24lVyFXABB9QQLY9o5r9/ysyma/Dt2ecugOqKc9MxSKcS6mmJOfQo0SchkYlfexEWo9EcenVx1BZsWSSfIky+ibBJ7Dbse2PFn7opJo/dJpadeIZTdqzNxNKiYMWn2KtkXVC1DmqIp06w7p27E7WPNzc9/oOcUcmEtNOhuUVil6ZnTzHPWJhgtXPa3oOfn+fCKQUVkJUoXt5QVDWoBLepsgKTqUbaxfYd8JUFJZExhVyKjQEAkV7BDZmGUKCVKAVFPxEk6NyVpPa4KTyom1tO1t++2FvMuS9OXBTWhz6dMtYfCgRUaQYuVoRykpUAnewuUcDYbW4wcxKuNSnjqlYFJUMHTx00plrGPNISuUcCtMvTEaH218shICuKNchGi2ZnOHJtFAlIT77E0y23FOoTf4nG4ZC1K7k7749nfAgtOdtXZ049Nc7AEZk8TFf9uyUVs1Q8rCsd1R6IYjj1FMFFkbEMuG6bg/ATe/I52xdtpIUsJOhivZru1qPTE5nLzp1yVjMuMtn4iikuuROXlBx8QtubzxtDkVG0dJFurQkTEKTcpFxsCd8eFN+/CD2wSl8Juy5K1pfC1NPJSlLAySlxYAWVIzISBXDUVrF7rvJBs0HAmpSK1HAUjmXqK6J5ZmJVkFD07lJTlTUXKZbL1ypmfzRhxEDPYhp9M6dYM1mCoxLZS20lRIspSri4G09bH/CxsmxbM5S/9rJFuqSsOLQw8Uqoo4AAhsgUTSvTGgtq67NrUcwArJzFQOjeeEdC9JnTXQ3T7TEweg8r6PoOvahjJnDT+bU2hHvEwpqHfbjZZDxsTCxES3FMQTgUtpB0hC1bC5xXDwgNtFo7VbUZRIzTkxd+TU6pIOJKQp3CMQQuhBwgioTplGdZV3pSwmsUukArAxmmhFQM+2Otw2pDyUNNlRuoICCHDZAN/gJ4SnfsMV0lmXJgFiUQtRVUnmq3CpzI4COubfaWxjSebTM9sc75toZSiFEOlaGTAOLPjKcU+XFxoJLhfUXRqIsBsLcC2JDuWpbgccUQcLgBpQADDlSmR9MaC1VoS3izwYTxO+NwZf6V0zDvFxtZiYubRJUhzWkh2eTE3SoG3mSBt634xzO0CovMpFCAkIGlNEJjNsLOWQdQR645k69dP713McW390c5tteAmXfucT34J1ffklOGNHoEay9f8R2l+h9SYhDQH9qwvb8Xh/t/F2Me/Ux/Gj/U3+w5FH5b8E1/7vqiTJ7Btp1zKPqdU22+4BnlQws02VpKjlm7yQD2x5KfdJgr78LkkCqfvKXU0Jp/2gnhp2xO/g+rQiSnsagDU6kD4zfGH3TCxhFgw8Bsoj3dwnbfm218eaYpwPn9kWK5Zojy0d49sUjBRneGf3IP9ruJTa97/Dc4WFdB88J5Vr5aO8e2OKfaFQsQ30lZsrWw8lJlbxK1MrSmwgo+51EADnFm/BJCvfdkjQ4cac6GnfSkczeVaFWFaNFA1ZO8fmxEM6WyP3yPTlv/AH7Mn+5/5ayLbbcY9w9qf+iNv0/ID/UvxUK6n8Zyf6VX7SYnnTA/j0WSU7xcR+UR/s6/XfnHzZyw/wC157XyX/QqLvy/ky/zP+mMFzMsMvK94/uUm1vMCP7XfA5x2uyv+US6P+8Ef1hhqd1T80+iIEtZD+zWtTc/3cVl32/uimePo1sr+CL+Yn0CKJ25/GB+d64eT9hS0691JZzJaStwjItBUGwonSa2lA/JSbAnb0xQn7omCdkdhhIJPugvQE718ImHZCpKbccUsgDCMyaemJQSYOLKR+Lv2APLS/yVfNA2GPHQBSUjElQJA+KRu6oswt1kumi0Uy+MPbC1wcXoJ93eN9HDaz+Wk8acBOZIAVWh3HhBh5qvlo+kIjde3KZfaqLLPxmXWwYhnSXEKRf+x6P7qSL749gvufAIubNAgg1VqCN/TFe9shCpdKkkEU3EHfDAMb/acR/0bnf/ANA99mPQ2z/4fZf+wufsmIBX+DkP0o9Ij6A+XX/k3y23t/ocUALm3ekZNfcHtj5jLy/6T2p/vSc/+S7F77G/itn5nrMZj8+1iB89/T541LWpHQYzz+GR2+qGa/bQg/vdJPf/AIxb2tx/XuQ7c8nHol9z7/0gmet3+riLNr4/7qzPW3/WJiLGu3hm4FyDfbi4P5sesUVNiaR7KwKPs/OmqySQaXqoiySdQ/dJrMFQI5AIttjzR8I2vvzvfoW/2ExaK4f8ncsN9T+0YcG0q2uk3/kq59O52xC7lcZ11jvHSMf9FP7IijGC0umZsQPuXNbnSoi/3NjD6/bh6Ur4y3kfwqPTGJMEYIgWdT9v3w+bwBFjVkPb6fe7JTt9b49fbkf6K2V/sy/2FxVXaDT74EfPjrb2RV/3++VO9v7FM1P/APio2+K5eGl/9LFo/wC0tf1ojqNnVfv/AGP0Sv2TEwfc9xa3r8vrjwmi3OcIIUVWBtwOfrwB+3C5mgka/nQ0mtXOoeiIk3thv9dejcH+s1Q7m3/H8Pvj3d8Er+RqR6k/siKrbW/4wl+tz/phtfL1JOYuW4SCScyMvbAbk3rKRgbWvc4sLbppd60q/wDlk5/8Z2I0sj+NZb9Mn0x9BGNhIv3yaH3eII8V0k+A7yXFWtZFsfNk1USlnAgg+OObjxEXvaeZKZQ40UCeI+SIpCEitO0M9uT/ALA4LAEgblB9caYnPMK88P8AKs08tFesQEwcXqctCRBsoEkMObfgwLk+GbC2HHT+8xr5Q3HjGHOONGYliFJoFGtCMuuIhXtd23GurOLS4haFfcmcGy0lCrffA7vZSQbWx75+Cx/I5Zo35egRWLbIQbbBGYLY9Ah0D2Fo/wBLXnJ6fu4Adv8AkXJPkfTFGfui38oFif7E5+2qJC2N09yFfbhD1qYd9xOpthxxsXBWhkrBI5GpItdOPPGh4K7jQRMxcQk0UpIV0kCG1vawIfY6QKzHhRLbjjUzXq93WhKWG4BtCrqUgWK9Qv8Abi7ngMpUnaqvEFAZagjjEf7RHErsVeFSTRO4g559MQ9PyDsB5lgAA2AubAc7Dtj2wV5dof7u/wCsxTFz+CTnWIlfexCZdX0STAtsuOD98Fmwm6W1qTcQFE3FwkgHHi/90ZB/dKKOeH72rK0FfivxbXY240m5zKVKSFUGRIG9UO9+5xFtoZ+3ybcsd+fh7DFEqnga9RiWOVZ+Wj6Q9sGmCilrShMPEEqIA/BOC1zbnSRfBEkCtD3GCLzABVjTQD5Q9sRbfacdZOe9JdYdUyDJLPjM6hqIl1BZeQ33ApueRsmlAqFmEm8PUrolTsN+DiBGw6Qt7UQ7+SLDHtn4KGxXZ81sNlE34s+Tet1bryypxkKWrGoKSlRJNQkZJoBQb84q3tTvZatmW+mzZF1YJWfJVlmTQ5AZ0pXq6Kw8J7LzMKu81ujSia4zLq6e1zWEwq3MSFj6lqONMfN4yFls/VCQEJExSkpW4zCMtpCAdxa17Y8/fDMutZN19s9p2ZYjDMtINsSakoaThTVUs2okJrlWufTnE3bP3p1268ou0FlcwpBJJNdXHaHrwgDshw9qEilPNaYWJVfVazTpB43BCTtiqLi3nrJWhSVc1Sfinp6Kbo7OZea8WWnEmuWWIcYjP+3GS+1mJlaFoebCWIkBK0qSHCZSw1qIULkpSsgY9lPANBGzKYSoUNEainxumK/7dVJUbNUggghzQ13n2Qw5Md4GM/8Ad3L/ACshW1xycXmY/Cp64r6fWPTH0CssoaK/cwyu/F4kg5Y5bhJ8Fz/kXJtwdHH6MfN9flJO0q0SAaeOTG4/jFxe+7zrSbOTVScxvI6a74zb3aKAJXDRA+LYsuhVr9/LyccKQcZABriO48TGyZdaDYqpOp+MOJ6YtM+m8spOVR1R1KmMhJHJ4ZcbMotmCiY1yHYbcYGqHgmW1KiIkKcSU2IKLatwCMdfcC7Mxe290lYzQPJuPALyOmmZ3eg9kY9pTKESDqkKSV4dAQdx6dBv1iEnP+ufrIdnFQNQ/U/nQ3L11LNmoeGhqyimUCAZqCITCMoV4IKWxCtoSRYXTdJx792fsS2S2ddxpr3Gs5M+qVGFHIJorC2MZXQ1qc1VBGZEVEnby3kYtJUq2+74upzcrdXKnREsut4x5yT0+9FxLj7zlJU14rzzq3YqJjYmWwXvLkUtzzuvOxKitTnClEkbY8S2JKXavNaVl2egJlxPO0oKJAQTpwHRu0izwmkS13mpmcNVckK7zUnSOlaWZbg5JBQ7SQltplwfg0BCVrVHRSnFhNgfO6STfknETX1Up68Lji81FY1zyoKeaOgsYBMugDTAI5V681E9L2ZAIsfdHCSTe34hMrdsWB8E8U2xyfDGj0CNTeo/9h2kP/R9SYhFwH9qwvP9rw+wPpDs72x72T2JN4S58RKU17YpAxLGYlG1bkLV56Rs+ic3828tYKZS3LjNKvsvICbRMPGTGCoqqpvT0HMoqFhlQMPFTRiXxLLcdGtwailDqt0J8o2xpryXNureOZTNW3Z8vasqBmw4kKKs6jCSDhCVc4ihrTdG0l5+clVpTZyyiczwmtBpnXsrGZfvo+qD/nKZ4/8A1Kqb/vDHN+9Xsm/1GkvoI/uo2Pu5fP8AKR3/AFwP30fVB/zlM8PszJqf9X3RwPer2Tf6jSX0Ef3UD3bvn+Ujv+uLLP8AqE6gqplcXIKqz1zbqiQxyCIySzyvKgmMoikqQULbjZfGRb8PFIWg2Ow8pth6XuHs6sdwTVn2NL2cU5pabaSFN9IWAPK8rTfGFOXuvCpJs2eUpYTqqpoa59PGkUMg1Laz8yIimXVsvsZz5WRCFItpLjNcyNSSeDYI1W+ZwV85qzpm51rMyLRQhuxp3FX41WVU7ox7toCbxyrg8pSzXzRPmmOr7oxxWpRJduTYDlwG6k8X/bj5wrNzsdin42Z/qXIvjJj96tcMPqjAczQDl7X3N/vUm9tv/V3rm30x2myqvviXR/3gj+sMYc7qn5p9EQJKz/u2rb/44rH0/wCUcz+VsfRrZP8AA1fMHoEUTtz+MT871x76LzEr/LePiZtl3XNXUHNo6DelUdNKPqCZU7MIyVvOtRJgYuMlr7LkVAIimUqEMqyNd1XubY0VvWVdi3ZFuRtaVRMPIUSoOIDiMyaHCcq0oCeiMhE5NytFNBQbGhFR6I2Onql6odyOpPPBF/4uY9TgHf5zI+uNYNmGyd2XbS5dqTtNxNajkkJDVaaDAry+zyY2KLy3gmBgs50oweViJz4b91DCh1S9T4KVK6ks73ADfSrMipyAeQraYblKhcfMYJOyfZQ4eTTdCRklHR/k0Kwf0eTFcXk6ilYc++G9LHws4/ilhqATU1yG/jGu6zzMzIzHcadzCzBrau1wx1Q66wqSa1CqHc3/ABiDEyiYhEI8b2uO2N7IXfuJdlPJyMqhsUI+DQEA9BwjMRzNqWvaM8rFziOmppGAR39pxHr4bnNr/wAC/ucdHIfw+y6/kLn7Bg1/g5D9KPSI+gPlzvlvlrubfuc0COAQbUjJt/Xtj5i7zf6UWr/vSc/+S7F77GP/AGWz831mMz3Fu/JG3p3t6Y1Dep6jGwP4duv53qhmn20f+t1lHoJk1YWB2+7kiJJtvj0T+59fx/M/+7/VxFm1/wD0WmeFW/6xMRZRYgX9dyL3B+nBIHqcesOh6IqZHSVCdZXVllfSMnoLLjqFzUoeiKeZfhZBStP1CiFk0khIiOiZlEMS2GXCvLYbjJjFORDidZAcWRjnLf2cbM7z2oJy0ZFp1RNStxKlKrvNQtPnEdb7t3yGkykdVB1eaMq/qgfXNf8A12Odv1NUMk/b+IWJxiTWyLZIh8pYkJZTQpQ4F8BX4/GGF3kv+hWFuZGAaaeyAfaA9cikLbX1Y52BDqFNOD75YdxHhOoU28C2qBAX4jain0AOENbLNmEqsPMWfL4hwQv1rhtV874yqC3aCy6lzSlMqa6Dq7o5Wns5m9TzqZVHUExipxPJxFCKmszjlBcVGPpYahW331pSkLebh2EouAAoXNhjt7IesOUSLMs5hSVBtwJJ0SMKlEAdOffHOTTipx0Tb34XEPSIcV9kWAevfKkHj71c1b/ZRUbirXhon/8AazaPHxlr+tESjs7p9/7H6JX7JiYN6GxPB2Fzc8WvsLY8J4t1BCyVd9Xc25NjxvbjCprOR6MUNp1crrQeiIk3thtuq5O/+41Rfk7/AN0EP88e7vglfyNyHUn9iKrbW/4wl+tz/phrCHeehn2YmGiX4KKh3W4iFjIVbjEVBxTCg7DRUK+0pLjMRDOpStCgRZQBxZtCGXCWpiVTOsLBSpgmgcCgQQTQ5bzlnSkRbIvTkvNoes8hM4muEnQZZ+asbyV1UdUa1KU51K54rUtalrc/dJqhSllX8YqmCQAkDSAAABbHKvbG7huK8afuTZ4bPFDXpKa9usdF7uX0JqZlNev64H76Tqg/5yuePb++VU//AHj2wj3q9kv+osl9BH91Be7l8/ykd/1wk9UvVBwepPPIjY3/AHSao5FiPMmYhQtbtvjIb2M7OZtIdkLkSFBuwNVGfSgHPqg/du+evjIr1/XGrqqrOsq7mip5XNXVHWc6WlaVTWqJxGz2aaHXlvuJXMJg44+tCnVkhPAHfHSS9iWVYDbVn2TYzVjthfOSg5OkUAJAAAKBl2xguz1tT1qSptlwOYQ5gpuqBWvmiSh7CJ5ZyBzyaKlvNJz1lrjMGdCEl1yg4RKAhwqBSt1xvnt88eVf3RiTdnr52FKS1EvuSzgqehxWvUMhxibtiyEuSloJUaDGM9aAKQTl2RwV7UXqXzalnWDUUoypzizSomlpVQlCS5cip2pp5TMnE/hoOORPY2GlcJGMQ+qNjAVLdAJcXc37Czfgm7L9mDexJl6+llsTs4VqUHCyhxaiqgotSgeakjmAkCh6Y4raneS1bv7QmG5YrKMNciqgBqRSnAEDshtOqs988K4lypNWWcuZ9WyhxJQ5KajreoJrKnWbG8O/ARMc6w+0Sb7jFoZG4ezu7iuXk5JhtYoatspQRpShSKiI9tS8VoTqcIKz2mNUp8gARsE207gWt8IRsQEp7C3A7434nglJ8USpNmL8muvBXeqsYMopapdKnR8Jn6TGzaNzszry8k6qdy/zgzKoOQuRj81iJLSFaTuRSd+bRgQmLmDktgYpmHVMX22kB2IsFOhKQQNOObn9n9zbYcE5eewpa23CKNqcSkqZSKAjEUqqlQpQZUw76xtZKdtmRxe47vJhdMdTrStN/XGWfvpOqH/nKZ4f/Umpv+8MYHvV7Jf9RZL6CP7qM/3cvn+Ujv8ArgDqk6oUkKHUpngCCCD+6TU+xB2/3RwfvV7Jv9RpL6CP7qC93L5b5kd/1xp+e1FUVVTF2dVZPZrU09f0iKnc+j4iazWLRoUtXjR8WtcQr8ZcWdN7WscdHK2Uix1YpEAAZhKRRI3aabqRo8zrUnpzPniWd7JOo5XSXs+aLqSdh5MmktY5oTKYFplUQsw7dYtsKDTDZDrzpcdSQlNiQDbewx4++F1Y8xe7wqVSMxUFxMiFEcPF2/UO6LQbNDguY0smho5nw+Edzz6u+I2FYdU/Uuqs6wXBdQ+dUJLVVfVQlrDOYdUw7aJemoJl7olqDTMEtwTLcOpKENJF0hNjj1LsTZbcBi70im0bPkQpcs2EJDCDmlCAsmupUc69NYr5bNuzHu9NoYWogLFczlrTqjTtY5lZj5jPsxWYtf1hX8ZCp8OCi6wqGZz2IgkDZLcK5MX3lNJCdrA8Y6uzbFuvd9Jk7IlkszChzShAQnichlmKxqZq1ZuZl1MO1LaqZnPfXfGEqAI0lOpNvhO4V6g27Y2Y1y1jUxvJrqc6mIWHg4OE6is6YWDgodmDhYWGzGqhqHgoWDYahoGGg2fuhpZgoWEbSw00Nmm2xYm5xzStjtyXFqdXcqQLqjUkobqokkkk4dSTUneTHV+7l8wAEzKQkdP1xVHVH1QC3+mUzx7/AN8mp/8AvHbDR2T7Lmjyc3caRMyNTgR2fzZ3U3wPdy+f5SO/648sb1MdScwhImBmPULnPM4ONbSzFQcbmPU7sLENJcQ94b7Co9TUQytxA1JUCCMZEts2uFIq8asS78nYykZrIbTid+TQhKKFGfHyoULdtkIUm2HsdfIofpVz6o0e8pRIWtZdccfbW44SbuuLiErccVcqVqWtVzuTc46ZvC4lfIZsoYdH/wDkqkc0s8vaDT40Dif2hE16eNriaXpdxp4xIEjl0SVqJKQ2iHhR4bKiAo+GgW44HrfHgWytLVu20FDCfGFDpqSrM9Zi5mEql5WmeSj5zHX8gcWuXtglJ0IUgqARbxPeoolQAubKFjwNjiE74pCbcURXNdezKOnsipaT80Rzp1jylqedP9USqJ1twk1j5bLYqJQhRDDEwVFQC4hejcNpXEp37E4nrwZphuzdqlnzrignGtOvRQb4xLxMJmZCYlkivKIorpyHdlwiErWFCVNljUs2oSsIFUvqGnXvd32ipLqIyCT5IKbQj7dmnYKPZSCkpuAQd8e9gmhaE09MocBZUhA3Zmhy7AfOIpJPS8/YU89JUIlVK+DFAaa1zpU1y1jGt77m532t3N/58NByVaOFhKkzO5QUrLjv3isaxySdWDMOK5g3DI5mgzFDB3/X8rkfTjCvGZr8a79NXtjH5Bv876SvbAukbqIA2FzYb3Nhb6YLxqa/Gu/TV7YHIN/nfSV7YrJZeW2++204tiEDK4p9CFqZhkRD3u8OuJcSChhL8QoIQVEBS/KN8OF+cZaEw88DLqrRKkpUrLWpIKj36RnMqmS2GGAS2neRU556mpMbRyGBGe2RyiPizhyzKTbYj79ZL8uccjfV8v3QtZVEhHuPO0oAP5hXDWM+7b7Ll5ZVlCSHkL53TWlPRuifVHpvMI8C38ITztsoHUoX7Y+biVd5Gw5VytB424k9SklJHaCR6IvfK5SbVOHqjXGaLim8ta9dCQoJo6eqJA5KIJ9TaQBtqWfTHe7LnmJPaTZpm/wUm+lbIqearEk14nMnyqiEuNpcc54qAg07ogi5s07MqSzTzFp2bteDGwNaVDFJWQUIiISbTaKmEvda1/wjUVDRiVNrFwtIuCd8fRZdu0ZObksac0qQNDwFD59eFRFFb02bOSloVVkMR3dOUYCBfuLhRCtuFA2IHa4tY4y/GFtEttYQiu9KSc+kisYInpsNBjEOTA0oPTSF2Hb+m/ywwlxxtRU0pSFK1wkprwrQiusYLiA6cS616CR6CISbeov2B+R+uHUzc0k15Rw9BUVDuJIPaISlpCFYhir0qUfMSRAsTvt9l9+LcnBqm3leWUkfNT7IykvuI8kjTgPZHrl0lmlUzKTUrIIFcxn1TT6U0vJ4JhLi4iPns+jmpVKpayhIVp94i4seIqx0tpJ25wp6abk5eevS64JewrPlXCyDQlKAmqgCczRIV5RJJNIyLIkJy1raZZbOKQQsFKaaGvytTn0x9AmmpI/TVNUtTcY6y9FU1S1M09GPMbtuxckkEulcW40oeVbaomFXZQ2PbHzK3jnJa0Lw2hPySCiVfnphxCTqAt1as6kmprXXKtBlF6bGQpuzGUL8oJz74ve35kn+n1OMCUbxlROYAjPP4dA6D6oZ+9sfJo6c9PMOzL2XIh6AhZnP32W/4Qy+RzOm4qYhGoKKnYaFK3bbkgb7Y9DPACm5OWtiaLgAcxLAJPyk0HRSI12pyq52778sz5asHmWknzCIpwuU6krbWkqVoLQJR4YOlCyVEhS3EAKJG2+2PWiWCVo5d0fBHdpFS5psNuFhvJ0HOBb6d+9uPt5OFKmXVJwHDhP5qfZGFyCPzvpK9sGO3G5Pc/z4aQstowIphHQD6RDiRhGEFVOs+2Dsdz27W3P6zh5E2+1XAUiv5qfZDzbzjQIQdeOfprTsgj8yOUhNxYkk2Aubbkn8+HGnph5zAgpDiwRXCmuYI1pARgcdBfzR3Z7tKb4dW9jRRM/qXrblNTwMG4qnstcuq6nVUzM3S1AGfy5NMSOWKUU6RFzyPmCy1cjSmFUeL4qJ4c1pyNleDtNXbfcSLVfmG+TSfjkKxrNP/TGGtNSscYkvZbIWk/eIWk5UqSCAaDIHKlNPqES1wQbWJCdwCSbkG5TfYC9seG/pi3MGDZQPNt7eY7Eb+a+5P58B4F6VLTY5yVZwhvNbgOlB6Ii4+12yyn84zZqLNWUQjkfJqRm0zp+omWtSImVy2bvQEzlM+ebUCXJZ4qnERNhqB8MggE490/BTtGRs7ZHZsnMrSuYeSMPWkUplvVoN0Vu2s2LOTsxKuyYoWw5ym/M4fYYZgCiFDcG4JtfVqFuU2Fik35G2LSpLEwxyjVU6aEgjPiCCIgZ9l1p3xd+ufDLTPUUMVEnSdrX+YuP0i2EOY3U4HHHlIG4uuf2oQZZo5HH9NX9qE7en02Pb12xkCZmtOVd+mr2wfIN8V/SV7YCiQgqVYNp1ALI0gFKdagpVuEjc9gMMh9wPFSHnkTBpU8qsV4fGppChKJT8Nz1I4Ylbu2KrjD7DqoeJYdYiAgKEPEIWw8NaG3W1eE4EuEONOJWm43QQRscbKy5NTtpSwm3Vvodm0JIKlKonA4SMzUVITmOEPtuNNsOTUshTc00UgKJUryq1oFEjdwiTJ7B5xX7hWemkjSM8ZGpBsDa9DMbi6SO/2HjHkP8AdEX3nb4XZ5RRq5Zzy1bqqE0Eg5UpROWWUWT2IIQqwn31CrrgUVHiQpMM8e0jSEdYWZYQAkeBKhsLbJdmKRYbAXA39eeceh/g4Tb1l7DZSTksAl3G0lQUhC69qwo9xiOtpky87eQzrhBmW8kmgyHClKHujhnUSbbbJUo27JQkqUSdrJQkXJ7DExGcmFChKSPmp9kR8lITmnWFaXSl5YadLUOWERLqW1Kbh1xYWYRDzgBQ0uJS0otpUbrCTa9sOrQ/NSiUvup8WBNEAJFOOYAOesY7s4Q6WeTOMU52416NITf4fhsQFJ7+UkgHbexwyZhSG0sy6loCeCiK9xz7YYeaWuheJpuoSO+lPPAJPa1/oeftwgT65c8tMuPKZGoxq35DQ8YxXJcYDgKgr5yuPXCgCQLC91aRburSV6QO6tIvbvjLLjyk+MB1xDB0+EX/AGoyn5AvywEjjExlU4lHzE0hTrbzC3G3mnWXG3XGHGnkLbcbfZt4rDjbgStt1okBSSAUk74wGJoPJ5aSyb78u2sZzsy1Jq5CabJd6yIlSezpJ/qWDadtK55mtqSRckprOBWLG4Issk7Y8ndv804/4ZjCVGqHDIhWQFaS6B2dkWV2ZucvcZ1R8lsOBI4Crqu3PPOItU8Gif1ClA0oFR1GdKbhIKp3GaiAbgKV3OPV4toZcabQOYyyjADnhqM9ddBrwis8wotzr8yjJ91w4zrXCcsjkKVOkW0XUQlIJJ7ckm/AsNzjKeemZ4hKynlBocKRTjoIR42o/h+c1vFAK8NKHWkLWhxtEO642621FIK4RxaFIRFNh16HLkMtQSl9oREOtvUkkeIgpvcYxEp5ZZYZWOWh1TSWUB51tXJHrhFz3P6uOw4wvE7+Nf8A1rn9qNV4u3+d9JXthJVa5Jt89j9e3c4dS/MpGEOvU/SLP/VGW1KMFAJx1+erj1wpCVuKdQ0248tlh991DTanFMw8OgOxES6EJUW2GGhqcWfKhO5IGDU0Z5BRNPKwDcpRNeqphzkZNgc9pTijocSzSnb9qRRcGpCVDdPiw24sdIW42pJNtgFp3HqMOMMok2HmWBRtTLld/wDNq45xjs8p441hqljlE1T2jfrE5GunjCSChnn1FzXSlMsWS4l3wwuQQDWg+VK9KisKFvKAd98fPVZSOWtm30IFKTjp0pWjqzXzU6d0XdcVybUmpXyCPSI6CpA+LJkOqbUguOxJTewK0++xKUKsCbCydh2A+uIyvxzbwFINaUje2Lmwn5sVaspiUVnTE0pSdsurl03gnoWIVDuht9lSlpcaiodakqCH4Z1GpJ9cFYVvzl2LySduMqJQ04khNaVA1Fc9ddIy3pcmYW4o1QoDLop6+qGIerHoylc8cYpvMGBjYePll3Mvs0JAQ3FmWuFz3WVuxTqRAxKEE3fgYtWs2u25vbHr5si25S14mVTIdbbWUNJW2twKGh30HmoRxiLr13PkpxaHPjqxUITmnTphsp72eNdNuOohs1qDchkOOJhn4qS1Iy65DhR8Nx9llpbbL60fElF0hXBIxaIbR7LalOREop99QHOacStfHmoNCrLXnCgzziJJ7ZZPF0zLM8S0P5vkda9OPdrpuimPZ55g2uc2Mth8jKqrvz/7vjFO0aWH/wBttL9Wn+8jA97S0vxh+h/ihL3s9cwkNuLazUy3W6hJWhJlNVq3SConR7udXkB/z4ec2h2UxZ6rRfSlDaRUpLqMXopWNn70k+RXxk1/Rf4ocrob2dsLk302xEdVsrTVSM0NTWari4VTETL6eiG4d2joqDQ748XKJO3EIVEsEAuMxYS655XChNXpjwmbIvHtCduiy94hMSi0BBxBaVVSldcVEgk4wFa00zAESJdvZxJWXZmKccD0ypKqgop8YigOImoAFct46Y5e6f8A2aNbVDn/AETF0vmzRTEmpOrZZmE21UUnqdyexkpoyopPOImXTBUuYdlzU4ioQBtDyXCxpQFKA4xJ+1rbVZdytl85NWnIqdU5ITLKORebAcLzZTiAUOaluoJBqTWgjimNmjkreX3Xl5gBGMHByZ0r8oK9USuIl9D8VERCE2TEKUoJKkkoTsUgqQShZPyNseC7bil2S3JqGEtvldflVypTKlOPmiy8iS5JNkihSItE1lcHPJVNJLMAVQM4l0dKoyyygphJhDrh4hSTY6XEpUClXa2NpKWu5JWyzbDSec0UnDXXCa60y7jDyk1zG77eeI5PWD0WCtJ3FSeZiGpLNSmmoiDpur4uFU7JKoplb6nYFE6DTDqoyTOMDXDONXioZ95Wq6FWHtvsS2x2TeKzSthadAcHKA54aGhpru7uEQjfe5rdrr8YYcwa5BFd+hzGkNPTXpL6ipVGvwf7mk0mrTT3u0PMJNHSuPlkU2khLTsJErjmXFslP8dCVp4UAQcWLavdd5xsKmJgtPHVJFSOGYOeUQxNXDvLy6vE5flZbLCuuGuXChpQ9MeL96v1G/8AmkqX/wCZKf8AvLC/vruv+Vj6P1wx94l7vyM/S+qB+9W6jCN8o6ltf/hJSfs/1SOAb03dVzZeZC3joCKV451O6C+8S99P4GfpfVHqguk3qMj4puEGVs4gvFuPfJpHSeXy2HO/mjI5yPcQyj6JJwc3eGzpRoPuLSUHWhzp0D6xANw73/kf/N9UPW+zF9nyKIzDgs+czX4SpJ5RaXzSaYJDztLSqeR8A9BJMoejoZpFRTaUtvLU/GNJ8KFdCUoKioKTQfww/CJDl3V3JuY6GpN0BLi0rBKwDUilARnuqa0ziadn+z9FiPJcmHuWWM6lGH/qOkP76lK8yynWo6lAApRe++hJ1FKb8C+PJtKSkZ1rn1555xOmAN0QnyRCyL233vt6b+u/bGbKO8mFilcSadWsDDVxK6+T645Z6rctYivKCh5vLIJM1mFHIm0TEyZxK1GYUtOYZULUbC2GyoxAb93S4pIBUpgqAFwL2R8F++jd1L5IsR8cyexUdKwhKFNoKgCCDkrDStciRkY0lsSBm0lVMRzGHcqumfHfpu40iLJnp0WVVT00jKkybl7tXUbF+LGKpOEWj756SLiQ+JbBwTyWDNJCyXNEGlKlRTTY0LCiLn2cu3tGs+dsZDV4U+JNH/xGMPBfSRRJqTrn01irV4Lh2nIWuuebxONqPkYaU7an0Ryycms3T/epzE+Y+9WZ7EbW2Y7Y6YXisX8ePN7Y5X727V/FL7oP9xrN4X/0Kcxfp96002Hf/YO5wPvisX8ePN7YH3t2t+KX3QX7jObg/vU5i7AXtSszve++3gYUi8FjrcCOXSEk5nLLsrnA+9u1vxK+6Mvo7pizxrWORCw9BTKmZf4yGo2f14yaekME0s6FPPtOqcm0e03eykQ7C3FEgJG98Y9sXyufYrJedtFPKo51MNDlQ0ripnpGXIXNtS0ZxEk5iZQsnn4a0oK6VFa0prEsT2e3SfKulHI96WOpiX68zHjIKpq6nEwaQzM45qGh1MU1LomHWlURLYWXy19TrUIpWppx3UoqOPF/wwttc5ta2gNysiksWRJIKEthzlEqJIJXklNKkZg1qMq5CLQXGu2zYssE4gtymasNNO07su+O7733vdRPNrfrIG+Kk+iO+gFAIsoak3BUk3IUPygbW2t+nAxfBLbTkpdM+FIJKSkqUDmfNHH3U1kB9/DcVXdJygTWofub7hVNNrSiI++qVNodQqNhoZ4e7xE/hoNfhaFAJdaG1lJF7deD9tvk7tMpuxemZWzLJWgMLzKTUkKSR8WnNpmaxopuymFpcS8ArlQAMvJpw66xHczL6A5XOp3FzfLGrIShmHYlbcwo+rISYxkvksQoqUpMkipdqmULCLVcOQcQlaW3ACki1sesFgbSpRyy21y7fj0stAJcaWkunQ/gzTH0nECBma0iBbxbLnJiZVPy01RQ/mw1rXLXFu10jW39TzzD/wDOvltvv/qVVn6fwG2Nv74st/5daX6tP95HM+9paf4w/Q/xQP6nnmGf76+WvH/FVVj834C5vge+LLf+XWl+rT/eQPe0tP8AGH6H+KN59OHsuakzBzXksorKuqaqGjZclM4qVim5fPWFQ0DCrD0CmbxkxbaaZlcfHNFsst+I9FDUjyA6sRdtX8IGw7hWM1OtsLVajpIUy4tLS2xmAVCjmZFFJzyBB1pHVWBsqmFkOzb9W6nmcnnXdni366cd0bH6tuiz79auiXmImV5e5mSJELI537/LHXKYqaRwSSJHFlEC2mLhn0y8oRL4lkHXBBtDidaCTl7INt9mWihi05p5LyHHUvBsroWcCFgpxU5wXjBzAAw6GtRnXp2fNTjbVnSoEqoE4lhOLHw5tRSnWdYdM9lv0uVb0yZJ1GxVNXU1WLma1ay3MCXu0zBTWCEphIaSIkAlczTNw247Mn4llSk+ECggc98ebfhk7R7N2l7QLNkLDlnmjZMsuXJWtCuVU4/ymJODJKRSlFGu+O+2f3ZcuhZK5Nx3l6ggKCcHlEHSqjlTOGjesLpJqrOrqKzEr2TV5RtPS+ImTknEsnEJO4yYNOyeMjmXXXly9pUO34qnPguSm3O+PSPYteyXsfZBJSk0hBdS0K0dSD3ERHt9rmP2lPrmkPYanTAT56xzMv2d+YDpShGa2XLhKwUtfciqj4vI0LbDH4ZJv8G+o2GJCm9p9kyNmqtKZawpSK4OWRiPbpGmGyy0Kfh8/wBGf7UOVv8As6pJk704Suna0kcVOpZmUkx2Y1QhoS+rJDWDKmHqZj4lTalwsjbgWkutwaG/ERD61tO6y7rTXCxvCksa8e0aZu2pwSj7CkBLePGihQFZKokKqTU5b6Z0jsZfZ9IMXfbZewqn04sS8OZqo0yruFBrDb8V7PCuveYhUDmpQCIByIeXAGOlNRoinYQrPgPvCFQ9Ch8tgJWELUkqSTtfFmVX8almWyuSmHUqGSmSh0HrzQU65VrXPhEczGzueffVyTpKAdMGn/NHnPs8swwDbNXLpzfhEqqnV8zdTISABud+MNpv/KzCg0bOnQDvcCG0ZZ85ZUqnRkanKGDs3tNsYsZV0YPrjp3pM9mBPKnzPamNW1fT1USmk4V2essyWWTViRIn0Ihb1ON1FHzZlDb8C/NkI0wrQV4jiQtSghBSqH9ufhQ3SuTZKJNQ5KcUMOFCwtW6tAkcK1PCvGOsutsympV7xmaexNk1w8nQZdOL1botXUt0UprqvJvUcjmkvy3r1cS6xmFJ59AR8TKY6YMIWG53DMQDXvMHGRik/hlN62ogHUNJSAewuJtWkzctdryzSZ2QSgklDyQoAjEQMQpv0JABrD94tnjFuWgJ5lfIAHyMGKvbUeiHmciMgZ/0tdAcflRVFTU/WM1k0qqisX55TUPMYKUuQdaTaXTmBhG2ZuhqN96hUrS0sWOtVyNrX80L932Rf7wo5e9dmSi2LPS7LpAcdQSS02EKNUDDQkGmpG/SsSbdixPcW7SpIqryoUBlSmSxUCpypnU0zyiPPHez9r6YTCZzJOaWXjDUwm81jmGXZZUynmmY6OejEIfUhnwg82HtKgkkbXvvj1pev9IgIdLQxFlAUA6iiaDqiDrQ2ZzwePIP46qUT8GRSp+cYyfL32Z1eVlW9OUy9mHTU3hpnMoRMdBUrKp6zOxKvGAjoyHjpgx9zpUmGaClKiHtXhoBKUqVYY46+O3O61zLuzV4LSUhEvLIBV8IlRqpQQkADM1KgKQqydl05MWk0zNPYGCSSeTrSgJ+UNTlHZHVr0MSJULK8tGEQVDzWgZU1CZVVXAwkU9T0wpRamYt6DjEI/GZrLQ6hTykNkxMLG3XpWkkGL9le3KXvuqZt2x1h6WDpCmi4AqoJ5wKhkrUCozBoaViSbYuJIzVmJkEUQ4lOSsOem8V49JjgQ+z0zCJv+6vlubm9zK6rJJO9yfdhcnngYnf3xpan8XWl+rT/eRE3vaWl+MP0Prg/wCp51/z+6zlwje5V9yapAA7qBLB2A+WFs7RJBzHysu4wED+dWhCtK5oqaV3VOYzjOltmdpKASp2n9A8fnQ4F0z+zqmeXOVFX5tzyWQVfz+LajKbi4Yy6PblUZl7HMvNz5MhlkUpMTEwsWS2mJiF6HIpgqQgN6NRrZtB8JazGL1Wdd5hQk21uO0UHQvlSnCAVAJASU1NM1eVHf3b2bsWbLzItQh91wICKow4aYsVMzWtRw0jkSG9mVOMxMy4GmsrM0KWpunqjmN5PC1hLJ5MYyQNJQ5HRUFGRsgZcEfLWvBKYVbqUuJSEpX3OJ2tjbNLXL2dzl77WkFTlmNMpxOMzDaVfDENJJQsfKWK0JyqY5B7Zm5P2621LzHIs4ir8Hi8gFVBzgKmlASRrEk/MVrwmpHKX1+N9wYCQSV2JCA03FGEksubcjGGlLLwhYpaAtrWEq0EXAJx4lWG/wAvalouyoxCeedcTQnmguLoDlmRWhoc9YnqYaLYZQr+ZFDpn9t+ueUdD0037rLGodZSpwMqXqISlxSVRsSSXAOLFdh68jEa3zPK26pwVw46dHZ3RubHFGkp34BF41E22Ha299rn0Hcfpxqn0pePJOnChIFDToEbJ0881jxzCDgppBRMrmkvhJpLIsARMFMIeGjIR0J2SlcM+hbahz2uDjPsq0LRst4Ls+fXLgEaYs6dAEY7jDb+bu6MGGUeV5ur7wKQSbm39ZIfTbg+VACEj6ADHWObUL9ofS03a04mWHx2FYHBl8UqKSOBz0rDPirSTiAqYqjKTLHj7xKNN/8A2Gxt6DjvhR2o33193rw/8QP7yFBpHyPOmFsZU5aMxEPEt0HSrERCvNxMM+1JYILYiWV6mnkqKVFK21i4IF74xp3aXfy0W/Fn7ScDB1zVpSHQV70AjsjPopCYlt9p5DMQ1EsvsxDTzYch32ogBLzLzSxpW08AAtPBxzjFtzdmznjsqeVtPfMFRxK4UCqHmjm560gJQCkoUnCOyMVkVB0RTcd91Kfo+n5DNQy7De/SqWQsI4IaIN32EraGoNPkedN/N34xtrZv9fC2rJXZdqTy5qVdI5pJ+DArUCoA52QyrpDZs+WBxAVjLQom6l/ETvsm1zyRvfT+nHPThlfE5VqWVicQk8pqKEjideyMhKQ2AhA5kDaw2Pfsmx23+wYwIVGI1rQdJZiSsSmsJLDziFY8RUAp11yGjJe66gJcXL5hDlMVBqWgAGxKDYXBx2VytoN5bhTGOyF4myakVoIxnJNh3yx9uMaCHR9lKQSuIrbVc/FPJa4Upv5UBf3IJcCE7AklRA3N8Tm34VV8UNpQ5LNuLAzUVaxgLsRoqJbdKEbgBkIWOjzKMgkP1nt/7Zl19J9T9yO2DPhW3u/JGvpQXuGPx6oSej3KIDZ2s1cj/VqWj1vb+tA/PhDvhVXycbKW5ZpC8qHEcs+iC9wxufX3RcpP0oZPyuNZjHpdUM8bYVqRK53OUOytbhtdURDwDEuW8CAAQXPsxhWt4T1+52WDLJSk4eJge4Y/KF90dHQcJDS+BYl0vhGJfL4RCGYWXwTbUPBQjSBZDMNDtBLTKEjskD8+K82jato2srlp50rd1zqY2jcqwyKtjnR6PnY7dtrfLGvSVKSCvyodBJzIzhPI+21j3H58PtKSmtTAGlYWklBOnYklRJWQAvToDmwNygAWHBtbjGSyoOOpCXxLqBqHCFc2mfxAVc7ychvzygEJOukc31t0u5dVpMYmdwT02oqaRjxiY9UkEO7AzGI3LjzsojFKg4R95fmU4wtGsndN7k2Gup4T18btWIi7c6y3PyDVAlajziBpkaH1xr5uUTM+W2FHjUfY7qZDrMYN+81psj/yl1n6/wCosgHO1r3N8dt+7JvV+QN/SHtjC9x2PxKO/wCqAejWmh/fLrImw/3EkHbgYUPDGvaRUWeinzh7YBsdjc0jv+qEno1pve2ZVZ3sdP8AWWQHzXve3fDzfhk3rbPPs5JSeCgYHuOwNWkfS+qNnUH04ZdUHHQ88KY+sKgg1NOwMyqlcO63L4hsWQ/LJOw17lCxCNyFrU5Y7pCTYiMb5+ERei+OOWcYMtKuZKUKkgA1ypXU5GHWbKlkOJUptIA3g1zz6vR2xvoXIIVa/N1XVuVEm6jcq8xxARfU5aCp19S1rUTnhPsjZobbYBDQ3wLE32H5v0/bjHx9Cvon2QvcYTbnb+cjk2274IuAHOteo+yBSBdd02GyVhXxAEKT8Chc7FIvuLHGVKvyjRLjrSnHhTAalITx1pWppThSFpDaq4xGNTmgaCqSM+6c+o2m5lNloShUyipXDPRK0pFh7wvwkuPkJ23J3OOqlL/X0kyDLWtNy0unRDCilwDTmqqEjpqoVFRnGvMojlQtKaoFcsotP7kuV/ehaPFwP9wWePT5bY2Xvo34/wDPrw/8QP7yHi038g/8sAZS5YC9qEo70H9YWf6DBe+jff8A8+vF/wAQP7yBySPxZ70xkUopinabhnoKnJHKJJDRDoiIlMpl8PAJi3hYJciPCQlx5xIAAKyqwG2NBbl6rcvIhLVrTk1MhJ8t9WNw8MRBVWmic9KQ5KqUy8qqMLdMjUcM8hHjn1FUlVS4V6pqbkk9fl7K4aDiJtLmYx2Hhlr8RbDLqrLDJc3CTcAna2N5dvaFbt13GkSDxMuEkK1yy5uR7dIxH5UTcwtx1OEDyTlnXXtyEXyWy2WyaDgJfKYODl0ulzHu8DAwbfusFBMJWt1DUKy1ZLSEurKgBwok98cnNWlN21aM1PWk8Wpl44krzNCFA0yqdBSA2wpKsOEBrjlw4RhsVlXlpFRD0U7QdLPxEU+7ExT78rhnnX4h9ZdffW6dClLedWVKJuSok33x0kltMv7IS4s9i0XBJpyGtKbstYcXZ8q7+FAMV5dltl9J4+GmMtoulYOPhHEvQkXDyeFRFQr7agpt+HdUhZaeaIuFpsoHg4etbaPfW12TKvWk54udaYh6qw6Sv5I80ZhGQzEwhYuCj2mphBRyHGoyCjUpioaLbdA8VES26Cl1LhG9++OckLdmLIeE1KDHag1mMRJNcx5WfNGWfCCEu04mi0gdWnmyjBk5S5YqAvl7RjOgBKT9wYaygCdgG/yQTf6nHWr2qX8WlIcty00AVomWXydPn4imv5tK0z0rCRIyzBq0mpVrpu64JWUeV+lX9gVGuCxBQZExZQVtYhYKSCDhv3zr8Ocz3ftvP8c9ib/pJSpRPRRJoadcHyDSsiig7IyuSyGT03BCW0/KZVJYAOeN7lKoREFDeKUBsuFllISpZbFt+2OXtW8E/bjlbeWucIOS60PnoYM4mxRtsHduHsi1T+hqLqqL+6lS0hT05mmlpsxcZLIeIeW0yhSGmXHlJS6tltKiAlRKR6Y29iX+vhdKznbu2DaCvcZ0UNK0FcjQKAOXCnVDaZBhNEnMcTrF7jJZLZjK35LHy2AiJREQogXZY8wHJe5BpQltEKuGWSkw6UoT5e1hbgY57xmcs+dl5+Qn1uTaFYivnAoOKp1ArWudIdLCQkND8GPP/lGFfuSZYEAroGkbjyn+srCiQLBNySSfz8Y7s7Wb+eMvUtF0srCQCa0oAdBqNc6wgSrLZJSmteqLvIKMpWlXYl6maYkkiiYtAaioqWwbUJEPQ5cDnglTaAsslxIOgntjSv3rte0lK93Z1ybkFJViYNQFnCcOuXNVRVa7oW202FhRTl9qRd55TdM1RCsQdTyCU1BDw7/vEO3NIVuK92iLC70MH21pZXsLqTYnGvu3eG3LCkJhiyp9citxQIAxHF0VSDTt64ZmJZDgonX0RiZykyvuR94lGja+8ia4PrtzbnHRjajfin8fXh/4hP8AeQrkm9MB70wgZSZYAg/eBRiikpJ/rFDqBsQd0upUhQ2sQUkHDj21O/K5bxdNqziwqtVPKKnT85QJBponM0TQQ2lKkvVS3RGWeUZ9DsogwyiEbahm4VIbhWmEJaah20oU2htlpKUtIbQ2opCQm1iccSu0Z1x/x6bmFvzuqVEqqg6nWlK5acIzHW23U4FDmxisBlzQMsm7dQS+jKegp4w89FMzWElrDEWzFv61PxTa0ABEQ4FqFxb4iLY3U1fi+VoWSuyZ613lWWsJCmCVYVAEEA5UoDQ5ndGMmz5ZLgfAqsVGnZGjc6i+I1la24hCVzBhhMQ+WxrQliCCUNpQtboZQlOkeJpvvYWscdbcFzxZtSpcpW5yRJGeRqrUmgr82tMqmNNbFRSgIBWPVHRVPLLslgXQ6p4uNPLLjqgtZUqNiSdakpSFqTfm2OBviAm8LiaAALGQyja2Pmwg1+IIum+kb8jf4h633J/zY1T34U9noEbBzyzBFW53AuEkbnt6b4bplCIAIJ5TzfdajbsNiQN7cYBrTf3QIqJt/Gvc8XJ3P81sJNYMQathYG3blW9j6DBCDPAQQuVWHYX2UTudtxb9GD0EFvgyeb8XHN7m29/ptggIBPdC7/ID5f8Aj64TCoFzx/T+lsCBWDvcAWT67dwAed8Cm+Dz0ygXvbgd+/P6e2CgAworJuLbfo/wbbC1sEBvgVzhJue1gABxcD/xJwoQDBDYdgD8ibngWNu2BBV7oPkC+n1OxsLfZxfA374PdugEAm+3PoRYfYLDAGQgiKmCI3tcW+nP+fA3dMCmdN0Hue+2+9th+j1GB6YEF/QWH+bAg4O1r/aN77X72twMCBCSNgQdrEcXPpte1z6b4y2q4ND54GVOyLa5NZbDLKYyYQLKwbJQIoeIOxDqOW7Djm++NtI2Rb9phRsVpSwimPLj5Ouuh0hBru1i1O1hTjbikmaMr0KKdLaIhxWx07aWyF2+RtbGzaufft1QbTLnGeNKcYFFdkU/v2pi5/Hlbc/i0WPQf8GOfTGX94m0Kn8GHmg6GtYBrWmQbe/E7XP4tFmw/wDlnA+8TaFSviw80HhMepuq6cdSlaZpDoCjch5D6FJAOlWrU1ZN7bXOMN27V9ZVwsPSyeUTrkN+Y9MJINaRd4aMgIxF4KMhoi//AAK0q03v8diD5saW1ZC2pLk/ddnBirgoNaUrpwqIGmW6PSQUkaiLgkE2NididPyxqKHeCIMZ5wfBBufpba57/QYKB0wm/a/Y3Ongg9vmcHSC64Vcb+uxGx2vx9tsFSDgibk/ssdvnf64MQK1MJJ/lWvxoG/224wf21gvtpBHkb2JG9029bE3F/swN0Df9UGQdiCL+ulNjtt6cWwXogb4rXt/F4Fjse/pwL98IpC8oK6fXnjj7b/TB0MFUQAQD9ONr/oNsA6QcC4Prxt5flbf0wKQVeMEeO5P2foJwIB88FvvurfsQmw9Tffc4OBSAeOLkkAAADfttcXAtgDzQIA+fP0H9NsCAKVz1gr7XNu43A9bfpwIKtISSR6djt3N9/zYOCJ74AN/Wwtx6fM33wDlAEBStCVLUdKUi6iQdh3432v6c4MDEQBmTAzzrFRII1qKiUhN9CWypQ0gkqSE+daiDa3qNsINMgNeNfsBChXMnSOXc8LePJvAc8dl6PLilpSAlopZhT7vqG6lpB1KCjrSVWIG2JYuFXA/ygwrDdKcc1Z9W4UyNKxzdt/Ew5jF7I6EppLrUgl6X1AOJbeKyVFViuNiFBJKgkpKQoAJ7Y4a+RSq8bhRpiH29dY2ljgiXQDrhEXVOrcKUNN/IADcJA3C9R3JXe1u2NU/TlMhnQV7hGwc8s8IUBdVyq23cgbkXA2VY7YZ3ZQgQqxOrmx9CnYenOCrpApTOFD6nb5AAf5hgoOATvfVex9R32335wBpSkAmCFxvc8nkJ4vuTY/pwDwgdIg772uOeLc+vfApA9EKB/m+pwmFAwZN+54vfTY3t6emBpAJrBf02Hy/Vg4KF6rX+luBa3fa3rhNIVWCvuT3+yw9LDAgVgE+UDY7n7dhz8sHTOsESISObm/fg7fmwe6gghxMHxe5N72/TwNrWwWsHp1wL379+OPt+gwKQK8YVa9gD23Fxb6nBaZwrogxvYXN99tzqJ2CQAP14ItOvfBsirh0EFpFkmtRSeTptHRoS/8ACIVr8M+pZ5bAbBbQu3YqFsdbY90LXnW8SWzU9EEakxr6ZZgxi1luVwyYVvgRMSsvRB23T4IAQkG4N9XbEs2XsosqWWHHVknpIjKwJpQ5iMOjZ5NpgFmMmUW+lYOptCgwz6eRoXsnT+ffHeSFyLFkgmZaUC/2ZQoAJyAFIsqwk2OvUfre1uO3zx04WSkNADCjSDygC402JIsLgAbAdvlYYZflmZtsy7+TaqVPUa+kQlbJmE8kN/qz9UGkFdwFEqNrJGpS1arhJCEgnQpZ06zZKCfMRhS2Hp1kSVnAqCRTLPdvh5l0SIKVDdGDR+Y0llua1M5NxELNRVlWZd1jmbLIkNMfchin6FqWm6VnMLHvGK97Ym7sxqmGWw14JQplK1KUk6Qrqm7izbmyVF6QU+KS822yoV5xW6HFggUzSA2QTWoNMjHIotxmz7URY668s4lShllRJAOfGqhlv7IzoEC97kmw5BvYd745flA8kODQpHmFI65xOBZTp/lWDBSBqvZwbJN7DnzE2N77C2Dx0SWqDArI5D2dMNxd4KoJ3LdPukweQgctOOiJb2FvKmKS74SQeAggDjHMWhcOw7VSpyYUA4acISQKZ6RmMtzCdQkNziXtPjVcRMGstvAbWC2nVlKlAi5KVAb2tiNba2VN8ofc/EpNd3thBb3pNCe6NgyydS6cNlyWRTUUQN2UrDb6XNj4amnClQIG9+NsRda93bTkE85KqdUYpNMzp9s4uYun4klJAuoEoKgeVXtf9eOcSlaRhc8vt45QQIIqNDBk3HHPqBwTsNjg4Mwje+2x3G1xt/jcfXCoKFC9wdWr02Btt6374Iwe+Fb2ubenB+zgnBZboGcHc3Gwt8hY3/YMD0wK5wfpttx3/PzgoOCvYntYckm35vQeuBArnCSrY8dvivv8+OMGBBVhVwfS9r7g/tGCzEHUdEGDxYjjt/m7WwIFeFIIW5Ftu47Dvg89IIUg+L8cjm529NjtgoPKKdwTsbb7WJ9f0j9WFUpCYTc3sOw2sbXPc87gYPdUwN8Gk3uQQRYW2Fj8+cAwKwsduRuT63+ffCYMcYqIO43sLnffax5Hz2wlQhSTujmbNdluJlC3kJS07CxUfHuNtiHWEvKiWQoOvQ9kmI1IBVe6wkgE7AYlK6DimpwNmpQtCUAmumE6A7taUyrpHPWokKYKhqCT216N/njoCSF77kwCXPBcHhxKnXGkOpBV788tpLYWTdxJUfEK9yRcd8cVe4I933CnEDjFAadtejhTqMbKyCeRRWnkfb64uYFwPmRa+/e543uQMap7Jw9Q9AjYOeWaQkJN7WIHpfvc3Jun7BbDdcqw3Q6QsAXHG3ok8/M+l8FAHTBjfa+w/wAFW5IuecFpnB9EAjYG+wve19zfAEA6ZaQVub/Xj9uBXhBboVfbci+3e3f7cF1QquWcAfMfZcbDsTv3wIGUH8ud9ufTfnAgemBxvsdu5I/8cDWBShrugh/4/Ef28YOBu6IPtv8AoHrfBQN0FYgH14txv6d7YHogoA7X5vvY97bD7BgzBwf8+Cge2FDc+t/z3/Nh8pQlgLCcS/rhQ4x45lMYaVQvvcWoIaUSAq51q8O2oNoJBWRcdsZNjWJal4HFpkU4UNUxf0q016jCkAKUc9I1PN66jY/WzLPEgIFV0piCAYuISDe6VI3YbUNwTYnjE93X2c2bLBE5aDON9Fc8ShmRTQGnmh/AnfGGl10qUtSytaxupfnUSPy1KVclxV/i+IjviUJKXYs8YZNIQO/01g+TRuEUFfMm/bnf7BxzhJk5ZflJJ7T7YVCFHYK7D5nc32HHf9GDbkpZs8xJB6z7YGUI3Pc3Nxa59N7C24GMoZCg0gQaGlPlLbKXFOOK8NstJS87qKVnUhhS20v6Qkko1JBAO4sThDvkEFBcqQMIJFamg0zy17IW3ixVSoIIBOLhQEnv0hiL2hXtCoyZRs46eOnmoVwEvhIp2W5m5n09MIkvTSOgHmXIqhKCmzXgPMyeWRjCkTWbNjxIuJb8CGu2nU5efwe9gkpY7CL233YEyy6ErbYWCEpSoEhToqKhVQUoNajnKoKA1s2hbWJqdnl2HdZ3xWebNFOUSqtNaBQI3HMaRhfSV7RWkqzz5y6nnU3XEgomMylyDzEyWTmvPYKpky3NafV9mRl/MaYZ8eTU3NJb93pPAUi7DzGYuxENAOlTSxZwuIEh7S9gtoyOzCdu3cqWwyr063MoZQcRbQ007yma1VwkuVQgVWAkilAKx1d3bNZ9s3yl3baXzEDBiVzQStSQBlTOqQKnKpGdYkKN6VBC0OsONupS4043GMRDbjblyhTT7a/DfSsbBadldsebaLFtmTZNnOsrVPNE4l01qSRlpkCN0XZcvBdyYIfQRgWE0zPADPPjCHXmGEOOvvw0My3pK3omIZYZbClhCC4+8tDSAtZsLkXO2MSzpW0pu2WrKUCpTgVUU4DozgnuSYbE0tY8XXXD2dPbFW2wIKFAo1pKVJUhSClCwpLiboWFNuJUCCQUqBG2MZuzpiVnpuSthKi8hQ5PMppnnkKVy4w03hmUeMS6gWU6jzdcU/NY+Q9u4+pNrjjG2l3nJXJg0HSAfTWDhSHXmlJcZUpl1NtLzRLTtrg3U42dSybd741c7ZVn2iMM42Fp6yPRSE8mg7ozqUV3FsBLM1SqJhklKDFMo/HGzq8viNlNn0WO5SL2+eIqvPsvQp1y0rNTgll0wpqTSgAOprqDCS0jcI2tBxkLMIdMVBxDb7SrkEX8qhyly/wqT6dsQhaMk/Ys0hM8jEyuuWY0pXgd8Y604NQd8ekBR5Cex2N978et7YxJhbLjoclBhYpmOHfnrCKbxB+a42Tsd7HcD5XHJw1lB0zhRuLAAcevB+3m2AKawNMoSNVzYX7X1m9wfzDAy3+iDz3Qvjsf0X3Pr6YLWDhN9zt+nYfTfgYOkIz3wW997XPrbc2Ha3AwMt0HnCwTbt9Rbm25HywRpBgmAfSw4N7en85wOmB0QQO/BFgbkC54Frn6m2BA6BB/0/nwIGUJIHe5J4tzzt37A4MVgsu2EFPpbf4uNgb3t8sHWCpASBxY2AG54tyBvtfAPngDWKgGwtvv9fn67YTCqZQpAVe++xFrEX+Rv6nBKpSDAPbHPea0BBQlIs+4MQ7Lbip024uD1hh5TrrEQXdSnFqdcWq5W4SSoggG2wke6Ew+9bKvGFKUoBsgKpUUBFNBQDcN3njR2mhCZQ8mABRWnTnG8ZSdcth1IUh1AS+ErQsOJWBGRA2Wk21A3BHIO2OSvZlbqwag4h0RnWT+CTwwR7knbSUKCUhNlEJsu9yoAE38lrG9t8ax8fCE1FfRkPTGwcPPIhQHpe1r7bfoJJvhowjLdBjc7XvtySLDtfscEdOiBnpB2I2F+CNzfbufqcDXWBmNIT+SCQQbnYgkAcXuLYPflA3QofTt6nb0HzOCgawL87en9L4ECAABc23vtY8n1PyGASYFN8Ha35Vz3uQcFrCtN8Dm9/W2xB44v9mBA1GekBQ3vbYcfCSe/b5YA88JV9tIRvcnb/qn9h3thWUFvrvgcW4vf0O1xc7euBAyEBPfjm3f7VfUnAMGOMKuTa3zvci3oe1sPTjTMs+GGnOUrvAp6zB5kxj1RVHCSJsIUExEc4glmFJsk3Ngp5Sd0gc6fyhjvbj3MnLatHG9iTZ+RCsNQaDPKvGHUtleegjS0ymUxm0WqMjox95+9klR/BIaB/BtIaBSgJRfkbnviw9jyFl2UXpWSZSHBhxq+VStMqZUz3w622GwQnSLfv3IHJ22372HYY2tF46hXM4UhcH3373/AJx29MKgawkgW7bm23Yd7fPBiBCDwfKo7psLj7Bx9uDgQgixsARe9973H7L4ECkaiz6yyq3OjKKt8r6Jr6Z5a1VV0mMllNWSZtSnmUOKXqp6OchWlzdmR1ApwsRaoH8dS04otXO2OvuFeSyLoXvkrx27JifsqWcJWzUDEVpKEqBKVCralBdFJKThocjWNHeWy522rCmLLs6YErOuJBS7SoSEkLUDmMlpBTWopWvRERmkOnmqs3c7K76YIavqXy9quhpbWUPUVStRzNRQtRxtMuvyCMpnLOJkpVD1FLIOZNKVM4xp4JgYZhdk+IgtY9f7BmZdV1mbzSQL8rMJS6iWdo0QF0WlThNTiUnnJSUgKFFCqNfPK9z6HLwOWE6TIzrSilcygKdx0pUJSMGW5RCzhOWtQJVPWTNchOpr2LtA+z0lM/jen6v8j5JkrDyidw9JQ8wypqZrJuGRLoiOquewk0hnpHLKrhYqJmsU87eJanAQ6pDoUsK3V2r5qesZc3acv+/E1+OMyVVqMsjSqaAGtdRpHIWpcx5Fp4JNwJlVGvkmqcjQUFKitKGopvBIqdcZEZVQs2yrpaXSKuzPpVRMhktCoqF19E9dqRykJHAyeJmz0bJ495hcQ+9CgOJbUQ2SE3uDikO1fanc24s9Ntru41O2q64Soh8M0K+cObyKqAA6RajZ9cG8t7bPlgu1HJSXbBootFzFhVv+ETwjGOteqclqUyTlORGaWY9b0vUlUytmrKNnUpy0zGzClE4dpWZzCHS1UsVQcinLjUgmsQFtphQr3hOhLqhpBxGeyGw5+916zfqzLNYEkyrCtlcyy2UcqnLCp0oKsvjJRkcq1iTr9Ta7Bshixn51ZeZSuiw2rn+SDkCcNDTIk1rloY4u6NfaPZZ5dGTZMZ3ZrUvC0epLTFG1HUk+TDzbLtb/AIZgJJVULGFmObpN1t5T0OtxlyMlodCCA0dKJM2reD5bd45R+9d1pR33ToP3shsrDnPAVhcGVUjETQFJw5UNTHDXD2v2PZEybGvBMtol3DQuKWAUmlUjBvxGg1FK74fTgJhLpvLZbOpPMISayWcS6Dm0om0vfREwE1lkc0H4KZS+JaKkREBGsqDjK9tbZBsOMUbtVhdjT6rKngpFpIUQpBFCCMiD0xZaXcVOSSbSlQF2evNKwciI9J7C4BtcHWRcjjkHgb4Zh3pgA2IUCL8pPJuNrkAgEYaWl9Zwlz97/Jpp2wIukqnUfJHUvS55aEXBehXleJCxCVbrC2rAhahexB2xoraurY9uS3JPoSiZAOFVKmp1yy4DfDTjYWADG55BP4GfQ63IdtLEU0lPjwGqzsPuPwgG2uHJPkIubYrPeC6tpXenFy6kqXJnPlMNAOzPXTWGFNlHSOP23+aMhHlF9K7k+tuO/wARxy8oWpl/kXlhscaV9kI9MAn+Vt8v6XwQHVA66wOSLhVrH+L9l7774HdB98A8kWJJA9Ox59MAQDCO52ULgWBA/jEk7E2wqC6IO43O/IHyA9B+3BUguuDFjwDsABx9nPbBQY0hQvzYmw9NybcnfcDAMGM890Fub7fsJ9b84EEIHHOxuf50gC1uMCAcoLuPh2v6X+gHa2DgQXPqbdt77X7jY3OBpBawQt6WFj2+fN+LDAPngeiKg+02vbtv8yR2wRg4qNpBVuDbYmwJN9rWtvfCFHKFAb45czRhnIKUOh9DrcQt2PbUVuocLiUxEIQpXgLMK2rU8oaWwlNj63OJYum6l+cBQQWwEnQinNVx5x0GZqeyOctRJQwa1Cs/SOyOhaaS2iWutMltLCV+I220gNIQp5annl+UalLfdWVKUSSbjjjHDXzKjboWuuOtCTmTQkDsAyA9MbOx8mkgaYR6BWL3+SkE8X47c/aRjTO/hTTgPQI2jtMUJsk2vv3uRY37C3NvlhGY0hrKDA/N+31O222C9MACo6IBtdXNvmduOOMAQDrB9jcd/Um/HAI2tgb8oOAAm9+DYjgi36MA1gZQVhzqJGw9e+5+ZOD9MFlxygbau24+3+bBZ0gZVgzz+jj9P0GBAMENh9vNtyfW2BvgbsoBtsBYGxttxgdMDfQQCLWG+/zwcERSEkkXtuPre+/H6cKSgrUEp8o9kF6IIXFrfoV9v0wbyCyKu0A7/RB6RitR1NDyNkwrCkxEzWm7SDcpYBSR4r5JsQDtpPmuQbY765dynLemRPhJVIpOaiaeY0PcIcCF5GnnjSzj70S4t+LeVERDqi4466pbhKzxp1Eq0tp2SOwGLGyINlyyJOx2wuSQKBeQJrmrI0OSiRp1RkIBCaHWCvv8yBfmwt9T3xlMMlClPLycXr2V9sOCBbcgWJt9tvz74eUtKE415JELbbU6vA2KqNejpgiPMB6D+NyT9DsBhYzRjqMPZGImaYU8ZcKJeBoRQ+mlISRtvb85I/XycHUY8FRi6xDinEIHO06jFI7n4Qq9iD57XPJN1dsNuvNsOFpwkLGtASOOoBEID7Rzr5j7IM7A2QfisLC19t/phvxxiuqvoq9kHy7fE9x9kaqzly7qbNahomgqbzPnuT7E/m8BB1jV9GwMM9WsXl46twVfStFz6PcIoKc1NBKEMidhmJegULdLSBcY7K4N5LIsC87Nrz9notMMNOqbYeJQzywQS266FAJdQ1Qq5FSkpcVhBJAwq0V5LLXeOxXrGlpt2RceKQXm0qK0pSoKUE0BIK0jDUCoBJFDmORM+Ks6aejqT5aU1UMjoynWnZYrL3KvLemaeimKnoyjXI6Gbm8+TUb0VFzyWyBMa0gTmNcK1zqarDriXXQpWJ42a2ptR20TE7bVmvvy9godU488XPKWKk1TWqlZEJomiU5JomgiNLSkNl1wpNPj/Jz88kBICkKRQaChUkUG/p35xvajcsadqiBhH6ulr8EzOmRM5TSkwmEPGvz6QOaFOzCbIiYJl6IYutvxGg0SQ4kkWN8YF6Nvt5WWVMWG24tCag0SpOact4HDURkS2zCx1z6XJkgINDxyPVwrHmz76iskuk6hIeUrqnJnLuro2STCY5RZfVzFTOj8vaniZfNZXCzdqPnNGSCcPSWXbqVE3ZS8qJbRYhLi7cls/udfPbjeD3an5Sbds3l0Cacb5NTjSc0ghDriMSiEkpBIBoc46i+d47v7NrBTKSDraXw2rkwpKwFnyiCpKFUFTmaEgbjDHtWZ751Tqs6iqVvODMGn0VBO3qqhmMp+qTMqusnZpKqkgomKXJJTT05pSkjL5FCIikMwzCSWW06kkEDe9lmXSsSw7NRZlhMSzipRtLbqnJZliYRhPNKlhxWNZocSwpR3GkVpet60Lylyctdam2jUoCXFLQcQzoClJAFBQEDjDosDQXRpnv7CbPXK3KOU9H9F+0RlsPP4yragztl+VNPZ1VWwjNGBquePUZmXWsMxNXZlWGUMF9yZVFwsShtpQEGow6z4wsNca3bOlbNC5pSC4hKk4SrJIUMNa1plVRAHxuuK+Xqu1adoWzyMmFrlFqCgRvKecAeFVgVJ+L0Agci+zn6uJ9lRl1llkN1BTZuIpyCkEBIKarmIWl9NAxwiC1LqZnEchxDcwpFlhbSGY03+5ryNAD0Mq+KIeEhsdsi3LdmL33PBmLaeUVraQCATlioTQYiaqIBzzPRFsdku0m3bHslq6t6kBqyGkhKXa4606EYlU6xD7ikqToIKXUOtIebiGnWnmX23W0utusvtFTTyXGlpWCnylKgRscUZl0Lmmy40CEg0OIFBqNclUMWiW62h0MkgrIFKc4Z6Zio88Uj2G4Ave4T+nCQQcxDziFNqwryV9jAB5vY7iwHyI3722/RhspVy7ax5ArXtpDZj1QsXEQUQ3FQq1tPtKC0FCtNzuNKyLXbUOQdiMY9uSsvbLJkZhAEqsUUvhTMUGuZyhK01RQaxvGm6kYn7BQsIamUOlPvTCQAlwcCIZBFvCJBBtwRvscVZvvc1y7k5y7lUSjiuaag17q07YxS2pIqdIyQg7Dbgm5TwL27Ha5xzbtnzbCC46miPnJPrrCa8NIUbAcDb0A5NuN8YCVBYqDkYOKZ9SBY7WLZJvfjYk898ODh64KBYXPlTwdwlXoeftwKwUFcG1hvyfwfA5ub23wM+zrgQWlJ7J+0KSfzg8YOpEDKkHpBJuDYG2yjz6AWsMFXhAg9Kb/lc+m3pvt2tgqmkHrBXFyR6+ltPoSLbnB04wR6NIPUrY8+m4Fz6WtgUEHWkK8x2II9dwb7Hjb1wnKBnWCvzYK3O1whNh25ufswdONPPArA7m+/pfYAfUH5YHVBRULhbbK0NeOsabNlaGwdSwFK8RflSG0XPztYb4SEhSsKjhTxpXdw6YVUhOWsct5zGIS1EOL8YtrJZbLxcK7wwgS8grdbQHLOKIuLpIGxtiWbkcmVpSnDiGZpSnOx0NATTLtjnLYqG1E1p7KR0bIgBLmXElBESyh0aUaAhKlrSkJBKvE1ablXcn5Y4K+FTbikmtUrI8/m6o2lkU5JPSgegRdUW0je/z29TYbAeuNQ/+FPZ6BGyc8swZ/n37/Z9mGoQYIHY/EngcX72Fwb884PfughAP27dwLi9tr/PAgdMK333v6fLbk/bgsoVnB34BPr+z1wUCvGAOe/PNrd/zYG6AIK299+L72/Xa/fB1ygUzgHtYfp32H6cCCOkJsd78Ht6bb/aTg8t0FCxa9za5B9duMJMKHE6wggX7X/N3237ftwoGEmEgXtc8bEcc2t8thhaWlvnkmslkZdmcACvRFiqGdMyKA8RISuYv3agYRW/irt531hNleBDAXXYgkG18dXcW6M3eu01Si64E0104mBQk7qRod9x6Iffiol0vREQ4HHnVm6lrGw7gBIB4xaKTesiRlTIWcjDUUyFN1IzqCEEdu23oPs2ubXxlSjSmJdLSvKFfOSYODA3J8u+xJ7fPjGRAhYB5I2O9yTaw4INu9sFzTkryaQMSkc5GSo1fm1nPlrkhTJqrMapIaUQ76HGpJJITwphU9UxgACYCnJE0575FvahYxC0ogmv9ldRjdXGuLa9+rRXLSYXySSKmhoOFToM9M891Y11q3lsm6rQnJ0AuEE7j1xwbA+1Gy+dnBhJtk5XstkIiUNIncJPqemc493Uqyop2mxDwjTi2rXU2zFOC1/NcYsMfBQvAix12gl5KlpSflA5dfRETWVtvseeXQoOv2Md3URnblBmRIGako/MekYuXvvCHdZmk6l9PzaXRCU+I7DzOTzuMgouEikoG486Cd0FSSCYIn7lX1sKbXZSZdS22jkspPOBzqDTMVqK9FN0ShZ16rKtGSROtBIQuuWW4kceiMyTV1DqtqruhwFXAcNaUq2hshCnCt1ZmZ0tpQg9r3xh+4N9vyTP5p9kZvu7Z/5vm9saBz66loDLTIPNjNzJWAkPUNWWX0mh1ymgqAqWCn8RETuYx0LLWnpoin4uNmRgJCxFrmcZDw6PeHoWFW0gpKtQ77Zzs4ta89/LNuzfls2fdubcUHnXEqbISltSkBJUkZrWlKEk83ErnGlY4+/l9p6wroTlr3UaD9uMhHJpAxVBcSleQrWiCo0GZ3Q0L0G5c5ddbE/zPzo6ya7ltcdQMaiLl0dkNMoqdZfTzL+n4tx2WSyuHpHMoaRRUHAQAcbaksHJlRcDKXVIffX4i9rXbdE3h2NWBZ9y9h0koSb66JdCAtsqTRakLXQpW4oVUsL5ykHKqEgCC9naLF2uzq2NpDni9pAVUjNBrmEnCqhSCR00OVSc4dtkOStTSxaU1V1X1NXMLTsOzD0DEVdLsvJZP6NgYOCTB+5RdWSuYQr9STOZQ7LUP7/MtBBSkqKUa1YrszflFr2uxZ8vYzMs6ah3CVqS4smtUoWCGgnMBCSR06ATk3Ytr2BZK7StB0rCBUaVAGQ6yRTWGjaj65oWfU5WeVWXUnm+X+ZEbHzCW52wFYvyCaVdTaJVOJnBqldDzGWiJls8kNRtoTExFQS9YQW3yy3ZKi4u0tk7I5yxLV++mWcZcsyZShTamgpKCMABqk0UhQNQpCgFBVaxBtsbS7NvXJmxXkKE+0ohYVSozqCDoRTRQqN2oIHJYSsAJJUUpFkIuspaQpRIA1LUu2rglRviSUyNluiloOKbBGVK58a04Rxi2TKhDVRgXWnmjb1L9Ouc2YcghatpLKKsKqpqIW+ZZPoGUQr8JGmXrMPMFwr0SthaG4OKBQfCtrO5KscfbW0LZpdpRse0p3k2lUxEqIoQagb9TThGfLXaXaawlhJ5VVSCBwFfRGls5I1/IwzmX5oSedyCsIGKhZUKKioO1UzaeTKFSuW0/AyttARH/dCHfbW44UqSwnTe97YkC5E47eoIXclDcxLKI57miUnVR36VOWZ3RpLYtNm6VUToJXXDTeSdABDgns5esqupJGyLIHqNnMpL1XTEN5ZMQzrTszyjg45lx+S5ez2YPhs1FJotakqZT4qnZbEOltH4NYQiuXhG7FrNtiV++q4bQYkWEkvFKjR1VSSsD4vCmh1Odayhsb2oPWQ99617VF21XlcyoqUgjJOL43EndXDurD6DqFIcUlQCVJOko8wKCLjw16rfhGyLKtsSNsULYJLQCtQSO0EiLSOy7sq5yLuawAexQqPMYIDm5IsPlx/FvfnD0NxVBO3PYjb5fXthp1suIKE+UfbWB6YrwsXEwcQxFwzpZfZUqykDZxpVg7DuC9iy6AArv6HGHasjY1uSwkrSQFlPGCIrlG/JFO4aeS9MUyQh5pfhxsLbzQ0SRshRO+khO2Kn3wu5ad1rS8TnSShR41FP8owSTWLzckG5+Y23ABtvta+NE+lCHSEeTl5xA3QWr7DueOBfj5XGGaQIGq5t2NuL7k/ZwMCkCpOUC4sByfnwT67DgYG/ogQkWJve3b0B+m3GFaQUKTuOCNt7Em3e2198JMGIA/xrXPJUP2cfqwcFANz39e4I+liPQYKDgBPceW49Bt/NgEwAIV8vtG5v259cFAMEBbvxzv8ApO9t8HAgfm4O+xAv3t62wIEDdQKTuDYKSFc97Hi2+BoajWBnpujmHOFx12TtlSFhtMdP0BSkupDpRGQSEKaS6hCwhvw1Ng281rgkYlW5SUInTQjFybR3Zc1RNaVFTUGm7TIxz1rkmXPCqvSP8o6HkaWzKIBSUIShqDQllAClrQkPPA2UT+UdwLCwOOGvcVe77gqal014HONpZFOQRw5MU7ouiCdNibqHyItdR32xqX6cqTuy9AjYLrjPGFmxvY32sLAcX3tf1wzCcoP0552/oNsFAgdxb577m1+T6YECBf673/Z2+eBSBURUB3vffc7i9zx+nCTwhQgEje1uRbb+Y7DAoYFeGsIP09Ox3J4ucKgj0wfNuNufzfXBQOAygWHoB87HfiwwKwdIP5W332sP2d8CBFIgbbDkW7W7fovjJYOsJ9MeaKjIaDh3oqJdQiHYSourWfIVA6fC3sdSlbccnGxkbPXas43Z7dcbhyp0Zn0QpAqoCNATSaRM6jXJjFHzrUpDSE/wbEOgqDTaByUlIvxuTi1F17PVYdkpSsUyAjKCQnmjJMW9Ww2tsNt7HfvwcdEM4VBb+ijYbXPfte2BAgxtsAbni9rc878H0ww/OKl0hj+adPO6KaemAAnlEq+OK0jgrqx6qs2en2ZxEFKsj5HNKUmzMEzSGas4nE5jaciYtcODGS2pZHBQsM3J5rCRrriWmn4lhMSzZaFlJxYDZlsluBeuXaVPTI8cWSVorQimYw584GmdBVJ1B1iL74XqvBZM9yrDZLSQc6V1FPXDKeYOY1Z5pVbMK6zBn8VUVRzNID0wilMsQsBBt3Q1LZLLYcIg5LJYWxS2xDp0LHnWVrUpRutYt3LLuVZSGLDw8mlIGVM+lW8kk1r3UFBFdp605q3LUW5PVCiTFro+iqrzAqOAo2hqfmNVVVNnBCQUlkzbi3Qy5b3iLjIhCdEBKWYe633nFIS22CTjY2hblz7Mu+5b1vPJbtdsEpBVSp3ZQmzbv2pbqsDaFV6BGa5z5RRGTFdxmXU8jpdPp1KpTI4+dRkvatKG5nPJWxMHIWWuLW6IqFljrpZS+TpeDesWBtjT3Lvm3fewJe3U4SiYU4BkNG3FNivYmsP2hYExYDqpKYxJeboTqNQFadsaj0yxlTqH0wiNCjrKkJGjw0KcIcSttCklaRdOxC0kKBKVA47VCUSM6wpUsXi5WlE1pSmtBvrl1RqPGVTElMJRMJYwhOqqYq10qd3rjf3s5XZfC03nC7DvQ0MpqqKcdK4dOgtrEsjVgam0haXEjkpBtjgdqS5qfnGJaSlHBOuJJQSDzQlRKh0VANB01iSNlj0tKyqn7QnG1yaa4k4hmTknfuNIy3rizPgMpJt0uZqIlMRMqyleeyafhZzBuMNzCJoqOgG4LMCiZi8+2XJhBThmYMrhkOnRDxjPiJBBONpsvseft9qesmfFGDK4ilVT8IhQLS08FDNJPyFKTvjSbVbcs6wFsWlKZr5agIoKBXlBW8p0UU/KSlWoEdjZkS0Q1DV2y/CuM6KRn7aGItkoikJ9wX5VIWkq0pG2r4V8i+ITlDaovK2Z1GFPKfJA30iZLQZsieu+ues9eIpQDka7hDNFV0FTVZLlsTMmo2XTqSBv7g1PIIpUqqSSKAupEDMG0qbdgnEHSph5txs+mLSSdtzcpSSaCTIBIBSoYkqBFcxxBORFCDoRFV7Rs2WnXlWmo0nFk6GhFMhnwIHSDvrFSiqJ6jakquQ0BRMtpbOiZVDG/ciSsOzBnLisnmlMOOvGKiX0RdHxETCQ7SliJeWyPFspQ7BFt3hujdazXryWhbLlhS7SCFlOJ1K8W+lMQCDQYST5VAYKxZS883PpZkrFbtnCa88hHIjdqaHHQ1OXk5gaw/vTedPVhSlJSCg6P9mNW0nl1NSiW0/JFzvqyyHFLQxgU+GIufPy+AiI4wMZFLW/FxDSFPL1XAvigj+znYPeq8E3a0/tFcnfdV0ucgZGZSF4CHMipQTzMOIDmgkUrnFlJa+G1e6dliXlrnMyaaBPLpWhRRiIGgBPOrh6Aa0jhDr96d81pvUdHdYdRZVOu5oRNBwdK1xl7TdQrzNy/wApZlS8xXAy1dGTyClkFFOv11SCkvCPchvDg5ohSA4pB1CfNkW0q51lur2cy02g3Tl3iW31o5F2YSofztFKAS0qvJoxVIINKig4LaDs+tp6RRfZtpRvG+2krbScaEK1VgFE61opWEEgDIUpGoOkvp9muduclF13I6fm8LTEnmMnqaqa/mTEZK4KTSiSRLccJe21MoeH8ap4+Ig/dEQrYLpWFk2QNWOh2p36uhc65Uzd6ynm1TakkYcQVmc9xIIoa10I0MM3Mu7bdoW63Pzzag2kg1pT7aRJXinDERUS6QE6oh1w6gtCgXHFu2KVAFKrrN/njzMkn1zMuH3BRalLP/OaeaLarCQqiDVIA9AiiOxJ4At5iQLdzfnbGVCPRATY33FiBffkgmw3F/rgemBAUQL/ADPG32fMjAgZRdpFNlyOZNRjQLkMkFERDat4htZSk3vtdg2WPmBjj7z2cq3LKWkCuXCEqGIU6I6DZdadZYiGnfGQ+kLSsEE6XLEqctYApPPzxVe0JByy5tyz3PKbI6NRUeYxiEUVSlKfbuhRJ33J+W30uR8ydsYtIRWCAt/1bbDc7/p+eDr6YEK8ovvxvfbYDtf7MFnAyg7/ADtsDcDYeve2Cg6wlKk2Ft+QANr35NjvgyDvgAgQeqx3vzbjy7f+GBSC6YTqBtyOALi43NtrDAoYGRhQUNhcXJPY/ptybYFDrug6iFbcD0vyfXm/1wXTA6oIkb8bbbmwv+bnAoYBhJIvf6A8/YPlbBitKQIWnc/DsFem5H15wk5QYzjmnOqAblkEw2HVvvRzk1m77qk+GFqiZrDhDbbYWpDSYdshsafiA1HzE4lG4swqafUrCEobDbYGtMLasyd9TnnpWgyjn7YQG2aak1Ue1Q9EbxpQeJKm3UICW3IdkIVsS5Z9/WtSwSSoqOwNrC3e+ORvqcNulBNVBw9nAUjPsXNlJ3FA9EX4KSkaSB8gCeQo7Gx5ONI8CXCegegRsnPwhioCg72txyLckgbjfDOYyhORhQI4AJ4tYbb33vxgqHfB5Qu4BtpBItcdhttffcYTQ6weWm+ALbbA8+vf13wM4IUgyRt5QCQfUnnk+a18DPjBmnCEHb9B5+lhzYYOCgxz6W43/Oee2BugVzgvqCe/Y/n+ZOB1QQ0g9u2wA2uf0nbBZweW6Bb/AMN/nt9cHApwg7KI+0Ab3F/Qc3O2EqmEsNlITV1Wh4U6OmsHXiY1LW83XExKJTCWVDwS9cYvy6Ih50+IlLdh+EMOryqA4PO+LBbLrpsPSXu9NpHj7fkKJOWLmnm1ocjvELarjFYwMpXcnRvf5gf9mw4xMTsu882GnHAWxuoB6IyajhFC/HmG99wscb3NrfmwPF3vljuEHWAbc2NhtslRv872tg+Qf+WO4QKwByCfLcb3Gk7C9hcdsNuyKnk4HVAiE5YwseUnT7e2PNHS2BmcujZVNZfBTWTzFhcNMJVM4VmYSuPhX/4WHjICMbehYhp2+4Un6EYzrJetKwphM1ZEwpmYRXCRzqVFDkqo06IZnZWWtJBanUBaDru9EcxRfRF0rRceJgrKGVwrqXFONw8undRS2XtKWdRQxLYWaNQTLIubISgIT2AxJDG2PatLtci1a5DfSwwrzlsnzxyLmzq5brvLOSQLh38o6PQuN6URl1l/ltLFSjL6iqZo+AU2y3EtyGVQ8LFTL3c/gXprMUoXMZi+2Tst11RvzfHGXnvDea+LnKXjnVzCugJbHc2EjzRv7MsKyLHVis5kNq6yr9omGLevqFeZ6pq3S7+DRHSSjoiHOlQU4hNOwusvAJ1Ftxd7kDcHF4/BwblPewYkmwTNSxfwmpNKvLVpXPXfWK97UXpt29k4t1QLZDY0A0aSN0O2eyT6nOoCk+keMqKoVSHNDJbK/Oav8rIiSTugaSqDMHLWhIJMimcqmUlncXK35rUlK0/GTp8e5Prdeh4dxCGiG0ACz0lbc5Z1nSy5cpEwupUoISSck0zIJG+oFBWtIrxbdjWXaisTqVYgCCMagDwyBw9tK8dIdvX1hTWkZXU1RzOkMu4KiI6YSWHyWnNH0VRExmuesZMoXxG5bKZJCSv3iWRMPFKMO487dMP59RCk4zZm8qZtKXH0JXOAgYihJIqQFbt4qI56Vuy5LLwSji25ahNAtYBIBI0UN+cMke0ayNkee1eSOa9T2X1Hx9U1fKoqqnabo6D+9RNFx0xZiabl7YjqfimGI+tISSQrCnJipCih1sKQQtBOIOv1e+8d0r4tpui94o08kFYDaFBVKHRaVdwoInm4Nz7FvZctxN7EmcLCyGytxYUmpVliCgo0yAqTQZaRyEqgpDlnk/WNI0zMapmcvRT9WzJMXWtVTmsaieVFy8fglT2frdmDkHDNNEoa1+G3uUpFzjiF3tmr1W6l+YCeXJGaUIQMsvJQAndnlmc9Ykxi7iLoXeXJSi1eKUOSlqcOf5yypVOGeQy0pDZnBOx4TzfgoTYgehG+JtleWTJNsPGpCejfnEIuMSpmVvsJoCrifbxjv32bUhhJv1Exc4iYYPro/LqpZzBOl5LaIONjYuUyRmJ0lQK3QiYOJTYG1z3xAXhFvNSezmYkUhvBNqocaEuVKBUUKwSmlc8JFd9aRKWzKT8ftRx1ZcC2MFMC1N+UTWuApxafGrTdvh88WADiEoBG/iN2spVvMoXv5T9O+KCosxExYMqxNBuqfIKUJbUkZ6KQEqzGRz0yi1T844lTSlOOKeSMsSlKTpTNCiUnLiDQ5jOKiVvJV4retLhbLanW1HWttQ8yHXLa3wb7BZVbtg2ZFTAwtOFIHSa99axiOzDrqsblFE9Ap3Up5oQXCpCWvwaEJc8ZDbSUQ7bK7JKlNtMIbaQXFp1LsLqXcncnC5uVen145txSz0k+isYjTLTCcLSQkHohRWTcqJKleZRKworUrdSlE3JUr1wSJRxtIQhYCBplDoyFN0AXPGnjcBSdybbC/fCvF3vljuECucBRsQFFJPfzgcnbe1u2B4u98sdwgVhHxXO1wdz4gFvXSCNrjbB+LvfLHcIFYGg/+j3A/LTewNx6YQ1JrZb5JtVGzu19MDKNpUDO9YekcU4lC0hTsvXdKipCfO6wQdlqWsn1IHGIP2nXQDJVbcon4dymI1JrQYdNBkOEYb9cdR9tI2ToINiACACdQGq++9tjzxiGHJiUdYbQwgpmE15Q1OdaU1yFKHSEZEV3QVu2m1gdwPlzscMQDBixAHyFgQk/QfI4GkCFeUi3l3Gw0W2B5tcWAIwWcHlSAdjtze5+Ekk22vzxgoBhJ2O4Fgdri3r6W2woZ6QUEBuDbcDnVa1+LWOxwDwgdMLAPz5tuR+z54TBwqx9Obd/zk34GCgUMF2AsfoD6Dk78YOBnCSTYHcegIF7252NrDnB0zgoNpR83FibJIJ1KBHm1eh1cfLBLA7YUkiOYuoKLVDtwbz6oYrW29AQobcWVONOTBp0FTLgDjS0ISApW7a1X0GwxKuzlkOKWhGLCCFqqNCEEajIjgNQNY5y33MDYUqlTkO+v280X/LHMOJiJeuAi4ZhhmHW6zAhkPOuRw94dUtTby3i2w7DXWpxKk+dIGmx2w3tFu40i2fGWVKUskFVaAI6xSpCsgkg5HWogrvTylspSsADCKdOQ7qeeN3QUYmLhkPakJK76VNn8GsDcrbKxqLdyd+9sR3OMlqYKKE0prqMtD0x0ZViNY9YTe11Ejfbmwuf6Xxik8BnBQuwBvewta3H6thtgqntgQAgAbH52Sdvp9MAmBC0gjkn6eg7b98JJEGIUm5Ox9bjVbtsPoMEdINMF357DYm/B529cCBCVEDv6c2uRf6cnBiCNIGxtt2vYEEW9b84EDqg/X6ji/pufTAgHOAOTuPz79hwNsA6QW+PHMZizKoN2OiC54LNwQ0EqUVrSpLexKTcKN9sbCypEz08hsNlyh7vtSFhBXkCI0YsU1ErTEREfO/FWS66kQkLoLrmonSFK1AAqvzixcki8dnSYZk5VRZIGiqeqMhLRSQawRbpLgR04FxY/isJ8rW/C+mHxN3s/I3Pp/4YcPZFfTSx/wBuzcXT/wDoITj9ONp7kbSPyST/AONH91AoftSEKRSx/wBuzc3v/tGDI2sTe6gT/NjFdF8JVwsTUqBMJ1wO4055ii8Irlrlkct0HugIRSpNxFzU72/tGDB/Pfe5w0Zi9A/8MuvzvqgChgFmlL6vfJzrNzZUDCqSCefL4guBvbjBh+9FKeLL+l/hgRU8Olhr/HZuSlGof1vhE8XHGtfcYTy96N0sv6X1QcUy1SqxZUZObar+WEhO2wGxTtb54MTF6K/wZenyvqgqQz37TzKyHhp3l/nVTpjomUx0A1QNXOxbSR7hN5TFxMbScWttgKDMJHwUxehVOKIBcabF97C8ngkXymRKWjd21WC2/L1UklY55coojQEUFKa7zEE7VLEebnmp1s4m52gJH83gATU8SaE7sqR3L7DZKR0mZsJshZPVFmYEFxtt0Dxaco5tettwKbcQWyUlKgQQfXHoDZMmj3FYm3khS3q805cnhoNc64uoaRUG3kPyt4JizG3SGZfCQ4B+Ex1JFK83DSmprXdDl9HZC5e0RW8wruSwLy49wRIpyTRqxF05QSpqrxqheo2Wu6ky1+dxYDi1EqLepYTbVsabLZVModcAS0k1O/Td2wgWk9LsnAStylOGuVd+lYYL9tr1A5mZM9Q+T0koOPlEJAzrJZc2jBM5LDTZ0xgrOcQ5U07EKDjaS0CALm2o40t5rvWTbVqotRaKONgAJFCNN+W/Lq7cu4uZb1oWZYrtlAn4RWLFWlKnhv74bmjeoXM6bU/ESmZR8lchJzK1S6OMPIoVl5UJHwiPeG23FqdLRU2op1JF7d8Rwi59nMTQmZaiKHTD66x3bl6rRflTLTBKwRStY0gNI8MC6ghCQUqVuUtItcqUdrpRjqWw947Lyik/vd2oU7uRTLMb+8Rzam8KEqRmpROXDOHp/ZhZZQUroytM4KmEZCv1w9DUvSi4aDbJj6akD/vc0m6ExNlIl8dN3UssGw8UQxXwQBQ7wur3z9oWrLXJsFkutSfKKcfSvJSl4QlOCmoCak4j5VN0T9sish6UE3NzA5q+SoCKaYvbDoJRTIIPv04AASNPuMEBbjk7jjFRlzV6Fy7EuJZYSyD8byqinycvPEyvtqemEP4qBNcuNRTjBeFSavMYyc3NwCIOE+G3exSBv+jCfGL06eLLr87/AAw5QRU00vbyxk4UbCwTAwZO45tfucZ/uRtJP/hJP/jR/dQVD9jCkppnlUZOAb2P4jCXv6WPzGMJ4XwlXDLzUqA+nXA7jRnmKKwiuWuWRqN0KA46wlSKcvduMnBN7ECBg1Ebg7elzhAfvR+TL+l9UDIawWmmBbVGzjVtc+4wd799rE3vhxkXwmnAxKSoL6q0xu4EZZmqsJpl0Zmg3wVOEEpNMA2TMZwkHt9z4NQuNyq3c/qxmiydpP5HJf8AGj+6gqH7ERS00+m2qOnCUkbfiMKNz8+5xgeMXo/Jl1+d/hgU4RVh3pBAxENHQ0zmyHoR8xF1QEMUuJCUjwToWFoSoJ55tjDtRN4J6QUxNSai0Brir/0w0puprWN6QkWmOhYWKSoLREQ7b6XEkHVr/IP+E3bjFa51hUvPOoU3yZxaVqOuMdScJIj0gbkbne97kk2H0sAMY1cqwVILcDaxI7adr/lH14wNddIEKG3J5sOeRzexHAwRg4IqTvuCbW52T6729MGAeyBUdsJIveyvp3HI9MHpqITAJIJva5UTtba9rW2G9hzgZQfXCgVKPChzYW9PyjtxgsgIGZgwDc2UfQ3ue1gLemCJ6IMV4wY1G+q23oQb/QFIvgGg0g8zrBKJuDsQTa3AA3/NfBgCkFWprFoi5wmEDCg0HW3QslsqLa1qTqs03dOnxUKSDY2sN8ZjMkXsQrRQ36gdJ6D9UNqcw04GON896oen7ksYcRDOsQs0WqEjGGXYYraU8SlHhqccCwGykFZN1KSSLA2xNmz+yUWcl1xJUHFtc5JIVQ01rQUzqaDIA0zOccfeCYU8lKTTCF5HSLHl9NXpat1woZdU1MJiktKAUVwzkVENOJUlRSklCHCpPBJF+1sby/kmiancFVAFKM+ChQjvIoYwruultsA0NK90dXU/P4GZw0IiBWpp5aYmEaCww0G0QCisNvwUMpTgSp91RDaPOi6b7EjEMWrZ78rMLL4qgYVHU1KwBUKVloAKnI5747VL6HDzNTl3cQIzFiPQX1tJX4gK1ALFwhe42S5u3dXYC4sMaFyXPJhZFMtN47NYeSsVpF3S4CSlQUkgC6VEcngCw3+zGEU0FRQiHARpFYX8t9zsLjuSPz3wg0hUHc3tc2vxba5A/VgqCDqawXcc73HbgfL54PdBGDN72t89xsPlcYLdBmpMFp34Fx8jsfl8hg690FTvhWkg/m7C/wBOMFWsKoeyBbY/Z2/T6bYFYKmtYSRv2KTcEbc7W7dhgLPJoC1ZA6QXojFKrlcTOIWGgoZyHbbTEeLFeOVbhAs2NKbkpUeQe+O1udaMlY8yubtElKF4cHNUqtK1ySDTUaw80pKQaxgTWX8zWqwiYBT2jUtvU6NJIubXTY2GJlVteQ0tCGUFUkNVcmvLhlSpzh3lG+MUhQsxUFfjMtGlRB1laDsNxZQBtvyNsP8AvxS1fINP0bn9mC5Rs74WKGmO34xLh3JKH07/AFLfO5xr1bS7mI8uxLQ/W/4od5NQHk+eFmhJlpJ94llhvcB48G/OgdsBO1+z2E8nZ8s7LyY8ltYUpSeNVAEGpqRnkDSEmiTQ5GD+8KZK0aoiXoCvgALoB7AHy9sKTtkQuoSg1H5iv7MNuPstU5Q66ZE+qDNCTFJKfeZZsdF1KcA22uq47n9OFDbDX+bP0FeyEJmpdasKVHEeg+yFKoWZXLKoiWJSdlLQVkgW+A6bqO/68AbX/wD0z+rV/Zh7lGxqfTCVUHM0pKi9LClN1LKS4rSBvqIAJskHBO7YhLuBuZbW04dAtpaK/SSIShxtzyD3gj0xorqXgcv6G6fs7KyztiZEMqKUoCaTGsPug6/A+JFNQ76qbkst1lmIjahnE+MO1Lm2Qp1cSr8H8CimVdi19bxXm2nWRZNy2VzU9OvpS8G0qKEJJIxLcA5NKQgYiVKFACNco5G/tp3esW6c5PXkdSyoo/e5yUSaZmiSSBiBGmRpWlRVnLIDODr/AOjfpayvrOl6cpyicrM+mjm/Fe/0LBVk/TVVVgiHg2IOsouaw0LMKWjKjkcpg5hBNRCEw64aJSUuFRIx6jy+1+6q752pcOyrRamrRsl1plaQlQGNYV5Kqcms1QoKCFKwlJrSKhfelPWhdiXvVabDjKXaqWVagKwlGXlEZ0rSgUCk0IIjLD7WjrjGg/frluAtRQgnKWmNK3EpCi2Dr3UByNjsfTHdP2vaXjMzZrqAmalEIW8AQShC1JCDlXFUqGSakVzjUou7JoDbyFVC64a5A0110prnDbnW/wBR2bXU3XFA1pnFMpLOqikFIzCl5W/T9PQFLQrUo+6y45CYmBl6vd4hxqKi3FeITrNwLbDGdITaHkVcxfRVr3QtcsZUc3CB84e2PKhQTLYFa1BKGoGXuvOqUhLTbSpa057wt1StIZAQSpV9jzzjnJx5uRUlM2ShSzlUEntA07Y3YbUpovJopsDcQT9EZ+aM0akULQTOXWZef9EZz0t0uVXVrMhqrOum6BjJnTkjaeQ37ilyOixDlqFm0atth2KbJU2wpaodDzqQg6yathNrJtS5F2ZqQf2iMyZel5PxhsOrSUhWJNThoK0NVAJPlUzMLln0SbCbetFDyLAQsBTnJrOCppVaKY0pxZYsNMxuiVfTdAyqCpqQQVFxNNGh4WnJC5SLlPRaJhTz1MRUuh4mSRMpmDAKY+CioOIQ4y98T7K0uK8yjjxktba3a7drziLfbWm3Gpx5l5CkLKkONKKFpJAIJSqoNCdOBEXHurN2Bad2ZS07vuF2TeSTjwqRWmWQUAaDMVO+L594kzJsX5cVcWu/zwBcI0416tsASPwZp+jV7I3hw0qYJVBTRNgp6XbXJupy1uOQAb4R78iD8RX6tf8AZhONG+FJoOZLACYyXX03JbUs7g2sdO9jhn3zblj/AOyWhX9L/igwQdxgjQsySrT7xL1G6d1F4nzcA+XsMPo2tyTKeTs6Vdl5MeS2sKWpPGqhUGpqRnkDSFACkG1Qk2WFFL8vCdQB/h0g2uLXSgnBq2wpTqg/q1eyEFSRr64QaFmQUSp+XA3O/wCGJ+d9gf0YSra9IPjkrQlnZiTPlNoSpClUzFFEAChoTnmARACknTWCNDTHkxUrHyJcT9g1AEDDfvm3K3WLaFf0v+KBUV0hS6CnGkqLkEsJF1BJdXpTax8oBJsD24vjJG1/dgP6tXshHKN7zCTQc1SfM7AIVpB8Mrcbc3G3PwqI4vhPvuJmQuXmEEMHIHAr0AQsLScxpGxqXgIyUS37mxjsNEFl116GXDhSUiGXoukpXYgNK9Ob3xCV7JyUnJsTMtiwEqqcKhwpqBDD1MQUeEZJuFEEjjsfXvfcG/YY5dHwrZcbzQnWGhCdewAue97EDbc34/8AHB0zqYHRCA6ASd+LE2ULegFk7GxwCBSAOMBS7pFtwQewvcA8g2vtg0jfANYUkhAsEjfYcebYdj6nAPOMAZQncXJ+ZTxa4NvXsRg+iCiuCPLuQbavr+sbnDZ80KqKwlTgTa5IH0BFuT8+MGEkwK0EU1PbK0jX623FztYcWwoIzzygqmnRHicU66SlDiUL07KIUQBcajpSfN5eCN8ZCQhGagSmsJNSaDWNZ1PPYOXNMtj8LFH3iIZYdEJGN+9Q60sF5whaVMJWlKQXEbAgo7nHUWVZ780pSjzWeaCRiScJzoMs6Z5H50YEw8hAA1VrTI56fY9kcYV3GriJgWShrQ3Hwqgtt0LIcJBdS42ACwpZNwBcKAvicLvsJblsYJxFtWRFMt1Dvp5o4q03CpzBlQKGh76jdF5phSguIh4p1LLComNV4qUKcIPv71vEDe6duTfyje22Be4Dx0OMpKnOblpu3V9G/SBYaiEhKzRNI3ZTUjS9CszWFm0ZDMugJiGoNHgAlpSUqaho5xy0eYdsecJA0E8k3GI6tifLcwqTeZQpY0Ks9RqpAHMqdK6x1LTQUeVQogHWnqO+kbnhVhaQ8h8xC3VNJW4nw2XdlBIStnSlKdzz35AtjhXRQ4FJwpANBmR3xsgcqjOsZSwtXlGtYIVfdPNtgNNtkm2NS4ka0FKRkA98exEU2SpBUAUmxsSdxzwNiBhhTKwK0yMKxCPWFggKBJv6cEEbn52wzhINDB174K+6TsdjyDxcfbYYHRA6YWDvv+ax/oMFSDGtYMmw7fW1v0XwUHXKDBHI/X+re2AYAO+Fdrb/AKNz2+zBQrOEqtZRUbCxuRba4sdvphYKWi246Kt4vXA3xqyppVUMZOJjEsMvog2G20NqTE+A2pKEkhSQL6lqJ836MT1dm8tzmJJKZ9lKlZU5teuCBB01jWEXLKufKnkeOgWCUhqYLRdIsASdV7kDfjHfpvbcAyxHIJpl8Xp6oLKLaJLVyhu28oncqVNHiTz/AIduMYxvZs9B/g4+gIFR0R45nO6hphluHmanouKeSVw8MiPX4iE2I8Z43F208G291Y3tlzFzp5dCyn6MMe6CuyMRGYFZLJTpQ0hRKdKXH1NpQSRu4Yj05NtsdIqxrkk15FH0RGG7aK+UOZjPKZn0wniVNxsdDyp6FYdfQ/FzLwJe/oKdSPeH3klt0D4U76yfljnbdaubZnJBthJ5TFomulOA6YypG0WOd4znpTLvjM4SEjJo8pqAmULHqXpcS3DzuHW8o/wih4JeueOAbjHMzFtXNkGjNPMAIR+ZxNOHTGeqck3RgZHwh0yi7qpaqEalBiIQlXmJ9+ulJsAfhWsbAet8a0X7uEdGU1+b59Ib0zjWGcWVGdFc5eTumcr84J1kPWsa9LoiV5myKVy2qJnJoWAi0RUyl7UlnTzEDFszqCSph1WtC0IVcGwIPWXR2o7Lrs263NbRWmb3yOhaCOTTmCBVaRUYSQRqCQAco5a+dmWreCUUxd6YVLvGlFpAJBqNAoFJrpmN+VDHDkq9mFW2YFX0vWvWx1PZodZxouJE0o3LKrmpZSOTULMoUaIGbT+kZFHFqqJzBb/glpbbeR5Xi8wShU/T/hn3IuzYztibCbpM3fsl9BM+8EHxpkL5pKHABhBQMSSdKjCAqpiKLA2IWS7a/uztEteZnZsLr4utVW0KAGA4BRBqKHJIFdQVCsdu53sS2kslM56izOT7tlhT2UlbRFeNvzFAl8HSkFSk0YEG7Dvqaa90f8RELBQqFalxzzIZSHEoKYV2d3iYtfaNYti7PeWfk5i2pUIcUDyjzqnBULOZo3rVWQBKidTEp36tCzLEuBaDU8ltNlNoQJfTTPHkd4FCaaDohqPof6BKXzl6IunKvsyZRW8hzGrKjpnPHapgamTDzCb07H1POzRcTNZTMoaNglJ+96FZcSotB1yFcadKj4gItht38JuY2Wbdrdu9IUel0ysuAE0IC8LZXnqBzTkTSoyHGL9n1ybMvjdCStC01KbQWgVlVQqtMq6Z1IrxNRrURsetvY95RxjENUFW5x1rIpVImXExc1iplQMmkcKzFPhzVMpvOPAh4JJLdkrUSTY+XbHK2P4cV4plYlpOzlzE0vJKW0KcWTwQhsEqrvGExtrR2O3Lb+EcmlJQMzWoyGuWscmReSeSle9W3TV00dHE7iM4I7L7MFnMrrBzQktWtVrlvS+W9EushjLmf1LJ4ZFDOzOrZjAOsRCYJx0IeDDLa1KL6UT5Zm0O3blbJbX20bfWjIytqMIZs+UcbKJlTswSlCuRUA4ghJCwVpHMz4ViS2EXetbadJq2SOKmLKQoKeFCW0pSAFJKiMNVHQakAnQQ+TnTSEnnGR+b8vzLlEJNMpYjKyu/vwlUwWFSp6lZLTcyjHUiECHWmTKIiAbiIYJF4OLYCmtKwSfPXZXeyw7t7T7FtaRtObXfldpNtFAKvhBNu1YCVVqQpDqAoVpWoIyys1fkWJaNybblJ5hpu0kMIxJSOaKtJOWW9GfbHJHsraXzOi/Z2dLkdVCop9yPoueiQqdi0tRSKIh64qUUUypCvD8NlqTKBb+LWhSVXtptMvheXsuPYW3i17vPybTbrYZmHHEpB5V6ZaSp0mg1BSAekmuda8tsLfQdl9myoqEt8ooAjPCtVRXdWgHmhwP726r8TXodvdRAEasXJ5v5yOPTFY3r93B5M/AJpl8X6ollzNBpSFKpmql3Kkv3FuI9sbDsA64De/PbGD9/lwPydPdGLQZ1imimanbVqbh3AopsT76rTY+gJtba+Nl9/lwdCyn6P1Rm1EA03VbhBKHkhJBKlR+zhAFgi+kA7WFyBfB/f5cHeyn6MDED0wtumaqaBShEQSTdWuYJUb3vsGnFAc8HGLMX8uCafAIOvxYZd1AEU/vaqtaXFKREXC0iwjxwXAOFlI2G/OG2b93A5UfAIGu7ohtsgLFYpuUtU5WoFh5YSdKVKjvMQUg8NLUOT9cZ4v5cAaspr836oycQOcVnKaql9JQqHdULXt76o2t34vt3+uE/f5cD8Sn6MYNY8jlLVOCR7q6FAbERiwSoJFj5iE3Ta++2Fi/lwafgU/RjKbPNEZRSkon8onKlR7US5BPwa23XHIlL/guEhSSgJUrSTb03xxt8r2XPn5JDciyMYxV5vECm6GnzUAppWNkgEFIIWqwtdRRdR51Gw329MQs0Q42441QN1GUMwLqJHkCj/LISCncdj9t8CgG/LqgVioFqOkaAnufhJ29PMO/J9MFlnp54GsJUbmyBv3JskbbjcgnfA6TB7oTYjSVncW7psL/UhRIGDrWuGCzpnBaUkkm/lBFiq3oextgVO6BCVPJSkK+EEWANh/JBF7j1woIJNN8CsLCwSbafXsf+qSRvhOEgb4FYS4pKW1LBsQhRuEm9h8JsfiN/z4NIJVh6YI6RjU4f92ZX4Ty0OPJHkZUyYlY0+VTSblSQpduSLi+/ONpJo5VYxgFKTvrQdf2MMumgyOfnjQ9TS1iAim3ZnN9So/xnSp+HWEhDaHFochYltxSZqtKiWlBNtJNttsSDZU05MMlEozk3QZKGpIBCkkfBj4wrrGnmEJbVV1flV19R38I5lqogzBa29RbcmbSiVBKU3RoaQW7C60lO5JO1wMSnZOUuAryg0fbnwjk57N0kaFca2lvUflPDxLwTUqlBb0alITJ5woLbciXVIVpEHpCwg/r3xLdq7DL/ADqaqxHyTuFMuusa2WtIIASKVAp1xtOmeqXKaEaSGqoaZaaaQ0puIlE+S2l1ZUnU2EQ+lt5bZIGwaABOxO/C2lsAv6+SVJWVE1BSRpwPEV/pdkb2Ut5DaMAUkUyz6ft1RtaH6p8nFwup6sWEMuLHjMppOomop3QW3EBMQYMAP6ACgkEEc45dfg9bRA5zEuYwMjygKRqDzeHGNoLfbKalaaE8DWL211XZQGHLiqwdb8QrCP6wz1yIStS1JBKvcwy0SjsNSR64wV+DrtD5QAJJp00T7Tnvh4W+jDXEM49UL1W5KQ90/fm+QkK1EyCcqSFeij7nyoehw074Ou0l3PD5z7YNNvNp+OIu0N1b5EuFCTVUQk8LJkE73J38o91xhueDftPFaemHU3gZr5UX9HVTkSsAirokDex+92e8c22g++MI+DntQBzHnMPC3WiPKELPVNkVsDWERxcn73p/+a3uWC/c6bUNw85g/d1v5QiqnqkyJVsKwe2Fzem5+bfIH3Ieb9WE/udNqA3Hv+uB7ttH4wisnqfyK2P33ugf/Ds+B42/2l6YSfB12o8D3mFC22q+UIq/vn8if+WD3yP3uz707WgsI/c67UeB7zCvd1r5QhH753IsuA/fe8djZBp6etoVtaylrgtKUk9zsMOo8H6+7S202iy4og5mlQe3qjJbthpaMjmd8aSnPUTSUawWYWs4tSDEPpKhKpgEllLgLSE2YupCArYkXOJ8sTYbNSdnNgpVjUM6jhCZm1m3iMO6umXCMbGelNiyU1ZEBIFg4JfEa7WteyoS4JHIJvjb+83NaYT3Rh+6CYqs58022NKqwjbXJJ+5zuybD/1X5YM7Gpn5PmgC0Exq6e5oy6czaOifvgW8lLoaZcMJFtoMMhJ8EBS2k3VYm4GO5u5syfkJFVUkCnARrhPcDFqTXcutb7sX2sPI6N/tTzh43HcXzsJz6IQXA6cddYUa4lhFlTYH6tOq+34bXwQuM58nzQpL/IjLf6o98tzHl8vX4v3bU0ptYch3WERSHGXUKJZWFtNLcuhdibDGNO7O1T8uqVWk4F03Dca+qFePHiIzCCz6cl8azHM1zNnVt6daIpuPfREhRClh9pyHVD2Ssq0nSVWxo/eZls+ae4QPH+mNrnqOo081tFqvubSmPIvbcfwHAP58R37xs0D5B7o7Dx+y/lpgHqQo3SB9+8ddJ2AlcUUg2ABTeDUUkD54MbDpqvkKp1QPH7Lp5Saxzt1LS/IbqzpCl8us3Mxq+Vl5Iq4lVcT+j6YiZhIJPmX9xmn0wNH5hKg4RMbNKRainhFoaaWhxqLbS4k3sUzFsVkLe2MXhmbcsmWZW9NypZ5RxsLXLmtQ6wdEOkFSCqhqhRGRjh75XGuxf9coq1HFcjJKUcAWUpWF0qlYyxJ5oJGhoAapqD0LD9Q9AwUFAy+AqoyuWyyChpfLZbLJE7LpdK5dBQ7UJBS6WwkLAttwUBAQjKGWWmwEobQE7gYiSZ2QrTblr3mvBLuPydoOFRTmVOFxytSSSTRRr1RvUpsaxLIXK05SXqiqRvooaU4axqnOucdNPUhRQy4z2abzKoVM5llRppqbsVFBwqZ3Jm4tEujlRcocl0xV4TcweSW/F0EK43OO1uHcS+uxueVfPZKss2k80W1JWlJOBWqSFekZ9MYF6JTZ3fGxhZtoypKRQ4TXUGoJ45ivXF1yurXp8yRpSHoTJ2CpfK+jYYNhNP0RRRkUJFrYKvBjJu7Cwpj57NFBxRciY5+KeKj5VJ3uxtBuXtBv7a6bS2oOvTzY1JUpVBrRNSQADoAABuEKsd3Z3dCXFn2dKhOQAATQeYRsJ3qMol5DjD9aPvw7za2n2X5LFPMPsupKXmXmHoV5l1l9CylaFpUlQJBBxzg2ISi1B67zLjVmZFsGoUkjyjXIg4wSCNN0dC1aVjTDQcbAbaVXmnUZ7+uKUN1C0JBMNQkJV7kFBw7DDELAQUkfhJfBsMNhpiEl8JCwbLEDBQjIDbbSUAWTq5OMeb2Hz7i+UeDi3FEkqVVSid5JUSSTxJh1E5ZKBRKkAd0Vx1I0jslVcxYb3AAlcwvpHw3Pu/fGL7x01+LV3Qrx+zPlp74MdR9Fgf3bRu2wAlUYRY9zrhVm9z9MD3jpve2ruEH7oWYNFp+3ZAPUhRv/AC5ixtbaUxhIHe5VCqGC946a/Fq7oL3Qsz5aYA6kaOTZSa4i7pUlVjKI0quNx/tYI/RbB+8bNVzbVA8fss/GTFP98bRZW459/UaVLI13lMYBfc7eHDIuPMecD3jpr8We6C8fsv5aYP8AfH0buPv4jTt/xTFgE/K8IT+ffB+8dM0/Bq7hA8fsz5aYB6j6N4+/aL+2VRu5/wASGRsL/XA942a/Fq7oHj9l/LT3wk9R9GGw+/aYfUS2OQBb5twoJ+WD946a+QruEEZ+y96k98JPUdRhSUpraOsQoC8ujyq235aoe+5P2YL3jpr5B7oLx6y6eUnvj0Q3UZQqY+CiX6zj1wjMSyIptcsmbuplYUlR8sPYfO5w3N7ALdnbOe9zDyS0AVqBnWtNeFD3w25akm0KMEHFrG0D1N5EtHQmr3hoJSLU5P1ApHooQhFvzg4hxXg7bT8SwyCpmutab8qxguWwjAVlQ+3ZBHqhyKsR9+Lw4/3tz77Ln3Pfc74R+522ofJP0oxfdtv5Qgx1QZEj/fg6rYAn73J9ud7mxg9sA+DttQO498D3bbp5QgldUWRd/wC7F/gDanJ9+lRg73wB4Ou0/wCSe+B7ttb1CPG51QZHKV/da7pBB3p6fA/Z+KYeT4O+04DQ164SbbbPxhCR1R5GaiHKufIPH9js9BuAL2/EydycA+DttPpVINeswXu23WhUIqHqhyG8oVVzqiLkFVPT46Sdjt7lyBhP7nfaluBA6zB+7bXyhFJfVHkSEkJrB8XAJIp6e2FjqNgYIi9sLT4O21CtSPOYL3cap5QiwR3VTkpFB2EXWK2GXmVpaUiQz5RUsL1p8b8TCkoUQN0bgD53xnS/g67SmVJdCSpYVnU7qbvrhlVvNqqnGKUjDJr1O5RQzhi01yw48LqcJpmoWkIsCUo8Qwhb8JViEgK81rcm2N1LeD/tBWjklNOBHzwT/nx4RiuW2hJxcomvVGoKg6mcpn3EuvVCiKchla2EtyWfKY8BaQW4dlt2GOhqyrpUoeLvY7bY62z9g1/mklCMaUKFDUitd6iRqegc3eM841UzbqNVFJI7ur7ZxpWc5/5SvxKlIqF9GuPaWGjJ5yQygLQAhIVChKdH8VPAtvjt5LYvf1toJUK0bIrXU55/5xzkzbDSlnP42nD7cIbebWpsqSlRSlLzpF1KN/wirC5JNt+Megi1Fwc/PKOaDiuO8xkMvmCWnQvzlKgA4CPEFwDcaSpIAXwfljWvywUnDv3RlNLbx41Ctdf8o2WxULGhsxMUCpSleXWXFMMrRdkXb0NKdDgto03ANr740ipNVSEpy7s9/ZG6S7L0BWRXrJoN3b0R7EzdpSH9EUCrUlxqzq/CWADYC4Cb7EqHJ+WGzL0pVMOgsEGlO80j2QUzRoWYh1lJTYqSbgFCgfOpX5RJG9r2whbArzQYcQGac6mUe9iOg0uJ/GXNKwFXAULn8i9+AoceuG1NGmmcLSmXB6IyKFjLupbacdUtVzo1q+FPYk+VJ+eMdbQpUgUjIQhqtAPTHubjlLKUlxYWVaeV7q3NikgWHphBZSN2ULCGzu9MXViJXcjWpQvvqJGk332IvzhotI4Q8ltsmhHpj3iLAOnWb/b23sO1zhHJJ1pDnJtV0zip7wtQSbqGobXV6WuLA84HJoG6DDTZ3QsruCCokHYi6vN2IP2YyFTDqpdMorCWE1oMKa5mutKnPiYcSMIomtBAsnYpBTe3ClpG17bAgAi98NhagAnKg0yHshWI7oASk28qd9/hJJsDyed8DGejuEHjVpXOE6EfxUf9X5fS+Dxno7hBY1QsbaSkabJ0i1wDx2vba3OFJmHUNllJAbOooPZCMIioCv8AjXHF+3qbWOMUNtgUAh1KlpFBpCwtW5vbb1IsPrvgYEcIClFflQNSiLHj0BuPX0AwRabOVIRhSd0U+f4vPr2/SL4LkGuB7z7YThGlIF1EDfsR69+dvXD2XAdwhvxdrge8+2CJVpvdR2+VhvvwcHUV0HcPZBeLtcD3n2wepXcm59SB9O25wldHGVS6gCyqlRQbtM9R2GB4u1urX5x9sFq5IIHG/wAze+1jjKRNPtqaUnASyCEVQlQAIoagghWR31prrGVLuLlXA8yeeK0rzhmKaKqDlxEFqNydj67G328d8YzwD7nKueX0c0dwoPNDipp1asSsJV81PshJV325+X5rWvh1txbQwpoU/nAK/arGOoJW94wpKS8N9B6KUg72F/n8v5sHyq/zR1JAHcBSBM/vt4zD+bqqVpzRkKDJNBu4QCq9vtHxAE/bbbCFLUryqHsEM+LtcD3n2wYPe49CAri3bfnbCewdwg/F2RuPefbBlW3ffm++3+bBDqHcILxdnge8+2C3H5JvYcW232v9cHXq7hA8Xa3g959sBV/lfbvY3txb6YAPQO4QPF2eHnPtgioJAJJCRbuDYcD9OB2DugeLs0zB7z7YIOEkgX50nUCne29uL29eMA04DuEDkGa5A959sDUf0fZ+3Ay6O4QPF2eB7z7YGr6Ab8Kt+g84FRwHcIHi7XA959sEVWJB/wA/2jsMHlwHcPZA8Wa4ec+2Alw+YpW4jkEJOnVY/lJuAoehN8NOstvDC4Ob0Ej0UrC0IS2eZUV6SfSYSpatzqO3O5v6bYNltDDRYZyaOorXznOFkYk4VeSYpFwnbWeL7KN9vS/phQbTwhvkWuHnMILxG2tWw1XBNhbm+/fADaeEFyTQypHjXGLubKSmxJAK1b35uL74UGkcIbKW9wHnjyOTF5IsDq03KjuO4sD6bHnCwyiEEI4CLRERjhc8NyIKbHWSSpKfDIvdJSeRh1LSKVAhlSG60PrizmLJUXERr2nlKBEKBANgL+bhWHuSTvSKwyW2tR6Y8bs2ig+tCXYnQlWlxXjLU3fSlSSDqtxe/wA8LDDdKkCsIITipQ06zHmVNkOPOuqjACkgtlRWlTiR5ihCSCnwwgHURcWue1sKEuAAAnKE/BEk+2LPHTxp2GWEuApeRpeYQsqLURr8QOpbeKlOpRpFiFAJPa2HkS1Fio09HXDDq2SjQZ6iuh9cazjJgu7rYUtJVc7LLe3qQDub9+cbtqWRkogemNG6UVIAz+3TGOrfW4pslaj+HbsCpR0jUi25PqPljYBpKQct0YCkoNKjf0x5FOt6nPwiBZ1zfULXLihYnsT2w6AaDLdAxJzz3+uFh9IVoS4nUAdSSsAgJ23H1wRTUVIygwsA0Bzi4sRobCS62lwNpASFOJ0dzdYFlHbdJvcHfthhbWInCaVh9DtM1CoEX+GqGDabSy7DpeSlILaluJW0kK1KU2615SqyyLLvci9+cYS5F1SsaVUP2zB9UZzc60lOBSajrqOoj1x726ug2UutiBZUp1pKNRCfKQs6lpSVFIGg7epGGTZrqqHFkDDqbSaTlgBNPt9UX+DruDRC6IyEgilB/BpLelwgK8oS4PykCx39cYzlmO4/gyTxjLbtRrB8IEgReFV7CFN22/DT8DaAlV0jZQVq2USe2Mf3NdrnQnrh/wB1GqZZDqilDZkQmpXvcM8q1wl1QuSUmyUqAIud+cLXZLoHMI74Si2GieeFdcXyFzBlLjR1rdYuQoe8NOcG/wCWnUDqttjHXZj6VZAE9BEZDdpy6hUkgdIhCMyZE04UF5xSAogKKVKTe10KBCdgOD6YP3KmiK4c4L3XlAaFUXhrMSnVqF49DWwNwSQbkcpCNgO/oMMGzZsfEJh9NqyZPlgfbqi8orumQlTqpjdCB5g2l1S1fxVIQEBJHrvsMM+ITROHAamMj3QlAMWMUiu1mDSK1aEzYJUnSTqacAFwT5iAf82CVZ84BUoNIMWlJE0CxFyFWU8tsPImbS2iE3KTdSQtKlHWkbp0pH1v+fDJlZgHCUkGHfG5YjEFjDCE1fTdwn7rwnG5ccDfmCQUlN1KSEFHfi4wfikz8hUATkrpjT2mFwlW0/ENIW5NpclzQ4XSmJbS02pCrafMsqCnEkEc33wFSkwk0wKp1QETkspNStNd+YpCxVtOlehuYQrp8VTIU3Ew6gSlKV+IkBxKlNq1AX7HnBGUmKVKVDLeDBicliaBaTnuI9se5udy11tDjb7akuaxcPskJW2gr0LV42lJUkbeu2EFlYNCD3GHA80oAg5HpHti1orSQOJSVOxTZUSNC4cFTZFwQoJUvuOQSN8OGUeB0HfDQnZc7z3R6kVPJnCjwokKC1G4XZlSAEagvQogkEgjc4SZZ4ag+mFCaZOh17IUxPoB4KKn2kNh3Qm61a1ocKQ05a2ltKTqC9WwNrHfBFhwaDOkGl9tWpFKxWiZ7JYVSkPxiUFCWyopRqT51aQQpOytJ+K19IwSWXVioEKW+yjJSqaQhqo5A6HS1NYUhlSULu4hs3UoBJSFkKdbJO603AHODMu+NUHOCEzLmtFjLpikankZUtsTBvU2622sFaEC6za6LqHiNi99Yum2D8We1KTnBeMsVoFDI01gLqKTlSgIhL4acWlRYdh3BpQEhTupLo1IOrYcm2AGHeFK8QYBmGa5GtOBEXFEbAOJS4mLh0pICh4j7CTY8FSS5cXthvCsGlD54XjbIqCO8RXD8IRf3mH+IWPvEPbcbbpc2BwmiuB88Lqk7x3iKKo2CST+OMLUCAoIfZJSFb3I1/CBucKCV8MoTjbr5Q7xHhjp9LJc0p+NiGGGgrShx6KZSh0XspSCm5Gj0/K7YW2w66cLYJPQDDbkw00nE4QE9JEeFVa0khSUGcMEqCSNAWsEk7pujX5mx8Xp88OeJTlK4FQ14/JA05QVg01rRq0FxM/l2kLCNZdIG6NWtV0ApbttqOwO2AZGdBpya69UGJ+RIxB1FOuFffhSSnVNmfwCVp0ag44ED8ILpACrKvp522wPE5zDXk1U6oPx2SrTlE164W9U0gbCVCayxSFKspQjEX08hTafy/Lc87W3wlMtME0wLr1QapqWArjRTrgPVRTUMkriJ9LoYFIKdcQ2kqSbKBQlV1KUR27jATKzKzRDaldQglTco3mtxI6zHl+/WkFOIQKklCVLUAAuIQAsWJ+IEJQB3PbDniM6BXknKdUI8fkSacs3XrEKerKkmCNdQys3KU3biW3bFVrG6Vcb/YMBMlOK0aX3GDM9JJ1dR3iPO3XFIuxDkN93oJtbKElx1T7XumpR/gmYnUEPLHJIGn54MyE6EhXJLoeg17t0ITaMiVFPKoqOkU765xRdranUJWVzaVAgq0fj4HiIC06FCzKtKlIN9JPItwcGmRmjohfdAM/Kp1cR3/V5oCawkCgVGdylvcEBMcCrfyhDidIGw3KhcAm2C8TmR/Nr7oAnpY6uN98eZVY062VpVPJc6dSlEl4qKGbEqQyR8ahYW9b4V4lNHMNrHZvhPj0oDQuI790WtdbSd2/usfLyghs6XnvCUFEq1ocBI02SAQbnc74d8QmE5LQqvQIaNoS6vIWinXSPKuuJC2HA7MJcNQBCUPhWtOoHmxVrCe2wJ9BhYs+aNMKF90Nm0ZVNQpaO+LVC5hStUS80h+D0F4BDniLCn2rjdRU2A0pHdPB9cPLsyYSgKKVad0MotWXUspCk6949ULia4kTigH4pkNpUAWmnkrLgSTYFWyUg9/TCUWfNfFQqvVCl2jK1opQp0GMejKyp115pttttphsqWFMxCNaysWV+ECjYBY2FrW3xkos6bCSSDi6RGKu0pMqAFAkcDFodqeTkXYi4oBS/FVrdh1EJ2vDqaXZSlhSb6gSDcemHxITGikivb31hhVoSvxVGmu7upFrjZ7Kol9txtx5lLbSglXih27ziU6y4krADOobJSOD3w+3KTCEEEA1PCmQ4dMMOzku4oKBIoOO88ejojG35goeVMUl1sKcVq1DUdZ31K2Jt+jGchgHMporKMBb5pQKBTWLW4+laiQtAJ253PrvvzjKSjCKRjKWCa1EUgtOtvzC/itdx/HTf8+FEZEdEJqKjrjLHfhH/AEqv/u41yfV6o2KvXAf/ACv+iP8A2hgJ17YJceBP+Sf1nD59cMboCOFfQYJW6D3GAv4vs/acGnSAdYT+SPs/WrA3wIrJ4T/JGEHXthSd3VAa+BX1H68BflCDTpFZPw//AMif1HCTr2QqPIfiP0P/AGcOjSGo9TXwJ+v+ScNL1MOp0g1/Cn+U5+tOAPZA3DthSO38lP7cJV64NHqgob4XP5X+SvCnN3VBN6Hrio58C/5P+RhCfKEKOh6oNn4Ir6D/ACsEvVMG3oqKbfxf4p/7IwpWnbCRHvhuXPqr9Rwwvd1Q81qYuCPhH0/yTho6mHx5MUVfAn7f14VvMJPk9kew/wBru/RH/wBxOGR+EH23Q78XsjHJj8f+Or9Qxny+ka9/yj1xaDyn/GxkbjGKIUn4U/yf2YB1gxoOqPdC/AP8X9eGndYfb8mLn/F+n7TjF4xkjdFc8H+Sf24SIV7Iotc/nwpUJbjxzX+BR/LOHpbyjDM15A64sjXxfZ/NjNOkYKfKEBXH2LwkeyAdISv+EH8ofqwY8kwF69sVD/Bp+v7Tgt8OHye2BEfGj+Sj/sYCND1wTmo6opJ/yT+o4M+uEDTsgx+w/wDZwcAwSvhR9v6jgDUwk6dkVh8CfqP2YTv7YcGgior4lfRX6xgt0KO/qhafiR9P8rAOhhSfKHVFeK+I/wAlf/aThpvSFO69hjwD9p/WcOnWMaKivhP0P7cK3w4fJhCfh+wfswW49cNwYwBBjWF9z9MDdDh8qB6fXBwXDrivDfwycNueRC2vL7Ipr+Jf8pX6zg06Dqg1b4I8tf8ASNf/AHRgxv6vVCVbuuP/2Q\u003d\u003d","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124903000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_android4_fp.json b/components/test/data/search_provider_logos/ddljson_android4_fp.json
index c3f45b2..af22359 100644
--- a/components/test/data/search_provider_logos/ddljson_android4_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_android4_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop0.json b/components/test/data/search_provider_logos/ddljson_desktop0.json
index 478f9cb..a8dfed74 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop0.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop0.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Tama\u0027s 18th Birthday","data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAMAAAApx+PaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYTQ5NjhiZC05NTZhLTRjYmEtOTAyMy1jZTNhY2Q5NTMzNWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODU5NjkwMEQxQzk3MTFFN0FBRjZGREQ2RkFFRUEyMzQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODU5NjkwMEMxQzk3MTFFN0FBRjZGREQ2RkFFRUEyMzQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphY2ZhNTExOC0zZTVmLTQxZjAtYTE4Yi01MzliNTczOWFiMGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NmViZjFlYy00OTYwLTExN2EtODBlYS1mNTE4ZDlmMDQ1NDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4GRDF8AAAC/VBMVEWavjiy11HuhigPAgKew0JLLBqmy0Six0AzJg9qcyh3hy+221VANxWFmDZeYiPJ9Vy63FvD7Vi221n///vkgilNMiO85VWkyzlMSBpVVR+y10y631Ws1kG83mXO/F6fxi+Wujj8/fWm0D3X/2PQ5ZVDQRY+IRA7GhDZ6aukxkuTuig1FBWMpDeWuzGZvjSOth/C3nKevj3vizJVMRpdPCWu01KSqjzy+OGYsUSy203I3Y389/Cnx1DvkTyaxiar1Tqu10b3++/l/2qy4ESJsxP3+ent9de98UrvhCO221HG43mpz0S46Ef1eSLviivSdyi61Xay1Fnk78aqyVaaujijvEnzmUqeuEShXiKq00fe6rzo9Mt8SRxwW1CVtDmwz1X0tYv1oleOrjSu20W3113i8LygzC+uy2BnSjZYQD2t20HmfyKu00m24E67ZCKx4Vb37+P+kSr5w5azz2iy10X2rnGupZ+s61r1hyfE+kuq007vchPA0oc4JyGVwxuHcGK9trfSpDfPaSGmui370K6my0p7qQSVin39mDezhBT81AzT/1mSszOk0ixqNRSfuh+TxDvN/06atj/JxLu84k7puwz5iTT84MrX0M/769qPeXvq5+W8w0nmjCvHlRO/6Uri3N3Qlneauj+1zXWLyj2Rmktya27Xqw3p7tT/ojHOskLWjDG1flDglS+231WxkzG71VKfzjyhujisu2729fSFOQ6x62HJyUr8oGr4/f+IqyD3hRp2bRCc0SCfqG6Uzj1COQPj/KZHICxXZwj07fK48lpxlz3018qw4VDYs2ft7fHD52lvjg6w21ey21GvyET/xXzXkk9iJAGjySqh3k+evjjt+uRmHgyBwBHMVhibsDSyzDmri26Iwiqq5UW71kGu10+apSfX+oah10qk90eV3T2p5C2v+F6m20G71E3/8/ua603d6Vec50H38/u02TiCqjCy1ySWyzTL0+Pr//smEQmu002ewztDJhiqz0mpzUiavjy12VP///8AAAACX7fCAAAA/3RSTlP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBm/IpZAACdA0lEQVR42uy9CXgb53kumuEY0AADYDAgMdgIoCRIgAxwG4QEQFDmHpPhEoqiFC6SyFC8V1LIUoupUEusyLLkTXaOlNSL7Mh2GifHdmI7tnOO4yRNetqmzdL0JG2enpw2SZsup8s9955zl+e5M8YgQz/3+/5/BgsJUKLs9nGfZiSCBDDr//7f973f8v//e9761fZvbnvPr5rgV6D/avsV6L/afgX6r7Zfgf52tr5ftf2/AtDr6a+13rd6ja0etj74YeBlze9f6+vzw68+zeXqDY7W+5POTr+T7xt1aZ1aUnMG15wuLdnndPpda51akPFr/vrO4Ggf7qZ1ujTYn9E0J+OED/2apsGPP+hKBvvgUJdLg7PC10Gn5vI7g0HY1eVa05xwok4n7NLS8lYTHANf+uGbzvpR5xrcstPJ9zr9TS1vaa7kqN/l7wxqLo3XRl08vHUmXXCXzqAWDAbh9hi4IVens8mpOfuCzl6XBufx46vWyfj9+Orq7IQ7XfOPOuuDyV6t06n1dfrXGK0PngQeG36Cfn9nvV/r1YJavb9+DY7rqyfNUl8PDwut5Nf66vv64Kezvt4FR/QyTnhXDzv4e3v9Tvizl9FIs/ZBi9Yz5HM4tL63vhcauLde6+slp6y/0qf54c9gk3YFPu/r7PXDZZzO3qa3ev1vvaW9BXd5i6ADKn19PDRtJzRVp4bPvmlzbnjv0lwAUhA+93ciSEGEj2HgM20tGOxzOZMIbbIpCZ9BLwBInZ3wF3w4Ct0BGg56xRqch8GTMTz0BDjW73LC9Z30Q7hCkKChOV1ro0l/MtiZbGrqg6vBobhDpzO51jc6CjfSNOqEDtGUTEJHSQKcnU683SR0oXroN/7gqAsOCDaNwpPBKfHL0WQ97NTX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\u003d\u003d","doodle_type":"SIMPLE","fingerprint":"735c8999","gallery_url":"http://www.google.com/doodles/tamas-18th-birthday","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/wyeF_2wwEDE_ln_ZBDbWYHMFkfhFCHZuXG68UBqCrJEMdHmzG7bOuVJFfKYfK96FgpyO98XDNdkko4vEoXC2EpZYu_HA7jtQd7N9fPmc","height":200,"image_id":6291066231717888,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616.2-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:22,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Tama\u0027s 18th birthday! #GoogleDoodle\nhttps://g.co/doodle/mzbmtf","short_link":"//g.co/doodle/mzbmtf","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":6009591255007232,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616-sr.png","width":95},"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Mary G. Ross\u0027 110th birthday","data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAMAAAApx+PaAAADAFBMVEVHcEwXKj8NIjodb0QiLjUhLzsbc0Q5dk8cNksVgkt8ob4fLDkbKjcZrFUsb0UVjU0aKTciMj4iLDQjKy4iKi0iKCsrRFUnPlcUn1CAi5aLlJ+GhoJpamhTdpQcIyMgJSccIyIgKiokKy8lLjIjKi0gJiglLTEmMDTM0dKmpZ8gaT81RlJ0foxedYm2vME8PzwuO0Lp6OJITEswODMjJis9UVolOTk1SmGXnaZ0dXEpOU9FYXtYZnclNC0dJSVGXF0KfkZFomg1kVp+fnlZXF1/oIeHq5BLZWEXYjhZpnPa3b8ZTTNZdGrMycPZ2dO4trBjj3Jwlnz37NHs58sTaz+hoJqcmpXl5N+ssbgpPFGry6TX1c3PzseWlI9DWHC/zLz59O9Og2FNa4jB1LC0xbPx7ujp5t5xsoOqvqz28ert6N/w6uLy7eQcJCNSdZePjomft6Pu6+STr5mUw5Zaf0FqiEUYHyBSfKkrO1HYfQATOCijnUz5hwAUGx03UW3wskX/fwCwewvXtlQ5cUL9/PiqplDxxF6DeCXtwFXkv1nrozUQFhnf3dbk4drDwbqwr6kuSD/ovlVZiGne2tPj39e7ubOtq6bjvFX6fgBFfVjU0cpIeUO0sqyqqKPp49vb18+/vbbeulT4myDIxb96j0jkw1/5kgugp7AvQlk+X4vBuWLmyWnAxcmEmE3rz3Ps1X77qDja3t+Umky2qVChfE6+nUdONB5qUzhgPCOITysKDxSNYT69d0g7JRXJrVDMhE4hFAsICQy9ajkCAQAmLCTArlLPslJ3RiecWDCrZjo+aVxEeGr61Kc1VkzTbzfKkmXhrX7Ymmm7h1/EqojitpT3vpDzy5/aonfttYDprXX73rTkoW7XklooN0vu4pKMqbjP5eu20d0gVlaTuMpig6B5mbChxtt7q9SCs92OwOpzostpl8BNlM1fi7EiQGY3eaeJuuU0VIEnSHUZNVpGZZo2TGlbgcBAhbstYZhFco4udY4oZHZQpOc7ZJBQo+hYnNZjU8jJAAABAHRSTlMAIAerf1z//xH/VU06////LW+TqsHV0bf//////9D27/v/6Pb/////////////////////////////9P///////////////////////////////////////+L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v////////7///////////b///94/v//qtyDm/v0pQAAnmpJREFUeAHsxTESgCAMBMAL0RMUlf+/Vmt7BsbcNgv5JRExQzCSfEEwsnJLCEVyIVdIKE7S0YPsGVM6Cl8VEkc+C3nRIf2kz6P5eReSl2GAbJiUVWu1PYRQ12IDIQwLreniOvDInlzm//9gZV/GY3TDMljGAm9KCaHrUqnEomamVwirOK4Z3isfglzpA2ZjU4POlKsIE6GjkEwIyvFExR+5nsASKVTCUisHZ6FcykspkqnmvzRKpSsVJVK5Ui0Fc/rQHUgXY0cMgDh3Y/X7e/rmeO1KetSUv9AkmA5ppMFiITojDgErGAouwgaTc1GOscVDLF1Z0Oul2Gy+0MGjLccKEuuRQzpZIYtmRJUEnBkdJICEcoa5TH5sydgk0Jii1oLLyQR4WVeA8FzFTDmPniKv15vter3bNMcGb7/fH47HPd7+1PetWRtgBmp2T1vv36m1E8qctx6544QHMIMazpqRNmNFAvn5YlHi0qhCLwhcccK2RG/tm8CPiYqCwLKi7p+1ssCOHAaC6DIzox2721XhDNizzHT/G+2UFHWY82213Ga9LyAAgyNhAOiuiP0wGO/Ppaf5fZlqUdMhcN1B2/uUSlAyEgFBeAPXUYZMh4wkbSura+sbOR2NxxOQRL4kpkvrI1Dseju3fQbuUHDv5aPvvd/GgFyTul4uto+OI71rqoXGHHWSXnvj+hRpQtK1D8PTMC/5GWvLTabTOU29gFmsOsITxXJLa28mJkgzXZd2U1SYd5H53TRpV8o5xkBAuIe6w1h+cXdzer82S880COLQHWeH+/3Nu7VR6Qjv309R4ByQH16zsKffRi+Sai/WPdchnil6Pwyqivf2yrGkV11XOaqk3Gp03ebvm8gaP376/FHa2tHck3zYqAgXcSgYwdqZHs7XaVSV8mDWlkAzBpwRpMo+4Jh8md2/f/+FRvryteVlnC8kPToNsS8c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\u003d\u003d","doodle_type":"SIMPLE","fingerprint":"151314e7","gallery_url":"http://www.google.com/doodles/mary-g-ross-110th-birthday?hl\u003den","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/4WMMyZBIzhWnJi-lfknABhr9C0wdLV3LHhoOSxVJEX0ml6i8KxAfBs5lYvVgqeJ2QtDDm5ARqzOjXxOP0tRgHsAAl427PNU9rjcpshQ","height":200,"image_id":5629499534213120,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:22,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Mary G. Ross\u0027 110th birthday! #GoogleDoodle\nhttps://g.co/doodle/b8nb2p","short_link":"//g.co/doodle/b8nb2p","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"alternate_url":"https://lh3.googleusercontent.com/s5LYQ5koym8Ha2dWFmnFwa0Y8vuGdQtwWtmLQbuawBVc_bIOe1Xo6DBVmIxHPao0P4apoMKxZo4_2OEizgouSjOLlyN0Uf-AZ-Qdn73sOQ","height":44,"image_id":6192449487634432,"image_name":"Small","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-s.png","width":120},"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop0_fp.json b/components/test/data/search_provider_logos/ddljson_desktop0_fp.json
index d70ffee5..811afa1 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop0_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop0_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Tama\u0027s 18th Birthday","doodle_type":"SIMPLE","fingerprint":"735c8999","gallery_url":"http://www.google.com/doodles/tamas-18th-birthday","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/wyeF_2wwEDE_ln_ZBDbWYHMFkfhFCHZuXG68UBqCrJEMdHmzG7bOuVJFfKYfK96FgpyO98XDNdkko4vEoXC2EpZYu_HA7jtQd7N9fPmc","height":200,"image_id":6291066231717888,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616.2-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:22,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Tama\u0027s 18th birthday! #GoogleDoodle\nhttps://g.co/doodle/mzbmtf","short_link":"//g.co/doodle/mzbmtf","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":6009591255007232,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616-sr.png","width":95},"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Mary G. Ross\u0027 110th birthday","doodle_type":"SIMPLE","fingerprint":"151314e7","gallery_url":"http://www.google.com/doodles/mary-g-ross-110th-birthday?hl\u003den","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/4WMMyZBIzhWnJi-lfknABhr9C0wdLV3LHhoOSxVJEX0ml6i8KxAfBs5lYvVgqeJ2QtDDm5ARqzOjXxOP0tRgHsAAl427PNU9rjcpshQ","height":200,"image_id":5629499534213120,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:22,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Mary G. Ross\u0027 110th birthday! #GoogleDoodle\nhttps://g.co/doodle/b8nb2p","short_link":"//g.co/doodle/b8nb2p","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"alternate_url":"https://lh3.googleusercontent.com/s5LYQ5koym8Ha2dWFmnFwa0Y8vuGdQtwWtmLQbuawBVc_bIOe1Xo6DBVmIxHPao0P4apoMKxZo4_2OEizgouSjOLlyN0Uf-AZ-Qdn73sOQ","height":44,"image_id":6192449487634432,"image_name":"Small","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-s.png","width":120},"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop1.json b/components/test/data/search_provider_logos/ddljson_desktop1.json
index 703abab..a456c45 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop1.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop1.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Gilbert Baker\u0027s 66th birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAADICAMAAACJWIs0AAAAA3NCSVQICAjb4U/gAAAC/VBMVEUAWs3sIXKzPpzz3rP/QrW0xdzf4ee1zrVPSbz/W8Cypc7fOJa1vLTewLXuvbzrR5qytrPk4sMAYte13ue+1LzjtbP2/PeWRK7rtcLiyMHg3trosLDuMnocbNz+z7MAWt745eY8ZdzRzMHvx72lYK34MpS+4uMDaeSzz+7tg6mxmNHmNIzyl8bzerjh0rftcKb9u9e9v7r/0O6MdcfDsd7u49v777y11rX70ObgVZggVdCw0sn69+3svNV2Tbr3tbXDjs/i6/D/37TzxtnuNInUN43zts203e3QmNb/M5m9vsbyjMBLft3uMZXB6++0ecAAW+cAY+YAbPfR1db+5b72zbTlys7VjtHF1sPvKnvCs7pqUMD0/f70QofSyNzvv7W13rTqXKXFwNPv7/Gz1uDlfb/qZ7L19trGxLqoRK3psLP35rT3OKP28sj85PH2R6e/zrXYY6L39/cAVNbMzMz54bzB1eBrg9csZOP41r7Ov8zvtbX5p9nrvcq25++1vcL3tdfQ4O/1MnzCcrbR3+De594AbvC0zuWMSLLg1tG9v87/57ZPWs3OxNhOXde4Rqezz9Tn7+f6VZW/zeDvO5W82Li1w9QAd/ru0bbFxM3x09vwKXPvt87SgsPUsbTTxLWLitf2M4v/7sjMX6j////77/Tw9/P+iMkZXt215ef6Va7Ez8+/3r37ybD+9/j+fcji0b73wLXl9/Y8UMb/1rQAZN6wxc7+bb7FxdbDwcX27rXUPqDyTIx1WMjNwNXnOJP55tz+/vTT2s74NpTu4sMeburFZq731bTFvs78TpnU39ULfPj2b6MAY+/5OZ3S1sX/9NkAWtby2cj348j5a7YvVc/S8fXT0LW73LfT1uFoX8z/58i3z97/Oab/RavyysnExt3kNoziytmzvs6zvtWNV8DylbFagdoJbu/2vb/nwLMrdd/+V7X+m9YQaeL57+bl6NxSVMdQcdi/1c33vNXwWpW1xbS019W1tr3h0MPAPJv8uNXo6Ob2YJmz1O9NfvOhAAAA/3RSTlP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j5KxIAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAIABJREFUeJztnQlc1HX+/yUP6iGgKUwyS4GY0q5Hoj+QVZT1qFYSYzgMMyQdUlRAG8EkRHNyUHRNSZQBEsKF8aoxD0pCBQddbIRRwDSP0dV+/TQswFIUG/fx/1zfcw5g5jvan+W1GwzDOAw8531+3p/Pt1tRlzqfuj3pF9AlO6iLamdUF9XOqC6qnVFdVDujuqh2RnVRfTJS2/XZu6h2RnVRfTLqstUudVRdVDujuqh2RnVR7YzqotoZ1UW1M6qLamdUF9XOqC6qnVFdVDujuqh2RnVR7YzqoiqYVFKDwZApetIvA+oJUlXLiovtu3RhNxm9bFWmVuPqCBV1JkqjUKmeLNwnRVUt9ZsMlJvrVVxcLBP86UWit98W/EnN/jCZxpEvjULxBME+IaqGGTM+/f33kViTJ/sZpAKRfVulUr194Pz03dOHDFEJ85QmxHpmlVQR5ToGyAhsVJRCqrLfa7CkJ0JVlOGe9umnBOrvQHeB0RpscsciYJ0HJk48P2TI7t0rd78GFBs7UbAXzP9hmJVIlqnVAr87xiRULFctklgrblbJRI/LfJ8IVYM7pHoXCHG9SzQ5sViqVneILUR5fvqQ6cAyV67cDbQSfXoNYbUbVZmoSJaZqXV1RUY6xhJVNmAgjSLTxC8h+At8ElRlGe4DBnyKsRK9CoTATg4I8PJKtIxWBK1FNfHAgfPnpyOULAGaFNX7a+z0+jMN2iiYGr3zzhiu2ibr6NgSZeD/OiZA26gnQdVvRhowVSQ2VcwVkp0ckOuV6JUI8ygTeFVDAM3pQ9gs+2Ox2QJbHWKPFy8zaB1dHccYiU/PPOQWDdc4+ZQF0BOgKp1x91NGd2Fc/f1VWr9T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","cta_log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:21,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"b2d3e5e8","gallery_url":"http://www.google.com/doodles/gilbert-bakers-66th-birthday","header_layout":"LEGACY","id":37727880,"intent":"BUILTIN","large_cta_image":{"height":200,"image_id":4817033455730688,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.2-scta.png","width":469},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/zCtRFJP-Rz8iKp1XXnazo9vWr2YMBb-vEzhr1C3-QfEQpEhzMyajvLqSMDS6wPpOEImC7RdfdwxiI9ofoKahlSCu5HJ65bc0lIeHyHs0","height":200,"image_id":5661458385862656,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.8-law.gif","width":469},"log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:22,type:1,cta:0","search_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480","share_text":"Gilbert Baker\u0027s 66th birthday\nhttps://g.co/doodle/2ythp4","short_link":"//g.co/doodle/2ythp4","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":4785074604081152,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480-sr.png","width":95},"target_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Prayoon Yomyiam\u0027s 85th Birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbIAAADZCAMAAABy6UUDAAADAFBMVEVHcEyVmXmjmnp9jXpscYJpaYJhgH9Lln5UhHtCh3ZxdYKYm3mMm3uTmnqdm3l8mn2EknZscINpaYJsZoJViIFKmX9Mln9RmIFqn4J6pn9ZmH9bgYFraIJqa4Jfe4FjcIFSj4BPk39pa4NXeHxCh3ZYinVmbIJqjXZzj3Z8kXWDg3xpZ4Nydn6Ok3aflXWKinqXk3WkmXZwcIFpaoNIg3c+iHVNiXVhjHZec35QfnpmhHyrm3Z4d4BnZoJkd4Jufnt1gnx6iHpqbIJ/e3+Dmnxrcn5imH5ocYJrboNra4NjZYGIqn50mX23n3hsmH1wdoNuc4NuaYRtcYN+fot1cItybolvbYafo4Tv0sbXtq6KkJVxdYOMoIPuyLP/6dZ4co5pan5sbIVnanhgYG1YXWNPT1FKSkpISEhtYFiwlqHBuapWVlp7bmD/48VCREWShIajjKN8oolvkptxeYuSqY+7naiAqZOUvJ95gZWer6E6g3Kqya2Sn55mpZFKiX1goYxBjXu81LhuqJahwKZvdIeIs5t2rppYnIdflo5ZiYiqqo+xtZ1qh5E/lYVhiI2DeZc7oZJ1hp1yfpF8dJF/d5SstLd0jp6Lfp5olJV6hKKLtqyokK97jKSSgqWHfJuPgKHMqazlvqyYhqhwhpj/1rX/3b7/38P/2rr/4MZ+saPSs5j5zbD/4sn/7b3/5MyEiKqhhNerf/DFk/PftOFbUUrQsYWOdmVloMSxgf+2gv+ufv3yypf/2p7hv5W6hf//1pz805qylr2eiq//5dB7rc6CYcmYc9pqUbAmJmaje+eSeMS/ppQjJGI+NYCojoUrKWtUQ5h8nLv8zZT8xoz4v4jvrod4jaH4r4XTn4SEdK2/lH92b5bzrXjkrY7olGzacF3rpHSZtMGrgmv/tId3la/Yjnz+sIH/5LD/wHr/uXD/vm7/vHH9rmrrj1X1oGB6tNiNtMyAs9SBttdspchzqs1emr+/YHXPd3jGanfBZHZyjpx+h6f5wpHBZHZKSktdmr/AOsn2AAABAHRSTlMAZVx8jpGZr6a5if//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////iHw/gbCdEjKUIQAAZf5JREFUeAHs0FWCRSEMA9Bh0qSF/e/3uvvns4O7/L2hnzT57xKQYJzJO4KabNsdq841H0nuwVnkYIFgNHRHNqE5u3CiHJE7UnCj6+9KXioAumdN+jq4o+5+4Q1eUPiKSHbFI+EhI9F/csN4ZrxzMqImtDwXE8SeKP6vnwTC0ixcBHu5UoVENBBsqVvf/2X2XK64mKITuxOc4TfnDJf1cmQNQRQbIu4NScKDIN4J8i/KOVRNNxDNVrujm6T61NI6+FA3u7phE+VrqAr/N83Re31T17vq+ZvBcDRWJtPZnC5c1/X8IPTcIMTLiCo8luNhbA+T4XCY3D/cXx6frIYsbHWVpEvlSvTXdwLrDG2F4YZFiGcplBruI80uUkkXRRLVRMW9MVG+CUKI3XV04xw9A2+6RFHznt7LVeVWEBu9PCmUFoEru7NisZVlf5d9m0sjr4ww9JVsH85rWWdkANaQ0BvuYShJwkE4rOn5x/q81Fa71XTyc0OdEplm6o71XYc2/6eu4ujOGF3tSPXVeDhcqU+jh2J5nHkemG1QWhR4gTw7nn80TuwUyMBs9HxJhgySYTxMVuogSa+dKfLyfHcAMnQGZhU0vBLEUJQLi9bnC8jGHJnx8g0yolqmY+g1YobGAGKEiZobjPctZMs0iW1K6EJ2i/HyeJy7s6k729PvcrN56HlBgKL9DK/33yCrguksLEdREO7W4yqtbAXRbrd0rWoib3GVabpGvnaYa2wI0QsZA2uu69o/IkuTAXmdTiYv1He9wMfPYY7o3HMxdm+nFkiarAZJHDOZPY8uZNaPS5Q2O85VZHbnwJEhKqUhyleisH2lF8gMmyP77uyTvunUefXwRte6Pfa4IwQ6024SGyepslRodzIrovnTbCqFs8DzgOO7ZPhOyETGTowfRvQrMlGsmEnQGEZRhNJgjtX523XKep/bsMacXCDratzy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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:21,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"9eefd996","gallery_url":"http://www.google.com/doodles/prayoon-yomyiams-85th-birthday?hl\u003den","header_layout":"LEGACY","id":69128162,"iframe_height_px":217,"iframe_width_px":434,"intent":"BUILTIN","large_cta_image":{"height":217,"image_id":4905660105883648,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-scta.png","width":434},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/RMr0-ruAIq-5Z5He0s8p8tmIsP_GVONwIDEEiOWtzOeFLQ9xsM9JluujPSmpokDR_bDlo-oNzuyMZQmjb3p_gJEijB3QJmaEte_XJDW0nA","height":215,"image_id":5750085036015616,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904-law.gif","width":430},"log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:22,type:1,cta:0","search_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den","share_text":"Prayoon Yomyiam\u0027s 85th Birthday #GoogleDoodle\nhttps://g.co/doodle/2645d6","short_link":"//g.co/doodle/2645d6","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"alternate_url":"https://lh3.googleusercontent.com/igEwLwnO_9Va2HJmM2Wy5RhsM2IhFIW4VFj7GCDvk2Yhs3qm-gEh4Bk9gBKaU46OQ7-_I2tufgYS_VbXqX37v_vgOY3MobKegc5Vt90","height":44,"image_id":6192449487634432,"image_name":"Small","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-s.png","width":120},"target_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop1_fp.json b/components/test/data/search_provider_logos/ddljson_desktop1_fp.json
index 50465fba..5805e03 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop1_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop1_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Gilbert Baker\u0027s 66th birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:21,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"b2d3e5e8","gallery_url":"http://www.google.com/doodles/gilbert-bakers-66th-birthday","header_layout":"LEGACY","id":37727880,"intent":"BUILTIN","large_cta_image":{"height":200,"image_id":4817033455730688,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.2-scta.png","width":469},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/zCtRFJP-Rz8iKp1XXnazo9vWr2YMBb-vEzhr1C3-QfEQpEhzMyajvLqSMDS6wPpOEImC7RdfdwxiI9ofoKahlSCu5HJ65bc0lIeHyHs0","height":200,"image_id":5661458385862656,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.8-law.gif","width":469},"log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:22,type:1,cta:0","search_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480","share_text":"Gilbert Baker\u0027s 66th birthday\nhttps://g.co/doodle/2ythp4","short_link":"//g.co/doodle/2ythp4","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":4785074604081152,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480-sr.png","width":95},"target_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Prayoon Yomyiam\u0027s 85th Birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:21,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"9eefd996","gallery_url":"http://www.google.com/doodles/prayoon-yomyiams-85th-birthday?hl\u003den","header_layout":"LEGACY","id":69128162,"iframe_height_px":217,"iframe_width_px":434,"intent":"BUILTIN","large_cta_image":{"height":217,"image_id":4905660105883648,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-scta.png","width":434},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/RMr0-ruAIq-5Z5He0s8p8tmIsP_GVONwIDEEiOWtzOeFLQ9xsM9JluujPSmpokDR_bDlo-oNzuyMZQmjb3p_gJEijB3QJmaEte_XJDW0nA","height":215,"image_id":5750085036015616,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904-law.gif","width":430},"log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:22,type:1,cta:0","search_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den","share_text":"Prayoon Yomyiam\u0027s 85th Birthday #GoogleDoodle\nhttps://g.co/doodle/2645d6","short_link":"//g.co/doodle/2645d6","show_now_header_search_affordance":false,"show_now_header_share_button":true,"small_image":{"alternate_url":"https://lh3.googleusercontent.com/igEwLwnO_9Va2HJmM2Wy5RhsM2IhFIW4VFj7GCDvk2Yhs3qm-gEh4Bk9gBKaU46OQ7-_I2tufgYS_VbXqX37v_vgOY3MobKegc5Vt90","height":44,"image_id":6192449487634432,"image_name":"Small","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-s.png","width":120},"target_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop2.json b/components/test/data/search_provider_logos/ddljson_desktop2.json
index 8710b58b..873f664c 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop2.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop2.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Happy Halloween!","cta_data_uri":"data:image/png;base64,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","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:21,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:230px;outline:none;overflow:hidden;position:relative;width:408px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#fpdoodle #hplogo{height:360px;width:640px}#hplogo canvas{background:url(/logos/2016/halloween16/cta_bg.png) no-repeat center;background-size:contain;height:100%;width:100%}#dood #hplogo canvas{background:url(/logos/2016/halloween16/ntp_bg.jpg) no-repeat;background-size:contain;cursor:pointer;height:100%;width:100%}#fpdoodle,#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Happy Halloween!\" dir\u003d\"ltr\"\u003e\u003ccanvas width\u003d640 height\u003d360 dir\u003d\"ltr\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\";google.doodle.alt\u003d\"Happy Halloween!\";google.doodle.share\u003d\"Happy Halloween 2016! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/vu3nqy\";google.doodle.gallery\u003d\"http://www.google.com/doodles/halloween-2016?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{\"Continue\":\"Continue\",\"End Screen - New Game\":\"New Game\",\"End Screen - Replay\":\"Replay\",\"Found A Spell\":\"You found a spell!\",\"Found A Spell Tutorial\":\"Draw the magic symbol\",\"Game Over\":\"Game Over\",\"Happy Halloween!\":\"Happy Halloween!\",\"High Score\":\"High Score\",\"Level Complete\":\"Congrats!\",\"Level Start - Draw!\":\"Draw!\",\"Level Start - Level 1\":\"Level 1\",\"Level Start - Level 2\":\"Level 2\",\"Level Start - Level 3\":\"Level 3\",\"Level Start - Level 4\":\"Level 4\",\"Level Start - Level 5\":\"Level 5\",\"Level Start - Ready\":\"Ready\",\"Level Start - Set\":\"Set\",\"Score\":\"Score\",\"Search - Halloween\":\"Halloween\",\"Search - Icon\":\"Search\",\"Share\":\"Share\",\"Share - E-mail\":\"E-mail\",\"Share - Facebook\":\"Share on Facebook\",\"Share - G+\":\"Share on G+\",\"Share - Twitter\":\"Share on Twitter\",\"Share Message\":\"Swipe away \\ud83d\\udc7b\\ud83d\\udc7b\\ud83d\\udc7b  in this #Halloween #GoogleDoodle Score: [POINTS]\",\"Tutorial\":\"Defeat a ghost by drawing its symbol anywhere\"}; google.doodle.doodle_args\u003d{};if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2016/halloween16/halloween16.2.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:22,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-res.png","width":95},"target_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Happy Halloween!","cta_data_uri":"data:image/png;base64,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","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:21,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"iframe_height_px":230,"iframe_width_px":460,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:230px;outline:none;overflow:hidden;position:relative;width:408px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#fpdoodle #hplogo{height:360px;width:640px}#hplogo canvas{background:url(/logos/2016/halloween16/cta_bg.png) no-repeat center;background-size:contain;height:100%;width:100%}#dood #hplogo canvas{background:url(/logos/2016/halloween16/ntp_bg.jpg) no-repeat;background-size:contain;cursor:pointer;height:100%;width:100%}#fpdoodle,#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Happy Halloween!\" dir\u003d\"ltr\"\u003e\u003ccanvas width\u003d640 height\u003d360 dir\u003d\"ltr\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\";google.doodle.alt\u003d\"Happy Halloween!\";google.doodle.share\u003d\"Happy Halloween 2016! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/vu3nqy\";google.doodle.gallery\u003d\"http://www.google.com/doodles/halloween-2016?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{\"Continue\":\"Continue\",\"End Screen - New Game\":\"New Game\",\"End Screen - Replay\":\"Replay\",\"Found A Spell\":\"You found a spell!\",\"Found A Spell Tutorial\":\"Draw the magic symbol\",\"Game Over\":\"Game Over\",\"Happy Halloween!\":\"Happy Halloween!\",\"High Score\":\"High Score\",\"Level Complete\":\"Congrats!\",\"Level Start - Draw!\":\"Draw!\",\"Level Start - Level 1\":\"Level 1\",\"Level Start - Level 2\":\"Level 2\",\"Level Start - Level 3\":\"Level 3\",\"Level Start - Level 4\":\"Level 4\",\"Level Start - Level 5\":\"Level 5\",\"Level Start - Ready\":\"Ready\",\"Level Start - Set\":\"Set\",\"Score\":\"Score\",\"Search - Halloween\":\"Halloween\",\"Search - Icon\":\"Search\",\"Share\":\"Share\",\"Share - E-mail\":\"E-mail\",\"Share - Facebook\":\"Share on Facebook\",\"Share - G+\":\"Share on G+\",\"Share - Twitter\":\"Share on Twitter\",\"Share Message\":\"Swipe away \\ud83d\\udc7b\\ud83d\\udc7b\\ud83d\\udc7b  in this #Halloween #GoogleDoodle Score: [POINTS]\",\"Tutorial\":\"Defeat a ghost by drawing its symbol anywhere\"}; google.doodle.doodle_args\u003d{};if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2016/halloween16/halloween16.2.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:22,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-res.png","width":95},"target_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop2_fp.json b/components/test/data/search_provider_logos/ddljson_desktop2_fp.json
index 32ff6e7..084810ea 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop2_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop2_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Happy Halloween!","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:21,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:230px;outline:none;overflow:hidden;position:relative;width:408px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#fpdoodle #hplogo{height:360px;width:640px}#hplogo canvas{background:url(/logos/2016/halloween16/cta_bg.png) no-repeat center;background-size:contain;height:100%;width:100%}#dood #hplogo canvas{background:url(/logos/2016/halloween16/ntp_bg.jpg) no-repeat;background-size:contain;cursor:pointer;height:100%;width:100%}#fpdoodle,#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Happy Halloween!\" dir\u003d\"ltr\"\u003e\u003ccanvas width\u003d640 height\u003d360 dir\u003d\"ltr\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\";google.doodle.alt\u003d\"Happy Halloween!\";google.doodle.share\u003d\"Happy Halloween 2016! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/vu3nqy\";google.doodle.gallery\u003d\"http://www.google.com/doodles/halloween-2016?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{\"Continue\":\"Continue\",\"End Screen - New Game\":\"New Game\",\"End Screen - Replay\":\"Replay\",\"Found A Spell\":\"You found a spell!\",\"Found A Spell Tutorial\":\"Draw the magic symbol\",\"Game Over\":\"Game Over\",\"Happy Halloween!\":\"Happy Halloween!\",\"High Score\":\"High Score\",\"Level Complete\":\"Congrats!\",\"Level Start - Draw!\":\"Draw!\",\"Level Start - Level 1\":\"Level 1\",\"Level Start - Level 2\":\"Level 2\",\"Level Start - Level 3\":\"Level 3\",\"Level Start - Level 4\":\"Level 4\",\"Level Start - Level 5\":\"Level 5\",\"Level Start - Ready\":\"Ready\",\"Level Start - Set\":\"Set\",\"Score\":\"Score\",\"Search - Halloween\":\"Halloween\",\"Search - Icon\":\"Search\",\"Share\":\"Share\",\"Share - E-mail\":\"E-mail\",\"Share - Facebook\":\"Share on Facebook\",\"Share - G+\":\"Share on G+\",\"Share - Twitter\":\"Share on Twitter\",\"Share Message\":\"Swipe away \\ud83d\\udc7b\\ud83d\\udc7b\\ud83d\\udc7b  in this #Halloween #GoogleDoodle Score: [POINTS]\",\"Tutorial\":\"Defeat a ghost by drawing its symbol anywhere\"}; google.doodle.doodle_args\u003d{};if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2016/halloween16/halloween16.2.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:22,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-res.png","width":95},"target_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Happy Halloween!","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:21,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"iframe_height_px":230,"iframe_width_px":460,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:230px;outline:none;overflow:hidden;position:relative;width:408px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#fpdoodle #hplogo{height:360px;width:640px}#hplogo canvas{background:url(/logos/2016/halloween16/cta_bg.png) no-repeat center;background-size:contain;height:100%;width:100%}#dood #hplogo canvas{background:url(/logos/2016/halloween16/ntp_bg.jpg) no-repeat;background-size:contain;cursor:pointer;height:100%;width:100%}#fpdoodle,#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Happy Halloween!\" dir\u003d\"ltr\"\u003e\u003ccanvas width\u003d640 height\u003d360 dir\u003d\"ltr\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\";google.doodle.alt\u003d\"Happy Halloween!\";google.doodle.share\u003d\"Happy Halloween 2016! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/vu3nqy\";google.doodle.gallery\u003d\"http://www.google.com/doodles/halloween-2016?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{\"Continue\":\"Continue\",\"End Screen - New Game\":\"New Game\",\"End Screen - Replay\":\"Replay\",\"Found A Spell\":\"You found a spell!\",\"Found A Spell Tutorial\":\"Draw the magic symbol\",\"Game Over\":\"Game Over\",\"Happy Halloween!\":\"Happy Halloween!\",\"High Score\":\"High Score\",\"Level Complete\":\"Congrats!\",\"Level Start - Draw!\":\"Draw!\",\"Level Start - Level 1\":\"Level 1\",\"Level Start - Level 2\":\"Level 2\",\"Level Start - Level 3\":\"Level 3\",\"Level Start - Level 4\":\"Level 4\",\"Level Start - Level 5\":\"Level 5\",\"Level Start - Ready\":\"Ready\",\"Level Start - Set\":\"Set\",\"Score\":\"Score\",\"Search - Halloween\":\"Halloween\",\"Search - Icon\":\"Search\",\"Share\":\"Share\",\"Share - E-mail\":\"E-mail\",\"Share - Facebook\":\"Share on Facebook\",\"Share - G+\":\"Share on G+\",\"Share - Twitter\":\"Share on Twitter\",\"Share Message\":\"Swipe away \\ud83d\\udc7b\\ud83d\\udc7b\\ud83d\\udc7b  in this #Halloween #GoogleDoodle Score: [POINTS]\",\"Tutorial\":\"Defeat a ghost by drawing its symbol anywhere\"}; google.doodle.doodle_args\u003d{};if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2016/halloween16/halloween16.2.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:22,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-res.png","width":95},"target_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop3.json b/components/test/data/search_provider_logos/ddljson_desktop3.json
index 3722b03f..8e270ce 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop3.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop3.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAADmCAMAAAAweAhcAAAAA3NCSVQICAjb4U/gAAADAFBMVEX/////1hD/zhD2xg+UhCqMey4pMUj/1hD/zhCUhCr/zhCchSn/1hD/zhC1myH/2Qj/zhC1myH/2Qj/zhAiLUn/2Qj/zhD/2Qj/zhC+pR//2Qj/zhDctxgiLUn/zhD/zhApMUj/2Qj/1hD/zhDvxRI8QkI4OkAyOUIvNUYpMUgiLUn/1hD/zhD2xg9KSkBFSEAyOUIvNUYpMUgiLUn/2Qj/1hD/zhD3zhBSUjsyOUIvNUYpMUgAAAD////1+Pj//5nu7u7j4+PM6+G86di26tb/5hKt58//3hH/3gm03c7/2Qio3sz/1hCl3cbMzMz/zhCn1sX3zhDmzj6c1cTvzhCd1L/Ew8P2xg+fzr7vxRKUz72RzrfnwQ+YyLqzvL3mvRaTxbSdwrjevhiLxbWxtrTctxiJv7OLvq6jtbSUu7DWtRmEvq3MtD57vaelra7Urg6JtavPrRmcrayFtaW7rVDHrBt6taicqKucpafGph6JqqWop2KVo6W+pR+EqZtwrpx2rKN6qZy7nSGZmZmYoFpspZxupZR/oZS1myGMm5xjp5ODnZuZmWa5mAyUlJSjl0StlCOElJV7m2ttmZNlnI1hnJSwkgt6lJSnkSVxloeCkoWHjpCljSdbmYl7jI6ejChlko10jIxTlIVokW1hj4SEhISlhwuchSlyhouIhlFTjopWjoNzhISUhCqdggptg4VMiYV3fH2PfSxbhH9pfoeMey58e1ZJhIFSg3tWgnCReAloeHtCg3Zxc3SEczBOe3Z8cjFAfHFicXNPc3J6bDJobV2DbAl0ajNZamxmZmY4cmpBb2xQaWVpYjllYzlgYWFPY2t1YAg8aGEzZmZiWzlbWTlNWGNOWFNoVgdZVDtLVVtSUjs+VFkrV1NKSkBNSjlYSgZBSVBFSEBCQkIgS0c8QkI6QkonRkQ4PklKPQU4OkA8PCU1OjsyOUIxOUkvNUYzMzM+MgQoMzgpMUgiLUkmKjE0KQMhJSooIAIaHSEVGRkdGAIWEAEPEBMICAgAAACHvmIfAAABAHRSTlMAERERERERIiIiMzNERERVVVVmZmZ3d4iIiJmZmZmqu7vMzMzMzMzMzMzM3d3d3d3d3d3d7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xmmAmwAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7H0PQFTnlS9Nmjw3fem2W19es2n+dJvsbtO0291m3WarWa2GjMMgzI4EZgAHGQFlKhUogxgQJAsBbVOIUsnKHzFmmdVhR1GqFoOKbDExaGpAiyRYIGOn93nnWq+uq1v1nfP9u98Mg7G7b1/2vfINcGeGO3fu/c73O+d3zne+c2Niptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SbbtNtuk236Tbdptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SLbHfxJzMe+tJDMyLfnG4fW/v8V7/6OfLkrkcTEhIeJSKZ8chTX7r/Yz2r3+V2/wNEIA8kgzw+Q95IwEYE8oWEhOSnET4zHvjcjNscY7r9J7TPgRQeuTsm5vFkc3LCQ/jOfxeSuZs8A8HdPysh4UvTovm/1O66D7v6rqeg75NBDI+gEP4H+c8jFovlEXxy9xet8OZ/Z//8PL5137R8/rPbfU8lzAI03DULO/0PQApftVge/+S99947857PfqHmC5/9vZn33hsz86vmWSiQP8KdHkITlJz80DQp+M9tX8XOvi8m5iFzgvlLn4y5d+anTvQ98adfV4LPKH+t67qmPxN4ZvZj3+z52u/NjImZ+bQ5wQLY+Xwy1W7T7T+lzcBBfzealYTfh2cPfrfkazNnjwUv63pIVYKqElJJg2faBV1XLj8ze/bMf8p//NOwL7K2hEfEQabb/8l210OzngIFddcXoY+f/nTMzJmPfT0E8ggSUbBNSMG34Ie8o4S0C98K/cnDM++95wEzxcyMR2c99ZmP+0r+f2ufT6Ds+L7H/9L+4MOzr19FiCBOgkQK+Ajic7Lh0oJf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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:21,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:220px;margin:auto;position:relative;text-align:center;width:391px}#hplogop{cursor:pointer}#hplogoy{left:0;overflow:hidden;position:absolute}#hplogo,#hplogoy{outline:none;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoy,#hplogoyt{height:100%;width:100%}#hplogo\u003ediv{direction:ltr}.hplogoytb{opacity:0.8}.hplogoytb:active{margin:1px}#hplogose,#hplogosh{cursor:pointer;opacity:0.6}.hplogoytb:hover,#hplogose:hover,#hplogosh:hover{opacity:1}#hplogose:active,#hplogosh:active{margin:1px;opacity:1}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Hedy Lamarr\u0026#39;s 101st birthday\"\u003e\u003cdiv id\u003d\"hplogoy\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\";google.doodle.alt\u003d\"Hedy Lamarr\\\u0027s 101st birthday\";google.doodle.shortlink\u003d\"//g.co/doodle/pzx7av\";google.doodle.gallery\u003d\"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.id\u003d\"24101651\"; google.doodle.video\u003d{ytid:\"Z0gu2QhV1dc\",height:parseInt(\"220\",10),width:parseInt(\"391\",10),animatedcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vacta.gif\",staticcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-vscta.png\",play:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vpb.png\",playheight:parseInt(\"220\",10),playwidth:parseInt(\"391\",10)}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2014/simplevideo/simplevideo14.9.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:22,type:1,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-res.png","width":95},"target_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAADmCAMAAAAweAhcAAAAA3NCSVQICAjb4U/gAAADAFBMVEX/////1hD/zhD2xg+UhCqMey4pMUj/1hD/zhCUhCr/zhCchSn/1hD/zhC1myH/2Qj/zhC1myH/2Qj/zhAiLUn/2Qj/zhD/2Qj/zhC+pR//2Qj/zhDctxgiLUn/zhD/zhApMUj/2Qj/1hD/zhDvxRI8QkI4OkAyOUIvNUYpMUgiLUn/1hD/zhD2xg9KSkBFSEAyOUIvNUYpMUgiLUn/2Qj/1hD/zhD3zhBSUjsyOUIvNUYpMUgAAAD////1+Pj//5nu7u7j4+PM6+G86di26tb/5hKt58//3hH/3gm03c7/2Qio3sz/1hCl3cbMzMz/zhCn1sX3zhDmzj6c1cTvzhCd1L/Ew8P2xg+fzr7vxRKUz72RzrfnwQ+YyLqzvL3mvRaTxbSdwrjevhiLxbWxtrTctxiJv7OLvq6jtbSUu7DWtRmEvq3MtD57vaelra7Urg6JtavPrRmcrayFtaW7rVDHrBt6taicqKucpafGph6JqqWop2KVo6W+pR+EqZtwrpx2rKN6qZy7nSGZmZmYoFpspZxupZR/oZS1myGMm5xjp5ODnZuZmWa5mAyUlJSjl0StlCOElJV7m2ttmZNlnI1hnJSwkgt6lJSnkSVxloeCkoWHjpCljSdbmYl7jI6ejChlko10jIxTlIVokW1hj4SEhISlhwuchSlyhouIhlFTjopWjoNzhISUhCqdggptg4VMiYV3fH2PfSxbhH9pfoeMey58e1ZJhIFSg3tWgnCReAloeHtCg3Zxc3SEczBOe3Z8cjFAfHFicXNPc3J6bDJobV2DbAl0ajNZamxmZmY4cmpBb2xQaWVpYjllYzlgYWFPY2t1YAg8aGEzZmZiWzlbWTlNWGNOWFNoVgdZVDtLVVtSUjs+VFkrV1NKSkBNSjlYSgZBSVBFSEBCQkIgS0c8QkI6QkonRkQ4PklKPQU4OkA8PCU1OjsyOUIxOUkvNUYzMzM+MgQoMzgpMUgiLUkmKjE0KQMhJSooIAIaHSEVGRkdGAIWEAEPEBMICAgAAACHvmIfAAABAHRSTlMAERERERERIiIiMzNERERVVVVmZmZ3d4iIiJmZmZmqu7vMzMzMzMzMzMzM3d3d3d3d3d3d7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xmmAmwAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7H0PQFTnlS9Nmjw3fem2W19es2n+dJvsbtO0291m3WarWa2GjMMgzI4EZgAHGQFlKhUogxgQJAsBbVOIUsnKHzFmmdVhR1GqFoOKbDExaGpAiyRYIGOn93nnWq+uq1v1nfP9u98Mg7G7b1/2vfINcGeGO3fu/c73O+d3zne+c2Niptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SbbtNtuk236Tbdptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SLbHfxJzMe+tJDMyLfnG4fW/v8V7/6OfLkrkcTEhIeJSKZ8chTX7r/Yz2r3+V2/wNEIA8kgzw+Q95IwEYE8oWEhOSnET4zHvjcjNscY7r9J7TPgRQeuTsm5vFkc3LCQ/jOfxeSuZs8A8HdPysh4UvTovm/1O66D7v6rqeg75NBDI+gEP4H+c8jFovlEXxy9xet8OZ/Z//8PL5137R8/rPbfU8lzAI03DULO/0PQApftVge/+S99947857PfqHmC5/9vZn33hsz86vmWSiQP8KdHkITlJz80DQp+M9tX8XOvi8m5iFzgvlLn4y5d+anTvQ98adfV4LPKH+t67qmPxN4ZvZj3+z52u/NjImZ+bQ5wQLY+Xwy1W7T7T+lzcBBfzealYTfh2cPfrfkazNnjwUv63pIVYKqElJJg2faBV1XLj8ze/bMf8p//NOwL7K2hEfEQabb/8l210OzngIFddcXoY+f/nTMzJmPfT0E8ggSUbBNSMG34Ie8o4S0C98K/cnDM++95wEzxcyMR2c99ZmP+0r+f2ufT6Ds+L7H/9L+4MOzr19FiCBOgkQK+Ajic7Lh0oJf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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:21,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"iframe_height_px":230,"iframe_width_px":409,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:220px;margin:auto;position:relative;text-align:center;width:391px}#hplogop{cursor:pointer}#hplogoy{left:0;overflow:hidden;position:absolute}#hplogo,#hplogoy{outline:none;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoy,#hplogoyt{height:100%;width:100%}#hplogo\u003ediv{direction:ltr}.hplogoytb{opacity:0.8}.hplogoytb:active{margin:1px}#hplogose,#hplogosh{cursor:pointer;opacity:0.6}.hplogoytb:hover,#hplogose:hover,#hplogosh:hover{opacity:1}#hplogose:active,#hplogosh:active{margin:1px;opacity:1}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Hedy Lamarr\u0026#39;s 101st birthday\"\u003e\u003cdiv id\u003d\"hplogoy\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\";google.doodle.alt\u003d\"Hedy Lamarr\\\u0027s 101st birthday\";google.doodle.shortlink\u003d\"//g.co/doodle/pzx7av\";google.doodle.gallery\u003d\"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.id\u003d\"24101651\"; google.doodle.video\u003d{ytid:\"Z0gu2QhV1dc\",height:parseInt(\"220\",10),width:parseInt(\"391\",10),animatedcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vacta.gif\",staticcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-vscta.png\",play:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vpb.png\",playheight:parseInt(\"220\",10),playwidth:parseInt(\"391\",10)}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2014/simplevideo/simplevideo14.9.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:22,type:1,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-res.png","width":95},"target_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop3_fp.json b/components/test/data/search_provider_logos/ddljson_desktop3_fp.json
index 9dc9c0fea..a042f91 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop3_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop3_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:21,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:220px;margin:auto;position:relative;text-align:center;width:391px}#hplogop{cursor:pointer}#hplogoy{left:0;overflow:hidden;position:absolute}#hplogo,#hplogoy{outline:none;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoy,#hplogoyt{height:100%;width:100%}#hplogo\u003ediv{direction:ltr}.hplogoytb{opacity:0.8}.hplogoytb:active{margin:1px}#hplogose,#hplogosh{cursor:pointer;opacity:0.6}.hplogoytb:hover,#hplogose:hover,#hplogosh:hover{opacity:1}#hplogose:active,#hplogosh:active{margin:1px;opacity:1}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Hedy Lamarr\u0026#39;s 101st birthday\"\u003e\u003cdiv id\u003d\"hplogoy\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\";google.doodle.alt\u003d\"Hedy Lamarr\\\u0027s 101st birthday\";google.doodle.shortlink\u003d\"//g.co/doodle/pzx7av\";google.doodle.gallery\u003d\"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.id\u003d\"24101651\"; google.doodle.video\u003d{ytid:\"Z0gu2QhV1dc\",height:parseInt(\"220\",10),width:parseInt(\"391\",10),animatedcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vacta.gif\",staticcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-vscta.png\",play:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vpb.png\",playheight:parseInt(\"220\",10),playwidth:parseInt(\"391\",10)}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2014/simplevideo/simplevideo14.9.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:22,type:1,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-res.png","width":95},"target_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:21,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003\u0026ntp\u003d1","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"iframe_height_px":230,"iframe_width_px":409,"intent":"BUILTIN","interactive_html":"\u003cstyle\u003e#hplogo{height:220px;margin:auto;position:relative;text-align:center;width:391px}#hplogop{cursor:pointer}#hplogoy{left:0;overflow:hidden;position:absolute}#hplogo,#hplogoy{outline:none;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoy,#hplogoyt{height:100%;width:100%}#hplogo\u003ediv{direction:ltr}.hplogoytb{opacity:0.8}.hplogoytb:active{margin:1px}#hplogose,#hplogosh{cursor:pointer;opacity:0.6}.hplogoytb:hover,#hplogose:hover,#hplogosh:hover{opacity:1}#hplogose:active,#hplogosh:active{margin:1px;opacity:1}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"Hedy Lamarr\u0026#39;s 101st birthday\"\u003e\u003cdiv id\u003d\"hplogoy\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\";google.doodle.alt\u003d\"Hedy Lamarr\\\u0027s 101st birthday\";google.doodle.shortlink\u003d\"//g.co/doodle/pzx7av\";google.doodle.gallery\u003d\"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den\";google.doodle.large_image\u003d\"{{HOMEPAGE_IMAGE_URL}}\";google.doodle.id\u003d\"24101651\"; google.doodle.video\u003d{ytid:\"Z0gu2QhV1dc\",height:parseInt(\"220\",10),width:parseInt(\"391\",10),animatedcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vacta.gif\",staticcta:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-vscta.png\",play:\"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.3-vpb.png\",playheight:parseInt(\"220\",10),playwidth:parseInt(\"391\",10)}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2014/simplevideo/simplevideo14.9.js\";e.async\u003d!0;document.body.appendChild(e)};}).call(this);\u003c\/script\u003e","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":21,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":22,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:22,type:1,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5770237022568448,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.5-res.png","width":95},"target_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop4.json b/components/test/data/search_provider_logos/ddljson_desktop4.json
index 5fae51c..5209922 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop4.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop4.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","data_uri":"data:image/jpeg;base64,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\u003d\u003d","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004\u0026ntp\u003d1","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","interactive_html":"\u003cstyle\u003e#hplogo{cursor:pointer;height:225px;outline:none;overflow:hidden;position:relative;width:400px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoc{background:url(/logos/2015/ponyexpress/static.png) no-repeat}#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\"\u003e\u003ccanvas id\u003d\"hplogoc\" style\u003d\"height:100%;width:100%\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\";google.doodle.alt\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\";google.doodle.share\u003d\"Join the Pony Express to deliver 100 letters! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/7j375g\";google.doodle.gallery\u003d\"//www.google.com/doodles/155th-anniversary-of-the-pony-express\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{}; google.doodle.score\u003d{rate:1,time:1429254E6,total:972152E3}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}if(window.navigator\u0026\u0026window.navigator.userAgent\u0026\u0026-1\u003d\u003dwindow.navigator.userAgent.indexOf(\"Firefox\")){var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2015/ponyexpress/ponyexpress15-5.js\";e.async\u003d!0;document.body.appendChild(e)}else{var f\u003ddocument.getElementById(\"hplogoc\"); f\u0026\u0026(f.style.background\u003d\"url(/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg)\",f.style.cursor\u003d\"default\")}};}).call(this);\u003c\/script\u003e","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:22,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5910974510923776,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592-res.png","width":95},"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","data_uri":"data:image/jpeg;base64,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\u003d\u003d","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004\u0026ntp\u003d1","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","interactive_html":"\u003cstyle\u003e#hplogo{cursor:pointer;height:225px;outline:none;overflow:hidden;position:relative;width:400px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoc{background:url(/logos/2015/ponyexpress/static.png) no-repeat}#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\"\u003e\u003ccanvas id\u003d\"hplogoc\" style\u003d\"height:100%;width:100%\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\";google.doodle.alt\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\";google.doodle.share\u003d\"Join the Pony Express to deliver 100 letters! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/7j375g\";google.doodle.gallery\u003d\"//www.google.com/doodles/155th-anniversary-of-the-pony-express\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{}; google.doodle.score\u003d{rate:1,time:1429254E6,total:972152E3}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}if(window.navigator\u0026\u0026window.navigator.userAgent\u0026\u0026-1\u003d\u003dwindow.navigator.userAgent.indexOf(\"Firefox\")){var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2015/ponyexpress/ponyexpress15-5.js\";e.async\u003d!0;document.body.appendChild(e)}else{var f\u003ddocument.getElementById(\"hplogoc\"); f\u0026\u0026(f.style.background\u003d\"url(/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg)\",f.style.cursor\u003d\"default\")}};}).call(this);\u003c\/script\u003e","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:22,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5910974510923776,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592-res.png","width":95},"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_desktop4_fp.json b/components/test/data/search_provider_logos/ddljson_desktop4_fp.json
index 686f5509..34f9030 100644
--- a/components/test/data/search_provider_logos/ddljson_desktop4_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_desktop4_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004\u0026ntp\u003d1","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","interactive_html":"\u003cstyle\u003e#hplogo{cursor:pointer;height:225px;outline:none;overflow:hidden;position:relative;width:400px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoc{background:url(/logos/2015/ponyexpress/static.png) no-repeat}#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\"\u003e\u003ccanvas id\u003d\"hplogoc\" style\u003d\"height:100%;width:100%\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\";google.doodle.alt\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\";google.doodle.share\u003d\"Join the Pony Express to deliver 100 letters! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/7j375g\";google.doodle.gallery\u003d\"//www.google.com/doodles/155th-anniversary-of-the-pony-express\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{}; google.doodle.score\u003d{rate:1,time:1429254E6,total:972152E3}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}if(window.navigator\u0026\u0026window.navigator.userAgent\u0026\u0026-1\u003d\u003dwindow.navigator.userAgent.indexOf(\"Firefox\")){var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2015/ponyexpress/ponyexpress15-5.js\";e.async\u003d!0;document.body.appendChild(e)}else{var f\u003ddocument.getElementById(\"hplogoc\"); f\u0026\u0026(f.style.background\u003d\"url(/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg)\",f.style.cursor\u003d\"default\")}};}).call(this);\u003c\/script\u003e","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:22,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5910974510923776,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592-res.png","width":95},"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004\u0026ntp\u003d1","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","interactive_html":"\u003cstyle\u003e#hplogo{cursor:pointer;height:225px;outline:none;overflow:hidden;position:relative;width:400px;-moz-user-select:-moz-none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none}#hplogoc{background:url(/logos/2015/ponyexpress/static.png) no-repeat}#sadoodle{background:#000}\u003c\/style\u003e\u003cdiv id\u003d\"hplogo\" tabindex\u003d\"0\" title\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\"\u003e\u003ccanvas id\u003d\"hplogoc\" style\u003d\"height:100%;width:100%\"\u003e\u003c\/canvas\u003e\u003c\/div\u003e\u003cscript\u003e(function(){window.google||(window.google\u003d{});google.doodle||(google.doodle\u003d{});google.doodle.url\u003d\"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\";google.doodle.alt\u003d\"155th Anniversary of the Pony Express (Test Interactive Doodle)\";google.doodle.share\u003d\"Join the Pony Express to deliver 100 letters! #GoogleDoodle\";google.doodle.shortlink\u003d\"//g.co/doodle/7j375g\";google.doodle.gallery\u003d\"//www.google.com/doodles/155th-anniversary-of-the-pony-express\";google.doodle.hl\u003d\"en\";google.doodle.msgs\u003d{}; google.doodle.score\u003d{rate:1,time:1429254E6,total:972152E3}; if(!google.doodle||!google.doodle.loaded){var a\u003d[\"google\",\"doodle\",\"loaded\"],b\u003dthis;a[0]in b||!b.execScript||b.execScript(\"var \"+a[0]);for(var c;a.length\u0026\u0026(c\u003da.shift());){var d;if(d\u003d!a.length)d\u003d!0;d?b[c]\u003d!0:b[c]\u0026\u0026b[c]!\u003d\u003dObject.prototype[c]?b\u003db[c]:b\u003db[c]\u003d{}}if(window.navigator\u0026\u0026window.navigator.userAgent\u0026\u0026-1\u003d\u003dwindow.navigator.userAgent.indexOf(\"Firefox\")){var e\u003ddocument.createElement(\"script\");e.src\u003d\"/logos/2015/ponyexpress/ponyexpress15-5.js\";e.async\u003d!0;document.body.appendChild(e)}else{var f\u003ddocument.getElementById(\"hplogoc\"); f\u0026\u0026(f.style.background\u003d\"url(/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg)\",f.style.cursor\u003d\"default\")}};}).call(this);\u003c\/script\u003e","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":22,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:22,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"small_image":{"height":41,"image_id":5910974510923776,"image_name":"Smaller","is_animated_gif":false,"slot":23,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592-res.png","width":95},"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios0.json b/components/test/data/search_provider_logos/ddljson_ios0.json
index 84001670..e670e3d 100644
--- a/components/test/data/search_provider_logos/ddljson_ios0.json
+++ b/components/test/data/search_provider_logos/ddljson_ios0.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Tama\u0027s 18th Birthday","data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAMAAAApx+PaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYTQ5NjhiZC05NTZhLTRjYmEtOTAyMy1jZTNhY2Q5NTMzNWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODU5NjkwMEQxQzk3MTFFN0FBRjZGREQ2RkFFRUEyMzQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODU5NjkwMEMxQzk3MTFFN0FBRjZGREQ2RkFFRUEyMzQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphY2ZhNTExOC0zZTVmLTQxZjAtYTE4Yi01MzliNTczOWFiMGUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NmViZjFlYy00OTYwLTExN2EtODBlYS1mNTE4ZDlmMDQ1NDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4GRDF8AAAC/VBMVEWavjiy11HuhigPAgKew0JLLBqmy0Six0AzJg9qcyh3hy+221VANxWFmDZeYiPJ9Vy63FvD7Vi221n///vkgilNMiO85VWkyzlMSBpVVR+y10y631Ws1kG83mXO/F6fxi+Wujj8/fWm0D3X/2PQ5ZVDQRY+IRA7GhDZ6aukxkuTuig1FBWMpDeWuzGZvjSOth/C3nKevj3vizJVMRpdPCWu01KSqjzy+OGYsUSy203I3Y389/Cnx1DvkTyaxiar1Tqu10b3++/l/2qy4ESJsxP3+ent9de98UrvhCO221HG43mpz0S46Ef1eSLviivSdyi61Xay1Fnk78aqyVaaujijvEnzmUqeuEShXiKq00fe6rzo9Mt8SRxwW1CVtDmwz1X0tYv1oleOrjSu20W3113i8LygzC+uy2BnSjZYQD2t20HmfyKu00m24E67ZCKx4Vb37+P+kSr5w5azz2iy10X2rnGupZ+s61r1hyfE+kuq007vchPA0oc4JyGVwxuHcGK9trfSpDfPaSGmui370K6my0p7qQSVin39mDezhBT81AzT/1mSszOk0ixqNRSfuh+TxDvN/06atj/JxLu84k7puwz5iTT84MrX0M/769qPeXvq5+W8w0nmjCvHlRO/6Uri3N3Qlneauj+1zXWLyj2Rmktya27Xqw3p7tT/ojHOskLWjDG1flDglS+231WxkzG71VKfzjyhujisu2729fSFOQ6x62HJyUr8oGr4/f+IqyD3hRp2bRCc0SCfqG6Uzj1COQPj/KZHICxXZwj07fK48lpxlz3018qw4VDYs2ft7fHD52lvjg6w21ey21GvyET/xXzXkk9iJAGjySqh3k+evjjt+uRmHgyBwBHMVhibsDSyzDmri26Iwiqq5UW71kGu10+apSfX+oah10qk90eV3T2p5C2v+F6m20G71E3/8/ua603d6Vec50H38/u02TiCqjCy1ySWyzTL0+Pr//smEQmu002ewztDJhiqz0mpzUiavjy12VP///8AAAACX7fCAAAA/3RSTlP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBm/IpZAACdA0lEQVR42uy9CXgb53kumuEY0AADYDAgMdgIoCRIgAxwG4QEQFDmHpPhEoqiFC6SyFC8V1LIUoupUEusyLLkTXaOlNSL7Mh2GifHdmI7tnOO4yRNetqmzdL0JG2enpw2SZsup8s9955zl+e5M8YgQz/3+/5/BgsJUKLs9nGfZiSCBDDr//7f973f8v//e9761fZvbnvPr5rgV6D/avsV6L/afgX6r7Zfgf52tr5ftf2/AtDr6a+13rd6ja0etj74YeBlze9f6+vzw68+zeXqDY7W+5POTr+T7xt1aZ1aUnMG15wuLdnndPpda51akPFr/vrO4Ggf7qZ1ujTYn9E0J+OED/2apsGPP+hKBvvgUJdLg7PC10Gn5vI7g0HY1eVa05xwok4n7NLS8lYTHANf+uGbzvpR5xrcstPJ9zr9TS1vaa7kqN/l7wxqLo3XRl08vHUmXXCXzqAWDAbh9hi4IVens8mpOfuCzl6XBufx46vWyfj9+Orq7IQ7XfOPOuuDyV6t06n1dfrXGK0PngQeG36Cfn9nvV/r1YJavb9+DY7rqyfNUl8PDwut5Nf66vv64Kezvt4FR/QyTnhXDzv4e3v9Tvizl9FIs/ZBi9Yz5HM4tL63vhcauLde6+slp6y/0qf54c9gk3YFPu/r7PXDZZzO3qa3ev1vvaW9BXd5i6ADKn19PDRtJzRVp4bPvmlzbnjv0lwAUhA+93ciSEGEj2HgM20tGOxzOZMIbbIpCZ9BLwBInZ3wF3w4Ct0BGg56xRqch8GTMTz0BDjW73LC9Z30Q7hCkKChOV1ro0l/MtiZbGrqg6vBobhDpzO51jc6CjfSNOqEDtGUTEJHSQKcnU683SR0oXroN/7gqAsOCDaNwpPBKfHL0WQ97NTX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\u003d\u003d","doodle_type":"SIMPLE","fingerprint":"735c8999","gallery_url":"http://www.google.com/doodles/tamas-18th-birthday","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/wyeF_2wwEDE_ln_ZBDbWYHMFkfhFCHZuXG68UBqCrJEMdHmzG7bOuVJFfKYfK96FgpyO98XDNdkko4vEoXC2EpZYu_HA7jtQd7N9fPmc","height":200,"image_id":6291066231717888,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616.2-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Tama\u0027s 18th birthday! #GoogleDoodle\nhttps://g.co/doodle/mzbmtf","short_link":"//g.co/doodle/mzbmtf","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Mary G. Ross\u0027 110th birthday","data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAMAAAApx+PaAAADAFBMVEVHcEwXKj8NIjodb0QiLjUhLzsbc0Q5dk8cNksVgkt8ob4fLDkbKjcZrFUsb0UVjU0aKTciMj4iLDQjKy4iKi0iKCsrRFUnPlcUn1CAi5aLlJ+GhoJpamhTdpQcIyMgJSccIyIgKiokKy8lLjIjKi0gJiglLTEmMDTM0dKmpZ8gaT81RlJ0foxedYm2vME8PzwuO0Lp6OJITEswODMjJis9UVolOTk1SmGXnaZ0dXEpOU9FYXtYZnclNC0dJSVGXF0KfkZFomg1kVp+fnlZXF1/oIeHq5BLZWEXYjhZpnPa3b8ZTTNZdGrMycPZ2dO4trBjj3Jwlnz37NHs58sTaz+hoJqcmpXl5N+ssbgpPFGry6TX1c3PzseWlI9DWHC/zLz59O9Og2FNa4jB1LC0xbPx7ujp5t5xsoOqvqz28ert6N/w6uLy7eQcJCNSdZePjomft6Pu6+STr5mUw5Zaf0FqiEUYHyBSfKkrO1HYfQATOCijnUz5hwAUGx03UW3wskX/fwCwewvXtlQ5cUL9/PiqplDxxF6DeCXtwFXkv1nrozUQFhnf3dbk4drDwbqwr6kuSD/ovlVZiGne2tPj39e7ubOtq6bjvFX6fgBFfVjU0cpIeUO0sqyqqKPp49vb18+/vbbeulT4myDIxb96j0jkw1/5kgugp7AvQlk+X4vBuWLmyWnAxcmEmE3rz3Ps1X77qDja3t+Umky2qVChfE6+nUdONB5qUzhgPCOITysKDxSNYT69d0g7JRXJrVDMhE4hFAsICQy9ajkCAQAmLCTArlLPslJ3RiecWDCrZjo+aVxEeGr61Kc1VkzTbzfKkmXhrX7Ymmm7h1/EqojitpT3vpDzy5/aonfttYDprXX73rTkoW7XklooN0vu4pKMqbjP5eu20d0gVlaTuMpig6B5mbChxtt7q9SCs92OwOpzostpl8BNlM1fi7EiQGY3eaeJuuU0VIEnSHUZNVpGZZo2TGlbgcBAhbstYZhFco4udY4oZHZQpOc7ZJBQo+hYnNZjU8jJAAABAHRSTlMAIAerf1z//xH/VU06////LW+TqsHV0bf//////9D27/v/6Pb/////////////////////////////9P///////////////////////////////////////+L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v////////7///////////b///94/v//qtyDm/v0pQAAnmpJREFUeAHsxTESgCAMBMAL0RMUlf+/Vmt7BsbcNgv5JRExQzCSfEEwsnJLCEVyIVdIKE7S0YPsGVM6Cl8VEkc+C3nRIf2kz6P5eReSl2GAbJiUVWu1PYRQ12IDIQwLreniOvDInlzm//9gZV/GY3TDMljGAm9KCaHrUqnEomamVwirOK4Z3isfglzpA2ZjU4POlKsIE6GjkEwIyvFExR+5nsASKVTCUisHZ6FcykspkqnmvzRKpSsVJVK5Ui0Fc/rQHUgXY0cMgDh3Y/X7e/rmeO1KetSUv9AkmA5ppMFiITojDgErGAouwgaTc1GOscVDLF1Z0Oul2Gy+0MGjLccKEuuRQzpZIYtmRJUEnBkdJICEcoa5TH5sydgk0Jii1oLLyQR4WVeA8FzFTDmPniKv15vter3bNMcGb7/fH47HPd7+1PetWRtgBmp2T1vv36m1E8qctx6544QHMIMazpqRNmNFAvn5YlHi0qhCLwhcccK2RG/tm8CPiYqCwLKi7p+1ssCOHAaC6DIzox2721XhDNizzHT/G+2UFHWY82213Ga9LyAAgyNhAOiuiP0wGO/Ppaf5fZlqUdMhcN1B2/uUSlAyEgFBeAPXUYZMh4wkbSura+sbOR2NxxOQRL4kpkvrI1Dseju3fQbuUHDv5aPvvd/GgFyTul4uto+OI71rqoXGHHWSXnvj+hRpQtK1D8PTMC/5GWvLTabTOU29gFmsOsITxXJLa28mJkgzXZd2U1SYd5H53TRpV8o5xkBAuIe6w1h+cXdzer82S880COLQHWeH+/3Nu7VR6Qjv309R4ByQH16zsKffRi+Sai/WPdchnil6Pwyqivf2yrGkV11XOaqk3Gp03ebvm8gaP376/FHa2tHck3zYqAgXcSgYwdqZHs7XaVSV8mDWlkAzBpwRpMo+4Jh8md2/f/+FRvryteVlnC8kPToNsS8c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\u003d\u003d","doodle_type":"SIMPLE","fingerprint":"151314e7","gallery_url":"http://www.google.com/doodles/mary-g-ross-110th-birthday?hl\u003den","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/4WMMyZBIzhWnJi-lfknABhr9C0wdLV3LHhoOSxVJEX0ml6i8KxAfBs5lYvVgqeJ2QtDDm5ARqzOjXxOP0tRgHsAAl427PNU9rjcpshQ","height":200,"image_id":5629499534213120,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Mary G. Ross\u0027 110th birthday! #GoogleDoodle\nhttps://g.co/doodle/b8nb2p","short_link":"//g.co/doodle/b8nb2p","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios0_fp.json b/components/test/data/search_provider_logos/ddljson_ios0_fp.json
index a66e7f58..63d9351 100644
--- a/components/test/data/search_provider_logos/ddljson_ios0_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_ios0_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Tama\u0027s 18th Birthday","doodle_type":"SIMPLE","fingerprint":"735c8999","gallery_url":"http://www.google.com/doodles/tamas-18th-birthday","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/wyeF_2wwEDE_ln_ZBDbWYHMFkfhFCHZuXG68UBqCrJEMdHmzG7bOuVJFfKYfK96FgpyO98XDNdkko4vEoXC2EpZYu_HA7jtQd7N9fPmc","height":200,"image_id":6291066231717888,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2017/tamas-18th-birthday-4812762818543616.2-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Tama\u0027s 18th birthday! #GoogleDoodle\nhttps://g.co/doodle/mzbmtf","short_link":"//g.co/doodle/mzbmtf","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Mary G. Ross\u0027 110th birthday","doodle_type":"SIMPLE","fingerprint":"151314e7","gallery_url":"http://www.google.com/doodles/mary-g-ross-110th-birthday?hl\u003den","header_layout":"LEGACY","id":0,"intent":"BUILTIN","large_image":{"alternate_url":"https://lh3.googleusercontent.com/4WMMyZBIzhWnJi-lfknABhr9C0wdLV3LHhoOSxVJEX0ml6i8KxAfBs5lYvVgqeJ2QtDDm5ARqzOjXxOP0tRgHsAAl427PNU9rjcpshQ","height":200,"image_id":5629499534213120,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2018/mary-g-ross-110th-birthday-4781894964084736-l.png","width":500},"log_url":"/async/ddllog?async\u003ddoodle:0,slot:27,type:1,cta:0","search_url":"/search?q\u003dtest","share_text":"Mary G. Ross\u0027 110th birthday! #GoogleDoodle\nhttps://g.co/doodle/b8nb2p","short_link":"//g.co/doodle/b8nb2p","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dtest\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios1.json b/components/test/data/search_provider_logos/ddljson_ios1.json
index 9dbb5383..5a3e040 100644
--- a/components/test/data/search_provider_logos/ddljson_ios1.json
+++ b/components/test/data/search_provider_logos/ddljson_ios1.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Gilbert Baker\u0027s 66th birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAADICAMAAACJWIs0AAAAA3NCSVQICAjb4U/gAAAC/VBMVEUAWs3sIXKzPpzz3rP/QrW0xdzf4ee1zrVPSbz/W8Cypc7fOJa1vLTewLXuvbzrR5qytrPk4sMAYte13ue+1LzjtbP2/PeWRK7rtcLiyMHg3trosLDuMnocbNz+z7MAWt745eY8ZdzRzMHvx72lYK34MpS+4uMDaeSzz+7tg6mxmNHmNIzyl8bzerjh0rftcKb9u9e9v7r/0O6MdcfDsd7u49v777y11rX70ObgVZggVdCw0sn69+3svNV2Tbr3tbXDjs/i6/D/37TzxtnuNInUN43zts203e3QmNb/M5m9vsbyjMBLft3uMZXB6++0ecAAW+cAY+YAbPfR1db+5b72zbTlys7VjtHF1sPvKnvCs7pqUMD0/f70QofSyNzvv7W13rTqXKXFwNPv7/Gz1uDlfb/qZ7L19trGxLqoRK3psLP35rT3OKP28sj85PH2R6e/zrXYY6L39/cAVNbMzMz54bzB1eBrg9csZOP41r7Ov8zvtbX5p9nrvcq25++1vcL3tdfQ4O/1MnzCcrbR3+De594AbvC0zuWMSLLg1tG9v87/57ZPWs3OxNhOXde4Rqezz9Tn7+f6VZW/zeDvO5W82Li1w9QAd/ru0bbFxM3x09vwKXPvt87SgsPUsbTTxLWLitf2M4v/7sjMX6j////77/Tw9/P+iMkZXt215ef6Va7Ez8+/3r37ybD+9/j+fcji0b73wLXl9/Y8UMb/1rQAZN6wxc7+bb7FxdbDwcX27rXUPqDyTIx1WMjNwNXnOJP55tz+/vTT2s74NpTu4sMeburFZq731bTFvs78TpnU39ULfPj2b6MAY+/5OZ3S1sX/9NkAWtby2cj348j5a7YvVc/S8fXT0LW73LfT1uFoX8z/58i3z97/Oab/RavyysnExt3kNoziytmzvs6zvtWNV8DylbFagdoJbu/2vb/nwLMrdd/+V7X+m9YQaeL57+bl6NxSVMdQcdi/1c33vNXwWpW1xbS019W1tr3h0MPAPJv8uNXo6Ob2YJmz1O9NfvOhAAAA/3RSTlP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j5KxIAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAIABJREFUeJztnQlc1HX+/yUP6iGgKUwyS4GY0q5Hoj+QVZT1qFYSYzgMMyQdUlRAG8EkRHNyUHRNSZQBEsKF8aoxD0pCBQddbIRRwDSP0dV+/TQswFIUG/fx/1zfcw5g5jvan+W1GwzDOAw8531+3p/Pt1tRlzqfuj3pF9AlO6iLamdUF9XOqC6qnVFdVDujuqh2RnVRfTJS2/XZu6h2RnVRfTLqstUudVRdVDujuqh2RnVR7YzqotoZ1UW1M6qLamdUF9XOqC6qnVFdVDujuqh2RnVR7YzqoiqYVFKDwZApetIvA+oJUlXLiovtu3RhNxm9bFWmVuPqCBV1JkqjUKmeLNwnRVUt9ZsMlJvrVVxcLBP86UWit98W/EnN/jCZxpEvjULxBME+IaqGGTM+/f33kViTJ/sZpAKRfVulUr194Pz03dOHDFEJ85QmxHpmlVQR5ToGyAhsVJRCqrLfa7CkJ0JVlOGe9umnBOrvQHeB0RpscsciYJ0HJk48P2TI7t0rd78GFBs7UbAXzP9hmJVIlqnVAr87xiRULFctklgrblbJRI/LfJ8IVYM7pHoXCHG9SzQ5sViqVneILUR5fvqQ6cAyV67cDbQSfXoNYbUbVZmoSJaZqXV1RUY6xhJVNmAgjSLTxC8h+At8ElRlGe4DBnyKsRK9CoTATg4I8PJKtIxWBK1FNfHAgfPnpyOULAGaFNX7a+z0+jMN2iiYGr3zzhiu2ibr6NgSZeD/OiZA26gnQdVvRhowVSQ2VcwVkp0ckOuV6JUI8ygTeFVDAM3pQ9gs+2Ox2QJbHWKPFy8zaB1dHccYiU/PPOQWDdc4+ZQF0BOgKp1x91NGd2Fc/f1VWr9T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","cta_log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"b2d3e5e8","gallery_url":"http://www.google.com/doodles/gilbert-bakers-66th-birthday","header_layout":"LEGACY","id":37727880,"intent":"BUILTIN","large_cta_image":{"height":200,"image_id":4817033455730688,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.2-scta.png","width":469},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/zCtRFJP-Rz8iKp1XXnazo9vWr2YMBb-vEzhr1C3-QfEQpEhzMyajvLqSMDS6wPpOEImC7RdfdwxiI9ofoKahlSCu5HJ65bc0lIeHyHs0","height":200,"image_id":5661458385862656,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.8-law.gif","width":469},"log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:27,type:1,cta:0","search_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480","share_text":"Gilbert Baker\u0027s 66th birthday\nhttps://g.co/doodle/2ythp4","short_link":"//g.co/doodle/2ythp4","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Prayoon Yomyiam\u0027s 85th Birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbIAAADZCAMAAABy6UUDAAADAFBMVEVHcEyVmXmjmnp9jXpscYJpaYJhgH9Lln5UhHtCh3ZxdYKYm3mMm3uTmnqdm3l8mn2EknZscINpaYJsZoJViIFKmX9Mln9RmIFqn4J6pn9ZmH9bgYFraIJqa4Jfe4FjcIFSj4BPk39pa4NXeHxCh3ZYinVmbIJqjXZzj3Z8kXWDg3xpZ4Nydn6Ok3aflXWKinqXk3WkmXZwcIFpaoNIg3c+iHVNiXVhjHZec35QfnpmhHyrm3Z4d4BnZoJkd4Jufnt1gnx6iHpqbIJ/e3+Dmnxrcn5imH5ocYJrboNra4NjZYGIqn50mX23n3hsmH1wdoNuc4NuaYRtcYN+fot1cItybolvbYafo4Tv0sbXtq6KkJVxdYOMoIPuyLP/6dZ4co5pan5sbIVnanhgYG1YXWNPT1FKSkpISEhtYFiwlqHBuapWVlp7bmD/48VCREWShIajjKN8oolvkptxeYuSqY+7naiAqZOUvJ95gZWer6E6g3Kqya2Sn55mpZFKiX1goYxBjXu81LhuqJahwKZvdIeIs5t2rppYnIdflo5ZiYiqqo+xtZ1qh5E/lYVhiI2DeZc7oZJ1hp1yfpF8dJF/d5SstLd0jp6Lfp5olJV6hKKLtqyokK97jKSSgqWHfJuPgKHMqazlvqyYhqhwhpj/1rX/3b7/38P/2rr/4MZ+saPSs5j5zbD/4sn/7b3/5MyEiKqhhNerf/DFk/PftOFbUUrQsYWOdmVloMSxgf+2gv+ufv3yypf/2p7hv5W6hf//1pz805qylr2eiq//5dB7rc6CYcmYc9pqUbAmJmaje+eSeMS/ppQjJGI+NYCojoUrKWtUQ5h8nLv8zZT8xoz4v4jvrod4jaH4r4XTn4SEdK2/lH92b5bzrXjkrY7olGzacF3rpHSZtMGrgmv/tId3la/Yjnz+sIH/5LD/wHr/uXD/vm7/vHH9rmrrj1X1oGB6tNiNtMyAs9SBttdspchzqs1emr+/YHXPd3jGanfBZHZyjpx+h6f5wpHBZHZKSktdmr/AOsn2AAABAHRSTlMAZVx8jpGZr6a5if//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////iHw/gbCdEjKUIQAAZf5JREFUeAHs0FWCRSEMA9Bh0qSF/e/3uvvns4O7/L2hnzT57xKQYJzJO4KabNsdq841H0nuwVnkYIFgNHRHNqE5u3CiHJE7UnCj6+9KXioAumdN+jq4o+5+4Q1eUPiKSHbFI+EhI9F/csN4ZrxzMqImtDwXE8SeKP6vnwTC0ixcBHu5UoVENBBsqVvf/2X2XK64mKITuxOc4TfnDJf1cmQNQRQbIu4NScKDIN4J8i/KOVRNNxDNVrujm6T61NI6+FA3u7phE+VrqAr/N83Re31T17vq+ZvBcDRWJtPZnC5c1/X8IPTcIMTLiCo8luNhbA+T4XCY3D/cXx6frIYsbHWVpEvlSvTXdwLrDG2F4YZFiGcplBruI80uUkkXRRLVRMW9MVG+CUKI3XV04xw9A2+6RFHznt7LVeVWEBu9PCmUFoEru7NisZVlf5d9m0sjr4ww9JVsH85rWWdkANaQ0BvuYShJwkE4rOn5x/q81Fa71XTyc0OdEplm6o71XYc2/6eu4ujOGF3tSPXVeDhcqU+jh2J5nHkemG1QWhR4gTw7nn80TuwUyMBs9HxJhgySYTxMVuogSa+dKfLyfHcAMnQGZhU0vBLEUJQLi9bnC8jGHJnx8g0yolqmY+g1YobGAGKEiZobjPctZMs0iW1K6EJ2i/HyeJy7s6k729PvcrN56HlBgKL9DK/33yCrguksLEdREO7W4yqtbAXRbrd0rWoib3GVabpGvnaYa2wI0QsZA2uu69o/IkuTAXmdTiYv1He9wMfPYY7o3HMxdm+nFkiarAZJHDOZPY8uZNaPS5Q2O85VZHbnwJEhKqUhyleisH2lF8gMmyP77uyTvunUefXwRte6Pfa4IwQ6024SGyepslRodzIrovnTbCqFs8DzgOO7ZPhOyETGTowfRvQrMlGsmEnQGEZRhNJgjtX523XKep/bsMacXCDratzy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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"9eefd996","gallery_url":"http://www.google.com/doodles/prayoon-yomyiams-85th-birthday?hl\u003den","header_layout":"LEGACY","id":69128162,"iframe_height_px":217,"iframe_width_px":434,"intent":"BUILTIN","large_cta_image":{"height":217,"image_id":4905660105883648,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-scta.png","width":434},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/RMr0-ruAIq-5Z5He0s8p8tmIsP_GVONwIDEEiOWtzOeFLQ9xsM9JluujPSmpokDR_bDlo-oNzuyMZQmjb3p_gJEijB3QJmaEte_XJDW0nA","height":215,"image_id":5750085036015616,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904-law.gif","width":430},"log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:27,type:1,cta:0","search_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den","share_text":"Prayoon Yomyiam\u0027s 85th Birthday #GoogleDoodle\nhttps://g.co/doodle/2645d6","short_link":"//g.co/doodle/2645d6","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios1_fp.json b/components/test/data/search_provider_logos/ddljson_ios1_fp.json
index ba37e4ac..84a3072 100644
--- a/components/test/data/search_provider_logos/ddljson_ios1_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_ios1_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Gilbert Baker\u0027s 66th birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"b2d3e5e8","gallery_url":"http://www.google.com/doodles/gilbert-bakers-66th-birthday","header_layout":"LEGACY","id":37727880,"intent":"BUILTIN","large_cta_image":{"height":200,"image_id":4817033455730688,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.2-scta.png","width":469},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/zCtRFJP-Rz8iKp1XXnazo9vWr2YMBb-vEzhr1C3-QfEQpEhzMyajvLqSMDS6wPpOEImC7RdfdwxiI9ofoKahlSCu5HJ65bc0lIeHyHs0","height":200,"image_id":5661458385862656,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2017/gilbert-bakers-66th-birthday-6016396013076480.8-law.gif","width":469},"log_url":"/async/ddllog?async\u003ddoodle:37727880,slot:27,type:1,cta:0","search_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480","share_text":"Gilbert Baker\u0027s 66th birthday\nhttps://g.co/doodle/2ythp4","short_link":"//g.co/doodle/2ythp4","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dGilbert+Baker\u0026oi\u003dddle\u0026ct\u003dgilbert-bakers-66th-birthday-6016396013076480\u0026source\u003ddoodle-ntp","time_to_live_ms":486998666000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Prayoon Yomyiam\u0027s 85th Birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:26,type:1,cta:1","doodle_type":"ANIMATED","fingerprint":"9eefd996","gallery_url":"http://www.google.com/doodles/prayoon-yomyiams-85th-birthday?hl\u003den","header_layout":"LEGACY","id":69128162,"iframe_height_px":217,"iframe_width_px":434,"intent":"BUILTIN","large_cta_image":{"height":217,"image_id":4905660105883648,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904.2-scta.png","width":434},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/RMr0-ruAIq-5Z5He0s8p8tmIsP_GVONwIDEEiOWtzOeFLQ9xsM9JluujPSmpokDR_bDlo-oNzuyMZQmjb3p_gJEijB3QJmaEte_XJDW0nA","height":215,"image_id":5750085036015616,"image_name":"LargeAnimatedWhite","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2018/prayoon-yomyiams-85th-birthday-4927560591867904-law.gif","width":430},"log_url":"/async/ddllog?async\u003ddoodle:69128162,slot:27,type:1,cta:0","search_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den","share_text":"Prayoon Yomyiam\u0027s 85th Birthday #GoogleDoodle\nhttps://g.co/doodle/2645d6","short_link":"//g.co/doodle/2645d6","show_now_header_search_affordance":false,"show_now_header_share_button":true,"target_url":"/search?q\u003dPrayoon+Yomyiam\u0026oi\u003dddle\u0026ct\u003dprayoon-yomyiams-85th-birthday-4927560591867904-law\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124901000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios2.json b/components/test/data/search_provider_logos/ddljson_ios2.json
index e32feea..4a94989 100644
--- a/components/test/data/search_provider_logos/ddljson_ios2.json
+++ b/components/test/data/search_provider_logos/ddljson_ios2.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Happy Halloween!","cta_data_uri":"data:image/png;base64,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","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Happy Halloween!","cta_data_uri":"data:image/png;base64,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","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"iframe_height_px":230,"iframe_width_px":460,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios2_fp.json b/components/test/data/search_provider_logos/ddljson_ios2_fp.json
index 9aa57e3..87de73b 100644
--- a/components/test/data/search_provider_logos/ddljson_ios2_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_ios2_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Happy Halloween!","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Happy Halloween!","cta_log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:26,type:1,cta:1","doodle_type":"INTERACTIVE","fingerprint":"4438a87d","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","gallery_url":"http://www.google.com/doodles/halloween-2016?hl\u003den","header_layout":"LEGACY","id":28464230,"iframe_height_px":230,"iframe_width_px":460,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2016/halloween-2016-5643419163557888.5-scta.png","width":460},"large_image":{"height":220,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2016/halloween-2016-5643419163557888-cta.gif","width":429},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:28464230,slot:27,type:1,cta:0","screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dHalloween\u0026oi\u003dddle\u0026ct\u003dhalloween-2016-5643419163557888\u0026hl\u003den","share_text":"Happy Halloween 2016! #GoogleDoodle\nhttps://g.co/doodle/vu3nqy","short_link":"//g.co/doodle/vu3nqy","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d28464230\u0026hl\u003den\u0026data_push_epoch\u003d2000000002","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios3.json b/components/test/data/search_provider_logos/ddljson_ios3.json
index 1ec3d5567..05233eb 100644
--- a/components/test/data/search_provider_logos/ddljson_ios3.json
+++ b/components/test/data/search_provider_logos/ddljson_ios3.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAADmCAMAAAAweAhcAAAAA3NCSVQICAjb4U/gAAADAFBMVEX/////1hD/zhD2xg+UhCqMey4pMUj/1hD/zhCUhCr/zhCchSn/1hD/zhC1myH/2Qj/zhC1myH/2Qj/zhAiLUn/2Qj/zhD/2Qj/zhC+pR//2Qj/zhDctxgiLUn/zhD/zhApMUj/2Qj/1hD/zhDvxRI8QkI4OkAyOUIvNUYpMUgiLUn/1hD/zhD2xg9KSkBFSEAyOUIvNUYpMUgiLUn/2Qj/1hD/zhD3zhBSUjsyOUIvNUYpMUgAAAD////1+Pj//5nu7u7j4+PM6+G86di26tb/5hKt58//3hH/3gm03c7/2Qio3sz/1hCl3cbMzMz/zhCn1sX3zhDmzj6c1cTvzhCd1L/Ew8P2xg+fzr7vxRKUz72RzrfnwQ+YyLqzvL3mvRaTxbSdwrjevhiLxbWxtrTctxiJv7OLvq6jtbSUu7DWtRmEvq3MtD57vaelra7Urg6JtavPrRmcrayFtaW7rVDHrBt6taicqKucpafGph6JqqWop2KVo6W+pR+EqZtwrpx2rKN6qZy7nSGZmZmYoFpspZxupZR/oZS1myGMm5xjp5ODnZuZmWa5mAyUlJSjl0StlCOElJV7m2ttmZNlnI1hnJSwkgt6lJSnkSVxloeCkoWHjpCljSdbmYl7jI6ejChlko10jIxTlIVokW1hj4SEhISlhwuchSlyhouIhlFTjopWjoNzhISUhCqdggptg4VMiYV3fH2PfSxbhH9pfoeMey58e1ZJhIFSg3tWgnCReAloeHtCg3Zxc3SEczBOe3Z8cjFAfHFicXNPc3J6bDJobV2DbAl0ajNZamxmZmY4cmpBb2xQaWVpYjllYzlgYWFPY2t1YAg8aGEzZmZiWzlbWTlNWGNOWFNoVgdZVDtLVVtSUjs+VFkrV1NKSkBNSjlYSgZBSVBFSEBCQkIgS0c8QkI6QkonRkQ4PklKPQU4OkA8PCU1OjsyOUIxOUkvNUYzMzM+MgQoMzgpMUgiLUkmKjE0KQMhJSooIAIaHSEVGRkdGAIWEAEPEBMICAgAAACHvmIfAAABAHRSTlMAERERERERIiIiMzNERERVVVVmZmZ3d4iIiJmZmZmqu7vMzMzMzMzMzMzM3d3d3d3d3d3d7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xmmAmwAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7H0PQFTnlS9Nmjw3fem2W19es2n+dJvsbtO0291m3WarWa2GjMMgzI4EZgAHGQFlKhUogxgQJAsBbVOIUsnKHzFmmdVhR1GqFoOKbDExaGpAiyRYIGOn93nnWq+uq1v1nfP9u98Mg7G7b1/2vfINcGeGO3fu/c73O+d3zne+c2Niptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SbbtNtuk236Tbdptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SLbHfxJzMe+tJDMyLfnG4fW/v8V7/6OfLkrkcTEhIeJSKZ8chTX7r/Yz2r3+V2/wNEIA8kgzw+Q95IwEYE8oWEhOSnET4zHvjcjNscY7r9J7TPgRQeuTsm5vFkc3LCQ/jOfxeSuZs8A8HdPysh4UvTovm/1O66D7v6rqeg75NBDI+gEP4H+c8jFovlEXxy9xet8OZ/Z//8PL5137R8/rPbfU8lzAI03DULO/0PQApftVge/+S99947857PfqHmC5/9vZn33hsz86vmWSiQP8KdHkITlJz80DQp+M9tX8XOvi8m5iFzgvlLn4y5d+anTvQ98adfV4LPKH+t67qmPxN4ZvZj3+z52u/NjImZ+bQ5wQLY+Xwy1W7T7T+lzcBBfzealYTfh2cPfrfkazNnjwUv63pIVYKqElJJg2faBV1XLj8ze/bMf8p//NOwL7K2hEfEQabb/8l210OzngIFddcXoY+f/nTMzJmPfT0E8ggSUbBNSMG34Ie8o4S0C98K/cnDM++95wEzxcyMR2c99ZmP+0r+f2ufT6Ds+L7H/9L+4MOzr19FiCBOgkQK+Ajic7Lh0oJf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\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_data_uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAADmCAMAAAAweAhcAAAAA3NCSVQICAjb4U/gAAADAFBMVEX/////1hD/zhD2xg+UhCqMey4pMUj/1hD/zhCUhCr/zhCchSn/1hD/zhC1myH/2Qj/zhC1myH/2Qj/zhAiLUn/2Qj/zhD/2Qj/zhC+pR//2Qj/zhDctxgiLUn/zhD/zhApMUj/2Qj/1hD/zhDvxRI8QkI4OkAyOUIvNUYpMUgiLUn/1hD/zhD2xg9KSkBFSEAyOUIvNUYpMUgiLUn/2Qj/1hD/zhD3zhBSUjsyOUIvNUYpMUgAAAD////1+Pj//5nu7u7j4+PM6+G86di26tb/5hKt58//3hH/3gm03c7/2Qio3sz/1hCl3cbMzMz/zhCn1sX3zhDmzj6c1cTvzhCd1L/Ew8P2xg+fzr7vxRKUz72RzrfnwQ+YyLqzvL3mvRaTxbSdwrjevhiLxbWxtrTctxiJv7OLvq6jtbSUu7DWtRmEvq3MtD57vaelra7Urg6JtavPrRmcrayFtaW7rVDHrBt6taicqKucpafGph6JqqWop2KVo6W+pR+EqZtwrpx2rKN6qZy7nSGZmZmYoFpspZxupZR/oZS1myGMm5xjp5ODnZuZmWa5mAyUlJSjl0StlCOElJV7m2ttmZNlnI1hnJSwkgt6lJSnkSVxloeCkoWHjpCljSdbmYl7jI6ejChlko10jIxTlIVokW1hj4SEhISlhwuchSlyhouIhlFTjopWjoNzhISUhCqdggptg4VMiYV3fH2PfSxbhH9pfoeMey58e1ZJhIFSg3tWgnCReAloeHtCg3Zxc3SEczBOe3Z8cjFAfHFicXNPc3J6bDJobV2DbAl0ajNZamxmZmY4cmpBb2xQaWVpYjllYzlgYWFPY2t1YAg8aGEzZmZiWzlbWTlNWGNOWFNoVgdZVDtLVVtSUjs+VFkrV1NKSkBNSjlYSgZBSVBFSEBCQkIgS0c8QkI6QkonRkQ4PklKPQU4OkA8PCU1OjsyOUIxOUkvNUYzMzM+MgQoMzgpMUgiLUkmKjE0KQMhJSooIAIaHSEVGRkdGAIWEAEPEBMICAgAAACHvmIfAAABAHRSTlMAERERERERIiIiMzNERERVVVVmZmZ3d4iIiJmZmZmqu7vMzMzMzMzMzMzM3d3d3d3d3d3d7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xmmAmwAAAAlwSFlzAAAt+wAALfsB/IdK5wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7H0PQFTnlS9Nmjw3fem2W19es2n+dJvsbtO0291m3WarWa2GjMMgzI4EZgAHGQFlKhUogxgQJAsBbVOIUsnKHzFmmdVhR1GqFoOKbDExaGpAiyRYIGOn93nnWq+uq1v1nfP9u98Mg7G7b1/2vfINcGeGO3fu/c73O+d3zne+c2Niptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SbbtNtuk236Tbdptt0m27TbbpNt+k23abbdJtu0226TbfpNt2m23SLbHfxJzMe+tJDMyLfnG4fW/v8V7/6OfLkrkcTEhIeJSKZ8chTX7r/Yz2r3+V2/wNEIA8kgzw+Q95IwEYE8oWEhOSnET4zHvjcjNscY7r9J7TPgRQeuTsm5vFkc3LCQ/jOfxeSuZs8A8HdPysh4UvTovm/1O66D7v6rqeg75NBDI+gEP4H+c8jFovlEXxy9xet8OZ/Z//8PL5137R8/rPbfU8lzAI03DULO/0PQApftVge/+S99947857PfqHmC5/9vZn33hsz86vmWSiQP8KdHkITlJz80DQp+M9tX8XOvi8m5iFzgvlLn4y5d+anTvQ98adfV4LPKH+t67qmPxN4ZvZj3+z52u/NjImZ+bQ5wQLY+Xwy1W7T7T+lzcBBfzealYTfh2cPfrfkazNnjwUv63pIVYKqElJJg2faBV1XLj8ze/bMf8p//NOwL7K2hEfEQabb/8l210OzngIFddcXoY+f/nTMzJmPfT0E8ggSUbBNSMG34Ie8o4S0C98K/cnDM++95wEzxcyMR2c99ZmP+0r+f2ufT6Ds+L7H/9L+4MOzr19FiCBOgkQK+Ajic7Lh0oJflNVjDz9unYX87VHA26z7Pu5L+f+sEYX0h/BkZs/XLmtaSGH9r6hEQhQtKnlTJZghL1Sq58a1bz4BH717VsK0vfk/2O66D23DQ9Cn5s/eO/OPnwlpKlFZisqkQ1UZ02sEO0xK9P9EQJoy+7GZMT9JZh7PjGkS/R9v938p4SnozBl/ZJ6V//A3mRCIylJC1Jww3UVlExQ2h4mKqTvYS5n92e9anv6fxGYlPDJNBf6DjbiUs6AbP/nZ4b8OsH5WiZFnHc9gQt5WVPagglHELuS1enm85/diaPyAOqDT7d/f7kugDsy9T17WRT8zdChcLBQ/iszQgoYQuSzhR/vWX8y8N+YP8ZCPftxX9v96I87+Vz71sGxKODqC3NIYaoxLgXIDYYEMBIWUP5/54NPTmPkPtfsfQN/j97/ytL3nSS4YRZKAQpGiMl6mGFxACVEFxhq3RZyyPVE26y8f/cR0JPrf2x6gMa+YTz74rctcH3HDYSgoRRj9SA2mBC9du37t2vUrl5h0hGMaUr/2qRgSgkt4alo0v3UjaiwZDMzDYGCECmM6TOW9LzFlob7I2yCLG7du3bp5A3+vX+FajR0p9I2ZMdTcPPRxX+f/e20G9pv50zP/xHBXmCozbIcimxjuz5D9Ll2/fhMEc+vatVuk3bgQYrvyIz12zxdENG26/Vbt0WSz5atPGOMcEUN0UYDaDUrDwt1LHgm4dJMK5Na1i+zJ9aDwhNiTbzyYyadDp9udthkY2/rEHz5e9DXBkGUbw6XBLL8MGvpHuU6lcePmhYu4IZLBDxjYU4Pa5Z7HH/2DGB5kmG530D4/K+FRtMwzv6ZJ/qPKbQhXa8LyS6iitoeosJtvzJu3aN6ivGVzF8Hra8EwtUeOoz92D3zL555KmE7nuLP2mWQavHz4ChWCCI9JdJk9uF9j/I/0O9Flb84RLe/mrRvICcJUIyo/IAL/DZnGl6ZRcyeNzEB+6Z7Z10KMjfEImbA1ksUXgqL7hghdRvV1Y54hmTmg025cvaIEJSHSTz4z89M4d5MwTZ7vpH0GSdkXvnE5pMp0ShIER5IIixmIoSYEtdmFOfNeYMKZO+ckMTtXJCHyg33rCZyLe2oaM3fUHnr66dxxjXMoFgzjCo1HkbnXyPmWQFMweP4qyOGtZVtWv7JszpxnX3hlyyu7CXO+YgjYEOZEz1Pmp6btzEe2Gffj6P30p/5aU41ZZB6FESZfIMaw6Ya6u3KVuDJvLpozd+6iZXMWLXth7ryXCCW4rkqsWchTf+JTd4tvnm5TtAdmJTwFjPneb2k8YilYMZGBIsXHBG2jYmKvL91gDsybi964MD7vhUVz8i6eyctj/uYl5qGGZO/0/MMxhA9O5wxO3UjI/4sx92pGlF+wYsnoGD5JeIATjf91Jphbu194c/cr85YBaF5666Vl7M0bQUUSqXBQZ8fcjzk50xMDUzYypfWVT31DRPuFRFThukf4JJSNGb4Od/5vnZzzLPLlZfh3zhv83UtBGXFcu+kPfxYZ2lN3f9wd8F+2IWYsj39LwIXFhyUqJlRaBBsT8bIrXDQX5xJPJo+Qs3EuGRFxM+Z4cKv1fWV6Mu227XOznv4qsrKw2DH3VYSFiWRjEmO7IOzMxUWAlrmvvALM+dlFJ43oGcbdJGeTHUfr+Ipl2s7crs34vSc0CS4SIKhFUY1QmeFlyoztCkfHzUUAmnmL8O+zz7K45jXYJSTbJnGY0F/PnM5Dm6Ld99AjGPd9WKMKS5WmjLkgVD47GZT8EZGnyXAgDM1ugMxLL+WtBtAsom9e5drPiCbwKWtV/ea9MTF3ff6RB6a5c0S7D8NXvx8zU/S3mDwWRj/steHJy5ll8PwaF83N1XPmnblx68YLc+ZO3GKSuaCGBQBEYgf+/vm9JN1weiotopHs2EfuDYj+DgtShht9mpUp8SuhldSgMTWDopmT99K8OfOE/b96xRAynd7hZA83j31qOoQWpX2e0LK/EGZfRoVs9CMzZXgmMxNn8NIto918BYnZvDPGOzeCYdSbazJ6OO1rX5yWzOSG2swyoAuvXprvl+mtHF2eLER43Lglt/FXli1b9Jb0xrUgyVKXogkKnSXFAwRKADTTK6Ai230PPfTgZWmOJRhuTySDb8ybMSPBlBmRX7hkbm2ZN3fOGfmNK0EjadAIkBJZhbQ/e/APpxlAlHbPNzQxGWMk+kV6+jJowpQSdUovhQnmDEYARuV3rp03TJjIWQ8xoGoPf9x98F+tPfDI5z8REzM7xIL6PM1F5RHhCOfDCHIas5qcpxkODYqBTNCMRWJGBiJLD+TRoJkxMfc/9Mj0pABrDyVjZGTmlZAc0Q8pkjy4YxPiCTIiRiDR3yAQACBnwM0YPbu4iEycyXbmujQJJyZ9JFLw5zEzv5qQMGtaNKTNwNll86euhVROtziBktIAWPfLPABFQTNkUaTqpUtXrl69eunqxMTNG2fAg7nyxrN0SpOHMzEjUJ4NlSdL+V/t4S+Yp7PQeJuBTqblm9zR5xmYRi4yn0ILc0Yw4eLSFRDGtWsgkCsXLkycObn7lSWL5j07Z9myOXOWvTCXJwHMYzMDNy+dl9JuOS7ZfA2HzZUv2KfdTdFAm5nzA8KISzl9TNmEFGGxud2/cvXalYtjZ97a/cZLq5ctWjRv7rPPGgkZ0lNsq4Uqi5jbkRQmD2Nrw5ZpbWa0Bx558Imgyk2KwZYMsAjjQ4zMpQtn39qSB9KYE7U9++2IN7ZQ23Pt6rUw30igRxKPqj340EPTgjHazK8zpISIUEIGW5IiY5SkgWCUF6aQCW3fjpTMnEVvnTlz8ZW58964eiloMD7JmBnfoD75cffFf5V21/0Yfp99LciRwlUadzVYrjJHVDB4dWLR7eQCklkwN/KtZ+fOJeJ64eKl4IWItZ2KtA4K3tRm8pP63W73fQnzMWfeDPI8ZSMaY8wBGOQW/nX1zUn9LhrRb3NjF8wPf3vewoXzv00/Ne/sRTHzI+cSGNEG9esx9zw9TQJI8QTLZx/T2LojntwfUiQ6YFjoYPDS1dVcCqSFq7V5u+c9++yC2NgF8tvzEjNSEuO+zd5apDL3Ul7bKcflFG0mYc6/66sEsMKPpf1Jvu6IwYYOXmnCmek35WqAa7LVr7yxu/fk2ZNvvfXmW2++8QoQNODLYFDmPRsXHxcvQPPst1OyM5JSkhYK27PlimB8YZObBnr++KtYheuBj7trPuaGJcgsA7oczGdxeWmijCIJ/Mlrb3FN9oqvuL7N5/ft7e49dqx3t+/NXpDR7jfytrz17XhHfFzct5lcEtNTkpISkxIN0zN3TMSoVbQ54c4mvtZqzLy64O9wm/HorKcf1FlHhQVkDBrAjEDw0rVXOBJ2n27x+30+nxd+6ovzCpYvX55XWrulxffGlqTUeFt8/ALQc89+e2F6Yjy+ilso6bclEfnNhmDYl2tfe2TWrN91yECb8emZE0ZYUVIrPLLF05euXuSabNHJ0y0+Khd/W21BcUFB7e53z46NjZ1917c01RafZIuLnT/32/MTE+PiQSyxoN9kTrD7qrD5nKHxiAMV0rfumU6lJW32+yExfMNnLmX2dO0kS+2f98ZYbwsoMsSLv2U1yKX+3aB6iVj2i2fdjnibLSk+Nm7BgtjEuLg4oAOxtsSkFIkTzB27wumflEQrrWFTpmcD7nvgc58AyhyS+ocxJOZjhtjr4BWuyea9cea010sB4/NvKS4uKD3GI22wZ2+qLQlAkxQXHwuiAbHAX8CQI2MuRtM4W7t6MSTon6zHuPZ85l48td9h3HxmVkLCo5988iqnr9I0v5hzpDHla8oLpEvz3hw77WtjcgHEgGDqx1Qjjh/sTrUlxselJiU5mFwWLAA5JSWllL7k2yJws+yayhPYwiNpzAJpM3H2+9HfXdE8Ds6M+cFvqBF6nrwOsC3pwOvIyeblvXXm7DFfCxULsTOlIJjzqnBD4c+xnCSwLK5UV2qsy01kE5sEILI5lryxZItgdnPeuMbjDWFLC3gCovbEQ7/TpTfv/qo5OcHSpfNuFXpe5cEzIqfzV66+BMN891sne71tTI+RH39tQR4iRu7as+vSgYyllrtSPeVgb8DaxDtQvdmW9rYs33JSiObM1SDPjJLmgThFVJ9xJvxOuzSYyvRX39T4cDXcDOa+EB0FmmzRnNUnd5fWt1GseBlo/C0FxaVnWc1GoQ67cxzxLtf6leXlqS5H7II4B0AGTI9rldfvW/LSGb56c97FSyyNZvJ6HEzWaDL/Thd2vOvzX3r0s5eFQ0FFwW0+i5hcAu9y3pmTyxcVAx0TcCGyAV3WfSliBlQda8t2xJevbwbUJMWnriwH7ybRFu9yb/D56kuX7x7lonnhujRjGs4C4Vihxx54/NHf6fjMXTEzDRecGxbZv7ykgCZb3ftCcf3qWq+MGIBMcUHteXnSmFrw9wtdqanr17tWQgPUxIEqi3e4czb764trffW9EyKKcJ1/pYQYMQHx5/d+3F3zsbfHFINYSR3F82XfwDH+UnGp318LHeuXQVNbnNcrT35xQ7ExNS7eluRIddli5y+Ii8MYgMu9xteyuhS8oM0nx7loTl4LCltmpOZy/jzz4+6Yj7Pd/8D9Mfc+I8esiOHnlBnevfTm3NVbYHjX+wEipcX1DDTkr7e0oHTM6FTO7FTVn4oRmVRogBu3y+VyuMpdG7zs4y3vn2Hkee7FKyKdkM9yGnJ+OOauz33c5c/4ql6xvS9yO+OOtnexz0/ezoi6xQJmD8wc5VPKosyiQWZDV14oPXblpTm9GCLz168urjdAg8psi0i04KJEMe3JiY8FEgC6zL0SNuUry5vXV9SXFtfSj7YoXDSLrhnxOXn5Bnn6p59+VJQ/u49Rgf/L28/NIsVdJ2+fir4F95AUChfbpya9nhWxFfuhg3A/e5+kzMx6EMtjXpCnMo3My+CV3XndbS0n553xkhBZbXFpi5/TM199cV43RouDRudSIR1zJyUBXFId8bG2pFT3ypXr12eswc8ymbZc4KJ56bq8lMCwNfjz9S9YWBLNXY8kkFK18had0Lseus12hrHFDBS2nfWlqK/Zumq+/Xwy2ZI6Yl+6i26fYh321F2/5XYGrRQ3667JW1I8dsakLf1Cy8hl1aBmfIqZ0Vf17Gq/vzRvy0vHqBfjr80r5QTA668vKDgm8CZpQ/WdwnSbIzXVDTIp95QDbMrdq+qLJby1XJhgDO3N60GjgLDIDyDPtRoLSzx7gJWqjdx+7k62INrPsVvk8O1nJm3pFxlbeP8RWksElybQ7d3s1kczptjeJ7b33dH2/knbGWwb8wlcR/TVoAj3RswuwnPtpNdf+0L3S2/5mXFpA5Xk46CpLS5494JhpDA9kx7lbEU6MgBHUrwtDgPNrpU59asLav0Gs2sZC1DRzJ2gpsaomSYoiN7zNIsCPMIq1PEtFvXG1bZ3vE2mW1pP56O3D7DtjL9MwDX4Mf/t6Ygtrvb94t0xn8DXf8S2+Brf/0oM294ttneHbT9hvP4j9lre/uUn4IrvfvQrf0i9Gb6KhUOGLQYMdvvrlxSfPdnNA5i+Fj70iW4rOM1QRgpl8kOoY+sKHbGx8Rj/j4Pf1HL3htJiA2y+lrbu3ivX6HL0RReNUvXGmk+yfewzj3+RBAH+AHv4f3z09vcRZP8zytYcfXu/vP3DyduYmU8lPP6pmHtjZn4x+fFP3QOvH5e2+P6XrI9/mmyT2Va8/uqnY2Lu/dRT7PWj+FreWo3X9Hhsa8Et+gv3fnLmhKE/IqfM1F5f27ICb/dZg4+BCltdTx1Of21BwUkNRnsweOHK1es3btwk7caVd9pWISdLdbscKJyklSvX1havbmFHaGvpHrtw4eQrSxZRW5OHczUXRPKh5PT++T33fBJOMebee77wV9YvfJJv742558FktrXy13/1hd+D/z8I/5e2MU980cy2CV/4PdyPvf/w0wli+ymyNYe9nmk2wzZm9mPfHPmzJ2f/Cd0+OXv2k3/Gtl/D9/8U3//al2d/mfyfbL+Gr/+EbP909mz2+ssR2z81Xv8Z7AfHe/jPhr/2ZbIlr+HZ7D958hkjJCIlYFIMnfb68paB7W+T3H6QB2UBXh/YmV747KVr8pKZ64EDa9KTkuIc5etXrkwFxrzS46kwjEyL792LF99cJiffvHGJp+XS/AxjkHzjyS//OZzmk0/+8cg3nyDbb4488eQTs5/802+O/DHbPvHk19l29pf59i/YdvZjg9984ht8+8TsL9P3n5z9x98chvdxO/LEl9mWvf6zJ8XrmK8rmqahIrgAW0XV1Ish3KraRXwdou/jqZItmNgLfH8VX2ugR9j/VfZ/VdqPv4Yd8bhqkB4fXqtaCP4VEPojDDkwitUxn790SYvf55MEQ8LLVDGBS5/nv3L15i25XXp9VQqYlvjY2FiQzfr15eu3NXs2rKbWyQtwuTK6OiInKi+s0oCi8lwRNtNJZlbpBdMt/A2Re3mENJW+DpEtDie2pa/hItjrAN0vyI/D/g+G1NgG6RZ67IJKPvf1mGeETyDCu1IX8X+FjOQvNuUkqsFxoxC2rJV9SDgbSph1lXV62MSIWHMEn+r11i+pDRMMNzWUBbQV57WEy+XW2Np0nMSMjYW/CxbE2twr129bv5bKsq2l98KVky+Ei2XOojev8IwZjt0w9SouWbwVNtMqLtFg38Zkgrx4Iaga74uVCPxzIZ69I7/1TMwzYesWDKdLjBtxOpEjS6KYYtWWCHOIbxf/F5dozPMHJaPLZ7JYiEY73eZbnudnU2SGpUGsMN1UWlB8NXyFWUY8FUws3eCsWaqrYDkYmRbvOxcv7pbLBM55dt6yN8auXeOp7LxzwtVrBKNX+UI1MfPKr0kJG5fi/aA0EsMdL9Y/qtxXAVbhA4/7DGJGOjE5widFTbi2kUeWqMgrjfqIBC7ez+wtWTDGSiUZNAx5sOt5v4/oMm8EaNCrofYctstPhiEmg8kllm1wutkWn7K81tt9/srES1yNPTt3Ud6WN88oF8+cPdYb5MnU8tUayJHP1ohEG4OSjUdDK0ipJpLdMpY2qHJH8YPIZVrYNzHM8L0lGBvv8HkTxRCRKu0hrkVCnKGsJmXBqkZ8SpEXKRmHpCg75mtZIlwQn09yRhAspW0s1nzdEMyFwnhDMHyqOXZBXOLy7rHAW0SNzV205KXdb41fuKCcB6H485a0eE/TSxQdbjBDGdA8t5rZHgMGRsJ1+LUzSEhahO+hhvU3nw+S7t/CuothxlD4UvQoHAy8bpKQjfgGqWyyELr8aen/hsMgzSEaQuSHDKL5z1vO0zB8fq+3BbMy/H4aMWMmvbZg+TEul5tXX7bZ4iVNBoKZT9IA4o69QooDLXvlrZOnTx7b3dKypa2tpQ2Ps6TU332eXbIRB4iMBshKyhiLQoQSm5M0i4EQQ30Lq6REqPWg0R/CZDHMKEZnyasfxRlH113yeJcYjbyfbFMN/cogrISbfeM1mH9f/ZJ6Esf0e1tqS1cXw6O0tr7FR2ObwAIw+lxcXHyBryc7kJGSRK0/PBbQ3AzSMrZgtabVb/bubmup31C7obYUPk04n78WQaPQ2BvXO8bpGkOS9VDIGEgCWWGA57opKCNEMdQVmf8xbKqYD5LQJvqcYSaSN3E1qIR/R4iv/pK0s0QeZEzJhl70uMhbNsyhTDqMI4x5qfmH3q9dXQwiqW+pr6+tLcawpJ+YGGQBsMmrpSTgxvvrPC4Cmdh4BxXMfC6ZZUDBzmxp2dzm83d3d4PpaiOBZzz8slKfn/e96GLjdCXgGwo9pBhXaahAeVgHI3og3DZFXLPc+eKzSlBgRlZHYQzNGD3S7StVwTQN9sKviItWWEZZhzJ9G5RVMTskt1/U+/fXo/n3e2uLS+tbvLRL/d62FnQ0UTalNOxcWpxXTwqaX9tTVW6LBUOzIGllvCQY+BvbO2/O3N1nfcfOjp0PKsHzY8d6fd761avx+Bw0AqxT2Vq5m4PSYh7ZQgbDrl1+X8TkxAjlFy32MrJTghGYkcVhKDTp5PgZ8RHEv8QwmwaKjKEmtoYV4ycWTs4N+wW/Y35fXp6fGJR6r6+b9Cl06eleUG0kqOnHaTMvmU3Lq0WFdmlnhS0uyRYb6yq3EcO/YD5XafMLT85dPW/iimq0syCb2gLUlgAaZmkEaKLb2ggVLqltwb6ifkIVmkJCIceKbF9Fyj37rIyZSMkbCJqMKuk/HDG08lHIOJrQrYYy5aMkKBkpQ7Dik8eIlcGJ+zZf71mpS88fwwTzUujSltUFKKGW0oK84pM3br6/Mi4+yWGLW7neAU4MdWWQDKDlWfDaGy/lzbsiXGRwltSzfl89iAZA4207K13fZFtrCMywmRL5ketFG7YzfBVbWK9xL0YN/5wEDfonDDNsEAfl3cKtgDzCZY0sOlY2kOJYzBcT+lR4ROK5OFPy57zfX7wcBFMAxuCsyrw4Zu+unG5rWV3KHE4imuKC5fXvFMbbbA6bzbPNFbvAkUrsjcOGCc62+HhbrP+tN+aOXQwZJwoy7vbW57X4vUtqfb3GOcvUNVyhcZspgYcPLEkA4RZBHC8MReHqT3zO6B6Vs2YDM4rQnZEIMp4zhJDXwo5TxOB/jRlGab4jxOsj8X4JSl9kGD/RDWe9LQCZLQX14CHyjGV6LKxdEvCCaPw4P1PcgpQaHM+CWBRCkqNq28r4OMdKG4IlzuXCSRoQlyPjtbEzozfO82HOvrcXjFhLd+kyr29MpIhy2xg2NMNtptHzVA8p3DFTg8J2isqFHAGRdkcSr2FowrVHOGY4SNlYCB/pqqYbTdNC3MIIEs85oOE9GrqVcY7wgTnpmCodz70+6C8v2JPuoOz94ecwUHbB24KkGUzN6jZC31ZhfowjPbXqSLnNllrustlwXsa9MsXhSHHYklw525dsuXXrynnZ91MQNaWl4NPUe4+pGHGlTWXXJUavpOgjLU6k1ydjLXzgRdgdBgVx/2+xq0TZo2JGds2ZQKHfAiMn+rramxobm9q7+k6MBKBTeXalbAklOxKF4RjXGdTIMQcOd7Y30mMOjtJjgv1fXuovLSWIYaaJfuY8dfkDbfXFwKzQ1AAL8K9LTEqMz3C4yo+sdyS5mj2Ak/j4xPiVHsAMICnb5alqw9udieHARsmYrwW4d16xrzukq4HxkZGR4ZHRcbxWnYc9pEimFBajP3QU4XMSTlJFTRyV21Qp2iEKggjDFaKWM6TypyH6hJOFqTEjtE5I07XR/qZ8e4LZkmBNTrYnW+GZxV7U1D8O/5I+LeM5nO2JQcEvjx/TQo5pT05OgGcWZ0n7wLh+2guUuaWgxTdmjE8yXM7zOkzvwGgnpgZYgLcwMTUl0eFylb/d7Eh1Na93pDuSADSJ7nLYJtlSXNmeincIsw4qvEAXHSvv+mpLkQPs/ceiLHtCggVaQrIzv6Zj4ByIh4f5Ip15oeIZAERPcXsermm4MIQup11LNHyIiyPE3lANbhsNM0pYlFXXRjrzLRZrbl1n/9DI+EQgMDE+MtzfWZObYE4o6hrVdH7ykkHitFp+XzpzXTvXlZ9gSsBjDvNjDvZ31GRZzNayN32ly32ra73vcqiEeEkNHvS/QUa7z1eft3qzO8WVnujIdpe/vW1ltqt8V2pKqsMFxj/OVZVqSwQrk+7OLt9OZtcuSREhMnL2thS3tC2p3/u9rJK69q4eaB1NNflOizkht+mEIqkEmfaSH20wsx8uvLIG1GB/5pCmBvJbNRmRXA7ki7QhsncN2TsL9y7LynRmQoM/zqxM+pz8HdHYUIyKGYOnhPRgX5HFnNU6MK4RS6AROWv4Qh0faMw0WyoHVD0kujDIPXx+/ZOzIEF19JdYzJlNYcfU6DFH++uy/t6/fDV0GfoZfAiRcwoaMf+xtlokAd7aNekp7qWJ6Skrq94+WO7xuCsOpjoc6a4kG+i39bCx2VIc7pVVGy+xEloS8dL08R97S2tBnfm7VdncBUb72/MTzM7GYU0XQgw3kYo+YOrR1VBmVkjVe0yD0NfWMt1QRaphU8lMGd07i+49oIcCdntNJW9llcbTmlGuhG7DzaBH9UCX0+RsmjaLngAAIABJREFUHVYR29h7krHGmTtdHWy0m3L7VF1IVLLWBr4NswjHVHqyTPamIUXXqb6Fw2g6nScljOCsD6wydPy7msFgqb425slu+OvRh/e9nJHiWpGyNMNd9fbb6ysqKjxV21zpqeluFElGgzuFcOnsivLqU3TKMyjGsqaPNFozvfWr/bWEndERR1ULWrvRwzB6ivqpbFTO2QXytQHzYTj/3FxMsjEPaqFAcqXO9NgkmxrU5b2JHO2Vl3VdYw/6Q58JfnA7bqaFetKez+8L4O4gG00ZHerv6ers7OzpHxoN6ERamj7Rk2nKHYD/ht0jRlbMssXRAPumzB44Zgg/DB8bHxkaPDEwNDw6odJDHvPWLmtbXe8boDbMELg8TXa6BTM1thauyFmauKIwu2Lne9sqqsorKpo9rmxXBpFMarPbAerMYXOUe147cJOChtlBkEudBeDe3VLc1rJks++0rioT4+OgVwlbVKkhbLeb8gc0TbKiAvm0r0O5uZqi91hO6NjXuhSrUuTPqNoJcw/ZGxRGj1nsHa0JshHdzqDsQ/pgLnS5qhOxTAy0l6ShjQRDCRtzgrOofWCCXAOAIM1UOarzCxC2RfID2J+QPlJich5W6aWD6moqcVrR9pvR9mZVdgxMaHq3r7igpdj7fWvNuB7WIfLU8oW20lrQZuvXlS5dscGzbuORI1XlVVUVm6pc2W6Xy4OmP71hZToIyOFIKq94bf8VGpGmF64H2i2WuhFd7/XCEFhWu/fHZblOrGtmtWfm13UOEGYDZxjoSjOVjejGwBLXJDCjEczQvpbdTBH4IGN8kO0d4ggDzGhRm9CbU9gZzKRoNdtJH8IJ9lcmmxMyazr6BoFXjo4MD/Z1VGYlmJMr+xFQcKGtlsV9usY5Dzc14QwlqGhal8XaEdBRx2vD7bloaSubuvr6Bwb6D3c2ljjR/vf4vctLW1Z7e1vN5Jj8TM/LBTJvXQVaBZLZurFw1WZP9daNR7ahYBqaXdkV7gwXgAXapgrYJDlSbe5q//b36ceCZHwMOE2VI9j577aU1vsL8vZ+P7OoprG9o721rgz5YkJRB2hwcmUdloQuTZNGF2WLBmagry1MmxmuixJuYmFvhhmVYcZpL8qP+kAGQPpxKjujj+aaYMyGUB+32k32mv5RlZpr0oix7quxm9LaR6H3NH0o11QX1LkuY0c0fALSufpEmSl/BPWeHjic/7wlFygyM73EgIG67Gu0/213y5It9aVt717GYyoat3rBa7Jkbvi3lHq9Wzdv3V69qnz7xqqdzVVVVQ07PWBTHK4M8DFBj60vzwbIJLpsjuoDB/YTxN3AAaw2mZyopGDY/TNQgO7S5S17x4QJVQMj/U3AEXN7JohsAOVFoBAkNU3socCMYmBGyC8MPEg2ToRbJZRMfvQ2ytPnp7Az+oDVepj04Sjo4zKAhk4zkVg/EgKu64G+IrO1CZQOXGSjKXecURmDCEjREEUfdpo6SIegksjsGIGDESeNwZia3gv/7Ktf4gVAnL6gK014TG6ywvJkbnZvLm7b2raxbV1FdfWGVeXNDVUNDTur3BUNnkS325PiSIxPLK9ypwM1S3Uklvce2H6FcQAcc3UB1AVa/3e/sxfIGXhPvjGNeRf0ItWRjixTcitekA5At5/QwzyJyZhRCQMwiJ8gAUT5gTajmAlRzNxOm3GGHt3OwMczR7C/lXarpW6YmURdGR8e6O8D5TM8rmqUF2hDlabFXSEcXIctaSN6mGD4sgtmM62L+y+TDnGa8vsVImocoxOj4H2PjFP/HxQMEAB/ba33rA5QhGMOM94XXoj5Zm99KQrGs6K8YoUbNFlDQ8OuBrenqtkR7/F4MD5jK2/wuBIdDocr3r3nn7cxdaYP2smY0/TBfFPaP3pBmwEV9J2+DH0SIJyNnAUMvoESk7VTgQ7VB9MsPTonIjQeGGlnQowBcCNjDFGCsEmYuQ0DYComKmb0TlP+hI4cIBMNIDGGweHOykziqFvQb8+s7BpBTQy/cIX5RIwDixcP66qhavn4Ik/1fiI4VR8tM2UCGQ3hR8cH2svA+0ZiYbXn1nQNATZ7fcV5/tpS749RkemDixcPEnGfD1Nmt250b17btnHzqhXl6zJy1rs9DQ1Vu5o92SCgOFu2GxhAXFyiB96wOVJTXIkZ29/ZQ9nZjQFL2hAiYaLOZO9SiJ0hFKCmKMtptztzyxp78Cxw1GiDRaasQTzn8VxTpy5YM2Fb0TBjsFAuIuZmC8xI3OyyHrVxWh4NMyiYMgU0mdZhtvfT3h9uBZ/SWdbaMzA4NDw40NNelmaxZHWM0P92oeqDJ0P2xcO6sDRGNABR2G/JHMXx17/Y0qEQXjFxuMwKHK+krgO87672miIwvc66gW5vXnF3bSn45USQI/bFQ4SOXg+TzHX/uuKtm7NXlFdn5DS7s7c2V+3YWeUor2p2xyW5PJ5EkIzN3QzgcbhsrpT06mPvbCOk+9+sTmSRlwfSnm8EOwKsucXnW1669/v23LKaurrKkqxki9le2TdBr+yw3dQOGkZTSlA0wrMBm3lbOxNGz1TJnxHczOmsqampjPKDnibpviiYAV+oDM5FD5SZKieIoh0osViKukYCOuMAuA0MY8ymcohayVxTqwYfGbKm8SMrYdQZVFkmWIyQ1m7KGiK6ZKQp2ZRW1z+qSL73cE9ZgvXv9y4r9QNrfsNq7cdvB9Gc0yLNzK2xjQVrXs5Ir65akb7Nk7FxV0PzrgaHu6FqE7AxT9XKRFt8XKK7ucKTkuS2ZWSkrD1wZucH+Lnf/GAUU347gQNg7HRv/eo2nz+v2NsdoJelqRNDPcBs7I0j5MrGK01FEyAatQS9eBENnIKbSXRHEbELEjGYxM2szqiNRmfwg5MxA0fJB12qAYI7CAcYKjHZ20c06vermuGta8ONVnPNKLFHNaYaVQvqJyy5Ssigy2zCS9VG7GmjIBgVdgsgcsYbLeaygQAGddUw33v8sM+7BFR/8ebukSxTF4pmyJo5oUm3lSFmZmf98hWupVXVq9Kb16ds3Fmxft+OlUnNVc2eeJuromqlDSRjc4FkHCnuRFBnOXvO7D9KjnAF7XydqWwCT/ssUg2fv3Q5mW9gEV84iwCMRXPNCKH3nSYwuXAh+ab+y0Y0MKo/o/C4oBFIYREDYWdCws5onCMoQrEIOeDLSZjRRhc7x2GQjGda+rBflFZwQQi2sePUifHRc+PcW9f00SaLtQsT0/VWBBrirUZngVVBUNRQIMs6hIIpM7WisLWexeaaYTIfg8cMgPc9QSYa4JBje3HWzAd+5PugQjqw//rNZVpYuX+QzIE1iUtXVGwqzGhen+TZ40kFXWarAlvjSrS5QTKJiYAZF2izDJs7KSUjZemmYwd2XqUejaaUEYSHtIFXvSQFBySzNyQHnuDFSJOFqN3g5X6rHWSkTTgXj+iC0ES1M1yLG76cETGYxM1IvEs8xI+IWUZiJqTmW4bxPDLNAzi4h4lbQ3RuYBDcSwyWJ9jBWx8MUGYwkm8qQT2lt5tqcLdGE6MxEpPRa0x9SLTLiLJGtyZ3kDnZg52VuWnJYP+d+XU9yCnex6iZHyhAW6+uVlLRdMAmXDJX68vTl1ZUr8vZ1Jzk2uixVeyrSl3ZDCotKd7mqVifY4tPjLWlN5RXZMe5MhJz0lPK97zTHMBPXgup1Gbogbrv7K4vJitxlnl9A51NdZU1de09QxNIOzF+U2nKha5QLg9agbugqs41bvYQaWdIX5P1pvJEgYgYDE7mZpejUwAxVReJGehglK6STwXTbyV+OPCUgTq7yWIvqmlqb28ixtreOKgRr6DT7EQbDahpxU9mWakba8xj6H2mRviPVof9HLw8lPZ8O8YWgPvU2YFXkGM2VuYnWyy5HePv+0g+E0b5wccoM+HI1Eosg+HUrHvF0vLCdZ41zc1JqYWeJNeuTa5U4M37qoEsV1Q0ZyfGxccmOhqqyt1xqRmJYGhWbT+wnaiz61oNFcxIruX7ezEPx0skY4UBZ7fDOZitJXRqQ9P7FlsO6yFFH7SAkQyCPmjSuSGJjhluX6Tr5xGDCG7mdLa3NkV5tI6rbA4nAjPaMGgO0ol4JDiXrFHqk+WbEsp6yDwmN9YYikVPGrj1YiuKUatEZGhDlhJNVSXQaOP2TGDAehfKB1iRdTHGPzVtAI5ZeVg65lBnrsX8w73o+PmQN3cDD8m1DMJwHV2cJYczb55ZtXzpmoZVOc3bHOnZhY6k9TuzXeXrGxoOemLjHRVA0Gxx4NCkr6+qcC9wuBJTchJXbO/deQCPcaMdB1DwMpz09/fWFpPs3PolbT7w0XCa6NxgT40TpzaISzyab2qn+rQInbcy7FR6YXo0OyO5/fyHxg2FnTG4WYI1OcrDmjzM7o0YaWe0fOuoRkcHdHmXqSiAimq4yGTvHKUharIuhoZiO+wk3AfM1onRVg2syTkNsdOvi3wDJCZ1JuzdQXORhoIxO+lnyuCY45HHHK75zl6aAwig8b17QR+1p02gwnju55IvE8A45qqN1du2ZThcblcSRpjLgZjt2plqi3NUVW3LtsUlxdpSGta7kxYmuhemFKYsrd6zZyeqs18/X0nHR9qP97YUkOUeJOtwTKfTRDBGlME6q6kE+b8G+rQJz7YLxQkmOEtl93aIys3k0FpYHoDhz3BuZi9TJqI2lU9zhWMG9E4ndOKIFWCHSqiIuDU0DMmC4WL6Ei4i0G6xolXRR51o4fVhC3S+NmF3ktwzps20IXMdvBtw2sdB5oNW5zhBo9US/ZhnfAQzOJXc4jsLdNtUiSYq6yeGYK761xYsX7Om8OC2jIzU1GzHyk1VKeVuF0CmwYZTmUQywAAc6xtcSQsXuhcudGWkFO55vfmdG7du/SIzoAXRdPzzXprnQTBDZ7Z5IFLTx9utlnaVag/U0XqlaQAusIuwRdwpetyMWuowM0P6WR+IEgPQJAJgPLhgQmGYCSmZTiTMRRa0eIPAgEHrACEuGrmsCnc+KML8IDyw/3Xo+wArBkIHDBMEBYjr0g1lq5UADBW9CZAEoy5tMWHPjSS0KYYEP6aCGU31bNlMaWkbiOYyflDR+w3JXPNvrl2+Zq1nZ3OOy5XqSndvrMrwlNuqmncd8cShZBp2ulEy8bZyT0ZK3EJ3/PwkV0pOc3fzAaARv8IeHkm2v7m3DdPWaGWBJSSzySBWIIrRSlM+nKoGZqkHGZEdJKqqmfYJ4q9NwkxkDMCw/3g4MT8jcTPj6sMflHmHwjGjHwaDi8DpuKwgS0SnLJCPFJOfsxhWLFSpq02mkkCIOEHI+rIWowVz2gMhzpu1QbSbACcy9IvQbCBJa5SmQYOqccwLOKPZQlfMoGjeVZXMNOiT878QguneUFqwYW3Frm1EMBnZmza7Xc0OV3PDkX3ZtvjY7KqGg+4UkIzNVrEyJSVxoTtpfqJr4dL1oM7GyYyzNpH7nVf3biZJa3RV7rI2gRnmxQNuejBmBwYyH845qPeDxQli1+gkkyLSzlAebEzCBkUKG9EbUbiZPM8m/w0yFzUMM2oWQibgzEQ41JjQrAfyn+/hg1uOo/IeDemdixtR9XWl9cNJDqT14KkuHuCebFCvBMggcBCGnUiLQoQMa0Exr6rIJ0TmmukyGW/p6hZf99gAWmHuz9wY83lLl9a+XLF/WyEIBpRZ9cZCx3qPrWrHjiMNDkdcnKeh6qAbk8/jU9yeRJCMyzV/oTtuoWf79v2gzq5ryvkff3+vt5YswWGL2JZ5/ee5HmEDhsTsrNCJYF1QHwA/BM6pZlnHNUVENKP4M4p8GB43nszNEDPCEoX95T0iYwZ0ehdRRn2oPgiTAr7VoxvBYx5HNaZyYHBNjCto5IJ4+1j8C+8GAvybtBFLnU6Ac1mF50XI5RqJl2Jgns2E0kOOealkfCStvLje6+/9Hrq+yKtuXhvrbmspLd6wZt3BbYU5gBhXRvnGdY7yZptnB0CmypYUH1cB9iYHMQOupmdhYuLC9JUL57uS5qdXrGp+7Z0LZ3txUQEtLsQWsTHJqLxKFB+C+nDnAA74kb5RuL5R+BvUhg+PUk8gmp2ZrMfYqJ/MzeyVRoBRzoxURT/LmIHhDV0QdCIBCWbZQYeAd9N+eRLUeLYrC73wkr68hwmE+eye3mEeggFXhkfWKsF+BUFl1k2ax1FFn4z525bV8goxQANK6717//7NY++evXD+dK+vraW2uLTNj4JxZ6c6HBnl1S87XNtcqTt27Dqyz53kiIuvAslkO8DgxC5M9SxcmLgw0bNwgSN9/sLynKp1a+rb2lrqa4vp8hm28tO/mkRnpFAJ00U0m06hWRoh8ldjHRqJGR43E8EPmZtFiZsRzChhQpRDOkpYvpk6bq0ByPQzK36YMN0yjcnAiOhTARm5T0IKinRlorszczFsZmmkwEESQIhf2DFVo09w5Sxbn0nr/tUWr65taWvzeVtaWjbXlxaXbmjb/PLBnW5AjMOR6nGvyU5qXg+6rPnIkR02zGJuaGgGOxMbHx+70FEBglmIFCAxe+EC96rCquUFpauLUdpG5Uf4kuI8f7dIj1D5KZELD/AhGOJzx6Gp/ZmgyAQMGvmY4dwsJNmZIJ+aj0AP/ZiEGRjMwIK0EqQfABw4hRAYdO5v8A434qhG8M04BXFlTFJAmcGy6K3mYQIctDhllmFNWHx2REX0iRrs9uUVG93m9+ECseLS0lKyJLC2ZcOG0rUHdxa63CAYx8rClPTE8m2p7h07drwNygwTMhoakAHE2uIXLEysSgFtNt+duGChO3FhUlV1w5rSDWShFC/4TDfLS729atgFBQVNYt1scHslIndGtjNRM4bUYNQ5TU3OtOFfLFEICTN6ZXIAhjTaBQGcHu7zsvkGMRAMUUlqLhh+ZSTYQ+TgzA/hrd0QOCfMrbrK1QU/pvRJpddbnBe2khmFU18LbXOLz7umoAAQswoFk5rkdielJDq2eRwNO3YcfHuHB5dkOJoxFIDTMyCZ8nQQzfxs1/z5qSkLFpav21C/wecXxZ542WfvslrfMW6vhUZR+OqQoLHolfa1ok72Z0Jifsbw/A31FH1O0/A/RBhTfC7MzoBfSoJDQMkYcNLQ4vBPG1iXRoShyETQW+JwcEr5mUhyzF0COEXJE1qY8pOOSE7tmK90eVgRAGRPPj80X0vt8qUFa/bs9OS4XfEOm9udGJcYh+Z/F0DmYLMrFQSSvaOh4uAq24J4x4KFcVXpSM4cK+cDb56/MBvMzObIQ2Oh9CX1bPF5MOxkBFAkZHPpReVmVAlKaoSP0ym4maw5JJNAx4GBGdp/WhlY/tBoAgIHvZuIzCQGZkHNJL9KWHFp/aU2Tg7UjoSTAmfI3C7Peko6lh8I883bInoPgeMFrbZ0+dINe47ud3tSgXulrkyKW7ggdZvb0bxrx5EPdjU4PDZHvHtHxcqDoL/ikhYsXFiegZJJ9MQtjAVDk1hV0OYXRVJ9HDskBHCW+yLhI435I4b257fJjR43Uw23OaygRrR8M13lrCmoCuJknIAUN9O7LEMMZiATBE4+CElov6AQBLcywbC0WFk24l04fwxy5oODBCeHFqfRck4TWBPOjOD/sOUOjVxrBuACPLdg+fJVG/Ycf2//Jlc8qK2VKfFxC+Kay+Mrdu3Yte+DIzs8DleVw92Q7T5YYYuNc6BkXEjOFq4EQ5OdsnBBRU5BLbEyYWLnpDmMIkk6QgnPzVb4lU3mZoYmMdZPkcMZOZoGN+PzM3zikM3TiBOQMFOTPIGR4i7gZJXwNHTO0mQMb5FlqYboAcKCPSqvK8Exw8Svd6KZGbcicDrwacBeokkjKnydIx09Y34v0mZpZKMaA0ZVULBmzZqt+4/u31SdHR/vXpmeCJDxNDti3Tt27dqx7719u6ocVR63x+U6ApJBbTbf7UbWPN+TOn9+EggpozyvAIhZW1hFDi+hZsFIwbCqGXxUGsONdt7U+WaSNhDxsyhxs6kimgp3GI16AKF8jjVQPCUEpOQmVzJfgBcB8sA7Jgfk3wCOk8AE7jSBlbEUfCMI0g6gmcHIU4kzoFGOwrNqRHZNGOqAnBXkScPaj2oMOrR2zdo1qzZu33Nw+6YUd0ZSuSMxLm6+bZs7Nt4Dgtm14+234Y/b5nDbso9UxMfZHAsWzMcgAEYB3KDKED7Va2pXFyDDE7LB32Wl/mOKFnUey8hnIYNU11AoujoVNxMrnAVVolc4eU7zI2YBZMxQ1ac3JYxr2kgC8CfEkCbUP3VlR532KVpa1qimDdt79JCSWwdn2+EcxUnLfLB5Gj3ztDIGnLDFT3LQiGkCzDgX95fxtdWiXGpbNm9Yu2pV9dat+3fuWbkqI6ccb/e3MHb9+rg4RzkIZteufe/hpsLmAsl4gAGkxs5f6CpfsXbtmpT08tiFCwtBrXk21jM5bxHUGQjAZu9pbaSdto729rBn8PcwGvwmuJ7RRrgQtadLnZwHEJLyACRtwEzuZMxMMXPW1DquMbkKzGijKA6tzAnO7gBOgamZ+ZoaYUfGG+umaCXmAU0jrqpGRkYXrkWAoVEGurE1AaR2ztJO+IUob6Iyd1U1tBlVaGd9m5fQMlmoxqAfS+tbfBs2rFtTsXHrpj07DzVv376uvHBVRUrcgpXbHLE2RwUKZgdKZseOXW6HbeXbnhRbXGrswsSM9Wte27x2aVK1K8ezKSdxYUrVZnZQ7m2SEide35jeb0mwkgfb4N0B6UuzfQLdiH5dGzWjq1xkDUzBzbgm4/6PGH9R8s1qppxtZkxQYAbcjS78cD4CDrgA0KpGYWYU7vNPhffLoxaMVWYVwYlW2gM4C9gPBnHcCsegb5yw4KjJLNGYzReUgrM5seyOLtPkcimurff6vRteXrehauv27Yf2H9q/59Sh/dXVG9c6Fjq2rQRLb6vYUdXcsGvfEcRMQ6rD5nnbbctwuFNSUlZsKnzt5XWF7m3lhfCBFUsT16wjAm/bAn5rKVVqZKFmkKSJRG0K4lwbweuD/kQSk4CzGtHsjMgDMPw9anOjx82iTc8Ya/cNzJxAGqWQQd4OBAok1akr4cZZiZ7wiV9NZKCVZGLAMoEwCbQtowQoReAW6X2YWDCRXMeyUMNWosleHjzvxkAWVssoLaa917KhZfM6Kpj9Hxx47/ip/Vv3VK9KsTU3x8XabKnrG1yeivU7DoKd2VXucDg8b7vi09M96SCZ9S+/XFhdnVPlzlj18v53VoFktvg52SstBYOD3gz6mXAJUzwuD8AgUyeAxYTU3HyNUZkp4mYG+Q/zUaLHzcAaT/7htsqwMwBn0Eek6/TGZDA2RFKMiVDNGSA5YdEvQCFWiqCjI4HIFTiewCFmAeDIQ0nJAe9wCsMKbain2+qXbMHQJcIF+3FNfduadRu37zywZ/+hDz48Be3DPesSE9fvSl0Qb7O5d2Ht/+zmfaDTQJk5XBVvu+IcKJmlGZvWvVxYmJNSWLVi7cZTY91LN6+rFQXsiHBqW1CZnSWrt6dQByMwyEAvV2psjPWQGO3t8wCkYImqqFHiZrfPBMTxKjAD+meADg2w/ahZB4g+EhQKvyE0mp+VO0VLgDPX64A0AFMeYeinyCEqjL9rzHYyQxPBVvFnzOddsqyUs1ssgbm2dsXm5u2Hjm4/8N6HH5764MMPP9yfEec+WA66zGFzV+FEjWMbCmaXw0Ulk+HwZCxNSamuXrvKk7Mip7lw4/4zB45u2tiwhpfmJN5rS23tkjysPBM61zNFO9yBl6KiogYrDB3Vh2Zl6hiAYigZHkFQonAzzJ6d3DB7NigyARlm+izwCWoYauyBEMGQwewJOLXxspKykmitrMRaRiXD0DGS0KEHdSKZYGYJsrKEEYokER8SqlKMLx5+7q5d9sJmn3EHAL93+Zo28GSOH9j5wYcf/PLDX354qjo9Y39zfGySw5aK98pwOdzbADP7diRlO1zl76XGudLd6UtTEj3Vq9ILCzMymjftefv4gaOv+bduLm6R3Ew/Vp/DSg1g4i1TtAQhGb0yDXRCH6qj6HEzopblKAJnAFHiZlNmnLORGhUzpIMHcOI+KEJhLFCgTfVwlnGRRscMkQzBjBxXEr52WCz82JbNS4yJLei/LQVrNu85euSdA6cOnfrlB6c+PLW/cMW2g+7YuCQbgMThyHbZXLsOgmSaQUjZIJl4kEwGEGt3dUaSuyInfduRI4f+7p1Tbd2v7i4tNQIMmDnLqpsERqZqAxK5ccL14RC+ozwAfjlK1LUAt1unqcrzMzAIBjTBPsaRTPXp3BekNu3C1BRAox+EM0cLGWFnyEUJJElVAfnMbGQI/Pxe4mwa0eDSWu/L7xw/euCdDz84dfzA+x+cqs4p3FadiCUy3I6kOJCGzXFwH7QGW7bLXfWeKz473b0CJJOxPiXJVV2YUX1wz4FXXz/6ctv3dpPyG0bcDNxMUkMlFH2hkaZdpsPJWcJ9isPmwansjOyUS9soawFut06T+kIGZk6QfERnmTG+O0W4gQcwQ8b66PCHPkG8oXy0kI3J4L4MIkkmkmB2E69HI3EaLhcR0FVlIkD+HqOJmjwK0FLc8vft7x47/voZsP/7j35w6kBh4apmh82RbnOnuoADuFzxK4/s27frYJUjOzu7HLgZCChnRUpK0vr0pIxqzwrP8a1bX3710MbeohfbiqUi0LT0HPnaKRnAEFAh6MoaDR3nEB1jU3CzoJwHYBibqOs0p1gNSBhAMAwzZHxrufmiF4GmiSi1yu0MGBr8mdSKmEXBOWXqzwACQ+MJTYSxkfgEUj0UvJiBEsRfDbc3KinWWMxHttePq2k69dNHf3zgg1P7D5w69cFazyrPpvikdEeKKyPblgGSASdm3659+zwut8dDJJPuzslYmphUnZ2SUb1uXeGRjVtfff3U3j2VmRvWlPJbN/jwa0i5RjjVgSnaYDt0PPjhTRz9OG6jx80m5QEATokaAAAgAElEQVRwYxNtnSaul81nf8QWV9AyX0hgJjRq9CLxCkNZ+Zo8p6NgdCY3KzcLfyJbrt0CVpA4pzCwNOqsqtT9wogPTjh3kOCZIuqvhpSQmLLmwufauddXK4GmtHbvd3r0C++++MO39+85furD7YXrMprdtqT01Jx0l9vl8biykxreBsHsc2d7KirK305NRMksTU9JrHan51Rv2li4f/9+kMyevT9MaFkj1BlmmrV4ya1SgAGYLeZoPyZL8iizmBNEZddZJ6aOm0XkAbDL+S3WafLVAMb8DIv/tyaMciHhGYSkeUys1U8LTURxxxqt4yx0yeNvSP9UIiVpeqHdMsqLufCZQ4URGgEf/Pu+z4ugYSO7tN5nH9THjma+uKf50PEP3ylcV1hdnpSU4cgoRMRUVXkqHDtBMrv2AWIaqqqOuGzZGe7CFRnpiesLM3Kqd75cuPPInldff3f/3r9L/v6G5eLGT/5lxX7/eZoEceLEwOAA/tK/J/jzwVw0Lugo8wgTjq6o+WbheQCS2v4t1mnyTjEww4wEcdVVhAvotAFdMYo0MwGqov6T1EIkyEZEwMBR5sQq6tT1JBehFTnZSJs8CWIQc25/FLwpwBZ2O5OW1S1/7zx3/vjw916r3nno1IfrctZVN+fEp6aDo1JY4QE6lur2HDkCmNnhqapobm7YBZJJdxeuWpGTWL113ap1O9eu3XRk/+uvHt2/58eWFzfzhCZqZY7xeHB00qmrYqRRjUz48xRxs7A8AEWYgqj5ZlOxZh4RkeZnECNgbToIXMZRtTbqUvoA6ceprOQwTovhfCiqBfSDnJhejjxthOloMrGpTZDzDxr6mNNx/g28KhNYmrzlDDQtxW3fzz9/9Pw7aws37TnyIZj/dTurM6DlrMopbGioaq4Cz/8IUjMMoO3AyQAHkcyqNbEucGYqdr768sYjh/a8emD//l7797AKENVlXiBmPkahpuJml5kIsthsE4snTr1O00CMGIDR1mmmgVc5+YEVgUhSuLx+hn0BmZrBeCQmAwQ0xdD/oHKmijU35VuHtdDE4koW8Auds7TqNOTTz0YWndbTa6zjmhpuIjm9lOSloKXZvKSWlTQv9n6/7vj777+WUbhp/wcfbKoo3LkzB/zHVdD3nqqq5n37Du7aQZTZDpALCGhXRTaRzNq1GTmbNm7cuP31V5vfOw60+dDRd79DSgBQyJQu8dIEAPjeieHo7RzmmGpkFpHMxBOTMXnNWShaHoDQDJPXAjitmc6ojxGNzZwamAEjh9PBZDpzwlpJ8pv7xHpe8p2hKednTESeZPIgK1fjoWZusZrQuuB0JksDDaqGW2lEZTllowThvN+/egklZ4iZV999f09hSvXGtz/cs/PlTQfX5awiglm3rgIls2/XkfdwJgAbTtU0e7IzsgsL164pLNy6dfvW7Qdef/vQoaMgmUPv/+P3/AwzJJbZzc5gyhhAghm7guStEPpFreZvmQcQLd9MU5UoD5V3RUTujEaTzlQ5WzMscyQQtWmdJNG/zDoRYuoQgUNkT+BOtCymAICFQntqzP0bWThktPHb3+DbJ73eZTTxrG315t3vHDm6MWNt+f4PD23avv+9Q4WrctIL1+asBcmUozR2vP3ekeOn3jv13vG3jx/ct2uHx2HLqVj78qrCnGoUzaHX9+zZf/zA60ffH/vn72NxBmJnluf5vWe5Thg9fLgvyqO/zExSIpwBNjFJVPYUa86mygOIEjejswDRGQC1IGH5ZtizOPuFQ7uTZDgdNhxDKv1ocwpawI7qimQw6+2Yu6Q686kzC3ABcZDZf0B0O8lk6+LTPmFZODwxh2sDrfL7e/mdgVbX733/6P6KFdWbwPvftPXIB0fWrcsoXLdiI5A0T9Xx93556foNsfT55s3r1y6d2r4mp3DF2vRVK1Zt375968HXX993/PjrL75++uxYd0vxZhqXWdLiOyYyvKPHmi+rTry0YVTOdGiR3C91irgZtzMSDyDdEI2b0RTLyQ9GieT1M6C9cOQTuKi5uDRCzUqbYIvT+Jcq/AZO0q/eiFjX61AmQXIlQwgcReUL4fU6VGdaPiaxafm4+EOYE5GFEzQuiwyTPtMP94I+I65Haa3v2J6t214vf/uDjZ7q7e+d2r7V8/KhdRvXrNr4zi/DKzgYKwav/bL35cQV2as27tm+df+B1w9tP7Tnxb97Xw12b8aadejK1Pr9QT4xFIx6ZcrlJnppmJZFxhetBTh5zdnt8wCix804H1VU4zR4/mFYfbPQOLEudEFAP66n0AZNNbqw1UFjskuRt3CSOMk8YjGyoknSH/WSED0MLgO4BgCkVsaXwkdUp2QTNHiK2vjirAun8bYNXr/PX1/qbdtT+NrBIx/urKjeePzUnv1bC49vX3f0bMRdziZJ58I7G5dWHd2zdc/x17dv33/0xb89q56l5bf8viXFPq7LqK1TjEHCf/VBC4ztEL20PtQgel0CYU9R7cxH5wFIcTOj+h/ZXbjzrJ9lO6NQ66JmOdF252NKs95KFmmEhxqCqrhXEEmYH7c7cdlAGY4rxAW8mZYfYqIDdUbfxmm3fDy+3oFC56APx72hy4osQzo4NS1LVmOl+eINbRtffnXnh+9VV28/fmr/9uPV299958ptpWII5/j+PXuOvP7anj2HXv/bH17uJaTZj3cd9L7LNVn4FB4/MVDTmaQXKkmkDNPvQhMkLWsKbsY/OykPINqcpkSEJCUe5JPusp0JMrgcJsOewCWkFqEBNPAmLI7ghlogFzsRwNJKYNHOgcOyNIfNreS/ZFLAjHZPKzP1XTaSbMMTp+gTnayt1sbe8FNTU1qwpu2Hr773wZEjYP6hpysOXbrx0VJh7cYvj24/dODV7XsOHfve357cuwWDM0RP7g5wk8ApiBAPFZhWZu4nWqSRI54SJHUKf2bqPIAo6zQ5Zvj+BmhoJ8iYQbiQJX1pcMp6E4JXm8iyDMgjXByGvdAD+WQd5ShZxxjKpabEHmD3EsRlmpjITP/BjhnIRXfJGJty4hTh71ojihnsVybeHRhv3bB86drvvP7eoe1HTh0/vn//1jO312KTZXPqwKuvHep998fPveLHKo9g/YGfWZt0gwDIbJEpBq2OLJELpKG1BSVCrsMZoAPyI+oBCHHfhpuFdarUAxRAMmb4qpl+XnJhGF6MZ5r7pLWu3GzRL1WxjBueIVnMqNC1sxpdvsd2InDBcdfEyjjoijaRayJLDJXwscVGCxaxaSSr8E01p720E0sLVqx4HfjZ/g+Ob9//Sxkv/3JHsrn54asvHj327pnvv4zTM/5aROLZRlOjpgWlVEqZLSqaWiMvaz7MLoNSm+j5ZrxzJuUBRFunqRmLko3+VMQNHCMwo5Almlol0U8jWF4pqE3km5oUuUyRMdJDer8dCyqFQPt0kfXyuGhJQxNFk0BxJ43iqNI8SI85AZtACS3LF5SvhUEfC6p0sEpAAe2Y118Miqdlde2adWffP3r86MH3w8nYj35wZ7K59sN/fOf0sc0bCmpRMKV+7+lLWqupZIKbUWN2iD70cVKlIQRmEeUzYccFRRoCh8ay/n15ABHczOCmhnHiflAYZnClHu1hPA04XBYpINVoyhzgdYuDhhYO6eN1pqxhnay8bGJFSAjkOtjoYUgmVQ7G6TH7zfmo9dRWk7Of16k2GKaiYUnRxaJ6Fnyu1+srANHAUF/Xff78qVNXI3r8R89Zf/JvdySbn5/pBcGU+ohgWv4Za2R0WUgBN0VMvvPhpGv9i8lUCJYUw7WlNQQ4/RwyH10PIHoewGRuJgQjWTvyDWGYgaPm4ngHgohzj3qfOYtWi8s0lZzQdC0kRIulpkbbrebWIBYtazTVaWR0daBadjox3MZnYYK4ymxEHPNyDys3OJBlyh9QSNlmPm7A2ZvoSnueFBi+PIwV5+AI+S/uBdHU760tbtnaO3ZpkoH5kSXhubSf35HduXFsTWmxlwhm74skpo6FWcuG6NpLg4FiNcASU+4IFUy+IoqKkAXw1AxEXQsQXnhJ2kapoSEyASP/KIY2kzxwRp/Qd+wkmt6SRqoVBjrtpqzOYSMtWx3tK0swVWJxRiy91IiC6cfRFaQlGQS3xuE1Ys0HAcA/yDEPm1iJTixz2j4UEMfUxvvrrGYsXa2QUkRDtJbN4WNtvmKwC7XF9ZsvTu7uHz3/83+wPPfdX9+JaG6eyWsDuwWq7N1zWdhXcBadVnNJ/4ROq2fSEq4TfUUmexepoNFhAogr+pAF9JCit9NAYjhmDH9GjR67CgSUKHGzsin2FglEYZgJkopLhzGJooQEZvRBu6VLw1KjgZ5ciyWtrKnrcH9/T0dNVoLZ3jRMquYNZpo6NQ2dMtB9yLxrpOrGBDR6Fy0DUEIintDp1j5eGthisZc0dh7u7+vpqMu1mq01AE1QgGq7KfMcIqsJdH2o10u6s7Q2mgfzo+d/fetX333e8g93ZG4u+fJAyHvfVdCMNKqk6l9H2vP2sq4T5yYCQWV8dKCzzGp2dpDCdBM1pkqsZTRqx7iFPkTXE1NOOsnOOBPsyVEf1txo+WbR97baWaErNZybkZ9cQp+ADJNuHC8yFVEJaCM9lVlWeisQZ1E7udVESJ9oMtuJXhi0YtU/HdzOcU1Ec9hBtRI0/4wtq1jbsWb0Mimnfa6nJiuZxnTt+U04dnFh92Aulg4k5ezqcJbqx5v31i5Z3hs1DvOj538Ff3+e9tzin/7mDkRzdXWt/+//7qIGHV5HCkditeyBGrx9RrIzzW63kFqeWBFH0wfSsIimglV1BlFNZ5K4EnOFJ8fNnE2NUVtdh4QZYy1A9L2bRjVGgMPtDCrQEaREWAEEFwcGNa3LasY67aQssDoxMjw0NELu4EOrs9tNNROojwewsiypW3dCl2Zf6DNt3J42jmLLMh8WdQYDrCywOnEOjjnMjqnq+kidefFhoLPo1tRgzwws/uFef+2W6L4lYObmv9669W8/SXgu6+dR9whvN3r3/qO5kqClb7G5blQnhQmVkf6uppq6mqau/nNBLAtICs9lkjE36rSQImE1XE0zDyWSm02V3a/rwWj3BbjNWgAl0p+h3i/YixJQqlqgyNRE6jCPknsbKLpO729CkqJCeAeHEXJHA6KYusyZWOkHzr7rsny3WhYEwupCVNyklrZUm1Nlx+S1udXBGoulkdTmDpQRfwOrDZ0723Z6CiMPkvm3NITLv/zg+ed/8Ks7EE0QdGUR0VbjdRZrIzmLkLGwibzQhuA02knJz0E7Vm/DknytusqTF6aYn4ma3a+qU6zTjL4WgOFkkp0JkqLANThqAO75o6TI50gjqN46GE0GA5g40ZFrMZeQGzrogRq8VGIWWgW75v4JDbccRnGrmlJJaotiPdsiUs82SDqDVZ+fGGzPMlnraIH6oUwzcWtG08DjDV6Yin2hZJKf/y4WDPrFd5+z/NO/frRsLsFAcg6SCrjDlRZzUc8ITgHggGN19Ue68k0JjefIHj2EBCFJq+R3UzA8zUncLGoLRV0LMNXeXHlF2BlqsVuJFoGzwfKlRPNPHC6htZXbO7u6OhrLcq0WSy4OeuJuOk2tqkYEUyfuBSGpNBJe6DKVYO0HrcNi1IAG7e4sae3pPzE4ONDXVVeU/Lwlv4tW7VRxP7BF+jknlkqaOnoJkvlNcgLABdjZzZ+lPWf/2Ueam5uX9AG7uUOlo67dabZk1XUNDI+OT4yPDg901mRazFmdo7woMBmdMLLygxr3dqL6M05rVmb0VhJtzdkUe2eNaCzAOsnOkBHeaipTEAMj+aZcZEvYkRMDHZW5dqAACQl2Z0lT37kQLVI6TPQxqD+tzlQX0lQRmJMDoajwJtdNV4e6KjOtWDMdf+y5dYfJQbFqJ+xE3Johu/WEHpzsxoRhJuG7BC7gcP7rPwGD/sWUO3PRqNjluQPUWCqDHUXkfmsJVnLHFXtJ5xA9DbVnMa0/h25NQFSsCqrRuJndSe6+FOWnMRo3S4u6a1klnQtW1Ch2hrh8naZcvH+EHuqxm1Bl8Rr+gfHRcyPjE6x6PimvaMHifrDrRAm6NQZhllaq0ahLjyVzGFFA7jVA4BYk9xoYGRzo7x8YPIe1hqnABopMzj5ij4hbM7UqY5hJ+O6t3/zM/lwawuXXP3iO4OcjRBPC8uVlpEYrmpWJkYGezvbW9s6eASzsSS5X7c815Q8Su9NOymkLR12JGjeruayzm4JwiyUsV9Tas5P2o/syE6BEsTMkybfPgnVIAT6BDnQyWSFttNYhes9JWva6yGwh+hig4GSVDGXZkMNxLE55fw5qZMhR4WvGu3JN9k6MqulqKw6QoHq7iD/FzC0JLoCfhI8K2NzAK2u3mov6A+xGYXLf4MAb78mi9zAK6oFKU40iBMPc5+ix5ilMR/S42dRmJjIGwO0MRo/AAJsa6T18JnpyzZb89hPj8m1JtYnhLnTJ8PYz8M1gFhYPyJVUjPyxgMonkcg9bSaIBpHvaaOLW9poweGekgRzVleAcgDYHZR7cIr55DDM/Mu/GnD5zU8RP7cP2FzDGB04mSZ7Xf+EFnFvPW20r9JqyuoJgJImY65DMxDDQuhR4mZT5MNqWtS42W3WAhBJRLEzNMimB+po0BFxPUTur5RV1tTZ09fff7irvSYXKy1TlwyEdyLXVDZurCYTsWsxQ8em0ch9oEK6dB+oyo7DA0O4SmVwoKepJA0oQeOgSiMErZbFADH1fGQMMypmfroYVdkvsp6z/ARk9K8YsLk9g75CWHqgH4aXNb/p8ODIOKlrMA5qrS43AYbNCXYaTaa0AZ6xbMxWTOZmTntJUfRWE3UtwBR7n2Or8qPYGf714ANnmoq4JlZH+1tLMpMtCWYaBMiv6xlWWAn64RqTHVxDRTL6/AJ4JggTGrt3GuUU5N5pTrC55M5pYHqtWZVdQ0EMckKHgIEjtxy4nfWXMPPz5wlzFnD5FeDnR7cL2NwcCRGNoI/3NwLTNGOZdWeaHW/impzfSm5ZgMXmDjsJzFk2jJjGiRI3cybn50Z/lEWJmzntU+xN79gA0plsZ8TEJ4b7FoPLQu7hQ+7lS9z1wcFhdhsfMuq0oUqLpXVCl+LX0nx+UFUlQoC+s9qTJt0XCO83OHC4p6unpw9vN6Szt8c7ncSHhQ8FP2JamWHmZxa7hagyAhc0Nz9Pe876k9sw6F+UDHIWoo0P93e11tXU1NS1d/UPT5BoBJb/68s1ZQ2Qe62JCS7WOVHsTM1ttNlvsRaAzwtEszMcs3hnMnDzs+h9r/A9kvxL732J80hwST35JmvjqJj0NDwlkd3PZ8dYrm8I76X1vLN90j06aRiA3MiixgrCY7M3t9dlAjM/e+6nvwLm/A/c3ABcfvOT5OfSbhOw+YGpqI/a/6AWRo/wYnCWozPT5OxRufUMhU2IRb0vwO0YQLQ5zWiNZr9ExppF3gWb0AqxILM5t31Q3C+We8paYLgLzHVmJ5dLWOqYUGVcQSqCDtL72lqymuj959gxKTsKnuurcZqsNYMhrto/QjACM8/9lDDnZAzU/BxkhOzsX35kea5oSnPzmw4nshBq/42uofc5Gz0M15Z7WJHWxISBPypmogbCoP02awFEHkw0f8ZIMyZjHO+vmGBi920mjvLI8EBPI3pnmcRcG3xMMpFyap8xc0mvkt4LOsGckFvT0T8IxxyfGAXv+3B7mdNitpcdnhBFPm7Py8IxAy/+7Z+sJK75m58mM3OD8wNTBWyun++vRPvfCgqMLnREGSnjQ32NcMFOvCMFmWLia2KIKqDUVaX3+8UqoeiGkr6210VdSF5T0xik+YNq+N2BozfmaU6en2GRLp7nR6fToCP7G/Pt5AZnVmtyAnrKybk1lAMwMYThTpo6VST08KxSld0/vbXInkBvdm4lx0zILOvE26eKhJCI2859BGZuAEx+/SOgAr+S2NnPwNxMMT9w8xKwELD/YPStzqKymrrGupqyfCfQAWt+O72Li6KKCCPXZfTy6B21Q2U1IUXHO2qHAiWZ0WsvONOKFB3vqK2EKiuhM+n9t6fce0Rj2XzR/RnOQISsEPGBkcH+no721taOrsMDI8Rj55XMg2LdS2RWmmAEHDJcWxKloQVG2THR+x4ax1trqcQHosGjjzL/4Zj5X39z7haBCWFlnJ3h/MB3o5ub6+dJeHv0RE9TWX4mrnNwZuVXtpJb0BD7oxr20VhUInSCYugCfDb1Az7MdsFe4v7eFPvyBKsp/Bl+LjKOQuFRhJCU1yD62wCFEJlkv7imM+i1KtleQkzYtTLS8NGQkTHzv/7mb14cAigQVgb4+XkWDQaQ+YGoARtWrZReEJnrVTXOAYLSSDJYpxi6rE9UQxFM1cjdhPiVhXh+a2iKpQDiaFP5MyKdRYoY86SLEH8aZDUCuC5UQmK3IB35HDJCKkFptTSVDdPf5IfrdKYP7wAy4ZiB9uL/YqwMzMxvfmql2RtTzQ9cF3CXyyWGwV2AhQ8q7p8pEV2jBqd4yL626HiWfhhtKYARnYnmz0QWUKAYYP3Fd6RjgJw2O3slaHxzULYzYQgUattQm1w1cF1OcXoHkInADLYfI0z+wUI8z3/9kYWYnd+AuUmbPD9wU4wBcjasyyX+ooRfreTXGEIzLkho7LCHwY+4RlCkjqQD3HjGZadM6c8Yu0gRYxlLBsEWaz6Chn4LVwFh92QJ027yBCgfjVxS4XdqvkPMYAPY3PqF3fLcj5CdOS3P/whE8m8/sDyfNSkocO08L64WlKPjilhgxIadxDoN/0x6rfKVElFBEzJEIWgVA40BH2NMTF4LIHpM4d+lcF0l5f8aBSIMSIvdDIFErLoKE6fBdThGxfmFsbk7ySKbjJm/+THorV/8gKbT/Ms/JQBobiJonk+bzNFu8HOTwuOcjYkxJ6HecMQVafAbnxfYkB6qfAxx5YKpqrIeol9KJDm1P2PkPysiYhyUj60IMxEykKAEw1FmfCHbPyifsZFmPtkeqR/p/kfHzIvXbt769Q+efw5zAn7zEzsNA+DMwD9Fmxm4EuRcSFyHyumXMSZDzI8Rpl/yqA2RGAMw/CfschVqm0U3sDVD4rAKn3ec2p9h26DYKpFfI44V3q+CEkjgMkibPBBlPE22R3di/ydh5sVhNlOD8vh52vMkdPbrKckZ4wB8sBrDX1hp7sMIQ6gYPSXO3WBehp6Qf1Tjbd5R4SY/co2XGj0PQPZLDAhzVWggIJJKck0r9KIkzjC7I72vyt9Ovi/EXYA7UmYRmDl3k4SbSTLAr4pMFuLQ3G4G+iYGTfHbcCOcMkMoDCNCWKI2i5CnZIbC7Yh0jazaIXvKP8NtU4hVTje0Oj6Z2p+R1KfBB/j/ZWMjay7ZLPKX0khQJXEKm6Ma3x7G6+9ImYVh5h9vEieGZAT8yz/QYADJ2rhNkuCVYIQ3IURiDDZVkcaixKEilLEi94vQeHx4qwY6ZS6tyN0oDh41D0B8i2DrErZ5LXOZYUgCNEaToarCo87yJRnvM/V16abc7kgw4XEz4viTODP3ZHgAesoW9pU3rwZF1wjSojKNEZKRIY83QzvIITZptIb1kvDQxa/Rn7JdZphRw/qSnwiHb8iAiXROgsHIb8vw4RcU5KPQUGhK2BEYgm6Tu3RbyXDMkNgyCZYBcKw02Hxn2YGiXaOdFM5BuZS4chJnLaM/TJ8L0xlOYidpdKlLOcMQ/0bM0Fkx8i98RgcHeUZOgubJBNl/KZ51jS99w2fEuIVEJDLEUkAUlR+YRkDoe/y//MB4Xjr52n+vZChmfvabn3CciIiZ9c4yaiXJnCf30JKul2LB6BdMW6QooP9FiZEUBiJNXWdrgkIkqki8V+wh8ll2OJXOGVJxYBIkVemsr1jXU8xoo42V/aS3tKGamkHyGa2/snGUruIdpu/h/fAq68hkaEjtKWvHG0uG1BB7Bp/uKOsi40kbbyrrpx+gH8VPjDdVHibp2tpwXc0JevuwkRp8htc9UEMO/B/BzPM/cNI5TBFl/vnUUeapJYM3nKurGWDXW1NDU/O1E+QZXlxfGRaIB0BpgzU1dG291lfZiCVHoDs6yzoCtLB/F3kGB5lorewJkbmukbrKAfoB+lGcNx2tq+ynvQFd/7+bu37XRpIs7H/mLl6W22FnufSQaApEg0EIBIYBJU4WBQocKHGkZKGjQYHAoSIlBicbGAfmFElwIAWiQT4kZLTNVRdHb7DLBXfv+15V68fuzHnkgZ1hGN68VldXvVfd9b0f9WquoldKNGM3l5ExY5S5SRuROU9ZVsVE1RYLNC+FF+94a4sDUSJTvYaXzoHqCoXtpqY6ZCJgu2rMIzI3nnArzmzKs3Y1wh6urVtdVE2Myi1u6SnpaBxVL1Yna4bvjKmY97/sR2Y61cr7F6TSHmnm2a4upNOYT24eR6a5ykmZiAcdFA8iA5wcKjNMrjYQTSkeweO7MxQZJEyLGikl3GuhUIgzX7dELtB5vqhXosYS6tq0IvK2LgUP2qcShBLNuJmpoe4NUlwjoW5B9YQykyJDCSfhjcBLwKMG23IHKstslZIG8zXOp29haszRXBfJgf7WDNVo5GqXQwNviOY8haxbbfh16wzXkxDNpL/sRbudjjSzLcbo1kBzzKVb2E1UDMED5broKiZbMQLvvuTN4X1/hwTWNWZnS6j6Goc9inxMO2fEWW7gXr7yVpnsQvUgq1t5WISaycVtRAqaSWumhlTxDMcW1CooQo9emRreOPIw3aUvgeeuhWri8OcCVIO7SltRLepgMi1jaW5Q+L7om7KsC48HdKIvLBBSBEpeQYhg5l7zzvzzH0L/+3tziMw+XTPPnKec5MU9uoXTzTnFWL66SCo1U0cVDXl7lIdddp7nOiIDzE5PYUfq+gLlnvgKQswyT63eii0fKnpO+0fPUyUIxXXmLjadNVflfs0kjCGsr0ydG2Ft3o9Njx/WDbGiNrIAAAnPSURBVHhMX0hbpvGIZcOll0JpiZymQbROrt7Hpr1CrUY70FsxynPTXnI9uqnF14Q+DhSPRN1cm3j4unXmv/sLzPcv3lX7G81I94exYbfyTc/EA00yuo7NDQW0bJvGvW4Lk6t9Bp5XwrsDz83fmSaXkpKSRahhLrk6u1FsrvQI2F5s+mzO3QpvzbwM8ggIExMn3p5xyzmsjn/J9zNdOAJuZ+dpONZ7kVo9g1t4CrXcZr5SICGU34jlVnPN/c21Oa6X/tZteASupgtL1EKKtdadXaDh17wzu0wzumJethP9dzTzjA89uwUZoFsEZ/ki9ePdcrwUq/B0SOTx6npPLiyxB8XNN2438iyMl/VfAg9KAo/A10EJopnvIDeHNxDLlHP6D3gf+KcIP0ECg/UU/vG8zDe3u4tpXeiKv6q8HeV/95p3BrExZme+aDPAhzWzZZz1eNDZbuSHMtgbptuTi91RvIi6IDpyirls0x3z8iI8Mf/u7NuN04jeYralBePsbB6mxREFxLeZ+henWE38lky3mix1c4l7mmrdLTSX6ZYNt5wQYQOAzzYsE2ntfG79eWjzWekUOfmdaXmXpe4IOGWBCZrxB2vLJ2OmfnRQ+slw2XThR6QUv8kqIRygPn3ycllO/IsTKHz/pxsvF2lOt8i4dLaTlfJcVoo5+/bsG5wiL/8ZGKNbEWQ58V+8TdeY5IASEH1p4lvcXUyb2KSEx85ISdNYTlgJMpflJOoAI2TFg/AI/N3QmPYa8yC7NljPMDahempgnfw1+099twvgRZvOPqKZrdqJtmfMtXawpNaCQ4ccB6gbLiJCmRvyFu9MfE+5jBumSSvOBYrLySVhssU2CCoJq3vracfDlwyiH+D1yDdX35y94e4Khc63ATorECE4KamIQCQRIBIDiFjpnmlt0LRS8m1eNUogAoQzIowHD6XNlTfkDi4Aw/EBhc/5qZoxfufMB339L9fMM32DCp2523dHAa4CHHvgiskNuErArHC1AdyzEcBs2lxQhIoAmN0T4GoS4KqWSF3GIo1ECwwrGtwSOiOtENSbszcA7xl7gAKrVsH7I/tS9goI3KDBomt8Xzx4x1sYYLwH72gZ0I/gnT1gTwOgB2SvhOZu0dydHg51smZ+5ObmVy0wQTPq0Szu0K1bQmd0FVOsSAiTIY0jCp+L0sSzatjhE0bqAguXN/Eyq/gbs9MtIKsrzk5Dww7F4Pw8BfXm7C+w0gVVtIJtvjg30TtoH5TY5qDSRlXMYVwdi8GLHZcCAsX8H2hVZqH6weDljLCbyyotaZkcPeHdYUc6fA3xJJi5zaU2rJY0fc2naQZA+f/5+l+smWdFVsumqTaQlLdHTeOocsnqpvBZlFQFu7Zh8hjdY+v61agCs8W6gYxcTY+rqlEDBh6G85QmhfB4gBndIuc4MxFeh0prTdQdf3OWzNQ1tByQwlcn6afel3NE4XfjZLhmBmB+37vz6FgpHP046j2qK0yam+r6lpW81Q0cZfwqsznIYBEaPvmd+Umz/z7q63+xZnSdgfMsWbDCOykOxE2SG51DbkoKrrVZMvDuxcfeCB90Ge9d797DG1IAx+thb6I/S/vJXB2I61FvrHJ5Ig9XtTlAkFly9vW+h5NoiY7VkndMFftUntF3GjKlWZiGjWTqSLbqhD7gBSe0Rj93DZ+MzX55X6l0XrnABM08+xhUKY3s0Ad8KI3sUC78mY5XXfugNJxw6Ei2+3fY4KY/fMTXZ29piRQeLfr9aLlFyqTmyB3y1PrkVSJhUurd1xxLNrJrrrAlb3dV4z0FqL1HnKYZ80Pjo5sxPk0zW3am0PBkGK+XC8kwXnZ/nxdiBNbHA3aUPZAGMFjZnIo+PEwfq9JgtNmlvc49P1Bu0r2aqCv6vnO90C/PtHs1ZuU59xB4dtROVmrIjzqJpq+v++3hhlBSmrvTRmZyq34hn4RH/C28DkMOmafwOo873fmp3hlTiX98hQVzpJln+cR3O4/+w93pMiaSufFV10dC7jqarh94kIbwvItg2O6vGQ/IPGXzVdIeWXqjFtedBx9i6XanPk5y3bmnDArh+Q/e5AoUogBY/LnzxqXIgycIlIU+uuBalNaFN1PfJgFBBrBoWAJFF/8OrUh4uwf4gGHxZ4kqLu+8NVceGkZkoIZROoQXABHh2zSRwICTNPPD3z666e9TNbPNlw1Dx7zMIXaLC31NcMoTHMb3Mg5d/Oc1E9WxCnPxv+TRIf0qYUDGxZ8UKlQZLcWHhV5d9Qgq1KnLtfBoNJCHYEvG8IKgshAFMLsoAGuK+CgA+3IUBUABRkBE1JI/igJcwNKaeY+/v5UQcV5CREYGboIpY0j1FaefpJm/vxopH2jmuXhEZ3hcxo0JRsONmg+oOmU0CuCNC40CmBAFuFDzQV4BGBL1FSq/14LRUBoSP/tbUS0YtyIK8PNIzQeYMmUUIKfbnnhaLA6odes9/qlOaOE9+hACeNI/0ZthEdaiJ7wLRgEuo1p0halGjz+DClM8TYFhQyMDGSYiQx1WbdsHgny13E7SzOf98+tW7WGGKR4gjZkPKnlqoAYlCibiPMcJfid681GAK5HBJTc1kkLMdyPaqvaKzHv8acuPeSu+JZ4nt4o9aWDLU4N4abnOPDTVHZ/lw7h+w0D1phfT2y0PGZ7XB1witsK7o3tu2Y7fTZTqeKqYtWJ6u7PisRl3oSwxeerxQL+xY/DY3KgR9wkq3e15XaltEjduT1xnPrNmZJ25a8QJDMXc9rVbIg+hGP+w627cHKs1EHg5eI8aHbmMWxoJSdtxi0aIm7yLO/Qqurtm3NvS4z+IG0Nda+8bcY+Rgfwmrg/pq3E39XgYogCrpdVUGaH8diW3XHkc5pZLX3NDeIoMnU03LlBr77TbpFYRn1unzpXN+WSHdZp7HpsjIluV1BJFZr4EzWx9tyhBdnVbdloDFhxvdshbBt9/RrlkJcWIicoljHe7a5gxgqVGQkoxh6ua1ZR7M0M9214hNqQnKnQkbHA+fyd3NqQtlXvmbMDptmwOlM/lcSXPqia3/iozR06PAnxmzTwHP7+aXX5y2pJny5H/hve7ctGrIaXJC9Lz1OPsQhJg7kLOE68yq2k/6Skcg24PuEdJVJ6rZMhT9tlVZQbhfi5oVv58l48ZUgbLpNsvQTPb3bB3mY2+f/v5l54XxrGXthmu7sukTP/O9m6yIfU1pKQd7rLQd6ZssTwGfa8Xdj9d3O76aXc68rIOO9CsH1P5uGx/K1dWdrYcg8/R/AI081wKMXRxX1p5uRmj3IpSJjrawLOBd5i7XQpyp8aszAI/ykHGj96e/fnt26++lL9//aP//PrVHy4D//ftn/4Hjz2wigAOmqwAAAAASUVORK5CYII\u003d","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"iframe_height_px":230,"iframe_width_px":409,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios3_fp.json b/components/test/data/search_provider_logos/ddljson_ios3_fp.json
index f64db50..293a5ea4 100644
--- a/components/test/data/search_provider_logos/ddljson_ios3_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_ios3_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"Hedy Lamarr\u0027s 101st birthday","cta_log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:26,type:1,cta:1","doodle_type":"VIDEO","fingerprint":"5a5c777a","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d24101651\u0026hl\u003den\u0026data_push_epoch\u003d2000000003","gallery_url":"http://www.google.com/doodles/hedy-lamarrs-101st-birthday?hl\u003den","header_layout":"LEGACY","id":24101651,"iframe_height_px":230,"iframe_width_px":409,"intent":"BUILTIN","large_cta_image":{"height":230,"image_id":5910974510923776,"image_name":"StaticCTA","is_animated_gif":false,"slot":26,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-scta.png","width":409},"large_image":{"alternate_url":"https://lh3.googleusercontent.com/N3wSsA1KchbJFobk3TmC0SOeSoGhwSyQPlISjqSUMpBN1frPmUCJJcZmPat7uZUguaNt_x5qbbdBgsHLMSQKy_oK5UbB5dn_i_6TtsiK","height":230,"image_id":5066549580791808,"image_name":"LargeAnimatedWhiteCTA","is_animated_gif":true,"slot":27,"url":"/logos/doodles/2015/hedy-lamarrs-101st-birthday-5679746450980864.2-hp.gif","width":409},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:24101651,slot:27,type:2,cta:0","search_url":"/search?q\u003dHedy+Lamarr\u0026oi\u003dddle\u0026ct\u003dhedy-lamarrs-101st-birthday-5679746450980864\u0026hl\u003den","share_text":"Actress and Inventor Hedy Lamarr\u0027s 101st birthday #GoogleDoodle\nhttps://g.co/doodle/pzx7av","short_link":"//g.co/doodle/pzx7av","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"//www.youtube.com/watch?v\u003dZ0gu2QhV1dc\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios4.json b/components/test/data/search_provider_logos/ddljson_ios4.json
index a2adcfc..5f11702b 100644
--- a/components/test/data/search_provider_logos/ddljson_ios4.json
+++ b/components/test/data/search_provider_logos/ddljson_ios4.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","data_uri":"data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwP/2wBDAQEBAQEBAQIBAQICAgECAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCADhAZADAREAAhEBAxEB/8QAHwAAAAUFAQEAAAAAAAAAAAAAAAECCQoDBQYHCAQL/8QAZhAAAQIEBQIDBQEJBwoRCwUBAQIDBAUGEQAHEiExCEETIlEJFDJhcYEVFiMkQpGhscEXGDNSctHwGSUmNDZHYoLC8ScoNThDREVGU1VWWHOSstXhN1djZGV0dpOXs9JUZoOGtLb/xAAeAQAABgMBAQAAAAAAAAAAAAAAAQIDBwgEBQYJCv/EAGIRAAECAwUDBgcJCQwHBwMFAAECAwAEEQUGEiExB0FREyJhcYGRCBQyobHB0RUXI0JScpLh8AkWM1NUYnOTshgkNDU3Q4Kz0tPi8TZWdHWUosIlJkRVY4O0OEXjJyhGZKP/2gAMAwEAAhEDEQA/AERKl+9xw8Z+3vcbw+6L/jr/AD598fO3aYT4ynmp8lO4cB0R6SyhqdTpxg4Zp9+yWzEqIPAdd4vYX8/yxhzK221ErwAZbhw6ozcKlKNK98XSFZT4wTFJjdikBTa3jtchRLYXdQ9bHGA8s4KtYO0D0w4hKcVF4uysZK5KJSoJcho2McAQbpS2+UuLTc2upwWBSd1DYAHnY41iZybBKXUIGfEZDu82sZhl5ciqFKPYYQ3IoN16HaS/FMLiV+CPeHXEMhSl6Qrxg4UpbSdiTsPrhSp95CFLKUqSgVyAJ04U16ISmVaUoJBUCTTOMth8u4CLUENzZwrcZcSoN+9Btl1tYSke9Fzww8tRATcAEX9Mady8swwMSmRhBGuGpBHyaVoN/ZxjOFlNLNAvMjdXXrjYMlyjlb0IXApTsIHVP+LExL4Wz5UtqhVq8bU+8VI1EgBO+wAxzc9fKbQ9hIAepSiUih34tMhu4xsGbGlyjiitcycujXOM3g8p6PS21aDL7jbifFLz7rg1FNxfS8NY/wAHtjQvXwtoqPPwpIyoAPV54zUWTJADmVNd9YvswyvpmJYRDGWoSgabBoqaUkD4dSkaVaL8C5tjAl71Wq04XQ6SenP0xkOWbKrTgKBh6I9kuyhpVtlTAhC6hRufEdWshQv8P5Vgr54Ymb5WupeMroRwAEKbsqUSnCE1EZPA5YUnAp8knhXgm4s6guKIOygdSgTYcdxjVTF6rXmDm+tJ6DT0RkIs6VQMkJp1R62su6JDmoSCC1qUoqKkHUSTqA+IK0p4HoMMrvJbpTQzC8NOMKEjJ1ryaa9UZBB0xTcCEJg5LAMAK1ENQzXmIVdQVrSrZRtc/FtzjXPWracxUvvuKy3qP29XRGQhiXRkhCR1CPQ7T0hfJUuUwKVKWVKUiHZbWpR+ImyEgqUABcC+2G0WlaDYol5ylOJMK5Bk6pFeyKZpelidX3AlalAghSoRpV1AbqIKSNRO5wr3WtYCnjDoHzjCfF5Y5lCe6BB0tTEElKYaSQKEpcW8Lt+IpTqzdSnFOFSnN+Aq4AFhgPWtar5q6+4TSmtMhwpp2awaZeWSOagcYubsulLyfCdlkvW2SklK4VohRbCwg/CCNHiKt3BUcYiJmcbONDrgV0KO+le+g7ocLbRFCBTqhSZXJvi+5svvpSiwhWRslNkpF02CUjbBGandOVcpWvlGBybW5KYqe4Sy3lgoNB1pJWIZgKsLbXCQqxt88J8Ymt61kU4mDwI4CFrhYF1KkuQ0K4hwFKtbDbhUk2BTqWlSwCPQjCQ7MIIKVLBHAkejKBhQRoDFliaSpKLUVxVPSWIWVJJW5AsqXdGyfiBACU9gADyd8Z7Vs2wyMLUy+kcAo0hpUrKr8ttBPSBHiXQVErQ22qmZOUIWhxI9zSTraFmytwFK3bW7kgncg4fTeG3QSoTT+IgjyuOtBoPTwhJkZMinJIp1R7GqRpNq/h07Jxc6ipUAwohQFgR4jS7H9uGV2zbC/KmXvpn1EQoSkqNG0fREGqlaXSgg0/LnAXG3Qn3SGKgpCkLQEKIQoN6kX0k2IuDsSMELXtYqymXQaEeUrfWtdc89erfnA8Wl6eQnuj0CmqYGofcGToClLWo+4QadSlbmxLeoJ9Bxhs2pav5Q8cgPLV7YPxeXHxEdwhJpalyS4ZDK0klNrQcPYaUm2kIRdN73O+53ODFrWtTD4w7T5x9cDxaXrXAnuEV0yCRIBSmUwASq10mEa0kk2PxIJ3HO9yMNm0bQOZecqPzj7YVyDXyR3Qh2nKcdSA7JZaUA3SPdWhYpVyLJvtfBotO00GqH3a/OMEZdk6oT3QbdM04mykSWXA6wu5hGFeYdwVIUd7C/rgKtW0zkp9ylKeUYHi7A+ImvVFwVLJUspU5LYFZSkgKMDCGwuCQLND09MYwmptIIS64AT8pXthZQ2dUjugzLpVteAg/K4HE/ikNdK76rj8He998EJmb3OL0p5StO+BybfyR3CKxg4BXxQsMpJBC0qZZKXQQAAtJQQq3z5wjlpgaLVXrOXng8KOAjzrlcnWgIVLZcpGoEBUGzcLAsk3DYVqSO9zhwTU6FYg66FU+UdO+C5NvTCnuEeYSKQNeGBJpaS0kBClwTTq9rDWpa0FTjm3xG6vnh0z9oqqS+7Q60UQOqlch0aQXIsgeQnLogGTSAuNu/cqXhTIcDdoRoJBdBStWjw9JWb7G18AT1ohJRyzlFUrzju03wORarXCnLogzJJApISJLKCE3sBAQVzwSNRYKhci5AI3wXj1og1L71fnq9sFyTJ+InuEE7IqdW14DkilHhEEBH3PhkhIsQfhbSoG3G98Gi0LSSvlEzD2PjjV7YBZZIwlCadQi3KpKkUgINOSlKEi4DcGykA7WJ2BubYyhbFsk4vGnqniowjxWVGXJo7opP0xTzyVeHJJcwspISpMIjSSdwtW41ELAJ4O2FN2raSCMT7qh86CMuyRkgd0Y1FZf0+9DOtGDhQt1kpDiodRSlwkFbrbJcAVdW+kkbbXtjas3itFDoVjXhB0xbtwJp5+3WMdUkwpNMIz6PVGMqynpBD63Uykva3C6Vri40NBZ3Cy0h9LesE+U28u3oMbUXvtkthJepQUySitOsitOPGMY2XJ4qhFTWupp6Ytr+UtFlZSZVoSiGLPiNxcWmIS2bkuFxUQFLfJvdz4wO+Mlu+FuBNeWrVVaFKaV4Uw5Do0htVlSRPkbqVqa+nXp1izt5SU17w4qFgPwbSFa2VRT6nfCWAApCi+NaVX3/ACrb4zFXxtXkwHXOcTkcIpXpyy9ENCyZTFVKBTrPtjEKpytp9t2IimHX2laYVCCyXjDsBKA2WzCpcKosqcCTdBSUC4II3G6sm9loqQllwJUKq1pU51ripzcq6g1NCKRiTNkyylFaag0Gmndv/wA41fO6Ig5c2xFMzCIiYV0w6XGvCiGY1lyIJPh+661h15tsbhJGngjbHVyFuvTKlMrbSl4YqGoKSBvxUFATx14xq5izm2wFhRLeXGufRxEWBqUS9x9EMozNDLjyUlbSVxD6kLClJW22h3xFo8u+kbC57Y2S5yYS2XByRcCdDQCvAmlAeuMZMu0VYOfhJ6zAmsvlcKsIYcj3w0FoWltMQ2dTZUnxHnFqCVNpWQhSkjY3HpgpSYmnU4nA2mtCK0Ou4DjvAPtgPtMINElRpwr5/RWMafhIly6m0xDelW4Lzo02TdIOpeok42jbzSMlFJy4D2RhqbUrMAjvi0OtuIXpLj5J3H4d4nfe3x3xmoUlSa0TTqHshgpoc695hDJWYiFHivbxcMAPGesSIhvY+fe5/Pg14Q0s0T5Ctw+SeiCT5QpXyh6Y9KIF96LmCww68yxFRq3VNJCglBjHxvuDcnbbGVbb7bcyhOIJWoJArxoIZs9pSs6EpAzjY9N0a+54QiFqh1xa/wAD5VONONONKUk+K2PDQltxBQ4o30E8c4462bbaYJcCQ4gDStCCMjkczUZgb+Mb1Ui4lsKScKyevKn2EZjMJBKKfg1TapY+XSiQSWyZ3Po6LhpLJ5ewmHU4l6Km8apphlvSrUpatK3FXFrJudZZj1sW6/4vYko6/MOiqEALWczQZJrStCAMxTMVJpDz6rPabQqYfDOCoV5IxHgMXnIpnrHO0860+g6XOiAi+o2hPEg2HoeIMmNUTEJBVofhm4iX06YB0lxJVcLUFcg74mSz/Br2/TiBOSlkFZdIUlp1SEV6ytYUmg3GhyoY0b17rpIUGFTqeUFRoNOtNR0xY4Xrz6EZfBpKOomlIp9SQVJMqqq4Qgt+CLqpm3itJQUkfDpWTcqxsnvBZ8IiYdOK7zSW/wDam9TWv89odeNRwhLd8brtIynUE9Xd8X7dcZZJuvzoSiEhMX1BURCKfWQsqgKwbaSnQVq1rTTpSEpKbhWgrV8I5xorR8Frbok/vWzXFUHy2Tn+sr3Zb4yG773TpUzqAerzeTSO9ctoujMyqSkdYZZ1ZJa1oycB1coqilo5uPk8dodLES0FgpLMVCvjw32XUoeYcBS4lJBGK5X2sK3LgW6uwr1sEW6QByBqlSSQCkkimoNU0JBBrmI62yJyUnZUWmzMhyRWKoGQpSoOY1zB46ERqVPWv0ZQFfQeVLHUJl9M8wo2qYOjIWnZMqdz5D9VzKPblUHJfu1KpNGSRTn3UWlh55EUG21Kte6TjvWfBk22zt13L2zFmOy9loYLwKikLLISVFeAqCgAnnAFNSMwDGsavpYrk6uz0uDlwoAdZ1AyIyjsUQQYLjS2ylSXClSVFLikrQSladVgFBKhYHuN8VuW6tt9cu6auoJFRkPNHaMnE0FKzCsxFVKG0nypSCnggAGx+gHOEFSjqTSHRQRqvODOnLDIWh5jmZnDWsroai5YosLjpk2/ExMzjgCUyiSSuBYiZpOZs6AdDEM0tV7FZQi6xIuz/ZxeXateRu7ty5JxTq9VDyUCmalqWcKQOKiBu1IjW2/b9lXeky/PqGKnE16KAcYaYqD26nTzARsS3TGSGeVTy9D5Zg5nExtDUg5GQ6fKmLErm8TMoqED5Fw2tal2O53xchH3PS+7aUonbw2SzM4QVIUxNLUkkVzU3RByNQUilOOsQjNbd5GUeVLplFuBJ8qhoa55UWNNIx9Ht4MoySf3tOdiwLW01xlgCNzyfC742En9zovdPBQRe+7Mvhp/CJeeTir8iik1pTPXUQwfCBkxrIEdeL+8hSvbw5Rgb9M2dukW/hK3ywKQPqGgecPTH3OC98qyp83zum6BTmsszxcNTTmgrUDTU5HKsOs7fZR9wNJkcz0K/vIuEq9u1kZFRLbU26fM7pJCKeaS7MYeo8vZ4tqGUSH1tyqGdhFOvsggpHiDVe2NWfuet7DQJvPYxWTvlZwec0183TGcnbZL4qrklYKaAKBr14zl0U7YdK6fuqHI/qlpeJqrJGuIWo2pQiHFV0vHQjsmraiYqJUtpuFqymoxRj4FL7qFBuKZVEwTxB0ujg1X2ubCb9bFbRblb1S6nZZ2uB5APJrAOZSpOWWVUk4hXnAGJMuze+x7xo5OWV++eBOdSOHo9cdANnUkKBNrm17fMdwDtbEOzQbS+Q0KIoMuGWfnjqUNONJwOqxLG+gz4dwiooi1t7fMD7dt9rDGOAawonKCUVFCw3pSQkq1BCnNASN1+EFanLJ4A3PbCkhsrHLKKG+Oue4dpyru1ht1aW2itRwpG+G/OrL2lPTt0jTt2h5+7UOZua8KlD82ywoIQSoqlURMO3GQSaxqeZ+7yOQKiod0KDX4xEIFgtoHc202K+CRtE21SqbUEu1Yd1qDBPPqURMHOobbJUrL5eFKTnQ5UiNbc2pWFZDhkjUzY3gVHaKjXr1jgdft66R8UhnpXrMtgGyY3M2nG3TvsT7vTrjRFv8AC+zFjR9zRtcjnXnYB6GwfSB6I4lW3IHSQcA6x7ISfb1UwbaelWph2P8AopSMk/Z97gthY+5o2nTnXoar+jRCffxGniDtfnD2Qf8AV66YAH+lWqj52zUkW9v/AOuYMfc0bSCSTedn9WjLzQY24p3yLv0vqjZWWXtxunyp6ggZDmdlTmRlJL491CYisGJhLcwqeljzzqQhybQ0jhYKpYKXeDu880xEBnkIUBbHH3q+5230siy3p2wLck56ebTzGSkNqWKioqaN4tcPOqTQHMxm2ZtmRaE63JvSrjLazmvXDTPMb9KaCHlabqKSVhI5RV9KVFKKrpCooKHmtP1JIIliYSScy2LSpUNFy6OhwWYhshCkqAs42tKkuJQsKSKJXksCbujbD12bdk1s2rLrKFlWJKgRrVJpQ9m8bom2zLVs61ZZLsoQVEA618+ns0i+7ncbgnknkWvf9OOVy3xlmu6FC4PP6eP084GUGK1hKllIF723sbHaw1Hi4CQkXJOMhpmWWw6889ybiKYU0qV14cKeuGXA5yqFheFlNcQyz4a8OiNIZvdT3Tr0+xUJLs7s56Dy7mkZDiMh5HPJm65Ua4ZwAtxD0kk8BNpxBwz1x4aohhhDlxoUrErXB2EbW9pwExc2w3X5TOi1kttKIrUcotSU1yOQVXopHM2reuy7OfHKPBDINFaZcDnuzGY1640L/VQPZ+2BHUvR+4JsqTVugp3Isk/e2Sobc7X9MSiPAr8JM1/7tsf8W1/exrvfAu0NZ5vuJ/6YL+qgez+uf9MvRu//ALKra/03pi2D/cVeEn/q3L/8W1/fQfvg3Y/Lm69R9kbMyp63OknPKq4Shsp8+qEq6tJj7wZVSjSpzKJ3Nfc4ZcXFJlLE8lkrh5o6zDNqcLbbhe0pOlCscffnwZNtFx7FNtXhsRUpJS6Ty7iHEOoFTVJJSteHKg3VOVYy5G+ti2g8JaUfC1V8qmR76ebhGzM388co8haehquzozJprLSm4mOMugY+pI1bDk3mBZEQYOVS2Fh4ybTN9mGOtYh4ZwNpIK1IuLx7cDZle7apayrH2fyTs9NpSFOUFEsJqRiWskIAUQaYlA1FBWM+2Ly2ZdtkP2k8lSXckjSlNdN+ememcW3JvP8Ayh6jZBNqryPzAltf05IpqKfm83lMHN4VuCnQhUxwlbcLOJbARL0U9BvocStIW2AbXub43V+dk15Nk1tM3c2iy4lJibZLrbxOJKUJCs+YopzWnAQrPOoGUOWHeiyrcljMylVITWu7PLU8OgZ56xgubvWp0tZD1aig8485KcoKsVSmAnyaemkBUj8UiUTQOKl0UXpbKI+EcS8lpQ2WDqSRbvjeXJ8HPajtAuu7ea5sgq0JLlC2hYU2gFaaFQGNac6EHMECozjR2xf2yLGXyUwTj6j35RrWG9px0COPJaHUxQjXinTrel1attIU5fdbv3teGxf8pawUDe/qOo/cg+EGzLFTt3lOv0yAeZr1ZPAHoG/QZw0raJdRCa+OpJ6v8PrjtCnqjp6q5BKqppOdyuoaUnMnankjqSSzCHj5NNZG80IhM0g5kIkw6oRLNytxTiA1pOvQUkCCbVurbFj22u6lqy7rF7eVShUuoZtrIqlJy1UnnUNaVyjo5S1JScs5Nry0ylcksHCctxp6RHIs+9pD0E01NI2SzHqdy9iI2Xvrh4tUr++adwTMU0SHoZmbSyn4iAmQaIsXmFrYJ2SskHE8WT4H/hC2tINzEld0LUU4ip15tklKvI5inEkHI1BAOm4iNCu/13kLLUxMpaWnLMeV0ilR59+cXSg/aCdFmaVZU3l1l9n1S1UVxWEyblFNU9BQFWw8XOJitp15MEw/GU8xCMLW0yo61rCUgXPGNde7wUdvVy7tzd6rxWE1K2FJNhbzqZhpwtoKkpxYA6SoVUAaAmhhyWvrYU+8mUk5xC5pdcKQNaAk7twBMdaLUoJTuAqwUdKvES0pQuplLhBK/BN0lW2oi/BxXpKQXSwfwo+2kdlL/CN1XmawZsRtyQb2UeDsSAObnCcxBRblwL7iiGUh5S/g8viLBNxYoJSVE32FxfjGyln2JlbUg02ROFVCoE0Ncxl0DgIYeJSgqSaEa/YxwhNvaI9Dclm00kc26j6QgpxI5jHSebS52V1kDAzOWPuQEbDuOt0yEvLajGFhQSpaARYKOLPSngk7brQsyWtOQs9S2JlsOJJU0KoUApCgCvRSTUZVpmRHFzF9bvSrhYm5oNOpJGhzNc926KVI9c3RfmFVEvpKkc/qFnFUT6NZlclk7653J1zaPi1BENBS+MnUplsu96ilnShtTwU4ryJupQBctPwY9tV1bJdt+1bIW/Z8q2VrQkpJppio0sr+Drj0A5ueVYalb6Xam5tEsxNJcdWaAaV8w8xjcGYFR0XlVIptV+Zc9kuXtDyEe8TWop/EKgpawsqTDw0JdSH33FvRLoQmFaQ7FPrNm07G0cXOuxbt+VKsy66HJ+9ZVhTKpAxYa85VSUiqaeUSEpGajG1tK0JORkzOcoA3ruy4cagjP/OOH/39HQmieImKOpylVoSwtQSZTWDa2olSEtOuRC002nxXYgJJVYW0qtzc4sd+5d8IgyBlVXaZxE5/vpqmGtQB8LkE7ukcI5EXvuvy/KifRWnA6765amLlUHXp0HRMucTDdQtFF5DDcNBJallYL90AU0UlpDlONIdZbKF+VRIGsnffGBZ/gt7fZecxTtlFsYsS0B1lQVkdVcoczUEkcKZQ2/fW6ilqbVPt5AACmQ0Pya09sbtoydZZ5y0x9/WU1fUvW9JpiVSMzGlnHY8szlLcNEPQUbCutQ8xh1ttxza9EQ2h1LV9IKQMRteq7d7NnEz7k3zk3pa1HlYmgsgBSEeXnmAaFOaapUojOtY3MnOWVbjan7KmklDQAUKJJz00rlllU1pu0jljNjqU6bMo6qmdFVznLRcmq6WxXgxdOhczm81lSrp0NThqTy+OZlkS6haV+C674yAqykIPEx3X2J7Tr12RKWzZFmvKst5slTtUpSTSvNC1ArGRTVAw13xzM9b1mys2JJ1wcoSaccq67h25xseFHirlcS2QpqLdlsTDqTcqWw+pp5l4gpRp95aWHEggFKSARfHDTrCZCZeZf5zTKVJWOkAgivXD6VPOFL7Z+BKhuHGNtSWSQJjnUOlzVFxsW20lxaoRT34++HVQv4NyxIA1KWlQ03tYkHHIXnnpgTFUUohIJoMVMssWY7ACDXWoBjfWPLt1GKtVDKuVeqN7wkolkBCsRLyf6xtQLr0bER6XCw3Bsh16NcLbzgQhhttkuuqIAJTva5xwTipi0rSlZFpdbQedSMKKVSSqicxXEaaDgaCtI6V3k5ULcWKshI1rw9Z1MROeufrKqzq0zBi5bL4yZybIuk5nGw+XNIpeWmFnjcJGuMqr2sIRwqam9RTlaVKhy9qRBQxQhoAEk+2WwzY9YWyu7rcy+wh68k22kvO0CSigI5JulcISFUcIIUpeLOgAFQ753ictu2HJZSFplJdRw0XkrFvOQ0pl0dMcQFkoVwsg3tuFaQTYAq5JA74nF2aDw5AJCJDehHNUaaUXQ0zpXI1GUceqWs5ZxOMrUrjyh9kVEsJ2ukcnsN/nbvjFLVnfJmf1w/sQPE7J3sufrD7I9aEoSLEE+m9tJ7G2/GM5+1HHq0baGXyRC/FbKp+AX+sPsjqXJ3q/zvyNyVzoyKy/qiLlNH51Q8vbj4mHiXWZrRsWiKH3yTKi4gBX3Fja0kSBLZgpuxLN3UkPHViGr6bHdn9/b6WNf28NnsPW9ZBOak1S+BXkkrSKApZJqgLx55HmUSOls+80/ZciLLkVLRICtE4q0xGqs6byTXLz5xhPS8yyx1K9OjMO0mHabzuymbbYaUsstNGvJMtLaPEK3VBtSiEqWpSyi2oki57najOi07jW2+EJblxIrDSBQ8mOQdCudQYiqgJNBpGNd0zr16WJgvqCVOJ5tOBG+sT0I4fj0YL/AO2orc7k/hnObWvxj5oH/gpqcKhiWHCK6fHpXfF5mjRlgDTAP2YoNs+K4hoKCXHXEMpKgA2hTiglKnFKulKbnuCMZrskpFoNSDSsSncOdKUxU3Z1pWH3CW0KXSoCSctcgTkOMQt/aPdTtQdTXU7XbpmsQ9ljlZUtRZe5TyBp55EpgJVT8wclE3n5g0qS09OKqm0teiX4hzW4Gg0yhQZShI+gbwYNklhbHtlLPjMmJq3Zlhtx94gNq5VwcogEUXVDSVpSEVAKsSjzjlSe+157Qt20MLpKGwsgCtcgadGtNY4TSoJABGs2Hncspe3YkaRYcD0GJ1Yta1W2ghU3NVHyVISnPMUCm1EfSOelBlHJ/Cs/BIUMI6OOcHqvwAnfgAi/G53/ADYUq1Jl3+FOPvU0xqQacaUbGu/XSAHX95Sf6IgXI7g9rHcEk24Ku2CTaS2zjYLjbo0UkoCh1HkzqMtNIMPzKTibUlK+OEQoEixsi43Pl4POwudwcOe7Vpa+Nzv6xv8AuYV45aX47/lHtjb/AE/Z7110y5s0pnPl5M3ZdNqTjQqdwBiXkSqrKMiHvEqOl6hh2yj3uXzaEUtJbFkIe0OJSCgY4zaRcCxNpl2BdO3mwt60pRbofoCWXUpUUOJQcipJACjiGJJUk5HLc2BbExd2dlbQZqsOuAYa0pmN+deI0oaERO/k82gKgkslqOVeJ9y6lk0pqOW+KQXvcJ9LoaawvilISFOeDFpubC+PmvtSVXZ9rTdnOmrktNvsk0pUtOrbrTOlcNaVy0i8MhMKm5JqZWOctIOWnDLoj3K77W/OPpbnDMszy7obrQUJrrpGXTInhHMfWXntHdNPTNmznBJQz990jp1MqoNuIstpdc1S83I6aecaK0B+GlsTGGLeF9kMHticvBo2ZWRte2ryF1rxhRu4S6p5KdVhppbgQT8UKUkA65ZRw98rfVZN35mcS1jUgJFCqnlKCdabia9NKRB6mkwmk5msyn08mkbPZ/PY+Inc8nsyiFxkwnc3mKzEzCbx0Y4S4/GRsQ4pS72CNkpASBj6BpB5dn3bbuhLpabu4yAG2WkBvk0p8lCVZnCkAAV1zJzMU3mWTOWmq0ZpRWFGuH6+PZHht/hbHgWJ4522wWCzvxLn60/2YR47O/LT9H64OwAG/wCgm/5iMMLlbPWoq5NwV/8AUP8AZgeOzvy0/R+uC2PoTvbk/TvtucNmTkNyHP1h9kDx2e/GD6P1wEkoOsICinhKlOJQVcAlTSkPJsdwUqSoHvjMlUWdLPB5LClqSlWSl1BGE1BFOFYbcnJ4ooHACSMwKHXrh8b2J/UXVMkzanHSpN5lETPLquabqGr6Bl8a6pZo+vqVYRNZ4iRNIAYlsprSSKcdmLTSUNOR8O08kBSlhVBPDw2d3etnZidqUqwmWteTfQ2tQAWpxtRCUha+aSpBGFBIJDZwmoSkiaNlF4JmzbfFhuVcbcQTixUw5Z0Tnxrrr2xJo2JKvtB3ub97cD6Y8feiLOgUygySkAggm4+I6bDknYHgDvh1pkOsPPE4Q0BQa4id1d3ngml43VoVkE0z41ENu+0z62Jl0g5QymX5dqhF52ZsREylNFRkY0mJhaJkEvZSxPcwYuDKgiLiZbHRsPCSxp4KYVMXgpYIaOLb+CFsFs7a/eV6370IcN3bJW0osgZTK1lWFsL+LmiqiMwgKIzAiLNpl83busMSUq1yjszygKgvDyZSE7qGo53RXLOlREP+aTGZT2bTSoagm00qKoZ1Fe/zeoJ5GOzCcTWNVqL0TNZhEqcjJjFKcWopU64oMA6G0pRYY9x35GyrHlZWxbJlkyljoaoWWyE6CowEJAQK+UAiqvjEnOKrTjs7OOrcnnluSizVTeYJ4c6p0NDpuplHjsTyB9vP68Yvi9mfJmf13/44wvFbJ/EOfrD7IFj/AE/z4Hi9mfImf13/AOOB4pZP4hz9YfZHulUxmlPzmUVJTk0jpBU1PTKBnkgqCWO+BNJNPJS6IiUzKXxPxw7kviQHEhNgtXxXBth17xCbsGfuzaMuiasedSE4HaKKUn8IlSqArDgqPilIpQ1FYyZSamLPcJkFqbZHkpqSUnr3556dEb86puqDM/q6zNZzPzTjmlRcBTkrpaQ07LXHWZDT8shJZDQk4dljKipcPH1VM0xEfMHUkKefiAn4G0jHDbItm1w9jNhCxbnWchtxcyp550kVeUo0axJw1+BTzUgqUNSACTXaW5b9pW7JBqbcVjbFEnWlRnQdNB5uEP7ewtQVdOGbpQ44jw88bFXlLjiVUVJGbnQG20q0L7AD6Y81/uic2t/aBZDFoAOMvy5KsICCCHF0oaKoMxlTd0xPuxVPi13XGXqvKUaVOWpT16Q1B7WGrJrV/WZVEVN0wiX5PSlP05CGChzDIMulEXNoeDLyC45riQ0LKXff0xd3wSLJRdDY2zK2SUBLlV1UgKoVjPU65ZmI82uOf96EWIzVAcFcda0yrpv14w24CE3sD8SFAKOpOppaVpKk7BekpuAdr8gjFk02/bfIFhx1lSCN7ScvPET+K2X+JX+sPsjpah+rXOzL3p1zK6XaZqqMgsr8ypxKJq6w3EPtzilYKHeiHqrp2lZi24l6USHMBamDM4ZopbuwoNhKX3gqIrw7I9nt5b92ZtLtGzJdV85BCg4+UgiYVQpZWpFKBTCDRKlcoSaEnmpA6Ni8loSVkosWRUtuz0E0TiJoCoqIrlkSftUxzWlKUNttNpShtlCG0BCEthSG0JbbKkNhLYdS0gAkABXpfErWlMy9qT65t9taJfClLbbawgIAGdThOMnWpAIjn3A3Nuly0cT3yQFYcOteNa5cKR2T7O4W66+lgcXzUgUk2vYKlM3B/RiDPCJakE7DLzKbQ9jFnjyncSfwzdajANeuOuuA1Z7F8JNxhlYdHKAErJAq0saU4GJrykAoVclN9StgONR8otwcfPw0oLnpi0AKJbUeZXWtd/R1RdZpzkpYOkVruionTtz9vrb1sOBjENYWKRj9YT6LpWkqkqaWNtLmNPyaPm0Gh9Jch3IuEQFQ4fbSUlTIWQVC+4Fu+Oy2eWY3P39saSdOU7NJTWlcGZFafG8nTLWMSfWmVk3nVJxhSTlWm4jXzxAcr2MfmmYNfzOLDZipjXFYx8UGE+EwH42pprEOeE2VKKEBS7AXPGPpJs1CLDsGRsOSSjHLS6Ap0pBLgwJSkYfi4Qnia16M6L3gDc1bsy5PBbqcfNAVhw1qVca1y4aRiDrDTyS24na6Vjc7LQoLbWnghbTiQpJuCFJB7YyPdKcwqHwJCkqSatilFApOVeBjUpalpZYfkEram0mqV4yqnHLLUVHRWsdL59dWGcfUjSWUFHZoVDEzeW5O0yuQy51UQ6qIqyaeM60xWlYFR0zarIeQhmA95XcuNtLWoannLxps62V7P9ldr2jeO5lmsyt47TeLjrozQkFSllttsg4GsSirAFUxBJ+KI6m3b2WjbNkosxBUy6kCrmLFXICpTlmQOO8neY5iU1uSlIHySEpH2JGwt+bEihqzfkzP67/BHJmTsr8Q5X9IfZFNxi+lStSgghWm9txvykBQJO3OMmVnFShLbIBldyVgKUK61XQVz0yyGUM+IWalzlOSXhyyxnd00joTp36os2OlmfVnP8rJqzDRld0dN6UnMDMGUxMnbjoyAchKfrOHgLJbTVdGPPKfhIjbxSS27qaUUmOdoOzC5O1FqVbvhItTHiL/ACrJzSpNTz26jMtuUFUaAgKFFCsdHZlvO2GhxFkJUyXkgL59QaVodNRU59McwTJC3HFRkY/GRUfExao6Mj4+JXERMwjY19pcxjY91SSqLio95IcdcJDhWeQNsSdJPpl7PFlSzbSJFDLicKUgABLasCUfISigCQKiiadMahybnHptt5ThCsQrWprU0NeOsTA3YX7nwNIKaCggyek1aFKSvYSqWKQpEQkgPJdaWCm6QUjbHhytxUw9bLL5xOB944tNHHK1TnSlKHPOLVS7JlpOWlCSpSgOd9tY6xpmmm2PeXItluMPixDAch06m/JMop67ClK8VvWmwIUL3Fje4xDt8LUWu0QhlRQKg0OvkgZ7j2R2VjSwSgFQqcNMu/KMR6s51NaZ6ZM1JvLyYOLjaRmtPQqkqIXBw83lUfDRzqVItoWINvw2yndKlbWF8d74O9iWRbu12QYnHMTjb6FUofKFCDpxzhu9in0WQ+/LipbQSvTIUHHXIjTtiExCJaEJC+EPL4DHY8iFhW7ntfQhI+gGPeadQ/y65VKfgJdCTWoqcVakjsilzwVOTLk21zkOHXTToOeUekDVbTY3BVyANKVaFG5IFgvb6417aVvGjKVKVwAJPYAKmMJ5xEucLtQTwBPorCgg/wCDx2W3/wDlxh3xWc/Ev/q1/wBmGfG2Pzvoq9kKSnv5ftW3z8vNftgjKzn4h/8AVr/swfjbH530VeyDJ2J2GxNwpCrfYlRJOMZ08irA8FIUNxBB7iKw6l1CxiTWnUR6Y3b0xX/fM9O9yCTnhlKex5ruS9xtjm7+EHZ1bShoZNz+pejo7rfx9LfPHpETyo82jYy2343FAeU8+Mu/ytvj5t3GVP2jONpFSHFKPUlZUe4AxeBkVblwPkf9MYbXUbFyyiayjIN9MPEQlMzaJbe81g+iHWho3R5gtrUpaSOFJHfHa3Fk0Wtf6zWnM0zbqUM/nqxAYfzakEVVSHXnG2yAveD2ZE1+3GIDFZAitK2TquTW9Y6v8JX3xTLe554x9H8pNzjl02LJZbottKCrMZUArvzppFCrcJNonhiP7RjHLk3G1gLndJ+ibJKlhYG9iAbb8YyvElPKrJ4VNADMqSnMDPJRB1r1xgzTqGnDiru3E7hwEAKFjZQt38q9/p5cYimXUrKAhS1jXACunXhrTthoOoUKitD0H2QYI/jEf4q+P+rzfBck/vadA4lCkjtJAHnhSVBasKa16j7Iq8i41W3AVpWElX8ULUgNlQvxe+GmiH18k1msdnphSTjVhSDXqMeONTqgI8EXBg3yQbEEeGsi4O1gQCPnjp7JU07aFmF08xLDsua/jgg8z/F5PTGQs/BSH6YekRP1ybWTkzk4VEkqyjyxUq4sSo0PIuTyTj5ir+Npbv3bbafi2xOpPQoTLoUOxQIrv3ZRfCxiBZTHQj1mNjkjzX59LGw2It8v58c/KKS2VKPlYDSNmVAVRXnEZQzl7aiMiXOmWVSkueJL355AzF9glXhqiIOaSeHhwpvZKltJiF2PbWr1OPQH7n3Zsou9Uxaa8pxvlgnLcpuhz6oifaiORulNh3JR5Pp/nE8Iis3v8ySSfmpR3+pJx639MVZ5VvjCjdKlJULKQUhYPbUL21DyHb54NpJfFWqEdYHppGv5ROLDnXqPsg9vl9ih+w2w5yDnR3j2wpRwKwqBB6jBXF7XBN77qH2WscHyDtK0HePbDK5plsgLxAnTmk6dQgioWBBB1EpSUnULi+oG1wNJTY+hw5KIBmMK9MC/2DDykqU1ygHMxJ/aEOUeyKuOvfKkpHm+9TNVIO97GjIskXF9iUj8wxVPw0Wmk+CzaJH5S1/WiJS2dge+AxX8Uv8AZMTCAj4trcbWV8+/Y48JyqLdAQYb1kX9LWNzt6kdx+sDD0y4G7MAQecpfOhKcitSfKp6oim+2tqSNqPqnpOCilJVA0hQM6peTQ4CglqDbqhyLmD7qT5VvTKYRa3SeSgpB3Tj3L8CqzpW7exxmZkUJVMTi23HOIUlvCMzxBrl174q1tWfUq0WC+KH4SnT5PDqA6hDQXcailPa5Nh8hex+zFtVrXaK+UcoJgAkCoAoBU56aVOsRG+80Gia8NxhWk9xY+iiEH62cKTb02wxKy65yXXNyxQqXbNFHGkU7CQe4RgNzLLqsKCSr5p9kCx/wf8Aro//ACwfik3+If8A1a/7MJ8bZ/O+ir2QVjvxsCfjRe301YJMs8VYCMKxqFEJPaFEEd2kOsvImFltmpWOgj0iKN7mxCkKASpSVAhSQR5QRyk2G4O4wrkltKAWUmqhooK39BMO4gWnEZ4k0rkemJQ3sKzbpuzjV2TniknY3/uOkR/ZjyS+6J/yiWCP/wCsf60xZzZAlSrFUE64h6RDPXtOkKT1iV6Do8sHBoVZaCUrEym5KSLggjVj0I8HCTmFbI5VQwlJQn46eHXEYbV3UOX6ankEmVbSQpVDlkBpr5o4B0LB+G9r38MhekW+JWknSPnxiX1pLbnIqycO6ItLyEqwGuLqPshIJTudR24SCo372A3P2YXMtOSqm0TAwqd8jfXOm7TPjDgqdIq6VH4dJB4VrSAra50nUAQPXi+G30qllLS8ldW6YsKVKCcWlSkECtDSMdc0yg4VE1HAE+gR2P7OxKv39nSyC2q6M1IFar6SPDEpm6iu9/MkJFyRfYYhzwi2X07CLxuqQ4lp2zwEFSVJBJdbpqBr0x2Oz51ExfGTaaxFdXDoRkGlk5kcB6omw2ISoG1wVpA1JNwVK0quOUrTukjykG42x8+rSS29NSSsplSshxIrXPTzxdlIJlA38fhBAb3ABA2I3N9+xAxi9B1h8Rg2aSSrLKvkggKVS03A1XsbNo1FR4SBiTdlcq89tGu48gJLbc4kq5yQQAtedCa7xujBtRtcxIONMiqwDlpuJ39EQLasBNY1lYi332VILkaQdU8mKxbxNGoFKhxfH0cqk332GpxrAZdTCKKxoGg6TURRi2zW2ppAriQoYsjlWtIsHAF0kBVwDpUAo76gkkBKrAc3xjGVdS2XaoKE60WknuBJ80alK0q0r3GC0jbbc35PHyt3wxWFQQQT6A73BUlJFrCygSCkm+1+cLwP/in/ANU5/ZhvlE8D3H2QC0o/xf8Aro//ACw4liaUMSWX6fo1/wBmGlTDKTRWKvzVeyPM6ybDva6gQUq0BIJUpRSryJFuT3+eAsOsCr6ForpiSpNeqoFeyHGv3whS2gSlFK1BFK6agcI8j4DzbYUkEh1hST63cT2sOcPMJUW3HU+QGXP6tW7WMiWbU6pLqRVsOIz/AKQGmsTHazkMRKYGiVqcK2PudSsMhpaVFxgIk0ocuXEJTDIZd8YhtI8x03Ppjwus2fbm563EAUcDr6iRoauODTyiRTM6CtItxMy6mvEl1qjIdVPNnwju+TSWHh0uur1OrUp4+YISVaot9RKwLDWkGxPewxXm9k64u1MCckhQ+3VHdWS2EoSd+ERzH12JQnpczGCUhIEG6LDsPcZlt674njwVCTtklCflo9AjWXpp7h2l+h9SYhMQFvdIbv8Ai7G/ofd2f2DHva7icvKZf4i0Jr2AxR0vql7NS4nXGr1Q6J7P/pFlXUjReaNQzPK1/MN6lK4kUhhotM3ipeiTomNNuTVctKEzSXIWIlSfFHNhium3bbXZmyu2ZSzZmeFltTSVkTRAIbDainTfjUCgdpiWtnF15S8suZybCVFAOR1PT2VFesR3x/UvKbB36anbf/EsX+sVTiDP3XV3f9emvoj2RKXvcWN+LEH/AFLym/8Am0ubckVNGcfbVW+C/ddXd/16b+gPZB+9xY/4sRrDOj2flDZXZV11XM0yNNLpkdMzyKl84iJ3MYpEDO2JdEPy1TbbVQxaHFh5KVAONqSTsQRjr9m/hGWVfm9CrEYn02oKpAmRlylQDQigph8nKukc7eLZ7IysmqZYSkACtN4/zMNBdLRv1KdO6ySVOZ35Rum5Fgp2uJGtSRtYJClbYsptAZLWzu2VfEVJuU/UuxDF30clehpr5Lg9IiejHXMbFfOLiLWN/wDZ13tb1x83suR7rzx/Nf8AQuLuS4OFgb8H/TGC5mb5eV9wR96s2/8A874233tjttlf8ol0f94I/rDDU7XEk/mn0RAjrMf2b1sP/wB7Vn+io5nvj6NrJ/gaj+Yn0CKJW5/GB+cfTHYHQP0/wHUVmlWlJzLL9vMRin6CaqZuWrinoJuXxRn0JLRGqcamUr1LUw+oG61CwG3bEPbadodgbMLqM3htCYWy866pCqaVByH0aEx29wbOs637bVZk2kFTYSc+kVh1r+plU+vjphg1ADYicRKk/O39l+K1jwurmPSLL0jeP3KcVix4hi5alKEVGQRn9KJsmdn9jMOYW0IKYCvZlU8hBX+9ehFaUlRT92IwXABKjdNVrNgn0GMdfhfWDLp5ZF7UWioGni+GnKVy1ofJrj03Qym5FlJUDyadeEN39fPTdSnT3JaFZleW0Hl3Uk1nsU1M0QkbHRa4+TCUrjYRtaImaTOHbSqIbKSU6V2v8sWI2LbSU7SXS8wolsZ9pNI4DabZFlXVs5M60lNVcO7zQ2bGH8Qj/wD3J/i3/BLtb5YsVY4pNyX+9nv2VRDS/wAHIfph6RE+/Jg/6C+TW4P+hFlja1+9DSIcA4+ZW/4//UG8P+/7S/8AmvxfCxj/ANlsfM9ZjZJJvyb773v6Y5dqlT1GNgr8Ogdfqhmn20Vv3usot3mLd+L/AOrch+XFseif3Pr/AEgmet3+riK9sFPvWmacW/6xMRZLlJB73O5At8jxuMesOo7IqZD5HSN0Hy3N7pvypzHfyDl1YN1VLJ7FM1TFRrEPETZyEqicS51bjC6glwSlpyD0pOjjbFadou1CauhbBs5twp52YB0yGXHIZRYq412LGtqyvHnUJrTKojpH+phSTv0vyb7JjC8ncc1iO+OKXt1m0qw8orQb+iN995Fku88toqTw4ZQD7MCUpZfeHS9IfChmH4iJcemsOA0ywhTzqw01WJeeShtJuEi4wlnbrOOTjUuHFELPHqjJRcu7zMo8qabRjIGDLrr26QwP1CU7IqTzzzRp2mJazJafk1TNwEplMIVe7QEGmSysrh2dbry9K3lFarrWSre5xcC5s6q1bManleUqXUqvWFiK5XslGpSdUiWyYDgFO0R2X7Ikf6fjKjt/Yrmrzt/vKjcVs8NL/wCli0f9pa/rRHXbOv5QGP0Sv2TEwoIum9+b7A+nc33O+PCQqzpFuxFVCPhudyRtzsAo2Hy9cFNq/ePRihtPlOdQ9ERIPbE3/fYI1EXMmqM2Hb+yGH2x7x+CT/I1I00on9iKp7XP4wl+t3/phr+nYATapaYlBaMQJtU1PSpUKFFPvaJlOIKDcgypK21oEU28UXCkkX5xZSZm5SQlXp6eJEmyw4tZGoCUKNeyIwswMqn2kv8A4Eqoe0UHniRA/wCy6pluKcZHTVEpU3pSG11PGAhASNC0hdUa9LqfMdW+onjjFEmfCuukyqdlnZ9xWB0gGoyoSBoADTXflFnbP2dWH7jom0oRiUmtN8Uz7LqmQN+ml0Htepozf1/3032xmDwu7un/APnbf0BDh2cWP+LEIV7LymyCEdNbwcuNGmposnULGwSapIJKu2Maa8L25B5NldsGenVGinxkHK6UFKc0c3sjKlNnViMFbpQjER6OMNK9ceTtMZF5qSKiqYpNNGI+9iLjJ7J/fY6PdM9E/jWH4hx2OjY4gqYShNkL0jTi1mzC9khfKyF2tZ7yn2gttJKqZVSSANN0QVtDsuTst9LcokDEVVp0EU9Jh7v2FaijpvzgBCbqz1aslZ8yh95sjKtI72Rc/Zjzf+6IIlnNo1hJm1FMr4ovEoZ0HKK/yiXdjYrY692R9EVc9ego5v5q1jXlU5GxVVRk0nUxEunTs69wEXJffomIlykMws+gkkFMQrzKRqJ+QtiQtk/hLXBuRcSXsaam10QgZbq7/QI2Fp3KYtm01uvAUrmTHEvUz0N0TktkpX1cxuSKaOmMBII9dNzl+ezKLXCzqDcY8zbJnUWy6osley2ym3zxPmzXwgJXaNbrcpKqqVKGnDduEcxeO6VkyNhuWkG0haE8M4ZLuAgFZUdCFa1G4UvQCCtWn8tZTc2FvTFurQaU5aUmwvMNgHvzitsxOpck2p9muF1Sh9FRT6odp6FejKT9Q+TEyryNyldzCehq/qCm0TxM2VLkMQ8sgZPEtS9piHnMuSW4dceqxUgq3FzisO2vbbZWza2H7Itm3BY6p1tC2wU4uV5NSgo03Yapz34onu4VyZC07OXOTSUlSsNO4kw650nezzyyyvzZgsyJ7kI5TE6oOGbneX9RxE9msSZJVzkb7qqPhWUVDGwcUoQEY6AiIQ43v8IxTPwiPCYVatyTdywL2+6UvOMpQ5LoQKON4gogqocNKBWVCaUiSrGuRY9m2o1NoQkPJxAcc0kK/wCUmvRnDtQSAnYKTqVdR0gkkgbW4CRwANgNhjzi5QqmzPHQ1PfElAUFMzBjVtzcn1Hp6DvhvKDzjDsxICZzigazk0nZciJvHU5MoeWw7am0uxEXEtFDTDa3FNtpdddSEgqUAL7nHb7OnrFkL62daFpPKQlDwKuAIrQV6s+2GXQQk01VX0U9Zhjx32YchjYmLmEV04xDsdHxD0fMH11TEan46KedfiYhSUVMlDanXXSbJGkACwx6oTXhZ3JkWHLNTOrDku22lOelRThTQDjEW/eDZ3umt59KVGaNTlWmHj3w29179OlL9PH3hy2T0Aug6gnk0nKZ3DGZxcwMTKW5XAxEBdD0ymLLaUO2KSkpJv3xP+xi/tnbQLLXactNOPLRoDpqd4A4mn1CIo2kWJZtgueLyiUhS6UI4VzhuR8lDZWNym1hbkkgAbWIB49cTiM601ofQYibeOsemJD8n9mNTsZJpDHK6b4iJcmVPU/MHooVLHaYgxsqh4sOKC6jQkPLcdVex47YpK74VF3WnVsuX6ZS4hakkFIqClRBB6iKHqi06bj2QpIUlCCCBu6M4ug9l9TNv9bW7a53NSxfA/k1Va+MZfhbXdaOAX6ay/MHXwhwbPLHcGMtpqYtU89mtQdPS2NnU/6d3JfJJe21ER8Uuo5mpttLcSz4TjghqldeUlLir20kG24xtrA8Juzbx2wxZ0hbwtpSyQcKQORrluGfKaf0Yx5/Z5Zrdmvql0pCgmtMqmlfREeSYttojpgyjSEMTiMYbCNSkpaYmjzLSUqWouWS2gfESdt8XKkWJpyXE8KiXVLOkjraVSvbSK4voTJzniYFPhk/tCJpWcMI45Isvm2IpSYf7gSBwwRIJMW1KZQExa3LeZPu7ikgA+Xa++PBu6ryU2zeBTiKueMuDF+aVuc0DrFenOkW1tJtSmZIJVzKHLp490dtwEMgQLRNgQhZPl3J8d24Vf0O2IDvS4r3bUBpj9cdnZSRySOOAeiOPevJDY6YMw7ust3gnyrUdPhtol8yJdcPAQO3JxY7wUSTtjlNfwiPQI0t6gfcO0uAZ9SYhJyw6oJokFOmCZNlAA/wDQ9TwUm+PfWaNLSUneZuV/YmIpLZ/wCElx0u+qJLnsGFNnKLqlYCm1OpzooBx1u48RLS8uHkNvab38JxxJSD/GSRjyG+6MyK27duVNmuH3GnB0ZzafPWJ92GJqqfp8o+lMPt6AOQkW5FgQB+bnHnBWsWDw0gtAI4HbYgcXvc/UYFaGCw5Rzz1Q5eTnMzJ6dUdJqecqlU5mMsaj5My+3DKi5SlbyZg2p5yIhC2h5h7TqQtKh2ItfFgfB3vNJXNvj7vTq0pAoBXTm8R0xqbVl27Rl1SL34Pu1hu7p29m7lnR+a9N1ZWnTy3KICkWxUcmm0dUk5WuV1pKplAR9NTOBaltWRCnYiXRbCnUJeSWlFI1AjFxNtnhbrmrizdi3YfQJmdbUyvDQnAtKkKFSCAClSknea5cY4OyNlVgSVpm0woKfxAgV3g14+f06Q8qnxSXnHt33nVKWqyRda16r6UeROsm5ttjzJl2FNvtTCxTlWXz2ckvjn3xJ6kAPsJYzaQFD/AJaDWMOzNNsvK/UbWTSc3V3SUhMM8VD0BtjvNlf8od0f94I/rDGJO6p+afRECSs1f2b1sLH+7OsFk3BSAuo5j4YBBNypKgoWuLHH0a2TQyivmD0CKKW5/GP9L1w8b7C15sdSmcMOpaUuvZFOOsIVup9EJW8i99U2BckQgdTrvuAq42xRD7ohZrq9jtiTaQcHugsmn/uJBPQaHuiVNkZT98jh05qfVEoFLaRwkcDew/Ne2PHV5ZKEJ4J9kWiA+HX2euAtKdCtgN06rC9/OkW233GGB6j6IeTSucRwvbiJP3x5ZbAFb6VDtZDVORutWnYkJ1JH1Ix7Afc+D/3NmfnH9qK9bZfwA6oYGjSTL5idyUS+JVsNyEtKASEgklSibAcnHo5ZrLUtaUjKSpqv3WeA35YSB3ViuC6cnIdLw9MT8MlHm4nJTJd9hXiMu5PZWuMupHkcbVQdPnWk/wAW5I+oOPmT2jyz0ptGvFLzAwvJt+0ag8TOvmL/AFg/xPL8eT+3eM42V67HuP6H0xyTevYY2R/DI7fVDNftpElPTtKAR/ugzqVtYa59IUoG9jdZBsB2Bx6Jfc+iDb0yd1Xf6uIq2wf6LTNOLf8AWJiLGpOoEDYm4GxuSR/Pj1iBpFTYmg+ypehoj2fvTeuHeZeLFPVbDOKZIV4LrWZNaeI25b4HUGwUg2Ui41AXGPM3wi5FbG2l541qW0ZZ6hArFobhfyeSyc9Sa/0jlDhyVHaylWG/y522BtviG3VY3FK6Y793yx81P7IjxTI/1tmZNr/cuZjjgGAiv14yJH+FN/pE+mGkfwtvt9IiBd1PKC+ojNywJC6rYUCLWLf3uyc+ILEjSFpKT3ChbHrvc5QRdGy1HdLL86FRUG8WdvWn+mT+2mOtvZGPts9e+UgWsAv03mlCsJ21PRi6Jj3UQiB3eWwlSwOClJtvYYrt4Y9nLmvBYtJxGofbPYl0VOXZHabPMI2gsFRoOSVmdBzTrExI8kk3APIRsoDgggbA3x4RdUW8iik7uK07BQtYG1tAF7Ydmh+8Ujfi9cYM5/CpQfnmIkHtgl36sEt6SlTUlnuoHTsHJ5DlpRAJIDyUlSb8gY94vBMy2OSP9H9mKubYzivE2rdyXqSPVDbNBONNZhZcuvuoZZbzHy+ccedIS20hNZyMqWpR2ASN/pif7xSypy7VpyqKla7MnBl/szsRhZv8YsfpU+kR9BCOKFTCYnSCA64LqCbhYcOptQAulTW1+24tcb4+bCWZVLylnrNamcc8xSO3SL2pPPkk9HfVIoe2PMoIsbBPJ82wHNzYW/oMakVrnGyoKbopk+ENaboUmxStKUkpXewUAQBqFsPobVOtLYWRgaoew7obRhcU60dw9UM59SPRBEZ25u1hW9SZKxVaIdmce3Ts7RORAIVJIqIEchppDVSwIWy3FOr+JAIJO2PU3ZB4QN2Li7JbLsdDzYmEIWlQJzqmgFd9Yiy2rnM2rPlL+WeXbr3R330sdP8AQXTrlbK6Uy/odvL5c/DdT15Jm4+ZTRUdWZY+5sRNH35lNJqll0wjbaAGFJb5AFuaXeEHtZtLadehExMvB+UZb5Js0AwoSSpKRRI5tSTnnU6x2N3bsSN3ZfkpcDlK5EE/GAJ7dx6AI6Q0g22SqygADb1O3yAxAA13x0lKCiaQ2N7V9sjpGqtelPlhJsFW0jdyCYQhIuU3U44sADucXb8BhVdqrgqac31xH+0YUsRwfbSIhCUK1lGxOpaR8z5thcDvj2ym5kclNsn4tn+flSfRFO5X+C2gOr0RKl9h+EDpArJvU0tTfUDW+tKNy2V01RSkaxynxACU+oBx47/dKmFseEPLEhQSq7FnkHcc3606t/n3RZ3YoB97VTrlDwwABNrWv6DuT6bjHn5EyxUvtsRub/M/mHbCYVuyggAdtjvxpsb7G/pg6mCyhXa2/Fr2v9v24KDFN0EkAOt7D8oAlA48pvsLXODe/i935yN/XDUzXxReu70xGg9uEFfuh5X6gLqhnlp4SpaUyuEJ0i+opRx9cey3gGimzKY6kftRX3bsamzeNHPXDE8TfwV/EANBPy86fpi8reauw+gxXs7usemPoHUgVGhqHTbSTRVGqQVWU2tKqXl9tCwFIukHfvj5qr1TDKrwzdJU82cfqaHOjqqnt14RfKylSIQk1BJHr9lI0d1FdWOSPSfLKRnOec6n8jltbzOaymm1U7SM0q9+JjpNBNTCPRFQkoT40GyIZ0FDi7IWq6Qb4lbY/sWvNtvctWzrpNNMTEq00panlhsALOFIBV5RJGYTUhJrGNeO9dmXcZDj5FVEjfwruB89OuuUaXpvrCyN626Izky76ZpjWFV1fT1HSydTGVz2g53RuuFjJ9DwkIuBip49BsRK1OsrSsBxAAtub2xLKNh19vBit679/wDadbLFn2cidcEqZZxT1VpSlTqDRIwhQIVoa4Y0ljXls287brAWBiAFesHiBw45b6COOcv/AGYWW8VXtNLrzpsW3Sbs895qiKXUsaiHahYjx33YhaJfVa4gNojHEqKUo07WI04tNfTwxLMRdabmbvXmXPW1My45KXLVCtSSCSThyKUgqBO8cY0juzSzXHSjEFJWa68DWg6SYcWzmCFLk8IhLCFyJK5czBMIf0QEBCpYhYRsORKluOIVDNIUnzKOkXO+PPG5M49Nuz9tPAhEyQrFlRSlFSiAB8knDnSOithpclZqJOUqpTZPTTie07hHVUK4FwgcKrNHWpSjsLeM6dubJAG+InvQgptos/z+P1x09mKJkA7/ADmHI9ndDHPtYut7KSByqqDpty2qWCrXNOpplLIesn5GpT8ny1kDCn3YmDm00KBDxVTT7zNMwbBcSyyFrfUysNpX6M+Bb4Pd6V27LbR7woUxZjgKpdKhRbpSSMYH4sZEqNARTDiJNIiv9fVmSkHrLbNZxaSl05UNaUHDIAAb61r0xnEHRZKbAJSW7JAtoG9vluecesE0+DbSWwNFJUo8VIBCD2BShTfXPdFX21vMqS4g0SCcGWlfK669MOF+zj62YPozzdnExreAi5lkxmRBS+QZlNS1vx5nTYlkV4klzHlsPqbXFCmPeXWoyFBL8RCvKLaVKS3atvhQeDy7twuqizJIoReGzm1qs91VaNpJS46woDyuUwc0rqASRVJNYky414Jy7lppUwspknVHlU0BxHCaHMZUJ0ES+qFzCojNGmJTXeW9UyetKMnzKX5NP5Mp/wBxjG02SpLjcWzCxcHGoOzzDqEuMrulW4Jx4UXoupa9zLYnLo2+wtm8Uo5Q4sjhrkQNClQzSeGkWrsy027Ws0TEqo4zv1+rzRzT1IddfTh0o1PTlHZzVLV0qntV08up5MzIKEmlTtRMkZmD0sciYiKly/BhHUzBlxsMrQFqQkK9TiatnHgz7WdrVlrta6NlSAk21hJKpkhRKgTVKFOVIoMzuOVNI521r6yV218jbHOcI3ZdhoPXHO59sZ0IqIV9/GaW4IP+hBUVgCCCAB2seOMSMnwDvCVbBDFkyK2/lCZpX/n4xzy9rN1XDiU2a9ZELR7Y3oQbdQ4K3zPuNSVWyeqE3SoAEWVYEW9cIV4AvhJqlHcdmSTSapy8ZBKtd6lGlIaO1G6SW1rDasvzldPTHYPTn1R5O9VNIz+tcmptP5pT1N1KulppE1BTMXSsQ3N0QUNMUNNQseVuvMKhYlJC0kb27YhnbBsl2jbJJyQs++snKMPqY5qmXQ6SlQUlaVALIScINcsgdxpHZXatxF4JYTNmnCxU9Jp1nrpnxjnbr665Mmum3KKu6Ufn8DUed9ZUtOafoXLqWRJiJixHTVsS/wC+mqFNNKh5JTdM+9iIcDykvR7uiHaAClOIlnwW/B/vftIv7Zt5WG1NXMs2YQtLxFBjBKuTQSarWohVBnhHOVQCNRfe+EndtAx5u4TlqdKV76f5xDcu6VKcfdU9EOuvPRD6rhT8S+vxIl5YKlEF13zWJOm9hj22bXyIKGea2d0U7fdXMucs8cS6k17a7o6K6VeoqpulTPGjs6KZgkzoyX32WVLS7kWYWFq6j5zDqgZ5TwdaBXDTJ6HdVEMur8jUSyyVbc8PtY2bWbty2fvbP55uipZoqS5UgoWFl5CxQglIJUlYGZSpQAOkb67l5n7v2m3NS5+FChiyBqNwzFK7x0gHpiZpkF1JZOdTlGwleZN1QJ7KolmH+6UnjYd2X1JSszWwlyKkVQy11AbRHQK7oL0M4/CROnxGnCk2HgjtU2TXm2TXocu/eVs4CSWHMsLrdclJIOY01CSNCAYuDde8sneSSMyyCHkUC68TWnry3aVOsbMq+sKWoWnZlVFZ1PJqRpuUwz0bNJ/P41EvlkBCQyfFfefilpUhGhKbgWJJ2G+OMsC71o3ktdmxLFl3Ji05lWBttAKlKUcgABmY6CZnpazmFTs2aS7YqTwrlU9FYiEe0v6t6P6rs94aOywfiYnKygpOmnaZqGOhYiXRFazEFtudVeiVxX4eBkUQ2hTUuadCYqIZAecbbLgQn3W8FnYla2xTZI5N3lUld4JldcAI+CqcmqpNCpFaL1AIoFGhipe0a8jtvzqmpYlMqDkKDTtFacIbqeCXEOI81nAUp0g3OonynukFF9+2LEyk3MSM23PSqsM204XEqoDRahmqhqDXgRSItKEkNgjJpWJHQRoentiTB7Lf2i2XM1y5pDpcztqZiisxaKhmadytqafxDgkeYVLNBxUoplcyWlxMJWNNtBTAbiVNtR0GGlIc8ZtSHPK3wu/BOt9V55zbBcxBVYlqrVMzbKUgll0nC/MDPJp10FZpkhZUnClJBiyuzraKuZYZsm1lFUyDTFQDEK5DLIEJwjIbt9TR8iYzKXySWRU0nUdCSqWwbCoqNmsxiGoKCgoZtsOl5+IfU2w00pshWpZACd7485mLImpm8HuTJhSzUICUipUpQoABQkknQDWJ1Q+w6S+AQEevU9lIjJ+1461Mp89HqFyVyRn8PWcopCOmE+r+uJS447S8ZNEKaallJUxGrAE++5EQVxEwjkEQxcW20x4iUlePXvwKNgd6dndi2hem+KFMTroSWWFgJcQhdEla06pKgealXOoCSE5VrNtSvsicLl32uclxQ5244CFerd0b60ZIIUNOndQtp5A1dtydt8XmBz6IhEw9f7Jv2hdE9PLUw6dM+Juimsr6pqmIqWg8wXoWJipRl/VdRhtmayarBDByNgKTrCIhEvwr6EOKhJkFh7Qy/qTWzwhNkE3tCnfv2ur8FaDTdFtjnKcbSK1SCSCpAriGpSEkVwqpJ9wL8KscN3RtXE8VZJUKACpJANKaE5EmmZrrEpCWzCBm8DBTOWRkLMJdMIdqKgY6EdTEQ0VDODW2+08yVNOpdSb3QVItwSN8UCdYLM8qUX5SFYT1jXzxY0odbol5WJYAzpTIjm5dVAOOpjl/qs6yMiukqg5zPsyqpl8dV0ZIpgaFyllEe0utswJrEwrzEuhJew2iJ+40qXELBi5jFpRDw8OFKTrc0oMm7PtmdsX7txpNl1bsyWWkzKiKpAUeYVHUYaEhKTiVoATHN3kvFL3elkvqFZhdcB4FNMWWnDXTqiDvUE9mlV1BO6qnjrTs5qKax84mK4cFDCIiYPriFw8OkqUBDQwWG2xxpSDj1MsyzJWwbNlpWcSVyLLeBKCc6FOEVIoamtTnlWm6KxTb7NovzE9Qco6sFXSag9lNcoyrKbM6p8lM0KCzeop1puqMuqplFTS1t51bEJHGDeUI2TTJaAVGBnkscdhlFIKgFnHN3xu3ZV+7szFyrUZDt05ppaFsmtefTnBYIWFJUARRYPAg0MKkrSnbNnk2nIrCJ1OQVhChTeCkgggjI5RNL6YesfIzq5o+CqHK2pGmapYgYZ2t8sJoow9YUFN1NpbipdMoNYU3HStcS2sQUfCuvMRbaSs+EvU0nwi2veDxe/YxeBUreHC7YC1L5B9IIQ6EknCknPEkEYgQFDQjQm310L0s3kaJVUOpSCoGnq9Oh3RtrNPOfKXIimI6uM5a9kWX9JQzWtyPnK33IiLdRdtMDJZfDNuR04msataUMwsOhSisXUpKSSI+uFs9vHtctZi7FzJYrn04i6RUilSQs7gEpyOYFBUmNzbcy3IS/jblStkkpzpSvHq45nOgBMQt+sbqCh+p3qLzDzblcrjJJSk2mCZbREqmSgqasUrLFPNS+LnASpbP3Vmq1riH0oISwpYYBWG9Z989klxG9nOzuzbrqUFzzLfwyxWil0FadA0BFK5nKsU4vpehN5raWvDRxjmk6VB0y3adfGOYHQFp8PWW1LUgNuNX8Zh9LiFsRDBG6X4d5IcQRuFJBxJjBUFkJAJWhaaHMELSUkEHcQSD0GOTSXUqC2FYXUkEHWlM9/REvLoF9oplv1J0TS2Xtbz+GpbqPksjlsonVMTNiJQjMWGlTCJdAVtR8SWTCxj06l8Kh2Ywr7rL7D4UtpK0qCR4s+Ex4Mdt7M5h2812W1KuI3MLcSlIqJdbhC1JWSSoYSaJ1SpIGGmgtJs22kyV7Vt2Q8lSbUYBos1pnmT31pllWhAArDlE/n0vpunZ9U02dchpPTcom1QTl9iGXFxDEpkcti5pMXYaFQlTsS61CQilBAsTbFSrGsCZtW3mboMIC7bmXUttrqQMayKCmlDWlSMolWemTZTBmppeNlIqcgMuyGy2fbI9BkTDsPmt8z9L7Tb6AjJ+pQAlxsLSDqUpWq6t97X42xbH9wX4SLONuRsyQmJVYALnjA59NaUVSiTzQRrSscAdrV2JZ5WBJxnU1NTwy3ZdHtiofbFdBpteuc0bXO37j9R2AsBZIJsLenGGv3BPhL4A37jSWAVoPGjqdfj74x1bWLrKdS8WzyiK0OI7/T2xkVHe1j6KK4qul6GputMyYmoayqOUUxIISOyuqKXwT82nUa1L5cxEx6/LCsOxL6UlR8oJF8YlpeBLt6uxY87b95LKk2bBk5N555aH8S0httSk4QV5nGE5b8xQxs7P2nXftm0WpJlNJhZOE1NAaGuWhqOMOUxgbgnYzxVoYZgipDi3dSEMqR5VKcesoFOsXB329cVMlhKuWdZ7i0Ypt6YWHKE85AKcKaaClTUih6Y7pp6rKJgkFChXSlYjre1/608qawoqV9NWVNVwNcVIzPlzXNOeSIvREkpaDgFttQ9HtzayIWOqOZREPrdQx4jUK0glxwOL8NHqr4Cfg7Xrsm139pV6WzK2MuXCpdlYwrWMyHSPKwZ0STQKyoCATEF7T75MTTZkLLUcBJBNARUa613+anWY+IUvSgLWCsoCnFgG3iK8y7FG6kgqtcbHkY9EGnzNJW+cg8Cg9KAo0HR6Yr8w0G2loOrvl9Ps7Id89lR10UZ0v1RWeVmckWiQZQ5pzaX1BD1r4MTEsZdV3CsNSxLtRmHS4UUfUMsSiHXEtNuuQsQ22tadBWcVA8MrwfrZ25WZKX3u9Vd9LIYVLlIGcxLqqtppKQQC40oLKQAFKSpQqSlKTKezi+jV2XlWfN1Mm5QIyrgpWtd9DzTUn4tNCYlRSSbyuoZdDzqQzmXT+SxraH4GbSp5uJl8cw8PFZehYlr8G62tlaVJI5Bvjxdt2y5iwZ5NkTqCi0EFQcB1BGWEg6EHWLSS1oyU6yhyXHlio14VMXW4tcb/AG9saqkZFRrBc/MfXkWBuR9cCCpWD2t6C4ttwPSw5N8DODoIxurK0o/L+RR9UVzU8jo2nZXDvRMdUVRxzUtkstZaGt2IjYx0HSAgWSlIJWsgDcjG9u7du2L4Wo1dmwmXH7SmnEhCECpJFcqDPfujDtB5EnJuT8ySLPZTVwDKoqKc7dTOIe3tKeqqj+qrqIdqDLF2PjMr6Lk0JSdIzuYQqoA1bEhlLk8q5uEcKnmZbFRDKYeWoWlt0stqcdTdace73gubKJ3ZDsuXY16Dyl5ZjCrI81nCsUaoMioJxYjVQFQK4gYp9tAvgq+1oNTFnqwWVJ4gU08oqJANTnqRwrStAMob7UlK0FCrFJSL89rEG9wdjxifc6xwUdkQ3tDOuSChYaBg+qLNCGhISHhYWFh2oyUIaYhoKFag4VltIlWzbMKwlI9bXO++Ife8H7YrMOl5+7kgt0kmp5QmpNT8fie7KOqTfe9SPImyP6Df9mNV5q9R3UP1Et0vI84c1KyzZap6aREZR8oqFyDifuXO5wy3LoqJlaYKEgnffZhDhLSrqVqT5Ra+O9uTcC5Nw5hT1ybNl7NddSfGC3i+GSk1SDjKgMIoARSka+07ate8pRJ2k+XKmnkpT1ZpA0iRV7H7pGqDJLLmu86MwlPy+t85US+n5PSy1pDFN0HTUS3MoOJmymXNTs7n09dXEaQB7qw0hpe5WD5X+HTt1kL8Xkl9nF22ymzLJW4qaUtOPHMOhFA0p0KW3yaUlKigjGSTXDSLD7Mbly1lSq5l0VUvARzlEgCvTTMmprnQADfR5BttpDhCfKFG6lEkqUnVe69BBWCBuODihBtGaDTTaMASwCEUbQFDECDVWGqqgnyiYmbCFFOOlRp0dUcrZjwsxUPeZlCGDTFuzR5mGXMPuooITNG0+8uxQUUtREWjcw6TpYQQjkHEqXZnGiyZGWcC2UlBVRsNjEUVoBSpCT8b4xz0jnp1C0INRhSa0FcW/UncTw3aR05APRBlazAuQaYxMPEtQzkYqJEEh7xHkI95EG27FKhyuyVpaSpRF7WG+OFtxLDl9AuaVyMuXQSaV0PZrGdKHk5ANUxc0egcfbDA/tNskKlzDZqerMxKcpmW5mUzTz8+oaqaShGoGTzClZWt+KmFNpjkMNRM0EQwHVrEYVxDDmlJVpUAPW3wWr42bL2XKWPZE/ilkhXwVNCVKNTRVK5mhA0NIiq/V15efs6btCuF+XSCTQnHkMqk1HDfXWI6SSlxCVgg3SlQBvshaAts8/lJP2Yve5M43q8nRxRAxV89KRVyz1KtAtpIwA4unye7XzQ6n7KvpUV1BZrTvMac0zTNU0NktMpL48oreBemdEzOu5o2ZhBQs9k7BDk6XASiHES3CKuwtzStwlKShVX/AAtts0xsguaqyZF95ds2o1hacbIbcbTjSFlIVUKrRSDmKCppuiZtlt3mLwTrs2+5hRKKpydMXKVBTWtebhqDWhFaDfEthhsNw8MxphGm2IduHRDwKVQ0GwyyNAahGdKfdYZpPlbbCU6EgACwGPC6dfmJycmbRfWpc5MOFZWQCanM14k8Ys8xLIl5bxaXARTo9Wn24xG69pvkpnH1FdQyYmQzKkYmS5bQM2omAbns2RI4yBh1Td+Ztw0KiFlUWuZQmmI1l59ZcCiANjj2j8EJNx7ibJFTM2mZW7MuBxSfGcJCyM1VKDxPNASO7Kvm0O69pXjnUz6MSEpFMNK1A6ctddMqw23PeiDO2npJO6imLtBKl0hlMfOY5MHVD78WqDlsM5FRIhocyZoPRBaaOhGpOo7XGLIy19rDedl5OTmJoOTBISgO+Tzjrlv1rviOHbjzgs+YtEoUkMJBw61y47u6OU6elUZUs4ksgliWPujUMylkogBFL8GHTGzN5lhkRERoc8Flpx4alBKjbtjsJ/xORccVaj0yuXYSFZu0qCCTTm5adMcTZzbtpynIiXU26+qgOKuHCeFBWteiJc3st+m3MTpryAqiSZkR9HRUXmJWzGYFOro+dRU9hk07E05ASlpuavqlkuXAzJyOgHNTaEu6WSDquceO/hqbQbk3r2j2ZNXclptxUlJrYcS4+kpJWXBQUTQ4cQUFnCVUw0AAJtrsru/P3dsEtzBLhKsiQU5nCa0NQQBrnQGmdaiMZ6/smajzmkjMpzTkNKPUklMxhcvqspaAC5jStWRcIWJTGR04dhhUAmEWQlpUMXDL4lkqQ4jVZQkjwSb6WPdAfeld6aMxbE3hWvEcJQa1WkJT5SdwNQocYyr43eYvEyWJjmqzzpiPqpnwy6IiZxcHEy2NjpZGtlqNlcdFS2MQRp8OLgIqIg4pFr2ToehiLdseosmnxxgveTRINNYqPOseJTHi9cWetKb6aZx1f0SdNE46p+oCQZfw0uYmEilktiKvq5qNeehpSql5K7oMDN4qDWIxuWTaZvIaiUtWecaBSk3ULRftm2ly2yO5Hu+4sSz86S2hyuajVSSQKfECTv1pHY3HsKXt23BJP0SlFDWla1zApXppE1WjJCml6XkkgblNIyKFk8AxLoWSUJI0U9SUsbhkJC2pNK0BHukO47clOlN+9zc48CtoN7Z29d8Jy1Zla31OuEhxSqlQJyINNO09kW9suUlLPb8RlGQ0ltKakfGJru3U3a69EY/mKcxXKamzGWUPSsVO3oZ7VBVJCqjmXPwSmUsS6FfZiJOuNcQSEJiUqRrtqBxt9nDtlSV7JK0bVWtDbbwUkpKQAoaFZOdOGHOu+Hp9hqYllNPDE0RQ1NKj/PPhSIgPXTklKMtKulFV09IGqYarKbT+UVPIkMe7MS2rZO8l2KLMANLEvVOERBU4GglrxW1LSLL0j3u2bXylrekJGabdE7ZDLKPggaJyFCFK51SNQaVyiqO0yx/cKaM8xzgrVNKef6o4QcWhpt15whLTTbjrh22Sy2p1aU77uFts2Hc4liyLJYtK15SzJp8S7c0wp3lMOLBRKlYcNRXSlajXSIymqSyZdSeeX1AU0w1p1116Ilh+yx6RorI/K2SZlVPQVCmt8zJPAVNE1jO4BUfmPJJXNYJqOk9KSR96Hi4KQ0zCwTyXnWke6xsS+8pSnVNlLY8bvDE27TN8Jh269iz7jVh2dNrZS0hVUvFtSkrUoVFCpYKgCFUpFvbg3OsuyLJlZh0crPlClleHD5RJHHMJNBQkcRUCjqFTLqRMoiFUrCU1HzxDUQqGh6qdmKZc9rbsu4goeKeiHl7XDpEPYAK2xTe50vZs9bLCbbmnJRmZWlSn0gEt8nnnUjXFqNKR3s4DVLbXNSsGuW4erz9MRU/aP5FCVTCdZwRtNwdK5giq4CEzJk8ngoOTyKbfdluIhZRVUFKJahMrHgLYSwiKh9Pjsu6li+59xdht/LNvJd2WsC77/jVmSDOFx8KqXFCpFUknDUk1BUc84rxtTu/KsIXaSUgPNlOdPlEJ1hp5PxISNN1KSBqJ0i6hYqG22++J435xBkSCPY0dJcVEy1nquqKjqLqKCjZvOKeoKYZiy5yPXKYSURTsDPKjoiWMMvQkTUbk1L8IJhGsOpbhodLaNyV4qx4SG0NyzLYcuRYz3i8nydVKBrixAHCRlkBnStMzXWJw2cXXsxN20Xgn/wB8Wks5GmEpFSK1z1zGVDlkcokgkaUpKUuEJQPDGlpl1ekAJVpCvBZUtNjYEIHYAbYobLLxzBUVYk4jzuNDE1J5TAA6rG4RWtKa6d2nTDafXzlfPs1qRfp6uqLouZ5RxUYwVT+QwDbtXSadvfgYGbzOoI+AYqOS+7RCkke5kQbqQUuJX5SLC7Hbbcsa2FuSr+DGW6j5VK6jfrQjONRaVhStuhMlMii1IVRRzwgcE1p69KmIgtbUrMKCrWqqHmrgej6Vn0xkj0ShBbbi0QjqDCxjbSgFIRGwbyHQCNgrHolZj71ucgpwnki2pRGtcKCaV6xFTLUlzZlpzcuhWJuXcCeGLEoCu+lK13xnvT9kzUfULnNQWT1MtxDkfV8wfaecgloRFwUpl7YmU7jGFOENsuCXQykhxR/B6iq22ObvxeyzbibO5m/82sYZdRTyBOHERp8JnT6Jjc3bslN4bxN2Ct3kELTiLlMWEDPyaj0xNg6fMppDknljT+XkhofL+h2JBCsQ/utCQ8QRMHG2kMvzmeTSPhWo+bVBMgnXEv8AjRDRdUopKb2Pgztw2kWjtAvsq8kzOuTDaxQNE1CBXyQakaUAoBpoIuTYljSVitFqWTkRmdK0GWXWc6gHQZ0i09ScrzCn+Xs/ktKSek51T0bLFt1XKZtK253P4qRu+IzEok0DN4OKp8hTK1pf3TGFF/DsdOOh8Hq27MsC8r1ppdMtPoUkgZUI11yUNd2XXDNoSq55xxhw1RTzlOlK+mo6jSIcnVVlHIsnc01yekob3CkaikkvqWnJYHHXRKWXHIiBj5M2t8qeEHKYuGCGEE2bbWEWukk+4FyLXevDduXtx9zlFzAOeum+u8mtSYqVfmwpaxbSSuXFOWKq5U8mlPTHOUOxFxkTCwcvYciphGxULAwEM0QHImYRz7ULBQ7ZsfM9FPIT8747OWVLIWt2ccDMshl1ZVStMDalDKo1IA6K1jikNLfcQy2cKlLSK66kA+aJqHQ50rnpUykltGRMjoaW1RMoNmYVbUEslTzlf1DPY7w46OhKrqRalNrgYN5wssQrS2kQzbYFlkk48LPCP24T21O1Z1jE77mSb5bCCoFICVFIKQBupWupNd+cXJuzd2xrsS8uiz5ceOuo5zulTqSE0r0HnEGgpGy+reb1JJ+nuvU0nHMS+c1HLomi0KikMuQy4asJbMpFFQzynmYjwG3m4o3cSnWgC4745nwY7LZtPbFLO2qr4WWcS5jUK5pNdMtw1rlG6vJLTD9kLs51eNa0kY6U831xEngugLPqEgYaH8fLYiGhkNfgq0iXUAMpKUpDipEC4sJTYna54x7fT21W5bcxNJnp+0G5iWSjmsoKm1VQCAkhQAy8qlaGucVgOzacE04zyiltpPl4SK1z0rlStNd0aLzcycrHJGeSena3ckDkynUlVUEIqnJq7NoMQHvrsAEvPuwUCpqLD7CtSNJt6439g2/Zl5rDVbdjzNpFCFhJS5Vuta0KTni0zyFMo5O2bCNjV5epIOW6tPR546q9n/0sZn575yZd1zQ8RSLclyzzPpupKkRPp49K5kqDoyayOoZqzLIRuAjERcS/CvtoYCnGwtajxpOIn2/7QrFuDs8tL3bcm3Vzcg4023jCgXHkltGMHDzAoglWZAGQJyjq9nV2HLan2bRacUwULJ8kr3U3U458NTEy2cRMwf8AutFygS5uOi1v+4NTVUYiXavEWoe8KgkGKLdleaybBVwPn4I3cTIC25WXnVhcrKv49PwmdcP5ulYtsGViQRKE1UhOaqdHA+2I1XtN8jJ3USqzzQrSRyeVZrUrCQc6dn1LQULKZPUlFJfYg1MJTCQ8MxM5fAQKkOtOvIVFhTa/EVde3tB4OV+LPe2fWfZdjTWJhbikqaOaxWuEkhVAQaVplSIL2m3cYMobSl/g1JzoBXrz+qGJwhOqyfIFuEabFWgLdIJHOoAG4+Rxcu3G2pGZIl0BLKZNp2lcqkBKh2qBNemkV+lJozMq/MKThLO6uvs88PYex/6VP3Q6qnfUXUdHUjVFM0LUTtFUd+6HCuzGQw1Vw8DATGeVNJ5GwmLam09krUc1DQq4qHfhGC8pakaikppd4cO1VjZtLN7LbCtJQn7SslubfeQC2psPYw0zhBJNMKlYgoV0Iictld1ZC15Jy2J4coTgwIoMsziookDgNx1pnEoPW7slWhJFtYbOvXsR4eo6UpaQfh0pSfkBtjxMdcM0S46rlHUKNF6Vr0fXFim5ZlnAWxQJGmQ9EEDbki/1/RhqnDSMitOEETsN7X5sobAb7bYMawIqISVXusADckqJ0jbtbgYSSBB5674wXMmGr6JpmYw2XUtpCazuIh4plMLWDKouBdZdh3EPph4VyGiZfFRS4fWlLcSC0pShscSRspesyUvWzaFozBl1sqSWyAKlRrvJFKZVpnwjW2xnIrSsYmVgBSa0xCo3jp7DoeEQ5uuHJOU5WVzKKjp6VmnZfWzs2hp/TaGGoRmnq3lSkGdwbEAwhuHl7Myhy28ppoBtt1J0DSqw94tmN6lXlsJglzlihsc+uopv1z039uUVN2m3WYuxaMsuzzhlZvEVIApSgJGdc8+iOH1kNoUreyUlXbsDudsSeMzSI40jsiA6Fs8pjL5fMWH8vUszOWwU1hG3auiA/wC5TGFYjIZbiRISltwsRCdab+W+I7G1W5aVKQ8udQ6kkU8XJzBofj9ESHIbO7Snpfly4UZVpgrr2iNVZwdPGYOSEvkMxrl2mlQ1Sxkyl8rRT07cmsQIiWQjMY8qJS7L4Ew7XhO+VYUdxtjrLCvTZd7OSasjlG2WgrEtacJXzjqivNppmTXWOdty70/YaA4KqdSrhQ+uH9PYu9UuaWbcjzGyGzGnZq2WZP09TU8y7qKYqSuopfIJzNYiUxtIzSNSkKnEBARDaIiFiXyYlAWtC1LTpKfNHw+dk907Gm7Mv1YJRL2hOOTLc0lKMnloS24hVcXNIBVUAEZ5U0ibdjd5LTn2ZuVtBspQ2WsJKtyguu4aFI7z0Q+SkEPBO58xGpKwSSOCDyfljzOZo9LOOnmlFMqa19HdE+pTUY845xzRdVEwcG4pLLQ8KJU023rQ34Jj2QFttqCCG3VJKrkAqJ3xJl00Bp9aQVHNNSczXAdTnmNI0NpHE3XIZH0xuqjiTJGQ2vxG2lxzZcBV5nEzOLDiU3KVt6FpIKd7diRjmr4ty71rrM6rkpskUTSuRApWlQa7j5hD1nILsskIFaJEcm+0DlkHH9NtWzF5lLkdJYaaKhYggDwW5lIpnDxsOLnVoiXGmysAWUUJJ4xZXwM5xqU2nps6bfUlpak4BziCTXgDTUaxqbyMUu/aSXaAlmvTWiaemITUDvCw55Jhobf1IhmQL7/kg2F8e5DjD6bTTLlPwKCnGajIEEjryB0ilVnhpksrGSfha+aJMvsG3AnJvqbbJs6M7KIAsLkK/c5Uo7+pSm1/QY8r/ulHJt3wuq20sqacsuZmUDMYmVvhCXOjn83CaK3kUzieNg5DptB5vNoq16ij2iH1+FXUkKO1xpBv8zwCR88eahcQoaxYzIRqabZHZRVDNZlOpxRUHFTacRhmEyinoubJVFxZT4aolxMJMmmW4haLAhCbEfTEmSW2W+tk2AxYtnOBLbZzNRmBoADujCUgugJdbFOyOOeuDKTLiiOmHNGe0jTMJI5u1Io6FMe1ETR11DMTAzBLrDSYuYRTag8iwKikEfZiw/g9bUb13s2uSMpNnFJYkbxkaAHLrrHO3jaZYu/aYbQK8lwGeSfRnEUnptgmJp1B9PkqjWUxMumOcmVUNMYZzXaIh4mq5Mw4ypTakOpS+FlKlIUFAHHsVtSDbVzbbmGVUnm5BWEdJZd36bop9diZmlWnJNBsclyyq5jimJ48NIpTTkO3JZHDMwErlCoiFl0CjxlphYQLU0iFaceUp/w20AC61FSgNyTj5tn7StG07bm5+dVjnULUrCaUoCQrPTmpqemmWcXmlHAlllnDzVNivYmtSONeGkYPm5Loed5V1tL41CG2WZJEx7ZWkLUzFQHhxcJFMkavDU07DqSq3mKVWHfEgbErQmLtbVbMtOz18o/NuhtkCoxlawCk1pTOtCaDLpjGnGWS4c/KSYgcVupTlc1y44VKccrqtFLUbkqUqpZooknckkm+PohseviSq/i0+gRRW3P4xPzj6YeO9hWNPUjnMQAScjEBQJICk/ftJ/Kri4OKFfdF1OTOyO77K1cm01aK6HWoPKE6Z6mnZEvbIWG12+skZ4B6Ik9pCj5j8RsSb31WUQBe+4SOMeRbT8kJVuXUqpbGRoc658N26LPrQlDhw60FYVpAGkhPhkp8SwIulTg1ny7lWk/XGDynKOFBVgawrz4EJJT05qoITgxa8IjY+27lcHL6uouJhEFoT2bQc1jW+3vopJ6GW7YAAuL92SsnkqJOPYf7n/PTFobKLQlp9wrtZt8hkHMqbqc8WgpwJBiu22RlHigCvL+1PVDCceAYGJSUhSdC1b+qWXrGxGxIx6AyiEzFo2WtSsKvEF+ZByiurLb6kyBmhT4Ubwd/WY+gPl3qVlxlqtYK1nLyglXvuSaQkqQo7DfQLb9sfMreZmWmLzWoqamDj905vIg7ph3LSL/2MhCLLYCPJCMu8xl677EDzA6hv6cJChYjY9uTjTlLM2BLOLwMoScJoTXjlrujZ0bLgC9c6QzD7aGAgk5IQs9aZ8OYTFuWyuMfSAA6zLKmljsGhdrLUUtRZSCb6Ui2PRz7nvakzJzs/YrauUkpgqKjuSUIxCgNDmRw35xDe12Ww3dmHQMgUedaYi4LuUK5N0EHnix4x6oDXoirUTTPZXnV7P7prWogrFL1ShCiLlKBmTWatIuNgVb/AFx5neESjFtemGnVEHkUUH9ARZm4LSxs4l6jPGfTDgl9/nf0sBxvYd8Qchgy0vyLebgKvOomJEUCmgOuFPoEWGrJPB1HSdUyKYpLsJNaem8E7rGtKUOQUS6HFJXfUqHebQ4g8pWkEbjGfdq0rVs63WHlJKZUrAUajLPLIGucJQ4GZlDy8kgKB7aeqsQRuqNWvqKzgVdS7VYwlK1kqWoIp6TIQVKO5KkJSfXHsFcBxSbuSky5k4uWVh6eaqvVQcYqDe1pyWt2eS+MPjDyS3vxAKSd2mQOtI6z9kV/r9sqNh/ctmmT2O1Fxve/IGK4eGey214LdpPtLKXDMN6V/GAefSOn2cNODaEwojLklegxMHNzvsNIISlIBskAaUi+4At2x4UsSsm3LlbjlZncmh166Ui44FBBhx1taCyspCXErvqAHibAuFPdQAO9uBhxpa5GWFpMukT5NCkA5AHIV0Nct++CSlkpWVZrIz+3VEQ32tsqg5F1NwUmlzRYgZdKKpTCN+XTojKrMe4G0o8qGWXX9CE9hxtj3s8F21pm1tjlmuzf4VKKHtAMVV2vBAn5Uo1+Fr/yQ3dl0QnMjLYkghOZGX+xv3rGScWHria7yIU5du0UpyV4hMGvABlwk9gFYi6y0hdpy6DoXkftAx9AePUpcXGk2KkOv3uq+yn3F35811LufmcfNxhB8ccBKkTj6gyfxhCz2pyI8qkXybZbxSyhSuHLsSP8oxqqqRpmuJOuQ1XKmJxKHIiHi1wTynkARMIsqZebcadZW26ApQ1BV7KONpdi+VqXXvA7bUjktaSB3ZQ643y6aOAdFTGt1dOeR6nFpOXkrLJBHgiYz0IAUi/h/wCqgFrbcWGJC9/3as3ZZblrVaZZWs8zkgpaaq3qKCCN+pNOGkMFmXlkBsAcq5UCo1Pnp3iIsXtXZPLaf6ofuNJoJEDKZXT8zgoCFQsuIbYRUUQ4Ahbi3IhQBc/2RROPZ7wbLdvLeHZJZUzeicYm3VGtW2y3gBAqF1SnEVHMEVp0RVXayHW55DDiQlQxGleNCDl0Q5v7C+l5C5kdm5WD0tbXU0NmzESGGnBdeMTDSd+lZJEvS5LaXEw5YedJc1lKnATpG2KRfdF7dm2b0WTd+VWU2a7Llatc8CjTLr6tIknY4wyLIKxQubxTqz+rp6KQ+UVqVp1AFAsDqAUSkXHm2JIA4x5pCVZaPKIcPKHry4xNVE7hDantSpZDRHTBU87faT7/AC+n6ulPiqKFByBmkrZiX2jvcoQ5Dpsnjc4vT4D828dqLljh1S7GQApGo52dMjmM4j/aOy37jOaUw5eg+iIfLK1JQy6CQrQ24lVyFXABB9QQLY9o5r9/ysyma/Dt2ecugOqKc9MxSKcS6mmJOfQo0SchkYlfexEWo9EcenVx1BZsWSSfIky+ibBJ7Dbse2PFn7opJo/dJpadeIZTdqzNxNKiYMWn2KtkXVC1DmqIp06w7p27E7WPNzc9/oOcUcmEtNOhuUVil6ZnTzHPWJhgtXPa3oOfn+fCKQUVkJUoXt5QVDWoBLepsgKTqUbaxfYd8JUFJZExhVyKjQEAkV7BDZmGUKCVKAVFPxEk6NyVpPa4KTyom1tO1t++2FvMuS9OXBTWhz6dMtYfCgRUaQYuVoRykpUAnewuUcDYbW4wcxKuNSnjqlYFJUMHTx00plrGPNISuUcCtMvTEaH218shICuKNchGi2ZnOHJtFAlIT77E0y23FOoTf4nG4ZC1K7k7749nfAgtOdtXZ049Nc7AEZk8TFf9uyUVs1Q8rCsd1R6IYjj1FMFFkbEMuG6bg/ATe/I52xdtpIUsJOhivZru1qPTE5nLzp1yVjMuMtn4iikuuROXlBx8QtubzxtDkVG0dJFurQkTEKTcpFxsCd8eFN+/CD2wSl8Juy5K1pfC1NPJSlLAySlxYAWVIzISBXDUVrF7rvJBs0HAmpSK1HAUjmXqK6J5ZmJVkFD07lJTlTUXKZbL1ypmfzRhxEDPYhp9M6dYM1mCoxLZS20lRIspSri4G09bH/CxsmxbM5S/9rJFuqSsOLQw8Uqoo4AAhsgUTSvTGgtq67NrUcwArJzFQOjeeEdC9JnTXQ3T7TEweg8r6PoOvahjJnDT+bU2hHvEwpqHfbjZZDxsTCxES3FMQTgUtpB0hC1bC5xXDwgNtFo7VbUZRIzTkxd+TU6pIOJKQp3CMQQuhBwgioTplGdZV3pSwmsUukArAxmmhFQM+2Otw2pDyUNNlRuoICCHDZAN/gJ4SnfsMV0lmXJgFiUQtRVUnmq3CpzI4COubfaWxjSebTM9sc75toZSiFEOlaGTAOLPjKcU+XFxoJLhfUXRqIsBsLcC2JDuWpbgccUQcLgBpQADDlSmR9MaC1VoS3izwYTxO+NwZf6V0zDvFxtZiYubRJUhzWkh2eTE3SoG3mSBt634xzO0CovMpFCAkIGlNEJjNsLOWQdQR645k69dP713McW390c5tteAmXfucT34J1ffklOGNHoEay9f8R2l+h9SYhDQH9qwvb8Xh/t/F2Me/Ux/Gj/U3+w5FH5b8E1/7vqiTJ7Btp1zKPqdU22+4BnlQws02VpKjlm7yQD2x5KfdJgr78LkkCqfvKXU0Jp/2gnhp2xO/g+rQiSnsagDU6kD4zfGH3TCxhFgw8Bsoj3dwnbfm218eaYpwPn9kWK5Zojy0d49sUjBRneGf3IP9ruJTa97/Dc4WFdB88J5Vr5aO8e2OKfaFQsQ30lZsrWw8lJlbxK1MrSmwgo+51EADnFm/BJCvfdkjQ4cac6GnfSkczeVaFWFaNFA1ZO8fmxEM6WyP3yPTlv/AH7Mn+5/5ayLbbcY9w9qf+iNv0/ID/UvxUK6n8Zyf6VX7SYnnTA/j0WSU7xcR+UR/s6/XfnHzZyw/wC157XyX/QqLvy/ky/zP+mMFzMsMvK94/uUm1vMCP7XfA5x2uyv+US6P+8Ef1hhqd1T80+iIEtZD+zWtTc/3cVl32/uimePo1sr+CL+Yn0CKJ25/GB+d64eT9hS0691JZzJaStwjItBUGwonSa2lA/JSbAnb0xQn7omCdkdhhIJPugvQE718ImHZCpKbccUsgDCMyaemJQSYOLKR+Lv2APLS/yVfNA2GPHQBSUjElQJA+KRu6oswt1kumi0Uy+MPbC1wcXoJ93eN9HDaz+Wk8acBOZIAVWh3HhBh5qvlo+kIjde3KZfaqLLPxmXWwYhnSXEKRf+x6P7qSL749gvufAIubNAgg1VqCN/TFe9shCpdKkkEU3EHfDAMb/acR/0bnf/ANA99mPQ2z/4fZf+wufsmIBX+DkP0o9Ij6A+XX/k3y23t/ocUALm3ekZNfcHtj5jLy/6T2p/vSc/+S7F77G/itn5nrMZj8+1iB89/T541LWpHQYzz+GR2+qGa/bQg/vdJPf/AIxb2tx/XuQ7c8nHol9z7/0gmet3+riLNr4/7qzPW3/WJiLGu3hm4FyDfbi4P5sesUVNiaR7KwKPs/OmqySQaXqoiySdQ/dJrMFQI5AIttjzR8I2vvzvfoW/2ExaK4f8ncsN9T+0YcG0q2uk3/kq59O52xC7lcZ11jvHSMf9FP7IijGC0umZsQPuXNbnSoi/3NjD6/bh6Ur4y3kfwqPTGJMEYIgWdT9v3w+bwBFjVkPb6fe7JTt9b49fbkf6K2V/sy/2FxVXaDT74EfPjrb2RV/3++VO9v7FM1P/APio2+K5eGl/9LFo/wC0tf1ojqNnVfv/AGP0Sv2TEwfc9xa3r8vrjwmi3OcIIUVWBtwOfrwB+3C5mgka/nQ0mtXOoeiIk3thv9dejcH+s1Q7m3/H8Pvj3d8Er+RqR6k/siKrbW/4wl+tz/phtfL1JOYuW4SCScyMvbAbk3rKRgbWvc4sLbppd60q/wDlk5/8Z2I0sj+NZb9Mn0x9BGNhIv3yaH3eII8V0k+A7yXFWtZFsfNk1USlnAgg+OObjxEXvaeZKZQ40UCeI+SIpCEitO0M9uT/ALA4LAEgblB9caYnPMK88P8AKs08tFesQEwcXqctCRBsoEkMObfgwLk+GbC2HHT+8xr5Q3HjGHOONGYliFJoFGtCMuuIhXtd23GurOLS4haFfcmcGy0lCrffA7vZSQbWx75+Cx/I5Zo35egRWLbIQbbBGYLY9Ah0D2Fo/wBLXnJ6fu4Adv8AkXJPkfTFGfui38oFif7E5+2qJC2N09yFfbhD1qYd9xOpthxxsXBWhkrBI5GpItdOPPGh4K7jQRMxcQk0UpIV0kCG1vawIfY6QKzHhRLbjjUzXq93WhKWG4BtCrqUgWK9Qv8Abi7ngMpUnaqvEFAZagjjEf7RHErsVeFSTRO4g559MQ9PyDsB5lgAA2AubAc7Dtj2wV5dof7u/wCsxTFz+CTnWIlfexCZdX0STAtsuOD98Fmwm6W1qTcQFE3FwkgHHi/90ZB/dKKOeH72rK0FfivxbXY240m5zKVKSFUGRIG9UO9+5xFtoZ+3ybcsd+fh7DFEqnga9RiWOVZ+Wj6Q9sGmCilrShMPEEqIA/BOC1zbnSRfBEkCtD3GCLzABVjTQD5Q9sRbfacdZOe9JdYdUyDJLPjM6hqIl1BZeQ33ApueRsmlAqFmEm8PUrolTsN+DiBGw6Qt7UQ7+SLDHtn4KGxXZ81sNlE34s+Tet1bryypxkKWrGoKSlRJNQkZJoBQb84q3tTvZatmW+mzZF1YJWfJVlmTQ5AZ0pXq6Kw8J7LzMKu81ujSia4zLq6e1zWEwq3MSFj6lqONMfN4yFls/VCQEJExSkpW4zCMtpCAdxa17Y8/fDMutZN19s9p2ZYjDMtINsSakoaThTVUs2okJrlWufTnE3bP3p1268ou0FlcwpBJJNdXHaHrwgDshw9qEilPNaYWJVfVazTpB43BCTtiqLi3nrJWhSVc1Sfinp6Kbo7OZea8WWnEmuWWIcYjP+3GS+1mJlaFoebCWIkBK0qSHCZSw1qIULkpSsgY9lPANBGzKYSoUNEainxumK/7dVJUbNUggghzQ13n2Qw5Md4GM/8Ad3L/ACshW1xycXmY/Cp64r6fWPTH0CssoaK/cwyu/F4kg5Y5bhJ8Fz/kXJtwdHH6MfN9flJO0q0SAaeOTG4/jFxe+7zrSbOTVScxvI6a74zb3aKAJXDRA+LYsuhVr9/LyccKQcZABriO48TGyZdaDYqpOp+MOJ6YtM+m8spOVR1R1KmMhJHJ4ZcbMotmCiY1yHYbcYGqHgmW1KiIkKcSU2IKLatwCMdfcC7Mxe290lYzQPJuPALyOmmZ3eg9kY9pTKESDqkKSV4dAQdx6dBv1iEnP+ufrIdnFQNQ/U/nQ3L11LNmoeGhqyimUCAZqCITCMoV4IKWxCtoSRYXTdJx792fsS2S2ddxpr3Gs5M+qVGFHIJorC2MZXQ1qc1VBGZEVEnby3kYtJUq2+74upzcrdXKnREsut4x5yT0+9FxLj7zlJU14rzzq3YqJjYmWwXvLkUtzzuvOxKitTnClEkbY8S2JKXavNaVl2egJlxPO0oKJAQTpwHRu0izwmkS13mpmcNVckK7zUnSOlaWZbg5JBQ7SQltplwfg0BCVrVHRSnFhNgfO6STfknETX1Up68Lji81FY1zyoKeaOgsYBMugDTAI5V681E9L2ZAIsfdHCSTe34hMrdsWB8E8U2xyfDGj0CNTeo/9h2kP/R9SYhFwH9qwvP9rw+wPpDs72x72T2JN4S58RKU17YpAxLGYlG1bkLV56Rs+ic3828tYKZS3LjNKvsvICbRMPGTGCoqqpvT0HMoqFhlQMPFTRiXxLLcdGtwailDqt0J8o2xpryXNureOZTNW3Z8vasqBmw4kKKs6jCSDhCVc4ihrTdG0l5+clVpTZyyiczwmtBpnXsrGZfvo+qD/nKZ4/8A1Kqb/vDHN+9Xsm/1GkvoI/uo2Pu5fP8AKR3/AFwP30fVB/zlM8PszJqf9X3RwPer2Tf6jSX0Ef3UD3bvn+Ujv+uLLP8AqE6gqplcXIKqz1zbqiQxyCIySzyvKgmMoikqQULbjZfGRb8PFIWg2Ow8pth6XuHs6sdwTVn2NL2cU5pabaSFN9IWAPK8rTfGFOXuvCpJs2eUpYTqqpoa59PGkUMg1Laz8yIimXVsvsZz5WRCFItpLjNcyNSSeDYI1W+ZwV85qzpm51rMyLRQhuxp3FX41WVU7ox7toCbxyrg8pSzXzRPmmOr7oxxWpRJduTYDlwG6k8X/bj5wrNzsdin42Z/qXIvjJj96tcMPqjAczQDl7X3N/vUm9tv/V3rm30x2myqvviXR/3gj+sMYc7qn5p9EQJKz/u2rb/44rH0/wCUcz+VsfRrZP8AA1fMHoEUTtz+MT871x76LzEr/LePiZtl3XNXUHNo6DelUdNKPqCZU7MIyVvOtRJgYuMlr7LkVAIimUqEMqyNd1XubY0VvWVdi3ZFuRtaVRMPIUSoOIDiMyaHCcq0oCeiMhE5NytFNBQbGhFR6I2Onql6odyOpPPBF/4uY9TgHf5zI+uNYNmGyd2XbS5dqTtNxNajkkJDVaaDAry+zyY2KLy3gmBgs50oweViJz4b91DCh1S9T4KVK6ks73ADfSrMipyAeQraYblKhcfMYJOyfZQ4eTTdCRklHR/k0Kwf0eTFcXk6ilYc++G9LHws4/ilhqATU1yG/jGu6zzMzIzHcadzCzBrau1wx1Q66wqSa1CqHc3/ABiDEyiYhEI8b2uO2N7IXfuJdlPJyMqhsUI+DQEA9BwjMRzNqWvaM8rFziOmppGAR39pxHr4bnNr/wAC/ucdHIfw+y6/kLn7Bg1/g5D9KPSI+gPlzvlvlrubfuc0COAQbUjJt/Xtj5i7zf6UWr/vSc/+S7F77GP/AGWz831mMz3Fu/JG3p3t6Y1Dep6jGwP4duv53qhmn20f+t1lHoJk1YWB2+7kiJJtvj0T+59fx/M/+7/VxFm1/wD0WmeFW/6xMRZRYgX9dyL3B+nBIHqcesOh6IqZHSVCdZXVllfSMnoLLjqFzUoeiKeZfhZBStP1CiFk0khIiOiZlEMS2GXCvLYbjJjFORDidZAcWRjnLf2cbM7z2oJy0ZFp1RNStxKlKrvNQtPnEdb7t3yGkykdVB1eaMq/qgfXNf8A12Odv1NUMk/b+IWJxiTWyLZIh8pYkJZTQpQ4F8BX4/GGF3kv+hWFuZGAaaeyAfaA9cikLbX1Y52BDqFNOD75YdxHhOoU28C2qBAX4jain0AOENbLNmEqsPMWfL4hwQv1rhtV874yqC3aCy6lzSlMqa6Dq7o5Wns5m9TzqZVHUExipxPJxFCKmszjlBcVGPpYahW331pSkLebh2EouAAoXNhjt7IesOUSLMs5hSVBtwJJ0SMKlEAdOffHOTTipx0Tb34XEPSIcV9kWAevfKkHj71c1b/ZRUbirXhon/8AazaPHxlr+tESjs7p9/7H6JX7JiYN6GxPB2Fzc8WvsLY8J4t1BCyVd9Xc25NjxvbjCprOR6MUNp1crrQeiIk3thtuq5O/+41Rfk7/AN0EP88e7vglfyNyHUn9iKrbW/4wl+tz/phrCHeehn2YmGiX4KKh3W4iFjIVbjEVBxTCg7DRUK+0pLjMRDOpStCgRZQBxZtCGXCWpiVTOsLBSpgmgcCgQQTQ5bzlnSkRbIvTkvNoes8hM4muEnQZZ+asbyV1UdUa1KU51K54rUtalrc/dJqhSllX8YqmCQAkDSAAABbHKvbG7huK8afuTZ4bPFDXpKa9usdF7uX0JqZlNev64H76Tqg/5yuePb++VU//AHj2wj3q9kv+osl9BH91Be7l8/ykd/1wk9UvVBwepPPIjY3/AHSao5FiPMmYhQtbtvjIb2M7OZtIdkLkSFBuwNVGfSgHPqg/du+evjIr1/XGrqqrOsq7mip5XNXVHWc6WlaVTWqJxGz2aaHXlvuJXMJg44+tCnVkhPAHfHSS9iWVYDbVn2TYzVjthfOSg5OkUAJAAAKBl2xguz1tT1qSptlwOYQ5gpuqBWvmiSh7CJ5ZyBzyaKlvNJz1lrjMGdCEl1yg4RKAhwqBSt1xvnt88eVf3RiTdnr52FKS1EvuSzgqehxWvUMhxibtiyEuSloJUaDGM9aAKQTl2RwV7UXqXzalnWDUUoypzizSomlpVQlCS5cip2pp5TMnE/hoOORPY2GlcJGMQ+qNjAVLdAJcXc37Czfgm7L9mDexJl6+llsTs4VqUHCyhxaiqgotSgeakjmAkCh6Y4raneS1bv7QmG5YrKMNciqgBqRSnAEDshtOqs988K4lypNWWcuZ9WyhxJQ5KajreoJrKnWbG8O/ARMc6w+0Sb7jFoZG4ezu7iuXk5JhtYoatspQRpShSKiI9tS8VoTqcIKz2mNUp8gARsE207gWt8IRsQEp7C3A7434nglJ8USpNmL8muvBXeqsYMopapdKnR8Jn6TGzaNzszry8k6qdy/zgzKoOQuRj81iJLSFaTuRSd+bRgQmLmDktgYpmHVMX22kB2IsFOhKQQNOObn9n9zbYcE5eewpa23CKNqcSkqZSKAjEUqqlQpQZUw76xtZKdtmRxe47vJhdMdTrStN/XGWfvpOqH/nKZ4f/Umpv+8MYHvV7Jf9RZL6CP7qM/3cvn+Ujv8ArgDqk6oUkKHUpngCCCD+6TU+xB2/3RwfvV7Jv9RpL6CP7qC93L5b5kd/1xp+e1FUVVTF2dVZPZrU09f0iKnc+j4iazWLRoUtXjR8WtcQr8ZcWdN7WscdHK2Uix1YpEAAZhKRRI3aabqRo8zrUnpzPniWd7JOo5XSXs+aLqSdh5MmktY5oTKYFplUQsw7dYtsKDTDZDrzpcdSQlNiQDbewx4++F1Y8xe7wqVSMxUFxMiFEcPF2/UO6LQbNDguY0smho5nw+Edzz6u+I2FYdU/Uuqs6wXBdQ+dUJLVVfVQlrDOYdUw7aJemoJl7olqDTMEtwTLcOpKENJF0hNjj1LsTZbcBi70im0bPkQpcs2EJDCDmlCAsmupUc69NYr5bNuzHu9NoYWogLFczlrTqjTtY5lZj5jPsxWYtf1hX8ZCp8OCi6wqGZz2IgkDZLcK5MX3lNJCdrA8Y6uzbFuvd9Jk7IlkszChzShAQnichlmKxqZq1ZuZl1MO1LaqZnPfXfGEqAI0lOpNvhO4V6g27Y2Y1y1jUxvJrqc6mIWHg4OE6is6YWDgodmDhYWGzGqhqHgoWDYahoGGg2fuhpZgoWEbSw00Nmm2xYm5xzStjtyXFqdXcqQLqjUkobqokkkk4dSTUneTHV+7l8wAEzKQkdP1xVHVH1QC3+mUzx7/AN8mp/8AvHbDR2T7Lmjyc3caRMyNTgR2fzZ3U3wPdy+f5SO/648sb1MdScwhImBmPULnPM4ONbSzFQcbmPU7sLENJcQ94b7Co9TUQytxA1JUCCMZEts2uFIq8asS78nYykZrIbTid+TQhKKFGfHyoULdtkIUm2HsdfIofpVz6o0e8pRIWtZdccfbW44SbuuLiErccVcqVqWtVzuTc46ZvC4lfIZsoYdH/wDkqkc0s8vaDT40Dif2hE16eNriaXpdxp4xIEjl0SVqJKQ2iHhR4bKiAo+GgW44HrfHgWytLVu20FDCfGFDpqSrM9Zi5mEql5WmeSj5zHX8gcWuXtglJ0IUgqARbxPeoolQAubKFjwNjiE74pCbcURXNdezKOnsipaT80Rzp1jylqedP9USqJ1twk1j5bLYqJQhRDDEwVFQC4hejcNpXEp37E4nrwZphuzdqlnzrignGtOvRQb4xLxMJmZCYlkivKIorpyHdlwiErWFCVNljUs2oSsIFUvqGnXvd32ipLqIyCT5IKbQj7dmnYKPZSCkpuAQd8e9gmhaE09MocBZUhA3Zmhy7AfOIpJPS8/YU89JUIlVK+DFAaa1zpU1y1jGt77m532t3N/58NByVaOFhKkzO5QUrLjv3isaxySdWDMOK5g3DI5mgzFDB3/X8rkfTjCvGZr8a79NXtjH5Bv876SvbAukbqIA2FzYb3Nhb6YLxqa/Gu/TV7YHIN/nfSV7YrJZeW2++204tiEDK4p9CFqZhkRD3u8OuJcSChhL8QoIQVEBS/KN8OF+cZaEw88DLqrRKkpUrLWpIKj36RnMqmS2GGAS2neRU556mpMbRyGBGe2RyiPizhyzKTbYj79ZL8uccjfV8v3QtZVEhHuPO0oAP5hXDWM+7b7Ll5ZVlCSHkL53TWlPRuifVHpvMI8C38ITztsoHUoX7Y+biVd5Gw5VytB424k9SklJHaCR6IvfK5SbVOHqjXGaLim8ta9dCQoJo6eqJA5KIJ9TaQBtqWfTHe7LnmJPaTZpm/wUm+lbIqearEk14nMnyqiEuNpcc54qAg07ogi5s07MqSzTzFp2bteDGwNaVDFJWQUIiISbTaKmEvda1/wjUVDRiVNrFwtIuCd8fRZdu0ZObksac0qQNDwFD59eFRFFb02bOSloVVkMR3dOUYCBfuLhRCtuFA2IHa4tY4y/GFtEttYQiu9KSc+kisYInpsNBjEOTA0oPTSF2Hb+m/ywwlxxtRU0pSFK1wkprwrQiusYLiA6cS616CR6CISbeov2B+R+uHUzc0k15Rw9BUVDuJIPaISlpCFYhir0qUfMSRAsTvt9l9+LcnBqm3leWUkfNT7IykvuI8kjTgPZHrl0lmlUzKTUrIIFcxn1TT6U0vJ4JhLi4iPns+jmpVKpayhIVp94i4seIqx0tpJ25wp6abk5eevS64JewrPlXCyDQlKAmqgCczRIV5RJJNIyLIkJy1raZZbOKQQsFKaaGvytTn0x9AmmpI/TVNUtTcY6y9FU1S1M09GPMbtuxckkEulcW40oeVbaomFXZQ2PbHzK3jnJa0Lw2hPySCiVfnphxCTqAt1as6kmprXXKtBlF6bGQpuzGUL8oJz74ve35kn+n1OMCUbxlROYAjPP4dA6D6oZ+9sfJo6c9PMOzL2XIh6AhZnP32W/4Qy+RzOm4qYhGoKKnYaFK3bbkgb7Y9DPACm5OWtiaLgAcxLAJPyk0HRSI12pyq52778sz5asHmWknzCIpwuU6krbWkqVoLQJR4YOlCyVEhS3EAKJG2+2PWiWCVo5d0fBHdpFS5psNuFhvJ0HOBb6d+9uPt5OFKmXVJwHDhP5qfZGFyCPzvpK9sGO3G5Pc/z4aQstowIphHQD6RDiRhGEFVOs+2Dsdz27W3P6zh5E2+1XAUiv5qfZDzbzjQIQdeOfprTsgj8yOUhNxYkk2Aubbkn8+HGnph5zAgpDiwRXCmuYI1pARgcdBfzR3Z7tKb4dW9jRRM/qXrblNTwMG4qnstcuq6nVUzM3S1AGfy5NMSOWKUU6RFzyPmCy1cjSmFUeL4qJ4c1pyNleDtNXbfcSLVfmG+TSfjkKxrNP/TGGtNSscYkvZbIWk/eIWk5UqSCAaDIHKlNPqES1wQbWJCdwCSbkG5TfYC9seG/pi3MGDZQPNt7eY7Eb+a+5P58B4F6VLTY5yVZwhvNbgOlB6Ii4+12yyn84zZqLNWUQjkfJqRm0zp+omWtSImVy2bvQEzlM+ebUCXJZ4qnERNhqB8MggE490/BTtGRs7ZHZsnMrSuYeSMPWkUplvVoN0Vu2s2LOTsxKuyYoWw5ym/M4fYYZgCiFDcG4JtfVqFuU2Fik35G2LSpLEwxyjVU6aEgjPiCCIgZ9l1p3xd+ufDLTPUUMVEnSdrX+YuP0i2EOY3U4HHHlIG4uuf2oQZZo5HH9NX9qE7en02Pb12xkCZmtOVd+mr2wfIN8V/SV7YCiQgqVYNp1ALI0gFKdagpVuEjc9gMMh9wPFSHnkTBpU8qsV4fGppChKJT8Nz1I4Ylbu2KrjD7DqoeJYdYiAgKEPEIWw8NaG3W1eE4EuEONOJWm43QQRscbKy5NTtpSwm3Vvodm0JIKlKonA4SMzUVITmOEPtuNNsOTUshTc00UgKJUryq1oFEjdwiTJ7B5xX7hWemkjSM8ZGpBsDa9DMbi6SO/2HjHkP8AdEX3nb4XZ5RRq5Zzy1bqqE0Eg5UpROWWUWT2IIQqwn31CrrgUVHiQpMM8e0jSEdYWZYQAkeBKhsLbJdmKRYbAXA39eeceh/g4Tb1l7DZSTksAl3G0lQUhC69qwo9xiOtpky87eQzrhBmW8kmgyHClKHujhnUSbbbJUo27JQkqUSdrJQkXJ7DExGcmFChKSPmp9kR8lITmnWFaXSl5YadLUOWERLqW1Kbh1xYWYRDzgBQ0uJS0otpUbrCTa9sOrQ/NSiUvup8WBNEAJFOOYAOesY7s4Q6WeTOMU52416NITf4fhsQFJ7+UkgHbexwyZhSG0sy6loCeCiK9xz7YYeaWuheJpuoSO+lPPAJPa1/oeftwgT65c8tMuPKZGoxq35DQ8YxXJcYDgKgr5yuPXCgCQLC91aRburSV6QO6tIvbvjLLjyk+MB1xDB0+EX/AGoyn5AvywEjjExlU4lHzE0hTrbzC3G3mnWXG3XGHGnkLbcbfZt4rDjbgStt1okBSSAUk74wGJoPJ5aSyb78u2sZzsy1Jq5CabJd6yIlSezpJ/qWDadtK55mtqSRckprOBWLG4Issk7Y8ndv804/4ZjCVGqHDIhWQFaS6B2dkWV2ZucvcZ1R8lsOBI4Crqu3PPOItU8Gif1ClA0oFR1GdKbhIKp3GaiAbgKV3OPV4toZcabQOYyyjADnhqM9ddBrwis8wotzr8yjJ91w4zrXCcsjkKVOkW0XUQlIJJ7ckm/AsNzjKeemZ4hKynlBocKRTjoIR42o/h+c1vFAK8NKHWkLWhxtEO642621FIK4RxaFIRFNh16HLkMtQSl9oREOtvUkkeIgpvcYxEp5ZZYZWOWh1TSWUB51tXJHrhFz3P6uOw4wvE7+Nf8A1rn9qNV4u3+d9JXthJVa5Jt89j9e3c4dS/MpGEOvU/SLP/VGW1KMFAJx1+erj1wpCVuKdQ0248tlh991DTanFMw8OgOxES6EJUW2GGhqcWfKhO5IGDU0Z5BRNPKwDcpRNeqphzkZNgc9pTijocSzSnb9qRRcGpCVDdPiw24sdIW42pJNtgFp3HqMOMMok2HmWBRtTLld/wDNq45xjs8p441hqljlE1T2jfrE5GunjCSChnn1FzXSlMsWS4l3wwuQQDWg+VK9KisKFvKAd98fPVZSOWtm30IFKTjp0pWjqzXzU6d0XdcVybUmpXyCPSI6CpA+LJkOqbUguOxJTewK0++xKUKsCbCydh2A+uIyvxzbwFINaUje2Lmwn5sVaspiUVnTE0pSdsurl03gnoWIVDuht9lSlpcaiodakqCH4Z1GpJ9cFYVvzl2LySduMqJQ04khNaVA1Fc9ddIy3pcmYW4o1QoDLop6+qGIerHoylc8cYpvMGBjYePll3Mvs0JAQ3FmWuFz3WVuxTqRAxKEE3fgYtWs2u25vbHr5si25S14mVTIdbbWUNJW2twKGh30HmoRxiLr13PkpxaHPjqxUITmnTphsp72eNdNuOohs1qDchkOOJhn4qS1Iy65DhR8Nx9llpbbL60fElF0hXBIxaIbR7LalOREop99QHOacStfHmoNCrLXnCgzziJJ7ZZPF0zLM8S0P5vkda9OPdrpuimPZ55g2uc2Mth8jKqrvz/7vjFO0aWH/wBttL9Wn+8jA97S0vxh+h/ihL3s9cwkNuLazUy3W6hJWhJlNVq3SConR7udXkB/z4ec2h2UxZ6rRfSlDaRUpLqMXopWNn70k+RXxk1/Rf4ocrob2dsLk302xEdVsrTVSM0NTWari4VTETL6eiG4d2joqDQ748XKJO3EIVEsEAuMxYS655XChNXpjwmbIvHtCduiy94hMSi0BBxBaVVSldcVEgk4wFa00zAESJdvZxJWXZmKccD0ypKqgop8YigOImoAFct46Y5e6f8A2aNbVDn/AETF0vmzRTEmpOrZZmE21UUnqdyexkpoyopPOImXTBUuYdlzU4ioQBtDyXCxpQFKA4xJ+1rbVZdytl85NWnIqdU5ITLKORebAcLzZTiAUOaluoJBqTWgjimNmjkreX3Xl5gBGMHByZ0r8oK9USuIl9D8VERCE2TEKUoJKkkoTsUgqQShZPyNseC7bil2S3JqGEtvldflVypTKlOPmiy8iS5JNkihSItE1lcHPJVNJLMAVQM4l0dKoyyygphJhDrh4hSTY6XEpUClXa2NpKWu5JWyzbDSec0UnDXXCa60y7jDyk1zG77eeI5PWD0WCtJ3FSeZiGpLNSmmoiDpur4uFU7JKoplb6nYFE6DTDqoyTOMDXDONXioZ95Wq6FWHtvsS2x2TeKzSthadAcHKA54aGhpru7uEQjfe5rdrr8YYcwa5BFd+hzGkNPTXpL6ipVGvwf7mk0mrTT3u0PMJNHSuPlkU2khLTsJErjmXFslP8dCVp4UAQcWLavdd5xsKmJgtPHVJFSOGYOeUQxNXDvLy6vE5flZbLCuuGuXChpQ9MeL96v1G/8AmkqX/wCZKf8AvLC/vruv+Vj6P1wx94l7vyM/S+qB+9W6jCN8o6ltf/hJSfs/1SOAb03dVzZeZC3joCKV451O6C+8S99P4GfpfVHqguk3qMj4puEGVs4gvFuPfJpHSeXy2HO/mjI5yPcQyj6JJwc3eGzpRoPuLSUHWhzp0D6xANw73/kf/N9UPW+zF9nyKIzDgs+czX4SpJ5RaXzSaYJDztLSqeR8A9BJMoejoZpFRTaUtvLU/GNJ8KFdCUoKioKTQfww/CJDl3V3JuY6GpN0BLi0rBKwDUilARnuqa0ziadn+z9FiPJcmHuWWM6lGH/qOkP76lK8yynWo6lAApRe++hJ1FKb8C+PJtKSkZ1rn1555xOmAN0QnyRCyL233vt6b+u/bGbKO8mFilcSadWsDDVxK6+T645Z6rctYivKCh5vLIJM1mFHIm0TEyZxK1GYUtOYZULUbC2GyoxAb93S4pIBUpgqAFwL2R8F++jd1L5IsR8cyexUdKwhKFNoKgCCDkrDStciRkY0lsSBm0lVMRzGHcqumfHfpu40iLJnp0WVVT00jKkybl7tXUbF+LGKpOEWj756SLiQ+JbBwTyWDNJCyXNEGlKlRTTY0LCiLn2cu3tGs+dsZDV4U+JNH/xGMPBfSRRJqTrn01irV4Lh2nIWuuebxONqPkYaU7an0Ryycms3T/epzE+Y+9WZ7EbW2Y7Y6YXisX8ePN7Y5X727V/FL7oP9xrN4X/0Kcxfp96002Hf/YO5wPvisX8ePN7YH3t2t+KX3QX7jObg/vU5i7AXtSszve++3gYUi8FjrcCOXSEk5nLLsrnA+9u1vxK+6Mvo7pizxrWORCw9BTKmZf4yGo2f14yaekME0s6FPPtOqcm0e03eykQ7C3FEgJG98Y9sXyufYrJedtFPKo51MNDlQ0ripnpGXIXNtS0ZxEk5iZQsnn4a0oK6VFa0prEsT2e3SfKulHI96WOpiX68zHjIKpq6nEwaQzM45qGh1MU1LomHWlURLYWXy19TrUIpWppx3UoqOPF/wwttc5ta2gNysiksWRJIKEthzlEqJIJXklNKkZg1qMq5CLQXGu2zYssE4gtymasNNO07su+O7733vdRPNrfrIG+Kk+iO+gFAIsoak3BUk3IUPygbW2t+nAxfBLbTkpdM+FIJKSkqUDmfNHH3U1kB9/DcVXdJygTWofub7hVNNrSiI++qVNodQqNhoZ4e7xE/hoNfhaFAJdaG1lJF7deD9tvk7tMpuxemZWzLJWgMLzKTUkKSR8WnNpmaxopuymFpcS8ArlQAMvJpw66xHczL6A5XOp3FzfLGrIShmHYlbcwo+rISYxkvksQoqUpMkipdqmULCLVcOQcQlaW3ACki1sesFgbSpRyy21y7fj0stAJcaWkunQ/gzTH0nECBma0iBbxbLnJiZVPy01RQ/mw1rXLXFu10jW39TzzD/wDOvltvv/qVVn6fwG2Nv74st/5daX6tP95HM+9paf4w/Q/xQP6nnmGf76+WvH/FVVj834C5vge+LLf+XWl+rT/eQPe0tP8AGH6H+KN59OHsuakzBzXksorKuqaqGjZclM4qVim5fPWFQ0DCrD0CmbxkxbaaZlcfHNFsst+I9FDUjyA6sRdtX8IGw7hWM1OtsLVajpIUy4tLS2xmAVCjmZFFJzyBB1pHVWBsqmFkOzb9W6nmcnnXdni366cd0bH6tuiz79auiXmImV5e5mSJELI537/LHXKYqaRwSSJHFlEC2mLhn0y8oRL4lkHXBBtDidaCTl7INt9mWihi05p5LyHHUvBsroWcCFgpxU5wXjBzAAw6GtRnXp2fNTjbVnSoEqoE4lhOLHw5tRSnWdYdM9lv0uVb0yZJ1GxVNXU1WLma1ay3MCXu0zBTWCEphIaSIkAlczTNw247Mn4llSk+ECggc98ebfhk7R7N2l7QLNkLDlnmjZMsuXJWtCuVU4/ymJODJKRSlFGu+O+2f3ZcuhZK5Nx3l6ggKCcHlEHSqjlTOGjesLpJqrOrqKzEr2TV5RtPS+ImTknEsnEJO4yYNOyeMjmXXXly9pUO34qnPguSm3O+PSPYteyXsfZBJSk0hBdS0K0dSD3ERHt9rmP2lPrmkPYanTAT56xzMv2d+YDpShGa2XLhKwUtfciqj4vI0LbDH4ZJv8G+o2GJCm9p9kyNmqtKZawpSK4OWRiPbpGmGyy0Kfh8/wBGf7UOVv8As6pJk704Suna0kcVOpZmUkx2Y1QhoS+rJDWDKmHqZj4lTalwsjbgWkutwaG/ERD61tO6y7rTXCxvCksa8e0aZu2pwSj7CkBLePGihQFZKokKqTU5b6Z0jsZfZ9IMXfbZewqn04sS8OZqo0yruFBrDb8V7PCuveYhUDmpQCIByIeXAGOlNRoinYQrPgPvCFQ9Ch8tgJWELUkqSTtfFmVX8almWyuSmHUqGSmSh0HrzQU65VrXPhEczGzueffVyTpKAdMGn/NHnPs8swwDbNXLpzfhEqqnV8zdTISABud+MNpv/KzCg0bOnQDvcCG0ZZ85ZUqnRkanKGDs3tNsYsZV0YPrjp3pM9mBPKnzPamNW1fT1USmk4V2essyWWTViRIn0Ihb1ON1FHzZlDb8C/NkI0wrQV4jiQtSghBSqH9ufhQ3SuTZKJNQ5KcUMOFCwtW6tAkcK1PCvGOsutsympV7xmaexNk1w8nQZdOL1botXUt0UprqvJvUcjmkvy3r1cS6xmFJ59AR8TKY6YMIWG53DMQDXvMHGRik/hlN62ogHUNJSAewuJtWkzctdryzSZ2QSgklDyQoAjEQMQpv0JABrD94tnjFuWgJ5lfIAHyMGKvbUeiHmciMgZ/0tdAcflRVFTU/WM1k0qqisX55TUPMYKUuQdaTaXTmBhG2ZuhqN96hUrS0sWOtVyNrX80L932Rf7wo5e9dmSi2LPS7LpAcdQSS02EKNUDDQkGmpG/SsSbdixPcW7SpIqryoUBlSmSxUCpypnU0zyiPPHez9r6YTCZzJOaWXjDUwm81jmGXZZUynmmY6OejEIfUhnwg82HtKgkkbXvvj1pev9IgIdLQxFlAUA6iiaDqiDrQ2ZzwePIP46qUT8GRSp+cYyfL32Z1eVlW9OUy9mHTU3hpnMoRMdBUrKp6zOxKvGAjoyHjpgx9zpUmGaClKiHtXhoBKUqVYY46+O3O61zLuzV4LSUhEvLIBV8IlRqpQQkADM1KgKQqydl05MWk0zNPYGCSSeTrSgJ+UNTlHZHVr0MSJULK8tGEQVDzWgZU1CZVVXAwkU9T0wpRamYt6DjEI/GZrLQ6hTykNkxMLG3XpWkkGL9le3KXvuqZt2x1h6WDpCmi4AqoJ5wKhkrUCozBoaViSbYuJIzVmJkEUQ4lOSsOem8V49JjgQ+z0zCJv+6vlubm9zK6rJJO9yfdhcnngYnf3xpan8XWl+rT/eRE3vaWl+MP0Prg/wCp51/z+6zlwje5V9yapAA7qBLB2A+WFs7RJBzHysu4wED+dWhCtK5oqaV3VOYzjOltmdpKASp2n9A8fnQ4F0z+zqmeXOVFX5tzyWQVfz+LajKbi4Yy6PblUZl7HMvNz5MhlkUpMTEwsWS2mJiF6HIpgqQgN6NRrZtB8JazGL1Wdd5hQk21uO0UHQvlSnCAVAJASU1NM1eVHf3b2bsWbLzItQh91wICKow4aYsVMzWtRw0jkSG9mVOMxMy4GmsrM0KWpunqjmN5PC1hLJ5MYyQNJQ5HRUFGRsgZcEfLWvBKYVbqUuJSEpX3OJ2tjbNLXL2dzl77WkFTlmNMpxOMzDaVfDENJJQsfKWK0JyqY5B7Zm5P2621LzHIs4ir8Hi8gFVBzgKmlASRrEk/MVrwmpHKX1+N9wYCQSV2JCA03FGEksubcjGGlLLwhYpaAtrWEq0EXAJx4lWG/wAvalouyoxCeedcTQnmguLoDlmRWhoc9YnqYaLYZQr+ZFDpn9t+ueUdD0037rLGodZSpwMqXqISlxSVRsSSXAOLFdh68jEa3zPK26pwVw46dHZ3RubHFGkp34BF41E22Ha299rn0Hcfpxqn0pePJOnChIFDToEbJ0881jxzCDgppBRMrmkvhJpLIsARMFMIeGjIR0J2SlcM+hbahz2uDjPsq0LRst4Ls+fXLgEaYs6dAEY7jDb+bu6MGGUeV5ur7wKQSbm39ZIfTbg+VACEj6ADHWObUL9ofS03a04mWHx2FYHBl8UqKSOBz0rDPirSTiAqYqjKTLHj7xKNN/8A2Gxt6DjvhR2o33193rw/8QP7yFBpHyPOmFsZU5aMxEPEt0HSrERCvNxMM+1JYILYiWV6mnkqKVFK21i4IF74xp3aXfy0W/Fn7ScDB1zVpSHQV70AjsjPopCYlt9p5DMQ1EsvsxDTzYch32ogBLzLzSxpW08AAtPBxzjFtzdmznjsqeVtPfMFRxK4UCqHmjm560gJQCkoUnCOyMVkVB0RTcd91Kfo+n5DNQy7De/SqWQsI4IaIN32EraGoNPkedN/N34xtrZv9fC2rJXZdqTy5qVdI5pJ+DArUCoA52QyrpDZs+WBxAVjLQom6l/ETvsm1zyRvfT+nHPThlfE5VqWVicQk8pqKEjideyMhKQ2AhA5kDaw2Pfsmx23+wYwIVGI1rQdJZiSsSmsJLDziFY8RUAp11yGjJe66gJcXL5hDlMVBqWgAGxKDYXBx2VytoN5bhTGOyF4myakVoIxnJNh3yx9uMaCHR9lKQSuIrbVc/FPJa4Upv5UBf3IJcCE7AklRA3N8Tm34VV8UNpQ5LNuLAzUVaxgLsRoqJbdKEbgBkIWOjzKMgkP1nt/7Zl19J9T9yO2DPhW3u/JGvpQXuGPx6oSej3KIDZ2s1cj/VqWj1vb+tA/PhDvhVXycbKW5ZpC8qHEcs+iC9wxufX3RcpP0oZPyuNZjHpdUM8bYVqRK53OUOytbhtdURDwDEuW8CAAQXPsxhWt4T1+52WDLJSk4eJge4Y/KF90dHQcJDS+BYl0vhGJfL4RCGYWXwTbUPBQjSBZDMNDtBLTKEjskD8+K82jato2srlp50rd1zqY2jcqwyKtjnR6PnY7dtrfLGvSVKSCvyodBJzIzhPI+21j3H58PtKSmtTAGlYWklBOnYklRJWQAvToDmwNygAWHBtbjGSyoOOpCXxLqBqHCFc2mfxAVc7ychvzygEJOukc31t0u5dVpMYmdwT02oqaRjxiY9UkEO7AzGI3LjzsojFKg4R95fmU4wtGsndN7k2Gup4T18btWIi7c6y3PyDVAlajziBpkaH1xr5uUTM+W2FHjUfY7qZDrMYN+81psj/yl1n6/wCosgHO1r3N8dt+7JvV+QN/SHtjC9x2PxKO/wCqAejWmh/fLrImw/3EkHbgYUPDGvaRUWeinzh7YBsdjc0jv+qEno1pve2ZVZ3sdP8AWWQHzXve3fDzfhk3rbPPs5JSeCgYHuOwNWkfS+qNnUH04ZdUHHQ88KY+sKgg1NOwMyqlcO63L4hsWQ/LJOw17lCxCNyFrU5Y7pCTYiMb5+ERei+OOWcYMtKuZKUKkgA1ypXU5GHWbKlkOJUptIA3g1zz6vR2xvoXIIVa/N1XVuVEm6jcq8xxARfU5aCp19S1rUTnhPsjZobbYBDQ3wLE32H5v0/bjHx9Cvon2QvcYTbnb+cjk2274IuAHOteo+yBSBdd02GyVhXxAEKT8Chc7FIvuLHGVKvyjRLjrSnHhTAalITx1pWppThSFpDaq4xGNTmgaCqSM+6c+o2m5lNloShUyipXDPRK0pFh7wvwkuPkJ23J3OOqlL/X0kyDLWtNy0unRDCilwDTmqqEjpqoVFRnGvMojlQtKaoFcsotP7kuV/ehaPFwP9wWePT5bY2Xvo34/wDPrw/8QP7yHi038g/8sAZS5YC9qEo70H9YWf6DBe+jff8A8+vF/wAQP7yBySPxZ70xkUopinabhnoKnJHKJJDRDoiIlMpl8PAJi3hYJciPCQlx5xIAAKyqwG2NBbl6rcvIhLVrTk1MhJ8t9WNw8MRBVWmic9KQ5KqUy8qqMLdMjUcM8hHjn1FUlVS4V6pqbkk9fl7K4aDiJtLmYx2Hhlr8RbDLqrLDJc3CTcAna2N5dvaFbt13GkSDxMuEkK1yy5uR7dIxH5UTcwtx1OEDyTlnXXtyEXyWy2WyaDgJfKYODl0ulzHu8DAwbfusFBMJWt1DUKy1ZLSEurKgBwok98cnNWlN21aM1PWk8Wpl44krzNCFA0yqdBSA2wpKsOEBrjlw4RhsVlXlpFRD0U7QdLPxEU+7ExT78rhnnX4h9ZdffW6dClLedWVKJuSok33x0kltMv7IS4s9i0XBJpyGtKbstYcXZ8q7+FAMV5dltl9J4+GmMtoulYOPhHEvQkXDyeFRFQr7agpt+HdUhZaeaIuFpsoHg4etbaPfW12TKvWk54udaYh6qw6Sv5I80ZhGQzEwhYuCj2mphBRyHGoyCjUpioaLbdA8VES26Cl1LhG9++OckLdmLIeE1KDHag1mMRJNcx5WfNGWfCCEu04mi0gdWnmyjBk5S5YqAvl7RjOgBKT9wYaygCdgG/yQTf6nHWr2qX8WlIcty00AVomWXydPn4imv5tK0z0rCRIyzBq0mpVrpu64JWUeV+lX9gVGuCxBQZExZQVtYhYKSCDhv3zr8Ocz3ftvP8c9ib/pJSpRPRRJoadcHyDSsiig7IyuSyGT03BCW0/KZVJYAOeN7lKoREFDeKUBsuFllISpZbFt+2OXtW8E/bjlbeWucIOS60PnoYM4mxRtsHduHsi1T+hqLqqL+6lS0hT05mmlpsxcZLIeIeW0yhSGmXHlJS6tltKiAlRKR6Y29iX+vhdKznbu2DaCvcZ0UNK0FcjQKAOXCnVDaZBhNEnMcTrF7jJZLZjK35LHy2AiJREQogXZY8wHJe5BpQltEKuGWSkw6UoT5e1hbgY57xmcs+dl5+Qn1uTaFYivnAoOKp1ArWudIdLCQkND8GPP/lGFfuSZYEAroGkbjyn+srCiQLBNySSfz8Y7s7Wb+eMvUtF0srCQCa0oAdBqNc6wgSrLZJSmteqLvIKMpWlXYl6maYkkiiYtAaioqWwbUJEPQ5cDnglTaAsslxIOgntjSv3rte0lK93Z1ybkFJViYNQFnCcOuXNVRVa7oW202FhRTl9qRd55TdM1RCsQdTyCU1BDw7/vEO3NIVuK92iLC70MH21pZXsLqTYnGvu3eG3LCkJhiyp9citxQIAxHF0VSDTt64ZmJZDgonX0RiZykyvuR94lGja+8ia4PrtzbnHRjajfin8fXh/4hP8AeQrkm9MB70wgZSZYAg/eBRiikpJ/rFDqBsQd0upUhQ2sQUkHDj21O/K5bxdNqziwqtVPKKnT85QJBponM0TQQ2lKkvVS3RGWeUZ9DsogwyiEbahm4VIbhWmEJaah20oU2htlpKUtIbQ2opCQm1iccSu0Z1x/x6bmFvzuqVEqqg6nWlK5acIzHW23U4FDmxisBlzQMsm7dQS+jKegp4w89FMzWElrDEWzFv61PxTa0ABEQ4FqFxb4iLY3U1fi+VoWSuyZ613lWWsJCmCVYVAEEA5UoDQ5ndGMmz5ZLgfAqsVGnZGjc6i+I1la24hCVzBhhMQ+WxrQliCCUNpQtboZQlOkeJpvvYWscdbcFzxZtSpcpW5yRJGeRqrUmgr82tMqmNNbFRSgIBWPVHRVPLLslgXQ6p4uNPLLjqgtZUqNiSdakpSFqTfm2OBviAm8LiaAALGQyja2Pmwg1+IIum+kb8jf4h633J/zY1T34U9noEbBzyzBFW53AuEkbnt6b4bplCIAIJ5TzfdajbsNiQN7cYBrTf3QIqJt/Gvc8XJ3P81sJNYMQathYG3blW9j6DBCDPAQQuVWHYX2UTudtxb9GD0EFvgyeb8XHN7m29/ptggIBPdC7/ID5f8Aj64TCoFzx/T+lsCBWDvcAWT67dwAed8Cm+Dz0ygXvbgd+/P6e2CgAworJuLbfo/wbbC1sEBvgVzhJue1gABxcD/xJwoQDBDYdgD8ibngWNu2BBV7oPkC+n1OxsLfZxfA374PdugEAm+3PoRYfYLDAGQgiKmCI3tcW+nP+fA3dMCmdN0Hue+2+9th+j1GB6YEF/QWH+bAg4O1r/aN77X72twMCBCSNgQdrEcXPpte1z6b4y2q4ND54GVOyLa5NZbDLKYyYQLKwbJQIoeIOxDqOW7Djm++NtI2Rb9phRsVpSwimPLj5Ouuh0hBru1i1O1hTjbikmaMr0KKdLaIhxWx07aWyF2+RtbGzaufft1QbTLnGeNKcYFFdkU/v2pi5/Hlbc/i0WPQf8GOfTGX94m0Kn8GHmg6GtYBrWmQbe/E7XP4tFmw/wDlnA+8TaFSviw80HhMepuq6cdSlaZpDoCjch5D6FJAOlWrU1ZN7bXOMN27V9ZVwsPSyeUTrkN+Y9MJINaRd4aMgIxF4KMhoi//AAK0q03v8diD5saW1ZC2pLk/ddnBirgoNaUrpwqIGmW6PSQUkaiLgkE2NididPyxqKHeCIMZ5wfBBufpba57/QYKB0wm/a/Y3Ongg9vmcHSC64Vcb+uxGx2vx9tsFSDgibk/ssdvnf64MQK1MJJ/lWvxoG/224wf21gvtpBHkb2JG9029bE3F/swN0Df9UGQdiCL+ulNjtt6cWwXogb4rXt/F4Fjse/pwL98IpC8oK6fXnjj7b/TB0MFUQAQD9ONr/oNsA6QcC4Prxt5flbf0wKQVeMEeO5P2foJwIB88FvvurfsQmw9Tffc4OBSAeOLkkAAADfttcXAtgDzQIA+fP0H9NsCAKVz1gr7XNu43A9bfpwIKtISSR6djt3N9/zYOCJ74AN/Wwtx6fM33wDlAEBStCVLUdKUi6iQdh3432v6c4MDEQBmTAzzrFRII1qKiUhN9CWypQ0gkqSE+daiDa3qNsINMgNeNfsBChXMnSOXc8LePJvAc8dl6PLilpSAlopZhT7vqG6lpB1KCjrSVWIG2JYuFXA/ygwrDdKcc1Z9W4UyNKxzdt/Ew5jF7I6EppLrUgl6X1AOJbeKyVFViuNiFBJKgkpKQoAJ7Y4a+RSq8bhRpiH29dY2ljgiXQDrhEXVOrcKUNN/IADcJA3C9R3JXe1u2NU/TlMhnQV7hGwc8s8IUBdVyq23cgbkXA2VY7YZ3ZQgQqxOrmx9CnYenOCrpApTOFD6nb5AAf5hgoOATvfVex9R32335wBpSkAmCFxvc8nkJ4vuTY/pwDwgdIg772uOeLc+vfApA9EKB/m+pwmFAwZN+54vfTY3t6emBpAJrBf02Hy/Vg4KF6rX+luBa3fa3rhNIVWCvuT3+yw9LDAgVgE+UDY7n7dhz8sHTOsESISObm/fg7fmwe6gghxMHxe5N72/TwNrWwWsHp1wL379+OPt+gwKQK8YVa9gD23Fxb6nBaZwrogxvYXN99tzqJ2CQAP14ItOvfBsirh0EFpFkmtRSeTptHRoS/8ACIVr8M+pZ5bAbBbQu3YqFsdbY90LXnW8SWzU9EEakxr6ZZgxi1luVwyYVvgRMSsvRB23T4IAQkG4N9XbEs2XsosqWWHHVknpIjKwJpQ5iMOjZ5NpgFmMmUW+lYOptCgwz6eRoXsnT+ffHeSFyLFkgmZaUC/2ZQoAJyAFIsqwk2OvUfre1uO3zx04WSkNADCjSDygC402JIsLgAbAdvlYYZflmZtsy7+TaqVPUa+kQlbJmE8kN/qz9UGkFdwFEqNrJGpS1arhJCEgnQpZ06zZKCfMRhS2Hp1kSVnAqCRTLPdvh5l0SIKVDdGDR+Y0llua1M5NxELNRVlWZd1jmbLIkNMfchin6FqWm6VnMLHvGK97Ym7sxqmGWw14JQplK1KUk6Qrqm7izbmyVF6QU+KS822yoV5xW6HFggUzSA2QTWoNMjHIotxmz7URY668s4lShllRJAOfGqhlv7IzoEC97kmw5BvYd745flA8kODQpHmFI65xOBZTp/lWDBSBqvZwbJN7DnzE2N77C2Dx0SWqDArI5D2dMNxd4KoJ3LdPukweQgctOOiJb2FvKmKS74SQeAggDjHMWhcOw7VSpyYUA4acISQKZ6RmMtzCdQkNziXtPjVcRMGstvAbWC2nVlKlAi5KVAb2tiNba2VN8ofc/EpNd3thBb3pNCe6NgyydS6cNlyWRTUUQN2UrDb6XNj4amnClQIG9+NsRda93bTkE85KqdUYpNMzp9s4uYun4klJAuoEoKgeVXtf9eOcSlaRhc8vt45QQIIqNDBk3HHPqBwTsNjg4Mwje+2x3G1xt/jcfXCoKFC9wdWr02Btt6374Iwe+Fb2ubenB+zgnBZboGcHc3Gwt8hY3/YMD0wK5wfpttx3/PzgoOCvYntYckm35vQeuBArnCSrY8dvivv8+OMGBBVhVwfS9r7g/tGCzEHUdEGDxYjjt/m7WwIFeFIIW5Ftu47Dvg89IIUg+L8cjm529NjtgoPKKdwTsbb7WJ9f0j9WFUpCYTc3sOw2sbXPc87gYPdUwN8Gk3uQQRYW2Fj8+cAwKwsduRuT63+ffCYMcYqIO43sLnffax5Hz2wlQhSTujmbNdluJlC3kJS07CxUfHuNtiHWEvKiWQoOvQ9kmI1IBVe6wkgE7AYlK6DimpwNmpQtCUAmumE6A7taUyrpHPWokKYKhqCT216N/njoCSF77kwCXPBcHhxKnXGkOpBV788tpLYWTdxJUfEK9yRcd8cVe4I933CnEDjFAadtejhTqMbKyCeRRWnkfb64uYFwPmRa+/e543uQMap7Jw9Q9AjYOeWaQkJN7WIHpfvc3Jun7BbDdcqw3Q6QsAXHG3ok8/M+l8FAHTBjfa+w/wAFW5IuecFpnB9EAjYG+wve19zfAEA6ZaQVub/Xj9uBXhBboVfbci+3e3f7cF1QquWcAfMfZcbDsTv3wIGUH8ud9ufTfnAgemBxvsdu5I/8cDWBShrugh/4/Ef28YOBu6IPtv8AoHrfBQN0FYgH14txv6d7YHogoA7X5vvY97bD7BgzBwf8+Cge2FDc+t/z3/Nh8pQlgLCcS/rhQ4x45lMYaVQvvcWoIaUSAq51q8O2oNoJBWRcdsZNjWJal4HFpkU4UNUxf0q016jCkAKUc9I1PN66jY/WzLPEgIFV0piCAYuISDe6VI3YbUNwTYnjE93X2c2bLBE5aDON9Fc8ShmRTQGnmh/AnfGGl10qUtSytaxupfnUSPy1KVclxV/i+IjviUJKXYs8YZNIQO/01g+TRuEUFfMm/bnf7BxzhJk5ZflJJ7T7YVCFHYK7D5nc32HHf9GDbkpZs8xJB6z7YGUI3Pc3Nxa59N7C24GMoZCg0gQaGlPlLbKXFOOK8NstJS87qKVnUhhS20v6Qkko1JBAO4sThDvkEFBcqQMIJFamg0zy17IW3ixVSoIIBOLhQEnv0hiL2hXtCoyZRs46eOnmoVwEvhIp2W5m5n09MIkvTSOgHmXIqhKCmzXgPMyeWRjCkTWbNjxIuJb8CGu2nU5efwe9gkpY7CL233YEyy6ErbYWCEpSoEhToqKhVQUoNajnKoKA1s2hbWJqdnl2HdZ3xWebNFOUSqtNaBQI3HMaRhfSV7RWkqzz5y6nnU3XEgomMylyDzEyWTmvPYKpky3NafV9mRl/MaYZ8eTU3NJb93pPAUi7DzGYuxENAOlTSxZwuIEh7S9gtoyOzCdu3cqWwyr063MoZQcRbQ007yma1VwkuVQgVWAkilAKx1d3bNZ9s3yl3baXzEDBiVzQStSQBlTOqQKnKpGdYkKN6VBC0OsONupS4043GMRDbjblyhTT7a/DfSsbBadldsebaLFtmTZNnOsrVPNE4l01qSRlpkCN0XZcvBdyYIfQRgWE0zPADPPjCHXmGEOOvvw0My3pK3omIZYZbClhCC4+8tDSAtZsLkXO2MSzpW0pu2WrKUCpTgVUU4DozgnuSYbE0tY8XXXD2dPbFW2wIKFAo1pKVJUhSClCwpLiboWFNuJUCCQUqBG2MZuzpiVnpuSthKi8hQ5PMppnnkKVy4w03hmUeMS6gWU6jzdcU/NY+Q9u4+pNrjjG2l3nJXJg0HSAfTWDhSHXmlJcZUpl1NtLzRLTtrg3U42dSybd741c7ZVn2iMM42Fp6yPRSE8mg7ozqUV3FsBLM1SqJhklKDFMo/HGzq8viNlNn0WO5SL2+eIqvPsvQp1y0rNTgll0wpqTSgAOprqDCS0jcI2tBxkLMIdMVBxDb7SrkEX8qhyly/wqT6dsQhaMk/Ys0hM8jEyuuWY0pXgd8Y604NQd8ekBR5Cex2N978et7YxJhbLjoclBhYpmOHfnrCKbxB+a42Tsd7HcD5XHJw1lB0zhRuLAAcevB+3m2AKawNMoSNVzYX7X1m9wfzDAy3+iDz3Qvjsf0X3Pr6YLWDhN9zt+nYfTfgYOkIz3wW997XPrbc2Ha3AwMt0HnCwTbt9Rbm25HywRpBgmAfSw4N7en85wOmB0QQO/BFgbkC54Frn6m2BA6BB/0/nwIGUJIHe5J4tzzt37A4MVgsu2EFPpbf4uNgb3t8sHWCpASBxY2AG54tyBvtfAPngDWKgGwtvv9fn67YTCqZQpAVe++xFrEX+Rv6nBKpSDAPbHPea0BBQlIs+4MQ7Lbip024uD1hh5TrrEQXdSnFqdcWq5W4SSoggG2wke6Ew+9bKvGFKUoBsgKpUUBFNBQDcN3njR2mhCZQ8mABRWnTnG8ZSdcth1IUh1AS+ErQsOJWBGRA2Wk21A3BHIO2OSvZlbqwag4h0RnWT+CTwwR7knbSUKCUhNlEJsu9yoAE38lrG9t8ax8fCE1FfRkPTGwcPPIhQHpe1r7bfoJJvhowjLdBjc7XvtySLDtfscEdOiBnpB2I2F+CNzfbufqcDXWBmNIT+SCQQbnYgkAcXuLYPflA3QofTt6nb0HzOCgawL87en9L4ECAABc23vtY8n1PyGASYFN8Ha35Vz3uQcFrCtN8Dm9/W2xB44v9mBA1GekBQ3vbYcfCSe/b5YA88JV9tIRvcnb/qn9h3thWUFvrvgcW4vf0O1xc7euBAyEBPfjm3f7VfUnAMGOMKuTa3zvci3oe1sPTjTMs+GGnOUrvAp6zB5kxj1RVHCSJsIUExEc4glmFJsk3Ngp5Sd0gc6fyhjvbj3MnLatHG9iTZ+RCsNQaDPKvGHUtleegjS0ymUxm0WqMjox95+9klR/BIaB/BtIaBSgJRfkbnviw9jyFl2UXpWSZSHBhxq+VStMqZUz3w622GwQnSLfv3IHJ22372HYY2tF46hXM4UhcH3373/AJx29MKgawkgW7bm23Yd7fPBiBCDwfKo7psLj7Bx9uDgQgixsARe9973H7L4ECkaiz6yyq3OjKKt8r6Jr6Z5a1VV0mMllNWSZtSnmUOKXqp6OchWlzdmR1ApwsRaoH8dS04otXO2OvuFeSyLoXvkrx27JifsqWcJWzUDEVpKEqBKVCralBdFJKThocjWNHeWy522rCmLLs6YErOuJBS7SoSEkLUDmMlpBTWopWvRERmkOnmqs3c7K76YIavqXy9quhpbWUPUVStRzNRQtRxtMuvyCMpnLOJkpVD1FLIOZNKVM4xp4JgYZhdk+IgtY9f7BmZdV1mbzSQL8rMJS6iWdo0QF0WlThNTiUnnJSUgKFFCqNfPK9z6HLwOWE6TIzrSilcygKdx0pUJSMGW5RCzhOWtQJVPWTNchOpr2LtA+z0lM/jen6v8j5JkrDyidw9JQ8wypqZrJuGRLoiOquewk0hnpHLKrhYqJmsU87eJanAQ6pDoUsK3V2r5qesZc3acv+/E1+OMyVVqMsjSqaAGtdRpHIWpcx5Fp4JNwJlVGvkmqcjQUFKitKGopvBIqdcZEZVQs2yrpaXSKuzPpVRMhktCoqF19E9dqRykJHAyeJmz0bJ495hcQ+9CgOJbUQ2SE3uDikO1fanc24s9Ntru41O2q64Soh8M0K+cObyKqAA6RajZ9cG8t7bPlgu1HJSXbBootFzFhVv+ETwjGOteqclqUyTlORGaWY9b0vUlUytmrKNnUpy0zGzClE4dpWZzCHS1UsVQcinLjUgmsQFtphQr3hOhLqhpBxGeyGw5+916zfqzLNYEkyrCtlcyy2UcqnLCp0oKsvjJRkcq1iTr9Ta7Bshixn51ZeZSuiw2rn+SDkCcNDTIk1rloY4u6NfaPZZ5dGTZMZ3ZrUvC0epLTFG1HUk+TDzbLtb/AIZgJJVULGFmObpN1t5T0OtxlyMlodCCA0dKJM2reD5bd45R+9d1pR33ToP3shsrDnPAVhcGVUjETQFJw5UNTHDXD2v2PZEybGvBMtol3DQuKWAUmlUjBvxGg1FK74fTgJhLpvLZbOpPMISayWcS6Dm0om0vfREwE1lkc0H4KZS+JaKkREBGsqDjK9tbZBsOMUbtVhdjT6rKngpFpIUQpBFCCMiD0xZaXcVOSSbSlQF2evNKwciI9J7C4BtcHWRcjjkHgb4Zh3pgA2IUCL8pPJuNrkAgEYaWl9Zwlz97/Jpp2wIukqnUfJHUvS55aEXBehXleJCxCVbrC2rAhahexB2xoraurY9uS3JPoSiZAOFVKmp1yy4DfDTjYWADG55BP4GfQ63IdtLEU0lPjwGqzsPuPwgG2uHJPkIubYrPeC6tpXenFy6kqXJnPlMNAOzPXTWGFNlHSOP23+aMhHlF9K7k+tuO/wARxy8oWpl/kXlhscaV9kI9MAn+Vt8v6XwQHVA66wOSLhVrH+L9l7774HdB98A8kWJJA9Ox59MAQDCO52ULgWBA/jEk7E2wqC6IO43O/IHyA9B+3BUguuDFjwDsABx9nPbBQY0hQvzYmw9NybcnfcDAMGM890Fub7fsJ9b84EEIHHOxuf50gC1uMCAcoLuPh2v6X+gHa2DgQXPqbdt77X7jY3OBpBawQt6WFj2+fN+LDAPngeiKg+02vbtv8yR2wRg4qNpBVuDbYmwJN9rWtvfCFHKFAb45czRhnIKUOh9DrcQt2PbUVuocLiUxEIQpXgLMK2rU8oaWwlNj63OJYum6l+cBQQWwEnQinNVx5x0GZqeyOctRJQwa1Cs/SOyOhaaS2iWutMltLCV+I220gNIQp5annl+UalLfdWVKUSSbjjjHDXzKjboWuuOtCTmTQkDsAyA9MbOx8mkgaYR6BWL3+SkE8X47c/aRjTO/hTTgPQI2jtMUJsk2vv3uRY37C3NvlhGY0hrKDA/N+31O222C9MACo6IBtdXNvmduOOMAQDrB9jcd/Um/HAI2tgb8oOAAm9+DYjgi36MA1gZQVhzqJGw9e+5+ZOD9MFlxygbau24+3+bBZ0gZVgzz+jj9P0GBAMENh9vNtyfW2BvgbsoBtsBYGxttxgdMDfQQCLWG+/zwcERSEkkXtuPre+/H6cKSgrUEp8o9kF6IIXFrfoV9v0wbyCyKu0A7/RB6RitR1NDyNkwrCkxEzWm7SDcpYBSR4r5JsQDtpPmuQbY765dynLemRPhJVIpOaiaeY0PcIcCF5GnnjSzj70S4t+LeVERDqi4466pbhKzxp1Eq0tp2SOwGLGyINlyyJOx2wuSQKBeQJrmrI0OSiRp1RkIBCaHWCvv8yBfmwt9T3xlMMlClPLycXr2V9sOCBbcgWJt9tvz74eUtKE415JELbbU6vA2KqNejpgiPMB6D+NyT9DsBhYzRjqMPZGImaYU8ZcKJeBoRQ+mlISRtvb85I/XycHUY8FRi6xDinEIHO06jFI7n4Qq9iD57XPJN1dsNuvNsOFpwkLGtASOOoBEID7Rzr5j7IM7A2QfisLC19t/phvxxiuqvoq9kHy7fE9x9kaqzly7qbNahomgqbzPnuT7E/m8BB1jV9GwMM9WsXl46twVfStFz6PcIoKc1NBKEMidhmJegULdLSBcY7K4N5LIsC87Nrz9notMMNOqbYeJQzywQS266FAJdQ1Qq5FSkpcVhBJAwq0V5LLXeOxXrGlpt2RceKQXm0qK0pSoKUE0BIK0jDUCoBJFDmORM+Ks6aejqT5aU1UMjoynWnZYrL3KvLemaeimKnoyjXI6Gbm8+TUb0VFzyWyBMa0gTmNcK1zqarDriXXQpWJ42a2ptR20TE7bVmvvy9godU488XPKWKk1TWqlZEJomiU5JomgiNLSkNl1wpNPj/Jz88kBICkKRQaChUkUG/p35xvajcsadqiBhH6ulr8EzOmRM5TSkwmEPGvz6QOaFOzCbIiYJl6IYutvxGg0SQ4kkWN8YF6Nvt5WWVMWG24tCag0SpOact4HDURkS2zCx1z6XJkgINDxyPVwrHmz76iskuk6hIeUrqnJnLuro2STCY5RZfVzFTOj8vaniZfNZXCzdqPnNGSCcPSWXbqVE3ZS8qJbRYhLi7cls/udfPbjeD3an5Sbds3l0Cacb5NTjSc0ghDriMSiEkpBIBoc46i+d47v7NrBTKSDraXw2rkwpKwFnyiCpKFUFTmaEgbjDHtWZ751Tqs6iqVvODMGn0VBO3qqhmMp+qTMqusnZpKqkgomKXJJTT05pSkjL5FCIikMwzCSWW06kkEDe9lmXSsSw7NRZlhMSzipRtLbqnJZliYRhPNKlhxWNZocSwpR3GkVpet60Lylyctdam2jUoCXFLQcQzoClJAFBQEDjDosDQXRpnv7CbPXK3KOU9H9F+0RlsPP4yragztl+VNPZ1VWwjNGBquePUZmXWsMxNXZlWGUMF9yZVFwsShtpQEGow6z4wsNca3bOlbNC5pSC4hKk4SrJIUMNa1plVRAHxuuK+Xqu1adoWzyMmFrlFqCgRvKecAeFVgVJ+L0Agci+zn6uJ9lRl1llkN1BTZuIpyCkEBIKarmIWl9NAxwiC1LqZnEchxDcwpFlhbSGY03+5ryNAD0Mq+KIeEhsdsi3LdmL33PBmLaeUVraQCATlioTQYiaqIBzzPRFsdku0m3bHslq6t6kBqyGkhKXa4606EYlU6xD7ikqToIKXUOtIebiGnWnmX23W0utusvtFTTyXGlpWCnylKgRscUZl0Lmmy40CEg0OIFBqNclUMWiW62h0MkgrIFKc4Z6Zio88Uj2G4Ave4T+nCQQcxDziFNqwryV9jAB5vY7iwHyI3722/RhspVy7ax5ArXtpDZj1QsXEQUQ3FQq1tPtKC0FCtNzuNKyLXbUOQdiMY9uSsvbLJkZhAEqsUUvhTMUGuZyhK01RQaxvGm6kYn7BQsIamUOlPvTCQAlwcCIZBFvCJBBtwRvscVZvvc1y7k5y7lUSjiuaag17q07YxS2pIqdIyQg7Dbgm5TwL27Ha5xzbtnzbCC46miPnJPrrCa8NIUbAcDb0A5NuN8YCVBYqDkYOKZ9SBY7WLZJvfjYk898ODh64KBYXPlTwdwlXoeftwKwUFcG1hvyfwfA5ub23wM+zrgQWlJ7J+0KSfzg8YOpEDKkHpBJuDYG2yjz6AWsMFXhAg9Kb/lc+m3pvt2tgqmkHrBXFyR6+ltPoSLbnB04wR6NIPUrY8+m4Fz6WtgUEHWkK8x2II9dwb7Hjb1wnKBnWCvzYK3O1whNh25ufswdONPPArA7m+/pfYAfUH5YHVBRULhbbK0NeOsabNlaGwdSwFK8RflSG0XPztYb4SEhSsKjhTxpXdw6YVUhOWsct5zGIS1EOL8YtrJZbLxcK7wwgS8grdbQHLOKIuLpIGxtiWbkcmVpSnDiGZpSnOx0NATTLtjnLYqG1E1p7KR0bIgBLmXElBESyh0aUaAhKlrSkJBKvE1ablXcn5Y4K+FTbikmtUrI8/m6o2lkU5JPSgegRdUW0je/z29TYbAeuNQ/+FPZ6BGyc8swZ/n37/Z9mGoQYIHY/EngcX72Fwb884PfughAP27dwLi9tr/PAgdMK333v6fLbk/bgsoVnB34BPr+z1wUCvGAOe/PNrd/zYG6AIK299+L72/Xa/fB1ygUzgHtYfp32H6cCCOkJsd78Ht6bb/aTg8t0FCxa9za5B9duMJMKHE6wggX7X/N3237ftwoGEmEgXtc8bEcc2t8thhaWlvnkmslkZdmcACvRFiqGdMyKA8RISuYv3agYRW/irt531hNleBDAXXYgkG18dXcW6M3eu01Si64E0104mBQk7qRod9x6Iffiol0vREQ4HHnVm6lrGw7gBIB4xaKTesiRlTIWcjDUUyFN1IzqCEEdu23oPs2ubXxlSjSmJdLSvKFfOSYODA3J8u+xJ7fPjGRAhYB5I2O9yTaw4INu9sFzTkryaQMSkc5GSo1fm1nPlrkhTJqrMapIaUQ76HGpJJITwphU9UxgACYCnJE0575FvahYxC0ogmv9ldRjdXGuLa9+rRXLSYXySSKmhoOFToM9M891Y11q3lsm6rQnJ0AuEE7j1xwbA+1Gy+dnBhJtk5XstkIiUNIncJPqemc493Uqyop2mxDwjTi2rXU2zFOC1/NcYsMfBQvAix12gl5KlpSflA5dfRETWVtvseeXQoOv2Md3URnblBmRIGako/MekYuXvvCHdZmk6l9PzaXRCU+I7DzOTzuMgouEikoG486Cd0FSSCYIn7lX1sKbXZSZdS22jkspPOBzqDTMVqK9FN0ShZ16rKtGSROtBIQuuWW4kceiMyTV1DqtqruhwFXAcNaUq2hshCnCt1ZmZ0tpQg9r3xh+4N9vyTP5p9kZvu7Z/5vm9saBz66loDLTIPNjNzJWAkPUNWWX0mh1ymgqAqWCn8RETuYx0LLWnpoin4uNmRgJCxFrmcZDw6PeHoWFW0gpKtQ77Zzs4ta89/LNuzfls2fdubcUHnXEqbISltSkBJUkZrWlKEk83ErnGlY4+/l9p6wroTlr3UaD9uMhHJpAxVBcSleQrWiCo0GZ3Q0L0G5c5ddbE/zPzo6ya7ltcdQMaiLl0dkNMoqdZfTzL+n4tx2WSyuHpHMoaRRUHAQAcbaksHJlRcDKXVIffX4i9rXbdE3h2NWBZ9y9h0koSb66JdCAtsqTRakLXQpW4oVUsL5ykHKqEgCC9naLF2uzq2NpDni9pAVUjNBrmEnCqhSCR00OVSc4dtkOStTSxaU1V1X1NXMLTsOzD0DEVdLsvJZP6NgYOCTB+5RdWSuYQr9STOZQ7LUP7/MtBBSkqKUa1YrszflFr2uxZ8vYzMs6ah3CVqS4smtUoWCGgnMBCSR06ATk3Ytr2BZK7StB0rCBUaVAGQ6yRTWGjaj65oWfU5WeVWXUnm+X+ZEbHzCW52wFYvyCaVdTaJVOJnBqldDzGWiJls8kNRtoTExFQS9YQW3yy3ZKi4u0tk7I5yxLV++mWcZcsyZShTamgpKCMABqk0UhQNQpCgFBVaxBtsbS7NvXJmxXkKE+0ohYVSozqCDoRTRQqN2oIHJYSsAJJUUpFkIuspaQpRIA1LUu2rglRviSUyNluiloOKbBGVK58a04Rxi2TKhDVRgXWnmjb1L9Ouc2YcghatpLKKsKqpqIW+ZZPoGUQr8JGmXrMPMFwr0SthaG4OKBQfCtrO5KscfbW0LZpdpRse0p3k2lUxEqIoQagb9TThGfLXaXaawlhJ5VVSCBwFfRGls5I1/IwzmX5oSedyCsIGKhZUKKioO1UzaeTKFSuW0/AyttARH/dCHfbW44UqSwnTe97YkC5E47eoIXclDcxLKI57miUnVR36VOWZ3RpLYtNm6VUToJXXDTeSdABDgns5esqupJGyLIHqNnMpL1XTEN5ZMQzrTszyjg45lx+S5ez2YPhs1FJotakqZT4qnZbEOltH4NYQiuXhG7FrNtiV++q4bQYkWEkvFKjR1VSSsD4vCmh1Odayhsb2oPWQ99617VF21XlcyoqUgjJOL43EndXDurD6DqFIcUlQCVJOko8wKCLjw16rfhGyLKtsSNsULYJLQCtQSO0EiLSOy7sq5yLuawAexQqPMYIDm5IsPlx/FvfnD0NxVBO3PYjb5fXthp1suIKE+UfbWB6YrwsXEwcQxFwzpZfZUqykDZxpVg7DuC9iy6AArv6HGHasjY1uSwkrSQFlPGCIrlG/JFO4aeS9MUyQh5pfhxsLbzQ0SRshRO+khO2Kn3wu5ad1rS8TnSShR41FP8owSTWLzckG5+Y23ABtvta+NE+lCHSEeTl5xA3QWr7DueOBfj5XGGaQIGq5t2NuL7k/ZwMCkCpOUC4sByfnwT67DgYG/ogQkWJve3b0B+m3GFaQUKTuOCNt7Em3e2198JMGIA/xrXPJUP2cfqwcFANz39e4I+liPQYKDgBPceW49Bt/NgEwAIV8vtG5v259cFAMEBbvxzv8ApO9t8HAgfm4O+xAv3t62wIEDdQKTuDYKSFc97Hi2+BoajWBnpujmHOFx12TtlSFhtMdP0BSkupDpRGQSEKaS6hCwhvw1Ng281rgkYlW5SUInTQjFybR3Zc1RNaVFTUGm7TIxz1rkmXPCqvSP8o6HkaWzKIBSUIShqDQllAClrQkPPA2UT+UdwLCwOOGvcVe77gqal014HONpZFOQRw5MU7ouiCdNibqHyItdR32xqX6cqTuy9AjYLrjPGFmxvY32sLAcX3tf1wzCcoP0552/oNsFAgdxb577m1+T6YECBf673/Z2+eBSBURUB3vffc7i9zx+nCTwhQgEje1uRbb+Y7DAoYFeGsIP09Ox3J4ucKgj0wfNuNufzfXBQOAygWHoB87HfiwwKwdIP5W332sP2d8CBFIgbbDkW7W7fovjJYOsJ9MeaKjIaDh3oqJdQiHYSourWfIVA6fC3sdSlbccnGxkbPXas43Z7dcbhyp0Zn0QpAqoCNATSaRM6jXJjFHzrUpDSE/wbEOgqDTaByUlIvxuTi1F17PVYdkpSsUyAjKCQnmjJMW9Ww2tsNt7HfvwcdEM4VBb+ijYbXPfte2BAgxtsAbni9rc878H0ww/OKl0hj+adPO6KaemAAnlEq+OK0jgrqx6qs2en2ZxEFKsj5HNKUmzMEzSGas4nE5jaciYtcODGS2pZHBQsM3J5rCRrriWmn4lhMSzZaFlJxYDZlsluBeuXaVPTI8cWSVorQimYw584GmdBVJ1B1iL74XqvBZM9yrDZLSQc6V1FPXDKeYOY1Z5pVbMK6zBn8VUVRzNID0wilMsQsBBt3Q1LZLLYcIg5LJYWxS2xDp0LHnWVrUpRutYt3LLuVZSGLDw8mlIGVM+lW8kk1r3UFBFdp605q3LUW5PVCiTFro+iqrzAqOAo2hqfmNVVVNnBCQUlkzbi3Qy5b3iLjIhCdEBKWYe633nFIS22CTjY2hblz7Mu+5b1vPJbtdsEpBVSp3ZQmzbv2pbqsDaFV6BGa5z5RRGTFdxmXU8jpdPp1KpTI4+dRkvatKG5nPJWxMHIWWuLW6IqFljrpZS+TpeDesWBtjT3Lvm3fewJe3U4SiYU4BkNG3FNivYmsP2hYExYDqpKYxJeboTqNQFadsaj0yxlTqH0wiNCjrKkJGjw0KcIcSttCklaRdOxC0kKBKVA47VCUSM6wpUsXi5WlE1pSmtBvrl1RqPGVTElMJRMJYwhOqqYq10qd3rjf3s5XZfC03nC7DvQ0MpqqKcdK4dOgtrEsjVgam0haXEjkpBtjgdqS5qfnGJaSlHBOuJJQSDzQlRKh0VANB01iSNlj0tKyqn7QnG1yaa4k4hmTknfuNIy3rizPgMpJt0uZqIlMRMqyleeyafhZzBuMNzCJoqOgG4LMCiZi8+2XJhBThmYMrhkOnRDxjPiJBBONpsvseft9qesmfFGDK4ilVT8IhQLS08FDNJPyFKTvjSbVbcs6wFsWlKZr5agIoKBXlBW8p0UU/KSlWoEdjZkS0Q1DV2y/CuM6KRn7aGItkoikJ9wX5VIWkq0pG2r4V8i+ITlDaovK2Z1GFPKfJA30iZLQZsieu+ues9eIpQDka7hDNFV0FTVZLlsTMmo2XTqSBv7g1PIIpUqqSSKAupEDMG0qbdgnEHSph5txs+mLSSdtzcpSSaCTIBIBSoYkqBFcxxBORFCDoRFV7Rs2WnXlWmo0nFk6GhFMhnwIHSDvrFSiqJ6jakquQ0BRMtpbOiZVDG/ciSsOzBnLisnmlMOOvGKiX0RdHxETCQ7SliJeWyPFspQ7BFt3hujdazXryWhbLlhS7SCFlOJ1K8W+lMQCDQYST5VAYKxZS883PpZkrFbtnCa88hHIjdqaHHQ1OXk5gaw/vTedPVhSlJSCg6P9mNW0nl1NSiW0/JFzvqyyHFLQxgU+GIufPy+AiI4wMZFLW/FxDSFPL1XAvigj+znYPeq8E3a0/tFcnfdV0ucgZGZSF4CHMipQTzMOIDmgkUrnFlJa+G1e6dliXlrnMyaaBPLpWhRRiIGgBPOrh6Aa0jhDr96d81pvUdHdYdRZVOu5oRNBwdK1xl7TdQrzNy/wApZlS8xXAy1dGTyClkFFOv11SCkvCPchvDg5ohSA4pB1CfNkW0q51lur2cy02g3Tl3iW31o5F2YSofztFKAS0qvJoxVIINKig4LaDs+tp6RRfZtpRvG+2krbScaEK1VgFE61opWEEgDIUpGoOkvp9muduclF13I6fm8LTEnmMnqaqa/mTEZK4KTSiSRLccJe21MoeH8ap4+Ig/dEQrYLpWFk2QNWOh2p36uhc65Uzd6ynm1TakkYcQVmc9xIIoa10I0MM3Mu7bdoW63Pzzag2kg1pT7aRJXinDERUS6QE6oh1w6gtCgXHFu2KVAFKrrN/njzMkn1zMuH3BRalLP/OaeaLarCQqiDVIA9AiiOxJ4At5iQLdzfnbGVCPRATY33FiBffkgmw3F/rgemBAUQL/ADPG32fMjAgZRdpFNlyOZNRjQLkMkFERDat4htZSk3vtdg2WPmBjj7z2cq3LKWkCuXCEqGIU6I6DZdadZYiGnfGQ+kLSsEE6XLEqctYApPPzxVe0JByy5tyz3PKbI6NRUeYxiEUVSlKfbuhRJ33J+W30uR8ydsYtIRWCAt/1bbDc7/p+eDr6YEK8ovvxvfbYDtf7MFnAyg7/ADtsDcDYeve2Cg6wlKk2Ft+QANr35NjvgyDvgAgQeqx3vzbjy7f+GBSC6YTqBtyOALi43NtrDAoYGRhQUNhcXJPY/ptybYFDrug6iFbcD0vyfXm/1wXTA6oIkb8bbbmwv+bnAoYBhJIvf6A8/YPlbBitKQIWnc/DsFem5H15wk5QYzjmnOqAblkEw2HVvvRzk1m77qk+GFqiZrDhDbbYWpDSYdshsafiA1HzE4lG4swqafUrCEobDbYGtMLasyd9TnnpWgyjn7YQG2aak1Ue1Q9EbxpQeJKm3UICW3IdkIVsS5Z9/WtSwSSoqOwNrC3e+ORvqcNulBNVBw9nAUjPsXNlJ3FA9EX4KSkaSB8gCeQo7Gx5ONI8CXCegegRsnPwhioCg72txyLckgbjfDOYyhORhQI4AJ4tYbb33vxgqHfB5Qu4BtpBItcdhttffcYTQ6weWm+ALbbA8+vf13wM4IUgyRt5QCQfUnnk+a18DPjBmnCEHb9B5+lhzYYOCgxz6W43/Oee2BugVzgvqCe/Y/n+ZOB1QQ0g9u2wA2uf0nbBZweW6Bb/AMN/nt9cHApwg7KI+0Ab3F/Qc3O2EqmEsNlITV1Wh4U6OmsHXiY1LW83XExKJTCWVDwS9cYvy6Ih50+IlLdh+EMOryqA4PO+LBbLrpsPSXu9NpHj7fkKJOWLmnm1ocjvELarjFYwMpXcnRvf5gf9mw4xMTsu882GnHAWxuoB6IyajhFC/HmG99wscb3NrfmwPF3vljuEHWAbc2NhtslRv872tg+Qf+WO4QKwByCfLcb3Gk7C9hcdsNuyKnk4HVAiE5YwseUnT7e2PNHS2BmcujZVNZfBTWTzFhcNMJVM4VmYSuPhX/4WHjICMbehYhp2+4Un6EYzrJetKwphM1ZEwpmYRXCRzqVFDkqo06IZnZWWtJBanUBaDru9EcxRfRF0rRceJgrKGVwrqXFONw8undRS2XtKWdRQxLYWaNQTLIubISgIT2AxJDG2PatLtci1a5DfSwwrzlsnzxyLmzq5brvLOSQLh38o6PQuN6URl1l/ltLFSjL6iqZo+AU2y3EtyGVQ8LFTL3c/gXprMUoXMZi+2Tst11RvzfHGXnvDea+LnKXjnVzCugJbHc2EjzRv7MsKyLHVis5kNq6yr9omGLevqFeZ6pq3S7+DRHSSjoiHOlQU4hNOwusvAJ1Ftxd7kDcHF4/BwblPewYkmwTNSxfwmpNKvLVpXPXfWK97UXpt29k4t1QLZDY0A0aSN0O2eyT6nOoCk+keMqKoVSHNDJbK/Oav8rIiSTugaSqDMHLWhIJMimcqmUlncXK35rUlK0/GTp8e5Prdeh4dxCGiG0ACz0lbc5Z1nSy5cpEwupUoISSck0zIJG+oFBWtIrxbdjWXaisTqVYgCCMagDwyBw9tK8dIdvX1hTWkZXU1RzOkMu4KiI6YSWHyWnNH0VRExmuesZMoXxG5bKZJCSv3iWRMPFKMO487dMP59RCk4zZm8qZtKXH0JXOAgYihJIqQFbt4qI56Vuy5LLwSji25ahNAtYBIBI0UN+cMke0ayNkee1eSOa9T2X1Hx9U1fKoqqnabo6D+9RNFx0xZiabl7YjqfimGI+tISSQrCnJipCih1sKQQtBOIOv1e+8d0r4tpui94o08kFYDaFBVKHRaVdwoInm4Nz7FvZctxN7EmcLCyGytxYUmpVliCgo0yAqTQZaRyEqgpDlnk/WNI0zMapmcvRT9WzJMXWtVTmsaieVFy8fglT2frdmDkHDNNEoa1+G3uUpFzjiF3tmr1W6l+YCeXJGaUIQMsvJQAndnlmc9Ykxi7iLoXeXJSi1eKUOSlqcOf5yypVOGeQy0pDZnBOx4TzfgoTYgehG+JtleWTJNsPGpCejfnEIuMSpmVvsJoCrifbxjv32bUhhJv1Exc4iYYPro/LqpZzBOl5LaIONjYuUyRmJ0lQK3QiYOJTYG1z3xAXhFvNSezmYkUhvBNqocaEuVKBUUKwSmlc8JFd9aRKWzKT8ftRx1ZcC2MFMC1N+UTWuApxafGrTdvh88WADiEoBG/iN2spVvMoXv5T9O+KCosxExYMqxNBuqfIKUJbUkZ6KQEqzGRz0yi1T844lTSlOOKeSMsSlKTpTNCiUnLiDQ5jOKiVvJV4retLhbLanW1HWttQ8yHXLa3wb7BZVbtg2ZFTAwtOFIHSa99axiOzDrqsblFE9Ap3Up5oQXCpCWvwaEJc8ZDbSUQ7bK7JKlNtMIbaQXFp1LsLqXcncnC5uVen145txSz0k+isYjTLTCcLSQkHohRWTcqJKleZRKworUrdSlE3JUr1wSJRxtIQhYCBplDoyFN0AXPGnjcBSdybbC/fCvF3vljuECucBRsQFFJPfzgcnbe1u2B4u98sdwgVhHxXO1wdz4gFvXSCNrjbB+LvfLHcIFYGg/+j3A/LTewNx6YQ1JrZb5JtVGzu19MDKNpUDO9YekcU4lC0hTsvXdKipCfO6wQdlqWsn1IHGIP2nXQDJVbcon4dymI1JrQYdNBkOEYb9cdR9tI2ToINiACACdQGq++9tjzxiGHJiUdYbQwgpmE15Q1OdaU1yFKHSEZEV3QVu2m1gdwPlzscMQDBixAHyFgQk/QfI4GkCFeUi3l3Gw0W2B5tcWAIwWcHlSAdjtze5+Ekk22vzxgoBhJ2O4Fgdri3r6W2woZ6QUEBuDbcDnVa1+LWOxwDwgdMLAPz5tuR+z54TBwqx9Obd/zk34GCgUMF2AsfoD6Dk78YOBnCSTYHcegIF7252NrDnB0zgoNpR83FibJIJ1KBHm1eh1cfLBLA7YUkiOYuoKLVDtwbz6oYrW29AQobcWVONOTBp0FTLgDjS0ISApW7a1X0GwxKuzlkOKWhGLCCFqqNCEEajIjgNQNY5y33MDYUqlTkO+v280X/LHMOJiJeuAi4ZhhmHW6zAhkPOuRw94dUtTby3i2w7DXWpxKk+dIGmx2w3tFu40i2fGWVKUskFVaAI6xSpCsgkg5HWogrvTylspSsADCKdOQ7qeeN3QUYmLhkPakJK76VNn8GsDcrbKxqLdyd+9sR3OMlqYKKE0prqMtD0x0ZViNY9YTe11Ejfbmwuf6Xxik8BnBQuwBvewta3H6thtgqntgQAgAbH52Sdvp9MAmBC0gjkn6eg7b98JJEGIUm5Ox9bjVbtsPoMEdINMF357DYm/B529cCBCVEDv6c2uRf6cnBiCNIGxtt2vYEEW9b84EDqg/X6ji/pufTAgHOAOTuPz79hwNsA6QW+PHMZizKoN2OiC54LNwQ0EqUVrSpLexKTcKN9sbCypEz08hsNlyh7vtSFhBXkCI0YsU1ErTEREfO/FWS66kQkLoLrmonSFK1AAqvzixcki8dnSYZk5VRZIGiqeqMhLRSQawRbpLgR04FxY/isJ8rW/C+mHxN3s/I3Pp/4YcPZFfTSx/wBuzcXT/wDoITj9ONp7kbSPyST/AONH91AoftSEKRSx/wBuzc3v/tGDI2sTe6gT/NjFdF8JVwsTUqBMJ1wO4055ii8Irlrlkct0HugIRSpNxFzU72/tGDB/Pfe5w0Zi9A/8MuvzvqgChgFmlL6vfJzrNzZUDCqSCefL4guBvbjBh+9FKeLL+l/hgRU8Olhr/HZuSlGof1vhE8XHGtfcYTy96N0sv6X1QcUy1SqxZUZObar+WEhO2wGxTtb54MTF6K/wZenyvqgqQz37TzKyHhp3l/nVTpjomUx0A1QNXOxbSR7hN5TFxMbScWttgKDMJHwUxehVOKIBcabF97C8ngkXymRKWjd21WC2/L1UklY55coojQEUFKa7zEE7VLEebnmp1s4m52gJH83gATU8SaE7sqR3L7DZKR0mZsJshZPVFmYEFxtt0Dxaco5tettwKbcQWyUlKgQQfXHoDZMmj3FYm3khS3q805cnhoNc64uoaRUG3kPyt4JizG3SGZfCQ4B+Ex1JFK83DSmprXdDl9HZC5e0RW8wruSwLy49wRIpyTRqxF05QSpqrxqheo2Wu6ky1+dxYDi1EqLepYTbVsabLZVModcAS0k1O/Td2wgWk9LsnAStylOGuVd+lYYL9tr1A5mZM9Q+T0koOPlEJAzrJZc2jBM5LDTZ0xgrOcQ5U07EKDjaS0CALm2o40t5rvWTbVqotRaKONgAJFCNN+W/Lq7cu4uZb1oWZYrtlAn4RWLFWlKnhv74bmjeoXM6bU/ESmZR8lchJzK1S6OMPIoVl5UJHwiPeG23FqdLRU2op1JF7d8Rwi59nMTQmZaiKHTD66x3bl6rRflTLTBKwRStY0gNI8MC6ghCQUqVuUtItcqUdrpRjqWw947Lyik/vd2oU7uRTLMb+8Rzam8KEqRmpROXDOHp/ZhZZQUroytM4KmEZCv1w9DUvSi4aDbJj6akD/vc0m6ExNlIl8dN3UssGw8UQxXwQBQ7wur3z9oWrLXJsFkutSfKKcfSvJSl4QlOCmoCak4j5VN0T9sish6UE3NzA5q+SoCKaYvbDoJRTIIPv04AASNPuMEBbjk7jjFRlzV6Fy7EuJZYSyD8byqinycvPEyvtqemEP4qBNcuNRTjBeFSavMYyc3NwCIOE+G3exSBv+jCfGL06eLLr87/AAw5QRU00vbyxk4UbCwTAwZO45tfucZ/uRtJP/hJP/jR/dQVD9jCkppnlUZOAb2P4jCXv6WPzGMJ4XwlXDLzUqA+nXA7jRnmKKwiuWuWRqN0KA46wlSKcvduMnBN7ECBg1Ebg7elzhAfvR+TL+l9UDIawWmmBbVGzjVtc+4wd799rE3vhxkXwmnAxKSoL6q0xu4EZZmqsJpl0Zmg3wVOEEpNMA2TMZwkHt9z4NQuNyq3c/qxmiydpP5HJf8AGj+6gqH7ERS00+m2qOnCUkbfiMKNz8+5xgeMXo/Jl1+d/hgU4RVh3pBAxENHQ0zmyHoR8xF1QEMUuJCUjwToWFoSoJ55tjDtRN4J6QUxNSai0Brir/0w0puprWN6QkWmOhYWKSoLREQ7b6XEkHVr/IP+E3bjFa51hUvPOoU3yZxaVqOuMdScJIj0gbkbne97kk2H0sAMY1cqwVILcDaxI7adr/lH14wNddIEKG3J5sOeRzexHAwRg4IqTvuCbW52T6729MGAeyBUdsJIveyvp3HI9MHpqITAJIJva5UTtba9rW2G9hzgZQfXCgVKPChzYW9PyjtxgsgIGZgwDc2UfQ3ue1gLemCJ6IMV4wY1G+q23oQb/QFIvgGg0g8zrBKJuDsQTa3AA3/NfBgCkFWprFoi5wmEDCg0HW3QslsqLa1qTqs03dOnxUKSDY2sN8ZjMkXsQrRQ36gdJ6D9UNqcw04GON896oen7ksYcRDOsQs0WqEjGGXYYraU8SlHhqccCwGykFZN1KSSLA2xNmz+yUWcl1xJUHFtc5JIVQ01rQUzqaDIA0zOccfeCYU8lKTTCF5HSLHl9NXpat1woZdU1MJiktKAUVwzkVENOJUlRSklCHCpPBJF+1sby/kmiancFVAFKM+ChQjvIoYwruultsA0NK90dXU/P4GZw0IiBWpp5aYmEaCww0G0QCisNvwUMpTgSp91RDaPOi6b7EjEMWrZ78rMLL4qgYVHU1KwBUKVloAKnI5747VL6HDzNTl3cQIzFiPQX1tJX4gK1ALFwhe42S5u3dXYC4sMaFyXPJhZFMtN47NYeSsVpF3S4CSlQUkgC6VEcngCw3+zGEU0FRQiHARpFYX8t9zsLjuSPz3wg0hUHc3tc2vxba5A/VgqCDqawXcc73HbgfL54PdBGDN72t89xsPlcYLdBmpMFp34Fx8jsfl8hg690FTvhWkg/m7C/wBOMFWsKoeyBbY/Z2/T6bYFYKmtYSRv2KTcEbc7W7dhgLPJoC1ZA6QXojFKrlcTOIWGgoZyHbbTEeLFeOVbhAs2NKbkpUeQe+O1udaMlY8yubtElKF4cHNUqtK1ySDTUaw80pKQaxgTWX8zWqwiYBT2jUtvU6NJIubXTY2GJlVteQ0tCGUFUkNVcmvLhlSpzh3lG+MUhQsxUFfjMtGlRB1laDsNxZQBtvyNsP8AvxS1fINP0bn9mC5Rs74WKGmO34xLh3JKH07/AFLfO5xr1bS7mI8uxLQ/W/4od5NQHk+eFmhJlpJ94llhvcB48G/OgdsBO1+z2E8nZ8s7LyY8ltYUpSeNVAEGpqRnkDSEmiTQ5GD+8KZK0aoiXoCvgALoB7AHy9sKTtkQuoSg1H5iv7MNuPstU5Q66ZE+qDNCTFJKfeZZsdF1KcA22uq47n9OFDbDX+bP0FeyEJmpdasKVHEeg+yFKoWZXLKoiWJSdlLQVkgW+A6bqO/68AbX/wD0z+rV/Zh7lGxqfTCVUHM0pKi9LClN1LKS4rSBvqIAJskHBO7YhLuBuZbW04dAtpaK/SSIShxtzyD3gj0xorqXgcv6G6fs7KyztiZEMqKUoCaTGsPug6/A+JFNQ76qbkst1lmIjahnE+MO1Lm2Qp1cSr8H8CimVdi19bxXm2nWRZNy2VzU9OvpS8G0qKEJJIxLcA5NKQgYiVKFACNco5G/tp3esW6c5PXkdSyoo/e5yUSaZmiSSBiBGmRpWlRVnLIDODr/AOjfpayvrOl6cpyicrM+mjm/Fe/0LBVk/TVVVgiHg2IOsouaw0LMKWjKjkcpg5hBNRCEw64aJSUuFRIx6jy+1+6q752pcOyrRamrRsl1plaQlQGNYV5Kqcms1QoKCFKwlJrSKhfelPWhdiXvVabDjKXaqWVagKwlGXlEZ0rSgUCk0IIjLD7WjrjGg/frluAtRQgnKWmNK3EpCi2Dr3UByNjsfTHdP2vaXjMzZrqAmalEIW8AQShC1JCDlXFUqGSakVzjUou7JoDbyFVC64a5A0110prnDbnW/wBR2bXU3XFA1pnFMpLOqikFIzCl5W/T9PQFLQrUo+6y45CYmBl6vd4hxqKi3FeITrNwLbDGdITaHkVcxfRVr3QtcsZUc3CB84e2PKhQTLYFa1BKGoGXuvOqUhLTbSpa057wt1StIZAQSpV9jzzjnJx5uRUlM2ShSzlUEntA07Y3YbUpovJopsDcQT9EZ+aM0akULQTOXWZef9EZz0t0uVXVrMhqrOum6BjJnTkjaeQ37ilyOixDlqFm0atth2KbJU2wpaodDzqQg6yathNrJtS5F2ZqQf2iMyZel5PxhsOrSUhWJNThoK0NVAJPlUzMLln0SbCbetFDyLAQsBTnJrOCppVaKY0pxZYsNMxuiVfTdAyqCpqQQVFxNNGh4WnJC5SLlPRaJhTz1MRUuh4mSRMpmDAKY+CioOIQ4y98T7K0uK8yjjxktba3a7drziLfbWm3Gpx5l5CkLKkONKKFpJAIJSqoNCdOBEXHurN2Bad2ZS07vuF2TeSTjwqRWmWQUAaDMVO+L594kzJsX5cVcWu/zwBcI0416tsASPwZp+jV7I3hw0qYJVBTRNgp6XbXJupy1uOQAb4R78iD8RX6tf8AZhONG+FJoOZLACYyXX03JbUs7g2sdO9jhn3zblj/AOyWhX9L/igwQdxgjQsySrT7xL1G6d1F4nzcA+XsMPo2tyTKeTs6Vdl5MeS2sKWpPGqhUGpqRnkDSFACkG1Qk2WFFL8vCdQB/h0g2uLXSgnBq2wpTqg/q1eyEFSRr64QaFmQUSp+XA3O/wCGJ+d9gf0YSra9IPjkrQlnZiTPlNoSpClUzFFEAChoTnmARACknTWCNDTHkxUrHyJcT9g1AEDDfvm3K3WLaFf0v+KBUV0hS6CnGkqLkEsJF1BJdXpTax8oBJsD24vjJG1/dgP6tXshHKN7zCTQc1SfM7AIVpB8Mrcbc3G3PwqI4vhPvuJmQuXmEEMHIHAr0AQsLScxpGxqXgIyUS37mxjsNEFl116GXDhSUiGXoukpXYgNK9Ob3xCV7JyUnJsTMtiwEqqcKhwpqBDD1MQUeEZJuFEEjjsfXvfcG/YY5dHwrZcbzQnWGhCdewAue97EDbc34/8AHB0zqYHRCA6ASd+LE2ULegFk7GxwCBSAOMBS7pFtwQewvcA8g2vtg0jfANYUkhAsEjfYcebYdj6nAPOMAZQncXJ+ZTxa4NvXsRg+iCiuCPLuQbavr+sbnDZ80KqKwlTgTa5IH0BFuT8+MGEkwK0EU1PbK0jX623FztYcWwoIzzygqmnRHicU66SlDiUL07KIUQBcajpSfN5eCN8ZCQhGagSmsJNSaDWNZ1PPYOXNMtj8LFH3iIZYdEJGN+9Q60sF5whaVMJWlKQXEbAgo7nHUWVZ780pSjzWeaCRiScJzoMs6Z5H50YEw8hAA1VrTI56fY9kcYV3GriJgWShrQ3Hwqgtt0LIcJBdS42ACwpZNwBcKAvicLvsJblsYJxFtWRFMt1Dvp5o4q03CpzBlQKGh76jdF5phSguIh4p1LLComNV4qUKcIPv71vEDe6duTfyje22Be4Dx0OMpKnOblpu3V9G/SBYaiEhKzRNI3ZTUjS9CszWFm0ZDMugJiGoNHgAlpSUqaho5xy0eYdsecJA0E8k3GI6tifLcwqTeZQpY0Ks9RqpAHMqdK6x1LTQUeVQogHWnqO+kbnhVhaQ8h8xC3VNJW4nw2XdlBIStnSlKdzz35AtjhXRQ4FJwpANBmR3xsgcqjOsZSwtXlGtYIVfdPNtgNNtkm2NS4ka0FKRkA98exEU2SpBUAUmxsSdxzwNiBhhTKwK0yMKxCPWFggKBJv6cEEbn52wzhINDB174K+6TsdjyDxcfbYYHRA6YWDvv+ax/oMFSDGtYMmw7fW1v0XwUHXKDBHI/X+re2AYAO+Fdrb/AKNz2+zBQrOEqtZRUbCxuRba4sdvphYKWi246Kt4vXA3xqyppVUMZOJjEsMvog2G20NqTE+A2pKEkhSQL6lqJ836MT1dm8tzmJJKZ9lKlZU5teuCBB01jWEXLKufKnkeOgWCUhqYLRdIsASdV7kDfjHfpvbcAyxHIJpl8Xp6oLKLaJLVyhu28oncqVNHiTz/AIduMYxvZs9B/g4+gIFR0R45nO6hphluHmanouKeSVw8MiPX4iE2I8Z43F208G291Y3tlzFzp5dCyn6MMe6CuyMRGYFZLJTpQ0hRKdKXH1NpQSRu4Yj05NtsdIqxrkk15FH0RGG7aK+UOZjPKZn0wniVNxsdDyp6FYdfQ/FzLwJe/oKdSPeH3klt0D4U76yfljnbdaubZnJBthJ5TFomulOA6YypG0WOd4znpTLvjM4SEjJo8pqAmULHqXpcS3DzuHW8o/wih4JeueOAbjHMzFtXNkGjNPMAIR+ZxNOHTGeqck3RgZHwh0yi7qpaqEalBiIQlXmJ9+ulJsAfhWsbAet8a0X7uEdGU1+b59Ib0zjWGcWVGdFc5eTumcr84J1kPWsa9LoiV5myKVy2qJnJoWAi0RUyl7UlnTzEDFszqCSph1WtC0IVcGwIPWXR2o7Lrs263NbRWmb3yOhaCOTTmCBVaRUYSQRqCQAco5a+dmWreCUUxd6YVLvGlFpAJBqNAoFJrpmN+VDHDkq9mFW2YFX0vWvWx1PZodZxouJE0o3LKrmpZSOTULMoUaIGbT+kZFHFqqJzBb/glpbbeR5Xi8wShU/T/hn3IuzYztibCbpM3fsl9BM+8EHxpkL5pKHABhBQMSSdKjCAqpiKLA2IWS7a/uztEteZnZsLr4utVW0KAGA4BRBqKHJIFdQVCsdu53sS2kslM56izOT7tlhT2UlbRFeNvzFAl8HSkFSk0YEG7Dvqaa90f8RELBQqFalxzzIZSHEoKYV2d3iYtfaNYti7PeWfk5i2pUIcUDyjzqnBULOZo3rVWQBKidTEp36tCzLEuBaDU8ltNlNoQJfTTPHkd4FCaaDohqPof6BKXzl6IunKvsyZRW8hzGrKjpnPHapgamTDzCb07H1POzRcTNZTMoaNglJ+96FZcSotB1yFcadKj4gItht38JuY2Wbdrdu9IUel0ysuAE0IC8LZXnqBzTkTSoyHGL9n1ybMvjdCStC01KbQWgVlVQqtMq6Z1IrxNRrURsetvY95RxjENUFW5x1rIpVImXExc1iplQMmkcKzFPhzVMpvOPAh4JJLdkrUSTY+XbHK2P4cV4plYlpOzlzE0vJKW0KcWTwQhsEqrvGExtrR2O3Lb+EcmlJQMzWoyGuWscmReSeSle9W3TV00dHE7iM4I7L7MFnMrrBzQktWtVrlvS+W9EushjLmf1LJ4ZFDOzOrZjAOsRCYJx0IeDDLa1KL6UT5Zm0O3blbJbX20bfWjIytqMIZs+UcbKJlTswSlCuRUA4ghJCwVpHMz4ViS2EXetbadJq2SOKmLKQoKeFCW0pSAFJKiMNVHQakAnQQ+TnTSEnnGR+b8vzLlEJNMpYjKyu/vwlUwWFSp6lZLTcyjHUiECHWmTKIiAbiIYJF4OLYCmtKwSfPXZXeyw7t7T7FtaRtObXfldpNtFAKvhBNu1YCVVqQpDqAoVpWoIyys1fkWJaNybblJ5hpu0kMIxJSOaKtJOWW9GfbHJHsraXzOi/Z2dLkdVCop9yPoueiQqdi0tRSKIh64qUUUypCvD8NlqTKBb+LWhSVXtptMvheXsuPYW3i17vPybTbrYZmHHEpB5V6ZaSp0mg1BSAekmuda8tsLfQdl9myoqEt8ooAjPCtVRXdWgHmhwP726r8TXodvdRAEasXJ5v5yOPTFY3r93B5M/AJpl8X6ollzNBpSFKpmql3Kkv3FuI9sbDsA64De/PbGD9/lwPydPdGLQZ1imimanbVqbh3AopsT76rTY+gJtba+Nl9/lwdCyn6P1Rm1EA03VbhBKHkhJBKlR+zhAFgi+kA7WFyBfB/f5cHeyn6MDED0wtumaqaBShEQSTdWuYJUb3vsGnFAc8HGLMX8uCafAIOvxYZd1AEU/vaqtaXFKREXC0iwjxwXAOFlI2G/OG2b93A5UfAIGu7ohtsgLFYpuUtU5WoFh5YSdKVKjvMQUg8NLUOT9cZ4v5cAaspr836oycQOcVnKaql9JQqHdULXt76o2t34vt3+uE/f5cD8Sn6MYNY8jlLVOCR7q6FAbERiwSoJFj5iE3Ta++2Fi/lwafgU/RjKbPNEZRSkon8onKlR7US5BPwa23XHIlL/guEhSSgJUrSTb03xxt8r2XPn5JDciyMYxV5vECm6GnzUAppWNkgEFIIWqwtdRRdR51Gw329MQs0Q42441QN1GUMwLqJHkCj/LISCncdj9t8CgG/LqgVioFqOkaAnufhJ29PMO/J9MFlnp54GsJUbmyBv3JskbbjcgnfA6TB7oTYjSVncW7psL/UhRIGDrWuGCzpnBaUkkm/lBFiq3oextgVO6BCVPJSkK+EEWANh/JBF7j1woIJNN8CsLCwSbafXsf+qSRvhOEgb4FYS4pKW1LBsQhRuEm9h8JsfiN/z4NIJVh6YI6RjU4f92ZX4Ty0OPJHkZUyYlY0+VTSblSQpduSLi+/ONpJo5VYxgFKTvrQdf2MMumgyOfnjQ9TS1iAim3ZnN9So/xnSp+HWEhDaHFochYltxSZqtKiWlBNtJNttsSDZU05MMlEozk3QZKGpIBCkkfBj4wrrGnmEJbVV1flV19R38I5lqogzBa29RbcmbSiVBKU3RoaQW7C60lO5JO1wMSnZOUuAryg0fbnwjk57N0kaFca2lvUflPDxLwTUqlBb0alITJ5woLbciXVIVpEHpCwg/r3xLdq7DL/ADqaqxHyTuFMuusa2WtIIASKVAp1xtOmeqXKaEaSGqoaZaaaQ0puIlE+S2l1ZUnU2EQ+lt5bZIGwaABOxO/C2lsAv6+SVJWVE1BSRpwPEV/pdkb2Ut5DaMAUkUyz6ft1RtaH6p8nFwup6sWEMuLHjMppOomop3QW3EBMQYMAP6ACgkEEc45dfg9bRA5zEuYwMjygKRqDzeHGNoLfbKalaaE8DWL211XZQGHLiqwdb8QrCP6wz1yIStS1JBKvcwy0SjsNSR64wV+DrtD5QAJJp00T7Tnvh4W+jDXEM49UL1W5KQ90/fm+QkK1EyCcqSFeij7nyoehw074Ou0l3PD5z7YNNvNp+OIu0N1b5EuFCTVUQk8LJkE73J38o91xhueDftPFaemHU3gZr5UX9HVTkSsAirokDex+92e8c22g++MI+DntQBzHnMPC3WiPKELPVNkVsDWERxcn73p/+a3uWC/c6bUNw85g/d1v5QiqnqkyJVsKwe2Fzem5+bfIH3Ieb9WE/udNqA3Hv+uB7ttH4wisnqfyK2P33ugf/Ds+B42/2l6YSfB12o8D3mFC22q+UIq/vn8if+WD3yP3uz707WgsI/c67UeB7zCvd1r5QhH753IsuA/fe8djZBp6etoVtaylrgtKUk9zsMOo8H6+7S202iy4og5mlQe3qjJbthpaMjmd8aSnPUTSUawWYWs4tSDEPpKhKpgEllLgLSE2YupCArYkXOJ8sTYbNSdnNgpVjUM6jhCZm1m3iMO6umXCMbGelNiyU1ZEBIFg4JfEa7WteyoS4JHIJvjb+83NaYT3Rh+6CYqs58022NKqwjbXJJ+5zuybD/1X5YM7Gpn5PmgC0Exq6e5oy6czaOifvgW8lLoaZcMJFtoMMhJ8EBS2k3VYm4GO5u5syfkJFVUkCnARrhPcDFqTXcutb7sX2sPI6N/tTzh43HcXzsJz6IQXA6cddYUa4lhFlTYH6tOq+34bXwQuM58nzQpL/IjLf6o98tzHl8vX4v3bU0ptYch3WERSHGXUKJZWFtNLcuhdibDGNO7O1T8uqVWk4F03Dca+qFePHiIzCCz6cl8azHM1zNnVt6daIpuPfREhRClh9pyHVD2Ssq0nSVWxo/eZls+ae4QPH+mNrnqOo081tFqvubSmPIvbcfwHAP58R37xs0D5B7o7Dx+y/lpgHqQo3SB9+8ddJ2AlcUUg2ABTeDUUkD54MbDpqvkKp1QPH7Lp5Saxzt1LS/IbqzpCl8us3Mxq+Vl5Iq4lVcT+j6YiZhIJPmX9xmn0wNH5hKg4RMbNKRainhFoaaWhxqLbS4k3sUzFsVkLe2MXhmbcsmWZW9NypZ5RxsLXLmtQ6wdEOkFSCqhqhRGRjh75XGuxf9coq1HFcjJKUcAWUpWF0qlYyxJ5oJGhoAapqD0LD9Q9AwUFAy+AqoyuWyyChpfLZbLJE7LpdK5dBQ7UJBS6WwkLAttwUBAQjKGWWmwEobQE7gYiSZ2QrTblr3mvBLuPydoOFRTmVOFxytSSSTRRr1RvUpsaxLIXK05SXqiqRvooaU4axqnOucdNPUhRQy4z2abzKoVM5llRppqbsVFBwqZ3Jm4tEujlRcocl0xV4TcweSW/F0EK43OO1uHcS+uxueVfPZKss2k80W1JWlJOBWqSFekZ9MYF6JTZ3fGxhZtoypKRQ4TXUGoJ45ivXF1yurXp8yRpSHoTJ2CpfK+jYYNhNP0RRRkUJFrYKvBjJu7Cwpj57NFBxRciY5+KeKj5VJ3uxtBuXtBv7a6bS2oOvTzY1JUpVBrRNSQADoAABuEKsd3Z3dCXFn2dKhOQAATQeYRsJ3qMol5DjD9aPvw7za2n2X5LFPMPsupKXmXmHoV5l1l9CylaFpUlQJBBxzg2ISi1B67zLjVmZFsGoUkjyjXIg4wSCNN0dC1aVjTDQcbAbaVXmnUZ7+uKUN1C0JBMNQkJV7kFBw7DDELAQUkfhJfBsMNhpiEl8JCwbLEDBQjIDbbSUAWTq5OMeb2Hz7i+UeDi3FEkqVVSid5JUSSTxJh1E5ZKBRKkAd0Vx1I0jslVcxYb3AAlcwvpHw3Pu/fGL7x01+LV3Qrx+zPlp74MdR9Fgf3bRu2wAlUYRY9zrhVm9z9MD3jpve2ruEH7oWYNFp+3ZAPUhRv/AC5ixtbaUxhIHe5VCqGC946a/Fq7oL3Qsz5aYA6kaOTZSa4i7pUlVjKI0quNx/tYI/RbB+8bNVzbVA8fss/GTFP98bRZW459/UaVLI13lMYBfc7eHDIuPMecD3jpr8We6C8fsv5aYP8AfH0buPv4jTt/xTFgE/K8IT+ffB+8dM0/Bq7hA8fsz5aYB6j6N4+/aL+2VRu5/wASGRsL/XA942a/Fq7oHj9l/LT3wk9R9GGw+/aYfUS2OQBb5twoJ+WD946a+QruEEZ+y96k98JPUdRhSUpraOsQoC8ujyq235aoe+5P2YL3jpr5B7oLx6y6eUnvj0Q3UZQqY+CiX6zj1wjMSyIptcsmbuplYUlR8sPYfO5w3N7ALdnbOe9zDyS0AVqBnWtNeFD3w25akm0KMEHFrG0D1N5EtHQmr3hoJSLU5P1ApHooQhFvzg4hxXg7bT8SwyCpmutab8qxguWwjAVlQ+3ZBHqhyKsR9+Lw4/3tz77Ln3Pfc74R+522ofJP0oxfdtv5Qgx1QZEj/fg6rYAn73J9ud7mxg9sA+DttQO498D3bbp5QgldUWRd/wC7F/gDanJ9+lRg73wB4Ou0/wCSe+B7ttb1CPG51QZHKV/da7pBB3p6fA/Z+KYeT4O+04DQ164SbbbPxhCR1R5GaiHKufIPH9js9BuAL2/EydycA+DttPpVINeswXu23WhUIqHqhyG8oVVzqiLkFVPT46Sdjt7lyBhP7nfaluBA6zB+7bXyhFJfVHkSEkJrB8XAJIp6e2FjqNgYIi9sLT4O21CtSPOYL3cap5QiwR3VTkpFB2EXWK2GXmVpaUiQz5RUsL1p8b8TCkoUQN0bgD53xnS/g67SmVJdCSpYVnU7qbvrhlVvNqqnGKUjDJr1O5RQzhi01yw48LqcJpmoWkIsCUo8Qwhb8JViEgK81rcm2N1LeD/tBWjklNOBHzwT/nx4RiuW2hJxcomvVGoKg6mcpn3EuvVCiKchla2EtyWfKY8BaQW4dlt2GOhqyrpUoeLvY7bY62z9g1/mklCMaUKFDUitd6iRqegc3eM841UzbqNVFJI7ur7ZxpWc5/5SvxKlIqF9GuPaWGjJ5yQygLQAhIVChKdH8VPAtvjt5LYvf1toJUK0bIrXU55/5xzkzbDSlnP42nD7cIbebWpsqSlRSlLzpF1KN/wirC5JNt+Megi1Fwc/PKOaDiuO8xkMvmCWnQvzlKgA4CPEFwDcaSpIAXwfljWvywUnDv3RlNLbx41Ctdf8o2WxULGhsxMUCpSleXWXFMMrRdkXb0NKdDgto03ANr740ipNVSEpy7s9/ZG6S7L0BWRXrJoN3b0R7EzdpSH9EUCrUlxqzq/CWADYC4Cb7EqHJ+WGzL0pVMOgsEGlO80j2QUzRoWYh1lJTYqSbgFCgfOpX5RJG9r2whbArzQYcQGac6mUe9iOg0uJ/GXNKwFXAULn8i9+AoceuG1NGmmcLSmXB6IyKFjLupbacdUtVzo1q+FPYk+VJ+eMdbQpUgUjIQhqtAPTHubjlLKUlxYWVaeV7q3NikgWHphBZSN2ULCGzu9MXViJXcjWpQvvqJGk332IvzhotI4Q8ltsmhHpj3iLAOnWb/b23sO1zhHJJ1pDnJtV0zip7wtQSbqGobXV6WuLA84HJoG6DDTZ3QsruCCokHYi6vN2IP2YyFTDqpdMorCWE1oMKa5mutKnPiYcSMIomtBAsnYpBTe3ClpG17bAgAi98NhagAnKg0yHshWI7oASk28qd9/hJJsDyed8DGejuEHjVpXOE6EfxUf9X5fS+Dxno7hBY1QsbaSkabJ0i1wDx2vba3OFJmHUNllJAbOooPZCMIioCv8AjXHF+3qbWOMUNtgUAh1KlpFBpCwtW5vbb1IsPrvgYEcIClFflQNSiLHj0BuPX0AwRabOVIRhSd0U+f4vPr2/SL4LkGuB7z7YThGlIF1EDfsR69+dvXD2XAdwhvxdrge8+2CJVpvdR2+VhvvwcHUV0HcPZBeLtcD3n2wepXcm59SB9O25wldHGVS6gCyqlRQbtM9R2GB4u1urX5x9sFq5IIHG/wAze+1jjKRNPtqaUnASyCEVQlQAIoagghWR31prrGVLuLlXA8yeeK0rzhmKaKqDlxEFqNydj67G328d8YzwD7nKueX0c0dwoPNDipp1asSsJV81PshJV325+X5rWvh1txbQwpoU/nAK/arGOoJW94wpKS8N9B6KUg72F/n8v5sHyq/zR1JAHcBSBM/vt4zD+bqqVpzRkKDJNBu4QCq9vtHxAE/bbbCFLUryqHsEM+LtcD3n2wYPe49CAri3bfnbCewdwg/F2RuPefbBlW3ffm++3+bBDqHcILxdnge8+2C3H5JvYcW232v9cHXq7hA8Xa3g959sBV/lfbvY3txb6YAPQO4QPF2eHnPtgioJAJJCRbuDYcD9OB2DugeLs0zB7z7YIOEkgX50nUCne29uL29eMA04DuEDkGa5A959sDUf0fZ+3Ay6O4QPF2eB7z7YGr6Ab8Kt+g84FRwHcIHi7XA959sEVWJB/wA/2jsMHlwHcPZA8Wa4ec+2Alw+YpW4jkEJOnVY/lJuAoehN8NOstvDC4Ob0Ej0UrC0IS2eZUV6SfSYSpatzqO3O5v6bYNltDDRYZyaOorXznOFkYk4VeSYpFwnbWeL7KN9vS/phQbTwhvkWuHnMILxG2tWw1XBNhbm+/fADaeEFyTQypHjXGLubKSmxJAK1b35uL74UGkcIbKW9wHnjyOTF5IsDq03KjuO4sD6bHnCwyiEEI4CLRERjhc8NyIKbHWSSpKfDIvdJSeRh1LSKVAhlSG60PrizmLJUXERr2nlKBEKBANgL+bhWHuSTvSKwyW2tR6Y8bs2ig+tCXYnQlWlxXjLU3fSlSSDqtxe/wA8LDDdKkCsIITipQ06zHmVNkOPOuqjACkgtlRWlTiR5ihCSCnwwgHURcWue1sKEuAAAnKE/BEk+2LPHTxp2GWEuApeRpeYQsqLURr8QOpbeKlOpRpFiFAJPa2HkS1Fio09HXDDq2SjQZ6iuh9cazjJgu7rYUtJVc7LLe3qQDub9+cbtqWRkogemNG6UVIAz+3TGOrfW4pslaj+HbsCpR0jUi25PqPljYBpKQct0YCkoNKjf0x5FOt6nPwiBZ1zfULXLihYnsT2w6AaDLdAxJzz3+uFh9IVoS4nUAdSSsAgJ23H1wRTUVIygwsA0Bzi4sRobCS62lwNpASFOJ0dzdYFlHbdJvcHfthhbWInCaVh9DtM1CoEX+GqGDabSy7DpeSlILaluJW0kK1KU2615SqyyLLvci9+cYS5F1SsaVUP2zB9UZzc60lOBSajrqOoj1x726ug2UutiBZUp1pKNRCfKQs6lpSVFIGg7epGGTZrqqHFkDDqbSaTlgBNPt9UX+DruDRC6IyEgilB/BpLelwgK8oS4PykCx39cYzlmO4/gyTxjLbtRrB8IEgReFV7CFN22/DT8DaAlV0jZQVq2USe2Mf3NdrnQnrh/wB1GqZZDqilDZkQmpXvcM8q1wl1QuSUmyUqAIud+cLXZLoHMI74Si2GieeFdcXyFzBlLjR1rdYuQoe8NOcG/wCWnUDqttjHXZj6VZAE9BEZDdpy6hUkgdIhCMyZE04UF5xSAogKKVKTe10KBCdgOD6YP3KmiK4c4L3XlAaFUXhrMSnVqF49DWwNwSQbkcpCNgO/oMMGzZsfEJh9NqyZPlgfbqi8orumQlTqpjdCB5g2l1S1fxVIQEBJHrvsMM+ITROHAamMj3QlAMWMUiu1mDSK1aEzYJUnSTqacAFwT5iAf82CVZ84BUoNIMWlJE0CxFyFWU8tsPImbS2iE3KTdSQtKlHWkbp0pH1v+fDJlZgHCUkGHfG5YjEFjDCE1fTdwn7rwnG5ccDfmCQUlN1KSEFHfi4wfikz8hUATkrpjT2mFwlW0/ENIW5NpclzQ4XSmJbS02pCrafMsqCnEkEc33wFSkwk0wKp1QETkspNStNd+YpCxVtOlehuYQrp8VTIU3Ew6gSlKV+IkBxKlNq1AX7HnBGUmKVKVDLeDBicliaBaTnuI9se5udy11tDjb7akuaxcPskJW2gr0LV42lJUkbeu2EFlYNCD3GHA80oAg5HpHti1orSQOJSVOxTZUSNC4cFTZFwQoJUvuOQSN8OGUeB0HfDQnZc7z3R6kVPJnCjwokKC1G4XZlSAEagvQogkEgjc4SZZ4ag+mFCaZOh17IUxPoB4KKn2kNh3Qm61a1ocKQ05a2ltKTqC9WwNrHfBFhwaDOkGl9tWpFKxWiZ7JYVSkPxiUFCWyopRqT51aQQpOytJ+K19IwSWXVioEKW+yjJSqaQhqo5A6HS1NYUhlSULu4hs3UoBJSFkKdbJO603AHODMu+NUHOCEzLmtFjLpikankZUtsTBvU2622sFaEC6za6LqHiNi99Yum2D8We1KTnBeMsVoFDI01gLqKTlSgIhL4acWlRYdh3BpQEhTupLo1IOrYcm2AGHeFK8QYBmGa5GtOBEXFEbAOJS4mLh0pICh4j7CTY8FSS5cXthvCsGlD54XjbIqCO8RXD8IRf3mH+IWPvEPbcbbpc2BwmiuB88Lqk7x3iKKo2CST+OMLUCAoIfZJSFb3I1/CBucKCV8MoTjbr5Q7xHhjp9LJc0p+NiGGGgrShx6KZSh0XspSCm5Gj0/K7YW2w66cLYJPQDDbkw00nE4QE9JEeFVa0khSUGcMEqCSNAWsEk7pujX5mx8Xp88OeJTlK4FQ14/JA05QVg01rRq0FxM/l2kLCNZdIG6NWtV0ApbttqOwO2AZGdBpya69UGJ+RIxB1FOuFffhSSnVNmfwCVp0ag44ED8ILpACrKvp522wPE5zDXk1U6oPx2SrTlE164W9U0gbCVCayxSFKspQjEX08hTafy/Lc87W3wlMtME0wLr1QapqWArjRTrgPVRTUMkriJ9LoYFIKdcQ2kqSbKBQlV1KUR27jATKzKzRDaldQglTco3mtxI6zHl+/WkFOIQKklCVLUAAuIQAsWJ+IEJQB3PbDniM6BXknKdUI8fkSacs3XrEKerKkmCNdQys3KU3biW3bFVrG6Vcb/YMBMlOK0aX3GDM9JJ1dR3iPO3XFIuxDkN93oJtbKElx1T7XumpR/gmYnUEPLHJIGn54MyE6EhXJLoeg17t0ITaMiVFPKoqOkU765xRdranUJWVzaVAgq0fj4HiIC06FCzKtKlIN9JPItwcGmRmjohfdAM/Kp1cR3/V5oCawkCgVGdylvcEBMcCrfyhDidIGw3KhcAm2C8TmR/Nr7oAnpY6uN98eZVY062VpVPJc6dSlEl4qKGbEqQyR8ahYW9b4V4lNHMNrHZvhPj0oDQuI790WtdbSd2/usfLyghs6XnvCUFEq1ocBI02SAQbnc74d8QmE5LQqvQIaNoS6vIWinXSPKuuJC2HA7MJcNQBCUPhWtOoHmxVrCe2wJ9BhYs+aNMKF90Nm0ZVNQpaO+LVC5hStUS80h+D0F4BDniLCn2rjdRU2A0pHdPB9cPLsyYSgKKVad0MotWXUspCk6949ULia4kTigH4pkNpUAWmnkrLgSTYFWyUg9/TCUWfNfFQqvVCl2jK1opQp0GMejKyp115pttttphsqWFMxCNaysWV+ECjYBY2FrW3xkos6bCSSDi6RGKu0pMqAFAkcDFodqeTkXYi4oBS/FVrdh1EJ2vDqaXZSlhSb6gSDcemHxITGikivb31hhVoSvxVGmu7upFrjZ7Kol9txtx5lLbSglXih27ziU6y4krADOobJSOD3w+3KTCEEEA1PCmQ4dMMOzku4oKBIoOO88ejojG35goeVMUl1sKcVq1DUdZ31K2Jt+jGchgHMporKMBb5pQKBTWLW4+laiQtAJ253PrvvzjKSjCKRjKWCa1EUgtOtvzC/itdx/HTf8+FEZEdEJqKjrjLHfhH/AEqv/u41yfV6o2KvXAf/ACv+iP8A2hgJ17YJceBP+Sf1nD59cMboCOFfQYJW6D3GAv4vs/acGnSAdYT+SPs/WrA3wIrJ4T/JGEHXthSd3VAa+BX1H68BflCDTpFZPw//AMif1HCTr2QqPIfiP0P/AGcOjSGo9TXwJ+v+ScNL1MOp0g1/Cn+U5+tOAPZA3DthSO38lP7cJV64NHqgob4XP5X+SvCnN3VBN6Hrio58C/5P+RhCfKEKOh6oNn4Ir6D/ACsEvVMG3oqKbfxf4p/7IwpWnbCRHvhuXPqr9Rwwvd1Q81qYuCPhH0/yTho6mHx5MUVfAn7f14VvMJPk9kew/wBru/RH/wBxOGR+EH23Q78XsjHJj8f+Or9Qxny+ka9/yj1xaDyn/GxkbjGKIUn4U/yf2YB1gxoOqPdC/AP8X9eGndYfb8mLn/F+n7TjF4xkjdFc8H+Sf24SIV7Iotc/nwpUJbjxzX+BR/LOHpbyjDM15A64sjXxfZ/NjNOkYKfKEBXH2LwkeyAdISv+EH8ofqwY8kwF69sVD/Bp+v7Tgt8OHye2BEfGj+Sj/sYCND1wTmo6opJ/yT+o4M+uEDTsgx+w/wDZwcAwSvhR9v6jgDUwk6dkVh8CfqP2YTv7YcGgior4lfRX6xgt0KO/qhafiR9P8rAOhhSfKHVFeK+I/wAlf/aThpvSFO69hjwD9p/WcOnWMaKivhP0P7cK3w4fJhCfh+wfswW49cNwYwBBjWF9z9MDdDh8qB6fXBwXDrivDfwycNueRC2vL7Ipr+Jf8pX6zg06Dqg1b4I8tf8ASNf/AHRgxv6vVCVbuuP/2Q\u003d\u003d","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","data_uri":"data:image/jpeg;base64,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\u003d\u003d","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/test/data/search_provider_logos/ddljson_ios4_fp.json b/components/test/data/search_provider_logos/ddljson_ios4_fp.json
index c3f45b2..af22359 100644
--- a/components/test/data/search_provider_logos/ddljson_ios4_fp.json
+++ b/components/test/data/search_provider_logos/ddljson_ios4_fp.json
@@ -1,2 +1,2 @@
 )]}'
-{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":486998667000}}
\ No newline at end of file
+{"ddljson":{"alt_text":"155th Anniversary of the Pony Express (Test Interactive Doodle)","doodle_type":"INTERACTIVE","fingerprint":"de2ab303","fullpage_interactive_url":"https://www.google.com/?fpdoodle\u003d1\u0026doodle\u003d18511013\u0026hl\u003den\u0026data_push_epoch\u003d2000000004","gallery_url":"//www.google.com/doodles/155th-anniversary-of-the-pony-express","header_layout":"LEGACY","id":18511013,"intent":"JAR","large_image":{"alternate_url":"http://lh3.googleusercontent.com/YYmuJ3RPEk93WIRxZ8EmrJVA4vHDZX2jIREH_Sc5G6KT8pnkG7kQB24NR_6HsB5wl50VpCSIYzlcIqZjjFapdQwSldLfmip27tLja1dZ","height":225,"image_id":5066549580791808,"image_name":"Large","is_animated_gif":false,"slot":27,"url":"/logos/doodles/2015/155th-anniversary-of-the-pony-express-5959391580782592.2-hp.jpg","width":400},"launch_interactive_behavior":"INLINE","log_url":"/async/ddllog?async\u003ddoodle:18511013,slot:27,type:1,cta:0","mobile_native":{"jar_object_name":"particles"},"screen_orientation":"LANDSCAPE","search_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den","share_text":"Join the Pony Express to deliver 100 letters! #GoogleDoodle\nhttps://g.co/doodle/7j375g","short_link":"//g.co/doodle/7j375g","show_now_header_search_affordance":true,"show_now_header_share_button":true,"target_url":"/search?q\u003dwhen+was+the+first+mail+pouch+delivered+by+the+pony+express\u0026oi\u003dddle\u0026ct\u003d155th-anniversary-of-the-pony-express-5959391580782592\u0026hl\u003den\u0026source\u003ddoodle-ntp","time_to_live_ms":463124902000}}
\ No newline at end of file
diff --git a/components/tracing/common/trace_startup_config.cc b/components/tracing/common/trace_startup_config.cc
index 2e344fd3..84003835 100644
--- a/components/tracing/common/trace_startup_config.cc
+++ b/components/tracing/common/trace_startup_config.cc
@@ -39,7 +39,8 @@
     FILE_PATH_LITERAL("/data/local/chrome-trace-config.json");
 
 const char kDefaultStartupCategories[] =
-    "startup,browser,toplevel,EarlyJava,cc,Java,navigation,loading,gpu,-*";
+    "startup,browser,toplevel,EarlyJava,cc,Java,navigation,loading,gpu,"
+    "disabled-by-default-cpu_profiler,-*";
 #else
 const char kDefaultStartupCategories[] =
     "benchmark,toplevel,startup,disabled-by-default-file,disabled-by-default-"
diff --git a/components/ukm/debug/ukm_internals.html b/components/ukm/debug/ukm_internals.html
index 34c5e43..e8ca44d0 100644
--- a/components/ukm/debug/ukm_internals.html
+++ b/components/ukm/debug/ukm_internals.html
@@ -7,6 +7,10 @@
 <script src="chrome://resources/js/cr.js"></script>
 <script src="chrome://resources/js/promise_resolver.js"></script>
 <script src="chrome://resources/js/util.js"></script>
+<if expr="is_ios">
+    <!-- TODO(crbug.com/487000): Remove this once injected by web. -->
+    <script src="chrome://resources/js/ios/web_ui.js"></script>
+</if>
 <title>UKM Debug page</title>
 <h1>UKM Debug page</h1>
 <div>
diff --git a/components/ukm/debug/ukm_internals.js b/components/ukm/debug/ukm_internals.js
index 85c1c7a..e259e2a 100644
--- a/components/ukm/debug/ukm_internals.js
+++ b/components/ukm/debug/ukm_internals.js
@@ -75,4 +75,4 @@
   });
 }
 
-updateUkmData();
+document.addEventListener('DOMContentLoaded', updateUkmData);
diff --git a/components/url_formatter/idn_spoof_checker.cc b/components/url_formatter/idn_spoof_checker.cc
index 7b18d59..ad4ccfd 100644
--- a/components/url_formatter/idn_spoof_checker.cc
+++ b/components/url_formatter/idn_spoof_checker.cc
@@ -217,7 +217,7 @@
   //      U+04C8 (ӈ), U+04CA (ӊ), U+050B (ԋ), U+0527 (ԧ), U+0529 (ԩ)} => h
   //   - {U+0138 (ĸ), U+03BA (κ), U+043A (к), U+049B (қ), U+049D (ҝ),
   //      U+049F (ҟ), U+04A1(ҡ), U+04C4 (ӄ), U+051F (ԟ)} => k
-  //   - {U+014B (ŋ), U+043F (п), U+0525 (ԥ)} => n
+  //   - {U+014B (ŋ), U+043F (п), U+0525 (ԥ), U+0E01 (ก)} => n
   //   - U+0153 (œ) => "ce"
   //     TODO: see https://crbug.com/843352 for further work on
   //     U+0525 and U+0153.
@@ -242,7 +242,7 @@
       UNICODE_STRING_SIMPLE("ExtraConf"),
       icu::UnicodeString::fromUTF8(
           "[æӕ] > ae; [þϼҏ] > p; [ħнћңҥӈӊԋԧԩ] > h;"
-          "[ĸκкқҝҟҡӄԟ] > k; [ŋпԥ] > n; œ > ce;"
+          "[ĸκкқҝҟҡӄԟ] > k; [ŋпԥก] > n; œ > ce;"
           "[ŧтҭԏ] > t; [ƅьҍв] > b;  [ωшщพฟພຟ] > w;"
           "[мӎ] > m; [єҽҿၔ] > e; ґ > r; [ғӻ] > f;"
           "[ҫင] > c; ұ > y; [χҳӽӿ] > x;"
diff --git a/components/url_formatter/top_domains/alexa_domains.skeletons b/components/url_formatter/top_domains/alexa_domains.skeletons
index 94548d6c..dc896c6 100644
--- a/components/url_formatter/top_domains/alexa_domains.skeletons
+++ b/components/url_formatter/top_domains/alexa_domains.skeletons
@@ -1,8 +1,9 @@
-# Copyright 2017 The Chromium Authors. All rights reserved.
+# 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.
 
-# This file is generated by components/url_formatter/make_top_domain_skeletons.cc
+# This file is generated by
+# components/url_formatter/make_top_domain_skeletons.cc
 # DO NOT MANUALLY EDIT!
 
 # Each entry is the skeleton of a top domain for the confusability check
diff --git a/components/url_formatter/top_domains/test_domains.list b/components/url_formatter/top_domains/test_domains.list
index 0a65446..466caf99 100644
--- a/components/url_formatter/top_domains/test_domains.list
+++ b/components/url_formatter/top_domains/test_domains.list
@@ -22,3 +22,4 @@
 1234567890.com
 aece.com
 aen.com
+n11.com
diff --git a/components/url_formatter/top_domains/test_domains.skeletons b/components/url_formatter/top_domains/test_domains.skeletons
index 4f8de65e..218bdc6 100644
--- a/components/url_formatter/top_domains/test_domains.skeletons
+++ b/components/url_formatter/top_domains/test_domains.skeletons
@@ -1,8 +1,9 @@
-# Copyright 2017 The Chromium Authors. All rights reserved.
+# 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.
 
-# This file is generated by components/url_formatter/make_top_domain_skeletons.cc
+# This file is generated by
+# components/url_formatter/make_top_domain_skeletons.cc
 # DO NOT MANUALLY EDIT!
 
 # Each entry is the skeleton of a top domain for the confusability check
@@ -32,3 +33,4 @@
 l23456789O.corn, 1234567890.com
 aece.corn, aece.com
 aen.corn, aen.com
+nll.corn, n11.com
diff --git a/components/url_formatter/url_formatter_unittest.cc b/components/url_formatter/url_formatter_unittest.cc
index b0e58cb..32bb24f 100644
--- a/components/url_formatter/url_formatter_unittest.cc
+++ b/components/url_formatter/url_formatter_unittest.cc
@@ -624,6 +624,13 @@
      L"\x0ed0\x0e9a.com",
      false},
 
+    // Lao character that looks like n.
+    // ก11.com
+    {"xn--11-lqi.com",
+     L"\x0e01"
+     L"11.com",
+     false},
+
     // At one point the skeleton of 'w' was 'vv', ensure that
     // that it's treated as 'w'.
     {"xn--wder-qqa.com",
diff --git a/components/url_pattern_index/ngram_extractor.h b/components/url_pattern_index/ngram_extractor.h
index d91a046..4c13198e 100644
--- a/components/url_pattern_index/ngram_extractor.h
+++ b/components/url_pattern_index/ngram_extractor.h
@@ -12,6 +12,7 @@
 
 #include "base/logging.h"
 #include "base/strings/string_piece.h"
+#include "base/strings/string_util.h"
 
 namespace url_pattern_index {
 
@@ -26,8 +27,13 @@
 // Template parameters:
 //  * N - the size of N-grams.
 //  * NGramType - the integer type used to encode N-grams.
+//  * CasePolicy - whether or not to lower-case the N-grams. Assumes ASCII.
 //  * IsSeparator - the type of a bool(char) functor.
-template <size_t N, typename NGramType, typename IsSeparator>
+enum class NGramCaseExtraction { kCaseSensitive, kLowerCase };
+template <size_t N,
+          typename NGramType,
+          NGramCaseExtraction CasePolicy,
+          typename IsSeparator>
 class NGramExtractor {
  public:
   // An STL compatible input iterator over N-grams contained in a string.
@@ -64,6 +70,15 @@
     }
 
    private:
+    char ExtractHeadByte() {
+      char head_byte = *head_;
+      switch (CasePolicy) {
+        case NGramCaseExtraction::kCaseSensitive:
+          return head_byte;
+        case NGramCaseExtraction::kLowerCase:
+          return base::ToLowerASCII(head_byte);
+      }
+    }
     // Consumes characters starting with the one pointed to by |head_|, as many
     // of them as needed to extend |ngram_| from its |current_length| to a
     // length of N. Leaves |head_| pointing to the last character consumed.
@@ -73,7 +88,7 @@
           current_length = 0;
           ngram_ = 0;
         } else {
-          ngram_ = ngram_ << 8 | static_cast<NGramType>(*head_);
+          ngram_ = ngram_ << 8 | static_cast<NGramType>(ExtractHeadByte());
           if (++current_length == N)
             break;
         }
@@ -116,16 +131,21 @@
 //
 // Typical usage:
 //   const char* str = "no*abacaba*abcd";
-//   auto extractor = CreateNGramExtractor<5, uint64_t>(
-//     str, [](char c) { return c == '*'; });
+//   auto extractor =
+//     CreateNGramExtractor<5, uint64_t, NGrameCaseExtraction::kLowercase>(
+//       str, [](char c) { return c == '*'; });
 //   for (uint64_t ngram : extractor) {
 //     ... process the |ngram| ...
 //   }
-template <size_t N, typename NGramType, typename IsSeparator>
-NGramExtractor<N, NGramType, IsSeparator> CreateNGramExtractor(
+template <size_t N,
+          typename NGramType,
+          NGramCaseExtraction CasePolicy,
+          typename IsSeparator>
+NGramExtractor<N, NGramType, CasePolicy, IsSeparator> CreateNGramExtractor(
     base::StringPiece string,
     IsSeparator is_separator) {
-  return NGramExtractor<N, NGramType, IsSeparator>(string, is_separator);
+  return NGramExtractor<N, NGramType, CasePolicy, IsSeparator>(string,
+                                                               is_separator);
 }
 
 }  // namespace url_pattern_index
diff --git a/components/url_pattern_index/ngram_extractor_unittest.cc b/components/url_pattern_index/ngram_extractor_unittest.cc
index c758f2a..ec127025 100644
--- a/components/url_pattern_index/ngram_extractor_unittest.cc
+++ b/components/url_pattern_index/ngram_extractor_unittest.cc
@@ -26,39 +26,57 @@
 }
 
 template <typename IntType>
-IntType EncodeStringToInteger(const char* data, size_t size) {
-  EXPECT_LE(size, sizeof(IntType));
+IntType EncodeStringToInteger(const std::string& data) {
+  EXPECT_LE(data.size(), sizeof(IntType));
 
   IntType encoded_string = 0;
-  for (size_t i = 0; i < size; ++i) {
+  for (size_t i = 0; i < data.size(); ++i) {
     encoded_string = (encoded_string << 8) | static_cast<IntType>(data[i]);
   }
   return encoded_string;
 }
 
+template <typename IntType>
+std::vector<IntType> EncodeStringsToIntegers(
+    const std::vector<std::string>& ngrams) {
+  std::vector<IntType> int_grams;
+  for (const std::string& ngram : ngrams) {
+    int_grams.push_back(EncodeStringToInteger<IntType>(ngram));
+  }
+  return int_grams;
+}
+
 }  // namespace
 
 TEST(NGramExtractorTest, EmptyString) {
   const char* kString = "";
-  auto extractor = CreateNGramExtractor<3, uint32_t>(kString, IsSpecialChar);
+  auto extractor =
+      CreateNGramExtractor<3, uint32_t, NGramCaseExtraction::kLowerCase>(
+          kString, IsSpecialChar);
   EXPECT_EQ(extractor.begin(), extractor.end());
 }
 
 TEST(NGramExtractorTest, ShortString) {
   const char* kString = "abacab";
-  auto extractor = CreateNGramExtractor<7, uint64_t>(kString, IsSeparatorFalse);
+  auto extractor =
+      CreateNGramExtractor<7, uint64_t, NGramCaseExtraction::kLowerCase>(
+          kString, IsSeparatorFalse);
   EXPECT_EQ(extractor.begin(), extractor.end());
 }
 
 TEST(NGramExtractorTest, ShortPieces) {
   const char* kString = "1**abac*abc*abcd*00";
-  auto extractor = CreateNGramExtractor<6, uint64_t>(kString, IsSpecialChar);
+  auto extractor =
+      CreateNGramExtractor<6, uint64_t, NGramCaseExtraction::kLowerCase>(
+          kString, IsSpecialChar);
   EXPECT_EQ(extractor.begin(), extractor.end());
 }
 
 TEST(NGramExtractorTest, IsSeparatorAlwaysTrue) {
   const char* kString = "abacaba";
-  auto extractor = CreateNGramExtractor<3, uint32_t>(kString, IsSeparatorTrue);
+  auto extractor =
+      CreateNGramExtractor<3, uint32_t, NGramCaseExtraction::kLowerCase>(
+          kString, IsSeparatorTrue);
   EXPECT_EQ(extractor.begin(), extractor.end());
 }
 
@@ -66,13 +84,37 @@
   const std::string kString = "abacaba123";
   constexpr size_t N = 3;
 
-  std::vector<uint32_t> expected_ngrams;
-  for (size_t begin = 0; begin + N <= kString.size(); ++begin) {
-    expected_ngrams.push_back(
-        EncodeStringToInteger<uint32_t>(kString.data() + begin, N));
-  }
+  std::vector<uint32_t> expected_ngrams = EncodeStringsToIntegers<uint32_t>(
+      {"aba", "bac", "aca", "cab", "aba", "ba1", "a12", "123"});
+  auto extractor =
+      CreateNGramExtractor<N, uint32_t, NGramCaseExtraction::kLowerCase>(
+          kString, IsSeparatorFalse);
+  std::vector<uint32_t> actual_ngrams(extractor.begin(), extractor.end());
+  EXPECT_EQ(expected_ngrams, actual_ngrams);
+}
 
-  auto extractor = CreateNGramExtractor<N, uint32_t>(kString, IsSeparatorFalse);
+TEST(NGramExtractorTest, LowerCaseExtraction) {
+  const std::string kString = "aBcDEFG";
+  constexpr size_t N = 3;
+
+  std::vector<uint32_t> expected_ngrams =
+      EncodeStringsToIntegers<uint32_t>({"abc", "bcd", "cde", "def", "efg"});
+  auto extractor =
+      CreateNGramExtractor<N, uint32_t, NGramCaseExtraction::kLowerCase>(
+          kString, IsSeparatorFalse);
+  std::vector<uint32_t> actual_ngrams(extractor.begin(), extractor.end());
+  EXPECT_EQ(expected_ngrams, actual_ngrams);
+}
+
+TEST(NGramExtractorTest, CaseSensitiveExtraction) {
+  const std::string kString = "aBcDEFG";
+  constexpr size_t N = 3;
+
+  std::vector<uint32_t> expected_ngrams =
+      EncodeStringsToIntegers<uint32_t>({"aBc", "BcD", "cDE", "DEF", "EFG"});
+  auto extractor =
+      CreateNGramExtractor<N, uint32_t, NGramCaseExtraction::kCaseSensitive>(
+          kString, IsSeparatorFalse);
   std::vector<uint32_t> actual_ngrams(extractor.begin(), extractor.end());
   EXPECT_EQ(expected_ngrams, actual_ngrams);
 }
@@ -98,11 +140,13 @@
       }
       if (is_valid_ngram) {
         expected_ngrams.push_back(
-            EncodeStringToInteger<uint64_t>(string.data() + begin, N));
+            EncodeStringToInteger<uint64_t>(string.substr(begin, N)));
       }
     }
 
-    auto extractor = CreateNGramExtractor<N, uint64_t>(string, IsSpecialChar);
+    auto extractor =
+        CreateNGramExtractor<N, uint64_t, NGramCaseExtraction::kLowerCase>(
+            string, IsSpecialChar);
     std::vector<uint64_t> actual_ngrams(extractor.begin(), extractor.end());
     EXPECT_EQ(expected_ngrams, actual_ngrams);
   }
diff --git a/components/url_pattern_index/url_pattern.cc b/components/url_pattern_index/url_pattern.cc
index 8589f131..3aeed08 100644
--- a/components/url_pattern_index/url_pattern.cc
+++ b/components/url_pattern_index/url_pattern.cc
@@ -238,13 +238,23 @@
 
 UrlPattern::UrlInfo::UrlInfo(const GURL& url)
     : spec_(url.possibly_invalid_spec()),
-      lower_case_spec_(HasAnyUpperAscii(spec_) ? base::Optional<std::string>(
-                                                     base::ToLowerASCII(spec_))
-                                               : base::nullopt),
       host_(url.parsed_for_possibly_invalid_spec().host) {
   DCHECK(url.is_valid());
 }
 
+base::StringPiece UrlPattern::UrlInfo::GetLowerCaseSpec() const {
+  if (lower_case_spec_cached_)
+    return *lower_case_spec_cached_;
+
+  if (!HasAnyUpperAscii(spec_)) {
+    lower_case_spec_cached_ = spec_;
+  } else {
+    lower_case_spec_owner_ = base::ToLowerASCII(spec_);
+    lower_case_spec_cached_ = lower_case_spec_owner_;
+  }
+  return *lower_case_spec_cached_;
+}
+
 UrlPattern::UrlInfo::~UrlInfo() = default;
 
 UrlPattern::UrlPattern() = default;
@@ -278,7 +288,7 @@
          type_ == proto::URL_PATTERN_TYPE_WILDCARDED);
   DCHECK(base::IsStringASCII(url_pattern_));
   DCHECK(base::IsStringASCII(url.spec()));
-  DCHECK(base::IsStringASCII(url.lower_case_spec()));
+  DCHECK(base::IsStringASCII(url.GetLowerCaseSpec()));
 
   if (match_case()) {
     return IsCaseSensitiveMatch(url_pattern_, anchor_left_, anchor_right_,
@@ -287,7 +297,8 @@
 
   // For case-insensitive matching, convert both pattern and url to lower case.
   return IsCaseSensitiveMatch(base::ToLowerASCII(url_pattern_), anchor_left_,
-                              anchor_right_, url.lower_case_spec(), url.host());
+                              anchor_right_, url.GetLowerCaseSpec(),
+                              url.host());
 }
 
 std::ostream& operator<<(std::ostream& out, const UrlPattern& pattern) {
diff --git a/components/url_pattern_index/url_pattern.h b/components/url_pattern_index/url_pattern.h
index a5d46f6..97689d8 100644
--- a/components/url_pattern_index/url_pattern.h
+++ b/components/url_pattern_index/url_pattern.h
@@ -38,17 +38,17 @@
     ~UrlInfo();
 
     base::StringPiece spec() const { return spec_; }
-    base::StringPiece lower_case_spec() const {
-      return lower_case_spec_ ? *lower_case_spec_ : spec_;
-    }
+    base::StringPiece GetLowerCaseSpec() const;
     url::Component host() const { return host_; }
 
    private:
     // The url spec.
     const base::StringPiece spec_;
-    // Lower-cased url spec. Only populated if |spec_| contains upper case
-    // characters.
-    const base::Optional<std::string> lower_case_spec_;
+    // String to hold the lazily computed lower cased spec.
+    mutable std::string lower_case_spec_owner_;
+    // Reference to the lower case spec. Computed lazily.
+    mutable base::Optional<base::StringPiece> lower_case_spec_cached_;
+
     // The url host component.
     const url::Component host_;
 
diff --git a/components/url_pattern_index/url_pattern_index.cc b/components/url_pattern_index/url_pattern_index.cc
index b5ff908..fea0a7a 100644
--- a/components/url_pattern_index/url_pattern_index.cc
+++ b/components/url_pattern_index/url_pattern_index.cc
@@ -450,11 +450,12 @@
   size_t min_list_size = std::numeric_limits<size_t>::max();
   NGram best_ngram = 0;
 
-  // To support case-insensitive matching, lower case the n-grams for |pattern|.
+  // To support case-insensitive matching, make sure the n-grams for |pattern|
+  // are lower-cased.
   DCHECK(base::IsStringASCII(pattern));
-  const std::string lower_case_pattern = base::ToLowerASCII(pattern);
-  auto ngrams = CreateNGramExtractor<kNGramSize, NGram>(
-      lower_case_pattern, [](char c) { return c == '*' || c == '^'; });
+  auto ngrams =
+      CreateNGramExtractor<kNGramSize, NGram, NGramCaseExtraction::kLowerCase>(
+          pattern, [](char c) { return c == '*' || c == '^'; });
 
   for (uint64_t ngram : ngrams) {
     const MutableUrlRuleList* rules = ngram_index_.Get(ngram);
@@ -657,10 +658,11 @@
 
   NGramHashTableProber prober;
 
-  // |hash_table| contains lower-cased n-grams. Use lower-cased url to find
-  // prospective matches.
-  auto ngrams = CreateNGramExtractor<kNGramSize, uint64_t>(
-      url.lower_case_spec(), [](char) { return false; });
+  // |hash_table| contains lower-cased n-grams. Use lower-cased extraction to
+  // find prospective matches.
+  auto ngrams = CreateNGramExtractor<kNGramSize, uint64_t,
+                                     NGramCaseExtraction::kLowerCase>(
+      url.spec(), [](char) { return false; });
 
   auto get_max_priority_rule = [](const flat::UrlRule* lhs,
                                   const flat::UrlRule* rhs) {
diff --git a/components/viz/common/BUILD.gn b/components/viz/common/BUILD.gn
index 2a2f852..19592790 100644
--- a/components/viz/common/BUILD.gn
+++ b/components/viz/common/BUILD.gn
@@ -217,6 +217,9 @@
     "frame_sinks/copy_output_util_unittest.cc",
     "frame_sinks/delay_based_time_source_unittest.cc",
     "gl_helper_unittest.cc",
+    "gl_scaler_shader_pixeltest.cc",
+    "gl_scaler_test_util.cc",
+    "gl_scaler_test_util.h",
     "gl_scaler_unittest.cc",
     "gpu/context_cache_controller_unittest.cc",
     "quads/draw_quad_unittest.cc",
@@ -243,6 +246,9 @@
     "//media",
     "//testing/gmock",
     "//testing/gtest",
+    "//ui/gfx",
+    "//ui/gfx:color_space",
+    "//ui/gfx/geometry",
   ]
 }
 
diff --git a/components/viz/common/DEPS b/components/viz/common/DEPS
index 538f895a..639f7cb 100644
--- a/components/viz/common/DEPS
+++ b/components/viz/common/DEPS
@@ -22,7 +22,7 @@
     "+gpu/ipc/common",
     "+third_party/skia",
   ],
-  ".*_unittest\.cc": [
+  ".*(_unittest|_pixeltest)\.cc": [
     "+cc/test",
     "+gpu/ipc/gl_in_process_context.h",
     "+media/base",
diff --git a/components/viz/common/gl_scaler.cc b/components/viz/common/gl_scaler.cc
index cc90dd86..4c4ae20 100644
--- a/components/viz/common/gl_scaler.cc
+++ b/components/viz/common/gl_scaler.cc
@@ -4,6 +4,8 @@
 
 #include "components/viz/common/gl_scaler.h"
 
+#include <sstream>
+#include <string>
 #include <utility>
 
 #include "base/logging.h"
@@ -11,6 +13,9 @@
 #include "gpu/GLES2/gl2chromium.h"
 #include "gpu/GLES2/gl2extchromium.h"
 #include "gpu/command_buffer/common/capabilities.h"
+#include "ui/gfx/color_transform.h"
+#include "ui/gfx/geometry/rect_f.h"
+#include "ui/gfx/geometry/size.h"
 #include "ui/gfx/geometry/vector2d_f.h"
 
 namespace viz {
@@ -63,6 +68,8 @@
 }
 
 bool GLScaler::Configure(const Parameters& new_params) {
+  shader_programs_.clear();
+
   if (!context_provider_) {
     return false;
   }
@@ -112,6 +119,14 @@
     }
   }
 
+  // Color space transformation is meaningless when using the deinterleaver.
+  if (params_.export_format ==
+          Parameters::ExportFormat::DEINTERLEAVE_PAIRWISE &&
+      params_.source_color_space != params_.output_color_space) {
+    NOTIMPLEMENTED();
+    return false;
+  }
+
   // Check that one of the two implemented output swizzles has been specified.
   for (GLenum s : params_.swizzle) {
     if (s != GL_RGBA && s != GL_BGRA_EXT) {
@@ -165,13 +180,630 @@
 }
 
 void GLScaler::OnContextLost() {
+  // The destruction order here is important due to data dependencies.
+  shader_programs_.clear();
   if (context_provider_) {
     context_provider_->RemoveObserver(this);
     context_provider_ = nullptr;
   }
 }
 
+GLScaler::ShaderProgram* GLScaler::GetShaderProgram(
+    Shader shader,
+    GLint texture_format,
+    const gfx::ColorTransform* color_transform,
+    const GLenum swizzle[2]) {
+  const ShaderCacheKey key{
+      shader,
+      texture_format,
+      color_transform ? color_transform->GetSrcColorSpace() : gfx::ColorSpace(),
+      color_transform ? color_transform->GetDstColorSpace() : gfx::ColorSpace(),
+      swizzle[0],
+      swizzle[1]};
+  auto it = shader_programs_.find(key);
+  if (it == shader_programs_.end()) {
+    GLES2Interface* const gl = context_provider_->ContextGL();
+    DCHECK(gl);
+    it = shader_programs_
+             .emplace(std::piecewise_construct, std::forward_as_tuple(key),
+                      std::forward_as_tuple(gl, shader, texture_format,
+                                            color_transform, swizzle))
+             .first;
+  }
+  return &it->second;
+}
+
 GLScaler::Parameters::Parameters() = default;
 GLScaler::Parameters::~Parameters() = default;
 
+// static
+const GLfloat GLScaler::ShaderProgram::kVertexAttributes[16] = {
+    -1.0f, -1.0f, 0.0f, 0.0f,  // vertex 0
+    1.0f,  -1.0f, 1.0f, 0.0f,  // vertex 1
+    -1.0f, 1.0f,  0.0f, 1.0f,  // vertex 2
+    1.0f,  1.0f,  1.0f, 1.0f,  // vertex 3
+};
+
+GLScaler::ShaderProgram::ShaderProgram(
+    gpu::gles2::GLES2Interface* gl,
+    GLScaler::Shader shader,
+    GLint texture_format,
+    const gfx::ColorTransform* color_transform,
+    const GLenum swizzle[2])
+    : gl_(gl),
+      shader_(shader),
+      texture_format_(texture_format),
+      program_(gl_->CreateProgram()) {
+  DCHECK(program_);
+
+  std::basic_ostringstream<GLchar> vertex_header;
+  std::basic_ostringstream<GLchar> fragment_directives;
+  std::basic_ostringstream<GLchar> fragment_header;
+  std::basic_ostringstream<GLchar> shared_variables;
+  std::basic_ostringstream<GLchar> vertex_main;
+  std::basic_ostringstream<GLchar> fragment_main;
+
+  vertex_header
+      << ("precision highp float;\n"
+          "attribute vec2 a_position;\n"
+          "attribute vec2 a_texcoord;\n"
+          "uniform vec4 src_rect;\n");
+
+  fragment_header << "precision mediump float;\n";
+  if (texture_format_ == GL_RGBA16F_EXT) {
+    fragment_header << "precision mediump sampler2D;\n";
+  } else if (texture_format_ == GL_RGBA) {
+    fragment_header << "precision lowp sampler2D;\n";
+  } else {
+    NOTIMPLEMENTED();
+  }
+  fragment_header << "uniform sampler2D s_texture;\n";
+
+  if (color_transform && shader_ != Shader::PLANAR_CHANNEL_3) {
+    const std::string& source = color_transform->GetShaderSource();
+    // Assumption: gfx::ColorTransform::GetShaderSource() should provide a
+    // function named DoColorConversion() that takes a vec3 argument and returns
+    // a vec3.
+    DCHECK_NE(source.find("DoColorConversion"), std::string::npos);
+    fragment_header << source;
+  }
+
+  vertex_main
+      << ("  gl_Position = vec4(a_position, 0.0, 1.0);\n"
+          "  vec2 texcoord = src_rect.xy + a_texcoord * src_rect.zw;\n");
+
+  switch (shader_) {
+    case Shader::BILINEAR:
+      shared_variables << "varying highp vec2 v_texcoord;\n";
+      vertex_main << "  v_texcoord = texcoord;\n";
+      fragment_main << "  vec4 sample = texture2D(s_texture, v_texcoord);\n";
+      if (color_transform) {
+        fragment_main << "  sample.rgb = DoColorConversion(sample.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  sample.rb = sample.br;\n";
+      }
+      fragment_main << "  gl_FragColor = sample;\n";
+      break;
+
+    case Shader::BILINEAR2:
+      // This is equivialent to two passes of the BILINEAR shader above. It can
+      // be used to scale an image down 1.0x-2.0x in either dimension, or
+      // exactly 4x.
+      shared_variables << "varying highp vec4 v_texcoords;\n";
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 4.0;\n"
+              "  v_texcoords.xy = texcoord + step;\n"
+              "  v_texcoords.zw = texcoord - step;\n");
+      fragment_main
+          << ("  vec4 blended = (texture2D(s_texture, v_texcoords.xy) +\n"
+              "                  texture2D(s_texture, v_texcoords.zw)) /\n"
+              "                 2.0;\n");
+      if (color_transform) {
+        fragment_main << "  blended.rgb = DoColorConversion(blended.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  blended.rb = blended.br;\n";
+      }
+      fragment_main << "  gl_FragColor = blended;\n";
+      break;
+
+    case Shader::BILINEAR3:
+      // This is kind of like doing 1.5 passes of the BILINEAR shader. It can be
+      // used to scale an image down 1.5x-3.0x, or exactly 6x.
+      shared_variables
+          << ("varying highp vec4 v_texcoords0;\n"
+              "varying highp vec2 v_texcoords1;\n");
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 3.0;\n"
+              "  v_texcoords0.xy = texcoord + step;\n"
+              "  v_texcoords0.zw = texcoord;\n"
+              "  v_texcoords1 = texcoord - step;\n");
+      fragment_main
+          << ("  vec4 blended = (texture2D(s_texture, v_texcoords0.xy) +\n"
+              "                  texture2D(s_texture, v_texcoords0.zw) +\n"
+              "                  texture2D(s_texture, v_texcoords1)) / 3.0;\n");
+      if (color_transform) {
+        fragment_main << "  blended.rgb = DoColorConversion(blended.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  blended.rb = blended.br;\n";
+      }
+      fragment_main << "  gl_FragColor = blended;\n";
+      break;
+
+    case Shader::BILINEAR4:
+      // This is equivialent to three passes of the BILINEAR shader above. It
+      // can be used to scale an image down 2.0x-4.0x or exactly 8x.
+      shared_variables << "varying highp vec4 v_texcoords[2];\n";
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 8.0;\n"
+              "  v_texcoords[0].xy = texcoord - step * 3.0;\n"
+              "  v_texcoords[0].zw = texcoord - step;\n"
+              "  v_texcoords[1].xy = texcoord + step;\n"
+              "  v_texcoords[1].zw = texcoord + step * 3.0;\n");
+      fragment_main
+          << ("  vec4 blended = (\n"
+              "      texture2D(s_texture, v_texcoords[0].xy) +\n"
+              "      texture2D(s_texture, v_texcoords[0].zw) +\n"
+              "      texture2D(s_texture, v_texcoords[1].xy) +\n"
+              "      texture2D(s_texture, v_texcoords[1].zw)) / 4.0;\n");
+      if (color_transform) {
+        fragment_main << "  blended.rgb = DoColorConversion(blended.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  blended.rb = blended.br;\n";
+      }
+      fragment_main << "  gl_FragColor = blended;\n";
+      break;
+
+    case Shader::BILINEAR2X2:
+      // This is equivialent to four passes of the BILINEAR shader above, two in
+      // each dimension. It can be used to scale an image down 1.0x-2.0x in both
+      // X and Y directions. Or, it could be used to scale an image down by
+      // exactly 4x in both dimensions.
+      shared_variables << "varying highp vec4 v_texcoords[2];\n";
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 4.0;\n"
+              "  v_texcoords[0].xy = texcoord + vec2(step.x, step.y);\n"
+              "  v_texcoords[0].zw = texcoord + vec2(step.x, -step.y);\n"
+              "  v_texcoords[1].xy = texcoord + vec2(-step.x, step.y);\n"
+              "  v_texcoords[1].zw = texcoord + vec2(-step.x, -step.y);\n");
+      fragment_main
+          << ("  vec4 blended = (\n"
+              "      texture2D(s_texture, v_texcoords[0].xy) +\n"
+              "      texture2D(s_texture, v_texcoords[0].zw) +\n"
+              "      texture2D(s_texture, v_texcoords[1].xy) +\n"
+              "      texture2D(s_texture, v_texcoords[1].zw)) / 4.0;\n");
+      if (color_transform) {
+        fragment_main << "  blended.rgb = DoColorConversion(blended.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  blended.rb = blended.br;\n";
+      }
+      fragment_main << "  gl_FragColor = blended;\n";
+      break;
+
+    case Shader::BICUBIC_UPSCALE:
+      // When scaling up, 4 texture reads are necessary. However, some
+      // instructions can be saved because the parameter passed to the bicubic
+      // function will be in a known range. Also, when sampling the bicubic
+      // function like this, the sum is always exactly one, so normalization can
+      // be skipped as well.
+      shared_variables << "varying highp vec2 v_texcoord;\n";
+      vertex_main << "  v_texcoord = texcoord;\n";
+      fragment_header
+          << ("uniform highp vec2 src_pixelsize;\n"
+              "uniform highp vec2 scaling_vector;\n"
+              "const float a = -0.5;\n"
+              // This function is equivialent to calling the bicubic
+              // function with x-1, x, 1-x and 2-x (assuming
+              // 0 <= x < 1)
+              "vec4 filt4(float x) {\n"
+              "  return vec4(x * x * x, x * x, x, 1) *\n"
+              "         mat4(       a,      -2.0 * a,   a, 0.0,\n"
+              "               a + 2.0,      -a - 3.0, 0.0, 1.0,\n"
+              "              -a - 2.0, 3.0 + 2.0 * a,  -a, 0.0,\n"
+              "                    -a,             a, 0.0, 0.0);\n"
+              "}\n"
+              "mat4 pixels_x(highp vec2 pos, highp vec2 step) {\n"
+              "  return mat4(texture2D(s_texture, pos - step),\n"
+              "              texture2D(s_texture, pos),\n"
+              "              texture2D(s_texture, pos + step),\n"
+              "              texture2D(s_texture, pos + step * 2.0));\n"
+              "}\n");
+      fragment_main
+          << ("  highp vec2 pixel_pos = v_texcoord * src_pixelsize - \n"
+              "      scaling_vector / 2.0;\n"
+              "  highp float frac = fract(dot(pixel_pos, scaling_vector));\n"
+              "  highp vec2 base = \n"
+              "      (floor(pixel_pos) + vec2(0.5)) / src_pixelsize;\n"
+              "  highp vec2 step = scaling_vector / src_pixelsize;\n"
+              "  vec4 blended = pixels_x(base, step) * filt4(frac);\n");
+      if (color_transform) {
+        fragment_main << "  blended.rgb = DoColorConversion(blended.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  blended.rb = blended.br;\n";
+      }
+      fragment_main << "  gl_FragColor = blended;\n";
+      break;
+
+    case Shader::BICUBIC_HALF_1D:
+      // This scales down an image by exactly half in one dimension. The
+      // bilinear lookup reduces the number of texture reads from 8 to 4.
+      shared_variables << "varying highp vec4 v_texcoords[2];\n";
+      vertex_header
+          << ("uniform vec2 scaling_vector;\n"
+              "const float CenterDist = 99.0 / 140.0;\n"
+              "const float LobeDist = 11.0 / 4.0;\n");
+      vertex_main
+          << ("  vec2 step = scaling_vector / 2.0;\n"
+              "  v_texcoords[0].xy = texcoord - LobeDist * step;\n"
+              "  v_texcoords[0].zw = texcoord - CenterDist * step;\n"
+              "  v_texcoords[1].xy = texcoord + CenterDist * step;\n"
+              "  v_texcoords[1].zw = texcoord + LobeDist * step;\n");
+      fragment_header
+          << ("const float CenterWeight = 35.0 / 64.0;\n"
+              "const float LobeWeight = -3.0 / 64.0;\n");
+      fragment_main
+          << ("  vec4 blended = \n"
+              // Lobe pixels
+              "      (texture2D(s_texture, v_texcoords[0].xy) +\n"
+              "       texture2D(s_texture, v_texcoords[1].zw)) *\n"
+              "          LobeWeight +\n"
+              // Center pixels
+              "      (texture2D(s_texture, v_texcoords[0].zw) +\n"
+              "       texture2D(s_texture, v_texcoords[1].xy)) *\n"
+              "          CenterWeight;\n");
+      if (color_transform) {
+        fragment_main << "  blended.rgb = DoColorConversion(blended.rgb);\n";
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  blended.rb = blended.br;\n";
+      }
+      fragment_main << "  gl_FragColor = blended;\n";
+      break;
+
+    case Shader::PLANAR_CHANNEL_0:
+    case Shader::PLANAR_CHANNEL_1:
+    case Shader::PLANAR_CHANNEL_2:
+    case Shader::PLANAR_CHANNEL_3: {
+      // Select one color channel, and pack 4 pixels into one output quad. See
+      // header file for diagram.
+      shared_variables << "varying highp vec4 v_texcoords[2];\n";
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 4.0;\n"
+              "  v_texcoords[0].xy = texcoord - step * 1.5;\n"
+              "  v_texcoords[0].zw = texcoord - step * 0.5;\n"
+              "  v_texcoords[1].xy = texcoord + step * 0.5;\n"
+              "  v_texcoords[1].zw = texcoord + step * 1.5;\n");
+      std::basic_string<GLchar> convert_open;
+      std::basic_string<GLchar> convert_close;
+      if (color_transform && shader_ != Shader::PLANAR_CHANNEL_3) {
+        convert_open = "DoColorConversion(";
+        convert_close = ".rgb)";
+      }
+      const char selector = "rgba"[static_cast<int>(shader_) -
+                                   static_cast<int>(Shader::PLANAR_CHANNEL_0)];
+      fragment_main << "  vec4 packed_quad = vec4(\n"
+                    << "      " << convert_open
+                    << "texture2D(s_texture, v_texcoords[0].xy)"
+                    << convert_close << '.' << selector << ",\n"
+                    << "      " << convert_open
+                    << "texture2D(s_texture, v_texcoords[0].zw)"
+                    << convert_close << '.' << selector << ",\n"
+                    << "      " << convert_open
+                    << "texture2D(s_texture, v_texcoords[1].xy)"
+                    << convert_close << '.' << selector << ",\n"
+                    << "      " << convert_open
+                    << "texture2D(s_texture, v_texcoords[1].zw)"
+                    << convert_close << '.' << selector << ");\n";
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  packed_quad.rb = packed_quad.br;\n";
+      }
+      fragment_main << "  gl_FragColor = packed_quad;\n";
+      break;
+    }
+
+    case Shader::I422_NV61_MRT:
+      // I422 sampling, delivered via two output textures (NV61 format). See
+      // header file for diagram.
+      shared_variables << "varying highp vec4 v_texcoords[2];\n";
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 4.0;\n"
+              "  v_texcoords[0].xy = texcoord - step * 1.5;\n"
+              "  v_texcoords[0].zw = texcoord - step * 0.5;\n"
+              "  v_texcoords[1].xy = texcoord + step * 0.5;\n"
+              "  v_texcoords[1].zw = texcoord + step * 1.5;\n");
+      fragment_directives << "#extension GL_EXT_draw_buffers : enable\n";
+      fragment_main
+          << ("  vec3 pixel0 = texture2D(s_texture, v_texcoords[0].xy).rgb;\n"
+              "  vec3 pixel1 = texture2D(s_texture, v_texcoords[0].zw).rgb;\n"
+              "  vec3 pixel01 = (pixel0 + pixel1) / 2.0;\n"
+              "  vec3 pixel2 = texture2D(s_texture, v_texcoords[1].xy).rgb;\n"
+              "  vec3 pixel3 = texture2D(s_texture, v_texcoords[1].zw).rgb;\n"
+              "  vec3 pixel23 = (pixel2 + pixel3) / 2.0;\n");
+      if (color_transform) {
+        fragment_main
+            << ("  pixel0 = DoColorConversion(pixel0);\n"
+                "  pixel1 = DoColorConversion(pixel1);\n"
+                "  pixel01 = DoColorConversion(pixel01);\n"
+                "  pixel2 = DoColorConversion(pixel2);\n"
+                "  pixel3 = DoColorConversion(pixel3);\n"
+                "  pixel23 = DoColorConversion(pixel23);\n");
+      }
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main
+            << ("  gl_FragData[0] = \n"
+                "      vec4(pixel2.r, pixel1.r, pixel0.r, pixel3.r);\n");
+      } else {
+        fragment_main
+            << ("  gl_FragData[0] = \n"
+                "      vec4(pixel0.r, pixel1.r, pixel2.r, pixel3.r);\n");
+      }
+      if (swizzle[1] == GL_BGRA_EXT) {
+        fragment_main
+            << ("  gl_FragData[1] = \n"
+                "      vec4(pixel23.g, pixel01.b, pixel01.g, pixel23.b);\n");
+      } else {
+        fragment_main
+            << ("  gl_FragData[1] = \n"
+                "      vec4(pixel01.g, pixel01.b, pixel23.g, pixel23.b);\n");
+      }
+      break;
+
+    case Shader::DEINTERLEAVE_PAIRWISE_MRT:
+      // Sample two pixels and unswizzle them. There's no need to do vertical
+      // scaling with math, since the bilinear interpolation in the sampler
+      // takes care of that.
+      shared_variables << "varying highp vec4 v_texcoords;\n";
+      vertex_header << "uniform vec2 scaling_vector;\n";
+      vertex_main
+          << ("  vec2 step = scaling_vector / 2.0;\n"
+              "  v_texcoords.xy = texcoord - step * 0.5;\n"
+              "  v_texcoords.zw = texcoord + step * 0.5;\n");
+      fragment_directives << "#extension GL_EXT_draw_buffers : enable\n";
+      DCHECK(!color_transform);
+      fragment_main
+          << ("  vec4 lo_uvuv = texture2D(s_texture, v_texcoords.xy);\n"
+              "  vec4 hi_uvuv = texture2D(s_texture, v_texcoords.zw);\n"
+              "  vec4 uuuu = vec4(lo_uvuv.rb, hi_uvuv.rb);\n"
+              "  vec4 vvvv = vec4(lo_uvuv.ga, hi_uvuv.ga);\n");
+      if (swizzle[0] == GL_BGRA_EXT) {
+        fragment_main << "  uuuu.rb = uuuu.br;\n";
+      }
+      fragment_main << "  gl_FragData[0] = uuuu;\n";
+      if (swizzle[1] == GL_BGRA_EXT) {
+        fragment_main << "  vvvv.rb = vvvv.br;\n";
+      }
+      fragment_main << "  gl_FragData[1] = vvvv;\n";
+      break;
+  }
+
+  // Helper function to compile the shader source and log the GLSL compiler's
+  // results.
+  const auto CompileShaderFromSource =
+      [](GLES2Interface* gl, const std::basic_string<GLchar>& source,
+         GLenum type) -> GLuint {
+    VLOG(2) << __func__ << ": Compiling shader " << type
+            << " with source:" << std::endl
+            << source;
+    const GLuint shader = gl->CreateShader(type);
+    const GLchar* source_data = source.data();
+    const GLint length = base::checked_cast<GLint>(source.size());
+    gl->ShaderSource(shader, 1, &source_data, &length);
+    gl->CompileShader(shader);
+    GLint compile_status = GL_FALSE;
+    gl->GetShaderiv(shader, GL_COMPILE_STATUS, &compile_status);
+
+    // Fetch logs and forward them to the system logger. If compilation failed,
+    // clean-up and return 0 for error.
+    if (compile_status != GL_TRUE || VLOG_IS_ON(2)) {
+      GLint log_length = 0;
+      gl->GetShaderiv(shader, GL_INFO_LOG_LENGTH, &log_length);
+      std::string log;
+      if (log_length > 0) {
+        std::unique_ptr<GLchar[]> tmp(new GLchar[log_length]);
+        GLsizei returned_log_length = 0;
+        gl->GetShaderInfoLog(shader, log_length, &returned_log_length,
+                             tmp.get());
+        log.assign(tmp.get(), returned_log_length);
+      }
+      if (log.empty()) {
+        log = "<<NO LOG>>";
+      }
+      if (compile_status != GL_TRUE) {
+        LOG(ERROR) << __func__ << ": Compilation of shader " << type
+                   << " failed:" << std::endl
+                   << log;
+        gl->DeleteShader(shader);
+        return 0;
+      }
+      VLOG(2) << __func__ << ": Compilation of shader " << type
+              << " succeeded:" << std::endl
+              << log;
+    }
+    return shader;
+  };
+
+  // Compile the vertex shader and attach it to the program.
+  const std::string shared_variables_str = shared_variables.str();
+  const GLuint vertex_shader =
+      CompileShaderFromSource(gl_,
+                              vertex_header.str() + shared_variables_str +
+                                  "void main() {\n" + vertex_main.str() + "}\n",
+                              GL_VERTEX_SHADER);
+  if (vertex_shader == 0) {
+    return;
+  }
+  gl_->AttachShader(program_, vertex_shader);
+  gl_->DeleteShader(vertex_shader);
+
+  // Compile the fragment shader and attach to |program_|.
+  const GLuint fragment_shader = CompileShaderFromSource(
+      gl_,
+      fragment_directives.str() + fragment_header.str() + shared_variables_str +
+          "void main() {\n" + fragment_main.str() + "}\n",
+      GL_FRAGMENT_SHADER);
+  if (fragment_shader == 0) {
+    return;
+  }
+  gl_->AttachShader(program_, fragment_shader);
+  gl_->DeleteShader(fragment_shader);
+
+  // Link the program.
+  gl_->LinkProgram(program_);
+  GLint link_status = GL_FALSE;
+  gl_->GetProgramiv(program_, GL_LINK_STATUS, &link_status);
+  if (link_status != GL_TRUE) {
+    LOG(ERROR) << "Failed to link shader program.";
+    return;
+  }
+
+#define DCHECK_RESOLVED_LOCATION(member)                                  \
+  DCHECK(member != -1 || gl_->GetGraphicsResetStatusKHR() != GL_NO_ERROR) \
+      << "Failed to get " #member " in program, or GPU process crashed."
+
+  // Resolve the locations of the global variables.
+  position_location_ = gl_->GetAttribLocation(program_, "a_position");
+  DCHECK_RESOLVED_LOCATION(position_location_);
+  texcoord_location_ = gl_->GetAttribLocation(program_, "a_texcoord");
+  DCHECK_RESOLVED_LOCATION(texcoord_location_);
+  texture_location_ = gl_->GetUniformLocation(program_, "s_texture");
+  DCHECK_RESOLVED_LOCATION(texture_location_);
+  src_rect_location_ = gl_->GetUniformLocation(program_, "src_rect");
+  DCHECK_RESOLVED_LOCATION(src_rect_location_);
+  switch (shader_) {
+    case Shader::BILINEAR:
+      break;
+
+    case Shader::BILINEAR2:
+    case Shader::BILINEAR3:
+    case Shader::BILINEAR4:
+    case Shader::BILINEAR2X2:
+    case Shader::BICUBIC_HALF_1D:
+    case Shader::PLANAR_CHANNEL_0:
+    case Shader::PLANAR_CHANNEL_1:
+    case Shader::PLANAR_CHANNEL_2:
+    case Shader::PLANAR_CHANNEL_3:
+    case Shader::I422_NV61_MRT:
+    case Shader::DEINTERLEAVE_PAIRWISE_MRT:
+      scaling_vector_location_ =
+          gl_->GetUniformLocation(program_, "scaling_vector");
+      DCHECK_RESOLVED_LOCATION(scaling_vector_location_);
+      break;
+
+    case Shader::BICUBIC_UPSCALE:
+      src_pixelsize_location_ =
+          gl_->GetUniformLocation(program_, "src_pixelsize");
+      DCHECK_RESOLVED_LOCATION(src_pixelsize_location_);
+      scaling_vector_location_ =
+          gl_->GetUniformLocation(program_, "scaling_vector");
+      DCHECK_RESOLVED_LOCATION(scaling_vector_location_);
+      break;
+  }
+
+#undef DCHECK_RESOLVED_LOCATION
+}
+
+GLScaler::ShaderProgram::~ShaderProgram() {
+  gl_->DeleteProgram(program_);
+}
+
+void GLScaler::ShaderProgram::UseProgram(const gfx::Size& src_texture_size,
+                                         const gfx::RectF& src_rect,
+                                         const gfx::Size& dst_size,
+                                         GLScaler::Axis primary_axis,
+                                         bool flip_y) {
+  gl_->UseProgram(program_);
+
+  // OpenGL defines the last parameter to VertexAttribPointer as type
+  // "const GLvoid*" even though it is actually an offset into the buffer
+  // object's data store and not a pointer to the client's address space.
+  const void* offsets[2] = {nullptr,
+                            reinterpret_cast<const void*>(2 * sizeof(GLfloat))};
+
+  gl_->VertexAttribPointer(position_location_, 2, GL_FLOAT, GL_FALSE,
+                           4 * sizeof(GLfloat), offsets[0]);
+  gl_->EnableVertexAttribArray(position_location_);
+
+  gl_->VertexAttribPointer(texcoord_location_, 2, GL_FLOAT, GL_FALSE,
+                           4 * sizeof(GLfloat), offsets[1]);
+  gl_->EnableVertexAttribArray(texcoord_location_);
+
+  // Always sample from the first texture unit.
+  gl_->Uniform1i(texture_location_, 0);
+
+  // Convert |src_rect| from pixel coordinates to texture coordinates. The
+  // source texture coordinates are in the range [0.0,1.0] for each dimension,
+  // but the sampling rect may slightly "spill" outside that range (e.g., for
+  // scaler overscan).
+  GLfloat src_rect_texcoord[4] = {
+      src_rect.x() / src_texture_size.width(),
+      src_rect.y() / src_texture_size.height(),
+      src_rect.width() / src_texture_size.width(),
+      src_rect.height() / src_texture_size.height(),
+  };
+  if (flip_y) {
+    src_rect_texcoord[1] += src_rect_texcoord[3];
+    src_rect_texcoord[3] *= -1.0f;
+  }
+  gl_->Uniform4fv(src_rect_location_, 1, src_rect_texcoord);
+
+  // Set shader-specific uniform inputs. The |scaling_vector| is the ratio of
+  // the number of source pixels sampled per dest pixels output. It is used by
+  // the shader programs to locate distinct texels from the source texture, and
+  // sample them at the appropriate offset to produce each output texel.
+  switch (shader_) {
+    case Shader::BILINEAR:
+      break;
+
+    case Shader::BILINEAR2:
+    case Shader::BILINEAR3:
+    case Shader::BILINEAR4:
+    case Shader::BICUBIC_HALF_1D:
+    case Shader::PLANAR_CHANNEL_0:
+    case Shader::PLANAR_CHANNEL_1:
+    case Shader::PLANAR_CHANNEL_2:
+    case Shader::PLANAR_CHANNEL_3:
+    case Shader::I422_NV61_MRT:
+    case Shader::DEINTERLEAVE_PAIRWISE_MRT:
+      switch (primary_axis) {
+        case HORIZONTAL:
+          gl_->Uniform2f(scaling_vector_location_,
+                         src_rect_texcoord[2] / dst_size.width(), 0.0);
+          break;
+        case VERTICAL:
+          gl_->Uniform2f(scaling_vector_location_, 0.0,
+                         src_rect_texcoord[3] / dst_size.height());
+          break;
+      }
+      break;
+
+    case Shader::BILINEAR2X2:
+      gl_->Uniform2f(scaling_vector_location_,
+                     src_rect_texcoord[2] / dst_size.width(),
+                     src_rect_texcoord[3] / dst_size.height());
+      break;
+
+    case Shader::BICUBIC_UPSCALE:
+      gl_->Uniform2f(src_pixelsize_location_, src_texture_size.width(),
+                     src_texture_size.height());
+      // For this shader program, the |scaling_vector| has an alternate meaning:
+      // It is only being used to select whether bicubic sampling is stepped in
+      // the X or the Y direction.
+      gl_->Uniform2f(scaling_vector_location_,
+                     primary_axis == HORIZONTAL ? 1.0 : 0.0,
+                     primary_axis == VERTICAL ? 1.0 : 0.0);
+      break;
+  }
+}
+
 }  // namespace viz
diff --git a/components/viz/common/gl_scaler.h b/components/viz/common/gl_scaler.h
index 30529bf..67f3ad5 100644
--- a/components/viz/common/gl_scaler.h
+++ b/components/viz/common/gl_scaler.h
@@ -7,6 +7,10 @@
 
 #include <stdint.h>
 
+#include <map>
+#include <memory>
+#include <tuple>
+
 #include "base/compiler_specific.h"
 #include "base/macros.h"
 #include "base/memory/scoped_refptr.h"
@@ -17,8 +21,10 @@
 #include "ui/gfx/geometry/vector2d.h"
 
 namespace gfx {
+class ColorTransform;
 class Vector2dF;
 class Rect;
+class RectF;
 class Size;
 }  // namespace gfx
 
@@ -266,11 +272,99 @@
                                           const gfx::Vector2d& to);
 
  private:
+  friend class GLScalerShaderPixelTest;
+
   using GLES2Interface = gpu::gles2::GLES2Interface;
 
+  enum Axis { HORIZONTAL, VERTICAL };
+
+  // The shaders used by each stage in the scaling pipeline.
+  enum class Shader : int8_t {
+    BILINEAR,
+    BILINEAR2,
+    BILINEAR3,
+    BILINEAR4,
+    BILINEAR2X2,
+    BICUBIC_UPSCALE,
+    BICUBIC_HALF_1D,
+    PLANAR_CHANNEL_0,
+    PLANAR_CHANNEL_1,
+    PLANAR_CHANNEL_2,
+    PLANAR_CHANNEL_3,
+    I422_NV61_MRT,
+    DEINTERLEAVE_PAIRWISE_MRT,
+  };
+
+  // A cached, re-usable shader program that performs one step in the scaling
+  // pipeline.
+  class VIZ_COMMON_EXPORT ShaderProgram {
+   public:
+    ShaderProgram(GLES2Interface* gl,
+                  Shader shader,
+                  GLint texture_format,
+                  const gfx::ColorTransform* color_transform,
+                  const GLenum swizzle[2]);
+    ~ShaderProgram();
+
+    Shader shader() const { return shader_; }
+    GLint texture_format() const { return texture_format_; }
+
+    // UseProgram must be called with GL_ARRAY_BUFFER bound to a vertex
+    // attribute buffer. |src_texture_size| is the size of the entire source
+    // texture, regardless of which region is to be sampled. |src_rect| is the
+    // source region, not including overscan pixels past the edges.
+    // |primary_axis| configures certain programs which scale in only one
+    // particular direction. |flip_y| causes the |src_rect| to be scanned
+    // upside-down, to produce a vertically-flipped result.
+    void UseProgram(const gfx::Size& src_texture_size,
+                    const gfx::RectF& src_rect,
+                    const gfx::Size& dst_size,
+                    Axis primary_axis,
+                    bool flip_y);
+
+    // GL_ARRAY_BUFFER data that must be bound when drawing with a
+    // ShaderProgram. These are the vertex attributes that will sweep the entire
+    // source area when executing the program. They represent triangle strip
+    // coordinates: The first two columns are (x,y) values interpolated to
+    // produce the vertex coordinates in object space, while the latter two
+    // columns are (s,t) values interpolated to produce the texture coordinates
+    // that correspond to the vertex coordinates.
+    static const GLfloat kVertexAttributes[16];
+
+   private:
+    GLES2Interface* const gl_;
+    const Shader shader_;
+    const GLint texture_format_;
+
+    // A program for copying a source texture into a destination texture.
+    const GLuint program_;
+
+    // The location of the position in the program.
+    GLint position_location_ = -1;
+    // The location of the texture coordinate in the program.
+    GLint texcoord_location_ = -1;
+    // The location of the source texture in the program.
+    GLint texture_location_ = -1;
+    // The location of the texture coordinate of the source rectangle in the
+    // program.
+    GLint src_rect_location_ = -1;
+    // Location of size of source image in pixels.
+    GLint src_pixelsize_location_ = -1;
+    // Location of vector for scaling ratio between source and dest textures.
+    GLint scaling_vector_location_ = -1;
+
+    DISALLOW_COPY_AND_ASSIGN(ShaderProgram);
+  };
+
   // ContextLostObserver implementation.
   void OnContextLost() final;
 
+  // Returns a cached ShaderProgram, creating one on-demand if necessary.
+  ShaderProgram* GetShaderProgram(Shader shader,
+                                  GLint texture_format,
+                                  const gfx::ColorTransform* color_transform,
+                                  const GLenum swizzle[2]);
+
   // The provider of the GL context. This is non-null while the GL context is
   // valid and GLScaler is observing for context loss.
   scoped_refptr<ContextProvider> context_provider_;
@@ -282,6 +376,13 @@
   // GetMaxDrawBuffersSupported(). -1 means "not yet known."
   mutable int max_draw_buffers_ = -1;
 
+  // Cache of ShaderPrograms. The cache key consists of fields that correspond
+  // to the arguments of GetShaderProgram(): the shader, the texture format, the
+  // source and output color spaces (color transform), and the two swizzles.
+  using ShaderCacheKey = std::
+      tuple<Shader, GLint, gfx::ColorSpace, gfx::ColorSpace, GLenum, GLenum>;
+  std::map<ShaderCacheKey, ShaderProgram> shader_programs_;
+
   DISALLOW_COPY_AND_ASSIGN(GLScaler);
 };
 
diff --git a/components/viz/common/gl_scaler_shader_pixeltest.cc b/components/viz/common/gl_scaler_shader_pixeltest.cc
new file mode 100644
index 0000000..cb84b1c8
--- /dev/null
+++ b/components/viz/common/gl_scaler_shader_pixeltest.cc
@@ -0,0 +1,687 @@
+// 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/viz/common/gl_scaler.h"
+
+#include <sstream>
+#include <tuple>
+#include <vector>
+
+#include "build/build_config.h"
+#include "cc/test/pixel_test.h"
+#include "cc/test/pixel_test_utils.h"
+#include "components/viz/common/gl_scaler_test_util.h"
+#include "components/viz/common/gpu/context_provider.h"
+#include "gpu/GLES2/gl2chromium.h"
+#include "gpu/GLES2/gl2extchromium.h"
+#include "gpu/command_buffer/client/gles2_implementation.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "third_party/skia/include/core/SkColor.h"
+#include "third_party/skia/include/core/SkImageInfo.h"
+#include "third_party/skia/include/core/SkRect.h"
+#include "ui/gfx/color_transform.h"
+
+#if defined(OS_ANDROID)
+#include "base/android/build_info.h"
+#endif
+
+namespace viz {
+
+namespace {
+
+// Base size of test images to be operated upon. Both dimensions must be
+// divisible by 2, 3, or 4.
+constexpr gfx::Size kBaseSize = gfx::Size(16 * 4 * 3, 9 * 4 * 3);
+
+}  // namespace
+
+class GLScalerShaderPixelTest
+    : public cc::PixelTest,
+      public testing::WithParamInterface<std::tuple<bool, bool>>,
+      public GLScalerTestUtil {
+ public:
+  using Axis = GLScaler::Axis;
+  using Shader = GLScaler::Shader;
+  using ShaderProgram = GLScaler::ShaderProgram;
+
+  GLScalerShaderPixelTest()
+      : scoped_trace_(
+            __FILE__,
+            __LINE__,
+            (testing::Message()
+             << "is_converting_rgb_to_yuv=" << is_converting_rgb_to_yuv()
+             << ", is_swizzling_output=" << is_swizzling_output())) {}
+
+  bool is_converting_rgb_to_yuv() const { return std::get<0>(GetParam()); }
+  bool is_swizzling_output() const { return std::get<1>(GetParam()); }
+
+  bool AreMultipleRenderingTargetsSupported() const {
+    return scaler_->GetMaxDrawBuffersSupported() > 1;
+  }
+
+  // Returns a cached ShaderProgram, maybe configured to convert RGB→YUV and/or
+  // swizzle the 1st and 3rd bytes in the output (depending on GetParams()).
+  ShaderProgram* GetShaderProgram(Shader shader) {
+    std::unique_ptr<gfx::ColorTransform> transform;
+    if (is_converting_rgb_to_yuv()) {
+      transform = gfx::ColorTransform::NewColorTransform(
+          DefaultRGBColorSpace(), DefaultYUVColorSpace(),
+          gfx::ColorTransform::Intent::INTENT_ABSOLUTE);
+    }
+    const GLenum swizzle[2] = {
+        is_swizzling_output() ? GL_BGRA_EXT : GL_RGBA,
+        is_swizzling_output() ? GL_BGRA_EXT : GL_RGBA,
+    };
+    return scaler_->GetShaderProgram(shader, GL_RGBA, transform.get(), swizzle);
+  }
+
+  GLuint CreateTexture(const gfx::Size& size) {
+    return texture_helper_->CreateTexture(size);
+  }
+
+  GLuint UploadTexture(const SkBitmap& bitmap) {
+    return texture_helper_->UploadTexture(bitmap);
+  }
+
+  SkBitmap DownloadTexture(GLuint texture, const gfx::Size& size) {
+    return texture_helper_->DownloadTexture(texture, size);
+  }
+
+  GLuint RenderToNewTexture(GLuint src_texture, const gfx::Size& size) {
+    return RenderToNewTextures(src_texture, size, false).first;
+  }
+
+  // Using the current shader program, creates new texture(s) of the given
+  // |size| and draws using |src_texture| as input. If |dual_outputs| is true,
+  // two new textures are created and drawn-to simultaneously; otherwise, only
+  // one is created and drawn-to. The caller does not take ownership of the new
+  // texture(s).
+  std::pair<GLuint, GLuint> RenderToNewTextures(GLuint src_texture,
+                                                const gfx::Size& size,
+                                                bool dual_outputs) {
+    auto dst_textures = std::make_pair<GLuint, GLuint>(
+        CreateTexture(size), dual_outputs ? CreateTexture(size) : 0u);
+    GLuint framebuffer = 0;
+    gl_->GenFramebuffers(1, &framebuffer);
+    gl_->BindFramebuffer(GL_FRAMEBUFFER, framebuffer);
+    gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
+                              GL_TEXTURE_2D, dst_textures.first, 0);
+    if (dual_outputs) {
+      gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + 1,
+                                GL_TEXTURE_2D, dst_textures.second, 0);
+    }
+
+    gl_->BindTexture(GL_TEXTURE_2D, src_texture);
+
+    gl_->Viewport(0, 0, size.width(), size.height());
+    const GLenum buffers[] = {GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT0 + 1};
+    gl_->DrawBuffersEXT(dual_outputs ? 2 : 1, buffers);
+    // Assumption: The |vertex_attributes_buffer_| created in SetUp() is
+    // currently bound to GL_ARRAY_BUFFER.
+    gl_->DrawArrays(GL_TRIANGLE_STRIP, 0, 4);
+
+    gl_->DeleteFramebuffers(1, &framebuffer);
+
+    return dst_textures;
+  }
+
+  // Returns a texture that converts the input |texture| back to unswizzled RGB,
+  // if necessary, depending on GetParam(). The caller does not take ownership
+  // of the returned texture, which could be the same texture as the input
+  // argument in some cases.
+  GLuint ConvertBackToUnswizzledRGB(GLuint texture, const gfx::Size& size) {
+    GLuint result = texture;
+    if (is_swizzling_output()) {
+      const GLenum swizzle[2] = {GL_BGRA_EXT, GL_BGRA_EXT};
+      scaler_->GetShaderProgram(Shader::BILINEAR, GL_RGBA, nullptr, swizzle)
+          ->UseProgram(size, gfx::RectF(gfx::Rect(size)), size,
+                       Axis::HORIZONTAL, false);
+      result = RenderToNewTexture(result, size);
+    }
+    if (is_converting_rgb_to_yuv()) {
+      const auto transform = gfx::ColorTransform::NewColorTransform(
+          DefaultYUVColorSpace(), DefaultRGBColorSpace(),
+          gfx::ColorTransform::Intent::INTENT_ABSOLUTE);
+      const GLenum swizzle[2] = {GL_RGBA, GL_RGBA};
+      scaler_
+          ->GetShaderProgram(Shader::BILINEAR, GL_RGBA, transform.get(),
+                             swizzle)
+          ->UseProgram(size, gfx::RectF(gfx::Rect(size)), size,
+                       Axis::HORIZONTAL, false);
+      result = RenderToNewTexture(result, size);
+    }
+    return result;
+  }
+
+  // A test case executed by RunSMPTEScalingTestCases().
+  struct SMPTEScalingTestCase {
+    gfx::Rect src_rect;    // Selects a subrect of the source.
+    int scale_from;        // Scale ratio denominator.
+    int scale_to;          // Scale ratio numerator.
+    int fuzzy_bar_border;  // Ignored pixels between color bars, when comparing.
+  };
+
+  // Draws with the given shader for each of the provided |test_cases| and adds
+  // gtest failure(s) if the output does not look like a part of the SMPTE test
+  // image.
+  void RunSMPTEScalingTestCases(
+      Shader shader,
+      const std::vector<SMPTEScalingTestCase>& test_cases) {
+    const SkBitmap source = CreateSMPTETestImage(kBaseSize);
+    const GLuint src_texture = UploadTexture(source);
+
+    for (const auto& tc : test_cases) {
+      for (int is_horizontal = 0; is_horizontal <= 1; ++is_horizontal) {
+        gfx::Size dst_size = tc.src_rect.size();
+        Axis axis;
+        if (is_horizontal) {
+          CHECK_EQ((dst_size.width() * tc.scale_to) % tc.scale_from, 0);
+          dst_size.set_width(dst_size.width() * tc.scale_to / tc.scale_from);
+          axis = Axis::HORIZONTAL;
+        } else {
+          CHECK_EQ((dst_size.height() * tc.scale_to) % tc.scale_from, 0);
+          dst_size.set_height(dst_size.height() * tc.scale_to / tc.scale_from);
+          axis = Axis::VERTICAL;
+        }
+
+        SCOPED_TRACE(testing::Message()
+                     << "src_rect=" << tc.src_rect.ToString()
+                     << ", scale from→to=" << tc.scale_from << "→"
+                     << tc.scale_to << ", dst_size=" << dst_size.ToString());
+
+        GetShaderProgram(shader)->UseProgram(kBaseSize, gfx::RectF(tc.src_rect),
+                                             dst_size, axis, false);
+        const SkBitmap actual = DownloadTexture(
+            ConvertBackToUnswizzledRGB(
+                RenderToNewTexture(src_texture, dst_size), dst_size),
+            dst_size);
+        int max_color_diff = GetMaxAllowedColorDifference();
+        if (!LooksLikeSMPTETestImage(actual, kBaseSize, tc.src_rect,
+                                     tc.fuzzy_bar_border, &max_color_diff)) {
+          ADD_FAILURE() << "Scaled image does not look like the correct scaled "
+                           "subrect of the SMPTE test image (max diff measured="
+                        << max_color_diff
+                        << "):\nActual: " << cc::GetPNGDataUrl(actual);
+        }
+      }
+    }
+  }
+
+  // Adds test failures if an |actual| image does not match the |expected|
+  // image. When not doing color space conversion, the images must match
+  // exactly; otherwise, some minor differences are allowed.
+  void ExpectAreTheSameImage(const SkBitmap& expected,
+                             const SkBitmap& actual) const {
+    const int max_color_diff = GetMaxAllowedColorDifference();
+    if (!cc::FuzzyPixelComparator(false, 100.0f, 0.0f, max_color_diff,
+                                  max_color_diff, 0)
+             .Compare(expected, actual)) {
+      ADD_FAILURE() << "Images are not similar enough (max_color_diff="
+                    << max_color_diff
+                    << "):\nExpected: " << cc::GetPNGDataUrl(expected)
+                    << "\nActual: " << cc::GetPNGDataUrl(actual);
+    }
+  }
+
+  // Draws with the given shader to downscale a "striped pattern" image by
+  // |downscale_factor| in one dimension only, and adds gtest failure(s) if the
+  // resulting image is not of the |expected_solid_color|. |cycle| specifies the
+  // colors of the stripes, which should average to |expected_solid_color|.
+  //
+  // If the shader program is correct, it should be sampling the texture halfway
+  // between each pair of stripes and then averaging the result. This means that
+  // every N pixels in the source will be averaged to one pixel in the output,
+  // creating a solid color fill as output. If the shader is sampling the
+  // texture at the wrong points, the result will be tinted and/or contain
+  // striping.
+  void RunMultiplePassBilinearTest(Shader shader,
+                                   int downscale_factor,
+                                   const std::vector<SkColor>& cycle) {
+    // Compute the expected solid fill color from the colors in |cycle|.
+    uint32_t sum_red = 0;
+    uint32_t sum_green = 0;
+    uint32_t sum_blue = 0;
+    uint32_t sum_alpha = 0;
+    for (SkColor c : cycle) {
+      sum_red += SkColorGetR(c);
+      sum_green += SkColorGetG(c);
+      sum_blue += SkColorGetB(c);
+      sum_alpha += SkColorGetA(c);
+    }
+    const float count = cycle.size();
+    // Note: Taking the rounded average for each color channel.
+    const SkColor expected_solid_color =
+        SkColorSetARGB(sum_alpha / count + 0.5f, sum_red / count + 0.5f,
+                       sum_green / count + 0.5f, sum_blue / count + 0.5f);
+
+    // Run the test for the vertical direction, and again for the horizontal
+    // direction.
+    const gfx::Rect src_rect =
+        gfx::Rect(0, 0, 10 * downscale_factor, 10 * downscale_factor);
+    for (int is_horizontal = 0; is_horizontal <= 1; ++is_horizontal) {
+      gfx::Size dst_size = src_rect.size();
+      Axis axis;
+      CyclicalPattern pattern;
+      if (is_horizontal) {
+        dst_size.set_width(dst_size.width() / downscale_factor);
+        axis = Axis::HORIZONTAL;
+        pattern = VERTICAL_STRIPES;
+      } else {
+        dst_size.set_height(dst_size.height() / downscale_factor);
+        axis = Axis::VERTICAL;
+        pattern = HORIZONTAL_STRIPES;
+      }
+
+      // Create the expected output image consisting of a solid fill color.
+      SkBitmap expected = AllocateRGBABitmap(dst_size);
+      expected.eraseColor(expected_solid_color);
+
+      // Run the test for each of N possible rotations of the |cycle| of
+      // stripes.
+      for (size_t rotation = 0; rotation < cycle.size(); ++rotation) {
+        SCOPED_TRACE(testing::Message() << "is_horizontal=" << !!is_horizontal
+                                        << ", rotation=" << rotation
+                                        << ", expected_solid_color=" << std::hex
+                                        << expected_solid_color);
+
+        const SkBitmap source =
+            CreateCyclicalTestImage(src_rect.size(), pattern, cycle, rotation);
+        const GLuint src_texture = UploadTexture(source);
+
+        // Execute the program, and convert the shader program's drawn result
+        // back to an unswizzled RGB form, and compare that with the expected
+        // image.
+        GetShaderProgram(shader)->UseProgram(
+            src_rect.size(), gfx::RectF(src_rect), dst_size, axis, false);
+        const SkBitmap actual = DownloadTexture(
+            ConvertBackToUnswizzledRGB(
+                RenderToNewTexture(src_texture, dst_size), dst_size),
+            dst_size);
+        ExpectAreTheSameImage(expected, actual);
+      }
+    }
+  }
+
+ protected:
+  void SetUp() final {
+    cc::PixelTest::SetUpGLWithoutRenderer(false);
+
+    scaler_ = std::make_unique<GLScaler>(context_provider());
+    gl_ = context_provider()->ContextGL();
+    CHECK(gl_);
+
+    // Set up vertex attributes buffer and its data.
+    gl_->GenBuffers(1, &vertex_attributes_buffer_);
+    gl_->BindBuffer(GL_ARRAY_BUFFER, vertex_attributes_buffer_);
+    gl_->BufferData(GL_ARRAY_BUFFER, sizeof(ShaderProgram::kVertexAttributes),
+                    ShaderProgram::kVertexAttributes, GL_STATIC_DRAW);
+
+    texture_helper_ = std::make_unique<GLScalerTestTextureHelper>(gl_);
+  }
+
+  void TearDown() final {
+    texture_helper_.reset();
+
+    if (vertex_attributes_buffer_) {
+      gl_->DeleteBuffers(1, &vertex_attributes_buffer_);
+      vertex_attributes_buffer_ = 0;
+    }
+
+    gl_ = nullptr;
+    scaler_.reset();
+
+    cc::PixelTest::TearDown();
+  }
+
+  // Returns the maximum allowed absolute difference between any two color
+  // values in the expected vs actual image comparisons, given the current test
+  // parameters and known platform-specific inaccuracy.
+  int GetMaxAllowedColorDifference() const {
+#if defined(OS_ANDROID)
+    // Android seems to have texture sampling and/or readback accuracy issues
+    // with these programs that are not at all seen on any of the desktop
+    // platforms. Also, versions before Marshmallow seem to have a much larger
+    // accuracy issue with a few of the programs. Thus, use higher thresholds,
+    // assuming that the programs are correct if they can pass a much lower
+    // threshold on other platforms.
+    if (base::android::BuildInfo::GetInstance()->sdk_int() <
+        base::android::SDK_VERSION_MARSHMALLOW) {
+      return (is_converting_rgb_to_yuv() || is_swizzling_output()) ? 24 : 12;
+    }
+    return (is_converting_rgb_to_yuv() || is_swizzling_output()) ? 4 : 2;
+#else
+    return (is_converting_rgb_to_yuv() || is_swizzling_output()) ? 2 : 0;
+#endif
+  }
+
+  testing::ScopedTrace scoped_trace_;
+  std::unique_ptr<GLScaler> scaler_;
+  gpu::gles2::GLES2Interface* gl_ = nullptr;
+  GLuint vertex_attributes_buffer_ = 0;
+  std::unique_ptr<GLScalerTestTextureHelper> texture_helper_;
+};
+
+// As the BILINEAR shader is used by some of the test helpers, this test is
+// necessary to ensure the correctness of the tools used by all the other tests.
+TEST_P(GLScalerShaderPixelTest, ValidateTestHelpers) {
+  // Create/validate a SMPTE color bar test image.
+  const SkBitmap original = CreateSMPTETestImage(kBaseSize);
+  int max_color_diff = GetMaxAllowedColorDifference();
+  ASSERT_TRUE(LooksLikeSMPTETestImage(original, kBaseSize, gfx::Rect(kBaseSize),
+                                      0, &max_color_diff))
+      << "max diff measured=" << max_color_diff;
+
+  // Create and upload a test image that has had RGB→YUV conversion performed
+  // and/or had its color channels swizzled, depending on the testing params.
+  SkBitmap image = CreateSMPTETestImage(kBaseSize);
+  if (is_converting_rgb_to_yuv()) {
+    ConvertBitmapToYUV(&image);
+  }
+  if (is_swizzling_output()) {
+    SwizzleBitmap(&image);
+  }
+  const GLuint uploaded_texture = UploadTexture(image);
+
+  // Use the convert-back helper, which uses the BILINEAR shader to convert the
+  // |uploaded_texture| back to an unswizzled RGB form. Then, download the
+  // result and check whether it matches the original.
+  const gfx::Size size(image.width(), image.height());
+  const GLuint converted_back_texture =
+      ConvertBackToUnswizzledRGB(uploaded_texture, size);
+  const SkBitmap actual = DownloadTexture(converted_back_texture, size);
+  ExpectAreTheSameImage(original, actual);
+}
+
+// Tests the default, one-pass bilinear shader which can upscale or downscale by
+// up to 2X.
+TEST_P(GLScalerShaderPixelTest, Bilinear) {
+  constexpr gfx::Rect whole = gfx::Rect(kBaseSize);
+  constexpr gfx::Rect quadrant =
+      gfx::Rect(kBaseSize.width() / 2, kBaseSize.height() / 2,
+                kBaseSize.width() / 2, kBaseSize.height() / 2);
+  const std::vector<SMPTEScalingTestCase> kTestCases = {
+      // No scaling.
+      {whole, 1, 1, 0},
+      // Downscale by half.
+      {whole, 2, 1, 1},
+      // Upscale by 1.5.
+      {whole, 2, 3, 1},
+      // No scaling; lower-right quadrant only.
+      {quadrant, 1, 1, 0},
+      // Downscale by half; lower-right quadrant only.
+      {quadrant, 2, 1, 1},
+      // Upscale by 1.5; lower-right quadrant only.
+      {quadrant, 2, 3, 1},
+  };
+
+  RunSMPTEScalingTestCases(Shader::BILINEAR, kTestCases);
+}
+
+// Test the 2-tap bilinear shader, which downscales by 4X in one dimension.
+TEST_P(GLScalerShaderPixelTest, TwoTapBilinear) {
+  RunMultiplePassBilinearTest(Shader::BILINEAR2, 4,
+                              {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0xff, 0x00, 0x00, 0xff)});
+}
+
+// Test the 3-tap bilinear shader, which downscales by 6X in one dimension.
+TEST_P(GLScalerShaderPixelTest, ThreeTapBilinear) {
+  RunMultiplePassBilinearTest(Shader::BILINEAR3, 6,
+                              {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                               SkColorSetARGB(0xbf, 0x00, 0x80, 0xff),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0xbf, 0xff, 0x80, 0x00),
+                               SkColorSetARGB(0xff, 0x00, 0x00, 0xff)});
+}
+
+// Test the 4-tap bilinear shader, which downscales by 8X in one dimension.
+TEST_P(GLScalerShaderPixelTest, FourTapBilinear) {
+  RunMultiplePassBilinearTest(Shader::BILINEAR4, 8,
+                              {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0xff, 0x00, 0x00, 0xff),
+                               SkColorSetARGB(0xff, 0xff, 0xff, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x80),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x80),
+                               SkColorSetARGB(0xff, 0xff, 0x00, 0xff)});
+}
+
+// Test the 2-by-2-tap bilinear shader, which downscales by 4X in both
+// dimensions at the same time.
+TEST_P(GLScalerShaderPixelTest, TwoByTwoTapBilinear) {
+  RunMultiplePassBilinearTest(Shader::BILINEAR2X2, 4,
+                              {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0x7f, 0x00, 0x80, 0x00),
+                               SkColorSetARGB(0xff, 0x00, 0x00, 0xff)});
+}
+
+// Tests the bicubic upscaler for a variety of scaling factors between 1X and
+// 2X, and over the entire source texture versus just its lower-right quadrant.
+TEST_P(GLScalerShaderPixelTest, BicubicUpscale) {
+  constexpr gfx::Rect whole = gfx::Rect(kBaseSize);
+  constexpr gfx::Rect quadrant =
+      gfx::Rect(kBaseSize.width() / 2, kBaseSize.height() / 2,
+                kBaseSize.width() / 2, kBaseSize.height() / 2);
+  const std::vector<SMPTEScalingTestCase> kTestCases = {
+      // No scaling.
+      {whole, 1, 1, 0},
+      // Upscale by 4/3.
+      {whole, 3, 4, 3},
+      // Upscale by 3/2.
+      {whole, 2, 3, 3},
+      // Upscale by 2X.
+      {whole, 1, 2, 3},
+      // No scaling; lower-right quadrant only.
+      {quadrant, 1, 1, 0},
+      // Upscale by 4/3.
+      {quadrant, 3, 4, 3},
+      // Upscale by 3/2.
+      {quadrant, 2, 3, 3},
+      // Upscale by 2X.
+      {quadrant, 1, 2, 3},
+  };
+
+  RunSMPTEScalingTestCases(Shader::BICUBIC_UPSCALE, kTestCases);
+}
+
+// Tests the bicubic half-downscaler, both over an entire source texture and
+// over just its lower-right quadrant.
+TEST_P(GLScalerShaderPixelTest, BicubicDownscaleByHalf) {
+  constexpr gfx::Rect whole = gfx::Rect(kBaseSize);
+  constexpr gfx::Rect quadrant =
+      gfx::Rect(kBaseSize.width() / 2, kBaseSize.height() / 2,
+                kBaseSize.width() / 2, kBaseSize.height() / 2);
+  const std::vector<SMPTEScalingTestCase> kTestCases = {
+      // Downscale by half.
+      {whole, 2, 1, 2},
+      // Downscale by half; lower-right quadrant only.
+      {quadrant, 2, 1, 2},
+  };
+
+  RunSMPTEScalingTestCases(Shader::BICUBIC_HALF_1D, kTestCases);
+}
+
+// Tests the shaders that read a normal 4-channel interleaved texture and
+// produce a planar texture consisting of just one color channel, packed into
+// RGBA quads.
+TEST_P(GLScalerShaderPixelTest, Export_Planar) {
+  const std::vector<SkColor> kCycle = {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                                       SkColorSetARGB(0x80, 0x00, 0x80, 0x00),
+                                       SkColorSetARGB(0x80, 0x00, 0x80, 0x00),
+                                       SkColorSetARGB(0xff, 0x00, 0x00, 0xff)};
+  SkBitmap source = CreateCyclicalTestImage(kBaseSize, STAGGERED, kCycle, 0);
+  const GLuint src_texture = UploadTexture(source);
+
+  // For each channel, create an expected bitmap and compare it to the result
+  // from drawing with the shader program.
+  if (is_converting_rgb_to_yuv()) {
+    ConvertBitmapToYUV(&source);
+  }
+  for (int channel = 0; channel <= 3; ++channel) {
+    SkBitmap expected = CreatePackedPlanarBitmap(source, channel);
+    if (is_swizzling_output()) {
+      SwizzleBitmap(&expected);
+    }
+
+    const Shader shader = static_cast<Shader>(
+        static_cast<int>(Shader::PLANAR_CHANNEL_0) + channel);
+    const gfx::Size dst_size(kBaseSize.width() / 4, kBaseSize.height());
+    GetShaderProgram(shader)->UseProgram(kBaseSize,
+                                         gfx::RectF(gfx::Rect(kBaseSize)),
+                                         dst_size, Axis::HORIZONTAL, false);
+    const SkBitmap actual =
+        DownloadTexture(RenderToNewTexture(src_texture, dst_size), dst_size);
+    ExpectAreTheSameImage(expected, actual);
+  }
+}
+
+// Tests that the I422/NV61 formatter shader program produces a planar texture
+// and an interleaved half-width texture from a normal 4-channel interleaved
+// texture. See gl_shader.h for more specifics.
+TEST_P(GLScalerShaderPixelTest, Export_I422_NV61) {
+  if (!AreMultipleRenderingTargetsSupported()) {
+    LOG(WARNING) << "Skipping test due to lack of MRT support on this machine.";
+    return;
+  }
+
+  // Use a vertical stripes source image/texture to test that the shader is
+  // sampling the texture at the correct points and performing
+  // downscale-blending in the second texture.
+  const std::vector<SkColor> kCycle = {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                                       SkColorSetARGB(0x80, 0x00, 0x80, 0x00),
+                                       SkColorSetARGB(0x80, 0x00, 0x80, 0x00),
+                                       SkColorSetARGB(0xff, 0x00, 0x00, 0xff)};
+  SkBitmap source =
+      CreateCyclicalTestImage(kBaseSize, VERTICAL_STRIPES, kCycle, 0);
+  const GLuint src_texture = UploadTexture(source);
+
+  // Create the expected output images: The first (A) is simply the first color
+  // channel of the source packed into a planar format. The second (BC) consists
+  // of the second and third color channels downscaled by half and interleaved.
+  // The following can be considered a reference implementation for what the
+  // shader program is supposed to do.
+  if (is_converting_rgb_to_yuv()) {
+    ConvertBitmapToYUV(&source);
+  }
+  SkBitmap expected_a = CreatePackedPlanarBitmap(source, 0);
+  if (is_swizzling_output()) {
+    SwizzleBitmap(&expected_a);
+  }
+  const gfx::Size dst_size(expected_a.width(), expected_a.height());
+  SkBitmap expected_bc = AllocateRGBABitmap(dst_size);
+  for (int y = 0; y < dst_size.height(); ++y) {
+    const uint32_t* const src = source.getAddr32(0, y);
+    uint32_t* const dst_bc = expected_bc.getAddr32(0, y);
+    for (int x = 0; x < dst_size.width(); ++x) {
+      //     (src[0..3])        (dst_bc)
+      // RGBA RGBA rgba rgba --> GBgb     (e.g, two G's blended into one G)
+      const uint32_t g01 = ((((src[x * 4 + 0] >> kGreenShift) & 0xff) +
+                             ((src[x * 4 + 1] >> kGreenShift) & 0xff)) /
+                                2.f +
+                            0.5f);
+      const uint32_t b01 = ((((src[x * 4 + 0] >> kBlueShift) & 0xff) +
+                             ((src[x * 4 + 1] >> kBlueShift) & 0xff)) /
+                                2.f +
+                            0.5f);
+      const uint32_t g23 = ((((src[x * 4 + 2] >> kGreenShift) & 0xff) +
+                             ((src[x * 4 + 3] >> kGreenShift) & 0xff)) /
+                                2.f +
+                            0.5f);
+      const uint32_t b23 = ((((src[x * 4 + 2] >> kBlueShift) & 0xff) +
+                             ((src[x * 4 + 3] >> kBlueShift) & 0xff)) /
+                                2.f +
+                            0.5f);
+      dst_bc[x] = ((g01 << kRedShift) | (b01 << kGreenShift) |
+                   (g23 << kBlueShift) | (b23 << kAlphaShift));
+    }
+  }
+  if (is_swizzling_output()) {
+    SwizzleBitmap(&expected_bc);
+  }
+
+  // Execute the program, and compare the shader program's drawn result with the
+  // expected images.
+  GetShaderProgram(Shader::I422_NV61_MRT)
+      ->UseProgram(kBaseSize, gfx::RectF(gfx::Rect(kBaseSize)), dst_size,
+                   Axis::HORIZONTAL, false);
+  const auto textures = RenderToNewTextures(src_texture, dst_size, true);
+  const SkBitmap actual_a = DownloadTexture(textures.first, dst_size);
+  ExpectAreTheSameImage(expected_a, actual_a);
+  const SkBitmap actual_bc = DownloadTexture(textures.second, dst_size);
+  ExpectAreTheSameImage(expected_bc, actual_bc);
+}
+
+// Tests the pairwise-deinterleave shader program that produces two planar
+// textures from a single interleaved one.
+TEST_P(GLScalerShaderPixelTest, Export_PairwiseDeinterleave) {
+  if (!AreMultipleRenderingTargetsSupported()) {
+    LOG(WARNING) << "Skipping test due to lack of MRT support on this machine.";
+    return;
+  }
+
+  // This shader does not provide color space conversion. It is just a
+  // demultiplexer/repackager.
+  if (is_converting_rgb_to_yuv()) {
+    return;
+  }
+
+  // Create a source image/texture with a pattern suitable for ensuring the
+  // shader is sampling the texture at the correct points.
+  const std::vector<SkColor> kCycle = {SkColorSetARGB(0xff, 0xff, 0x00, 0x00),
+                                       SkColorSetARGB(0xc0, 0x00, 0xc0, 0x00),
+                                       SkColorSetARGB(0x80, 0x00, 0x00, 0x80),
+                                       SkColorSetARGB(0xff, 0xff, 0xff, 0xff)};
+  const SkBitmap source =
+      CreateCyclicalTestImage(kBaseSize, STAGGERED, kCycle, 0);
+  const GLuint src_texture = UploadTexture(source);
+
+  // Create the expected pair of planar images.
+  const gfx::Size dst_size(kBaseSize.width() / 2, kBaseSize.height());
+  SkBitmap expected_a = AllocateRGBABitmap(dst_size);
+  SkBitmap expected_b = AllocateRGBABitmap(dst_size);
+  for (int y = 0; y < dst_size.height(); ++y) {
+    const uint32_t* const src = source.getAddr32(0, y);
+    uint32_t* const dst_a = expected_a.getAddr32(0, y);
+    uint32_t* const dst_b = expected_b.getAddr32(0, y);
+    for (int x = 0; x < dst_size.width(); ++x) {
+      //   (src)       (dst_a) (dst_b)
+      // ABAB abab --> { AAaa + BBbb }
+      dst_a[x] = ((((src[x * 2 + 0] >> kRedShift) & 0xff) << kRedShift) |
+                  (((src[x * 2 + 0] >> kBlueShift) & 0xff) << kGreenShift) |
+                  (((src[x * 2 + 1] >> kRedShift) & 0xff) << kBlueShift) |
+                  (((src[x * 2 + 1] >> kBlueShift) & 0xff) << kAlphaShift));
+      dst_b[x] = ((((src[x * 2 + 0] >> kGreenShift) & 0xff) << kRedShift) |
+                  (((src[x * 2 + 0] >> kAlphaShift) & 0xff) << kGreenShift) |
+                  (((src[x * 2 + 1] >> kGreenShift) & 0xff) << kBlueShift) |
+                  (((src[x * 2 + 1] >> kAlphaShift) & 0xff) << kAlphaShift));
+    }
+  }
+  if (is_swizzling_output()) {
+    SwizzleBitmap(&expected_a);
+    SwizzleBitmap(&expected_b);
+  }
+
+  // Execute the program, and compare the shader program's drawn result with the
+  // expected images.
+  GetShaderProgram(Shader::DEINTERLEAVE_PAIRWISE_MRT)
+      ->UseProgram(kBaseSize, gfx::RectF(gfx::Rect(kBaseSize)), dst_size,
+                   Axis::HORIZONTAL, false);
+  const auto textures = RenderToNewTextures(src_texture, dst_size, true);
+  const SkBitmap actual_a = DownloadTexture(textures.first, dst_size);
+  ExpectAreTheSameImage(expected_a, actual_a);
+  const SkBitmap actual_b = DownloadTexture(textures.second, dst_size);
+  ExpectAreTheSameImage(expected_b, actual_b);
+}
+
+INSTANTIATE_TEST_CASE_P(,
+                        GLScalerShaderPixelTest,
+                        testing::Combine(testing::Bool(), testing::Bool()));
+
+}  // namespace viz
diff --git a/components/viz/common/gl_scaler_test_util.cc b/components/viz/common/gl_scaler_test_util.cc
new file mode 100644
index 0000000..a706e82
--- /dev/null
+++ b/components/viz/common/gl_scaler_test_util.cc
@@ -0,0 +1,362 @@
+// 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/viz/common/gl_scaler_test_util.h"
+
+#include <algorithm>
+#include <cmath>
+
+#include "base/logging.h"
+#include "third_party/skia/include/core/SkColor.h"
+#include "third_party/skia/include/core/SkImageInfo.h"
+#include "ui/gfx/geometry/rect.h"
+
+namespace viz {
+
+using ColorBar = GLScalerTestUtil::ColorBar;
+
+// static
+SkBitmap GLScalerTestUtil::AllocateRGBABitmap(const gfx::Size& size) {
+  SkBitmap bitmap;
+  bitmap.allocPixels(SkImageInfo::Make(size.width(), size.height(),
+                                       kRGBA_8888_SkColorType,
+                                       kUnpremul_SkAlphaType));
+  return bitmap;
+}
+
+// static
+uint8_t GLScalerTestUtil::ToClamped255(float value) {
+  value = std::fma(value, 255.0f, 0.5f /* rounding */);
+  return base::saturated_cast<uint8_t>(value);
+}
+
+// static
+std::vector<ColorBar> GLScalerTestUtil::GetScaledSMPTEColorBars(
+    const gfx::Size& size) {
+  std::vector<ColorBar> rects;
+  const SkScalar scale_x =
+      static_cast<SkScalar>(size.width()) / kSMPTEFullSize.width();
+  const SkScalar scale_y =
+      static_cast<SkScalar>(size.height()) / kSMPTEFullSize.height();
+  for (const auto& cr : kSMPTEColorBars) {
+    const SkRect rect =
+        SkRect{cr.rect.fLeft * scale_x, cr.rect.fTop * scale_y,
+               cr.rect.fRight * scale_x, cr.rect.fBottom * scale_y};
+    rects.push_back(ColorBar{rect.round(), cr.color});
+  }
+  return rects;
+}
+
+// static
+SkBitmap GLScalerTestUtil::CreateSMPTETestImage(const gfx::Size& size) {
+  SkBitmap result = AllocateRGBABitmap(size);
+
+  // Set all pixels to a color that should not exist in the result. Later, a
+  // sanity-check will ensure all pixels have been overwritten.
+  constexpr SkColor kDeadColor = SkColorSetARGB(0xde, 0xad, 0xbe, 0xef);
+  result.eraseColor(kDeadColor);
+
+  // Set the pixels corresponding to each color bar.
+  for (const auto& cr : GetScaledSMPTEColorBars(size)) {
+    result.erase(cr.color, cr.rect);
+  }
+
+  // Validate that every pixel in the result bitmap has been touched by one of
+  // the color bars.
+  for (int y = 0; y < result.height(); ++y) {
+    for (int x = 0; x < result.width(); ++x) {
+      if (result.getColor(x, y) == kDeadColor) {
+        NOTREACHED() << "TEST BUG: Error creating SMPTE test image. Bad size ("
+                     << size.ToString() << ")?";
+        return result;
+      }
+    }
+  }
+
+  return result;
+}
+
+// static
+bool GLScalerTestUtil::LooksLikeSMPTETestImage(const SkBitmap& image,
+                                               const gfx::Size& src_size,
+                                               const gfx::Rect& src_rect,
+                                               int fuzzy_pixels,
+                                               int* max_color_diff) {
+  if (image.width() <= 0 || image.height() <= 0) {
+    return false;
+  }
+
+  const SkScalar offset_x = static_cast<SkScalar>(src_rect.x());
+  const SkScalar offset_y = static_cast<SkScalar>(src_rect.y());
+  const SkScalar scale_x =
+      static_cast<SkScalar>(image.width()) / src_rect.width();
+  const SkScalar scale_y =
+      static_cast<SkScalar>(image.height()) / src_rect.height();
+  int measured_max_diff = 0;
+  for (const auto& cr : GetScaledSMPTEColorBars(src_size)) {
+    const SkIRect offset_rect = cr.rect.makeOffset(-offset_x, -offset_y);
+    const SkIRect rect =
+        SkRect{offset_rect.fLeft * scale_x, offset_rect.fTop * scale_y,
+               offset_rect.fRight * scale_x, offset_rect.fBottom * scale_y}
+            .round()
+            .makeInset(fuzzy_pixels, fuzzy_pixels);
+    for (int y = std::max(0, rect.fTop),
+             y_end = std::min(image.height(), rect.fBottom);
+         y < y_end; ++y) {
+      for (int x = std::max(0, rect.fLeft),
+               x_end = std::min(image.width(), rect.fRight);
+           x < x_end; ++x) {
+        const SkColor actual = image.getColor(x, y);
+        measured_max_diff =
+            std::max({measured_max_diff,
+                      std::abs(static_cast<int>(SkColorGetR(cr.color)) -
+                               static_cast<int>(SkColorGetR(actual))),
+                      std::abs(static_cast<int>(SkColorGetG(cr.color)) -
+                               static_cast<int>(SkColorGetG(actual))),
+                      std::abs(static_cast<int>(SkColorGetB(cr.color)) -
+                               static_cast<int>(SkColorGetB(actual))),
+                      std::abs(static_cast<int>(SkColorGetA(cr.color)) -
+                               static_cast<int>(SkColorGetA(actual)))});
+      }
+    }
+  }
+
+  if (max_color_diff) {
+    const int threshold = *max_color_diff;
+    *max_color_diff = measured_max_diff;
+    return measured_max_diff <= threshold;
+  }
+  return measured_max_diff == 0;
+}
+
+// static
+SkBitmap GLScalerTestUtil::CreateCyclicalTestImage(
+    const gfx::Size& size,
+    CyclicalPattern pattern,
+    const std::vector<SkColor>& cycle,
+    size_t rotation) {
+  CHECK(!cycle.empty());
+
+  // Map SkColors to RGBA data. Also, applies the cycle |rotation| to simplify
+  // the rest of the code below.
+  std::vector<uint32_t> cycle_as_rgba(cycle.size());
+  for (size_t i = 0; i < cycle.size(); ++i) {
+    const SkColor color = cycle[(i + rotation) % cycle.size()];
+    cycle_as_rgba[i] = ((SkColorGetR(color) << kRedShift) |
+                        (SkColorGetG(color) << kGreenShift) |
+                        (SkColorGetB(color) << kBlueShift) |
+                        (SkColorGetA(color) << kAlphaShift));
+  }
+
+  SkBitmap result = AllocateRGBABitmap(size);
+  switch (pattern) {
+    case HORIZONTAL_STRIPES:
+      for (int y = 0; y < size.height(); ++y) {
+        uint32_t* const pixels = result.getAddr32(0, y);
+        const uint32_t stripe_rgba = cycle_as_rgba[y % cycle_as_rgba.size()];
+        for (int x = 0; x < size.width(); ++x) {
+          pixels[x] = stripe_rgba;
+        }
+      }
+      break;
+
+    case VERTICAL_STRIPES:
+      for (int y = 0; y < size.height(); ++y) {
+        uint32_t* const pixels = result.getAddr32(0, y);
+        for (int x = 0; x < size.width(); ++x) {
+          pixels[x] = cycle_as_rgba[x % cycle_as_rgba.size()];
+        }
+      }
+      break;
+
+    case STAGGERED:
+      for (int y = 0; y < size.height(); ++y) {
+        uint32_t* const pixels = result.getAddr32(0, y);
+        for (int x = 0; x < size.width(); ++x) {
+          pixels[x] = cycle_as_rgba[(x + y) % cycle_as_rgba.size()];
+        }
+      }
+      break;
+  }
+
+  return result;
+}
+
+// static
+gfx::ColorSpace GLScalerTestUtil::DefaultRGBColorSpace() {
+  return gfx::ColorSpace::CreateSRGB();
+}
+
+// static
+gfx::ColorSpace GLScalerTestUtil::DefaultYUVColorSpace() {
+  return gfx::ColorSpace::CreateREC709();
+}
+
+// static
+void GLScalerTestUtil::ConvertBitmapToYUV(SkBitmap* image) {
+  const auto transform = gfx::ColorTransform::NewColorTransform(
+      DefaultRGBColorSpace(), DefaultYUVColorSpace(),
+      gfx::ColorTransform::Intent::INTENT_ABSOLUTE);
+
+  // Loop, transforming one row of pixels at a time.
+  std::vector<gfx::ColorTransform::TriStim> stims(image->width());
+  for (int y = 0; y < image->height(); ++y) {
+    uint32_t* const pixels = image->getAddr32(0, y);
+    for (int x = 0; x < image->width(); ++x) {
+      stims[x].set_x(((pixels[x] >> kRedShift) & 0xff) / 255.0f);
+      stims[x].set_y(((pixels[x] >> kGreenShift) & 0xff) / 255.0f);
+      stims[x].set_z(((pixels[x] >> kBlueShift) & 0xff) / 255.0f);
+    }
+    transform->Transform(stims.data(), stims.size());
+    for (int x = 0; x < image->width(); ++x) {
+      pixels[x] = ((ToClamped255(stims[x].x()) << kRedShift) |
+                   (ToClamped255(stims[x].y()) << kGreenShift) |
+                   (ToClamped255(stims[x].z()) << kBlueShift) |
+                   (((pixels[x] >> kAlphaShift) & 0xff) << kAlphaShift));
+    }
+  }
+}
+
+// static
+void GLScalerTestUtil::SwizzleBitmap(SkBitmap* image) {
+  for (int y = 0; y < image->height(); ++y) {
+    uint32_t* const pixels = image->getAddr32(0, y);
+    for (int x = 0; x < image->width(); ++x) {
+      pixels[x] = ((((pixels[x] >> kBlueShift) & 0xff) << kRedShift) |
+                   (((pixels[x] >> kGreenShift) & 0xff) << kGreenShift) |
+                   (((pixels[x] >> kRedShift) & 0xff) << kBlueShift) |
+                   (((pixels[x] >> kAlphaShift) & 0xff) << kAlphaShift));
+    }
+  }
+}
+
+// static
+SkBitmap GLScalerTestUtil::CreatePackedPlanarBitmap(const SkBitmap& source,
+                                                    int channel) {
+  CHECK_EQ(source.width() % 4, 0);
+  SkBitmap result =
+      AllocateRGBABitmap(gfx::Size(source.width() / 4, source.height()));
+
+  constexpr int kShiftForChannel[4] = {kRedShift, kGreenShift, kBlueShift,
+                                       kAlphaShift};
+  const int shift = kShiftForChannel[channel];
+  for (int y = 0; y < result.height(); ++y) {
+    const uint32_t* const src = source.getAddr32(0, y);
+    uint32_t* const dst = result.getAddr32(0, y);
+    for (int x = 0; x < result.width(); ++x) {
+      //     (src[0..3])         (dst)
+      // RGBA RGBA RGBA RGBA --> RRRR   (if channel is 0)
+      dst[x] = ((((src[x * 4 + 0] >> shift) & 0xff) << kRedShift) |
+                (((src[x * 4 + 1] >> shift) & 0xff) << kGreenShift) |
+                (((src[x * 4 + 2] >> shift) & 0xff) << kBlueShift) |
+                (((src[x * 4 + 3] >> shift) & 0xff) << kAlphaShift));
+    }
+  }
+  return result;
+}
+
+// The area and color of the bars in a 1920x1080 HD SMPTE color bars test image
+// (https://commons.wikimedia.org/wiki/File:SMPTE_Color_Bars_16x9.svg). The gray
+// linear gradient bar is defined as half solid 0-level black and half solid
+// full-intensity white).
+const ColorBar GLScalerTestUtil::kSMPTEColorBars[30] = {
+    {{0, 0, 240, 630}, SkColorSetRGB(0x66, 0x66, 0x66)},
+    {{240, 0, 445, 630}, SkColorSetRGB(0xbf, 0xbf, 0xbf)},
+    {{445, 0, 651, 630}, SkColorSetRGB(0xbf, 0xbf, 0x00)},
+    {{651, 0, 857, 630}, SkColorSetRGB(0x00, 0xbf, 0xbf)},
+    {{857, 0, 1063, 630}, SkColorSetRGB(0x00, 0xbf, 0x00)},
+    {{1063, 0, 1269, 630}, SkColorSetRGB(0xbf, 0x00, 0xbf)},
+    {{1269, 0, 1475, 630}, SkColorSetRGB(0xbf, 0x00, 0x00)},
+    {{1475, 0, 1680, 630}, SkColorSetRGB(0x00, 0x00, 0xbf)},
+    {{1680, 0, 1920, 630}, SkColorSetRGB(0x66, 0x66, 0x66)},
+    {{0, 630, 240, 720}, SkColorSetRGB(0x00, 0xff, 0xff)},
+    {{240, 630, 445, 720}, SkColorSetRGB(0x00, 0x21, 0x4c)},
+    {{445, 630, 1680, 720}, SkColorSetRGB(0xbf, 0xbf, 0xbf)},
+    {{1680, 630, 1920, 720}, SkColorSetRGB(0x00, 0x00, 0xff)},
+    {{0, 720, 240, 810}, SkColorSetRGB(0xff, 0xff, 0x00)},
+    {{240, 720, 445, 810}, SkColorSetRGB(0x32, 0x00, 0x6a)},
+    {{445, 720, 1063, 810}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{1063, 720, 1680, 810}, SkColorSetRGB(0xff, 0xff, 0xff)},
+    {{1680, 720, 1920, 810}, SkColorSetRGB(0xff, 0x00, 0x00)},
+    {{0, 810, 240, 1080}, SkColorSetRGB(0x26, 0x26, 0x26)},
+    {{240, 810, 549, 1080}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{549, 810, 960, 1080}, SkColorSetRGB(0xff, 0xff, 0xff)},
+    {{960, 810, 1131, 1080}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{1131, 810, 1200, 1080}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{1200, 810, 1268, 1080}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{1268, 810, 1337, 1080}, SkColorSetRGB(0x05, 0x05, 0x05)},
+    {{1337, 810, 1405, 1080}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{1405, 810, 1474, 1080}, SkColorSetRGB(0x0a, 0x0a, 0x0a)},
+    {{1474, 810, 1680, 1080}, SkColorSetRGB(0x00, 0x00, 0x00)},
+    {{1680, 810, 1920, 1080}, SkColorSetRGB(0x26, 0x26, 0x26)},
+};
+
+constexpr gfx::Size GLScalerTestUtil::kSMPTEFullSize;
+
+GLScalerTestTextureHelper::GLScalerTestTextureHelper(
+    gpu::gles2::GLES2Interface* gl)
+    : gl_(gl) {
+  CHECK(gl_);
+}
+
+GLScalerTestTextureHelper::~GLScalerTestTextureHelper() {
+  gl_->DeleteTextures(textures_to_delete_.size(), textures_to_delete_.data());
+  textures_to_delete_.clear();
+}
+
+GLuint GLScalerTestTextureHelper::CreateTexture(const gfx::Size& size) {
+  GLuint texture = 0;
+  gl_->GenTextures(1, &texture);
+  gl_->BindTexture(GL_TEXTURE_2D, texture);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+  gl_->TexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size.width(), size.height(), 0,
+                  GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
+  gl_->BindTexture(GL_TEXTURE_2D, 0);
+
+  if (texture) {
+    textures_to_delete_.push_back(texture);
+  }
+
+  return texture;
+}
+
+GLuint GLScalerTestTextureHelper::UploadTexture(const SkBitmap& bitmap) {
+  CHECK_EQ(bitmap.colorType(), kRGBA_8888_SkColorType);
+
+  GLuint texture = 0;
+  gl_->GenTextures(1, &texture);
+  gl_->BindTexture(GL_TEXTURE_2D, texture);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+  gl_->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+  gl_->TexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, bitmap.width(), bitmap.height(), 0,
+                  GL_RGBA, GL_UNSIGNED_BYTE, bitmap.getAddr32(0, 0));
+  gl_->BindTexture(GL_TEXTURE_2D, 0);
+
+  if (texture) {
+    textures_to_delete_.push_back(texture);
+  }
+
+  return texture;
+}
+
+SkBitmap GLScalerTestTextureHelper::DownloadTexture(GLuint texture,
+                                                    const gfx::Size& size) {
+  GLuint framebuffer = 0;
+  gl_->GenFramebuffers(1, &framebuffer);
+  gl_->BindFramebuffer(GL_FRAMEBUFFER, framebuffer);
+  gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D,
+                            texture, 0);
+  SkBitmap result = GLScalerTestUtil::AllocateRGBABitmap(size);
+  gl_->ReadPixels(0, 0, size.width(), size.height(), GL_RGBA, GL_UNSIGNED_BYTE,
+                  result.getAddr32(0, 0));
+  gl_->DeleteFramebuffers(1, &framebuffer);
+  return result;
+}
+
+}  // namespace viz
diff --git a/components/viz/common/gl_scaler_test_util.h b/components/viz/common/gl_scaler_test_util.h
new file mode 100644
index 0000000..3c4e47e
--- /dev/null
+++ b/components/viz/common/gl_scaler_test_util.h
@@ -0,0 +1,154 @@
+// 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_VIZ_COMMON_GL_SCALER_TEST_UTIL_H_
+#define COMPONENTS_VIZ_COMMON_GL_SCALER_TEST_UTIL_H_
+
+#include <stdint.h>
+
+#include <vector>
+
+#include "base/macros.h"
+#include "gpu/command_buffer/client/gles2_interface.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "third_party/skia/include/core/SkColor.h"
+#include "third_party/skia/include/core/SkRect.h"
+#include "ui/gfx/color_space.h"
+#include "ui/gfx/color_transform.h"
+#include "ui/gfx/geometry/size.h"
+
+namespace gfx {
+class Rect;
+}
+
+namespace viz {
+
+// A collection of utility functions used in the GLScaler-related pixel tests.
+class GLScalerTestUtil {
+ public:
+  struct ColorBar {
+    SkIRect rect;
+    SkColor color;
+  };
+
+  // The patterns that can be created by CreateCyclicalTestImage().
+  enum CyclicalPattern {
+    HORIZONTAL_STRIPES,
+    VERTICAL_STRIPES,
+    STAGGERED,
+  };
+
+  // Returns an SkBitmap with pixels allocated, having a RGBA format with
+  // unpremultiplied alpha.
+  static SkBitmap AllocateRGBABitmap(const gfx::Size& size);
+
+  // Returns a |value| in the range [0.0,1.0] as an unsigned integer in the
+  // range [0,255].
+  static uint8_t ToClamped255(float value);
+
+  // Return the SMPTE color bars that make up a test image, scaled to an image
+  // of the given |size|.
+  static std::vector<ColorBar> GetScaledSMPTEColorBars(const gfx::Size& size);
+
+  // Create a SMPTE color bar test image, scaled to the given |size|.
+  static SkBitmap CreateSMPTETestImage(const gfx::Size& size);
+
+  // Returns true if the given |image| looks similar-enough to a scaled version
+  // of a SMPTE color bar test image that was originally of |src_size| and
+  // cropped to |src_rect|. |fuzzy_pixels| is used to ignore a border of pixels
+  // surrounding each color bar, since the scaling algorithms may blend
+  // in-between colors where the bars touch. |max_color_diff| controls what
+  // "similar-enough" means: 0 for "exact," or otherwise some positive value
+  // specifying the maximum color value difference; and is updated with the
+  // the actual maximum.
+  static bool LooksLikeSMPTETestImage(const SkBitmap& image,
+                                      const gfx::Size& src_size,
+                                      const gfx::Rect& src_rect,
+                                      int fuzzy_pixels,
+                                      int* max_color_diff);
+
+  // Returns an image of the given |size| with the colors in |cycle| used to
+  // generate a striped or staggered |pattern|. |rotation| specifies which index
+  // in the |cycle| to start with.
+  static SkBitmap CreateCyclicalTestImage(const gfx::Size& size,
+                                          CyclicalPattern pattern,
+                                          const std::vector<SkColor>& cycle,
+                                          size_t rotation);
+
+  // Returns the RGB/YUV color spaces used by default when color space
+  // conversion is requested.
+  static gfx::ColorSpace DefaultRGBColorSpace();
+  static gfx::ColorSpace DefaultYUVColorSpace();
+
+  // Performs an in-place transform of the given |image| from
+  // DefaultRGBColorSpace() to DefaultYUVColorSpace(). The color channels (plus
+  // one alpha) remain interleaved (i.e., no pixel blending or format transform
+  // is being done).
+  static void ConvertBitmapToYUV(SkBitmap* image);
+
+  // Performs an in-place swizzling of the red and blue color channels in the
+  // given |image|.
+  static void SwizzleBitmap(SkBitmap* image);
+
+  // Returns a bitmap consisting of one color channel from every 4 pixels in a
+  // |source| bitmap packed into a single quad. Thus, the resulting bitmap will
+  // have 1/4 the width of the source bitmap. This is used to create the
+  // expected output of the single-channel export shaders, and thus can be
+  // considered a reference implementation of that.
+  static SkBitmap CreatePackedPlanarBitmap(const SkBitmap& source, int channel);
+
+  // The area and color of the bars in a 1920x1080 HD SMPTE color bars test
+  // image (https://commons.wikimedia.org/wiki/File:SMPTE_Color_Bars_16x9.svg).
+  // The gray linear gradient bar is defined as half solid 0-level black and
+  // half solid full-intensity white).
+  static const ColorBar kSMPTEColorBars[30];
+  static constexpr gfx::Size kSMPTEFullSize = gfx::Size(1920, 1080);
+
+#ifdef SK_CPU_BENDIAN
+  // Bit shift offsets (within a uint32_t RGBA quad) to access each color
+  // channel's byte.
+  static constexpr int kRedShift = 24;
+  static constexpr int kGreenShift = 16;
+  static constexpr int kBlueShift = 8;
+  static constexpr int kAlphaShift = 0;
+#else
+  static constexpr int kRedShift = 0;
+  static constexpr int kGreenShift = 8;
+  static constexpr int kBlueShift = 16;
+  static constexpr int kAlphaShift = 24;
+#endif
+};
+
+// A helper for tests to create textures, and download/upload RGBA textures
+// to/from SkBitmaps. All textures created by this helper will be deleted when
+// its destructor is invoked.
+class GLScalerTestTextureHelper {
+ public:
+  // |gl| context must outlive this instance.
+  explicit GLScalerTestTextureHelper(gpu::gles2::GLES2Interface* gl);
+
+  ~GLScalerTestTextureHelper();
+
+  // Creates a fully-defined RGBA texture of the given |size|, returning its GL
+  // name.
+  GLuint CreateTexture(const gfx::Size& size);
+
+  // Uploads the given RGBA |bitmap| to the GPU into a new texture, returning
+  // its GL name.
+  GLuint UploadTexture(const SkBitmap& bitmap);
+
+  // Reads-back the |texture| which is of the given |size|, returning the result
+  // as a RGBA SkBitmap.
+  SkBitmap DownloadTexture(GLuint texture, const gfx::Size& size);
+
+ private:
+  gpu::gles2::GLES2Interface* const gl_;
+  std::vector<GLuint> textures_to_delete_;
+
+  DISALLOW_COPY_AND_ASSIGN(GLScalerTestTextureHelper);
+};
+
+}  // namespace viz
+
+#endif  // COMPONENTS_VIZ_COMMON_GL_SCALER_TEST_UTIL_H_
diff --git a/components/viz/service/display/display.cc b/components/viz/service/display/display.cc
index 28a8345..455170c 100644
--- a/components/viz/service/display/display.cc
+++ b/components/viz/service/display/display.cc
@@ -449,9 +449,9 @@
       }
     }
 
-    ++last_acked_trace_id_;
-    TRACE_EVENT_ASYNC_END0("viz,benchmark", "Graphics.Pipeline.DrawAndSwap",
-                           last_acked_trace_id_);
+    TRACE_EVENT_ASYNC_END1("viz,benchmark", "Graphics.Pipeline.DrawAndSwap",
+                           swapped_trace_id_, "status", "canceled");
+    --swapped_trace_id_;
     if (scheduler_) {
       scheduler_->DidSwapBuffers();
       scheduler_->DidReceiveSwapBuffersAck();
diff --git a/components/viz/service/display/surface_aggregator.cc b/components/viz/service/display/surface_aggregator.cc
index 4563595c..b01ecbe5 100644
--- a/components/viz/service/display/surface_aggregator.cc
+++ b/components/viz/service/display/surface_aggregator.cc
@@ -1109,7 +1109,7 @@
 CompositorFrame SurfaceAggregator::Aggregate(
     const SurfaceId& surface_id,
     base::TimeTicks expected_display_time,
-    int32_t display_trace_id) {
+    int64_t display_trace_id) {
   DCHECK(!expected_display_time.is_null());
 
   uma_stats_.Reset();
@@ -1126,7 +1126,7 @@
   if (!surface->HasActiveFrame())
     return {};
 
-  base::AutoReset<int32_t> reset_display_trace_id(&display_trace_id_,
+  base::AutoReset<int64_t> reset_display_trace_id(&display_trace_id_,
                                                   display_trace_id);
   const CompositorFrame& root_surface_frame = surface->GetActiveFrame();
   TRACE_EVENT_WITH_FLOW2(
diff --git a/components/viz/service/display/surface_aggregator.h b/components/viz/service/display/surface_aggregator.h
index 7647ddb..325b7e1a 100644
--- a/components/viz/service/display/surface_aggregator.h
+++ b/components/viz/service/display/surface_aggregator.h
@@ -40,7 +40,7 @@
 
   CompositorFrame Aggregate(const SurfaceId& surface_id,
                             base::TimeTicks expected_display_time,
-                            int32_t display_trace_id = -1);
+                            int64_t display_trace_id = -1);
   void ReleaseResources(const SurfaceId& surface_id);
   const SurfaceIndexMap& previous_contained_surfaces() const {
     return previous_contained_surfaces_;
@@ -281,7 +281,7 @@
   // the display if they're damaged.
   base::flat_map<FrameSinkId, std::vector<SurfaceRange>> damage_ranges_;
 
-  int32_t display_trace_id_ = -1;
+  int64_t display_trace_id_ = -1;
 
   base::WeakPtrFactory<SurfaceAggregator> weak_factory_;
 
diff --git a/content/browser/browsing_data/storage_partition_http_cache_data_remover.cc b/content/browser/browsing_data/storage_partition_http_cache_data_remover.cc
index a6551a0..721ba05 100644
--- a/content/browser/browsing_data/storage_partition_http_cache_data_remover.cc
+++ b/content/browser/browsing_data/storage_partition_http_cache_data_remover.cc
@@ -172,8 +172,8 @@
       }
       case CacheState::DELETE_CODE: {
         next_cache_state_ = CacheState::DONE;
-        if (base::FeatureList::IsEnabled(features::kIsolatedCodeCache)) {
-          DCHECK(generated_code_cache_context_);
+        // Embedders can disable code caches.
+        if (generated_code_cache_context_) {
           GeneratedCodeCache* code_cache =
               generated_code_cache_context_->generated_code_cache();
           if (code_cache) {
diff --git a/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc b/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
index ad208e12..a641644 100644
--- a/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
+++ b/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
@@ -13,6 +13,7 @@
 #include "storage/browser/blob/blob_data_handle.h"
 #include "storage/browser/blob/blob_url_request_job_factory.h"
 #include "storage/common/storage_histograms.h"
+#include "third_party/blink/public/common/blob/blob_utils.h"
 
 namespace content {
 
@@ -38,13 +39,14 @@
   DCHECK(!consumer_handle_.is_valid());
   DCHECK(!pending_read_);
 
-  mojo::ScopedDataPipeProducerHandle producer_handle;
-  MojoResult result =
-      CreateDataPipe(nullptr, &producer_handle, &consumer_handle_);
-  if (result != MOJO_RESULT_OK) {
+  mojo::DataPipe pipe(blink::BlobUtils::GetDataPipeCapacity());
+  if (!pipe.consumer_handle.is_valid()) {
     std::move(callback).Run(std::move(entry), false /* success */);
     return;
   }
+  DCHECK(pipe.producer_handle.is_valid());
+
+  consumer_handle_ = std::move(pipe.consumer_handle);
 
   disk_cache_body_index_ = disk_cache_body_index;
   entry_ = std::move(entry);
@@ -52,7 +54,7 @@
 
   blink::mojom::BlobReaderClientPtr client;
   client_binding_.Bind(MakeRequest(&client));
-  blob->ReadAll(std::move(producer_handle), std::move(client));
+  blob->ReadAll(std::move(pipe.producer_handle), std::move(client));
 
   handle_watcher_.Watch(
       consumer_handle_.get(), MOJO_HANDLE_SIGNAL_READABLE,
diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc
index ec173c16..2a6897d5 100644
--- a/content/browser/frame_host/cross_process_frame_connector.cc
+++ b/content/browser/frame_host/cross_process_frame_connector.cc
@@ -484,7 +484,7 @@
 
 void CrossProcessFrameConnector::SetScreenSpaceRect(
     const gfx::Rect& screen_space_rect) {
-  gfx::Rect old_rect = screen_space_rect;
+  gfx::Rect old_rect = screen_space_rect_in_pixels_;
   FrameConnectorDelegate::SetScreenSpaceRect(screen_space_rect);
 
   if (view_) {
diff --git a/content/browser/frame_host/navigation_controller_impl_unittest.cc b/content/browser/frame_host/navigation_controller_impl_unittest.cc
index ebff6f1..5ffbd8e 100644
--- a/content/browser/frame_host/navigation_controller_impl_unittest.cc
+++ b/content/browser/frame_host/navigation_controller_impl_unittest.cc
@@ -2738,7 +2738,7 @@
     params.transition = ui::PAGE_TRANSITION_LINK;
     params.redirects.push_back(url);
     params.should_update_history = true;
-    params.gesture = NavigationGestureUnknown;
+    params.gesture = NavigationGestureAuto;
     params.method = "GET";
     params.page_state = PageState::CreateFromURL(url);
 
@@ -2763,7 +2763,7 @@
     params.redirects.push_back(GURL("http://foo2/#a"));
     params.redirects.push_back(url);
     params.should_update_history = true;
-    params.gesture = NavigationGestureUnknown;
+    params.gesture = NavigationGestureAuto;
     params.method = "GET";
     params.page_state = PageState::CreateFromURL(url);
 
diff --git a/content/browser/frame_host/navigation_handle_impl.cc b/content/browser/frame_host/navigation_handle_impl.cc
index 4b8b594e..37f66c01 100644
--- a/content/browser/frame_host/navigation_handle_impl.cc
+++ b/content/browser/frame_host/navigation_handle_impl.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_macros.h"
+#include "base/optional.h"
 #include "base/time/time.h"
 #include "content/browser/appcache/appcache_navigation_handle.h"
 #include "content/browser/appcache/appcache_service_impl.h"
@@ -34,6 +35,7 @@
 #include "content/common/frame_messages.h"
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/browser/navigation_ui_data.h"
+#include "content/public/browser/render_process_host.h"
 #include "content/public/browser/site_instance.h"
 #include "content/public/common/browser_side_navigation_policy.h"
 #include "content/public/common/content_client.h"
@@ -73,8 +75,8 @@
 }
 
 // LOG_NAVIGATION_TIMING_HISTOGRAM logs |value| for "Navigation.<histogram>" UMA
-// and (depending on |transition|) also for
-// "Navigation.<histogram>.BackForward/Reload/NewNavigation" UMA.
+// as well as supplementary UMAs (depending on |transition| and |is_background|)
+// for BackForward/Reload/NewNavigation variants.
 //
 // kMaxTime and kBuckets constants are consistent with
 // UMA_HISTOGRAM_MEDIUM_TIMES, but a custom kMinTime is used for high fidelity
@@ -83,26 +85,38 @@
 // TODO(csharrison,nasko): This macro is incorrect for subframe navigations,
 // which will only have subframe-specific transition types. This means that all
 // subframes currently are tagged as NewNavigations.
-#define LOG_NAVIGATION_TIMING_HISTOGRAM(histogram, transition, value)      \
-  do {                                                                     \
-    const base::TimeDelta kMinTime = base::TimeDelta::FromMilliseconds(1); \
-    const base::TimeDelta kMaxTime = base::TimeDelta::FromMinutes(3);      \
-    const int kBuckets = 50;                                               \
-    UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram, value, kMinTime,   \
-                               kMaxTime, kBuckets);                        \
-    if (transition & ui::PAGE_TRANSITION_FORWARD_BACK) {                   \
-      UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram ".BackForward",   \
-                                 value, kMinTime, kMaxTime, kBuckets);     \
-    } else if (ui::PageTransitionCoreTypeIs(transition,                    \
-                                            ui::PAGE_TRANSITION_RELOAD)) { \
-      UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram ".Reload", value, \
-                                 kMinTime, kMaxTime, kBuckets);            \
-    } else if (ui::PageTransitionIsNewNavigation(transition)) {            \
-      UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram ".NewNavigation", \
-                                 value, kMinTime, kMaxTime, kBuckets);     \
-    } else {                                                               \
-      NOTREACHED() << "Invalid page transition: " << transition;           \
-    }                                                                      \
+#define LOG_NAVIGATION_TIMING_HISTOGRAM(histogram, transition, is_background, \
+                                        duration)                             \
+  do {                                                                        \
+    const base::TimeDelta kMinTime = base::TimeDelta::FromMilliseconds(1);    \
+    const base::TimeDelta kMaxTime = base::TimeDelta::FromMinutes(3);         \
+    const int kBuckets = 50;                                                  \
+    UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram, duration, kMinTime,   \
+                               kMaxTime, kBuckets);                           \
+    if (transition & ui::PAGE_TRANSITION_FORWARD_BACK) {                      \
+      UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram ".BackForward",      \
+                                 duration, kMinTime, kMaxTime, kBuckets);     \
+    } else if (ui::PageTransitionCoreTypeIs(transition,                       \
+                                            ui::PAGE_TRANSITION_RELOAD)) {    \
+      UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram ".Reload", duration, \
+                                 kMinTime, kMaxTime, kBuckets);               \
+    } else if (ui::PageTransitionIsNewNavigation(transition)) {               \
+      UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram ".NewNavigation",    \
+                                 duration, kMinTime, kMaxTime, kBuckets);     \
+    } else {                                                                  \
+      NOTREACHED() << "Invalid page transition: " << transition;              \
+    }                                                                         \
+    if (is_background.has_value()) {                                          \
+      if (is_background.value()) {                                            \
+        UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram                    \
+                                   ".BackgroundProcessPriority",              \
+                                   duration, kMinTime, kMaxTime, kBuckets);   \
+      } else {                                                                \
+        UMA_HISTOGRAM_CUSTOM_TIMES("Navigation." histogram                    \
+                                   ".ForegroundProcessPriority",              \
+                                   duration, kMinTime, kMaxTime, kBuckets);   \
+      }                                                                       \
+    }                                                                         \
   } while (0)
 
 void LogIsSameProcess(ui::PageTransition transition, bool is_same_process) {
@@ -566,8 +580,6 @@
   params.transition = ui::PAGE_TRANSITION_TYPED;
   params.redirects = std::vector<GURL>();
   params.should_update_history = false;
-  params.searchable_form_url = GURL();
-  params.searchable_form_encoding = std::string();
   params.did_create_new_entry = false;
   params.gesture = NavigationGestureUser;
   params.method = "GET";
@@ -870,23 +882,28 @@
         frame_tree_node_->current_frame_host()->GetProcess()->GetID();
     LogIsSameProcess(transition_, is_same_process_);
 
+    // Don't log process-priority-specific UMAs for TimeToReadyToCommit metric
+    // (which shouldn't be influenced by renderer priority).
+    constexpr base::Optional<bool> kIsBackground = base::nullopt;
+
     base::TimeDelta delta = ready_to_commit_time_ - navigation_start_;
-    LOG_NAVIGATION_TIMING_HISTOGRAM("TimeToReadyToCommit", transition_, delta);
+    LOG_NAVIGATION_TIMING_HISTOGRAM("TimeToReadyToCommit", transition_,
+                                    kIsBackground, delta);
 
     if (IsInMainFrame()) {
       LOG_NAVIGATION_TIMING_HISTOGRAM("TimeToReadyToCommit.MainFrame",
-                                      transition_, delta);
+                                      transition_, kIsBackground, delta);
     } else {
       LOG_NAVIGATION_TIMING_HISTOGRAM("TimeToReadyToCommit.Subframe",
-                                      transition_, delta);
+                                      transition_, kIsBackground, delta);
     }
 
     if (is_same_process_) {
       LOG_NAVIGATION_TIMING_HISTOGRAM("TimeToReadyToCommit.SameProcess",
-                                      transition_, delta);
+                                      transition_, kIsBackground, delta);
     } else {
       LOG_NAVIGATION_TIMING_HISTOGRAM("TimeToReadyToCommit.CrossProcess",
-                                      transition_, delta);
+                                      transition_, kIsBackground, delta);
     }
   }
 
@@ -938,38 +955,42 @@
     base::TimeTicks now = base::TimeTicks::Now();
     base::TimeDelta delta = now - navigation_start_;
     ui::PageTransition transition = GetPageTransition();
-    LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit", transition, delta);
+    base::Optional<bool> is_background =
+        render_frame_host->GetProcess()->IsProcessBackgrounded();
+    LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit", transition, is_background,
+                                    delta);
     if (IsInMainFrame()) {
       LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.MainFrame", transition,
-                                      delta);
+                                      is_background, delta);
     } else {
       LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.Subframe", transition,
-                                      delta);
+                                      is_background, delta);
     }
     if (is_same_process_) {
       LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.SameProcess", transition,
-                                      delta);
+                                      is_background, delta);
       if (IsInMainFrame()) {
         LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.SameProcess.MainFrame",
-                                        transition, delta);
+                                        transition, is_background, delta);
       } else {
         LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.SameProcess.Subframe",
-                                        transition, delta);
+                                        transition, is_background, delta);
       }
     } else {
       LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.CrossProcess", transition,
-                                      delta);
+                                      is_background, delta);
       if (IsInMainFrame()) {
         LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.CrossProcess.MainFrame",
-                                        transition, delta);
+                                        transition, is_background, delta);
       } else {
         LOG_NAVIGATION_TIMING_HISTOGRAM("StartToCommit.CrossProcess.Subframe",
-                                        transition, delta);
+                                        transition, is_background, delta);
       }
     }
 
     if (!ready_to_commit_time_.is_null()) {
       LOG_NAVIGATION_TIMING_HISTOGRAM("ReadyToCommitUntilCommit", transition_,
+                                      is_background,
                                       now - ready_to_commit_time_);
     }
   }
diff --git a/content/browser/frame_host/navigation_handle_impl_browsertest.cc b/content/browser/frame_host/navigation_handle_impl_browsertest.cc
index c199bfb..89839bb 100644
--- a/content/browser/frame_host/navigation_handle_impl_browsertest.cc
+++ b/content/browser/frame_host/navigation_handle_impl_browsertest.cc
@@ -2076,15 +2076,17 @@
     // Add the suffix to all existing histogram names, and append the results to
     // |names|.
     std::vector<std::string> names{"Navigation.StartToCommit"};
-    auto add_suffix = [&names](std::string suffix) {
+    auto add_suffix = [&names](std::vector<std::string> suffixes) {
       size_t original_size = names.size();
       for (size_t i = 0; i < original_size; i++) {
-        names.push_back(names[i] + suffix);
+        for (const std::string& suffix : suffixes)
+          names.push_back(names[i] + suffix);
       }
     };
-    add_suffix(kProcessSuffixes.at(process_type));
-    add_suffix(kFrameSuffixes.at(frame_type));
-    add_suffix(kTransitionSuffixes.at(transition_type));
+    add_suffix({kProcessSuffixes.at(process_type)});
+    add_suffix({kFrameSuffixes.at(frame_type)});
+    add_suffix({kTransitionSuffixes.at(transition_type),
+                ".ForegroundProcessPriority"});
 
     // Check that all generated histogram names are logged exactly once.
     for (const auto& name : names) {
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 0e0cbcd..11c0d98 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -5515,7 +5515,6 @@
        it != validated_params->redirects.end(); ++it) {
     process->FilterURL(false, &(*it));
   }
-  process->FilterURL(true, &validated_params->searchable_form_url);
 
   // Without this check, the renderer can trick the browser into using
   // filenames it can't access in a future session restore.
diff --git a/content/browser/media/media_color_browsertest.cc b/content/browser/media/media_color_browsertest.cc
index 6cc930bb..5f38d74 100644
--- a/content/browser/media/media_color_browsertest.cc
+++ b/content/browser/media/media_color_browsertest.cc
@@ -53,9 +53,8 @@
   RunColorTest("yuv420p.mp4");
 }
 
-// This test fails on Android: http://crbug.com/647818 and OSX:
-// http://crbug.com/647838
-#if defined(OS_MACOSX) || defined(OS_ANDROID)
+// This test fails on Android: http://crbug.com/647818
+#if defined(OS_ANDROID)
 #define MAYBE_Yuvj420pH264 DISABLED_Yuvj420pH264
 #else
 #define MAYBE_Yuvj420pH264 Yuvj420pH264
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc
index 5d7dd2a..ddd9404 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -343,7 +343,8 @@
     // Touchstart events sent to the renderer indicate a new touch sequence, but
     // in some cases we may filter out sending the touchstart - catch those
     // here.
-    if (ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS) {
+    if (ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS ||
+        ack_result == INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING) {
       // Touch action must be auto when there is no consumer
       touch_action_filter_.OnSetTouchAction(cc::kTouchActionAuto);
       UpdateTouchAckTimeoutEnabled();
diff --git a/content/browser/renderer_host/input/input_router_impl.h b/content/browser/renderer_host/input/input_router_impl.h
index 6fe5543..60a7e28 100644
--- a/content/browser/renderer_host/input/input_router_impl.h
+++ b/content/browser/renderer_host/input/input_router_impl.h
@@ -118,6 +118,7 @@
   friend class InputRouterImplTest;
   friend class MockRenderWidgetHost;
   friend class RenderWidgetHostSitePerProcessTest;
+  friend class SitePerProcessBrowserTouchActionTest;
 
   // Keeps track of last position of touch points and sets MovementXY for them.
   void SetMovementXYForTouchPoints(blink::WebTouchEvent* event);
diff --git a/content/browser/renderer_host/input/input_router_impl_unittest.cc b/content/browser/renderer_host/input/input_router_impl_unittest.cc
index 709d42b..e5077420 100644
--- a/content/browser/renderer_host/input/input_router_impl_unittest.cc
+++ b/content/browser/renderer_host/input/input_router_impl_unittest.cc
@@ -440,6 +440,18 @@
     EXPECT_EQ(input_router_->num_of_active_touches_for_test(), 0);
   }
 
+  void OnTouchEventAckWithResultNonBlocking() {
+    input_router_->OnHasTouchEventHandlers(true);
+    EXPECT_FALSE(input_router_->AllowedTouchAction().has_value());
+    PressTouchPoint(1, 1);
+    input_router_->SendTouchEvent(TouchEventWithLatencyInfo(touch_event_));
+    input_router_->OnTouchEventAck(TouchEventWithLatencyInfo(touch_event_),
+                                   InputEventAckSource::BROWSER,
+                                   INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING);
+    EXPECT_EQ(input_router_->AllowedTouchAction().value(),
+              cc::kTouchActionAuto);
+  }
+
   InputRouter::Config config_;
   std::unique_ptr<MockInputRouterImplClient> client_;
   std::unique_ptr<InputRouterImpl> input_router_;
@@ -637,6 +649,10 @@
                                INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS);
 }
 
+TEST_F(InputRouterImplTest, TouchActionAutoWithAckResultNonBlocking) {
+  OnTouchEventAckWithResultNonBlocking();
+}
+
 // Tests that touch-events are sent properly.
 TEST_F(InputRouterImplTest, TouchEventQueue) {
   OnHasTouchEventHandlers(true);
diff --git a/content/browser/renderer_host/input/touch_action_filter.cc b/content/browser/renderer_host/input/touch_action_filter.cc
index a0cf770..30c7bb6 100644
--- a/content/browser/renderer_host/input/touch_action_filter.cc
+++ b/content/browser/renderer_host/input/touch_action_filter.cc
@@ -179,7 +179,10 @@
       gesture_sequence_in_progress_ = true;
       // If the gesture is hitting a region that has a non-blocking (such as a
       // passive) event listener.
-      if (gesture_event->is_source_touch_event_set_non_blocking)
+      // In theory, the num_of_active_touches_ should be > 0 at this point. But
+      // crash reports suggest otherwise.
+      if (gesture_event->is_source_touch_event_set_non_blocking ||
+          num_of_active_touches_ <= 0)
         SetTouchAction(cc::kTouchActionAuto);
       scrolling_touch_action_ = allowed_touch_action_;
       if (scrolling_touch_action_.has_value())
diff --git a/content/browser/renderer_host/input/touch_action_filter.h b/content/browser/renderer_host/input/touch_action_filter.h
index 7a7593e..7060f06 100644
--- a/content/browser/renderer_host/input/touch_action_filter.h
+++ b/content/browser/renderer_host/input/touch_action_filter.h
@@ -77,6 +77,7 @@
  private:
   friend class MockRenderWidgetHost;
   friend class TouchActionFilterTest;
+  friend class SitePerProcessBrowserTouchActionTest;
 
   bool ShouldSuppressManipulation(const blink::WebGestureEvent&);
   bool FilterManipulationEventAndResetState();
diff --git a/content/browser/renderer_host/input/touch_action_filter_unittest.cc b/content/browser/renderer_host/input/touch_action_filter_unittest.cc
index 7712cdc..e010cf4f 100644
--- a/content/browser/renderer_host/input/touch_action_filter_unittest.cc
+++ b/content/browser/renderer_host/input/touch_action_filter_unittest.cc
@@ -45,6 +45,7 @@
       // Scrolls with no direction hint are permitted in the |action| direction.
       filter_.ResetTouchAction();
       filter_.OnSetTouchAction(action);
+      filter_.IncreaseActiveTouches();
 
       WebGestureEvent scroll_begin =
           SyntheticWebGestureEventBuilder::BuildScrollBegin(0, 0,
@@ -64,12 +65,14 @@
 
       EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
                 FilterGestureEventResult::kFilterGestureEventAllowed);
+      filter_.DecreaseActiveTouches();
     }
 
     {
       // Scrolls biased towards the touch-action axis are permitted.
       filter_.ResetTouchAction();
       filter_.OnSetTouchAction(action);
+      filter_.IncreaseActiveTouches();
       WebGestureEvent scroll_begin =
           SyntheticWebGestureEventBuilder::BuildScrollBegin(scroll_x, scroll_y,
                                                             kSourceDevice);
@@ -100,6 +103,7 @@
 
       EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
                 FilterGestureEventResult::kFilterGestureEventAllowed);
+      filter_.DecreaseActiveTouches();
     }
 
     {
@@ -107,6 +111,7 @@
       // suppressed entirely.
       filter_.ResetTouchAction();
       filter_.OnSetTouchAction(action);
+      filter_.IncreaseActiveTouches();
       WebGestureEvent scroll_begin =
           SyntheticWebGestureEventBuilder::BuildScrollBegin(scroll_y, scroll_x,
                                                             kSourceDevice);
@@ -125,6 +130,7 @@
 
       EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
                 FilterGestureEventResult::kFilterGestureEventFiltered);
+      filter_.DecreaseActiveTouches();
     }
   }
 
@@ -140,6 +146,7 @@
       // Scrolls towards the touch-action direction are permitted.
       filter_.ResetTouchAction();
       filter_.OnSetTouchAction(action);
+      filter_.IncreaseActiveTouches();
       WebGestureEvent scroll_begin =
           SyntheticWebGestureEventBuilder::BuildScrollBegin(scroll_x, scroll_y,
                                                             kSourceDevice);
@@ -155,6 +162,7 @@
                 FilterGestureEventResult::kFilterGestureEventAllowed);
       EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
                 FilterGestureEventResult::kFilterGestureEventAllowed);
+      filter_.DecreaseActiveTouches();
     }
 
     {
@@ -162,6 +170,7 @@
       // suppressed entirely.
       filter_.ResetTouchAction();
       filter_.OnSetTouchAction(action);
+      filter_.IncreaseActiveTouches();
       WebGestureEvent scroll_begin =
           SyntheticWebGestureEventBuilder::BuildScrollBegin(
               -scroll_x, -scroll_y, kSourceDevice);
@@ -177,6 +186,7 @@
                 FilterGestureEventResult::kFilterGestureEventFiltered);
       EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
                 FilterGestureEventResult::kFilterGestureEventFiltered);
+      filter_.DecreaseActiveTouches();
     }
 
     {
@@ -184,6 +194,7 @@
       // suppressed entirely.
       filter_.ResetTouchAction();
       filter_.OnSetTouchAction(action);
+      filter_.IncreaseActiveTouches();
       WebGestureEvent scroll_begin =
           SyntheticWebGestureEventBuilder::BuildScrollBegin(
               -scroll_x - scroll_y, -scroll_x - scroll_y, kSourceDevice);
@@ -199,6 +210,7 @@
                 FilterGestureEventResult::kFilterGestureEventFiltered);
       EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
                 FilterGestureEventResult::kFilterGestureEventFiltered);
+      filter_.DecreaseActiveTouches();
     }
   }
   TouchActionFilter filter_;
@@ -220,6 +232,7 @@
   // cc::kTouchActionAuto doesn't cause any filtering.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -230,10 +243,12 @@
   EXPECT_EQ(kDeltaY, scroll_update.data.scroll_update.delta_y);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 
   // cc::kTouchActionNone filters out all scroll events, but no other events.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionNone);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -246,10 +261,12 @@
   EXPECT_EQ(kDeltaY, scroll_update.data.scroll_update.delta_y);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 
   // When a new touch sequence begins, the state is reset.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -258,10 +275,12 @@
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 
   // Setting touch action doesn't impact any in-progress gestures.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -271,20 +290,24 @@
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 
   // And the state is still cleared for the next gesture.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 
   // Changing the touch action during a gesture has no effect.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionNone);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -298,6 +321,7 @@
   EXPECT_EQ(kDeltaY, scroll_update.data.scroll_update.delta_y);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 }
 
 TEST_F(TouchActionFilterTest, PanLeft) {
@@ -370,6 +394,7 @@
     // Scrolls hinted in the X axis are permitted and unmodified.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionPan);
+    filter_.IncreaseActiveTouches();
     WebGestureEvent scroll_begin =
         SyntheticWebGestureEventBuilder::BuildScrollBegin(-7, 6, kSourceDevice);
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
@@ -387,12 +412,14 @@
 
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
   }
 
   {
     // Scrolls hinted in the Y axis are permitted and unmodified.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionPan);
+    filter_.IncreaseActiveTouches();
     WebGestureEvent scroll_begin =
         SyntheticWebGestureEventBuilder::BuildScrollBegin(-6, 7, kSourceDevice);
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
@@ -410,12 +437,14 @@
 
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
   }
 
   {
     // A two-finger gesture is not allowed.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionPan);
+    filter_.IncreaseActiveTouches();
     WebGestureEvent scroll_begin =
         SyntheticWebGestureEventBuilder::BuildScrollBegin(-6, 7, kSourceDevice,
                                                           2);
@@ -432,6 +461,7 @@
 
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventFiltered);
+    filter_.DecreaseActiveTouches();
   }
 }
 
@@ -466,6 +496,7 @@
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionNone);
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -478,12 +509,14 @@
   EXPECT_EQ(kDeltaY, scroll_update.data.scroll_update.delta_y);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 
   // Intersection of PAN_X and PAN_Y is NONE.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionPanX);
   filter_.OnSetTouchAction(cc::kTouchActionPanY);
   filter_.OnSetTouchAction(cc::kTouchActionPan);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -492,6 +525,7 @@
             FilterGestureEventResult::kFilterGestureEventFiltered);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 }
 
 class TouchActionFilterPinchTest : public testing::Test {
@@ -518,6 +552,7 @@
     // Pinch is allowed with touch-action: auto.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionAuto);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -530,10 +565,12 @@
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // Pinch is not allowed with touch-action: none.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionNone);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -552,11 +589,13 @@
               FilterGestureEventResult::kFilterGestureEventFiltered);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventFiltered);
+    filter_.DecreaseActiveTouches();
 
     // Pinch is not allowed with touch-action: pan-x pan-y except for force
     // enable zoom.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionPan);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_NE(filter_.FilterGestureEvent(&scroll_begin),
@@ -579,10 +618,12 @@
               force_enable_zoom
                   ? FilterGestureEventResult::kFilterGestureEventFiltered
                   : FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // Pinch is allowed with touch-action: manipulation.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionManipulation);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -595,10 +636,12 @@
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // Pinch state is automatically reset at the end of a scroll.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionAuto);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -611,10 +654,12 @@
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // Pinching is only computed at GestureScrollBegin time.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionAuto);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -641,11 +686,13 @@
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // Once a pinch has started, any change in state won't affect the pinch
     // gestures since it is computed in GestureScrollBegin.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionAuto);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -665,10 +712,12 @@
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // Scrolling is allowed when two fingers are down.
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionPinchZoom);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -681,12 +730,14 @@
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventAllowed);
+    filter_.DecreaseActiveTouches();
 
     // A pinch event sequence with only one pointer is equivalent to a scroll
     // gesture, so disallowed as a pinch gesture.
     scroll_begin.data.scroll_begin.pointer_count = 1;
     filter_.ResetTouchAction();
     filter_.OnSetTouchAction(cc::kTouchActionPinchZoom);
+    filter_.IncreaseActiveTouches();
     EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
               FilterGestureEventResult::kFilterGestureEventAllowed);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -699,6 +750,7 @@
               FilterGestureEventResult::kFilterGestureEventFiltered);
     EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
               FilterGestureEventResult::kFilterGestureEventFiltered);
+    filter_.DecreaseActiveTouches();
   }
 
  private:
@@ -759,6 +811,7 @@
   // Double tap is disabled with any touch action other than auto.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionManipulation);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&unconfirmed_tap),
@@ -775,6 +828,7 @@
   EXPECT_EQ(filter_.FilterGestureEvent(&double_tap),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(WebInputEvent::kGestureTap, double_tap.GetType());
+  filter_.DecreaseActiveTouches();
 }
 
 TEST_F(TouchActionFilterTest, SingleTapWithTouchActionAuto) {
@@ -808,6 +862,7 @@
   // With touch action other than auto, tap unconfirmed is turned into tap.
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionNone);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&unconfirmed_tap1),
@@ -815,6 +870,7 @@
   EXPECT_EQ(WebInputEvent::kGestureTap, unconfirmed_tap1.GetType());
   EXPECT_EQ(filter_.FilterGestureEvent(&tap),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 }
 
 TEST_F(TouchActionFilterTest, TouchActionResetsOnResetTouchAction) {
@@ -829,26 +885,32 @@
 
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionNone);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
             FilterGestureEventResult::kFilterGestureEventFiltered);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionNone);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&tap),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 
   filter_.ResetTouchAction();
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 }
 
 TEST_F(TouchActionFilterTest, TouchActionResetMidSequence) {
@@ -868,6 +930,7 @@
       WebInputEvent::kGestureScrollEnd, kSourceDevice);
 
   filter_.OnSetTouchAction(cc::kTouchActionNone);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
@@ -887,9 +950,11 @@
             FilterGestureEventResult::kFilterGestureEventFiltered);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventFiltered);
+  filter_.DecreaseActiveTouches();
 
   // A new scroll and pinch sequence should be allowed.
   filter_.OnSetTouchAction(cc::kTouchActionAuto);
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_begin),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&pinch_begin),
@@ -906,6 +971,7 @@
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_end),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 }
 
 // This test makes sure that we do not reset scrolling touch action in the
@@ -925,6 +991,7 @@
   WebGestureEvent scroll_end = SyntheticWebGestureEventBuilder::Build(
       WebInputEvent::kGestureScrollEnd, kSourceDevice);
 
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(cc::kTouchActionPanY, ScrollingTouchAction().value());
@@ -934,6 +1001,7 @@
   EXPECT_EQ(filter_.FilterGestureEvent(&scroll_update),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   // Simulate a touch sequence end by calling ReportAndResetTouchAction.
+  filter_.DecreaseActiveTouches();
   filter_.ReportAndResetTouchAction();
   EXPECT_FALSE(filter_.allowed_touch_action().has_value());
   EXPECT_EQ(cc::kTouchActionPanY, ScrollingTouchAction().value());
@@ -985,6 +1053,7 @@
       WebInputEvent::kGestureDoubleTap, kSourceDevice);
 
   // Simulate a double tap gesture: GTD-->GTC-->GTD-->GTC-->GDT.
+  filter_.IncreaseActiveTouches();
   EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(ScrollingTouchAction().value(), cc::kTouchActionAuto);
@@ -1000,6 +1069,7 @@
             FilterGestureEventResult::kFilterGestureEventAllowed);
   EXPECT_EQ(filter_.FilterGestureEvent(&double_tap),
             FilterGestureEventResult::kFilterGestureEventAllowed);
+  filter_.DecreaseActiveTouches();
 }
 
 TEST_F(TouchActionFilterTest, OnHasTouchEventHandlersReceivedDuringScroll) {
@@ -1149,6 +1219,20 @@
   EXPECT_EQ(filter_.allowed_touch_action().value(), cc::kTouchActionAuto);
 }
 
+// This tests a gesture tap down with |num_of_active_touches_| == 0
+TEST_F(TouchActionFilterTest, TapDownWithZeroNumOfActiveTouches) {
+  filter_.OnHasTouchEventHandlers(true);
+  EXPECT_FALSE(ScrollingTouchAction().has_value());
+  EXPECT_FALSE(filter_.allowed_touch_action().has_value());
+
+  WebGestureEvent tap_down = SyntheticWebGestureEventBuilder::Build(
+      WebInputEvent::kGestureTapDown, kSourceDevice);
+  EXPECT_EQ(filter_.FilterGestureEvent(&tap_down),
+            FilterGestureEventResult::kFilterGestureEventAllowed);
+  EXPECT_TRUE(ScrollingTouchAction().has_value());
+  EXPECT_EQ(ScrollingTouchAction().value(), cc::kTouchActionAuto);
+}
+
 TEST_F(TouchActionFilterTest, ScrollBeginWithoutTapDownWithKnownTouchAction) {
   filter_.OnHasTouchEventHandlers(true);
   EXPECT_FALSE(ScrollingTouchAction().has_value());
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 1b67b81..d573fe09 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -780,7 +780,6 @@
                         OnShowFullscreenWidget)
     IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnUpdateTargetURL)
     IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnClose)
-    IPC_MESSAGE_HANDLER(ViewHostMsg_RequestSetBounds, OnRequestSetBounds)
     IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentAvailableInMainFrame,
                         OnDocumentAvailableInMainFrame)
     IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange,
@@ -851,12 +850,6 @@
   ClosePageIgnoringUnloadEvents();
 }
 
-void RenderViewHostImpl::OnRequestSetBounds(const gfx::Rect& bounds) {
-  if (is_active_)
-    delegate_->RequestSetBounds(bounds);
-  Send(new ViewMsg_SetBounds_ACK(GetRoutingID()));
-}
-
 void RenderViewHostImpl::OnDocumentAvailableInMainFrame(
     bool uses_temporary_zoom_level) {
   delegate_->DocumentAvailableInMainFrame(this);
@@ -921,6 +914,11 @@
   return is_active_;
 }
 
+void RenderViewHostImpl::RequestSetBounds(const gfx::Rect& bounds) {
+  if (is_active_)
+    delegate_->RequestSetBounds(bounds);
+}
+
 WebPreferences RenderViewHostImpl::GetWebkitPreferences() {
   if (!web_preferences_.get()) {
     OnWebkitPreferencesChanged();
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index 36f57cc9..1df97a6 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -239,6 +239,7 @@
   bool MayRenderWidgetForwardKeyboardEvent(
       const NativeWebKeyboardEvent& key_event) override;
   bool ShouldContributePriorityToProcess() override;
+  void RequestSetBounds(const gfx::Rect& bounds) override;
 
   // IPC message handlers.
   void OnShowView(int route_id,
@@ -249,7 +250,6 @@
   void OnShowFullscreenWidget(int route_id);
   void OnUpdateTargetURL(const GURL& url);
   void OnClose();
-  void OnRequestSetBounds(const gfx::Rect& bounds);
   void OnDocumentAvailableInMainFrame(bool uses_temporary_zoom_level);
   void OnDidContentsPreferredSizeChange(const gfx::Size& new_size);
   void OnPasteFromSelectionClipboard();
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index a57fc144..a3d7e1f 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2160,10 +2160,12 @@
 }
 
 void RenderWidgetHostImpl::OnRequestSetBounds(const gfx::Rect& bounds) {
-  if (view_) {
+  if (owner_delegate_) {
+    owner_delegate_->RequestSetBounds(bounds);
+  } else if (view_) {
     view_->SetBounds(bounds);
-    Send(new ViewMsg_SetBounds_ACK(routing_id_));
   }
+  Send(new ViewMsg_SetBounds_ACK(routing_id_));
 }
 
 void RenderWidgetHostImpl::DidNotProduceFrame(const viz::BeginFrameAck& ack) {
diff --git a/content/browser/renderer_host/render_widget_host_owner_delegate.h b/content/browser/renderer_host/render_widget_host_owner_delegate.h
index 409e8ef..0ba7bbc 100644
--- a/content/browser/renderer_host/render_widget_host_owner_delegate.h
+++ b/content/browser/renderer_host/render_widget_host_owner_delegate.h
@@ -57,6 +57,10 @@
   // priority to the RenderProcessHost.
   virtual bool ShouldContributePriorityToProcess() = 0;
 
+  // Notify the OwnerDelegate that the renderer has requested a change in
+  // the bounds of the content area.
+  virtual void RequestSetBounds(const gfx::Rect& bounds) = 0;
+
  protected:
   virtual ~RenderWidgetHostOwnerDelegate() {}
 };
diff --git a/content/browser/service_worker/service_worker_installed_script_reader.cc b/content/browser/service_worker/service_worker_installed_script_reader.cc
index 8c42abb..6f0c7a1 100644
--- a/content/browser/service_worker/service_worker_installed_script_reader.cc
+++ b/content/browser/service_worker/service_worker_installed_script_reader.cc
@@ -11,6 +11,7 @@
 #include "content/browser/service_worker/service_worker_metrics.h"
 #include "net/http/http_response_headers.h"
 #include "services/network/public/cpp/net_adapters.h"
+#include "third_party/blink/public/common/blob/blob_utils.h"
 
 namespace content {
 
@@ -114,25 +115,25 @@
 
   DCHECK_GE(result, 0);
   mojo::ScopedDataPipeConsumerHandle meta_data_consumer;
-  mojo::ScopedDataPipeConsumerHandle body_consumer;
   DCHECK_GE(http_info->response_data_size, 0);
   uint64_t body_size = http_info->response_data_size;
   uint64_t meta_data_size = 0;
-  if (mojo::CreateDataPipe(nullptr, &body_handle_, &body_consumer) !=
-      MOJO_RESULT_OK) {
+  mojo::DataPipe body_pipe(blink::BlobUtils::GetDataPipeCapacity());
+  if (!body_pipe.producer_handle.is_valid()) {
     CompleteSendIfNeeded(FinishedReason::kCreateDataPipeError);
     return;
   }
+  body_handle_ = std::move(body_pipe.producer_handle);
   // Start sending meta data (V8 code cache data).
   if (http_info->http_info->metadata) {
-    mojo::ScopedDataPipeProducerHandle meta_data_producer;
-    if (mojo::CreateDataPipe(nullptr, &meta_data_producer,
-                             &meta_data_consumer) != MOJO_RESULT_OK) {
+    mojo::DataPipe meta_pipe(blink::BlobUtils::GetDataPipeCapacity());
+    if (!meta_pipe.producer_handle.is_valid()) {
       CompleteSendIfNeeded(FinishedReason::kCreateDataPipeError);
       return;
     }
+    meta_data_consumer = std::move(meta_pipe.consumer_handle);
     meta_data_sender_ = std::make_unique<MetaDataSender>(
-        http_info->http_info->metadata, std::move(meta_data_producer));
+        http_info->http_info->metadata, std::move(meta_pipe.producer_handle));
     meta_data_sender_->Start(base::BindOnce(
         &ServiceWorkerInstalledScriptReader::OnMetaDataSent, AsWeakPtr()));
     DCHECK_GE(http_info->http_info->metadata->size(), 0);
@@ -168,7 +169,7 @@
   }
 
   client_->OnStarted(charset, std::move(header_strings),
-                     std::move(body_consumer), body_size,
+                     std::move(body_pipe.consumer_handle), body_size,
                      std::move(meta_data_consumer), meta_data_size);
   client_->OnHttpInfoRead(http_info);
 }
@@ -181,6 +182,9 @@
   uint32_t num_bytes = 0;
   MojoResult rv = network::NetToMojoPendingBuffer::BeginWrite(
       &body_handle_, &body_pending_write_, &num_bytes);
+
+  num_bytes = std::min(num_bytes, blink::BlobUtils::GetDataPipeChunkSize());
+
   switch (rv) {
     case MOJO_RESULT_INVALID_ARGUMENT:
     case MOJO_RESULT_BUSY:
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc
index 31e6685..f6709ab 100644
--- a/content/browser/site_per_process_browsertest.cc
+++ b/content/browser/site_per_process_browsertest.cc
@@ -12243,7 +12243,8 @@
       RenderWidgetHostInputEventRouter* router,
       RenderWidgetHostViewBase* rwhv_root,
       RenderWidgetHostViewBase* rwhv_child,
-      const gfx::Point& event_position) {
+      const gfx::Point& event_position,
+      base::Optional<cc::TouchAction>& whitelisted_touch_action) {
     InputEventAckWaiter ack_observer(
         rwhv_child->GetRenderWidgetHost(),
         base::BindRepeating([](content::InputEventAckSource source,
@@ -12266,6 +12267,14 @@
         static_cast<RenderWidgetHostImpl*>(rwhv_child->GetRenderWidgetHost())
             ->input_router()
             ->AllowedTouchAction();
+    // Whitelisted touch action is sent from a separate IPC channel, so it is
+    // not guaranteed to have value when the ACK for the touch start arrived
+    // because the ACK is from the main thread.
+    whitelisted_touch_action =
+        static_cast<InputRouterImpl*>(static_cast<RenderWidgetHostImpl*>(
+                                          rwhv_child->GetRenderWidgetHost())
+                                          ->input_router())
+            ->touch_action_filter_.white_listed_touch_action_;
 
     // Send a touch move and touch end to complete the sequence, this also
     // avoids triggering DCHECKs when sending followup events.
@@ -12344,22 +12353,31 @@
 
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
+  base::Optional<cc::TouchAction> whitelisted_touch_action;
+  cc::TouchAction expected_touch_action = cc::kTouchActionPan;
   // Gestures are filtered by the intersection of touch-action values of the
   // touched element and all its ancestors up to the one that implements the
   // gesture. Since iframe allows scrolling, touch action pan restrictions will
   // not affect iframe's descendants, so we expect kTouchActionPan instead of
   // kTouchActionAuto in iframe's child.
-  EXPECT_EQ(cc::TouchAction::kTouchActionPan,
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 
   EXPECT_TRUE(
       ExecuteScript(shell(), "document.body.style.touchAction = 'auto'"));
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
-  EXPECT_EQ(cc::TouchAction::kTouchActionAuto,
+  expected_touch_action = cc::kTouchActionAuto;
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 }
 
 IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTouchActionTest,
@@ -12414,9 +12432,14 @@
   // Child should inherit effective touch action none from root.
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
-  EXPECT_EQ(cc::TouchAction::kTouchActionPan,
+  base::Optional<cc::TouchAction> whitelisted_touch_action;
+  cc::TouchAction expected_touch_action = cc::kTouchActionPan;
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 
   // Child should inherit effective touch action none from parent.
   EXPECT_TRUE(
@@ -12426,9 +12449,12 @@
       "document.getElementById('parent-div').style.touchAction = 'none';"));
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
-  EXPECT_EQ(cc::TouchAction::kTouchActionPan,
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 
   // Child should inherit effective touch action auto from root and parent.
   EXPECT_TRUE(ExecuteScript(
@@ -12436,9 +12462,13 @@
       "document.getElementById('parent-div').style.touchAction = 'auto'"));
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
-  EXPECT_EQ(cc::TouchAction::kTouchActionAuto,
+  expected_touch_action = cc::kTouchActionAuto;
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 }
 
 IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTouchActionTest,
@@ -12487,9 +12517,14 @@
   // Child should inherit effective touch action none from root.
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
-  EXPECT_EQ(cc::TouchAction::kTouchActionPan,
+  base::Optional<cc::TouchAction> whitelisted_touch_action;
+  cc::TouchAction expected_touch_action = cc::kTouchActionPan;
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 
   // After navigation, child should still inherit effective touch action none
   // from parent.
@@ -12509,9 +12544,12 @@
 
   WaitForTouchActionUpdated(root_thread_observer.get(),
                             child_thread_observer.get());
-  EXPECT_EQ(cc::TouchAction::kTouchActionPan,
+  EXPECT_EQ(expected_touch_action,
             GetEffectiveTouchActionForChild(router, rwhv_root, rwhv_child,
-                                            point_inside_child));
+                                            point_inside_child,
+                                            whitelisted_touch_action));
+  if (whitelisted_touch_action.has_value())
+    EXPECT_EQ(expected_touch_action, whitelisted_touch_action.value());
 }
 
 IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
diff --git a/content/browser/site_per_process_hit_test_browsertest.cc b/content/browser/site_per_process_hit_test_browsertest.cc
index d64bf38..d734d10a 100644
--- a/content/browser/site_per_process_hit_test_browsertest.cc
+++ b/content/browser/site_per_process_hit_test_browsertest.cc
@@ -1506,33 +1506,12 @@
   RunTest(TouchActionBubbling);
 }
 
-#if defined(OS_ANDROID)
-namespace {
-// This function is used in TouchActionAckTimeout and
-// SubframeGestureEventRouting, which is defined either under Android or Aura.
-void OnSyntheticGestureCompleted(scoped_refptr<MessageLoopRunner> runner,
-                                 SyntheticGesture::Result result) {
-  EXPECT_EQ(SyntheticGesture::GESTURE_FINISHED, result);
-  runner->Quit();
-}
-
-void GiveItSomeTime(int t) {
-  base::RunLoop run_loop;
-  base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
-      FROM_HERE, run_loop.QuitClosure(), base::TimeDelta::FromMilliseconds(t));
-  run_loop.Run();
-}
-
-}  // namespace
-#endif  // defined(OS_ANDROID)
-
 // Regression test for https://crbug.com/851644. The test passes as long as it
 // doesn't crash.
 // Touch action ack timeout is enabled on Android only.
-// Flaky, see https://crbug.com/871062.
 #if defined(OS_ANDROID)
 IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
-                       DISABLED_TouchActionAckTimeout) {
+                       TouchActionAckTimeout) {
   GURL main_url(
       embedded_test_server()->GetURL("/frame_tree/page_with_janky_frame.html"));
   ASSERT_TRUE(NavigateToURL(shell(), main_url));
@@ -1566,41 +1545,29 @@
   params.gesture_source_type = SyntheticGestureParams::TOUCH_INPUT;
   params.anchor = gfx::PointF(point_in_child.x(), point_in_child.y());
   params.distances.push_back(gfx::Vector2dF(0, -10));
-  // Make this scroll slow so that the second scroll will be queued even before
-  // this one ends.
-  params.speed_in_pixels_s = 1000;
+  // The JS jank from the "page_with_touch_start_janking_main_thread.html"
+  // causes the touch ack timeout. Set the speed high so that the gesture can be
+  // completed quickly and so does this test.
+  params.speed_in_pixels_s = 100000;
   std::unique_ptr<SyntheticSmoothScrollGesture> gesture(
       new SyntheticSmoothScrollGesture(params));
 
-  scoped_refptr<MessageLoopRunner> runner = new MessageLoopRunner();
+  InputEventAckWaiter ack_observer(
+      child_frame_host->GetRenderWidgetHost(),
+      base::BindRepeating([](content::InputEventAckSource source,
+                             content::InputEventAckState state,
+                             const blink::WebInputEvent& event) {
+        return event.GetType() == blink::WebGestureEvent::kGestureScrollEnd;
+      }));
+  ack_observer.Reset();
+
   RenderWidgetHostImpl* render_widget_host =
       root->current_frame_host()->GetRenderWidgetHost();
   render_widget_host->QueueSyntheticGesture(
-      std::move(gesture), base::BindOnce(OnSyntheticGestureCompleted, runner));
-  // The first gesture takes 100ms, so wait for 120ms to ensure that it has
-  // finished.
-  runner->Run();
-  GiveItSomeTime(120);
-
-  SyntheticSmoothScrollGestureParams params2;
-  params2.gesture_source_type = SyntheticGestureParams::TOUCH_INPUT;
-  params2.anchor = gfx::PointF(point_in_child.x(), point_in_child.y());
-  params2.distances.push_back(gfx::Vector2dF(0, -10));
-  params2.speed_in_pixels_s = 100000;
-  std::unique_ptr<SyntheticSmoothScrollGesture> gesture2(
-      new SyntheticSmoothScrollGesture(params2));
-  render_widget_host->QueueSyntheticGesture(
-      std::move(gesture2), base::BindOnce(OnSyntheticGestureCompleted, runner));
-
-  runner->Run();
-  runner = nullptr;
-
-  // Give enough time to make sure all gesture are flushed and handled.
-  base::RunLoop run_loop;
-  base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
-      FROM_HERE, run_loop.QuitClosure(),
-      base::TimeDelta::FromMilliseconds(2500));
-  run_loop.Run();
+      std::move(gesture), base::BindOnce([](SyntheticGesture::Result result) {
+        EXPECT_EQ(SyntheticGesture::GESTURE_FINISHED, result);
+      }));
+  ack_observer.Wait();
 }
 #endif  // defined(OS_ANDROID)
 
@@ -4431,6 +4398,108 @@
 #endif
 }
 
+// Verify that scrolling the main frame correctly updates the position to
+// a nested child frame. See issue https://crbug.com/878703 for more
+// information.
+// On Mac and Android, the reported menu coordinates are relative to the
+// OOPIF, and its screen position is computed later, so this test isn't
+// relevant on those platforms.
+#if !defined(OS_ANDROID) && !defined(OS_MACOSX)
+IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
+                       ScrolledNestedPopupMenuTest) {
+  GURL main_url(embedded_test_server()->GetURL(
+      "a.com", "/frame_tree/page_with_tall_positioned_frame.html"));
+  EXPECT_TRUE(NavigateToURL(shell(), main_url));
+
+  FrameTreeNode* root = web_contents()->GetFrameTree()->root();
+  FrameTreeNode* child_node = root->child_at(0);
+
+  GURL child_url(embedded_test_server()->GetURL(
+      "b.com", "/frame_tree/page_with_positioned_frame.html"));
+  NavigateFrameToURL(child_node, child_url);
+
+  FrameTreeNode* grandchild_node = child_node->child_at(0);
+
+  GURL grandchild_url(embedded_test_server()->GetURL(
+      "c.com", "/site_isolation/page-with-select.html"));
+  NavigateFrameToURL(grandchild_node, grandchild_url);
+
+  WaitForHitTestDataOrChildSurfaceReady(grandchild_node->current_frame_host());
+
+  EXPECT_EQ(
+      " Site A ------------ proxies for B C\n"
+      "   +--Site B ------- proxies for A C\n"
+      "        +--Site C -- proxies for A B\n"
+      "Where A = http://a.com/\n"
+      "      B = http://b.com/\n"
+      "      C = http://c.com/",
+      DepictFrameTree(root));
+
+  RenderWidgetHostViewBase* rwhv_root = static_cast<RenderWidgetHostViewBase*>(
+      root->current_frame_host()->GetRenderWidgetHost()->GetView());
+  RenderWidgetHostViewBase* rwhv_grandchild =
+      static_cast<RenderWidgetHostViewBase*>(
+          grandchild_node->current_frame_host()
+              ->GetRenderWidgetHost()
+              ->GetView());
+
+  scoped_refptr<ShowWidgetMessageFilter> filter = new ShowWidgetMessageFilter();
+  grandchild_node->current_frame_host()->GetProcess()->AddFilter(filter.get());
+
+  // Target left-click event to the select element in the innermost frame.
+  DispatchMouseEventAndWaitUntilDispatch(web_contents(), rwhv_grandchild,
+                                         gfx::PointF(15, 15), rwhv_grandchild,
+                                         gfx::PointF(15, 15));
+
+  // Prompt the WebContents to dismiss the popup by clicking elsewhere.
+  DispatchMouseEventAndWaitUntilDispatch(web_contents(), rwhv_grandchild,
+                                         gfx::PointF(2, 2), rwhv_grandchild,
+                                         gfx::PointF(2, 2));
+  filter->Wait();
+
+  // This test isn't verifying correctness of these coordinates, this is just
+  // to ensure that they change after scroll.
+  gfx::Rect unscrolled_popup_rect = filter->last_initial_rect();
+  gfx::Rect initial_grandchild_view_bounds = rwhv_grandchild->GetViewBounds();
+
+  // Scroll the main frame.
+  EXPECT_TRUE(ExecuteScript(root, "window.scrollTo(0, 20);"));
+
+  // Wait until the OOPIF positions have been updated in the browser process.
+  while (true) {
+    base::RunLoop run_loop;
+    base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
+        FROM_HERE, run_loop.QuitClosure(), TestTimeouts::tiny_timeout());
+    run_loop.Run();
+    if (initial_grandchild_view_bounds.y() ==
+        rwhv_grandchild->GetViewBounds().y() + 20)
+      break;
+  }
+
+  filter->Reset();
+  // This sends the message directly to the rwhv_grandchild, avoiding using
+  // the helper methods, to avert a race condition with the surfaces or
+  // HitTestRegions needing to update post-scroll. The event won't hit test
+  // correctly if it gets sent before a fresh compositor frame is received.
+  blink::WebMouseEvent down_event(
+      blink::WebInputEvent::kMouseDown, blink::WebInputEvent::kNoModifiers,
+      blink::WebInputEvent::GetStaticTimeStampForTests());
+  down_event.button = blink::WebPointerProperties::Button::kLeft;
+  down_event.click_count = 1;
+  down_event.SetPositionInWidget(15, 15);
+  rwhv_grandchild->ProcessMouseEvent(down_event, ui::LatencyInfo());
+
+  // Dismiss the popup again. This time there is no need to worry about
+  // compositor frame updates because it is sufficient to send the click to
+  // the root frame.
+  DispatchMouseEventAndWaitUntilDispatch(web_contents(), rwhv_root,
+                                         gfx::PointF(1, 1), rwhv_root,
+                                         gfx::PointF(1, 1));
+  filter->Wait();
+  EXPECT_EQ(unscrolled_popup_rect.y(), filter->last_initial_rect().y() + 20);
+}
+#endif  // !defined(OS_ANDROID)
+
 #if defined(USE_AURA)
 class SitePerProcessGestureHitTestBrowserTest
     : public SitePerProcessHitTestBrowserTest {
diff --git a/content/browser/storage_partition_impl_unittest.cc b/content/browser/storage_partition_impl_unittest.cc
index d58a94c..84e08ad 100644
--- a/content/browser/storage_partition_impl_unittest.cc
+++ b/content/browser/storage_partition_impl_unittest.cc
@@ -10,6 +10,7 @@
 #include "base/macros.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/threading/thread.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "components/services/leveldb/public/cpp/util.h"
@@ -1338,6 +1339,45 @@
   EXPECT_FALSE(tester.ContainsEntry(kResourceURL, origin));
 }
 
+TEST_F(StoragePartitionImplTest, ClearCodeCacheNoIsolatedCodeCache) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndDisableFeature(features::kIsolatedCodeCache);
+  ASSERT_FALSE(base::FeatureList::IsEnabled(features::kIsolatedCodeCache));
+
+  StoragePartitionImpl* partition = static_cast<StoragePartitionImpl*>(
+      BrowserContext::GetDefaultStoragePartition(browser_context()));
+  base::RunLoop().RunUntilIdle();
+  // We should not create GeneratedCodeCacheContext when IsolatedCodeCache
+  // is disabled.
+  EXPECT_EQ(nullptr, partition->GetGeneratedCodeCacheContext());
+
+  base::RunLoop run_loop;
+  // This shouldn't crash.
+  base::ThreadTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE, base::BindOnce(&ClearCodeCache, partition, &run_loop));
+  run_loop.Run();
+}
+
+TEST_F(StoragePartitionImplTest, ClearCodeCacheIncognito) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(features::kIsolatedCodeCache);
+  ASSERT_TRUE(base::FeatureList::IsEnabled(features::kIsolatedCodeCache));
+
+  browser_context()->set_is_off_the_record(true);
+
+  StoragePartitionImpl* partition = static_cast<StoragePartitionImpl*>(
+      BrowserContext::GetDefaultStoragePartition(browser_context()));
+  base::RunLoop().RunUntilIdle();
+  // We should not create GeneratedCodeCacheContext for off the record mode.
+  EXPECT_EQ(nullptr, partition->GetGeneratedCodeCacheContext());
+
+  base::RunLoop run_loop;
+  // This shouldn't crash.
+  base::ThreadTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE, base::BindOnce(&ClearCodeCache, partition, &run_loop));
+  run_loop.Run();
+}
+
 #if BUILDFLAG(ENABLE_PLUGINS)
 TEST_F(StoragePartitionImplTest, RemovePluginPrivateDataForever) {
   StoragePartitionImpl* partition = static_cast<StoragePartitionImpl*>(
diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h
index 0986f4e3..9d14f9c 100644
--- a/content/common/frame_messages.h
+++ b/content/common/frame_messages.h
@@ -426,12 +426,6 @@
   // considered potentially trustworthy.
   IPC_STRUCT_MEMBER(bool, has_potentially_trustworthy_unique_origin)
 
-  // See WebSearchableFormData for a description of these.
-  // Not used by PlzNavigate: in that case these fields are sent to the browser
-  // in mojom::BeginNavigationParams.
-  IPC_STRUCT_MEMBER(GURL, searchable_form_url)
-  IPC_STRUCT_MEMBER(std::string, searchable_form_encoding)
-
   // This is a non-decreasing value that the browser process can use to
   // identify and discard compositor frames that correspond to now-unloaded
   // web content.
diff --git a/content/common/navigation_gesture.h b/content/common/navigation_gesture.h
index 380cd51..f38031b 100644
--- a/content/common/navigation_gesture.h
+++ b/content/common/navigation_gesture.h
@@ -14,9 +14,7 @@
   // setTimeout-triggered document.location changes and form.submits.  See
   // http://b/1046841 for some cases that should be treated this way but aren't.
   NavigationGestureAuto,
-  // Initial state.
-  NavigationGestureUnknown,
-  NavigationGestureLast = NavigationGestureUnknown
+  NavigationGestureLast = NavigationGestureAuto
 };
 
 }  // namespace content
diff --git a/content/common/sandbox_policy_fuchsia.cc b/content/common/sandbox_policy_fuchsia.cc
index 723586c..67d758d6 100644
--- a/content/common/sandbox_policy_fuchsia.cc
+++ b/content/common/sandbox_policy_fuchsia.cc
@@ -29,7 +29,7 @@
 namespace {
 
 constexpr const char* const kRendererServices[] = {
-    fuchsia::fonts::FontProvider::Name_};
+    fuchsia::fonts::Provider::Name_};
 
 constexpr const char* const kGpuServices[] = {
     fuchsia::ui::scenic::Scenic::Name_};
diff --git a/content/common/service_worker/service_worker_loader_helpers.cc b/content/common/service_worker/service_worker_loader_helpers.cc
index 7b394959..31fa049 100644
--- a/content/common/service_worker/service_worker_loader_helpers.cc
+++ b/content/common/service_worker/service_worker_loader_helpers.cc
@@ -18,6 +18,7 @@
 #include "services/network/public/cpp/resource_request.h"
 #include "services/network/public/cpp/resource_request_body.h"
 #include "services/network/public/cpp/resource_response.h"
+#include "third_party/blink/public/common/blob/blob_utils.h"
 #include "ui/base/page_transition_types.h"
 
 namespace content {
@@ -193,7 +194,7 @@
     return net::ERR_REQUEST_RANGE_NOT_SATISFIABLE;
   }
 
-  mojo::DataPipe data_pipe;
+  mojo::DataPipe data_pipe(blink::BlobUtils::GetDataPipeCapacity());
   blink::mojom::BlobReaderClientPtr blob_reader_client;
   mojo::MakeStrongBinding(
       std::make_unique<BlobCompleteCaller>(std::move(on_blob_read_complete)),
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelperImpl.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelperImpl.java
index fe82fc9a..bb3f1f11 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelperImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelperImpl.java
@@ -427,7 +427,7 @@
         // access it afterwards.
         if (connection == null) return;
 
-        int bindingCounts[] = connection.bindingStateCountsCurrentOrWhenDied();
+        int bindingCounts[] = connection.remainingBindingStateCountsCurrentOrWhenDied();
         nativeSetTerminationInfo(terminationInfoPtr, connection.bindingStateCurrentOrWhenDied(),
                 connection.isKilledByUs(), bindingCounts[ChildBindingState.STRONG],
                 bindingCounts[ChildBindingState.MODERATE], bindingCounts[ChildBindingState.WAIVED]);
diff --git a/content/renderer/internal_document_state_data.h b/content/renderer/internal_document_state_data.h
index 1705e537..5f995cf 100644
--- a/content/renderer/internal_document_state_data.h
+++ b/content/renderer/internal_document_state_data.h
@@ -36,15 +36,6 @@
     http_status_code_ = http_status_code;
   }
 
-  const GURL& searchable_form_url() const { return searchable_form_url_; }
-  void set_searchable_form_url(const GURL& url) { searchable_form_url_ = url; }
-  const std::string& searchable_form_encoding() const {
-    return searchable_form_encoding_;
-  }
-  void set_searchable_form_encoding(const std::string& encoding) {
-    searchable_form_encoding_ = encoding;
-  }
-
   // True if the user agent was overridden for this page.
   bool is_overriding_user_agent() const { return is_overriding_user_agent_; }
   void set_is_overriding_user_agent(bool state) {
@@ -80,8 +71,6 @@
 
  private:
   int http_status_code_;
-  GURL searchable_form_url_;
-  std::string searchable_form_encoding_;
   bool is_overriding_user_agent_;
   bool must_reset_scroll_and_scale_state_;
   bool cache_policy_override_set_;
diff --git a/content/renderer/media/media_factory.cc b/content/renderer/media/media_factory.cc
index 4d3d8c0b..98d69f60 100644
--- a/content/renderer/media/media_factory.cc
+++ b/content/renderer/media/media_factory.cc
@@ -13,6 +13,7 @@
 #include "base/task_runner_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/buildflag.h"
+#include "cc/trees/layer_tree_settings.h"
 #include "content/public/common/content_client.h"
 #include "content/public/renderer/content_renderer_client.h"
 #include "content/renderer/media/audio/audio_device_factory.h"
@@ -216,8 +217,8 @@
   blink::WebMediaStream web_stream =
       GetWebMediaStreamFromWebMediaPlayerSource(source);
   if (!web_stream.IsNull())
-    return CreateWebMediaPlayerForMediaStream(client, sink_id, security_origin,
-                                              web_frame, layer_tree_view);
+    return CreateWebMediaPlayerForMediaStream(
+        client, sink_id, security_origin, web_frame, layer_tree_view, settings);
 
   // If |source| was not a MediaStream, it must be a URL.
   // TODO(guidou): Fix this when support for other srcObject types is added.
@@ -500,7 +501,8 @@
     const blink::WebString& sink_id,
     const blink::WebSecurityOrigin& security_origin,
     blink::WebLocalFrame* frame,
-    blink::WebLayerTreeView* layer_tree_view) {
+    blink::WebLayerTreeView* layer_tree_view,
+    const cc::LayerTreeSettings& settings) {
   RenderThreadImpl* const render_thread = RenderThreadImpl::current();
 
   scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner =
@@ -509,6 +511,12 @@
     compositor_task_runner =
         render_frame_->GetTaskRunner(blink::TaskType::kInternalMediaRealTime);
 
+  scoped_refptr<base::SingleThreadTaskRunner>
+      media_stream_compositor_task_runner =
+          VideoSurfaceLayerEnabledForMS()
+              ? render_thread->CreateVideoFrameCompositorTaskRunner()
+              : compositor_task_runner;
+
   DCHECK(layer_tree_view);
   return new WebMediaPlayerMS(
       frame, client, GetWebMediaPlayerDelegate(),
@@ -516,10 +524,17 @@
           url::Origin(security_origin).GetURL(),
           render_frame_->GetTaskRunner(blink::TaskType::kInternalMedia)),
       CreateMediaStreamRendererFactory(), render_thread->GetIOTaskRunner(),
-      compositor_task_runner, render_thread->GetMediaThreadTaskRunner(),
+      media_stream_compositor_task_runner,
+      render_thread->GetMediaThreadTaskRunner(),
       render_thread->GetWorkerTaskRunner(), render_thread->GetGpuFactories(),
       sink_id,
       base::BindOnce(&blink::WebSurfaceLayerBridge::Create, layer_tree_view),
+      base::BindRepeating(
+          &blink::WebVideoFrameSubmitter::Create,
+          base::BindRepeating(
+              &PostContextProviderToCallback,
+              RenderThreadImpl::current()->GetCompositorMainThreadTaskRunner()),
+          settings),
       VideoSurfaceLayerEnabledForMS());
 }
 
diff --git a/content/renderer/media/media_factory.h b/content/renderer/media/media_factory.h
index bbb8837e..51d94e37 100644
--- a/content/renderer/media/media_factory.h
+++ b/content/renderer/media/media_factory.h
@@ -127,7 +127,8 @@
       const blink::WebString& sink_id,
       const blink::WebSecurityOrigin& security_origin,
       blink::WebLocalFrame* frame,
-      blink::WebLayerTreeView* layer_tree_view);
+      blink::WebLayerTreeView* layer_tree_view,
+      const cc::LayerTreeSettings& settings);
 
   // Returns the media delegate for WebMediaPlayer usage.  If
   // |media_player_delegate_| is NULL, one is created.
diff --git a/content/renderer/media/stream/webmediaplayer_ms.cc b/content/renderer/media/stream/webmediaplayer_ms.cc
index 6db020d7..82429d9 100644
--- a/content/renderer/media/stream/webmediaplayer_ms.cc
+++ b/content/renderer/media/stream/webmediaplayer_ms.cc
@@ -269,6 +269,8 @@
     media::GpuVideoAcceleratorFactories* gpu_factories,
     const blink::WebString& sink_id,
     CreateSurfaceLayerBridgeCB create_bridge_callback,
+    base::RepeatingCallback<std::unique_ptr<blink::WebVideoFrameSubmitter>()>
+        create_submitter_callback,
     bool surface_layer_for_video_enabled)
     : frame_(frame),
       network_state_(WebMediaPlayer::kNetworkStateEmpty),
@@ -291,6 +293,7 @@
       volume_multiplier_(1.0),
       should_play_upon_shown_(false),
       create_bridge_callback_(std::move(create_bridge_callback)),
+      create_submitter_callback_(create_submitter_callback),
       surface_layer_for_video_enabled_(surface_layer_for_video_enabled) {
   DVLOG(1) << __func__;
   DCHECK(client);
@@ -349,7 +352,9 @@
     web_stream_.AddObserver(this);
 
   compositor_ = new WebMediaPlayerMSCompositor(
-      compositor_task_runner_, io_task_runner_, web_stream_, AsWeakPtr());
+      compositor_task_runner_, io_task_runner_, web_stream_,
+      create_submitter_callback_, surface_layer_for_video_enabled_,
+      AsWeakPtr());
 
   SetNetworkState(WebMediaPlayer::kNetworkStateLoading);
   SetReadyState(WebMediaPlayer::kReadyStateHaveNothing);
@@ -1079,6 +1084,10 @@
   return false;
 }
 
+void WebMediaPlayerMS::OnFrameSinkDestroyed() {
+  bridge_->ClearSurfaceId();
+}
+
 void WebMediaPlayerMS::OnFirstFrameReceived(media::VideoRotation video_rotation,
                                             bool is_opaque) {
   DVLOG(1) << __func__;
@@ -1090,6 +1099,16 @@
     bridge_ = std::move(create_bridge_callback_)
                   .Run(this, compositor_->GetUpdateSubmissionStateCallback());
     bridge_->CreateSurfaceLayer();
+    bridge_->SetContentsOpaque(opaque_);
+
+    compositor_task_runner_->PostTask(
+        FROM_HERE,
+        base::BindOnce(
+            &WebMediaPlayerMSCompositor::EnableSubmission, compositor_,
+            bridge_->GetSurfaceId(), video_rotation, IsInPictureInPicture(),
+            opaque_,
+            media::BindToCurrentLoop(base::BindRepeating(
+                &WebMediaPlayerMS::OnFrameSinkDestroyed, AsWeakPtr()))));
   }
 
   SetReadyState(WebMediaPlayer::kReadyStateHaveMetadata);
@@ -1112,6 +1131,9 @@
     DCHECK(bridge_);
 
     bridge_->SetContentsOpaque(opaque_);
+    compositor_task_runner_->PostTask(
+        FROM_HERE, base::BindOnce(&WebMediaPlayerMSCompositor::UpdateIsOpaque,
+                                  compositor_, opaque_));
   }
 }
 
@@ -1132,12 +1154,18 @@
     get_client()->SetCcLayer(new_video_layer.get());
 
     video_layer_ = std::move(new_video_layer);
-  } else if (bridge_->GetCcLayer()) {
-    // TODO(lethalantidote): Handle rotation.
-    bridge_->SetContentsOpaque(opaque_);
+  } else {
+    compositor_task_runner_->PostTask(
+        FROM_HERE, base::BindOnce(&WebMediaPlayerMSCompositor::UpdateRotation,
+                                  compositor_, video_rotation));
   }
 }
 
+bool WebMediaPlayerMS::IsInPictureInPicture() const {
+  // TODO(apacible): Add implementation. See http://crbug/746182.
+  return false;
+}
+
 void WebMediaPlayerMS::RepaintInternal() {
   DVLOG(1) << __func__;
   DCHECK(thread_checker_.CalledOnValidThread());
diff --git a/content/renderer/media/stream/webmediaplayer_ms.h b/content/renderer/media/stream/webmediaplayer_ms.h
index 8408a5d4..1f3ec20 100644
--- a/content/renderer/media/stream/webmediaplayer_ms.h
+++ b/content/renderer/media/stream/webmediaplayer_ms.h
@@ -27,6 +27,7 @@
 class WebLocalFrame;
 class WebMediaPlayerClient;
 class WebString;
+class WebVideoFrameSubmitter;
 }
 
 namespace media {
@@ -91,6 +92,8 @@
       media::GpuVideoAcceleratorFactories* gpu_factories,
       const blink::WebString& sink_id,
       CreateSurfaceLayerBridgeCB create_bridge_callback,
+      base::RepeatingCallback<std::unique_ptr<blink::WebVideoFrameSubmitter>()>
+          create_submitter_callback,
       bool surface_layer_for_video_enabled_);
 
   ~WebMediaPlayerMS() override;
@@ -237,11 +240,18 @@
   static const gfx::Size kUseGpuMemoryBufferVideoFramesMinResolution;
 #endif  // defined(OS_WIN)
 
+  // When we lose the context_provider, we destroy the CompositorFrameSink to
+  // prevent frames from being submitted. The current surface_ids become
+  // invalid.
+  void OnFrameSinkDestroyed();
+
   void OnFirstFrameReceived(media::VideoRotation video_rotation,
                             bool is_opaque);
   void OnOpacityChanged(bool is_opaque);
   void OnRotationChanged(media::VideoRotation video_rotation, bool is_opaque);
 
+  bool IsInPictureInPicture() const;
+
   // Need repaint due to state change.
   void RepaintInternal();
 
@@ -309,6 +319,7 @@
   const scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
   const scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
   const scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
+
   const scoped_refptr<base::TaskRunner> worker_task_runner_;
   media::GpuVideoAcceleratorFactories* gpu_factories_;
 
@@ -336,6 +347,9 @@
 
   CreateSurfaceLayerBridgeCB create_bridge_callback_;
 
+  base::RepeatingCallback<std::unique_ptr<blink::WebVideoFrameSubmitter>()>
+      create_submitter_callback_;
+
   // Whether the use of a surface layer instead of a video layer is enabled.
   bool surface_layer_for_video_enabled_ = false;
 
diff --git a/content/renderer/media/stream/webmediaplayer_ms_compositor.cc b/content/renderer/media/stream/webmediaplayer_ms_compositor.cc
index ee24b71..c53c0be2 100644
--- a/content/renderer/media/stream/webmediaplayer_ms_compositor.cc
+++ b/content/renderer/media/stream/webmediaplayer_ms_compositor.cc
@@ -27,6 +27,7 @@
 #include "third_party/blink/public/platform/web_media_stream.h"
 #include "third_party/blink/public/platform/web_media_stream_source.h"
 #include "third_party/blink/public/platform/web_media_stream_track.h"
+#include "third_party/blink/public/platform/web_video_frame_submitter.h"
 #include "third_party/libyuv/include/libyuv/convert.h"
 #include "third_party/libyuv/include/libyuv/planar_functions.h"
 #include "third_party/libyuv/include/libyuv/video_common.h"
@@ -128,11 +129,17 @@
 }  // anonymous namespace
 
 WebMediaPlayerMSCompositor::WebMediaPlayerMSCompositor(
-    scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner,
+    scoped_refptr<base::SingleThreadTaskRunner>
+        video_frame_compositor_task_runner,
     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
     const blink::WebMediaStream& web_stream,
+    base::RepeatingCallback<std::unique_ptr<blink::WebVideoFrameSubmitter>()>
+        create_submitter_callback,
+    bool surface_layer_for_video_enabled,
     const base::WeakPtr<WebMediaPlayerMS>& player)
-    : compositor_task_runner_(compositor_task_runner),
+    : RefCountedDeleteOnSequence<WebMediaPlayerMSCompositor>(
+          video_frame_compositor_task_runner),
+      video_frame_compositor_task_runner_(video_frame_compositor_task_runner),
       io_task_runner_(io_task_runner),
       player_(player),
       video_frame_provider_client_(nullptr),
@@ -141,9 +148,23 @@
       total_frame_count_(0),
       dropped_frame_count_(0),
       stopped_(true),
-      render_started_(!stopped_) {
+      render_started_(!stopped_),
+      weak_ptr_factory_(this) {
   main_message_loop_ = base::MessageLoopCurrent::Get();
 
+  if (surface_layer_for_video_enabled) {
+    submitter_ = create_submitter_callback.Run();
+
+    video_frame_compositor_task_runner_->PostTask(
+        FROM_HERE,
+        base::BindOnce(&WebMediaPlayerMSCompositor::InitializeSubmitter,
+                       weak_ptr_factory_.GetWeakPtr()));
+    update_submission_state_callback_ = media::BindToLoop(
+        video_frame_compositor_task_runner_,
+        base::BindRepeating(&WebMediaPlayerMSCompositor::UpdateSubmissionState,
+                            weak_ptr_factory_.GetWeakPtr()));
+  }
+
   blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
   if (!web_stream.IsNull())
     video_tracks = web_stream.VideoTracks();
@@ -168,8 +189,54 @@
 }
 
 WebMediaPlayerMSCompositor::~WebMediaPlayerMSCompositor() {
-  DCHECK(!video_frame_provider_client_)
-      << "Must call StopUsingProvider() before dtor!";
+  if (submitter_) {
+    video_frame_compositor_task_runner_->DeleteSoon(FROM_HERE,
+                                                    std::move(submitter_));
+  } else {
+    DCHECK(!video_frame_provider_client_)
+        << "Must call StopUsingProvider() before dtor!";
+  }
+}
+
+void WebMediaPlayerMSCompositor::InitializeSubmitter() {
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
+  submitter_->Initialize(this);
+}
+
+void WebMediaPlayerMSCompositor::UpdateSubmissionState(bool state) {
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
+  submitter_->UpdateSubmissionState(state);
+}
+
+// TODO(https://crbug/879424): Rename, since it really doesn't enable
+// submission. Do this along with the VideoFrameSubmitter refactor.
+void WebMediaPlayerMSCompositor::EnableSubmission(
+    const viz::SurfaceId& id,
+    media::VideoRotation rotation,
+    bool force_submit,
+    bool is_opaque,
+    blink::WebFrameSinkDestroyedCallback frame_sink_destroyed_callback) {
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
+  submitter_->SetRotation(rotation);
+  submitter_->SetForceSubmit(force_submit);
+  submitter_->SetIsOpaque(is_opaque);
+  submitter_->EnableSubmission(id, std::move(frame_sink_destroyed_callback));
+  video_frame_provider_client_ = submitter_.get();
+}
+
+void WebMediaPlayerMSCompositor::UpdateRotation(media::VideoRotation rotation) {
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
+  submitter_->SetRotation(rotation);
+}
+
+void WebMediaPlayerMSCompositor::SetForceSubmit(bool force_submit) {
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
+  submitter_->SetForceSubmit(force_submit);
+}
+
+void WebMediaPlayerMSCompositor::UpdateIsOpaque(bool is_opaque) {
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
+  submitter_->SetIsOpaque(is_opaque);
 }
 
 gfx::Size WebMediaPlayerMSCompositor::GetCurrentSize() {
@@ -200,7 +267,7 @@
 
 void WebMediaPlayerMSCompositor::SetVideoFrameProviderClient(
     cc::VideoFrameProvider::Client* client) {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   if (video_frame_provider_client_)
     video_frame_provider_client_->StopUsingProvider();
 
@@ -272,7 +339,7 @@
 bool WebMediaPlayerMSCompositor::UpdateCurrentFrame(
     base::TimeTicks deadline_min,
     base::TimeTicks deadline_max) {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
 
   TRACE_EVENT_BEGIN2("media", "UpdateCurrentFrame", "Actual Render Begin",
                      deadline_min.ToInternalValue(), "Actual Render End",
@@ -311,7 +378,7 @@
 
 scoped_refptr<media::VideoFrame> WebMediaPlayerMSCompositor::GetCurrentFrame() {
   DVLOG(3) << __func__;
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   base::AutoLock auto_lock(current_frame_lock_);
   TRACE_EVENT_INSTANT1("media", "WebMediaPlayerMSCompositor::GetCurrentFrame",
                        TRACE_EVENT_SCOPE_THREAD, "Timestamp",
@@ -324,7 +391,7 @@
 
 void WebMediaPlayerMSCompositor::PutCurrentFrame() {
   DVLOG(3) << __func__;
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   current_frame_rendered_ = true;
 }
 
@@ -344,7 +411,7 @@
     base::AutoLock auto_lock(current_frame_lock_);
     render_started_ = true;
   }
-  compositor_task_runner_->PostTask(
+  video_frame_compositor_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&WebMediaPlayerMSCompositor::StartRenderingInternal,
                      this));
@@ -352,7 +419,7 @@
 
 void WebMediaPlayerMSCompositor::StopRendering() {
   DCHECK(thread_checker_.CalledOnValidThread());
-  compositor_task_runner_->PostTask(
+  video_frame_compositor_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&WebMediaPlayerMSCompositor::StopRenderingInternal, this));
 }
@@ -370,7 +437,7 @@
 
 void WebMediaPlayerMSCompositor::StopUsingProvider() {
   DCHECK(thread_checker_.CalledOnValidThread());
-  compositor_task_runner_->PostTask(
+  video_frame_compositor_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&WebMediaPlayerMSCompositor::StopUsingProviderInternal,
                      this));
@@ -379,7 +446,7 @@
 bool WebMediaPlayerMSCompositor::MapTimestampsToRenderTimeTicks(
     const std::vector<base::TimeDelta>& timestamps,
     std::vector<base::TimeTicks>* wall_clock_times) {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread() ||
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread() ||
          thread_checker_.CalledOnValidThread() ||
          io_task_runner_->BelongsToCurrentThread());
   for (const base::TimeDelta& timestamp : timestamps) {
@@ -392,7 +459,7 @@
 void WebMediaPlayerMSCompositor::RenderUsingAlgorithm(
     base::TimeTicks deadline_min,
     base::TimeTicks deadline_max) {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   current_frame_lock_.AssertAcquired();
   last_deadline_max_ = deadline_max;
   last_render_length_ = deadline_max - deadline_min;
@@ -422,7 +489,7 @@
 void WebMediaPlayerMSCompositor::RenderWithoutAlgorithm(
     const scoped_refptr<media::VideoFrame>& frame) {
   DCHECK(io_task_runner_->BelongsToCurrentThread());
-  compositor_task_runner_->PostTask(
+  video_frame_compositor_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(
           &WebMediaPlayerMSCompositor::RenderWithoutAlgorithmOnCompositor, this,
@@ -431,7 +498,7 @@
 
 void WebMediaPlayerMSCompositor::RenderWithoutAlgorithmOnCompositor(
     const scoped_refptr<media::VideoFrame>& frame) {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   {
     base::AutoLock auto_lock(current_frame_lock_);
     SetCurrentFrame(frame);
@@ -442,7 +509,7 @@
 
 void WebMediaPlayerMSCompositor::SetCurrentFrame(
     const scoped_refptr<media::VideoFrame>& frame) {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   current_frame_lock_.AssertAcquired();
   TRACE_EVENT_INSTANT1("media", "WebMediaPlayerMSCompositor::SetCurrentFrame",
                        TRACE_EVENT_SCOPE_THREAD, "Timestamp",
@@ -464,7 +531,7 @@
 }
 
 void WebMediaPlayerMSCompositor::StartRenderingInternal() {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   stopped_ = false;
 
   if (video_frame_provider_client_)
@@ -472,7 +539,7 @@
 }
 
 void WebMediaPlayerMSCompositor::StopRenderingInternal() {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   stopped_ = true;
 
   // It is possible that the video gets paused and then resumed. We need to
@@ -490,7 +557,7 @@
 }
 
 void WebMediaPlayerMSCompositor::StopUsingProviderInternal() {
-  DCHECK(compositor_task_runner_->BelongsToCurrentThread());
+  DCHECK(video_frame_compositor_task_runner_->BelongsToCurrentThread());
   if (video_frame_provider_client_)
     video_frame_provider_client_->StopUsingProvider();
   video_frame_provider_client_ = nullptr;
diff --git a/content/renderer/media/stream/webmediaplayer_ms_compositor.h b/content/renderer/media/stream/webmediaplayer_ms_compositor.h
index 921b0bb..63caa79 100644
--- a/content/renderer/media/stream/webmediaplayer_ms_compositor.h
+++ b/content/renderer/media/stream/webmediaplayer_ms_compositor.h
@@ -11,7 +11,7 @@
 #include <memory>
 #include <vector>
 
-#include "base/memory/ref_counted.h"
+#include "base/memory/ref_counted_delete_on_sequence.h"
 #include "base/memory/weak_ptr.h"
 #include "base/message_loop/message_loop.h"
 #include "base/synchronization/lock.h"
@@ -20,6 +20,7 @@
 #include "cc/layers/video_frame_provider.h"
 #include "content/common/content_export.h"
 #include "media/base/media_log.h"
+#include "third_party/blink/public/platform/web_video_frame_submitter.h"
 
 namespace base {
 class SingleThreadTaskRunner;
@@ -37,6 +38,10 @@
 class VideoRendererAlgorithm;
 }
 
+namespace viz {
+class SurfaceId;
+}
+
 namespace content {
 class WebMediaPlayerMS;
 
@@ -51,16 +56,19 @@
 // frame, and submit it whenever asked by the compositor.
 class CONTENT_EXPORT WebMediaPlayerMSCompositor
     : public cc::VideoFrameProvider,
-      public base::RefCountedThreadSafe<WebMediaPlayerMSCompositor> {
+      public base::RefCountedDeleteOnSequence<WebMediaPlayerMSCompositor> {
  public:
   // This |url| represents the media stream we are rendering. |url| is used to
   // find out what web stream this WebMediaPlayerMSCompositor is playing, and
   // together with flag "--disable-rtc-smoothness-algorithm" determine whether
   // we enable algorithm or not.
   WebMediaPlayerMSCompositor(
-      scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner,
+      scoped_refptr<base::SingleThreadTaskRunner> task_runner,
       scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
       const blink::WebMediaStream& web_stream,
+      base::RepeatingCallback<std::unique_ptr<blink::WebVideoFrameSubmitter>()>
+          create_submitter_callback,
+      bool surface_layer_for_video_enabled,
       const base::WeakPtr<WebMediaPlayerMS>& player);
 
   // Can be called from any thread.
@@ -76,6 +84,24 @@
   size_t total_frame_count();
   size_t dropped_frame_count();
 
+  // Signals the VideoFrameSubmitter to prepare to receive BeginFrames and
+  // submit video frames given by WebMediaPlayerMSCompositor.
+  virtual void EnableSubmission(
+      const viz::SurfaceId& id,
+      media::VideoRotation rotation,
+      bool force_submit,
+      bool is_opaque,
+      blink::WebFrameSinkDestroyedCallback frame_sink_destroyed_callback);
+
+  // Updates the rotation information for frames given to |submitter_|.
+  void UpdateRotation(media::VideoRotation rotation);
+
+  // Notifies the |submitter_| that the frames must be submitted.
+  void SetForceSubmit(bool);
+
+  // Updates the opacity information for frames given to |submitter_|.
+  void UpdateIsOpaque(bool);
+
   // VideoFrameProvider implementation.
   void SetVideoFrameProviderClient(
       cc::VideoFrameProvider::Client* client) override;
@@ -101,11 +127,19 @@
   void StopUsingProvider();
 
  private:
-  friend class base::RefCountedThreadSafe<WebMediaPlayerMSCompositor>;
+  friend class base::RefCountedDeleteOnSequence<WebMediaPlayerMSCompositor>;
+  friend class base::DeleteHelper<WebMediaPlayerMSCompositor>;
   friend class WebMediaPlayerMSTest;
 
   ~WebMediaPlayerMSCompositor() override;
 
+  // Ran on the |video_frame_compositor_task_runner_| to initialize
+  // |submitter_|
+  void InitializeSubmitter();
+
+  // Signals the VideoFrameSubmitter to stop submitting frames.
+  void UpdateSubmissionState(bool);
+
   bool MapTimestampsToRenderTimeTicks(
       const std::vector<base::TimeDelta>& timestamps,
       std::vector<base::TimeTicks>* wall_clock_times);
@@ -138,7 +172,8 @@
   // which is renderer main thread in this class.
   base::ThreadChecker thread_checker_;
 
-  const scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
+  const scoped_refptr<base::SingleThreadTaskRunner>
+      video_frame_compositor_task_runner_;
   const scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
   base::MessageLoop* main_message_loop_;
 
@@ -186,6 +221,8 @@
   bool stopped_;
   bool render_started_;
 
+  std::unique_ptr<blink::WebVideoFrameSubmitter> submitter_;
+
   std::map<base::TimeDelta, base::TimeTicks> timestamps_to_clock_times_;
 
   cc::UpdateSubmissionStateCB update_submission_state_callback_;
@@ -194,6 +231,8 @@
   // |dropped_frame_count_|, and |render_started_|.
   base::Lock current_frame_lock_;
 
+  base::WeakPtrFactory<WebMediaPlayerMSCompositor> weak_ptr_factory_;
+
   DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerMSCompositor);
 };
 }  // namespace content
diff --git a/content/renderer/media/stream/webmediaplayer_ms_unittest.cc b/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
index 065fc62..232c446 100644
--- a/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
+++ b/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
@@ -26,8 +26,9 @@
 #include "third_party/blink/public/platform/web_media_player_client.h"
 #include "third_party/blink/public/platform/web_media_player_source.h"
 
+using ::testing::NiceMock;
 using ::testing::Return;
-using ::testing::StrictMock;
+using ::testing::ReturnRef;
 
 namespace content {
 
@@ -40,12 +41,22 @@
 
 class MockSurfaceLayerBridge : public blink::WebSurfaceLayerBridge {
  public:
+  MockSurfaceLayerBridge() {
+    ON_CALL(*this, GetSurfaceId).WillByDefault(ReturnRef(surface_id_));
+  }
+
   MOCK_CONST_METHOD0(GetCcLayer, cc::Layer*());
   MOCK_CONST_METHOD0(GetFrameSinkId, const viz::FrameSinkId&());
   MOCK_CONST_METHOD0(GetSurfaceId, const viz::SurfaceId&());
   MOCK_METHOD1(SetContentsOpaque, void(bool));
   MOCK_METHOD0(CreateSurfaceLayer, void());
   MOCK_METHOD0(ClearSurfaceId, void());
+
+  viz::FrameSinkId frame_sink_id_ = viz::FrameSinkId(1, 1);
+  viz::LocalSurfaceId local_surface_id_ =
+      viz::LocalSurfaceId(11, base::UnguessableToken::Deserialize(0x111111, 0));
+  viz::SurfaceId surface_id_ =
+      viz::SurfaceId(frame_sink_id_, local_surface_id_);
 };
 
 using TestFrame = std::pair<FrameType, scoped_refptr<media::VideoFrame>>;
@@ -414,6 +425,23 @@
     message_loop_controller_->GetClosure().Run();
 }
 
+class MockWebVideoFrameSubmitter : public blink::WebVideoFrameSubmitter {
+ public:
+  // blink::WebVideoFrameSubmitter implementation.
+  MOCK_METHOD0(StopUsingProvider, void());
+  MOCK_METHOD0(DidReceiveFrame, void());
+  MOCK_METHOD2(EnableSubmission,
+               void(viz::SurfaceId, blink::WebFrameSinkDestroyedCallback));
+  MOCK_METHOD0(StartRendering, void());
+  MOCK_METHOD0(StopRendering, void());
+  MOCK_METHOD1(Initialize, void(cc::VideoFrameProvider*));
+  MOCK_METHOD1(SetRotation, void(media::VideoRotation));
+  MOCK_METHOD1(SetIsOpaque, void(bool));
+  MOCK_METHOD1(UpdateSubmissionState, void(bool));
+  MOCK_METHOD1(SetForceSubmit, void(bool));
+  MOCK_CONST_METHOD0(IsDrivingFrameUpdates, bool());
+};
+
 // The class is used to generate a MockVideoProvider in
 // WebMediaPlayerMS::load().
 class MockRenderFactory : public MediaStreamRendererFactory {
@@ -498,7 +526,10 @@
 // 7. When WebMediaPlayerMS::play gets called, evething paused in step 6 should
 //    be resumed.
 class WebMediaPlayerMSTest
-    : public testing::TestWithParam<testing::tuple<bool, bool>> ,
+    : public testing::TestWithParam<
+          testing::tuple<bool /* enable_surface_layer_for_video */,
+                         bool /* opaque_frame */,
+                         bool /* odd_size_frame */>>,
       public blink::WebMediaPlayerClient,
       public cc::VideoFrameProvider::Client {
  public:
@@ -507,18 +538,20 @@
                                               &message_loop_controller_)),
         gpu_factories_(new media::MockGpuVideoAcceleratorFactories(nullptr)),
         surface_layer_bridge_(
-            std::make_unique<StrictMock<MockSurfaceLayerBridge>>()),
+            std::make_unique<NiceMock<MockSurfaceLayerBridge>>()),
+        submitter_(std::make_unique<NiceMock<MockWebVideoFrameSubmitter>>()),
         layer_set_(false),
         rendering_(false),
         background_rendering_(false) {
     surface_layer_bridge_ptr_ = surface_layer_bridge_.get();
+    submitter_ptr_ = submitter_.get();
   }
   ~WebMediaPlayerMSTest() override {
     player_.reset();
     base::RunLoop().RunUntilIdle();
   }
 
-  void InitializeWebMediaPlayerMS(bool enable_surface_layer_for_video);
+  void InitializeWebMediaPlayerMS();
 
   MockMediaStreamVideoRenderer* LoadAndGetFrameProvider(bool algorithm_enabled);
 
@@ -621,6 +654,11 @@
     return std::move(surface_layer_bridge_);
   }
 
+  std::unique_ptr<blink::WebVideoFrameSubmitter>
+  CreateWebMockVideoFrameSubmitter() {
+    return std::move(submitter_);
+  }
+
   base::MessageLoop message_loop_;
   MockRenderFactory* render_factory_;
   std::unique_ptr<media::MockGpuVideoAcceleratorFactories> gpu_factories_;
@@ -631,8 +669,11 @@
   cc::Layer* layer_;
   bool is_audio_element_ = false;
   std::vector<base::OnceClosure> frame_ready_cbs_;
-  std::unique_ptr<StrictMock<MockSurfaceLayerBridge>> surface_layer_bridge_;
-  StrictMock<MockSurfaceLayerBridge>* surface_layer_bridge_ptr_ = nullptr;
+  std::unique_ptr<NiceMock<MockSurfaceLayerBridge>> surface_layer_bridge_;
+  std::unique_ptr<NiceMock<MockWebVideoFrameSubmitter>> submitter_;
+  NiceMock<MockSurfaceLayerBridge>* surface_layer_bridge_ptr_ = nullptr;
+  NiceMock<MockWebVideoFrameSubmitter>* submitter_ptr_ = nullptr;
+  bool enable_surface_layer_for_video_ = false;
 
  private:
   // Main function trying to ask WebMediaPlayerMS to submit a frame for
@@ -644,17 +685,20 @@
   bool background_rendering_;
 };
 
-void WebMediaPlayerMSTest::InitializeWebMediaPlayerMS(
-    bool enable_surface_layer_for_video) {
+void WebMediaPlayerMSTest::InitializeWebMediaPlayerMS() {
+  enable_surface_layer_for_video_ = testing::get<0>(GetParam());
   player_ = std::make_unique<WebMediaPlayerMS>(
       nullptr, this, &delegate_, std::make_unique<media::MediaLog>(),
       std::unique_ptr<MediaStreamRendererFactory>(render_factory_),
       message_loop_.task_runner(), message_loop_.task_runner(),
       message_loop_.task_runner(), message_loop_.task_runner(),
       gpu_factories_.get(), blink::WebString(),
-      base::BindRepeating(&WebMediaPlayerMSTest::CreateMockSurfaceLayerBridge,
-                          base::Unretained(this)),
-      enable_surface_layer_for_video);
+      base::BindOnce(&WebMediaPlayerMSTest::CreateMockSurfaceLayerBridge,
+                     base::Unretained(this)),
+      base::BindRepeating(
+          &WebMediaPlayerMSTest::CreateWebMockVideoFrameSubmitter,
+          base::Unretained(this)),
+      enable_surface_layer_for_video_);
 }
 
 MockMediaStreamVideoRenderer* WebMediaPlayerMSTest::LoadAndGetFrameProvider(
@@ -709,8 +753,12 @@
   layer_set_ = layer ? true : false;
 
   layer_ = layer;
-  if (layer)
-    compositor_->SetVideoFrameProviderClient(this);
+  if (layer) {
+    if (enable_surface_layer_for_video_)
+      compositor_->SetVideoFrameProviderClient(submitter_ptr_);
+    else
+      compositor_->SetVideoFrameProviderClient(this);
+  }
   DoSetCcLayer(!!layer);
 }
 
@@ -769,8 +817,8 @@
   CheckSizeChanged(frame_size);
 }
 
-TEST_F(WebMediaPlayerMSTest, NoDataDuringLoadForVideo) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, NoDataDuringLoadForVideo) {
+  InitializeWebMediaPlayerMS();
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata))
       .Times(0);
@@ -787,8 +835,8 @@
   EXPECT_CALL(*this, DoSetCcLayer(false));
 }
 
-TEST_F(WebMediaPlayerMSTest, NoWaitForFrameForAudio) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, NoWaitForFrameForAudio) {
+  InitializeWebMediaPlayerMS();
   is_audio_element_ = true;
   scoped_refptr<MediaStreamAudioRenderer> audio_renderer(
       new MockMediaStreamAudioRenderer());
@@ -814,8 +862,8 @@
   EXPECT_CALL(*this, DoSetCcLayer(false));
 }
 
-TEST_F(WebMediaPlayerMSTest, NoWaitForFrameForAudioOnly) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, NoWaitForFrameForAudioOnly) {
+  InitializeWebMediaPlayerMS();
   render_factory_->set_support_video_renderer(false);
   scoped_refptr<MediaStreamAudioRenderer> audio_renderer(
       new MockMediaStreamAudioRenderer());
@@ -828,12 +876,12 @@
   EXPECT_CALL(*this, DoSetCcLayer(false));
 }
 
-TEST_F(WebMediaPlayerMSTest, Playing_Normal) {
+TEST_P(WebMediaPlayerMSTest, Playing_Normal) {
   // This test sends a bunch of normal frames with increasing timestamps
   // and verifies that they are produced by WebMediaPlayerMS in appropriate
   // order.
 
-  InitializeWebMediaPlayerMS(false);
+  InitializeWebMediaPlayerMS();
 
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(true);
 
@@ -842,8 +890,12 @@
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps);
 
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -858,14 +910,17 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
 
-TEST_F(WebMediaPlayerMSTest, Playing_ErrorFrame) {
+TEST_P(WebMediaPlayerMSTest, Playing_ErrorFrame) {
   // This tests sends a broken frame to WebMediaPlayerMS, and verifies
   // OnSourceError function works as expected.
 
-  InitializeWebMediaPlayerMS(false);
+  InitializeWebMediaPlayerMS();
 
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(false);
 
@@ -875,8 +930,12 @@
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps);
 
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -890,13 +949,16 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
 
 TEST_P(WebMediaPlayerMSTest, PlayThenPause) {
-  InitializeWebMediaPlayerMS(false);
-  const bool opaque_frame = testing::get<0>(GetParam());
-  const bool odd_size_frame = testing::get<1>(GetParam());
+  InitializeWebMediaPlayerMS();
+  const bool opaque_frame = testing::get<1>(GetParam());
+  const bool odd_size_frame = testing::get<2>(GetParam());
   // In the middle of this test, WebMediaPlayerMS::pause will be called, and we
   // are going to verify that during the pause stage, a frame gets freezed, and
   // cc::VideoFrameProviderClient should also be paused.
@@ -908,8 +970,13 @@
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps, opaque_frame, odd_size_frame);
 
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -923,7 +990,11 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   // Here we call pause, and expect a freezing frame.
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopRendering());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
+
   player_->Pause();
   auto prev_frame = compositor_->GetCurrentFrameWithoutUpdatingStatistics();
   message_loop_controller_.RunAndWaitForStatus(
@@ -936,9 +1007,9 @@
 }
 
 TEST_P(WebMediaPlayerMSTest, PlayThenPauseThenPlay) {
-  InitializeWebMediaPlayerMS(false);
-  const bool opaque_frame = testing::get<0>(GetParam());
-  const bool odd_size_frame = testing::get<1>(GetParam());
+  InitializeWebMediaPlayerMS();
+  const bool opaque_frame = testing::get<1>(GetParam());
+  const bool odd_size_frame = testing::get<2>(GetParam());
   // Similary to PlayAndPause test above, this one focuses on testing that
   // WebMediaPlayerMS can be resumed after a period of paused status.
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(false);
@@ -950,8 +1021,13 @@
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps, opaque_frame, odd_size_frame);
 
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -965,7 +1041,11 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   // Here we call pause, and expect a freezing frame.
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopRendering());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
+
   player_->Pause();
   auto prev_frame = compositor_->GetCurrentFrameWithoutUpdatingStatistics();
   message_loop_controller_.RunAndWaitForStatus(
@@ -975,7 +1055,11 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   // We resume the player, and expect rendering can continue.
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  else
+    EXPECT_CALL(*this, DoStartRendering());
+
   player_->Play();
   prev_frame = compositor_->GetCurrentFrameWithoutUpdatingStatistics();
   message_loop_controller_.RunAndWaitForStatus(
@@ -985,26 +1069,30 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  } else {
+    EXPECT_CALL(*this, DoStopRendering());
+  }
 }
 
-INSTANTIATE_TEST_CASE_P(,
-                        WebMediaPlayerMSTest,
-                        ::testing::Combine(::testing::Bool(),
-                                           ::testing::Bool()));
-
 // During this test, we check that when we send rotated video frames, it applies
 // to player's natural size.
-TEST_F(WebMediaPlayerMSTest, RotationChange) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, RotationChange) {
+  InitializeWebMediaPlayerMS();
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(true);
 
   const int kTestBrake = static_cast<int>(FrameType::TEST_BRAKE);
   static int tokens[] = {0, 33, kTestBrake};
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps, false, false, 17, media::VIDEO_ROTATION_90);
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -1020,9 +1108,13 @@
 
   // Change rotation.
   provider->QueueFrames(timestamps, false, false, 17, media::VIDEO_ROTATION_0);
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStopRendering());
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*submitter_ptr_, SetRotation(media::VIDEO_ROTATION_0));
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStopRendering());
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   message_loop_controller_.RunAndWaitForStatus(
       media::PipelineStatus::PIPELINE_OK);
   natural_size = player_->NaturalSize();
@@ -1031,13 +1123,17 @@
 
   testing::Mock::VerifyAndClearExpectations(this);
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
 
 // During this test, we check that web layer changes opacity according to the
 // given frames.
-TEST_F(WebMediaPlayerMSTest, OpacityChange) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, OpacityChange) {
+  InitializeWebMediaPlayerMS();
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(true);
 
   // Push one opaque frame.
@@ -1045,8 +1141,13 @@
   static int tokens[] = {0, kTestBrake};
   std::vector<int> timestamps(tokens, tokens + arraysize(tokens));
   provider->QueueFrames(timestamps, true);
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -1055,34 +1156,50 @@
               CheckSizeChanged(gfx::Size(kStandardWidth, kStandardHeight)));
   message_loop_controller_.RunAndWaitForStatus(
       media::PipelineStatus::PIPELINE_OK);
-  ASSERT_TRUE(layer_ != nullptr);
-  EXPECT_TRUE(layer_->contents_opaque());
+
+  if (!enable_surface_layer_for_video_) {
+    ASSERT_TRUE(layer_ != nullptr);
+    EXPECT_TRUE(layer_->contents_opaque());
+  }
 
   // Push one transparent frame.
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, SetContentsOpaque(false));
+    EXPECT_CALL(*submitter_ptr_, SetIsOpaque(false));
+  }
   provider->QueueFrames(timestamps, false);
   message_loop_controller_.RunAndWaitForStatus(
       media::PipelineStatus::PIPELINE_OK);
-  EXPECT_FALSE(layer_->contents_opaque());
+  if (!enable_surface_layer_for_video_)
+    EXPECT_FALSE(layer_->contents_opaque());
 
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, SetContentsOpaque(true));
+    EXPECT_CALL(*submitter_ptr_, SetIsOpaque(true));
+  }
   // Push another opaque frame.
   provider->QueueFrames(timestamps, true);
   message_loop_controller_.RunAndWaitForStatus(
       media::PipelineStatus::PIPELINE_OK);
-  EXPECT_TRUE(layer_->contents_opaque());
+  if (!enable_surface_layer_for_video_)
+    EXPECT_TRUE(layer_->contents_opaque());
 
   testing::Mock::VerifyAndClearExpectations(this);
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
 
-TEST_F(WebMediaPlayerMSTest, BackgroundRendering) {
+TEST_P(WebMediaPlayerMSTest, BackgroundRendering) {
   // During this test, we will switch to background rendering mode, in which
   // WebMediaPlayerMS::pause does not get called, but
   // cc::VideoFrameProviderClient simply stops asking frames from
   // WebMediaPlayerMS without an explicit notification. We should expect that
   // WebMediaPlayerMS can digest old frames, rather than piling frames up and
   // explode.
-  InitializeWebMediaPlayerMS(false);
+  InitializeWebMediaPlayerMS();
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(true);
 
   const int kTestBrake = static_cast<int>(FrameType::TEST_BRAKE);
@@ -1092,8 +1209,13 @@
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps);
 
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -1106,7 +1228,11 @@
 
   // Switch to background rendering, expect rendering to continue for all the
   // frames between kTestBrake frames.
-  EXPECT_CALL(*this, DoDidReceiveFrame()).Times(testing::AtLeast(1));
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, DidReceiveFrame()).Times(testing::AtLeast(1));
+  else
+    EXPECT_CALL(*this, DoDidReceiveFrame()).Times(testing::AtLeast(1));
+
   SetBackgroundRendering(true);
   auto prev_frame = compositor_->GetCurrentFrameWithoutUpdatingStatistics();
   message_loop_controller_.RunAndWaitForStatus(
@@ -1124,14 +1250,17 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
 
-TEST_F(WebMediaPlayerMSTest, FrameSizeChange) {
+TEST_P(WebMediaPlayerMSTest, FrameSizeChange) {
   // During this test, the frame size of the input changes.
   // We need to make sure, when sizeChanged() gets called, new size should be
   // returned by GetCurrentSize().
-  InitializeWebMediaPlayerMS(false);
+  InitializeWebMediaPlayerMS();
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(true);
 
   int tokens[] = {0,   33,  66,  100, 133, 166, 200, 233, 266, 300,
@@ -1139,8 +1268,13 @@
   std::vector<int> timestamps(tokens, tokens + sizeof(tokens) / sizeof(int));
   provider->QueueFrames(timestamps, false, false, 7);
 
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -1154,12 +1288,15 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
 
 // Tests that GpuMemoryBufferVideoFramePool is called in the expected sequence.
-TEST_F(WebMediaPlayerMSTest, CreateHardwareFrames) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, CreateHardwareFrames) {
+  InitializeWebMediaPlayerMS();
   MockMediaStreamVideoRenderer* provider = LoadAndGetFrameProvider(false);
   SetGpuMemoryBufferVideoForTesting();
 
@@ -1171,8 +1308,13 @@
       media::PipelineStatus::PIPELINE_OK);
 
   ASSERT_EQ(1u, frame_ready_cbs_.size());
-  EXPECT_CALL(*this, DoSetCcLayer(true));
-  EXPECT_CALL(*this, DoStartRendering());
+  if (enable_surface_layer_for_video_) {
+    EXPECT_CALL(*surface_layer_bridge_ptr_, CreateSurfaceLayer());
+    EXPECT_CALL(*submitter_ptr_, StartRendering());
+  } else {
+    EXPECT_CALL(*this, DoSetCcLayer(true));
+    EXPECT_CALL(*this, DoStartRendering());
+  }
   EXPECT_CALL(*this, DoReadyStateChanged(
                          blink::WebMediaPlayer::kReadyStateHaveMetadata));
   EXPECT_CALL(*this, DoReadyStateChanged(
@@ -1189,12 +1331,14 @@
   testing::Mock::VerifyAndClearExpectations(this);
 
   EXPECT_CALL(*this, DoSetCcLayer(false));
-  EXPECT_CALL(*this, DoStopRendering());
+  if (enable_surface_layer_for_video_)
+    EXPECT_CALL(*submitter_ptr_, StopUsingProvider());
+  else
+    EXPECT_CALL(*this, DoStopRendering());
 }
-
 #if defined(OS_ANDROID)
-TEST_F(WebMediaPlayerMSTest, HiddenPlayerTests) {
-  InitializeWebMediaPlayerMS(false);
+TEST_P(WebMediaPlayerMSTest, HiddenPlayerTests) {
+  InitializeWebMediaPlayerMS();
   LoadAndGetFrameProvider(true);
 
   // Hidden status should not affect playback.
@@ -1244,4 +1388,9 @@
 }
 #endif
 
+INSTANTIATE_TEST_CASE_P(,
+                        WebMediaPlayerMSTest,
+                        ::testing::Combine(::testing::Bool(),
+                                           ::testing::Bool(),
+                                           ::testing::Bool()));
 }  // namespace content
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index cdc05bd4..1b66caf 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -56,6 +56,7 @@
 #include "content/common/frame_owner_properties.h"
 #include "content/common/frame_replication_state.h"
 #include "content/common/input_messages.h"
+#include "content/common/navigation_gesture.h"
 #include "content/common/navigation_params.h"
 #include "content/common/page_messages.h"
 #include "content/common/possibly_associated_wrapper_shared_url_loader_factory.h"
@@ -4026,20 +4027,12 @@
       DocumentState::FromDocumentLoader(frame_->GetProvisionalDocumentLoader());
   NavigationStateImpl* navigation_state =
       static_cast<NavigationStateImpl*>(document_state->navigation_state());
-  InternalDocumentStateData* internal_data =
-      InternalDocumentStateData::FromDocumentState(document_state);
 
   if (ui::PageTransitionCoreTypeIs(navigation_state->GetTransitionType(),
                                    ui::PAGE_TRANSITION_LINK)) {
     navigation_state->set_transition_type(ui::PAGE_TRANSITION_FORM_SUBMIT);
   }
 
-  // Save these to be processed when the ensuing navigation is committed.
-  WebSearchableFormData web_searchable_form_data(form);
-  internal_data->set_searchable_form_url(web_searchable_form_data.Url());
-  internal_data->set_searchable_form_encoding(
-      web_searchable_form_data.Encoding().Utf8());
-
   for (auto& observer : observers_)
     observer.WillSubmitForm(form);
 }
@@ -4098,14 +4091,7 @@
       DocumentState::FromDocumentLoader(document_loader);
   NavigationStateImpl* navigation_state = static_cast<NavigationStateImpl*>(
       document_state->navigation_state());
-  bool is_top_most = !frame_->Parent();
-  if (is_top_most) {
-    auto navigation_gesture =
-        WebUserGestureIndicator::IsProcessingUserGesture(frame_)
-            ? NavigationGestureUser
-            : NavigationGestureAuto;
-    render_view_->set_navigation_gesture(navigation_gesture);
-  } else if (document_loader->ReplacesCurrentHistoryItem()) {
+  if (frame_->Parent() && document_loader->ReplacesCurrentHistoryItem()) {
     // Subframe navigations that don't add session history items must be
     // marked with AUTO_SUBFRAME. See also didFailProvisionalLoad for how we
     // handle loading of error pages.
@@ -5464,11 +5450,8 @@
   params->should_update_history =
       !document_loader->HasUnreachableURL() && response.HttpStatusCode() != 404;
 
-  params->searchable_form_url = internal_data->searchable_form_url();
-  params->searchable_form_encoding = internal_data->searchable_form_encoding();
-
-  params->gesture = render_view_->navigation_gesture_;
-  render_view_->navigation_gesture_ = NavigationGestureUnknown;
+  params->gesture = document_loader->HadUserGesture() ? NavigationGestureUser
+                                                      : NavigationGestureAuto;
 
   // Make navigation state a part of the DidCommitProvisionalLoad message so
   // that committed entry has it at all times.  Send a single HistoryItem for
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index e89e01a8..566f097b 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -27,7 +27,6 @@
 #include "cc/input/browser_controls_state.h"
 #include "content/common/content_export.h"
 #include "content/common/frame_message_enums.h"
-#include "content/common/navigation_gesture.h"
 #include "content/public/common/browser_controls_state.h"
 #include "content/public/common/drop_data.h"
 #include "content/public/common/page_zoom.h"
@@ -515,13 +514,6 @@
     return observers_;
   }
 
-  NavigationGesture navigation_gesture() {
-    return navigation_gesture_;
-  }
-  void set_navigation_gesture(NavigationGesture gesture) {
-    navigation_gesture_ = gesture;
-  }
-
 // Platform specific theme preferences if any are updated here.
 #if defined(OS_WIN)
   void UpdateThemePrefs();
@@ -577,10 +569,6 @@
 
   // Loading state -------------------------------------------------------------
 
-  // The gesture that initiated the current navigation.
-  // TODO(nasko): Move to RenderFrame, as this is per-frame state.
-  NavigationGesture navigation_gesture_ = NavigationGestureUnknown;
-
   // Timer used to delay the updating of nav state (see
   // StartNavStateSyncTimerIfNecessary).
   base::OneShotTimer nav_state_sync_timer_;
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index ef073fc..38e21ad 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -1071,6 +1071,8 @@
 
   // Notify subclasses that we initiated the paint operation.
   DidInitiatePaint();
+
+  Send(new ViewHostMsg_DidCommitAndDrawCompositorFrame(routing_id_));
 }
 
 void RenderWidget::DidCommitCompositorFrame() {
diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc
index 91fbdfd..d60d7465 100644
--- a/content/renderer/service_worker/service_worker_context_client.cc
+++ b/content/renderer/service_worker/service_worker_context_client.cc
@@ -70,7 +70,7 @@
 #include "third_party/blink/public/platform/modules/notifications/web_notification_data.h"
 #include "third_party/blink/public/platform/modules/payments/web_payment_handler_response.h"
 #include "third_party/blink/public/platform/modules/payments/web_payment_request_event_data.h"
-#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_client_query_options.h"
+#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_clients_info.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_error.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_network_provider.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_request.h"
@@ -336,108 +336,6 @@
       map, std::forward<Args>(args)..., base::Time::Now());
 }
 
-void DidGetClients(
-    std::unique_ptr<blink::WebServiceWorkerClientsCallbacks> callbacks,
-    std::vector<blink::mojom::ServiceWorkerClientInfoPtr> clients) {
-  blink::WebServiceWorkerClientsInfo info;
-  blink::WebVector<blink::WebServiceWorkerClientInfo> web_clients(
-      clients.size());
-  for (size_t i = 0; i < clients.size(); ++i)
-    web_clients[i] = ToWebServiceWorkerClientInfo(std::move(clients[i]));
-  info.clients.Swap(web_clients);
-  callbacks->OnSuccess(info);
-}
-
-void DidClaimClients(
-    std::unique_ptr<blink::WebServiceWorkerClientsClaimCallbacks> callbacks,
-    blink::mojom::ServiceWorkerErrorType error,
-    const base::Optional<std::string>& error_msg) {
-  if (error != blink::mojom::ServiceWorkerErrorType::kNone) {
-    callbacks->OnError(blink::WebServiceWorkerError(
-        error, blink::WebString::FromUTF8(*error_msg)));
-    return;
-  }
-  DCHECK(!error_msg);
-  callbacks->OnSuccess();
-}
-
-void DidGetClient(
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
-    blink::mojom::ServiceWorkerClientInfoPtr client) {
-  std::unique_ptr<blink::WebServiceWorkerClientInfo> web_client;
-  if (client) {
-    web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
-        ToWebServiceWorkerClientInfo(std::move(client)));
-  }
-  callbacks->OnSuccess(std::move(web_client));
-}
-
-void DidSkipWaiting(
-    std::unique_ptr<blink::WebServiceWorkerSkipWaitingCallbacks> callbacks,
-    bool success) {
-  // OnError() should not be called here since per spec the promise returned by
-  // skipWaiting() can never reject.
-  if (!success)
-    return;
-  callbacks->OnSuccess();
-}
-
-void DidOpenWindow(
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
-    bool success,
-    blink::mojom::ServiceWorkerClientInfoPtr client,
-    const base::Optional<std::string>& error_msg) {
-  if (!success) {
-    DCHECK(!client);
-    callbacks->OnError(blink::WebServiceWorkerError(
-        blink::mojom::ServiceWorkerErrorType::kNavigation,
-        blink::WebString::FromUTF8(*error_msg)));
-    return;
-  }
-
-  std::unique_ptr<blink::WebServiceWorkerClientInfo> web_client;
-  if (client) {
-    web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
-        ToWebServiceWorkerClientInfo(std::move(client)));
-  }
-  callbacks->OnSuccess(std::move(web_client));
-}
-
-void DidFocusClient(
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
-    blink::mojom::ServiceWorkerClientInfoPtr client) {
-  if (!client) {
-    callbacks->OnError(blink::WebServiceWorkerError(
-        blink::mojom::ServiceWorkerErrorType::kNotFound,
-        "The client was not found."));
-    return;
-  }
-  auto web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
-      ToWebServiceWorkerClientInfo(std::move(client)));
-  callbacks->OnSuccess(std::move(web_client));
-}
-
-void DidNavigateClient(
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
-    bool success,
-    blink::mojom::ServiceWorkerClientInfoPtr client,
-    const base::Optional<std::string>& error_msg) {
-  if (!success) {
-    DCHECK(!client);
-    callbacks->OnError(blink::WebServiceWorkerError(
-        blink::mojom::ServiceWorkerErrorType::kNavigation,
-        blink::WebString::FromUTF8(*error_msg)));
-    return;
-  }
-
-  std::unique_ptr<blink::WebServiceWorkerClientInfo> web_client;
-  if (client) {
-    web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
-        ToWebServiceWorkerClientInfo(std::move(client)));
-  }
-  callbacks->OnSuccess(std::move(web_client));
-}
-
 }  // namespace
 
 // Holding data that needs to be bound to the worker context on the
@@ -457,10 +355,6 @@
 
   mojo::Binding<mojom::ServiceWorker> service_worker_binding;
 
-  // Bound by the first Mojo call received on the service worker thread
-  // ServiceWorker::InitializeGlobalScope().
-  blink::mojom::ServiceWorkerHostAssociatedPtr service_worker_host;
-
   // Maps for inflight event callbacks.
   // These are mapped from an event id issued from ServiceWorkerTimeoutTimer to
   // the Mojo callback to notify the end of the event.
@@ -748,51 +642,6 @@
       std::move(info));
 }
 
-void ServiceWorkerContextClient::GetClient(
-    const blink::WebString& id,
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->GetClient(
-      id.Utf8(), base::BindOnce(&DidGetClient, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::GetClients(
-    const blink::WebServiceWorkerClientQueryOptions& weboptions,
-    std::unique_ptr<blink::WebServiceWorkerClientsCallbacks> callbacks) {
-  DCHECK(callbacks);
-  auto options = blink::mojom::ServiceWorkerClientQueryOptions::New(
-      weboptions.include_uncontrolled, weboptions.client_type);
-  context_->service_worker_host->GetClients(
-      std::move(options), base::BindOnce(&DidGetClients, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::OpenNewTab(
-    const blink::WebURL& url,
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->OpenNewTab(
-      url, base::BindOnce(&DidOpenWindow, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::OpenPaymentHandlerWindow(
-    const blink::WebURL& url,
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->OpenPaymentHandlerWindow(
-      url, base::BindOnce(&DidOpenWindow, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::SetCachedMetadata(const blink::WebURL& url,
-                                                   const char* data,
-                                                   size_t size) {
-  context_->service_worker_host->SetCachedMetadata(
-      url, std::vector<uint8_t>(data, data + size));
-}
-
-void ServiceWorkerContextClient::ClearCachedMetadata(const blink::WebURL& url) {
-  context_->service_worker_host->ClearCachedMetadata(url);
-}
-
 void ServiceWorkerContextClient::WorkerReadyForInspection() {
   DCHECK(main_thread_task_runner_->RunsTasksInCurrentSequence());
   (*instance_host_)->OnReadyForInspection();
@@ -1417,45 +1266,6 @@
       provider_context_.get());
 }
 
-void ServiceWorkerContextClient::PostMessageToClient(
-    const blink::WebString& uuid,
-    blink::TransferableMessage message) {
-  context_->service_worker_host->PostMessageToClient(uuid.Utf8(),
-                                                     std::move(message));
-}
-
-void ServiceWorkerContextClient::Focus(
-    const blink::WebString& uuid,
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->FocusClient(
-      uuid.Utf8(), base::BindOnce(&DidFocusClient, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::Navigate(
-    const blink::WebString& uuid,
-    const blink::WebURL& url,
-    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->NavigateClient(
-      uuid.Utf8(), url,
-      base::BindOnce(&DidNavigateClient, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::SkipWaiting(
-    std::unique_ptr<blink::WebServiceWorkerSkipWaitingCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->SkipWaiting(
-      base::BindOnce(&DidSkipWaiting, std::move(callbacks)));
-}
-
-void ServiceWorkerContextClient::Claim(
-    std::unique_ptr<blink::WebServiceWorkerClientsClaimCallbacks> callbacks) {
-  DCHECK(callbacks);
-  context_->service_worker_host->ClaimClients(
-      base::BindOnce(&DidClaimClients, std::move(callbacks)));
-}
-
 void ServiceWorkerContextClient::DispatchOrQueueFetchEvent(
     blink::mojom::DispatchFetchEventParamsPtr params,
     blink::mojom::ServiceWorkerFetchResponseCallbackPtr response_callback,
@@ -1666,8 +1476,7 @@
     blink::mojom::ServiceWorkerRegistrationObjectInfoPtr registration_info) {
   DCHECK(worker_task_runner_->RunsTasksInCurrentSequence());
   // Connect to the blink::mojom::ServiceWorkerHost.
-  DCHECK(!context_->service_worker_host);
-  context_->service_worker_host.Bind(std::move(service_worker_host));
+  proxy_->BindServiceWorkerHost(service_worker_host.PassHandle());
   // Set ServiceWorkerGlobalScope#registration.
   DCHECK_NE(registration_info->registration_id,
             blink::mojom::kInvalidServiceWorkerRegistrationId);
diff --git a/content/renderer/service_worker/service_worker_context_client.h b/content/renderer/service_worker/service_worker_context_client.h
index 1c8de87..4ca23363 100644
--- a/content/renderer/service_worker/service_worker_context_client.h
+++ b/content/renderer/service_worker/service_worker_context_client.h
@@ -46,7 +46,6 @@
 
 namespace blink {
 struct PlatformNotificationData;
-struct WebServiceWorkerClientQueryOptions;
 class WebDataConsumerHandle;
 class WebServiceWorkerContextProxy;
 class WebServiceWorkerProvider;
@@ -111,22 +110,6 @@
       blink::mojom::ServiceWorkerObjectInfoPtr info);
 
   // WebServiceWorkerContextClient overrides.
-  void GetClient(
-      const blink::WebString& client_id,
-      std::unique_ptr<blink::WebServiceWorkerClientCallbacks>) override;
-  void GetClients(
-      const blink::WebServiceWorkerClientQueryOptions&,
-      std::unique_ptr<blink::WebServiceWorkerClientsCallbacks>) override;
-  void OpenNewTab(
-      const blink::WebURL&,
-      std::unique_ptr<blink::WebServiceWorkerClientCallbacks>) override;
-  void OpenPaymentHandlerWindow(
-      const blink::WebURL&,
-      std::unique_ptr<blink::WebServiceWorkerClientCallbacks>) override;
-  void SetCachedMetadata(const blink::WebURL&,
-                         const char* data,
-                         size_t size) override;
-  void ClearCachedMetadata(const blink::WebURL&) override;
   void WorkerReadyForInspection() override;
   void WorkerContextFailedToStart() override;
   void FailedToLoadInstalledScript() override;
@@ -231,18 +214,6 @@
       blink::WebServiceWorkerNetworkProvider*) override;
   std::unique_ptr<blink::WebServiceWorkerProvider> CreateServiceWorkerProvider()
       override;
-  void PostMessageToClient(const blink::WebString& uuid,
-                           blink::TransferableMessage message) override;
-  void Focus(const blink::WebString& uuid,
-             std::unique_ptr<blink::WebServiceWorkerClientCallbacks>) override;
-  void Navigate(
-      const blink::WebString& uuid,
-      const blink::WebURL&,
-      std::unique_ptr<blink::WebServiceWorkerClientCallbacks>) override;
-  void SkipWaiting(std::unique_ptr<blink::WebServiceWorkerSkipWaitingCallbacks>
-                       callbacks) override;
-  void Claim(std::unique_ptr<blink::WebServiceWorkerClientsClaimCallbacks>
-                 callbacks) override;
 
   // Dispatches the fetch event if the worker is running normally, and queues it
   // instead if the worker has already requested to be terminated by the
diff --git a/content/renderer/service_worker/service_worker_context_client_unittest.cc b/content/renderer/service_worker/service_worker_context_client_unittest.cc
index 2a34a8e..f2ceba8 100644
--- a/content/renderer/service_worker/service_worker_context_client_unittest.cc
+++ b/content/renderer/service_worker/service_worker_context_client_unittest.cc
@@ -66,12 +66,14 @@
  public:
   ~MockWebServiceWorkerContextProxy() override = default;
 
-  void ReadyToEvaluateScript() override {}
+  void BindServiceWorkerHost(
+      mojo::ScopedInterfaceEndpointHandle service_worker_host) override {}
   void SetRegistration(
       std::unique_ptr<blink::WebServiceWorkerRegistration::Handle> handle)
       override {
     registration_handle_ = std::move(handle);
   }
+  void ReadyToEvaluateScript() override {}
   bool HasFetchEventHandler() override { return false; }
   void DispatchFetchEvent(int fetch_event_id,
                           const blink::WebServiceWorkerRequest& web_request,
diff --git a/content/test/content_browser_test_utils_internal.cc b/content/test/content_browser_test_utils_internal.cc
index b02e0a5..7e66736 100644
--- a/content/test/content_browser_test_utils_internal.cc
+++ b/content/test/content_browser_test_utils_internal.cc
@@ -420,8 +420,6 @@
 }
 
 void ShowWidgetMessageFilter::Wait() {
-  initial_rect_ = gfx::Rect();
-  routing_id_ = MSG_ROUTING_NONE;
   message_loop_runner_->Run();
 }
 
diff --git a/content/test/content_browser_test_utils_internal.h b/content/test/content_browser_test_utils_internal.h
index e6fe4c0..dbf3cf9 100644
--- a/content/test/content_browser_test_utils_internal.h
+++ b/content/test/content_browser_test_utils_internal.h
@@ -247,7 +247,7 @@
 
   scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
   gfx::Rect initial_rect_;
-  int routing_id_;
+  int routing_id_ = MSG_ROUTING_NONE;
 
   DISALLOW_COPY_AND_ASSIGN(ShowWidgetMessageFilter);
 };
diff --git a/content/test/gpu/gpu_tests/context_lost_expectations.py b/content/test/gpu/gpu_tests/context_lost_expectations.py
index 01b3223..6089366 100644
--- a/content/test/gpu/gpu_tests/context_lost_expectations.py
+++ b/content/test/gpu/gpu_tests/context_lost_expectations.py
@@ -55,8 +55,6 @@
               ['android'], bug=609629)
 
     # Flaking on Nexus 5X
-    self.Flaky('ContextLost_WebGLBlockedAfterJSNavigation',
-               ['android'], bug=882103)
     self.Flaky('ContextLost_WebGLUnblockedAfterUserInitiatedReload',
               ['android'], bug=879423)
     self.Fail('ContextLost_WorkerRAFAfterGPUCrash',
diff --git a/content/test/test_render_view_host.cc b/content/test/test_render_view_host.cc
index f913cfd..7e35f1e6 100644
--- a/content/test/test_render_view_host.cc
+++ b/content/test/test_render_view_host.cc
@@ -52,8 +52,6 @@
   params->transition = transition;
   params->redirects = std::vector<GURL>();
   params->should_update_history = false;
-  params->searchable_form_url = GURL();
-  params->searchable_form_encoding = std::string();
   params->did_create_new_entry = did_create_new_entry;
   params->gesture = NavigationGestureUser;
   params->method = "GET";
diff --git a/content/test/test_web_contents.cc b/content/test/test_web_contents.cc
index 6511a0a..0657c86 100644
--- a/content/test/test_web_contents.cc
+++ b/content/test/test_web_contents.cc
@@ -183,8 +183,6 @@
   params.origin = url::Origin();
   params.insecure_request_policy = blink::kLeaveInsecureRequestsAlone;
   params.has_potentially_trustworthy_unique_origin = false;
-  params.searchable_form_url = GURL();
-  params.searchable_form_encoding = std::string();
 
   rfh->SendNavigateWithParams(&params, was_within_same_document);
 }
diff --git a/extensions/browser/api/web_request/web_request_api.cc b/extensions/browser/api/web_request/web_request_api.cc
index 561b48d4..d561d94d 100644
--- a/extensions/browser/api/web_request/web_request_api.cc
+++ b/extensions/browser/api/web_request/web_request_api.cc
@@ -38,6 +38,7 @@
 #include "content/public/common/child_process_host.h"
 #include "content/public/common/resource_type.h"
 #include "extensions/browser/api/activity_log/web_request_constants.h"
+#include "extensions/browser/api/declarative/rules_registry_service.h"
 #include "extensions/browser/api/declarative_net_request/ruleset_manager.h"
 #include "extensions/browser/api/declarative_webrequest/request_stage.h"
 #include "extensions/browser/api/declarative_webrequest/webrequest_constants.h"
@@ -405,6 +406,25 @@
                                  request_id, std::move(callback));
 }
 
+// Checks whether the extension has any permissions that would use the web
+// request API.
+bool HasAnyWebRequestPermissions(const Extension* extension) {
+  static const APIPermission::ID kWebRequestPermissions[] = {
+      APIPermission::ID::kWebRequest,
+      APIPermission::ID::kWebRequestBlocking,
+      APIPermission::ID::kDeclarativeWebRequest,
+      APIPermission::ID::kDeclarativeNetRequest,
+      APIPermission::ID::kWebView,
+  };
+
+  const PermissionsData* permissions = extension->permissions_data();
+  for (auto permission : kWebRequestPermissions) {
+    if (permissions->HasAPIPermission(permission))
+      return true;
+  }
+  return false;
+}
+
 }  // namespace
 
 void WebRequestAPI::Proxy::HandleAuthRequest(
@@ -511,9 +531,7 @@
     : browser_context_(context),
       info_map_(ExtensionSystem::Get(browser_context_)->info_map()),
       request_id_generator_(base::MakeRefCounted<RequestIDGenerator>()),
-      may_have_proxies_(MayHaveProxies()),
-      rules_monitor_observer_(this),
-      rules_registry_observer_(this) {
+      may_have_proxies_(MayHaveProxies()) {
   EventRouter* event_router = EventRouter::Get(browser_context_);
   for (size_t i = 0; i < arraysize(kWebRequestEvents); ++i) {
     // Observe the webRequest event.
@@ -525,13 +543,7 @@
         0, sizeof(kWebRequestEventPrefix) - 1, webview::kWebViewEventPrefix);
     event_router->RegisterObserver(this, event_name);
   }
-
-  rules_monitor_observer_.Add(
-      BrowserContextKeyedAPIFactory<
-          declarative_net_request::RulesMonitorService>::Get(browser_context_));
-  rules_registry_observer_.Add(
-      BrowserContextKeyedAPIFactory<RulesRegistryService>::Get(
-          browser_context_));
+  extensions::ExtensionRegistry::Get(browser_context_)->AddObserver(this);
 }
 
 WebRequestAPI::~WebRequestAPI() {
@@ -539,8 +551,7 @@
 
 void WebRequestAPI::Shutdown() {
   EventRouter::Get(browser_context_)->UnregisterObserver(this);
-  rules_monitor_observer_.RemoveAll();
-  rules_registry_observer_.RemoveAll();
+  extensions::ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
 }
 
 static base::LazyInstance<
@@ -553,18 +564,8 @@
   return g_factory.Pointer();
 }
 
-void WebRequestAPI::OnListenerAdded(const EventListenerInfo& details) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  ++listener_count_;
-  UpdateMayHaveProxies();
-}
-
 void WebRequestAPI::OnListenerRemoved(const EventListenerInfo& details) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  --listener_count_;
-  DCHECK_GE(listener_count_, 0);
-  UpdateMayHaveProxies();
-
   // Note that details.event_name includes the sub-event details (e.g. "/123").
   // TODO(fsamuel): <webview> events will not be removed through this code path.
   // <webview> events will be removed in RemoveWebViewEventListeners. Ideally,
@@ -679,21 +680,17 @@
           std::move(proxied_request), std::move(authentication_request)));
 }
 
+void WebRequestAPI::ForceProxyForTesting() {
+  ++web_request_extension_count_;
+  UpdateMayHaveProxies();
+}
+
 bool WebRequestAPI::MayHaveProxies() const {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   if (!base::FeatureList::IsEnabled(network::features::kNetworkService))
     return false;
 
-  // If any other conditions are added here, make sure to call
-  // |UpdateMayHaveProxies()| when those conditions may change.
-  const auto* rules_registry_service =
-      BrowserContextKeyedAPIFactory<RulesRegistryService>::Get(
-          browser_context_);
-  const auto* rules_monitor_service = BrowserContextKeyedAPIFactory<
-      declarative_net_request::RulesMonitorService>::Get(browser_context_);
-  return listener_count_ > 0 ||
-         rules_registry_service->HasAnyRegisteredRules() ||
-         rules_monitor_service->HasAnyRegisteredRulesets();
+  return web_request_extension_count_ > 0;
 }
 
 void WebRequestAPI::UpdateMayHaveProxies() {
@@ -708,12 +705,22 @@
   may_have_proxies_ = may_have_proxies;
 }
 
-void WebRequestAPI::OnRulesetLoaded() {
-  UpdateMayHaveProxies();
+void WebRequestAPI::OnExtensionLoaded(content::BrowserContext* browser_context,
+                                      const Extension* extension) {
+  if (HasAnyWebRequestPermissions(extension)) {
+    ++web_request_extension_count_;
+    UpdateMayHaveProxies();
+  }
 }
 
-void WebRequestAPI::OnUpdateRules() {
-  UpdateMayHaveProxies();
+void WebRequestAPI::OnExtensionUnloaded(
+    content::BrowserContext* browser_context,
+    const Extension* extension,
+    UnloadedExtensionReason reason) {
+  if (HasAnyWebRequestPermissions(extension)) {
+    --web_request_extension_count_;
+    UpdateMayHaveProxies();
+  }
 }
 
 // Represents a single unique listener to an event, along with whatever filter
diff --git a/extensions/browser/api/web_request/web_request_api.h b/extensions/browser/api/web_request/web_request_api.h
index 8c96d95..03d6ad3a 100644
--- a/extensions/browser/api/web_request/web_request_api.h
+++ b/extensions/browser/api/web_request/web_request_api.h
@@ -24,8 +24,6 @@
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/browser/global_request_id.h"
 #include "extensions/browser/api/declarative/rules_registry.h"
-#include "extensions/browser/api/declarative/rules_registry_service.h"
-#include "extensions/browser/api/declarative_net_request/rules_monitor_service.h"
 #include "extensions/browser/api/declarative_webrequest/request_stage.h"
 #include "extensions/browser/api/web_request/web_request_api_helpers.h"
 #include "extensions/browser/api/web_request/web_request_permissions.h"
@@ -74,11 +72,9 @@
 // work is done by ExtensionWebRequestEventRouter below. This class observes
 // extensions::EventRouter to deal with event listeners. There is one instance
 // per BrowserContext which is shared with incognito.
-class WebRequestAPI
-    : public BrowserContextKeyedAPI,
-      public EventRouter::Observer,
-      public declarative_net_request::RulesMonitorService::Observer,
-      public RulesRegistryService::Observer {
+class WebRequestAPI : public BrowserContextKeyedAPI,
+                      public EventRouter::Observer,
+                      public ExtensionRegistryObserver {
  public:
   // A callback used to asynchronously respond to an intercepted authentication
   // request when the Network Service is enabled. If |should_cancel| is true
@@ -184,7 +180,6 @@
   void Shutdown() override;
 
   // EventRouter::Observer overrides:
-  void OnListenerAdded(const EventListenerInfo& details) override;
   void OnListenerRemoved(const EventListenerInfo& details) override;
 
   // If any WebRequest event listeners are currently active for this
@@ -222,6 +217,8 @@
       network::mojom::WebSocketRequest* request,
       network::mojom::AuthenticationHandlerPtr* auth_handler);
 
+  void ForceProxyForTesting();
+
  private:
   friend class BrowserContextKeyedAPIFactory<WebRequestAPI>;
 
@@ -238,15 +235,16 @@
   // URLLoaderFactories if so.
   void UpdateMayHaveProxies();
 
-  // RulesMonitorService::Observer implementation.
-  void OnRulesetLoaded() override;
+  // ExtensionRegistryObserver implementation.
+  void OnExtensionLoaded(content::BrowserContext* browser_context,
+                         const Extension* extension) override;
+  void OnExtensionUnloaded(content::BrowserContext* browser_context,
+                           const Extension* extension,
+                           UnloadedExtensionReason reason) override;
 
-  // RulesRegistryService::Observer implementation.
-  void OnUpdateRules() override;
-
-  // A count of active event listeners registered in this BrowserContext. This
-  // is eventually consistent with the state of
-  int listener_count_ = 0;
+  // A count of active extensions for this BrowserContext that use web request
+  // permissions.
+  int web_request_extension_count_ = 0;
 
   content::BrowserContext* const browser_context_;
   InfoMap* const info_map_;
@@ -257,12 +255,6 @@
   // |UpdateMayHaveProxies()|.
   bool may_have_proxies_;
 
-  ScopedObserver<declarative_net_request::RulesMonitorService,
-                 declarative_net_request::RulesMonitorService::Observer>
-      rules_monitor_observer_;
-  ScopedObserver<RulesRegistryService, RulesRegistryService::Observer>
-      rules_registry_observer_;
-
   DISALLOW_COPY_AND_ASSIGN(WebRequestAPI);
 };
 
diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/browser/updater/extension_downloader.cc
index dd42cc6..cbb241b 100644
--- a/extensions/browser/updater/extension_downloader.cc
+++ b/extensions/browser/updater/extension_downloader.cc
@@ -52,8 +52,6 @@
 
 namespace extensions {
 
-const char ExtensionDownloader::kBlacklistAppID[] = "com.google.crx.blacklist";
-
 namespace {
 
 const net::BackoffEntry::Policy kDefaultBackoffPolicy = {
@@ -89,7 +87,6 @@
 
 const char kNotFromWebstoreInstallSource[] = "notfromwebstore";
 const char kDefaultInstallSource[] = "";
-const char kDefaultInstallLocation[] = "";
 const char kReinstallInstallSource[] = "reinstall";
 
 const char kGoogleDotCom[] = "google.com";
@@ -304,24 +301,6 @@
   fetches_preparing_.clear();
 }
 
-void ExtensionDownloader::StartBlacklistUpdate(
-    const std::string& version,
-    const ManifestFetchData::PingData& ping_data,
-    int request_id) {
-  // Note: it is very important that we use the https version of the update
-  // url here to avoid DNS hijacking of the blacklist, which is not validated
-  // by a public key signature like .crx files are.
-  std::unique_ptr<ManifestFetchData> blacklist_fetch(
-      CreateManifestFetchData(extension_urls::GetWebstoreUpdateUrl(),
-                              request_id, ManifestFetchData::BACKGROUND));
-  DCHECK(blacklist_fetch->base_url().SchemeIsCryptographic());
-  blacklist_fetch->AddExtension(kBlacklistAppID, version, &ping_data,
-                                std::string(), kDefaultInstallSource,
-                                kDefaultInstallLocation,
-                                ManifestFetchData::FetchPriority::BACKGROUND);
-  StartUpdateCheck(std::move(blacklist_fetch));
-}
-
 void ExtensionDownloader::SetWebstoreAuthenticationCapabilities(
     const GetWebstoreAccountCallback& webstore_account_callback,
     OAuth2TokenService* token_service) {
@@ -670,23 +649,7 @@
     const std::string& extension_id = update->extension_id;
 
     GURL crx_url = update->crx_url;
-    if (extension_id != kBlacklistAppID) {
-      NotifyUpdateFound(extension_id, update->version);
-    } else {
-      // The URL of the blacklist file is returned by the server and we need to
-      // be sure that we continue to be able to reliably detect whether a URL
-      // references a blacklist file.
-      DCHECK(extension_urls::IsBlacklistUpdateUrl(crx_url)) << crx_url;
-
-      // Force https (crbug.com/129587).
-      if (!crx_url.SchemeIsCryptographic()) {
-        url::Replacements<char> replacements;
-        std::string scheme("https");
-        replacements.SetScheme(scheme.c_str(),
-                               url::Component(0, scheme.size()));
-        crx_url = crx_url.ReplaceComponents(replacements);
-      }
-    }
+    NotifyUpdateFound(extension_id, update->version);
     FetchUpdatedExtension(std::make_unique<ExtensionFetch>(
         update->extension_id, crx_url, update->package_hash, update->version,
         fetch_data->request_ids()));
diff --git a/extensions/browser/updater/extension_downloader.h b/extensions/browser/updater/extension_downloader.h
index 010c115..6b1adea 100644
--- a/extensions/browser/updater/extension_downloader.h
+++ b/extensions/browser/updater/extension_downloader.h
@@ -114,11 +114,6 @@
   // AddExtension() and AddPendingExtension().
   void StartAllPending(ExtensionCache* cache);
 
-  // Schedules an update check of the blacklist.
-  void StartBlacklistUpdate(const std::string& version,
-                            const ManifestFetchData::PingData& ping_data,
-                            int request_id);
-
   // Sets GetWebstoreAccountCallback and TokenService instances to be used for
   // OAuth2 authentication on protected Webstore downloads. Both objects must be
   // valid to use for the lifetime of this object.
@@ -147,9 +142,6 @@
   static const int kManifestFetcherId = 1;
   static const int kExtensionFetcherId = 2;
 
-  // Update AppID for extension blacklist.
-  static const char kBlacklistAppID[];
-
   static const int kMaxRetries = 10;
 
   // Names of the header fields used for traffic management for extension
diff --git a/google_apis/drive/drive_common_callbacks.h b/google_apis/drive/drive_common_callbacks.h
index e8821685..de503003 100644
--- a/google_apis/drive/drive_common_callbacks.h
+++ b/google_apis/drive/drive_common_callbacks.h
@@ -20,10 +20,6 @@
                             std::unique_ptr<AboutResource> about_resource)>
     AboutResourceCallback;
 
-// Callback used for getting ShareUrl.
-typedef base::Callback<void(DriveApiErrorCode error,
-                            const GURL& share_url)> GetShareUrlCallback;
-
 // Callback used for getting AppList.
 typedef base::Callback<void(DriveApiErrorCode error,
                             std::unique_ptr<AppList> app_list)>
diff --git a/infra/config/branch/cq.cfg b/infra/config/branch/cq.cfg
index edcf96ef..80de542 100644
--- a/infra/config/branch/cq.cfg
+++ b/infra/config/branch/cq.cfg
@@ -79,7 +79,7 @@
       # TODO(crbug.com/646404): Scale this up to 100% mandatory.
       builders {
         name: "linux-libfuzzer-asan-rel"
-        experiment_percentage: 50
+        experiment_percentage: 100
       }
       builders { name: "linux-ozone-rel" }
       builders { name: "linux_chromium_compile_dbg_ng" }
diff --git a/media/capture/video/linux/fake_v4l2_impl.cc b/media/capture/video/linux/fake_v4l2_impl.cc
index 5221c49..ef2c38c6 100644
--- a/media/capture/video/linux/fake_v4l2_impl.cc
+++ b/media/capture/video/linux/fake_v4l2_impl.cc
@@ -234,12 +234,17 @@
       return EINVAL;
     if (buf->memory != V4L2_MEMORY_MMAP)
       return EINVAL;
-    base::AutoLock lock(outgoing_queue_lock_);
-    if (outgoing_queue_.empty()) {
+    bool outgoing_queue_is_empty = true;
+    {
+      base::AutoLock lock(outgoing_queue_lock_);
+      outgoing_queue_is_empty = outgoing_queue_.empty();
+    }
+    if (outgoing_queue_is_empty) {
       if (open_flags_ & O_NONBLOCK)
         return EAGAIN;
       wait_for_outgoing_queue_event_.Wait();
     }
+    base::AutoLock lock(outgoing_queue_lock_);
     auto* buffer = outgoing_queue_.front();
     outgoing_queue_.pop();
     buffer->flags = V4L2_BUF_FLAG_MAPPED & V4L2_BUF_FLAG_DONE;
diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn
index 13c701a..656217612 100644
--- a/media/gpu/BUILD.gn
+++ b/media/gpu/BUILD.gn
@@ -564,7 +564,7 @@
       "//media/test/data/peach_pi-41x23.jpg",
     ]
     if (use_vaapi) {
-      sources += [ "vaapi/vaapi_jpeg_decode_accelerator_unittest.cc" ]
+      deps += [ "//media/gpu/vaapi:jpeg_decode_accelerator_unit_test" ]
       data += [ "//media/test/data/pixel-1280x720.jpg" ]
     }
     if (use_x11) {
diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
index 5f6bc1a..df1051eb 100644
--- a/media/gpu/vaapi/BUILD.gn
+++ b/media/gpu/vaapi/BUILD.gn
@@ -73,6 +73,8 @@
     "vaapi_picture.h",
     "vaapi_picture_factory.cc",
     "vaapi_picture_factory.h",
+    "vaapi_utils.cc",
+    "vaapi_utils.h",
     "vaapi_video_decode_accelerator.cc",
     "vaapi_video_decode_accelerator.h",
     "vaapi_video_encode_accelerator.cc",
@@ -145,3 +147,20 @@
     "//ui/gfx/geometry",
   ]
 }
+
+source_set("jpeg_decode_accelerator_unit_test") {
+  testonly = true
+  sources = [
+    "vaapi_jpeg_decode_accelerator_unittest.cc",
+  ]
+  deps = [
+    ":vaapi",
+    "//base/test:test_support",
+    "//gpu:test_support",
+    "//media:test_support",
+    "//media/gpu:common",
+    "//testing/gmock",
+    "//testing/gtest",
+    "//ui/gfx:test_support",
+  ]
+}
diff --git a/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc b/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
index e6685f8..068ba1f 100644
--- a/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
@@ -22,6 +22,7 @@
 #include "media/base/video_frame.h"
 #include "media/filters/jpeg_parser.h"
 #include "media/gpu/vaapi/vaapi_picture.h"
+#include "media/gpu/vaapi/vaapi_utils.h"
 #include "media/gpu/vaapi/vaapi_wrapper.h"
 #include "third_party/libyuv/include/libyuv.h"
 
@@ -336,28 +337,28 @@
             << " into video_frame associated with input buffer id "
             << input_buffer_id;
 
-  VAImage image = {};
-  uint8_t* mem = nullptr;
-  gfx::Size coded_size = video_frame->coded_size();
+  const gfx::Size coded_size = video_frame->coded_size();
   DCHECK(va_image_format_);
-  if (!vaapi_wrapper_->GetVaImage(va_surface_id, va_image_format_.get(),
-                                  coded_size, &image,
-                                  reinterpret_cast<void**>(&mem))) {
+  auto scoped_image = vaapi_wrapper_->CreateVaImage(
+      va_surface_id, va_image_format_.get(), coded_size);
+  if (!scoped_image) {
     VLOGF(1) << "Cannot get VAImage";
     return false;
   }
+  const VAImage* image = scoped_image->image();
+  auto* mem = static_cast<uint8_t*>(scoped_image->va_buffer()->data());
 
   // Copy image content from VAImage to VideoFrame.
   // The component order of VAImage I420 are Y, U, and V.
-  DCHECK_EQ(image.num_planes, 3u);
-  DCHECK_GE(image.width, coded_size.width());
-  DCHECK_GE(image.height, coded_size.height());
-  const uint8_t* src_y = mem + image.offsets[0];
-  const uint8_t* src_u = mem + image.offsets[1];
-  const uint8_t* src_v = mem + image.offsets[2];
-  size_t src_y_stride = image.pitches[0];
-  size_t src_u_stride = image.pitches[1];
-  size_t src_v_stride = image.pitches[2];
+  DCHECK_EQ(image->num_planes, 3u);
+  DCHECK_GE(image->width, coded_size.width());
+  DCHECK_GE(image->height, coded_size.height());
+  const uint8_t* src_y = mem + image->offsets[0];
+  const uint8_t* src_u = mem + image->offsets[1];
+  const uint8_t* src_v = mem + image->offsets[2];
+  size_t src_y_stride = image->pitches[0];
+  size_t src_u_stride = image->pitches[1];
+  size_t src_v_stride = image->pitches[2];
   uint8_t* dst_y = video_frame->data(VideoFrame::kYPlane);
   uint8_t* dst_u = video_frame->data(VideoFrame::kUPlane);
   uint8_t* dst_v = video_frame->data(VideoFrame::kVPlane);
@@ -376,8 +377,6 @@
     return false;
   }
 
-  vaapi_wrapper_->ReturnVaImage(&image);
-
   task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&VaapiJpegDecodeAccelerator::VideoFrameReady,
diff --git a/media/gpu/vaapi/vaapi_jpeg_decode_accelerator_unittest.cc b/media/gpu/vaapi/vaapi_jpeg_decode_accelerator_unittest.cc
index 0dc4ffb..999b3dc 100644
--- a/media/gpu/vaapi/vaapi_jpeg_decode_accelerator_unittest.cc
+++ b/media/gpu/vaapi/vaapi_jpeg_decode_accelerator_unittest.cc
@@ -18,12 +18,13 @@
 #include "base/md5.h"
 #include "base/path_service.h"
 #include "base/strings/string_piece.h"
+#include "base/test/gtest_util.h"
 #include "media/base/test_data_util.h"
 #include "media/base/video_frame.h"
 #include "media/filters/jpeg_parser.h"
 #include "media/gpu/vaapi/vaapi_jpeg_decode_accelerator.h"
+#include "media/gpu/vaapi/vaapi_utils.h"
 #include "media/gpu/vaapi/vaapi_wrapper.h"
-#include "mojo/core/embedder/embedder.h"
 
 namespace media {
 namespace {
@@ -69,6 +70,9 @@
               const JpegParseResult& parse_result,
               VASurfaceID va_surface);
 
+  base::Lock* GetVaapiWrapperLock() const { return wrapper_->va_lock_; }
+  VADisplay GetVaapiWrapperVaDisplay() const { return wrapper_->va_display_; }
+
  protected:
   scoped_refptr<VaapiWrapper> wrapper_;
   std::string jpeg_data_;
@@ -89,28 +93,24 @@
     return false;
   }
 
-  VAImage image;
-  VAImageFormat format;
-  const uint32_t kI420Fourcc = VA_FOURCC('I', '4', '2', '0');
-  memset(&image, 0, sizeof(image));
-  memset(&format, 0, sizeof(format));
-  format.fourcc = kI420Fourcc;
+  VAImageFormat format{};
+  format.fourcc = VA_FOURCC_I420;
   format.byte_order = VA_LSB_FIRST;
   format.bits_per_pixel = 12;  // 12 for I420
 
-  void* mem;
-  if (!wrapper_->GetVaImage(va_surfaces[0], &format, size, &image, &mem)) {
+  auto scoped_image = wrapper_->CreateVaImage(va_surfaces[0], &format, size);
+  if (!scoped_image) {
     LOG(ERROR) << "Cannot get VAImage";
     return false;
   }
-  EXPECT_EQ(kI420Fourcc, image.format.fourcc);
 
-  base::StringPiece result(reinterpret_cast<const char*>(mem),
+  EXPECT_TRUE(VA_FOURCC_I420 == scoped_image->image()->format.fourcc);
+  const auto* mem = static_cast<char*>(scoped_image->va_buffer()->data());
+
+  base::StringPiece result(mem,
                            VideoFrame::AllocationSize(PIXEL_FORMAT_I420, size));
   EXPECT_EQ(expected_md5sum, base::MD5String(result));
 
-  wrapper_->ReturnVaImage(&image);
-
   return true;
 }
 
@@ -150,4 +150,73 @@
   EXPECT_FALSE(Decode(wrapper_.get(), parse_result, va_surfaces[0]));
 }
 
+// This test exercises the usual ScopedVAImage lifetime.
+TEST_F(VaapiJpegDecodeAcceleratorTest, ScopedVAImage) {
+  std::vector<VASurfaceID> va_surfaces;
+  const gfx::Size coded_size(64, 64);
+  ASSERT_TRUE(wrapper_->CreateSurfaces(VA_RT_FORMAT_YUV420, coded_size, 1,
+                                       &va_surfaces));
+  ASSERT_EQ(va_surfaces.size(), 1u);
+
+  VAImageFormat va_image_format{.fourcc = VA_FOURCC_I420,
+                                .byte_order = VA_LSB_FIRST,
+                                .bits_per_pixel = 12};
+  ASSERT_TRUE(VaapiWrapper::IsImageFormatSupported(va_image_format));
+
+  std::unique_ptr<ScopedVAImage> scoped_image;
+  {
+    base::AutoLock auto_lock(*GetVaapiWrapperLock());
+    scoped_image = std::make_unique<ScopedVAImage>(
+        GetVaapiWrapperLock(), GetVaapiWrapperVaDisplay(), va_surfaces[0],
+        &va_image_format, coded_size);
+
+    EXPECT_TRUE(scoped_image->image());
+    ASSERT_TRUE(scoped_image->IsValid());
+    EXPECT_TRUE(scoped_image->va_buffer()->IsValid());
+    EXPECT_TRUE(scoped_image->va_buffer()->data());
+  }
+}
+
+// This test exercises creation of a ScopedVAImage with a bad VASurfaceID.
+TEST_F(VaapiJpegDecodeAcceleratorTest, BadScopedVAImage) {
+  const std::vector<VASurfaceID> va_surfaces = {VA_INVALID_ID};
+  const gfx::Size coded_size(64, 64);
+
+  VAImageFormat va_image_format{.fourcc = VA_FOURCC_I420,
+                                .byte_order = VA_LSB_FIRST,
+                                .bits_per_pixel = 12};
+  ASSERT_TRUE(VaapiWrapper::IsImageFormatSupported(va_image_format));
+
+  std::unique_ptr<ScopedVAImage> scoped_image;
+  {
+    base::AutoLock auto_lock(*GetVaapiWrapperLock());
+    scoped_image = std::make_unique<ScopedVAImage>(
+        GetVaapiWrapperLock(), GetVaapiWrapperVaDisplay(), va_surfaces[0],
+        &va_image_format, coded_size);
+
+    EXPECT_TRUE(scoped_image->image());
+    EXPECT_FALSE(scoped_image->IsValid());
+#if DCHECK_IS_ON()
+    EXPECT_DCHECK_DEATH(scoped_image->va_buffer());
+#else
+    EXPECT_FALSE(scoped_image->va_buffer());
+#endif
+  }
+}
+
+// This test exercises creation of a ScopedVABufferMapping with bad VABufferIDs.
+TEST_F(VaapiJpegDecodeAcceleratorTest, BadScopedVABufferMapping) {
+  base::AutoLock auto_lock(*GetVaapiWrapperLock());
+
+  // A ScopedVABufferMapping with a VA_INVALID_ID VABufferID is DCHECK()ed.
+  EXPECT_DCHECK_DEATH(std::make_unique<ScopedVABufferMapping>(
+      GetVaapiWrapperLock(), GetVaapiWrapperVaDisplay(), VA_INVALID_ID));
+
+  // This should not hit any DCHECK() but will create an invalid
+  // ScopedVABufferMapping.
+  auto scoped_buffer = std::make_unique<ScopedVABufferMapping>(
+      GetVaapiWrapperLock(), GetVaapiWrapperVaDisplay(), VA_INVALID_ID - 1);
+  EXPECT_FALSE(scoped_buffer->IsValid());
+}
+
 }  // namespace media
diff --git a/media/gpu/vaapi/vaapi_utils.cc b/media/gpu/vaapi/vaapi_utils.cc
new file mode 100644
index 0000000..f48b81fa
--- /dev/null
+++ b/media/gpu/vaapi/vaapi_utils.cc
@@ -0,0 +1,86 @@
+// 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 "media/gpu/vaapi/vaapi_utils.h"
+
+#include <va/va.h>
+
+#include "base/logging.h"
+#include "ui/gfx/geometry/size.h"
+
+namespace media {
+
+ScopedVABufferMapping::ScopedVABufferMapping(
+    const base::Lock* lock,
+    VADisplay va_display,
+    VABufferID buffer_id,
+    base::OnceCallback<void(VABufferID)> release_callback)
+    : lock_(lock), va_display_(va_display), buffer_id_(buffer_id) {
+  DCHECK(lock_);
+  lock_->AssertAcquired();
+  DCHECK_NE(buffer_id, VA_INVALID_ID);
+
+  const VAStatus result =
+      vaMapBuffer(va_display_, buffer_id_, &va_buffer_data_);
+  const bool success = result == VA_STATUS_SUCCESS;
+  LOG_IF(ERROR, !success) << "vaMapBuffer failed: " << vaErrorStr(result);
+  DCHECK(success == (va_buffer_data_ != nullptr))
+      << "|va_buffer_data| should be null if vaMapBuffer() fails";
+
+  if (!success && release_callback)
+    std::move(release_callback).Run(buffer_id_);
+}
+
+ScopedVABufferMapping::~ScopedVABufferMapping() {
+  lock_->AssertAcquired();
+  if (va_buffer_data_)
+    Unmap();
+}
+
+VAStatus ScopedVABufferMapping::Unmap() {
+  lock_->AssertAcquired();
+  const VAStatus result = vaUnmapBuffer(va_display_, buffer_id_);
+  if (result == VA_STATUS_SUCCESS)
+    va_buffer_data_ = nullptr;
+  else
+    LOG(ERROR) << "vaUnmapBuffer failed: " << vaErrorStr(result);
+  return result;
+}
+
+ScopedVAImage::ScopedVAImage(base::Lock* lock,
+                             VADisplay va_display,
+                             VASurfaceID va_surface_id,
+                             VAImageFormat* format,
+                             const gfx::Size& size)
+    : lock_(lock), va_display_(va_display), image_(new VAImage{}) {
+  DCHECK(lock_);
+  lock_->AssertAcquired();
+  VAStatus result = vaCreateImage(va_display_, format, size.width(),
+                                  size.height(), image_.get());
+  if (result != VA_STATUS_SUCCESS) {
+    DCHECK_EQ(image_->image_id, VA_INVALID_ID);
+    LOG(ERROR) << "vaCreateImage failed: " << vaErrorStr(result);
+    return;
+  }
+
+  result = vaGetImage(va_display_, va_surface_id, 0, 0, size.width(),
+                      size.height(), image_->image_id);
+  if (result != VA_STATUS_SUCCESS) {
+    LOG(ERROR) << "vaGetImage failed: " << vaErrorStr(result);
+    return;
+  }
+
+  va_buffer_ =
+      std::make_unique<ScopedVABufferMapping>(lock_, va_display, image_->buf);
+}
+
+ScopedVAImage::~ScopedVAImage() {
+  base::AutoLock auto_lock(*lock_);
+
+  // |va_buffer_| has to be deleted before vaDestroyImage().
+  va_buffer_.release();
+  vaDestroyImage(va_display_, image_->image_id);
+}
+
+}  // namespace media
diff --git a/media/gpu/vaapi/vaapi_utils.h b/media/gpu/vaapi/vaapi_utils.h
new file mode 100644
index 0000000..db13c76
--- /dev/null
+++ b/media/gpu/vaapi/vaapi_utils.h
@@ -0,0 +1,93 @@
+// 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 MEDIA_GPU_VAAPI_VAAPI_UTILS_H_
+#define MEDIA_GPU_VAAPI_VAAPI_UTILS_H_
+
+#include "base/bind_helpers.h"
+#include "base/callback_forward.h"
+#include "base/macros.h"
+
+// Forward declarations taken verbatim from <va/va.h>
+typedef unsigned int VABufferID;
+typedef void* VADisplay;
+typedef struct _VAImage VAImage;
+typedef struct _VAImageFormat VAImageFormat;
+typedef int VAStatus;
+typedef unsigned int VASurfaceID;
+
+namespace base {
+class Lock;
+}
+
+namespace gfx {
+class Size;
+}
+
+namespace media {
+
+// Class to map a given VABuffer, identified by |buffer_id|, for its lifetime.
+// This class must operate under |lock_| acquired.
+class ScopedVABufferMapping {
+ public:
+  // |release_callback| will be called if the mapping of the buffer failed.
+  ScopedVABufferMapping(const base::Lock* lock,
+                        VADisplay va_display,
+                        VABufferID buffer_id,
+                        base::OnceCallback<void(VABufferID)> release_callback =
+                            base::NullCallback());
+  ~ScopedVABufferMapping();
+  bool IsValid() const { return !!va_buffer_data_; }
+  void* data() const {
+    DCHECK(IsValid());
+    return va_buffer_data_;
+  }
+  // Explicit destruction method, to retrieve the success/error result. It is
+  // safe to call this method several times.
+  VAStatus Unmap();
+
+ private:
+  const base::Lock* lock_;  // Only for AssertAcquired() calls.
+  const VADisplay va_display_;
+  const VABufferID buffer_id_;
+
+  void* va_buffer_data_ = nullptr;
+
+  DISALLOW_COPY_AND_ASSIGN(ScopedVABufferMapping);
+};
+
+// This class tracks the VAImage life cycle from vaCreateImage() - vaGetImage()
+// to vaDestroyImage(). In between creation and destruction, image()->buf  will
+// try to be be mapped on user space using a ScopedVABufferMapping. All
+// resources will be cleaned up appropriately. |lock| is acquired for
+// destruction purposes.
+class ScopedVAImage {
+ public:
+  ScopedVAImage(base::Lock* lock,
+                VADisplay va_display,
+                VASurfaceID va_surface_id,
+                VAImageFormat* format /* Needs to be a pointer for libva */,
+                const gfx::Size& size);
+  ~ScopedVAImage();
+
+  bool IsValid() const { return va_buffer_ && va_buffer_->IsValid(); }
+
+  const VAImage* image() const { return image_.get(); }
+  const ScopedVABufferMapping* va_buffer() const {
+    DCHECK(IsValid());
+    return va_buffer_.get();
+  }
+
+ private:
+  base::Lock* lock_;
+  const VADisplay va_display_;
+  std::unique_ptr<VAImage> image_;
+  std::unique_ptr<ScopedVABufferMapping> va_buffer_;
+
+  DISALLOW_COPY_AND_ASSIGN(ScopedVAImage);
+};
+
+}  // namespace media
+
+#endif  // MEDIA_GPU_VAAPI_VAAPI_UTILS_H_
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
index 9aab6d0d..34a733c4 100644
--- a/media/gpu/vaapi/vaapi_wrapper.cc
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
@@ -32,6 +32,7 @@
 #include "media/gpu/vaapi/va_stubs.h"
 
 #include "media/gpu/vaapi/vaapi_picture.h"
+#include "media/gpu/vaapi/vaapi_utils.h"
 #include "third_party/libyuv/include/libyuv.h"
 #include "ui/gfx/buffer_format_util.h"
 #include "ui/gfx/native_pixmap.h"
@@ -1026,21 +1027,15 @@
                                    size, 1, nullptr, &buffer_id);
   VA_SUCCESS_OR_RETURN(va_res, "Failed to create a VA buffer", false);
 
-  void* va_buffer_data = nullptr;
-  va_res = vaMapBuffer(va_display_, buffer_id, &va_buffer_data);
-  VA_LOG_ON_ERROR(va_res, "vaMapBuffer failed");
-  if (va_res != VA_STATUS_SUCCESS) {
-    vaDestroyBuffer(va_display_, buffer_id);
+  ScopedVABufferMapping mapping(
+      va_lock_, va_display_, buffer_id,
+      base::BindOnce(base::IgnoreResult(&vaDestroyBuffer), va_display_));
+  if (!mapping.IsValid())
     return false;
-  }
 
-  DCHECK(va_buffer_data);
   // TODO(selcott): Investigate potentially faster alternatives to memcpy here
   // such as libyuv::CopyX and family.
-  memcpy(va_buffer_data, buffer, size);
-
-  va_res = vaUnmapBuffer(va_display_, buffer_id);
-  VA_LOG_ON_ERROR(va_res, "vaUnmapBuffer failed");
+  memcpy(mapping.data(), buffer, size);
 
   switch (va_buffer_type) {
     case VASliceParameterBufferType:
@@ -1069,22 +1064,15 @@
       sizeof(VAEncMiscParameterBuffer) + size, 1, NULL, &buffer_id);
   VA_SUCCESS_OR_RETURN(va_res, "Failed to create a VA buffer", false);
 
-  void* data_ptr = NULL;
-  va_res = vaMapBuffer(va_display_, buffer_id, &data_ptr);
-  VA_LOG_ON_ERROR(va_res, "vaMapBuffer failed");
-  if (va_res != VA_STATUS_SUCCESS) {
-    vaDestroyBuffer(va_display_, buffer_id);
+  ScopedVABufferMapping mapping(
+      va_lock_, va_display_, buffer_id,
+      base::BindOnce(base::IgnoreResult(&vaDestroyBuffer), va_display_));
+  if (!mapping.IsValid())
     return false;
-  }
 
-  DCHECK(data_ptr);
-
-  VAEncMiscParameterBuffer* misc_param =
-      reinterpret_cast<VAEncMiscParameterBuffer*>(data_ptr);
-  misc_param->type = misc_param_type;
-  memcpy(misc_param->data, buffer, size);
-  va_res = vaUnmapBuffer(va_display_, buffer_id);
-  VA_LOG_ON_ERROR(va_res, "vaUnmapBuffer failed");
+  auto* params = reinterpret_cast<VAEncMiscParameterBuffer*>(mapping.data());
+  params->type = misc_param_type;
+  memcpy(params->data, buffer, size);
 
   pending_va_bufs_.push_back(buffer_id);
   return true;
@@ -1134,48 +1122,18 @@
 }
 #endif  // USE_X11
 
-bool VaapiWrapper::GetVaImage(VASurfaceID va_surface_id,
-                              VAImageFormat* format,
-                              const gfx::Size& size,
-                              VAImage* image,
-                              void** mem) {
-  TRACE_EVENT0("media,gpu", "VaapiWrapper::GetVaImage");
+std::unique_ptr<ScopedVAImage> VaapiWrapper::CreateVaImage(
+    VASurfaceID va_surface_id,
+    VAImageFormat* format,
+    const gfx::Size& size) {
   base::AutoLock auto_lock(*va_lock_);
 
   VAStatus va_res = vaSyncSurface(va_display_, va_surface_id);
-  VA_SUCCESS_OR_RETURN(va_res, "Failed syncing surface", false);
+  VA_SUCCESS_OR_RETURN(va_res, "Failed syncing surface", nullptr);
 
-  va_res =
-      vaCreateImage(va_display_, format, size.width(), size.height(), image);
-  VA_SUCCESS_OR_RETURN(va_res, "vaCreateImage failed", false);
-
-  va_res = vaGetImage(va_display_, va_surface_id, 0, 0, size.width(),
-                      size.height(), image->image_id);
-  VA_LOG_ON_ERROR(va_res, "vaGetImage failed");
-
-  if (va_res == VA_STATUS_SUCCESS) {
-    // Map the VAImage into memory
-    va_res = vaMapBuffer(va_display_, image->buf, mem);
-    VA_LOG_ON_ERROR(va_res, "vaMapBuffer failed");
-  }
-
-  if (va_res != VA_STATUS_SUCCESS) {
-    va_res = vaDestroyImage(va_display_, image->image_id);
-    VA_LOG_ON_ERROR(va_res, "vaDestroyImage failed");
-    return false;
-  }
-
-  return true;
-}
-
-void VaapiWrapper::ReturnVaImage(VAImage* image) {
-  base::AutoLock auto_lock(*va_lock_);
-
-  VAStatus va_res = vaUnmapBuffer(va_display_, image->buf);
-  VA_LOG_ON_ERROR(va_res, "vaUnmapBuffer failed");
-
-  va_res = vaDestroyImage(va_display_, image->image_id);
-  VA_LOG_ON_ERROR(va_res, "vaDestroyImage failed");
+  auto scoped_image = std::make_unique<ScopedVAImage>(
+      va_lock_, va_display_, va_surface_id, format, size);
+  return scoped_image->IsValid() ? std::move(scoped_image) : nullptr;
 }
 
 bool VaapiWrapper::UploadVideoFrameToSurface(
@@ -1199,10 +1157,10 @@
     return false;
   }
 
-  void* image_ptr = NULL;
-  va_res = vaMapBuffer(va_display_, image.buf, &image_ptr);
-  VA_SUCCESS_OR_RETURN(va_res, "vaMapBuffer failed", false);
-  DCHECK(image_ptr);
+  ScopedVABufferMapping mapping(va_lock_, va_display_, image.buf);
+  if (!mapping.IsValid())
+    return false;
+  uint8_t* image_ptr = static_cast<uint8_t*>(mapping.data());
 
   int ret = 0;
   {
@@ -1211,14 +1169,10 @@
         frame->data(VideoFrame::kYPlane), frame->stride(VideoFrame::kYPlane),
         frame->data(VideoFrame::kUPlane), frame->stride(VideoFrame::kUPlane),
         frame->data(VideoFrame::kVPlane), frame->stride(VideoFrame::kVPlane),
-        static_cast<uint8_t*>(image_ptr) + image.offsets[0], image.pitches[0],
-        static_cast<uint8_t*>(image_ptr) + image.offsets[1], image.pitches[1],
-        image.width, image.height);
+        image_ptr + image.offsets[0], image.pitches[0],
+        image_ptr + image.offsets[1], image.pitches[1], image.width,
+        image.height);
   }
-
-  va_res = vaUnmapBuffer(va_display_, image.buf);
-  VA_LOG_ON_ERROR(va_res, "vaUnmapBuffer failed");
-
   return ret == 0;
 }
 
@@ -1239,16 +1193,17 @@
                                            uint8_t* target_ptr,
                                            size_t target_size,
                                            size_t* coded_data_size) {
+  DCHECK(target_ptr);
   base::AutoLock auto_lock(*va_lock_);
 
   VAStatus va_res = vaSyncSurface(va_display_, sync_surface_id);
   VA_SUCCESS_OR_RETURN(va_res, "Failed syncing surface", false);
 
-  VACodedBufferSegment* buffer_segment = NULL;
-  va_res = vaMapBuffer(va_display_, buffer_id,
-                       reinterpret_cast<void**>(&buffer_segment));
-  VA_SUCCESS_OR_RETURN(va_res, "vaMapBuffer failed", false);
-  DCHECK(target_ptr);
+  ScopedVABufferMapping mapping(va_lock_, va_display_, buffer_id);
+  if (!mapping.IsValid())
+    return false;
+  auto* buffer_segment =
+      reinterpret_cast<VACodedBufferSegment*>(mapping.data());
 
   {
     base::AutoUnlock auto_unlock(*va_lock_);
@@ -1274,9 +1229,7 @@
     }
   }
 
-  va_res = vaUnmapBuffer(va_display_, buffer_id);
-  VA_LOG_ON_ERROR(va_res, "vaUnmapBuffer failed");
-  return buffer_segment == NULL;
+  return buffer_segment == nullptr;
 }
 
 bool VaapiWrapper::DownloadAndDestroyCodedBuffer(VABufferID buffer_id,
@@ -1318,34 +1271,36 @@
       return false;
   }
 
-  VAProcPipelineParameterBuffer* pipeline_param;
-  VA_SUCCESS_OR_RETURN(vaMapBuffer(va_display_, va_vpp_buffer_id_,
-                                   reinterpret_cast<void**>(&pipeline_param)),
-                       "Couldn't map vpp buffer", false);
+  {
+    ScopedVABufferMapping mapping(va_lock_, va_display_, va_vpp_buffer_id_);
+    if (!mapping.IsValid())
+      return false;
+    auto* pipeline_param =
+        reinterpret_cast<VAProcPipelineParameterBuffer*>(mapping.data());
 
-  memset(pipeline_param, 0, sizeof *pipeline_param);
-  const gfx::Size src_size = va_surface_src->size();
-  const gfx::Size dest_size = va_surface_dest->size();
+    memset(pipeline_param, 0, sizeof *pipeline_param);
+    const gfx::Size& src_size = va_surface_src->size();
+    const gfx::Size& dest_size = va_surface_dest->size();
 
-  VARectangle input_region;
-  input_region.x = input_region.y = 0;
-  input_region.width = src_size.width();
-  input_region.height = src_size.height();
-  pipeline_param->surface_region = &input_region;
-  pipeline_param->surface = va_surface_src->id();
-  pipeline_param->surface_color_standard = VAProcColorStandardNone;
+    VARectangle input_region;
+    input_region.x = input_region.y = 0;
+    input_region.width = src_size.width();
+    input_region.height = src_size.height();
+    pipeline_param->surface_region = &input_region;
+    pipeline_param->surface = va_surface_src->id();
+    pipeline_param->surface_color_standard = VAProcColorStandardNone;
 
-  VARectangle output_region;
-  output_region.x = output_region.y = 0;
-  output_region.width = dest_size.width();
-  output_region.height = dest_size.height();
-  pipeline_param->output_region = &output_region;
-  pipeline_param->output_background_color = 0xff000000;
-  pipeline_param->output_color_standard = VAProcColorStandardNone;
-  pipeline_param->filter_flags = VA_FILTER_SCALING_DEFAULT;
+    VARectangle output_region;
+    output_region.x = output_region.y = 0;
+    output_region.width = dest_size.width();
+    output_region.height = dest_size.height();
+    pipeline_param->output_region = &output_region;
+    pipeline_param->output_background_color = 0xff000000;
+    pipeline_param->output_color_standard = VAProcColorStandardNone;
+    pipeline_param->filter_flags = VA_FILTER_SCALING_DEFAULT;
 
-  VA_SUCCESS_OR_RETURN(vaUnmapBuffer(va_display_, va_vpp_buffer_id_),
-                       "Couldn't unmap vpp buffer", false);
+    VA_SUCCESS_OR_RETURN(mapping.Unmap(), "Couldn't unmap vpp buffer", false);
+  }
 
   VA_SUCCESS_OR_RETURN(
       vaBeginPicture(va_display_, va_vpp_context_id_, va_surface_dest->id()),
diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
index a3c7b19..f7ce487 100644
--- a/media/gpu/vaapi/vaapi_wrapper.h
+++ b/media/gpu/vaapi/vaapi_wrapper.h
@@ -41,6 +41,8 @@
 
 namespace media {
 
+class ScopedVAImage;
+
 // This class handles VA-API calls and ensures proper locking of VA-API calls
 // to libva, the userspace shim to the HW codec driver. libva is not
 // thread-safe, so we have to perform locking ourselves. This class is fully
@@ -162,22 +164,14 @@
                             gfx::Size dest_size);
 #endif  // USE_X11
 
-  // Get a VAImage from a VASurface |va_surface_id| and map it into memory with
-  // given |format| and |size|. The output is |image| and the mapped memory is
-  // |mem|. If |format| doesn't equal to the internal format, the underlying
-  // implementation will do format conversion if supported. |size| should be
-  // smaller than or equal to the surface. If |size| is smaller, the image will
-  // be cropped. The VAImage should be released using the ReturnVaImage
-  // function. Returns true when successful.
-  bool GetVaImage(VASurfaceID va_surface_id,
-                  VAImageFormat* format,
-                  const gfx::Size& size,
-                  VAImage* image,
-                  void** mem);
-
-  // Release the VAImage (and the associated memory mapping) obtained from
-  // GetVaImage().
-  void ReturnVaImage(VAImage* image);
+  // Creates a ScopedVAImage from a VASurface |va_surface_id| and map it into
+  // memory with the given |format| and |size|. If |format| is not equal to the
+  // internal format, the underlying implementation will do format conversion if
+  // supported. |size| should be smaller than or equal to the surface. If |size|
+  // is smaller, the image will be cropped.
+  std::unique_ptr<ScopedVAImage> CreateVaImage(VASurfaceID va_surface_id,
+                                               VAImageFormat* format,
+                                               const gfx::Size& size);
 
   // Upload contents of |frame| into |va_surface_id| for encode.
   bool UploadVideoFrameToSurface(const scoped_refptr<VideoFrame>& frame,
@@ -227,6 +221,7 @@
 
  private:
   friend class base::RefCountedThreadSafe<VaapiWrapper>;
+  friend class VaapiJpegDecodeAcceleratorTest;
 
   bool Initialize(CodecMode mode, VAProfile va_profile);
   void Deinitialize();
diff --git a/media/media_options.gni b/media/media_options.gni
index d8e20f6..709fab3b 100644
--- a/media/media_options.gni
+++ b/media/media_options.gni
@@ -128,8 +128,8 @@
   # |mojo_media_services|). When enabled, selected mojo paths will be enabled in
   # the media pipeline and corresponding services will hosted in the selected
   # remote process (e.g. "utility" process, see |mojo_media_host|).
-  enable_mojo_media =
-      is_android || is_chromecast || is_mac || enable_library_cdms || is_win
+  enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
+                      is_win || enable_library_cdms
 
   # Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
   # testing only and will override the default platform MojoMediaClient, if any.
@@ -191,7 +191,7 @@
       "video_decoder",
     ]
     _default_mojo_media_host = "gpu"
-  } else if (is_mac || is_win) {
+  } else if (is_chromeos || is_mac || is_win) {
     _default_mojo_media_services = [ "video_decoder" ]
     _default_mojo_media_host = "gpu"
   }
diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
index 6b2bcd2..997995d 100644
--- a/media/mojo/services/gpu_mojo_media_client.cc
+++ b/media/mojo/services/gpu_mojo_media_client.cc
@@ -33,7 +33,6 @@
 #include "services/service_manager/public/cpp/connect.h"
 #endif  // defined(OS_ANDROID)
 
-// OS_WIN guards are needed for cross-compiling on linux.
 #if defined(OS_WIN)
 #include "media/gpu/windows/d3d11_video_decoder.h"
 #endif  // defined(OS_WIN)
@@ -48,7 +47,8 @@
 
 namespace {
 
-#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
+    defined(OS_WIN)
 gpu::CommandBufferStub* GetCommandBufferStub(
     base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
     base::UnguessableToken channel_token,
@@ -63,7 +63,7 @@
 
   return channel->LookupCommandBuffer(route_id);
 }
-#endif  // OS_ANDROID || OS_WIN
+#endif
 
 }  // namespace
 
@@ -100,7 +100,7 @@
     mojom::CommandBufferIdPtr command_buffer_id,
     RequestOverlayInfoCB request_overlay_info_cb,
     const gfx::ColorSpace& target_color_space) {
-  // Both MCVD and D3D11 VideoDecoders need a command buffer.
+  // All implemetnations require a command buffer.
   if (!command_buffer_id)
     return nullptr;
 
@@ -116,7 +116,7 @@
       android_overlay_factory_cb_, std::move(request_overlay_info_cb),
       std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
                                               std::move(get_stub_cb)));
-#elif defined(OS_MACOSX) || defined(OS_WIN)
+#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
 #if defined(OS_WIN)
   if (base::FeatureList::IsEnabled(kD3D11VideoDecoder)) {
     return D3D11VideoDecoder::Create(
diff --git a/media/mojo/services/mojo_cdm_proxy_unittest.cc b/media/mojo/services/mojo_cdm_proxy_unittest.cc
index c621c0d..1c609dc 100644
--- a/media/mojo/services/mojo_cdm_proxy_unittest.cc
+++ b/media/mojo/services/mojo_cdm_proxy_unittest.cc
@@ -48,42 +48,23 @@
   ~MockCdmProxy() override = default;
 
   // media::CdmProxy implementation.
-  // Note: As move-only parameters (e.g. OnceCallback) aren't supported by mock
-  // methods, add On... methods to pass a non-const reference to OnceCallback.
 
   base::WeakPtr<CdmContext> GetCdmContext() override {
     return weak_factory_.GetWeakPtr();
   }
 
-  void Initialize(Client* client, InitializeCB init_cb) override {
-    OnInitialize(client, init_cb);
-  }
-  MOCK_METHOD2(OnInitialize, void(Client* client, InitializeCB& init_cb));
+  MOCK_METHOD2(Initialize, void(Client* client, InitializeCB init_cb));
 
-  void Process(Function function,
-               uint32_t crypto_session_id,
-               const std::vector<uint8_t>& input_data,
-               uint32_t expected_output_data_size,
-               ProcessCB process_cb) override {
-    OnProcess(function, crypto_session_id, input_data,
-              expected_output_data_size, process_cb);
-  }
-  MOCK_METHOD5(OnProcess,
+  MOCK_METHOD5(Process,
                void(Function function,
                     uint32_t crypto_session_id,
                     const std::vector<uint8_t>& input_data,
                     uint32_t expected_output_data_size,
-                    ProcessCB& process_cb));
+                    ProcessCB process_cb));
 
-  void CreateMediaCryptoSession(
-      const std::vector<uint8_t>& input_data,
-      CreateMediaCryptoSessionCB create_media_crypto_session_cb) override {
-    OnCreateMediaCryptoSession(input_data, create_media_crypto_session_cb);
-  }
-  MOCK_METHOD2(
-      OnCreateMediaCryptoSession,
-      void(const std::vector<uint8_t>& input_data,
-           CreateMediaCryptoSessionCB& create_media_crypto_session_cb));
+  MOCK_METHOD2(CreateMediaCryptoSession,
+               void(const std::vector<uint8_t>& input_data,
+                    CreateMediaCryptoSessionCB create_media_crypto_session_cb));
 
   MOCK_METHOD3(SetKey,
                void(uint32_t crypto_session_id,
@@ -154,9 +135,11 @@
   void Initialize(Status expected_status = Status::kOk,
                   bool has_connection = true) {
     if (has_connection) {
-      EXPECT_CALL(*mock_cdm_proxy_, OnInitialize(NotNull(), _))
-          .WillOnce(RunOnceCallback<1>(
-              expected_status, CdmProxy::Protocol::kNone, kCryptoSessionId));
+      EXPECT_CALL(*mock_cdm_proxy_, Initialize(NotNull(), _))
+          .WillOnce([&](auto, auto init_cb) {
+            std::move(init_cb).Run(expected_status, CdmProxy::Protocol::kNone,
+                                   kCryptoSessionId);
+          });
       EXPECT_CALL(client_,
                   OnInitialized(StatusEq(expected_status),
                                 cdm::CdmProxyClient::kNone, kCryptoSessionId))
@@ -180,9 +163,11 @@
     if (has_connection) {
       EXPECT_CALL(
           *mock_cdm_proxy_,
-          OnProcess(CdmProxy::Function::kIntelNegotiateCryptoSessionKeyExchange,
-                    crypto_session_id_, kInputData, kExpectedOutputDataSize, _))
-          .WillOnce(RunOnceCallback<4>(expected_status, kOutputData));
+          Process(CdmProxy::Function::kIntelNegotiateCryptoSessionKeyExchange,
+                  crypto_session_id_, kInputData, kExpectedOutputDataSize, _))
+          .WillOnce([&](auto, auto, auto, auto, auto process_cb) {
+            std::move(process_cb).Run(expected_status, kOutputData);
+          });
       EXPECT_CALL(client_, OnProcessed(StatusEq(expected_status), NotNull(),
                                        kOutputData.size()));
     } else {
@@ -205,9 +190,11 @@
     const uint64_t kOutputData = 333;
 
     if (has_connection) {
-      EXPECT_CALL(*mock_cdm_proxy_, OnCreateMediaCryptoSession(kInputData, _))
-          .WillOnce(RunOnceCallback<1>(expected_status, kMediaCryptoSessionId,
-                                       kOutputData));
+      EXPECT_CALL(*mock_cdm_proxy_, CreateMediaCryptoSession(kInputData, _))
+          .WillOnce([&](auto, auto create_media_crypto_session_cb) {
+            std::move(create_media_crypto_session_cb)
+                .Run(expected_status, kMediaCryptoSessionId, kOutputData);
+          });
       EXPECT_CALL(client_, OnMediaCryptoSessionCreated(
                                StatusEq(expected_status), kMediaCryptoSessionId,
                                kOutputData));
diff --git a/media/test/data/bear-av1-480x360.webm b/media/test/data/bear-av1-480x360.webm
new file mode 100644
index 0000000..abb0cf1
--- /dev/null
+++ b/media/test/data/bear-av1-480x360.webm
Binary files differ
diff --git a/media/test/data/bear-av1-640x480.webm b/media/test/data/bear-av1-640x480.webm
new file mode 100644
index 0000000..12dacd3
--- /dev/null
+++ b/media/test/data/bear-av1-640x480.webm
Binary files differ
diff --git a/media/test/pipeline_integration_test.cc b/media/test/pipeline_integration_test.cc
index 3fe81035..e6222f7c 100644
--- a/media/test/pipeline_integration_test.cc
+++ b/media/test/pipeline_integration_test.cc
@@ -116,6 +116,7 @@
 #if BUILDFLAG(ENABLE_AV1_DECODER)
 const char kMP4AV1[] = "video/mp4; codecs=\"av01.0.04M.08\"";
 const char kWebMAV1[] = "video/webm; codecs=\"av01.0.04M.08\"";
+const int kAV1640WebMFileDurationMs = 2736;
 #endif  // BUILDFLAG(ENABLE_AV1_DECODER)
 #if BUILDFLAG(USE_PROPRIETARY_CODECS)
 const char kADTS[] = "audio/aac";
@@ -1586,6 +1587,36 @@
   Stop();
 }
 
+#if BUILDFLAG(ENABLE_AV1_DECODER)
+TEST_P(MSEPipelineIntegrationTest, ConfigChange_AV1_WebM) {
+  MockMediaSource source("bear-av1-480x360.webm", kWebMAV1,
+                         kAppendWholeFile);
+  EXPECT_EQ(PIPELINE_OK, StartPipelineWithMediaSource(&source));
+
+  const gfx::Size kNewSize(640, 480);
+  EXPECT_CALL(*this, OnVideoConfigChange(::testing::Property(
+                         &VideoDecoderConfig::natural_size, kNewSize)))
+      .Times(1);
+  EXPECT_CALL(*this, OnVideoNaturalSizeChange(kNewSize)).Times(1);
+  scoped_refptr<DecoderBuffer> second_file =
+      ReadTestDataFile("bear-av1-640x480.webm");
+  source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
+                      second_file->data(), second_file->data_size());
+  source.EndOfStream();
+
+  Play();
+  EXPECT_TRUE(WaitUntilOnEnded());
+
+  EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
+  EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
+  EXPECT_EQ(kAppendTimeMs + kAV1640WebMFileDurationMs,
+            pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
+
+  source.Shutdown();
+  Stop();
+}
+#endif  // BUILDFLAG(ENABLE_AV1_DECODER)
+
 TEST_P(MSEPipelineIntegrationTest, ConfigChange_WebM) {
   MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM,
                          kAppendWholeFile);
diff --git a/media/video/gpu_memory_buffer_video_frame_pool.cc b/media/video/gpu_memory_buffer_video_frame_pool.cc
index 4abce4d..0f379b2 100644
--- a/media/video/gpu_memory_buffer_video_frame_pool.cc
+++ b/media/video/gpu_memory_buffer_video_frame_pool.cc
@@ -638,6 +638,17 @@
 #endif
 
   bool passthrough = false;
+#if defined(OS_MACOSX)
+  // GPU memory buffers do not support full-range YUV video on mac.
+  // Fortunately, the hardware decoders never produce full-range video.
+  // https://crbug/882627
+  gfx::ColorSpace color_space = video_frame->ColorSpace();
+  gfx::ColorSpace as_rgb = color_space.GetAsRGB();
+  gfx::ColorSpace as_full_range_rgb = color_space.GetAsFullRangeRGB();
+
+  if (color_space != as_rgb && as_rgb == as_full_range_rgb)
+    passthrough = true;
+#endif
   if (output_format_ == GpuVideoAcceleratorFactories::OutputFormat::UNDEFINED)
     passthrough = true;
   switch (pixel_format) {
diff --git a/mojo/core/message_unittest.cc b/mojo/core/message_unittest.cc
index fe801f65..8f047ac 100644
--- a/mojo/core/message_unittest.cc
+++ b/mojo/core/message_unittest.cc
@@ -227,6 +227,7 @@
 const char kTestMessageWithContext2[] = "my old friend";
 const char kTestMessageWithContext3[] = "something something";
 const char kTestMessageWithContext4[] = "do moar ipc";
+const char kTestQuitMessage[] = "quit";
 
 DEFINE_TEST_CLIENT_TEST_WITH_PIPE(ReceiveMessageNoHandles, MessageTest, h) {
   MojoTestBase::WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE);
@@ -272,6 +273,7 @@
   auto m = MojoTestBase::ReadMessageWithHandles(h, &h1, 1);
   EXPECT_EQ(kTestMessageWithContext1, m);
   MojoTestBase::WriteMessage(h1, kTestMessageWithContext2);
+  EXPECT_EQ(kTestQuitMessage, MojoTestBase::ReadMessage(h));
 }
 
 TEST_F(MessageTest, SerializeSimpleMessageOneHandleWithContext) {
@@ -283,6 +285,7 @@
                      nullptr);
     EXPECT_EQ(kTestMessageWithContext2,
               MojoTestBase::ReadMessage(pipe.handle1.get().value()));
+    MojoTestBase::WriteMessage(h, kTestQuitMessage);
   });
 }
 
@@ -295,18 +298,11 @@
   MojoTestBase::WriteMessage(handles[1], kTestMessageWithContext2);
   MojoTestBase::WriteMessage(handles[2], kTestMessageWithContext3);
   MojoTestBase::WriteMessage(handles[3], kTestMessageWithContext4);
+
+  EXPECT_EQ(kTestQuitMessage, MojoTestBase::ReadMessage(h));
 }
 
-// Flaky on Fuchsia only. http://crbug.com/883624
-#if defined(OS_FUCHSIA)
-#define MAYBE_SerializeSimpleMessageWithHandlesWithContext \
-  DISABLED_SerializeSimpleMessageWithHandlesWithContext
-#else
-#define MAYBE_SerializeSimpleMessageWithHandlesWithContext \
-  SerializeSimpleMessageWithHandlesWithContext
-#endif
-
-TEST_F(MessageTest, MAYBE_SerializeSimpleMessageWithHandlesWithContext) {
+TEST_F(MessageTest, SerializeSimpleMessageWithHandlesWithContext) {
   RunTestClient("ReceiveMessageWithHandles", [&](MojoHandle h) {
     auto message = std::make_unique<SimpleMessage>(kTestMessageWithContext1);
     mojo::MessagePipe pipes[4];
@@ -324,6 +320,8 @@
               MojoTestBase::ReadMessage(pipes[2].handle1.get().value()));
     EXPECT_EQ(kTestMessageWithContext4,
               MojoTestBase::ReadMessage(pipes[3].handle1.get().value()));
+
+    MojoTestBase::WriteMessage(h, kTestQuitMessage);
   });
 }
 
diff --git a/pdf/pdf.cc b/pdf/pdf.cc
index bfa6a4b..c45791a 100644
--- a/pdf/pdf.cc
+++ b/pdf/pdf.cc
@@ -139,27 +139,29 @@
 std::vector<uint8_t> ConvertPdfPagesToNupPdf(
     std::vector<base::span<const uint8_t>> input_buffers,
     size_t pages_per_sheet,
-    const gfx::Size& page_size) {
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area) {
   ScopedSdkInitializer scoped_sdk_initializer;
   if (!scoped_sdk_initializer.Init())
     return std::vector<uint8_t>();
 
   PDFEngineExports* engine_exports = PDFEngineExports::Get();
-  return engine_exports->ConvertPdfPagesToNupPdf(std::move(input_buffers),
-                                                 pages_per_sheet, page_size);
+  return engine_exports->ConvertPdfPagesToNupPdf(
+      std::move(input_buffers), pages_per_sheet, page_size, printable_area);
 }
 
 std::vector<uint8_t> ConvertPdfDocumentToNupPdf(
     base::span<const uint8_t> input_buffer,
     size_t pages_per_sheet,
-    const gfx::Size& page_size) {
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area) {
   ScopedSdkInitializer scoped_sdk_initializer;
   if (!scoped_sdk_initializer.Init())
     return std::vector<uint8_t>();
 
   PDFEngineExports* engine_exports = PDFEngineExports::Get();
-  return engine_exports->ConvertPdfDocumentToNupPdf(input_buffer,
-                                                    pages_per_sheet, page_size);
+  return engine_exports->ConvertPdfDocumentToNupPdf(
+      input_buffer, pages_per_sheet, page_size, printable_area);
 }
 
 }  // namespace chrome_pdf
diff --git a/pdf/pdf.h b/pdf/pdf.h
index 4617943..f17b7ea 100644
--- a/pdf/pdf.h
+++ b/pdf/pdf.h
@@ -21,6 +21,7 @@
 #endif
 
 namespace gfx {
+class Rect;
 class Size;
 }
 
@@ -132,6 +133,8 @@
 //     document is used.
 // |pages_per_sheet| is the number of pages to put on one sheet.
 // |page_size| is the output page size, measured in PDF "user space" units.
+// |printable_area| is the output page printable area, measured in PDF
+//     "user space" units.  Should be smaller than |page_size|.
 //
 // |page_size| is the print media size.  The page size of the output N-up PDF is
 // determined by the |pages_per_sheet|, the orientation of the PDF pages
@@ -145,13 +148,16 @@
 std::vector<uint8_t> ConvertPdfPagesToNupPdf(
     std::vector<base::span<const uint8_t>> input_buffers,
     size_t pages_per_sheet,
-    const gfx::Size& page_size);
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area);
 
 // Convert a PDF document to a N-up PDF document.
 // |input_buffer| is the buffer that contains the entire PDF document to be
 //     converted to a N-up PDF document.
 // |pages_per_sheet| is the number of pages to put on one sheet.
 // |page_size| is the output page size, measured in PDF "user space" units.
+// |printable_area| is the output page printable area, measured in PDF
+//     "user space" units.  Should be smaller than |page_size|.
 //
 // Refer to the description of ConvertPdfPagesToNupPdf to understand how the
 // output page size will be calculated.
@@ -159,7 +165,8 @@
 std::vector<uint8_t> ConvertPdfDocumentToNupPdf(
     base::span<const uint8_t> input_buffer,
     size_t pages_per_sheet,
-    const gfx::Size& page_size);
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area);
 
 }  // namespace chrome_pdf
 
diff --git a/pdf/pdf_engine.h b/pdf/pdf_engine.h
index 3d179018..511118e 100644
--- a/pdf/pdf_engine.h
+++ b/pdf/pdf_engine.h
@@ -42,6 +42,7 @@
 struct PP_PdfPrintSettings_Dev;
 
 namespace gfx {
+class Rect;
 class Size;
 }
 
@@ -474,13 +475,15 @@
   virtual std::vector<uint8_t> ConvertPdfPagesToNupPdf(
       std::vector<base::span<const uint8_t>> input_buffers,
       size_t pages_per_sheet,
-      const gfx::Size& page_size) = 0;
+      const gfx::Size& page_size,
+      const gfx::Rect& printable_area) = 0;
 
   // See the definition of ConvertPdfDocumentToNupPdf in pdf.cc for details.
   virtual std::vector<uint8_t> ConvertPdfDocumentToNupPdf(
       base::span<const uint8_t> input_buffer,
       size_t pages_per_sheet,
-      const gfx::Size& page_size) = 0;
+      const gfx::Size& page_size,
+      const gfx::Rect& printable_area) = 0;
 
   virtual bool GetPDFDocInfo(base::span<const uint8_t> pdf_buffer,
                              int* page_count,
diff --git a/pdf/pdfium/pdfium_engine_exports.cc b/pdf/pdfium/pdfium_engine_exports.cc
index 8b5f69b..f0fdc6d 100644
--- a/pdf/pdfium/pdfium_engine_exports.cc
+++ b/pdf/pdfium/pdfium_engine_exports.cc
@@ -16,6 +16,7 @@
 #include "third_party/pdfium/public/cpp/fpdf_scopers.h"
 #include "third_party/pdfium/public/fpdf_ppo.h"
 #include "third_party/pdfium/public/fpdfview.h"
+#include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/geometry/size.h"
 
 using printing::ConvertUnitDouble;
@@ -121,7 +122,8 @@
 
 std::vector<uint8_t> CreateNupPdfDocument(FPDF_DOCUMENT doc,
                                           size_t pages_per_sheet,
-                                          const gfx::Size& page_size) {
+                                          const gfx::Size& page_size,
+                                          const gfx::Rect& printable_area) {
   int page_size_width = page_size.width();
   int page_size_height = page_size.height();
 
@@ -139,6 +141,9 @@
   if (!output_doc_nup)
     return std::vector<uint8_t>();
 
+  PDFiumPrint::FitContentsToPrintableArea(output_doc_nup.get(), page_size,
+                                          printable_area);
+
   PDFiumMemBufferFileWrite output_file_write;
   if (!FPDF_SaveAsCopy(output_doc_nup.get(), &output_file_write, 0))
     return std::vector<uint8_t>();
@@ -146,6 +151,14 @@
   return output_file_write.TakeBuffer();
 }
 
+bool IsValidPrintableArea(const gfx::Size& page_size,
+                          const gfx::Rect& printable_area) {
+  return !printable_area.IsEmpty() && printable_area.x() >= 0 &&
+         printable_area.y() >= 0 &&
+         printable_area.right() <= page_size.width() &&
+         printable_area.bottom() <= page_size.height();
+}
+
 }  // namespace
 
 PDFEngineExports::RenderingSettings::RenderingSettings(int dpi_x,
@@ -302,23 +315,33 @@
 std::vector<uint8_t> PDFiumEngineExports::ConvertPdfPagesToNupPdf(
     std::vector<base::span<const uint8_t>> input_buffers,
     size_t pages_per_sheet,
-    const gfx::Size& page_size) {
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area) {
+  if (!IsValidPrintableArea(page_size, printable_area))
+    return std::vector<uint8_t>();
+
   ScopedFPDFDocument doc = CreatePdfDoc(std::move(input_buffers));
   if (!doc)
     return std::vector<uint8_t>();
 
-  return CreateNupPdfDocument(doc.get(), pages_per_sheet, page_size);
+  return CreateNupPdfDocument(doc.get(), pages_per_sheet, page_size,
+                              printable_area);
 }
 
 std::vector<uint8_t> PDFiumEngineExports::ConvertPdfDocumentToNupPdf(
     base::span<const uint8_t> input_buffer,
     size_t pages_per_sheet,
-    const gfx::Size& page_size) {
+    const gfx::Size& page_size,
+    const gfx::Rect& printable_area) {
+  if (!IsValidPrintableArea(page_size, printable_area))
+    return std::vector<uint8_t>();
+
   ScopedFPDFDocument doc = LoadPdfData(input_buffer);
   if (!doc)
     return std::vector<uint8_t>();
 
-  return CreateNupPdfDocument(doc.get(), pages_per_sheet, page_size);
+  return CreateNupPdfDocument(doc.get(), pages_per_sheet, page_size,
+                              printable_area);
 }
 
 bool PDFiumEngineExports::GetPDFDocInfo(base::span<const uint8_t> pdf_buffer,
diff --git a/pdf/pdfium/pdfium_engine_exports.h b/pdf/pdfium/pdfium_engine_exports.h
index 04de13d..53af133 100644
--- a/pdf/pdfium/pdfium_engine_exports.h
+++ b/pdf/pdfium/pdfium_engine_exports.h
@@ -38,11 +38,13 @@
   std::vector<uint8_t> ConvertPdfPagesToNupPdf(
       std::vector<base::span<const uint8_t>> input_buffers,
       size_t pages_per_sheet,
-      const gfx::Size& page_size) override;
+      const gfx::Size& page_size,
+      const gfx::Rect& printable_area) override;
   std::vector<uint8_t> ConvertPdfDocumentToNupPdf(
       base::span<const uint8_t> input_buffer,
       size_t pages_per_sheet,
-      const gfx::Size& page_size) override;
+      const gfx::Size& page_size,
+      const gfx::Rect& printable_area) override;
   bool GetPDFDocInfo(base::span<const uint8_t> pdf_buffer,
                      int* page_count,
                      double* max_page_width) override;
diff --git a/pdf/pdfium/pdfium_engine_exports_unittest.cc b/pdf/pdfium/pdfium_engine_exports_unittest.cc
index ab01ba1..ed3e31c3 100644
--- a/pdf/pdfium/pdfium_engine_exports_unittest.cc
+++ b/pdf/pdfium/pdfium_engine_exports_unittest.cc
@@ -10,6 +10,7 @@
 #include "pdf/pdf.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/geometry/size.h"
 
 namespace chrome_pdf {
@@ -102,14 +103,26 @@
   ASSERT_TRUE(base::ReadFileToString(pdf_path, &pdf_data));
 
   std::vector<base::span<const uint8_t>> pdf_buffers;
-  std::vector<uint8_t> output_pdf_buffer =
-      ConvertPdfPagesToNupPdf(pdf_buffers, 1, gfx::Size(512, 792));
+  std::vector<uint8_t> output_pdf_buffer = ConvertPdfPagesToNupPdf(
+      pdf_buffers, 1, gfx::Size(612, 792), gfx::Rect(22, 20, 570, 750));
   EXPECT_TRUE(output_pdf_buffer.empty());
 
   pdf_buffers.push_back(base::as_bytes(base::make_span(pdf_data)));
   pdf_buffers.push_back(base::as_bytes(base::make_span(pdf_data)));
-  output_pdf_buffer =
-      ConvertPdfPagesToNupPdf(pdf_buffers, 2, gfx::Size(512, 792));
+  output_pdf_buffer = ConvertPdfPagesToNupPdf(
+      pdf_buffers, 2, gfx::Size(612, 792), gfx::Rect(22, 20, 0, 750));
+  EXPECT_TRUE(output_pdf_buffer.empty());
+  output_pdf_buffer = ConvertPdfPagesToNupPdf(
+      pdf_buffers, 2, gfx::Size(612, 792), gfx::Rect(22, 20, 570, 0));
+  EXPECT_TRUE(output_pdf_buffer.empty());
+  output_pdf_buffer = ConvertPdfPagesToNupPdf(
+      pdf_buffers, 2, gfx::Size(612, 792), gfx::Rect(300, 20, 570, 750));
+  EXPECT_TRUE(output_pdf_buffer.empty());
+  output_pdf_buffer = ConvertPdfPagesToNupPdf(
+      pdf_buffers, 2, gfx::Size(612, 792), gfx::Rect(22, 400, 570, 750));
+  EXPECT_TRUE(output_pdf_buffer.empty());
+  output_pdf_buffer = ConvertPdfPagesToNupPdf(
+      pdf_buffers, 2, gfx::Size(612, 792), gfx::Rect(22, 20, 570, 750));
   ASSERT_GT(output_pdf_buffer.size(), 0U);
 
   base::span<const uint8_t> output_pdf_span =
@@ -122,7 +135,7 @@
   double height;
   ASSERT_TRUE(GetPDFPageSizeByIndex(output_pdf_span, 0, &width, &height));
   EXPECT_DOUBLE_EQ(792.0, width);
-  EXPECT_DOUBLE_EQ(512.0, height);
+  EXPECT_DOUBLE_EQ(612.0, height);
 }
 
 TEST_F(PDFiumEngineExportsTest, ConvertPdfDocumentToNupPdf) {
@@ -132,13 +145,13 @@
   ASSERT_TRUE(base::ReadFileToString(pdf_path, &pdf_data));
 
   base::span<const uint8_t> pdf_buffer;
-  std::vector<uint8_t> output_pdf_buffer =
-      ConvertPdfDocumentToNupPdf(pdf_buffer, 1, gfx::Size(512, 792));
+  std::vector<uint8_t> output_pdf_buffer = ConvertPdfDocumentToNupPdf(
+      pdf_buffer, 1, gfx::Size(612, 792), gfx::Rect(32, 20, 570, 750));
   EXPECT_TRUE(output_pdf_buffer.empty());
 
   pdf_buffer = base::as_bytes(base::make_span(pdf_data));
-  output_pdf_buffer =
-      ConvertPdfDocumentToNupPdf(pdf_buffer, 4, gfx::Size(512, 792));
+  output_pdf_buffer = ConvertPdfDocumentToNupPdf(
+      pdf_buffer, 4, gfx::Size(612, 792), gfx::Rect(22, 20, 570, 750));
   ASSERT_GT(output_pdf_buffer.size(), 0U);
 
   base::span<const uint8_t> output_pdf_span =
@@ -151,7 +164,7 @@
     double height;
     ASSERT_TRUE(
         GetPDFPageSizeByIndex(output_pdf_span, page_number, &width, &height));
-    EXPECT_DOUBLE_EQ(512.0, width);
+    EXPECT_DOUBLE_EQ(612.0, width);
     EXPECT_DOUBLE_EQ(792.0, height);
   }
 }
diff --git a/pdf/pdfium/pdfium_print.cc b/pdf/pdfium/pdfium_print.cc
index 1437a43..a12d5ef1 100644
--- a/pdf/pdfium/pdfium_print.cc
+++ b/pdf/pdfium/pdfium_print.cc
@@ -22,6 +22,7 @@
 #include "third_party/pdfium/public/fpdf_transformpage.h"
 #include "ui/gfx/codec/jpeg_codec.h"
 #include "ui/gfx/geometry/rect.h"
+#include "ui/gfx/geometry/size.h"
 
 using printing::ConvertUnit;
 using printing::ConvertUnitDouble;
@@ -228,6 +229,19 @@
   return is_source_landscape;
 }
 
+void PDFiumPrint::FitContentsToPrintableArea(FPDF_DOCUMENT doc,
+                                             const gfx::Size& page_size,
+                                             const gfx::Rect& printable_area) {
+  PP_PrintSettings_Dev print_settings;
+  print_settings.paper_size = pp::Size(page_size.width(), page_size.height());
+  print_settings.printable_area =
+      pp::Rect(printable_area.x(), printable_area.y(), printable_area.width(),
+               printable_area.height());
+  print_settings.print_scaling_option =
+      PP_PRINTSCALINGOPTION_FIT_TO_PRINTABLE_AREA;
+  FitContentsToPrintableAreaIfRequired(doc, 1.0, print_settings);
+}
+
 pp::Buffer_Dev PDFiumPrint::PrintPagesAsRasterPDF(
     const PP_PrintPageNumberRange_Dev* page_ranges,
     uint32_t page_range_count,
diff --git a/pdf/pdfium/pdfium_print.h b/pdf/pdfium/pdfium_print.h
index 5405a1f..a899e6e 100644
--- a/pdf/pdfium/pdfium_print.h
+++ b/pdf/pdfium/pdfium_print.h
@@ -15,6 +15,11 @@
 struct PP_PrintSettings_Dev;
 struct PP_PrintPageNumberRange_Dev;
 
+namespace gfx {
+class Rect;
+class Size;
+}  // namespace gfx
+
 namespace chrome_pdf {
 
 class PDFiumEngine;
@@ -49,6 +54,10 @@
   // will not be rotated.
   static bool IsSourcePdfLandscape(FPDF_DOCUMENT doc);
 
+  static void FitContentsToPrintableArea(FPDF_DOCUMENT doc,
+                                         const gfx::Size& page_size,
+                                         const gfx::Rect& printable_area);
+
  private:
   FPDF_DOCUMENT CreateSinglePageRasterPdf(
       double source_page_width,
diff --git a/services/network/public/mojom/tcp_socket.mojom b/services/network/public/mojom/tcp_socket.mojom
index 8128bc2..1aaa798 100644
--- a/services/network/public/mojom/tcp_socket.mojom
+++ b/services/network/public/mojom/tcp_socket.mojom
@@ -51,7 +51,8 @@
   // On success, |net_error| is net::OK. Caller is to use |send_stream| to send
   // data and |receive_stream| to receive data over the connection. On failure,
   // |result| is a network error code.
-  // |ssl_info| is only returned if |options::skip_cert_verification| is true.
+  // |ssl_info| is only returned if |options::unsafely_skip_cert_verification|
+  // is true.
   UpgradeToTLS(HostPortPair host_port_pair,
                TLSClientSocketOptions? options,
                MutableNetworkTrafficAnnotationTag traffic_annotation,
diff --git a/services/network/public/mojom/tls_socket.mojom b/services/network/public/mojom/tls_socket.mojom
index 92d3019..a885dc7 100644
--- a/services/network/public/mojom/tls_socket.mojom
+++ b/services/network/public/mojom/tls_socket.mojom
@@ -21,5 +21,5 @@
   SSLVersion version_min = kTLS1;
   SSLVersion version_max = kTLS12;
   // If |true|, the SSLInfo will be returned in the UpgradeToTLS callback.
-  bool skip_cert_verification = false;
+  bool unsafely_skip_cert_verification = false;
 };
diff --git a/services/network/tls_socket_factory.cc b/services/network/tls_socket_factory.cc
index a5010ad..040b65b 100644
--- a/services/network/tls_socket_factory.cc
+++ b/services/network/tls_socket_factory.cc
@@ -121,7 +121,7 @@
     ssl_config.version_max =
         mojo::MojoSSLVersionToNetSSLVersion(socket_options->version_max);
 
-    if (socket_options->skip_cert_verification) {
+    if (socket_options->unsafely_skip_cert_verification) {
       if (!no_verification_cert_verifier_) {
         no_verification_cert_verifier_ = base::WrapUnique(new FakeCertVerifier);
         no_verification_transport_security_state_.reset(
diff --git a/services/network/tls_socket_factory.h b/services/network/tls_socket_factory.h
index 437c8df..76509df 100644
--- a/services/network/tls_socket_factory.h
+++ b/services/network/tls_socket_factory.h
@@ -74,8 +74,8 @@
       const net::NetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TCPConnectedSocket::UpgradeToTLSCallback callback);
 
-  // The following are used when |skip_cert_verification| is specified in
-  // upgrade options.
+  // The following are used when |unsafely_skip_cert_verification| is specified
+  // in upgrade options.
   net::SSLClientSocketContext no_verification_ssl_client_socket_context_;
   std::unique_ptr<net::CertVerifier> no_verification_cert_verifier_;
   std::unique_ptr<net::TransportSecurityState>
diff --git a/skia/ext/fontmgr_default_fuchsia.cc b/skia/ext/fontmgr_default_fuchsia.cc
index fc0f4d8..379a00c 100644
--- a/skia/ext/fontmgr_default_fuchsia.cc
+++ b/skia/ext/fontmgr_default_fuchsia.cc
@@ -25,5 +25,5 @@
   }
   return sk_make_sp<skia::FuchsiaFontManager>(
       base::fuchsia::ComponentContext::GetDefault()
-          ->ConnectToServiceSync<fuchsia::fonts::FontProvider>());
+          ->ConnectToServiceSync<fuchsia::fonts::Provider>());
 }
diff --git a/skia/ext/fontmgr_fuchsia.cc b/skia/ext/fontmgr_fuchsia.cc
index c1f94600..3469305f 100644
--- a/skia/ext/fontmgr_fuchsia.cc
+++ b/skia/ext/fontmgr_fuchsia.cc
@@ -27,9 +27,9 @@
 
 constexpr char kDefaultFont[] = "Roboto";
 
-// Currently FontProvider doesn't support font aliases. The map below is used to
-// map common web fonts to font families that are expected to be present in
-// FontProvider.
+// Currently fonts::Provider doesn't support font aliases. The map below is
+// used to map common web fonts to font families that are expected to be present
+// in fonts::Provider.
 constexpr struct {
   const char* font_name_in;
   const char* font_name_out;
@@ -50,10 +50,9 @@
                 {"courier new", "RobotoMono"},
                 {"monospace", "RobotoMono"}};
 
-fuchsia::fonts::FontSlant ToFontSlant(SkFontStyle::Slant slant) {
-  return (slant == SkFontStyle::kItalic_Slant)
-             ? fuchsia::fonts::FontSlant::ITALIC
-             : fuchsia::fonts::FontSlant::UPRIGHT;
+fuchsia::fonts::Slant ToFontSlant(SkFontStyle::Slant slant) {
+  return (slant == SkFontStyle::kItalic_Slant) ? fuchsia::fonts::Slant::ITALIC
+                                               : fuchsia::fonts::Slant::UPRIGHT;
 }
 
 void UnmapMemory(const void* buffer, void* context) {
@@ -127,14 +126,14 @@
                                     name, std::move(on_deleted));
 }
 
-sk_sp<SkTypeface> CreateTypefaceFromFontData(fuchsia::fonts::FontData font_data,
-                                             base::OnceClosure on_deleted) {
-  sk_sp<SkData> data = BufferToSkData(std::move(font_data.buffer));
+sk_sp<SkTypeface> CreateTypefaceFromBuffer(fuchsia::mem::Buffer buffer,
+                                           base::OnceClosure on_deleted) {
+  sk_sp<SkData> data = BufferToSkData(std::move(buffer));
   if (!data)
     return nullptr;
 
   // TODO(https://crbug.com/800156): Initialize font arguments with font index
-  // when font collection support is implemented in FontProvider.
+  // when font collection support is implemented in Provider.
   SkFontArguments args;
 
   return CreateTypefaceFromSkStream(
@@ -149,7 +148,7 @@
   FontCache();
   ~FontCache();
 
-  sk_sp<SkTypeface> GetTypefaceFromFontData(fuchsia::fonts::FontData font_data);
+  sk_sp<SkTypeface> GetTypefaceFromBuffer(fuchsia::mem::Buffer buffer);
 
  private:
   void OnTypefaceDeleted(zx_koid_t vmo_koid);
@@ -157,7 +156,7 @@
   THREAD_CHECKER(thread_checker_);
 
   // SkTypeface cache. They key is koid of the VMO that contains the typeface.
-  // This allows to reuse previously-created SkTypeface when FontProvider
+  // This allows to reuse previously-created SkTypeface when fonts::Provider
   // returns FontData with the same VMO.
   base::small_map<std::unordered_map<zx_koid_t, SkTypeface*>> typefaces_;
 
@@ -170,13 +169,13 @@
 
 FuchsiaFontManager::FontCache::~FontCache() = default;
 
-sk_sp<SkTypeface> FuchsiaFontManager::FontCache::GetTypefaceFromFontData(
-    fuchsia::fonts::FontData font_data) {
+sk_sp<SkTypeface> FuchsiaFontManager::FontCache::GetTypefaceFromBuffer(
+    fuchsia::mem::Buffer buffer) {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
 
   zx_info_handle_basic_t vmo_info;
-  zx_status_t status = font_data.buffer.vmo.get_info(
-      ZX_INFO_HANDLE_BASIC, &vmo_info, sizeof(vmo_info), nullptr, nullptr);
+  zx_status_t status = buffer.vmo.get_info(ZX_INFO_HANDLE_BASIC, &vmo_info,
+                                           sizeof(vmo_info), nullptr, nullptr);
   if (status != ZX_OK) {
     ZX_DLOG(ERROR, status) << "zx_object_get_info";
     return nullptr;
@@ -187,8 +186,8 @@
   if (*cached_typeface) {
     result = sk_ref_sp(*cached_typeface);
   } else {
-    result = CreateTypefaceFromFontData(
-        std::move(font_data),
+    result = CreateTypefaceFromBuffer(
+        std::move(buffer),
         base::BindOnce(&FontCache::OnTypefaceDeleted,
                        weak_factory_.GetWeakPtr(), vmo_info.koid));
     *cached_typeface = result.get();
@@ -204,7 +203,7 @@
 }
 
 FuchsiaFontManager::FuchsiaFontManager(
-    fuchsia::fonts::FontProviderSyncPtr font_provider)
+    fuchsia::fonts::ProviderSyncPtr font_provider)
     : font_provider_(std::move(font_provider)), font_cache_(new FontCache()) {
   for (auto& m : kFontMap) {
     font_map_[m.font_name_in] = m.font_name_out;
@@ -214,7 +213,7 @@
   default_typeface_.reset(onMatchFamilyStyle(kDefaultFont, SkFontStyle()));
   if (!default_typeface_) {
     default_typeface_ = sk_make_sp<SkTypeface_Empty>();
-    LOG(ERROR) << "Failed to get default font from the FontProvider.";
+    LOG(ERROR) << "Failed to get default font from fonts::Provider.";
   }
 }
 
@@ -246,30 +245,31 @@
     const SkFontStyle& style) const {
   std::string family_name_lowercase = base::ToLowerASCII(family_name);
 
-  fuchsia::fonts::FontRequest request;
+  fuchsia::fonts::Request request;
   auto it = font_map_.find(family_name_lowercase);
   request.family = (it != font_map_.end()) ? it->second.c_str() : family_name;
   request.weight = style.weight();
   request.width = style.width();
   request.slant = ToFontSlant(style.slant());
 
-  fuchsia::fonts::FontResponsePtr response;
+  fuchsia::fonts::ResponsePtr response;
   zx_status_t status = font_provider_->GetFont(std::move(request), &response);
   if (status != ZX_OK) {
     ZX_DLOG(ERROR, status) << "Failed to query font provider.";
   } else if (response) {
     sk_sp<SkTypeface> result =
-        font_cache_->GetTypefaceFromFontData(std::move(response->data));
+        font_cache_->GetTypefaceFromBuffer(std::move(response->buffer));
     if (result)
       return result.release();
 
-    LOG(ERROR) << "FontProvider returned invalid FontData for " << family_name;
+    LOG(ERROR) << "fonts::Provider returned invalid FontData for "
+               << family_name;
   }
 
   // If Sans was requested and we failed to get a valid response from
-  // FontProvider then return |default_typeface_|. blink::FontCache queries Sans
-  // as a last-resort font. Returning |default_typeface_| here ensures that the
-  // renderer doesn't crash when FontProvider stops working.
+  // fonts::Provider then return |default_typeface_|. blink::FontCache queries
+  // Sans as a last-resort font. Returning |default_typeface_| here ensures that
+  // the renderer doesn't crash when fonts::Provider stops working.
   if (family_name_lowercase == "sans") {
     // Copy |default_typeface_| to increment ref-count before returning it.
     sk_sp<SkTypeface> result = default_typeface_;
diff --git a/skia/ext/fontmgr_fuchsia.h b/skia/ext/fontmgr_fuchsia.h
index bd3ab155..cb12997 100644
--- a/skia/ext/fontmgr_fuchsia.h
+++ b/skia/ext/fontmgr_fuchsia.h
@@ -19,8 +19,7 @@
 
 class SK_API FuchsiaFontManager : public SkFontMgr {
  public:
-  explicit FuchsiaFontManager(
-      fuchsia::fonts::FontProviderSyncPtr font_provider);
+  explicit FuchsiaFontManager(fuchsia::fonts::ProviderSyncPtr font_provider);
 
   ~FuchsiaFontManager() override;
 
@@ -52,7 +51,7 @@
  private:
   class FontCache;
 
-  fuchsia::fonts::FontProviderSyncPtr font_provider_;
+  fuchsia::fonts::ProviderSyncPtr font_provider_;
 
   // Map applied to font family name before sending requests to the FontService.
   base::flat_map<std::string, std::string> font_map_;
diff --git a/skia/ext/fontmgr_fuchsia_unittest.cc b/skia/ext/fontmgr_fuchsia_unittest.cc
index e3d3748b..5a32dc7 100644
--- a/skia/ext/fontmgr_fuchsia_unittest.cc
+++ b/skia/ext/fontmgr_fuchsia_unittest.cc
@@ -25,20 +25,19 @@
 constexpr zx_rights_t kFontDataRights =
     ZX_RIGHTS_BASIC | ZX_RIGHT_READ | ZX_RIGHT_MAP;
 
-fuchsia::fonts::FontData LoadFont(const base::FilePath& file_path) {
+fuchsia::mem::Buffer LoadFont(const base::FilePath& file_path) {
   std::string file_content;
   CHECK(ReadFileToString(file_path, &file_content));
-  fuchsia::fonts::FontData data;
-  zx_status_t status =
-      zx::vmo::create(file_content.size(), 0, &data.buffer.vmo);
+  fuchsia::mem::Buffer buffer;
+  zx_status_t status = zx::vmo::create(file_content.size(), 0, &buffer.vmo);
   ZX_CHECK(status == ZX_OK, status);
-  status = data.buffer.vmo.write(file_content.data(), 0, file_content.size());
+  status = buffer.vmo.write(file_content.data(), 0, file_content.size());
   ZX_CHECK(status == ZX_OK, status);
-  data.buffer.size = file_content.size();
-  return data;
+  buffer.size = file_content.size();
+  return buffer;
 }
 
-class MockFontProvider : public fuchsia::fonts::FontProvider {
+class MockFontProvider : public fuchsia::fonts::Provider {
  public:
   MockFontProvider() {
     base::FilePath assets_dir;
@@ -50,32 +49,32 @@
     roboto_slab_ = LoadFont(assets_dir.Append("test_fonts/Tinos-Regular.ttf"));
   }
 
-  // fuchsia::fonts::FontProvider implementation.
-  void GetFont(fuchsia::fonts::FontRequest request,
+  // fuchsia::fonts::Provider implementation.
+  void GetFont(fuchsia::fonts::Request request,
                GetFontCallback callback) override {
-    fuchsia::fonts::FontData* font_data = nullptr;
+    fuchsia::mem::Buffer* font_buffer = nullptr;
     if (*request.family == "Roboto") {
-      font_data = &roboto_;
+      font_buffer = &roboto_;
     } else if (*request.family == "RobotoSlab") {
-      font_data = &roboto_slab_;
+      font_buffer = &roboto_slab_;
     }
 
-    if (!font_data) {
+    if (!font_buffer) {
       callback(nullptr);
       return;
     }
 
-    auto response = fuchsia::fonts::FontResponse::New();
-    EXPECT_EQ(font_data->buffer.vmo.duplicate(kFontDataRights,
-                                              &(response->data.buffer.vmo)),
-              ZX_OK);
-    response->data.buffer.size = font_data->buffer.size;
+    auto response = fuchsia::fonts::Response::New();
+    EXPECT_EQ(
+        font_buffer->vmo.duplicate(kFontDataRights, &(response->buffer.vmo)),
+        ZX_OK);
+    response->buffer.size = font_buffer->size;
     callback(std::move(response));
   }
 
  private:
-  fuchsia::fonts::FontData roboto_;
-  fuchsia::fonts::FontData roboto_slab_;
+  fuchsia::mem::Buffer roboto_;
+  fuchsia::mem::Buffer roboto_slab_;
 };
 
 class MockFontProviderService {
@@ -90,24 +89,23 @@
                                                std::move(provider_binding_));
   }
 
-  void Bind(fidl::InterfaceRequest<fuchsia::fonts::FontProvider> request) {
+  void Bind(fidl::InterfaceRequest<fuchsia::fonts::Provider> request) {
     provider_thread_.task_runner()->PostTask(
         FROM_HERE, base::BindOnce(&MockFontProviderService::DoBind,
                                   base::Unretained(this), std::move(request)));
   }
 
  private:
-  void DoBind(fidl::InterfaceRequest<fuchsia::fonts::FontProvider> request) {
+  void DoBind(fidl::InterfaceRequest<fuchsia::fonts::Provider> request) {
     provider_binding_ =
-        std::make_unique<fidl::Binding<fuchsia::fonts::FontProvider>>(
+        std::make_unique<fidl::Binding<fuchsia::fonts::Provider>>(
             &provider_, std::move(request));
   }
 
   base::Thread provider_thread_;
 
   MockFontProvider provider_;
-  std::unique_ptr<fidl::Binding<fuchsia::fonts::FontProvider>>
-      provider_binding_;
+  std::unique_ptr<fidl::Binding<fuchsia::fonts::Provider>> provider_binding_;
 };
 
 }  // namespace
@@ -115,7 +113,7 @@
 class FuchsiaFontManagerTest : public testing::Test {
  public:
   FuchsiaFontManagerTest() {
-    fuchsia::fonts::FontProviderSyncPtr font_provider;
+    fuchsia::fonts::ProviderSyncPtr font_provider;
     font_provider_service_.Bind(font_provider.NewRequest());
     font_manager_ = sk_make_sp<FuchsiaFontManager>(std::move(font_provider));
   }
diff --git a/storage/DEPS b/storage/DEPS
index 5da38bf0..83e7442 100644
--- a/storage/DEPS
+++ b/storage/DEPS
@@ -6,6 +6,7 @@
   "+services/network/public/mojom",
   "+services/network/session_cleanup_cookie_store.h",
   "+sql",
+  "+third_party/blink/public/common",
   "+third_party/blink/public/mojom",
   "+third_party/blink/public/platform",
   "+third_party/leveldatabase",
diff --git a/storage/OWNERS b/storage/OWNERS
index ca4682d..499dd91 100644
--- a/storage/OWNERS
+++ b/storage/OWNERS
@@ -1,6 +1,7 @@
 dmurph@chromium.org
 jsbell@chromium.org
 pwnall@chromium.org
+mek@chromium.org
 kinuko@chromium.org
 
 # TEAM: storage-dev@chromium.org
diff --git a/storage/browser/blob/mojo_blob_reader.cc b/storage/browser/blob/mojo_blob_reader.cc
index 0c4e8f06..870638e 100644
--- a/storage/browser/blob/mojo_blob_reader.cc
+++ b/storage/browser/blob/mojo_blob_reader.cc
@@ -8,6 +8,7 @@
 #include "net/base/io_buffer.h"
 #include "services/network/public/cpp/net_adapters.h"
 #include "storage/browser/blob/blob_data_handle.h"
+#include "third_party/blink/public/common/blob/blob_utils.h"
 
 namespace storage {
 
@@ -184,6 +185,8 @@
     return;
   }
 
+  num_bytes = std::min(num_bytes, blink::BlobUtils::GetDataPipeChunkSize());
+
   TRACE_EVENT_ASYNC_BEGIN0("Blob", "BlobReader::ReadMore", this);
   CHECK_GT(static_cast<uint32_t>(std::numeric_limits<int>::max()), num_bytes);
   DCHECK(pending_write_);
diff --git a/storage/browser/fileapi/OWNERS b/storage/browser/fileapi/OWNERS
index 3cf9e69..e3635f0 100644
--- a/storage/browser/fileapi/OWNERS
+++ b/storage/browser/fileapi/OWNERS
@@ -1,3 +1,4 @@
+mek@chromium.org
 tzik@chromium.org
 nhiroki@chromium.org
 
diff --git a/storage/common/fileapi/OWNERS b/storage/common/fileapi/OWNERS
index aaa27af5..9bf87a3 100644
--- a/storage/common/fileapi/OWNERS
+++ b/storage/common/fileapi/OWNERS
@@ -1,3 +1,4 @@
+mek@chromium.org
 tzik@chromium.org
 nhiroki@chromium.org
 
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 52f938e..d259157 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -105,19 +105,6 @@
             }
           ]
         },
-        "test": "cros_vm_sanity_test"
-      },
-      {
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "kvm": "1",
-              "os": "Ubuntu-14.04",
-              "pool": "Chrome-CrOS-VM"
-            }
-          ]
-        },
         "test": "crypto_unittests"
       },
       {
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 75f2e9ef..1b865d63 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -947,13 +947,25 @@
     "gtest_tests": [
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "arm7l-32",
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_helper_nonsfi_unittests"
       },
       {
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "arm7l-32",
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "nacl_loader_unittests"
       },
@@ -962,7 +974,13 @@
           "--test-launcher-print-test-stdio=always"
         ],
         "swarming": {
-          "can_use_on_swarming_builders": true
+          "can_use_on_swarming_builders": true,
+          "dimension_sets": [
+            {
+              "cpu": "arm7l-32",
+              "os": "Ubuntu-14.04"
+            }
+          ]
         },
         "test": "sandbox_linux_unittests"
       }
@@ -3071,21 +3089,6 @@
         "test": "chromeos_unittests"
       },
       {
-        "swarming": {
-          "can_use_on_swarming_builders": true,
-          "dimension_sets": [
-            {
-              "kvm": "1",
-              "os": "Ubuntu-14.04",
-              "pool": "Chrome-CrOS-VM"
-            }
-          ],
-          "hard_timeout": 3600,
-          "io_timeout": 3600
-        },
-        "test": "cros_vm_sanity_test"
-      },
-      {
         "args": [
           "--vpython-dir=../../vpython_dir_linux_amd64",
           "--ozone-platform=headless",
diff --git a/testing/buildbot/filters/chromeos.mash.fyi.browser_tests.filter b/testing/buildbot/filters/chromeos.mash.fyi.browser_tests.filter
index dfea6024..a2cb8e4 100644
--- a/testing/buildbot/filters/chromeos.mash.fyi.browser_tests.filter
+++ b/testing/buildbot/filters/chromeos.mash.fyi.browser_tests.filter
@@ -38,6 +38,7 @@
 -BrowserNonClientFrameViewAshTest.HeaderHeightForSnappedBrowserInSplitView/*
 
 # Touch gestures don't work in webcontents. https://crbug.com/866991.
+-TopControlsSlideControllerTest.TestScrollingMaximizedPageBeforeGoingToTabletMode
 -TopControlsSlideControllerTest.TestScrollingPage
 -TopControlsSlideControllerTest.TestScrollingPageAndSwitchingToNTP
 -TopControlsSlideControllerTest.TestClosingATab
@@ -262,10 +263,10 @@
 -PresentationReceiverWindowViewBrowserTest.ChromeOSHardwareFullscreenButton
 
 # RenderFrameMetadata observation not supported: https://crbug.com/820974
--ChromeMimeHandlerViewBrowserPluginScrollTest.OverscrollControllerSeesConsumedScrollsInGuest
 -WebViewFocusBrowserPluginSpecificTest.*
 -WebViewScrollBubbling/WebViewGuestScrollTest.ScrollLatchingPreservedInGuests/*
 -WebViewScrollBubbling/WebViewGuestScrollTouchTest.*
+-WebViewScrollGuestContentBrowserPluginSpecificTest.OverscrollControllerSeesConsumedScrollsInGuest
 -WebViewScrollBubbling/WebViewGuestScrollTest.TestGuestWheelScrollsBubble/*
 
 # https://crbug.com/843760: webm in <object> triggers RegisterFrameSinkId crash
diff --git a/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter b/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter
index c85134d..d403ec5 100644
--- a/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter
+++ b/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter
@@ -97,10 +97,10 @@
 -RoundedOmniboxPopupContentsViewTest.ClickOmnibox*
 
 # RenderFrameMetadata observation not supported: https://crbug.com/820974
--ChromeMimeHandlerViewBrowserPluginScrollTest.OverscrollControllerSeesConsumedScrollsInGuest
 -WebViewFocusBrowserPluginSpecificTest.*
 -WebViewScrollBubbling/WebViewGuestScrollTest.ScrollLatchingPreservedInGuests/*
 -WebViewScrollBubbling/WebViewGuestScrollTouchTest.*
+-WebViewScrollGuestContentBrowserPluginSpecificTest.OverscrollControllerSeesConsumedScrollsInGuest
 -WebViewScrollBubbling/WebViewGuestScrollTest.TestGuestWheelScrollsBubble/*
 
 # FATAL:hit_test_region_observer.cc(164)] Check failed: frame_sink_id.is_valid().
@@ -200,6 +200,9 @@
 -ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.*
 -ManagedWithPermission/ManagedWithPermissionPlatformKeysTest.*
 
+# Timeout. https://crbug.com/883884
+-MediaEngagementBrowserTest.SessionNewTabNavigateSameURL
+
 # Full screen button tests.
 -PresentationReceiverWindowViewBrowserTest.ChromeOSHardwareFullscreenButton
 
diff --git a/testing/buildbot/gn_isolate_map.pyl b/testing/buildbot/gn_isolate_map.pyl
index 03f708f..d814465 100644
--- a/testing/buildbot/gn_isolate_map.pyl
+++ b/testing/buildbot/gn_isolate_map.pyl
@@ -497,13 +497,13 @@
     "label": "//components/cronet/android:cronet_test_instrumentation_apk",
     "type": "console_test_launcher",
   },
-  "cros_vm_sanity_test": {
-    "label": "//chromeos:cros_vm_sanity_test",
-    "type": "raw",
-    "args": [
-        "--vm-logs-dir=${ISOLATED_OUTDIR}",
-    ]
-  },
+  #"cros_vm_sanity_test": {
+  #  "label": "//chromeos:cros_vm_sanity_test",
+  #  "type": "raw",
+  #  "args": [
+  #      "--vm-logs-dir=${ISOLATED_OUTDIR}",
+  #  ]
+  #},
   "crypto_unittests": {
     "label": "//crypto:crypto_unittests",
     "type": "console_test_launcher",
diff --git a/testing/buildbot/swarming_mixins.pyl b/testing/buildbot/swarming_mixins.pyl
index 7ef2361..c4e37c1 100644
--- a/testing/buildbot/swarming_mixins.pyl
+++ b/testing/buildbot/swarming_mixins.pyl
@@ -15,4 +15,14 @@
 # already exists.
 
 {
+  'linux-trusty': {
+    'dimensions': {
+      'os': 'Ubuntu-14.04',
+    }
+  },
+  'arm_tester': {
+    'dimensions': {
+      'cpu': 'arm7l-32',
+    }
+  }
 }
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index 36a76bf..aaf46f28 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -383,7 +383,9 @@
         '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.chromeos_unittests.filter',
       ],
     },
-    'cros_vm_sanity_test': {},
+    # TODO(bpastene): Re-enable this once the fixes in crbug.com/881638 roll
+    # into CHROMEOS_LKGM.
+    #'cros_vm_sanity_test': {},
     'crypto_unittests': {},
     'display_unittests': {},
     'google_apis_unittests': {},
@@ -437,7 +439,9 @@
         '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.chromeos_unittests.filter',
       ],
     },
-    'cros_vm_sanity_test': {},
+    # TODO(bpastene): Re-enable this once the fixes in crbug.com/881638 roll
+    # into CHROMEOS_LKGM.
+    #'cros_vm_sanity_test': {},
     'services_unittests': {
       'args': [
         '--vpython-dir=../../vpython_dir_linux_amd64',
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl
index acdc804..21f16ff 100644
--- a/testing/buildbot/waterfalls.pyl
+++ b/testing/buildbot/waterfalls.pyl
@@ -2432,6 +2432,10 @@
         ],
       },
       'Linux ARM': {
+        'swarming_mixins': [
+          'linux-trusty',
+          'arm_tester',
+        ],
         'test_suites': {
           'gtest_tests': 'linux_arm_gtests',
         },
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 0830d3a..babf960 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -461,31 +461,13 @@
     "AudioService": [
         {
             "platforms": [
+                "linux",
                 "mac",
                 "windows"
             ],
             "experiments": [
                 {
-                    "name": "AudioProcess_LaunchOnStartup_Sandboxed_v7",
-                    "params": {
-                        "teardown_timeout_s": "0"
-                    },
-                    "enable_features": [
-                        "AudioServiceAudioStreams",
-                        "AudioServiceLaunchOnStartup",
-                        "AudioServiceOutOfProcess",
-                        "AudioServiceSandbox"
-                    ]
-                }
-            ]
-        },
-        {
-            "platforms": [
-                "linux"
-            ],
-            "experiments": [
-                {
-                    "name": "AudioProcess_LaunchOnStartup_v7",
+                    "name": "AudioProcess_LaunchOnStartup_v6",
                     "params": {
                         "teardown_timeout_s": "0"
                     },
@@ -873,6 +855,29 @@
             ]
         }
     ],
+    "BlobDataPipeTuning": [
+        {
+            "platforms": [
+                "android",
+                "chromeos",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Capacity_512kb_Chunk_64kb",
+                    "params": {
+                        "capacity_bytes": "524288",
+                        "chunk_bytes": "65536"
+                    },
+                    "enable_features": [
+                        "BlobDataPipeTuning"
+                    ]
+                }
+            ]
+        }
+    ],
     "BlockTabUnders": [
         {
             "platforms": [
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
index 4144d25..6aa96ff 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -76,6 +76,7 @@
 crbug.com/591099 external/wpt/css/CSS2/text/white-space-mixed-003.xht [ Pass ]
 crbug.com/591099 external/wpt/css/css-contain/contain-layout-cell-001.html [ Pass ]
 crbug.com/591099 external/wpt/css/css-contain/contain-layout-cell-002.html [ Pass ]
+crbug.com/591099 external/wpt/css/css-contain/contain-size-025.html [ Pass ]
 crbug.com/591099 external/wpt/css/css-contain/contain-size-scrollbars-001.html [ Failure ]
 crbug.com/714962 external/wpt/css/css-fonts/font-features-across-space-1.html [ Pass ]
 crbug.com/714962 external/wpt/css/css-fonts/font-features-across-space-3.html [ Pass ]
@@ -244,7 +245,7 @@
 crbug.com/591099 external/wpt/fetch/api/redirect/redirect-count.any.worker.html [ Pass ]
 crbug.com/591099 external/wpt/fetch/api/request/request-keepalive-quota.html?include=slow-2 [ Pass ]
 crbug.com/591099 external/wpt/fetch/http-cache/basic-auth-cache-test.html [ Timeout ]
-crbug.com/591099 external/wpt/geolocation-API/PositionOptions.https.html [ Failure ]
+crbug.com/591099 external/wpt/geolocation-API/PositionOptions.https.html [ Failure Pass ]
 crbug.com/591099 external/wpt/html-media-capture/capture_audio_cancel-manual.html [ Failure ]
 crbug.com/591099 external/wpt/html-media-capture/capture_image_cancel-manual.html [ Failure ]
 crbug.com/591099 external/wpt/html-media-capture/capture_video_cancel-manual.html [ Failure ]
@@ -252,6 +253,7 @@
 crbug.com/591099 external/wpt/html/browsers/the-window-object/window-open-noopener.html?_parent [ Timeout ]
 crbug.com/591099 external/wpt/html/browsers/the-window-object/window-open-noopener.html?_self [ Timeout ]
 crbug.com/591099 external/wpt/html/interaction/focus/sequential-focus-navigation-and-the-tabindex-attribute/focus-tabindex-positive.html [ Timeout ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-vertical.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-hr-element-0/color.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-page/body-margin-2j.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-img-auto.html [ Failure ]
@@ -284,6 +286,7 @@
 crbug.com/591099 external/wpt/requestidlecallback/callback-timeout-when-busy.html [ Timeout ]
 crbug.com/591099 external/wpt/requestidlecallback/callback-timeout.html [ Timeout ]
 crbug.com/591099 external/wpt/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html [ Failure ]
+crbug.com/591099 external/wpt/shadow-dom/untriaged/styles/test-003.html [ Pass ]
 crbug.com/591099 external/wpt/speech-api/SpeechSynthesis-speak-twice.html [ Timeout ]
 crbug.com/591099 external/wpt/svg/painting/reftests/paint-context-001.svg [ Failure ]
 crbug.com/591099 external/wpt/svg/painting/reftests/paint-context-002.svg [ Failure ]
@@ -380,14 +383,14 @@
 crbug.com/591099 fast/overflow/overflow-update-transform.html [ Failure ]
 crbug.com/591099 fast/overflow/recompute-overflow-of-layout-root-container.html [ Failure ]
 crbug.com/591099 fast/replaced/table-replaced-element.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollbar-tickmarks-hittest.html [ Failure Pass ]
+crbug.com/591099 fast/scrolling/scrollbar-tickmarks-hittest.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/sub-pixel-border-2.html [ Failure ]
 crbug.com/591099 fast/table/border-collapsing/004-vertical.html [ Failure ]
 crbug.com/591099 fast/table/border-collapsing/composited-cell-collapsed-border.html [ Failure ]
 crbug.com/591099 fast/table/dynamic-descendant-percentage-height.html [ Failure ]
 crbug.com/591099 fast/table/empty-table-percent-height.html [ Failure ]
 crbug.com/591099 fast/table/height-percent-test-vertical.html [ Failure ]
-crbug.com/591099 fast/table/percent-height-overflow-auto-content-in-cell.html [ Failure Pass ]
+crbug.com/591099 fast/table/percent-height-overflow-auto-content-in-cell.html [ Failure ]
 crbug.com/591099 fast/table/percent-height-overflow-scroll-content-in-cell.html [ Failure Pass ]
 crbug.com/858998 fast/table/table-continuation-outline-paint-crash.html [ Failure ]
 crbug.com/591099 fast/table/table-display-types-vertical.html [ Failure ]
@@ -429,7 +432,7 @@
 crbug.com/591099 http/tests/security/cors-rfc1918/addressspace-document-appcache.https.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/cors-rfc1918/addressspace-document-csp-appcache.https.html [ Crash Failure Pass ]
 crbug.com/591099 http/tests/security/setDomainRelaxationForbiddenForURLScheme.html [ Crash ]
-crbug.com/591099 idle-callback/test-runner-run-idle-tasks.html [ Crash Pass ]
+crbug.com/591099 idle-callback/test-runner-run-idle-tasks.html [ Pass ]
 crbug.com/591099 images/color-profile-image-filter-all.html [ Failure ]
 crbug.com/591099 images/rendering-broken-block-flow-images.html [ Failure ]
 crbug.com/591099 images/rendering-broken-images.html [ Failure ]
@@ -474,7 +477,7 @@
 crbug.com/714962 paint/invalidation/position/relative-positioned-movement-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/position/relayout-fixed-position-after-scale.html [ Failure ]
 crbug.com/591099 paint/invalidation/scroll/repaint-composited-child-in-scrolled-container.html [ Failure ]
-crbug.com/591099 paint/invalidation/selection/selection-partial-invalidation-between-blocks.html [ Failure ]
+crbug.com/591099 paint/invalidation/selection/selection-partial-invalidation-between-blocks.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/animated-path-inside-transformed-html.xhtml [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/resize-svg-invalidate-children.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/svg-background-partial-redraw.html [ Failure ]
@@ -560,4 +563,4 @@
 crbug.com/591099 virtual/user-activation-v2/fast/events/mouse-cursor.html [ Failure ]
 crbug.com/591099 virtual/user-activation-v2/fast/events/touch/compositor-touch-hit-rects.html [ Failure ]
 crbug.com/591099 virtual/video-surface-layer/media/video-aspect-ratio.html [ Failure ]
-crbug.com/591099 virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-ontonechange.https.html [ Failure Pass ]
+crbug.com/591099 virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCDTMFSender-ontonechange.https.html [ Pass ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index f1edf5b6..9be0437 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -2779,6 +2779,7 @@
 crbug.com/875249 external/wpt/infrastructure/testdriver/bless.html [ Timeout Pass ]
 
 # ====== New tests from wpt-importer added here ======
+crbug.com/626703 external/wpt/css/css-contain/contain-layout-008.html [ Failure ]
 crbug.com/626703 external/wpt/presentation-api/controlling-ua/reconnectToPresentation_notfound_error-manual.https.html [ Skip ]
 crbug.com/626703 external/wpt/presentation-api/controlling-ua/reconnectToMultiplePresentations_success-manual.https.html [ Skip ]
 crbug.com/626703 external/wpt/presentation-api/controlling-ua/startMultiplePresentations_success-manual.https.html [ Skip ]
@@ -2811,7 +2812,7 @@
 crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html [ Failure ]
 crbug.com/626703 [ Retina ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-003v.html [ Failure ]
 crbug.com/626703 [ Mac10.10 Mac10.12 ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-003v.html [ Failure ]
-crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-vertical.html [ Failure ]
+crbug.com/626703 [ Mac ] external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-vertical.html [ Failure ]
 crbug.com/626703 external/wpt/css/selectors/old-tests/css3-modsel-16.xml [ Skip ]
 crbug.com/626703 external/wpt/css/selectors/old-tests/css3-modsel-83.xml [ Failure ]
 crbug.com/626703 external/wpt/css/selectors/old-tests/css3-modsel-64.xml [ Skip ]
@@ -5128,3 +5129,4 @@
 # Sheriff 2018-09-13
 crbug.com/883591 [ Android ] fullscreen/full-screen-inline-split-crash.html [ Pass Crash ]
 crbug.com/883860 [ Mac ] external/wpt/service-workers/service-worker/interfaces-sw.https.html  [ Failure ]
+crbug.com/883837 [ Win7 ] http/tests/performance-timing/resource_timing_buffer_full_250.html [ Timeout Pass ]
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json
index b34f6c2..bba7d15 100644
--- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json
+++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json
@@ -36377,18 +36377,6 @@
      {}
     ]
    ],
-   "css/css-contain/contain-paint-013.html": [
-    [
-     "/css/css-contain/contain-paint-013.html",
-     [
-      [
-       "/css/css-contain/reference/contain-paint-013-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
    "css/css-contain/contain-paint-014.html": [
     [
      "/css/css-contain/contain-paint-014.html",
@@ -36701,6 +36689,42 @@
      {}
     ]
    ],
+   "css/css-contain/contain-paint-independent-formatting-context-001.html": [
+    [
+     "/css/css-contain/contain-paint-independent-formatting-context-001.html",
+     [
+      [
+       "/css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-contain/contain-paint-independent-formatting-context-002.html": [
+    [
+     "/css/css-contain/contain-paint-independent-formatting-context-002.html",
+     [
+      [
+       "/css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-contain/contain-paint-independent-formatting-context-003.html": [
+    [
+     "/css/css-contain/contain-paint-independent-formatting-context-003.html",
+     [
+      [
+       "/css/css-contain/reference/contain-paint-independent-formatting-context-003-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-contain/contain-paint-size-001.html": [
     [
      "/css/css-contain/contain-paint-size-001.html",
@@ -118418,6 +118442,11 @@
      {}
     ]
    ],
+   "css/css-contain/OWNERS": [
+    [
+     {}
+    ]
+   ],
    "css/css-contain/contain-style-counters-ref.html": [
     [
      {}
@@ -118483,11 +118512,6 @@
      {}
     ]
    ],
-   "css/css-contain/reference/contain-paint-013-ref.html": [
-    [
-     {}
-    ]
-   ],
    "css/css-contain/reference/contain-paint-022-ref.html": [
     [
      {}
@@ -118508,6 +118532,16 @@
      {}
     ]
    ],
+   "css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html": [
+    [
+     {}
+    ]
+   ],
+   "css/css-contain/reference/contain-paint-independent-formatting-context-003-ref.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-contain/reference/contain-paint-size-001-ref.html": [
     [
      {}
@@ -262720,6 +262754,12 @@
      {}
     ]
    ],
+   "trusted-types/Element-setAttributeNS.tentative.html": [
+    [
+     "/trusted-types/Element-setAttributeNS.tentative.html",
+     {}
+    ]
+   ],
    "trusted-types/HTMLElement-generic.tentative.html": [
     [
      "/trusted-types/HTMLElement-generic.tentative.html",
@@ -262822,6 +262862,12 @@
      {}
     ]
    ],
+   "trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html": [
+    [
+     "/trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html",
+     {}
+    ]
+   ],
    "trusted-types/block-string-assignment-to-HTMLElement-generic.tentative.html": [
     [
      "/trusted-types/block-string-assignment-to-HTMLElement-generic.tentative.html",
@@ -314415,6 +314461,10 @@
    "259c00b2a587c9aa2d07de97fb547b32f9772b92",
    "support"
   ],
+  "css/css-contain/OWNERS": [
+   "5f43f9116bc8073cfadd3bf840519a3ad96c296f",
+   "support"
+  ],
   "css/css-contain/contain-animation-001.html": [
    "449221428c3d76d31ff84a5792c7578c36cbebed",
    "reftest"
@@ -314591,10 +314641,6 @@
    "471726a99c659ab0d6a7870ee2519994051b425f",
    "reftest"
   ],
-  "css/css-contain/contain-paint-013.html": [
-   "3b6b3a76dc63028e1ae22b81c4ba06112c5aceb7",
-   "reftest"
-  ],
   "css/css-contain/contain-paint-014.html": [
    "ee6bc7876f6f0a1f3653c62819fd16553b1610b7",
    "reftest"
@@ -314699,6 +314745,18 @@
    "b8a03936cbcc3ddcc88dc1237fab0af56f4bd72b",
    "reftest"
   ],
+  "css/css-contain/contain-paint-independent-formatting-context-001.html": [
+   "e4c06a992b351974d5506070db3dd8dadd53173e",
+   "reftest"
+  ],
+  "css/css-contain/contain-paint-independent-formatting-context-002.html": [
+   "353196970c99e9b5ed556b850d4eda034d16df77",
+   "reftest"
+  ],
+  "css/css-contain/contain-paint-independent-formatting-context-003.html": [
+   "fe1f7f2775db9cd82292c181560c2f9997de197d",
+   "reftest"
+  ],
   "css/css-contain/contain-paint-size-001.html": [
    "930429b7ecc5af860fa6782cff30a8803393d3cd",
    "reftest"
@@ -314979,10 +315037,6 @@
    "b94055eb1b7830696b36be17f7bde1474ea605c4",
    "support"
   ],
-  "css/css-contain/reference/contain-paint-013-ref.html": [
-   "af758703a3b75b45223491a4fe97eb1da20d5320",
-   "support"
-  ],
   "css/css-contain/reference/contain-paint-022-ref.html": [
    "b3bb7576f2944f6ef51c16024767b93e8f30c329",
    "support"
@@ -314999,6 +315053,14 @@
    "229c8c2d74ba3f2b5cede6824091575835807092",
    "support"
   ],
+  "css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html": [
+   "08900b201b12099e3b0c00f1e21b4b7890d2bcb9",
+   "support"
+  ],
+  "css/css-contain/reference/contain-paint-independent-formatting-context-003-ref.html": [
+   "0cef592ba5cc6cc56a0fc3a7439cec330d1856b0",
+   "support"
+  ],
   "css/css-contain/reference/contain-paint-size-001-ref.html": [
    "9aad8a490b4b740991c968a17f1c74571e758d36",
    "support"
@@ -358296,7 +358358,7 @@
    "testharness"
   ],
   "css/cssom/shorthand-serialization.html": [
-   "44af6737e3ef3b3c71ccd259b1d75104c4a92061",
+   "97e11da8b8a266c7efa3826272e3fdb7ce55ed86",
    "testharness"
   ],
   "css/cssom/shorthand-values-expected.txt": [
@@ -419188,7 +419250,7 @@
    "testharness"
   ],
   "service-workers/service-worker/interfaces-sw.https-expected.txt": [
-   "16b331f34e80faea599a2de7a56d91b95a7296a2",
+   "a738aaca91917711f83150a77a611083f3905d52",
    "support"
   ],
   "service-workers/service-worker/interfaces-sw.https.html": [
@@ -424139,6 +424201,10 @@
    "a284b2f83550b1b0e4cf7c79e7a200791ae8c70a",
    "testharness"
   ],
+  "trusted-types/Element-setAttributeNS.tentative.html": [
+   "80128cfbf0ebce7d878dd349fc8838b2a6469a16",
+   "testharness"
+  ],
   "trusted-types/HTMLElement-generic.tentative.html": [
    "2d38104511879943a4d538c9dc5b0031d7596b23",
    "testharness"
@@ -424215,6 +424281,10 @@
    "52e317083316435ec4b1dcc7331f1216c2a32d9a",
    "testharness"
   ],
+  "trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html": [
+   "5a72992100ced1ae73766f147e29fa0afa6c8334",
+   "testharness"
+  ],
   "trusted-types/block-string-assignment-to-HTMLElement-generic.tentative.html": [
    "f31fce629bccd342ff5e8dfacd43e13faac6fced",
    "testharness"
@@ -424244,7 +424314,7 @@
    "testharness"
   ],
   "trusted-types/support/helper.sub.js": [
-   "1ad5b4ef0c68a1ffde111db62c5e2aa4957732b6",
+   "75874e5b3c2ed90f0ebfbfca2da701d027d2d832",
    "support"
   ],
   "uievents/META.yml": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/OWNERS b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/OWNERS
new file mode 100644
index 0000000..5f43f911
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/OWNERS
@@ -0,0 +1,4 @@
+# TEAM: layout-dev@chromium.org
+# COMPONENT: Blink>Layout
+# WPT-NOTIFY: true
+rego@igalia.com
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-013.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-013.html
deleted file mode 100644
index 3b6b3a76..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-013.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>CSS Containment Test: Paint containment independent formatting context</title>
-<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
-<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-paint">
-<link rel="match" href="reference/contain-paint-013-ref.html">
-<meta name=assert content="Paint containment elements establish an independent formatting context. The test checks that this feature of paint containment applies to blocks and inline blocks, but it doesn't apply to inline elements.">
-<style>
-.wrapper {
-  border: solid thick;
-  margin: 1em;
-}
-</style>
-<p>Test passes if on the first two boxes the top and bottom margins of the text line are double size than on the last box.</p>
-<div class="wrapper">
-  <div style="margin: 1em 0; contain: paint;">
-    <div style="margin: 1em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
-  </div>
-</div>
-<div class="wrapper">
-  <span style="display: inline-block; margin: 1em 0; contain: paint;">
-    <div style="margin: 1em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
-  </span>
-</div>
-<div class="wrapper">
-  <span style="margin: 1em 0; contain: paint;">
-    <div style="margin: 1em 0;">This text should have 1em top and bottom margins.</div>
-  </span>
-</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-001.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-001.html
new file mode 100644
index 0000000..e4c06a9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-001.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Containment Test: Paint containment independent formatting context</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-paint">
+<link rel="match" href="reference/contain-paint-independent-formatting-context-001-ref.html">
+<meta name=assert content="Paint containment elements establish an independent formatting context. The test checks that this feature of paint containment applies to blocks.">
+<style>
+.wrapper {
+  border: solid thick;
+  margin: 1em;
+}
+</style>
+<p>Test passes if it has the same output than the reference.</p>
+<div class="wrapper">
+  <div style="margin: 1em 0; contain: paint;">
+    <div style="margin: 1em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
+  </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-002.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-002.html
new file mode 100644
index 0000000..3531969
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-002.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Containment Test: Paint containment independent formatting context</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-paint">
+<link rel="match" href="reference/contain-paint-independent-formatting-context-001-ref.html">
+<meta name=assert content="Paint containment elements establish an independent formatting context. The test checks that this feature of paint containment applies to inline blocks.">
+<style>
+.wrapper {
+  border: solid thick;
+  margin: 1em;
+}
+</style>
+<p>Test passes if it has the same output than the reference.</p>
+<div class="wrapper">
+  <span style="display: inline-block; margin: 1em 0; contain: paint;">
+    <div style="margin: 1em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
+  </span>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-003.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-003.html
new file mode 100644
index 0000000..fe1f7f2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/contain-paint-independent-formatting-context-003.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Containment Test: Paint containment independent formatting context</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-paint">
+<link rel="match" href="reference/contain-paint-independent-formatting-context-003-ref.html">
+<meta name=assert content="Paint containment elements establish an independent formatting context. The test checks that this feature of paint containment does not appliy to inline elements.">
+<style>
+.wrapper {
+  border: solid thick;
+  margin: 1em;
+}
+</style>
+<p>Test passes if it has the same output than the reference.</p>
+<div class="wrapper">
+  <span style="margin: 1em 0; contain: paint;">
+    <div style="margin: 1em 0;">This text should have 1em top and bottom margins.</div>
+  </span>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-013-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-013-ref.html
deleted file mode 100644
index af75870..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-013-ref.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>CSS Containment Test: Reference file</title>
-<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
-<style>
-.wrapper {
-  border: solid thick;
-  margin: 1em;
-}
-</style>
-<p>Test passes if on the first two boxes the top and bottom margins of the text line are double size than on the last box.</p>
-<div class="wrapper">
-  <div style="margin: 2em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
-</div>
-<div class="wrapper">
-  <div style="margin: 2em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
-</div>
-<div class="wrapper">
-  <div style="margin: 1em 0;">This text should have 1em top and bottom margins.</div>
-</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html
new file mode 100644
index 0000000..08900b2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-independent-formatting-context-001-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Containment Test: Reference file</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<style>
+.wrapper {
+  border: solid thick;
+  margin: 1em;
+}
+</style>
+<p>Test passes if it has the same output than the reference.</p>
+<div class="wrapper">
+  <div style="margin: 2em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-independent-formatting-context-003-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-independent-formatting-context-003-ref.html
new file mode 100644
index 0000000..0cef592b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/reference/contain-paint-independent-formatting-context-003-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Containment Test: Reference file</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<style>
+.wrapper {
+  border: solid thick;
+  margin: 1em;
+}
+</style>
+<p>Test passes if it has the same output than the reference.</p>
+<div class="wrapper">
+  <div style="margin: 1em 0;">This text should have 1em top and bottom margins.</div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-serialization.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-serialization.html
index 44af6737..97e11da8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-serialization.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-serialization.html
@@ -70,8 +70,17 @@
             const testElem = document.getElementById("test");
             testElem.style.setProperty("margin-top", "initial", "important");
             assert_equals(testElem.style.margin, "");
-            assert_equals(testElem.style.cssText, "margin-top: initial !important; margin-right: initial; margin-bottom: initial; margin-left: initial;");
         }, "Shorthand serialization with 'initial' value, one longhand with important flag.");
+
+        test(function() {
+            const testElem = document.getElementById("test");
+            testElem.style.cssText = "";
+            testElem.style.setProperty("margin-top", "initial");
+            testElem.style.setProperty("margin-right", "initial");
+            testElem.style.setProperty("margin-bottom", "initial");
+            testElem.style.setProperty("margin-left", "initial", "important");
+            assert_equals(testElem.style.margin, "");
+        }, "Shorthand serialization with 'initial' value, longhands set individually, one with important flag.");
     </script>
 </body>
 </html>
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-complex-expected.png b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-complex-expected.png
index 43b59021..1e9b005 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-complex-expected.png
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-complex-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-ellipsis-complextext-expected.png b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-ellipsis-complextext-expected.png
index 163e247..75f1482 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-ellipsis-complextext-expected.png
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/text/emphasis-ellipsis-complextext-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-breakpoints/nodejs-set-breakpoint.js b/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-breakpoints/nodejs-set-breakpoint.js
index 67167b3..abb22c2 100644
--- a/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-breakpoints/nodejs-set-breakpoint.js
+++ b/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-breakpoints/nodejs-set-breakpoint.js
@@ -12,22 +12,11 @@
   SourcesTestRunner.startDebuggerTest();
 
   var debuggerModel = SDK.targetManager.mainTarget().model(SDK.DebuggerModel);
-  var originalParsedScriptSource = TestRunner.override(debuggerModel, '_parsedScriptSource', overrideSourceURL, true);
-
-  function overrideSourceURL(scriptId, sourceURL, startLine, startColumn, endLine, endColumn, executionContextId, hash,
-               executionContextAuxData, isLiveEdit, sourceMapURL, hasSourceURL, hasSyntaxError, length) {
-    // Overwrite hasSourceURL to pretend we're Node.js
-    hasSourceURL = false;
-    originalParsedScriptSource.call(this, scriptId, sourceURL, startLine, startColumn, endLine, endColumn, executionContextId, hash,
-               executionContextAuxData, isLiveEdit, sourceMapURL, hasSourceURL, hasSyntaxError, length);
-  }
-
   var functionText = 'function foobar() { \nconsole.log(\'foobar execute!\');\n}';
   var sourceURL = Host.isWin() ? '\n//# sourceURL=c:\\prog\\foobar.js' : '\n//# sourceURL=/usr/local/home/prog/foobar.js';
   await TestRunner.evaluateInPageAnonymously(functionText + sourceURL);
   SourcesTestRunner.showScriptSource('foobar.js', didShowScriptSource);
 
-
   function didShowScriptSource(sourceFrame) {
     TestRunner.addResult('Setting breakpoint:');
     TestRunner.addSniffer(
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/unit/node-url-expected.txt b/third_party/WebKit/LayoutTests/http/tests/devtools/unit/node-url-expected.txt
new file mode 100644
index 0000000..3193def
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/devtools/unit/node-url-expected.txt
@@ -0,0 +1,5 @@
+Checks url patching for Node.js
+..result.value.url patched: false
+..exceptionDetails.url patched: true
+..stackTrace.callFrames[0].url patched: true
+
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/unit/node-url.js b/third_party/WebKit/LayoutTests/http/tests/devtools/unit/node-url.js
new file mode 100644
index 0000000..683de12
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/devtools/unit/node-url.js
@@ -0,0 +1,41 @@
+// 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.
+
+(async function() {
+  TestRunner.addResult('Checks url patching for Node.js');
+  const url = Host.isWin()
+      ? 'c:\\prog\\foobar.js'
+      : '/usr/local/home/prog/foobar.js'
+  const nodejsTarget = {isNodeJS: () => true};
+  let obj = {
+    id: 0,
+    result: {
+      result: {
+        value: {
+          url: url
+        }
+      },
+      exceptionDetails: {
+        url: url,
+        stackTrace: {
+          callFrames: [{
+            columnNumber: 0,
+            functionName: '',
+            lineNumber: 0,
+            scriptId: "0",
+            url: url
+          }]
+        }
+      }
+    }
+  };
+  Protocol.NodeURL.patch(nodejsTarget, obj);
+  TestRunner.addResult(`..result.value.url patched: ${
+    obj.result.result.value.url !== url}`);
+  TestRunner.addResult(`..exceptionDetails.url patched: ${
+    obj.result.exceptionDetails.url !== url}`);
+  TestRunner.addResult(`..stackTrace.callFrames[0].url patched: ${
+    obj.result.exceptionDetails.stackTrace.callFrames[0].url !== url}`);
+  TestRunner.completeTest();
+})()
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png
index 6a6cd15..1e9b005 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
index 301fd4ee..ff6806c9 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-expected.png
index 301fd4ee..ff6806c9 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/controls/paint-controls-webkit-appearance-none-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/video-no-audio-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/video-no-audio-expected.png
index 51590a8..1fff8178 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/video-no-audio-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/media/video-no-audio-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
index 301fd4ee..ff6806c9 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-expected.png
index 301fd4ee..ff6806c9 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/new-remote-playback-pipeline/media/controls/paint-controls-webkit-appearance-none-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png b/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
index a7701e14..b2406a0 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-custom-bg-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-expected.png b/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-expected.png
index a7701e14..b2406a0 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/media/controls/paint-controls-webkit-appearance-none-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/media/controls/video-overlay-cast-light-rendering-expected.png b/third_party/WebKit/LayoutTests/platform/mac/media/controls/video-overlay-cast-light-rendering-expected.png
index b11c7729..6702108f 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/media/controls/video-overlay-cast-light-rendering-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/media/controls/video-overlay-cast-light-rendering-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/media/video-colorspace-yuv420-expected.png b/third_party/WebKit/LayoutTests/platform/mac/media/video-colorspace-yuv420-expected.png
index e50cf21..74870070 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/media/video-colorspace-yuv420-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/media/video-colorspace-yuv420-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/media/video-no-audio-expected.png b/third_party/WebKit/LayoutTests/platform/mac/media/video-no-audio-expected.png
index ee140c8e..de23f173 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/media/video-no-audio-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/media/video-no-audio-expected.png
Binary files differ
diff --git a/third_party/blink/common/blob/blob_utils.cc b/third_party/blink/common/blob/blob_utils.cc
index 82536ed7..6ec9ab7 100644
--- a/third_party/blink/common/blob/blob_utils.cc
+++ b/third_party/blink/common/blob/blob_utils.cc
@@ -4,7 +4,10 @@
 
 #include "third_party/blink/public/common/blob/blob_utils.h"
 
+#include <algorithm>
+
 #include "base/feature_list.h"
+#include "base/metrics/field_trial_params.h"
 #include "services/network/public/cpp/features.h"
 #include "third_party/blink/public/common/features.h"
 
@@ -16,4 +19,39 @@
          base::FeatureList::IsEnabled(blink::features::kMojoBlobURLs);
 }
 
+namespace {
+
+const base::Feature kBlobDataPipeTuningFeature{
+    "BlobDataPipeTuning", base::FEATURE_DISABLED_BY_DEFAULT};
+
+constexpr int kBlobMinDataPipeCapacity = 1024;
+constexpr int kBlobDefaultDataPipeCapacity = 512 * 1024;
+
+constexpr base::FeatureParam<int> kBlobDataPipeCapacity{
+    &kBlobDataPipeTuningFeature, "capacity_bytes",
+    kBlobDefaultDataPipeCapacity};
+
+constexpr int kBlobMinDataPipeChunkSize = 1024;
+constexpr int kBlobDefaultDataPipeChunkSize = 64 * 1024;
+
+constexpr base::FeatureParam<int> kBlobDataPipeChunkSize{
+    &kBlobDataPipeTuningFeature, "chunk_bytes", kBlobDefaultDataPipeChunkSize};
+
+}  // namespace
+
+// static
+uint32_t BlobUtils::GetDataPipeCapacity() {
+  return std::max(kBlobDataPipeCapacity.Get(), kBlobMinDataPipeCapacity);
+}
+
+// static
+uint32_t BlobUtils::GetDataPipeChunkSize() {
+  // The mojo::DataPipe will allow up to 64KB to be written into it in
+  // a single chunk, but there may be some advantage to writing smaller
+  // chunks.  For example, the network stack uses 32KB chunks.  This could
+  // result in the faster delivery of the first byte of data when reading
+  // from a slow disk.
+  return std::max(kBlobDataPipeChunkSize.Get(), kBlobMinDataPipeChunkSize);
+}
+
 }  // namespace blink
diff --git a/third_party/blink/public/BUILD.gn b/third_party/blink/public/BUILD.gn
index 63b5dac..f8b84c3 100644
--- a/third_party/blink/public/BUILD.gn
+++ b/third_party/blink/public/BUILD.gn
@@ -167,7 +167,6 @@
     "platform/modules/screen_orientation/web_screen_orientation_enum_traits.h",
     "platform/modules/service_worker/web_navigation_preload_state.h",
     "platform/modules/service_worker/web_service_worker.h",
-    "platform/modules/service_worker/web_service_worker_client_query_options.h",
     "platform/modules/service_worker/web_service_worker_clients_claim_callbacks.h",
     "platform/modules/service_worker/web_service_worker_clients_info.h",
     "platform/modules/service_worker/web_service_worker_error.h",
diff --git a/third_party/blink/public/common/blob/blob_utils.h b/third_party/blink/public/common/blob/blob_utils.h
index ab19712b..c08744ef 100644
--- a/third_party/blink/public/common/blob/blob_utils.h
+++ b/third_party/blink/public/common/blob/blob_utils.h
@@ -6,6 +6,8 @@
 #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_BLOB_BLOB_UTILS_H_
 #define THIRD_PARTY_BLINK_PUBLIC_COMMON_BLOB_BLOB_UTILS_H_
 
+#include <stdint.h>
+
 #include "third_party/blink/common/common_export.h"
 
 namespace blink {
@@ -15,6 +17,13 @@
   // Whether the new Blob URL glue for NetworkService is enabled (i.e.,
   // the NetworkService or MojoBlobURLs feature is enabled).
   static bool BLINK_COMMON_EXPORT MojoBlobURLsEnabled();
+
+  // Get the preferred capacity a mojo::DataPipe being used to read a blob.
+  static uint32_t BLINK_COMMON_EXPORT GetDataPipeCapacity();
+
+  // Get the preferred chunk size to use when reading a blob to copy
+  // into a mojo::DataPipe.
+  static uint32_t BLINK_COMMON_EXPORT GetDataPipeChunkSize();
 };
 
 }  // namespace blink
diff --git a/third_party/blink/public/platform/modules/service_worker/web_service_worker_client_query_options.h b/third_party/blink/public/platform/modules/service_worker/web_service_worker_client_query_options.h
deleted file mode 100644
index 41672a742..0000000
--- a/third_party/blink/public/platform/modules/service_worker/web_service_worker_client_query_options.h
+++ /dev/null
@@ -1,23 +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 THIRD_PARTY_BLINK_PUBLIC_PLATFORM_MODULES_SERVICE_WORKER_WEB_SERVICE_WORKER_CLIENT_QUERY_OPTIONS_H_
-#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_MODULES_SERVICE_WORKER_WEB_SERVICE_WORKER_CLIENT_QUERY_OPTIONS_H_
-
-#include "third_party/blink/public/mojom/service_worker/service_worker_client.mojom-shared.h"
-
-namespace blink {
-
-struct WebServiceWorkerClientQueryOptions {
-  WebServiceWorkerClientQueryOptions()
-      : client_type(mojom::ServiceWorkerClientType::kWindow),
-        include_uncontrolled(false) {}
-
-  mojom::ServiceWorkerClientType client_type;
-  bool include_uncontrolled;
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_MODULES_SERVICE_WORKER_WEB_SERVICE_WORKER_CLIENT_QUERY_OPTIONS_H_
diff --git a/third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h b/third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h
index 397cfe85..2d21dc1 100644
--- a/third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h
+++ b/third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h
@@ -33,11 +33,7 @@
 
 #include <memory>
 
-#include "third_party/blink/public/common/messaging/transferable_message.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom-shared.h"
-#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_clients_claim_callbacks.h"
-#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_clients_info.h"
-#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_skip_waiting_callbacks.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_stream_handle.h"
 #include "third_party/blink/public/platform/web_feature.mojom-shared.h"
 #include "third_party/blink/public/platform/web_url.h"
@@ -47,7 +43,6 @@
 namespace blink {
 
 struct WebPaymentHandlerResponse;
-struct WebServiceWorkerClientQueryOptions;
 class WebServiceWorkerContextProxy;
 class WebServiceWorkerNetworkProvider;
 class WebServiceWorkerProvider;
@@ -66,33 +61,6 @@
  public:
   virtual ~WebServiceWorkerContextClient() = default;
 
-  // For Clients#get(id). Requests the embedder to return the specified Client.
-  virtual void GetClient(const WebString& client_id,
-                         std::unique_ptr<WebServiceWorkerClientCallbacks>) = 0;
-
-  // For Clients#matchAll(options). Requests the embedder to return all matching
-  // Clients.
-  virtual void GetClients(
-      const WebServiceWorkerClientQueryOptions&,
-      std::unique_ptr<WebServiceWorkerClientsCallbacks>) = 0;
-
-  // For Clients#openWindow(url). Requests the embedder to open a tab.
-  virtual void OpenNewTab(const WebURL&,
-                          std::unique_ptr<WebServiceWorkerClientCallbacks>) = 0;
-
-  // Similar to OpenNewTab above. For PaymentRequestEvent#openWindow().
-  virtual void OpenPaymentHandlerWindow(
-      const WebURL&,
-      std::unique_ptr<WebServiceWorkerClientCallbacks>) = 0;
-
-  // A suggestion to cache this metadata in association with this URL.
-  virtual void SetCachedMetadata(const WebURL& url,
-                                 const char* data,
-                                 size_t size) {}
-
-  // A suggestion to clear the cached metadata in association with this URL.
-  virtual void ClearCachedMetadata(const WebURL& url) {}
-
   // ServiceWorker has prepared everything for script loading and is now ready
   // for DevTools inspection.
   virtual void WorkerReadyForInspection() {}
@@ -315,28 +283,6 @@
   // Called on the main thread.
   virtual std::unique_ptr<WebServiceWorkerProvider>
   CreateServiceWorkerProvider() = 0;
-
-  // The message is only valid during this method call, unless callee calls
-  // EnsureDataIsOwned on the message.
-  virtual void PostMessageToClient(const WebString& uuid,
-                                   TransferableMessage) = 0;
-
-  // For WindowClient#focus(). Requests the embedder to focus a window.
-  virtual void Focus(const WebString& uuid,
-                     std::unique_ptr<WebServiceWorkerClientCallbacks>) = 0;
-
-  // For WindowClient#navigate(). Requests the embedder to navigate to a URL.
-  virtual void Navigate(const WebString& uuid,
-                        const WebURL&,
-                        std::unique_ptr<WebServiceWorkerClientCallbacks>) = 0;
-
-  // For ServiceWorkerGlobalScope#skipWaiting().
-  virtual void SkipWaiting(
-      std::unique_ptr<WebServiceWorkerSkipWaitingCallbacks>) = 0;
-
-  // For Clients#claim().
-  virtual void Claim(
-      std::unique_ptr<WebServiceWorkerClientsClaimCallbacks>) = 0;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/public/web/modules/service_worker/web_service_worker_context_proxy.h b/third_party/blink/public/web/modules/service_worker/web_service_worker_context_proxy.h
index 200a0b07..db8b141 100644
--- a/third_party/blink/public/web/modules/service_worker/web_service_worker_context_proxy.h
+++ b/third_party/blink/public/web/modules/service_worker/web_service_worker_context_proxy.h
@@ -32,6 +32,7 @@
 #define THIRD_PARTY_BLINK_PUBLIC_WEB_MODULES_SERVICE_WORKER_WEB_SERVICE_WORKER_CONTEXT_PROXY_H_
 
 #include "base/time/time.h"
+#include "mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h"
 #include "third_party/blink/public/common/messaging/transferable_message.h"
 #include "third_party/blink/public/platform/modules/background_fetch/background_fetch.mojom-shared.h"
 #include "third_party/blink/public/platform/modules/background_fetch/web_background_fetch_registration.h"
@@ -60,6 +61,9 @@
  public:
   virtual ~WebServiceWorkerContextProxy() = default;
 
+  virtual void BindServiceWorkerHost(
+      mojo::ScopedInterfaceEndpointHandle service_worker_host) = 0;
+
   virtual void SetRegistration(
       std::unique_ptr<WebServiceWorkerRegistration::Handle>) = 0;
 
diff --git a/third_party/blink/public/web/web_document_loader.h b/third_party/blink/public/web/web_document_loader.h
index 632bf50..b11eb4d4 100644
--- a/third_party/blink/public/web/web_document_loader.h
+++ b/third_party/blink/public/web/web_document_loader.h
@@ -133,6 +133,9 @@
   // IsArchive returns false.
   virtual WebArchiveInfo GetArchiveInfo() const = 0;
 
+  // Whether this load was started with a user gesture.
+  virtual bool HadUserGesture() const = 0;
+
  protected:
   ~WebDocumentLoader() = default;
 };
diff --git a/third_party/blink/renderer/bindings/core/v8/scheduled_action.cc b/third_party/blink/renderer/bindings/core/v8/scheduled_action.cc
index b14ee0e3f0..45e783b 100644
--- a/third_party/blink/renderer/bindings/core/v8/scheduled_action.cc
+++ b/third_party/blink/renderer/bindings/core/v8/scheduled_action.cc
@@ -206,8 +206,10 @@
         function, worker, script_state_->GetContext()->Global(), info.size(),
         info.data(), script_state_->GetIsolate());
   } else {
-    worker->ScriptController()->Evaluate(ScriptSourceCode(
-        code_, ScriptSourceLocationType::kEvalForScheduledAction));
+    worker->ScriptController()->Evaluate(
+        ScriptSourceCode(code_,
+                         ScriptSourceLocationType::kEvalForScheduledAction),
+        kNotSharableCrossOrigin);
   }
 }
 
diff --git a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc
index 0f8f840..2c538fed 100644
--- a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc
+++ b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc
@@ -261,6 +261,7 @@
 
 ScriptValue WorkerOrWorkletScriptController::EvaluateInternal(
     const ScriptSourceCode& source_code,
+    AccessControlStatus access_control_status,
     V8CacheOptions v8_cache_options) {
   DCHECK(IsContextInitialized());
 
@@ -284,7 +285,7 @@
   std::tie(compile_options, produce_cache_options, no_cache_reason) =
       V8CodeCache::GetCompileOptions(v8_cache_options, source_code);
   if (V8ScriptRunner::CompileScript(script_state_, source_code,
-                                    kSharableCrossOrigin, compile_options,
+                                    access_control_status, compile_options,
                                     no_cache_reason, referrer_info)
           .ToLocal(&compiled_script)) {
     maybe_result = V8ScriptRunner::RunCompiledScript(isolate_, compiled_script,
@@ -319,13 +320,14 @@
 
 bool WorkerOrWorkletScriptController::Evaluate(
     const ScriptSourceCode& source_code,
+    AccessControlStatus access_control_status,
     ErrorEvent** error_event,
     V8CacheOptions v8_cache_options) {
   if (IsExecutionForbidden())
     return false;
 
   ExecutionState state(this);
-  EvaluateInternal(source_code, v8_cache_options);
+  EvaluateInternal(source_code, access_control_status, v8_cache_options);
   if (IsExecutionForbidden())
     return false;
 
@@ -338,19 +340,19 @@
         return false;
       }
       if (global_scope_->ShouldSanitizeScriptError(state.location_->Url(),
-                                                   kNotSharableCrossOrigin)) {
+                                                   access_control_status)) {
         *error_event = ErrorEvent::CreateSanitizedError(world_.get());
       } else {
         *error_event =
             ErrorEvent::Create(state.error_message, state.location_->Clone(),
                                state.exception, world_.get());
+        StoreExceptionForInspector(script_state_, *error_event,
+                                   state.exception.V8Value(),
+                                   script_state_->GetContext()->Global());
       }
-      StoreExceptionForInspector(script_state_, *error_event,
-                                 state.exception.V8Value(),
-                                 script_state_->GetContext()->Global());
     } else {
-      DCHECK(!global_scope_->ShouldSanitizeScriptError(
-          state.location_->Url(), kNotSharableCrossOrigin));
+      DCHECK(!global_scope_->ShouldSanitizeScriptError(state.location_->Url(),
+                                                       access_control_status));
       ErrorEvent* event = nullptr;
       if (state.error_event_from_imported_script_) {
         event = state.error_event_from_imported_script_.Release();
@@ -359,7 +361,7 @@
             ErrorEvent::Create(state.error_message, state.location_->Clone(),
                                state.exception, world_.get());
       }
-      global_scope_->DispatchErrorEvent(event, kNotSharableCrossOrigin);
+      global_scope_->DispatchErrorEvent(event, access_control_status);
     }
     return false;
   }
@@ -369,7 +371,7 @@
 ScriptValue WorkerOrWorkletScriptController::EvaluateAndReturnValueForTest(
     const ScriptSourceCode& source_code) {
   ExecutionState state(this);
-  return EvaluateInternal(source_code, kV8CacheOptionsDefault);
+  return EvaluateInternal(source_code, kOpaqueResource, kV8CacheOptionsDefault);
 }
 
 void WorkerOrWorkletScriptController::ForbidExecution() {
diff --git a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.h b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.h
index 9d40582..4d7a66f 100644
--- a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.h
+++ b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.h
@@ -36,6 +36,7 @@
 #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_cache_options.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/platform/loader/fetch/access_control_status.h"
 #include "third_party/blink/renderer/platform/wtf/allocator.h"
 #include "third_party/blink/renderer/platform/wtf/text/text_position.h"
 #include "v8/include/v8.h"
@@ -61,6 +62,7 @@
 
   // Returns true if the evaluation completed with no uncaught exception.
   bool Evaluate(const ScriptSourceCode&,
+                AccessControlStatus access_control_status,
                 ErrorEvent** = nullptr,
                 V8CacheOptions = kV8CacheOptionsDefault);
 
@@ -107,6 +109,7 @@
 
   // Evaluate a script file in the current execution environment.
   ScriptValue EvaluateInternal(const ScriptSourceCode&,
+                               AccessControlStatus,
                                V8CacheOptions);
   void DisposeContextIfNeeded();
 
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 3eef932..99447c5 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -1973,6 +1973,8 @@
   const ComputedStyle* document_element_style =
       documentElement()->EnsureComputedStyle();
 
+  TouchAction effective_touch_action =
+      document_element_style->GetEffectiveTouchAction();
   WritingMode root_writing_mode = document_element_style->GetWritingMode();
   TextDirection root_direction = document_element_style->Direction();
   if (body_style) {
@@ -2084,7 +2086,8 @@
       viewport_style.ScrollPaddingTop() != scroll_padding_top ||
       viewport_style.ScrollPaddingRight() != scroll_padding_right ||
       viewport_style.ScrollPaddingBottom() != scroll_padding_bottom ||
-      viewport_style.ScrollPaddingLeft() != scroll_padding_left) {
+      viewport_style.ScrollPaddingLeft() != scroll_padding_left ||
+      viewport_style.GetEffectiveTouchAction() != effective_touch_action) {
     scoped_refptr<ComputedStyle> new_style =
         ComputedStyle::Clone(viewport_style);
     new_style->SetWritingMode(root_writing_mode);
@@ -2104,6 +2107,7 @@
     new_style->SetScrollPaddingRight(scroll_padding_right);
     new_style->SetScrollPaddingBottom(scroll_padding_bottom);
     new_style->SetScrollPaddingLeft(scroll_padding_left);
+    new_style->SetEffectiveTouchAction(effective_touch_action);
     GetLayoutView()->SetStyle(new_style);
     SetupFontBuilder(*new_style);
 
diff --git a/third_party/blink/renderer/core/exported/web_document_loader_impl.cc b/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
index 933451c0..ffb8a3e7 100644
--- a/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
@@ -171,6 +171,10 @@
   return {archive->MainResource()->Url(), archive->Date()};
 }
 
+bool WebDocumentLoaderImpl::HadUserGesture() const {
+  return DocumentLoader::had_transient_activation();
+}
+
 void WebDocumentLoaderImpl::Trace(blink::Visitor* visitor) {
   DocumentLoader::Trace(visitor);
 }
diff --git a/third_party/blink/renderer/core/exported/web_document_loader_impl.h b/third_party/blink/renderer/core/exported/web_document_loader_impl.h
index d04c59c8..229788d 100644
--- a/third_party/blink/renderer/core/exported/web_document_loader_impl.h
+++ b/third_party/blink/renderer/core/exported/web_document_loader_impl.h
@@ -82,6 +82,7 @@
   void ResumeParser() override;
   bool IsArchive() const override;
   WebArchiveInfo GetArchiveInfo() const override;
+  bool HadUserGesture() const override;
 
   void Trace(blink::Visitor*) override;
 
diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
index bcbd71cb..ba6eecb8 100644
--- a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
@@ -367,9 +367,10 @@
   worker_inspector_proxy_->WorkerThreadCreated(document, GetWorkerThread(),
                                                script_response_url);
   // TODO(nhiroki): Support module workers (https://crbug.com/680046).
-  GetWorkerThread()->EvaluateClassicScript(script_response_url, source_code,
-                                           nullptr /* cached_meta_data */,
-                                           v8_inspector::V8StackTraceId());
+  // Shared worker is origin-bound, so use kSharableCrossOrigin.
+  GetWorkerThread()->EvaluateClassicScript(
+      script_response_url, kSharableCrossOrigin, source_code,
+      nullptr /* cached_meta_data */, v8_inspector::V8StackTraceId());
   client_->WorkerScriptLoaded();
 }
 
diff --git a/third_party/blink/renderer/core/fetch/form_data_bytes_consumer.cc b/third_party/blink/renderer/core/fetch/form_data_bytes_consumer.cc
index 80737ae..dd0ea0f6 100644
--- a/third_party/blink/renderer/core/fetch/form_data_bytes_consumer.cc
+++ b/third_party/blink/renderer/core/fetch/form_data_bytes_consumer.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/core/fetch/form_data_bytes_consumer.h"
 
+#include "third_party/blink/public/common/blob/blob_utils.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/fetch/blob_bytes_consumer.h"
@@ -185,7 +186,7 @@
       if (!data_pipe_consumer_) {
         network::mojom::blink::DataPipeGetterPtr* data_pipe_getter =
             iter_->data_pipe_getter_->GetPtr();
-        mojo::DataPipe data_pipe;
+        mojo::DataPipe data_pipe(BlobUtils::GetDataPipeCapacity());
         (*data_pipe_getter)
             ->Read(
                 std::move(data_pipe.producer_handle),
diff --git a/third_party/blink/renderer/core/fileapi/file_reader_loader.cc b/third_party/blink/renderer/core/fileapi/file_reader_loader.cc
index 6bf6e8d..f33fe35 100644
--- a/third_party/blink/renderer/core/fileapi/file_reader_loader.cc
+++ b/third_party/blink/renderer/core/fileapi/file_reader_loader.cc
@@ -36,6 +36,7 @@
 
 #include "base/memory/scoped_refptr.h"
 #include "mojo/public/cpp/system/wait.h"
+#include "third_party/blink/public/common/blob/blob_utils.h"
 #include "third_party/blink/public/platform/web_url_request.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/fileapi/blob.h"
@@ -89,17 +90,16 @@
   started_loading_ = true;
 #endif  // DCHECK_IS_ON()
 
-  mojo::ScopedDataPipeProducerHandle producer_handle;
-  MojoResult result =
-      CreateDataPipe(nullptr, &producer_handle, &consumer_handle_);
-  if (result != MOJO_RESULT_OK) {
+  mojo::DataPipe pipe(blink::BlobUtils::GetDataPipeCapacity());
+  if (!pipe.producer_handle.is_valid()) {
     Failed(FileError::kNotReadableErr, FailureType::kMojoPipeCreation);
     return;
   }
+  consumer_handle_ = std::move(pipe.consumer_handle);
 
   mojom::blink::BlobReaderClientPtr client_ptr;
   binding_.Bind(MakeRequest(&client_ptr));
-  blob_data->ReadAll(std::move(producer_handle), std::move(client_ptr));
+  blob_data->ReadAll(std::move(pipe.producer_handle), std::move(client_ptr));
 
   if (IsSyncLoad()) {
     // Wait for OnCalculatedSize, which will also synchronously drain the data
diff --git a/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc b/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc
index 2758c8ef..292f513 100644
--- a/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc
+++ b/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc
@@ -99,7 +99,7 @@
 //
 // If the shelf is at -Infinity or +Infinity at either end, the given area
 // always intersects.
-bool Intersects(const NGExclusionSpace::NGShelf& shelf,
+bool Intersects(const NGExclusionSpaceInternal::NGShelf& shelf,
                 const NGBfcOffset& offset,
                 const LayoutUnit inline_size) {
   if (shelf.line_right >= offset.line_offset &&
@@ -138,7 +138,7 @@
 // Creates a new layout opportunity. The given shelf *must* intersect with the
 // given area (defined by offset and inline_size).
 NGLayoutOpportunity CreateLayoutOpportunity(
-    const NGExclusionSpace::NGShelf& shelf,
+    const NGExclusionSpaceInternal::NGShelf& shelf,
     const NGBfcOffset& offset,
     const LayoutUnit inline_size) {
   DCHECK(Intersects(shelf, offset, inline_size));
@@ -162,13 +162,14 @@
 
 }  // namespace
 
-NGExclusionSpace::NGExclusionSpace()
+NGExclusionSpaceInternal::NGExclusionSpaceInternal()
     : exclusions_(RefVector<scoped_refptr<const NGExclusion>>::Create()),
       num_exclusions_(0),
       both_clear_offset_(LayoutUnit::Min()),
       derived_geometry_(nullptr) {}
 
-NGExclusionSpace::NGExclusionSpace(const NGExclusionSpace& other)
+NGExclusionSpaceInternal::NGExclusionSpaceInternal(
+    const NGExclusionSpaceInternal& other)
     : exclusions_(other.exclusions_),
       num_exclusions_(other.num_exclusions_),
       both_clear_offset_(other.both_clear_offset_),
@@ -178,13 +179,15 @@
   other.derived_geometry_ = nullptr;
 }
 
-NGExclusionSpace::NGExclusionSpace(NGExclusionSpace&& other)
+NGExclusionSpaceInternal::NGExclusionSpaceInternal(
+    NGExclusionSpaceInternal&& other)
     : exclusions_(std::move(other.exclusions_)),
       num_exclusions_(other.num_exclusions_),
       both_clear_offset_(other.both_clear_offset_),
       derived_geometry_(std::move(other.derived_geometry_)) {}
 
-NGExclusionSpace& NGExclusionSpace::operator=(const NGExclusionSpace& other) {
+NGExclusionSpaceInternal& NGExclusionSpaceInternal::operator=(
+    const NGExclusionSpaceInternal& other) {
   exclusions_ = other.exclusions_;
   num_exclusions_ = other.num_exclusions_;
   both_clear_offset_ = other.both_clear_offset_;
@@ -193,7 +196,7 @@
   return *this;
 }
 
-NGExclusionSpace::DerivedGeometry::DerivedGeometry()
+NGExclusionSpaceInternal::DerivedGeometry::DerivedGeometry()
     : last_float_block_start_(LayoutUnit::Min()),
       left_float_clear_offset_(LayoutUnit::Min()),
       right_float_clear_offset_(LayoutUnit::Min()) {
@@ -201,7 +204,7 @@
   shelves_.emplace_back(/* block_offset */ LayoutUnit::Min());
 }
 
-void NGExclusionSpace::Add(scoped_refptr<const NGExclusion> exclusion) {
+void NGExclusionSpaceInternal::Add(scoped_refptr<const NGExclusion> exclusion) {
   DCHECK_LE(num_exclusions_, exclusions_->size());
 
   // Perform a copy-on-write if the number of exclusions has gone out of sync.
@@ -227,7 +230,8 @@
   num_exclusions_++;
 }
 
-void NGExclusionSpace::DerivedGeometry::Add(const NGExclusion& exclusion) {
+void NGExclusionSpaceInternal::DerivedGeometry::Add(
+    const NGExclusion& exclusion) {
   last_float_block_start_ =
       std::max(last_float_block_start_, exclusion.rect.BlockStartOffset());
 
@@ -484,7 +488,8 @@
 #endif
 }
 
-NGLayoutOpportunity NGExclusionSpace::DerivedGeometry::FindLayoutOpportunity(
+NGLayoutOpportunity
+NGExclusionSpaceInternal::DerivedGeometry::FindLayoutOpportunity(
     const NGBfcOffset& offset,
     const LayoutUnit available_inline_size,
     const NGLogicalSize& minimum_size) const {
@@ -511,7 +516,7 @@
 }
 
 LayoutOpportunityVector
-NGExclusionSpace::DerivedGeometry::AllLayoutOpportunities(
+NGExclusionSpaceInternal::DerivedGeometry::AllLayoutOpportunities(
     const NGBfcOffset& offset,
     const LayoutUnit available_inline_size) const {
   LayoutOpportunityVector opportunities;
@@ -567,7 +572,7 @@
   return opportunities;
 }
 
-LayoutUnit NGExclusionSpace::DerivedGeometry::ClearanceOffset(
+LayoutUnit NGExclusionSpaceInternal::DerivedGeometry::ClearanceOffset(
     EClear clear_type) const {
   switch (clear_type) {
     case EClear::kNone:
@@ -585,8 +590,8 @@
   return LayoutUnit::Min();
 }
 
-const NGExclusionSpace::DerivedGeometry& NGExclusionSpace::GetDerivedGeometry()
-    const {
+const NGExclusionSpaceInternal::DerivedGeometry&
+NGExclusionSpaceInternal::GetDerivedGeometry() const {
   // Re-build the geometry if it isn't present.
   if (!derived_geometry_) {
     derived_geometry_ = std::make_unique<DerivedGeometry>();
@@ -598,7 +603,8 @@
   return *derived_geometry_;
 }
 
-bool NGExclusionSpace::operator==(const NGExclusionSpace& other) const {
+bool NGExclusionSpaceInternal::operator==(
+    const NGExclusionSpaceInternal& other) const {
   if (num_exclusions_ == 0 && other.num_exclusions_ == 0)
     return true;
   return num_exclusions_ == other.num_exclusions_ &&
diff --git a/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h b/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h
index bba16ba..724a45b 100644
--- a/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h
+++ b/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h
@@ -20,27 +20,21 @@
 
 typedef Vector<NGLayoutOpportunity, 8> LayoutOpportunityVector;
 
-// The exclusion space represents all of the exclusions within a block
-// formatting context.
-//
-// The space is mutated simply by adding exclusions, and various information
-// can be queried based on the exclusions.
-class CORE_EXPORT NGExclusionSpace {
-  USING_FAST_MALLOC(NGExclusionSpace);
+// This class is an implementation detail. For use of the exclusion space,
+// see NGExclusionSpace below. NGExclusionSpace was designed to be cheap
+// to construct and cheap to copy if empty.
+class CORE_EXPORT NGExclusionSpaceInternal {
+  USING_FAST_MALLOC(NGExclusionSpaceInternal);
 
  public:
-  NGExclusionSpace();
-  NGExclusionSpace(const NGExclusionSpace&);
-  NGExclusionSpace(NGExclusionSpace&&) noexcept;
-  NGExclusionSpace& operator=(const NGExclusionSpace&);
-  ~NGExclusionSpace(){};
+  NGExclusionSpaceInternal();
+  NGExclusionSpaceInternal(const NGExclusionSpaceInternal&);
+  NGExclusionSpaceInternal(NGExclusionSpaceInternal&&) noexcept;
+  NGExclusionSpaceInternal& operator=(const NGExclusionSpaceInternal&);
+  ~NGExclusionSpaceInternal(){};
 
   void Add(scoped_refptr<const NGExclusion> exclusion);
 
-  // Returns a layout opportunity, within the BFC.
-  // The area to search for layout opportunities is defined by the given offset,
-  // and available_inline_size. The layout opportunity must be greater than the
-  // given minimum_size.
   NGLayoutOpportunity FindLayoutOpportunity(
       const NGBfcOffset& offset,
       const LayoutUnit available_inline_size,
@@ -75,7 +69,6 @@
                                                        available_inline_size);
   }
 
-  // Returns the clearance offset based on the provided {@code clear_type}.
   LayoutUnit ClearanceOffset(EClear clear_type) const {
     if (clear_type == EClear::kNone)
       return LayoutUnit::Min();
@@ -83,15 +76,14 @@
     return GetDerivedGeometry().ClearanceOffset(clear_type);
   }
 
-  // Returns the block start offset of the last float added.
   LayoutUnit LastFloatBlockStart() const {
     return GetDerivedGeometry().LastFloatBlockStart();
   }
 
   bool IsEmpty() const { return !num_exclusions_; }
 
-  bool operator==(const NGExclusionSpace& other) const;
-  bool operator!=(const NGExclusionSpace& other) const {
+  bool operator==(const NGExclusionSpaceInternal& other) const;
+  bool operator!=(const NGExclusionSpaceInternal& other) const {
     return !(*this == other);
   }
 
@@ -183,8 +175,8 @@
 
  private:
   // In order to reduce the amount of Vector copies, instances of a
-  // NGExclusionSpace can share the same exclusions_ Vector. See the copy
-  // constructor.
+  // NGExclusionSpaceInternal can share the same exclusions_ Vector. See the
+  // copy constructor.
   //
   // We implement a copy-on-write behaviour when adding an exclusion (if
   // exclusions_.size(), and num_exclusions_ differs).
@@ -290,6 +282,102 @@
   mutable std::unique_ptr<DerivedGeometry> derived_geometry_;
 };
 
+// The exclusion space represents all of the exclusions within a block
+// formatting context.
+//
+// The space is mutated simply by adding exclusions, and various information
+// can be queried based on the exclusions.
+class CORE_EXPORT NGExclusionSpace {
+  DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
+
+ public:
+  NGExclusionSpace() = default;
+  NGExclusionSpace(const NGExclusionSpace& other)
+      : exclusion_space_(other.exclusion_space_ ? new NGExclusionSpaceInternal(
+                                                      *other.exclusion_space_)
+                                                : nullptr) {}
+  NGExclusionSpace(NGExclusionSpace&& other) noexcept
+      : exclusion_space_(std::move(other.exclusion_space_)) {}
+
+  NGExclusionSpace& operator=(const NGExclusionSpace& other) {
+    exclusion_space_ = other.exclusion_space_
+                           ? std::make_unique<NGExclusionSpaceInternal>(
+                                 *other.exclusion_space_)
+                           : nullptr;
+    return *this;
+  }
+
+  void Add(scoped_refptr<const NGExclusion> exclusion) {
+    if (!exclusion_space_)
+      exclusion_space_ = std::make_unique<NGExclusionSpaceInternal>();
+    exclusion_space_->Add(exclusion);
+  }
+
+  // Returns a layout opportunity, within the BFC.
+  // The area to search for layout opportunities is defined by the given offset,
+  // and available_inline_size. The layout opportunity must be greater than the
+  // given minimum_size.
+  NGLayoutOpportunity FindLayoutOpportunity(
+      const NGBfcOffset& offset,
+      const LayoutUnit available_inline_size,
+      const NGLogicalSize& minimum_size) const {
+    if (!exclusion_space_) {
+      NGBfcOffset end_offset(
+          offset.line_offset + available_inline_size.ClampNegativeToZero(),
+          LayoutUnit::Max());
+      return NGLayoutOpportunity(NGBfcRect(offset, end_offset), nullptr);
+    }
+    return exclusion_space_->FindLayoutOpportunity(
+        offset, available_inline_size, minimum_size);
+  }
+
+  LayoutOpportunityVector AllLayoutOpportunities(
+      const NGBfcOffset& offset,
+      const LayoutUnit available_inline_size) const {
+    if (!exclusion_space_) {
+      NGBfcOffset end_offset(
+          offset.line_offset + available_inline_size.ClampNegativeToZero(),
+          LayoutUnit::Max());
+      return LayoutOpportunityVector(
+          {NGLayoutOpportunity(NGBfcRect(offset, end_offset), nullptr)});
+    }
+    return exclusion_space_->AllLayoutOpportunities(offset,
+                                                    available_inline_size);
+  }
+
+  // Returns the clearance offset based on the provided {@code clear_type}.
+  LayoutUnit ClearanceOffset(EClear clear_type) const {
+    if (!exclusion_space_)
+      return LayoutUnit::Min();
+    return exclusion_space_->ClearanceOffset(clear_type);
+  }
+
+  // Returns the block start offset of the last float added.
+  LayoutUnit LastFloatBlockStart() const {
+    if (!exclusion_space_)
+      return LayoutUnit::Min();
+    return exclusion_space_->LastFloatBlockStart();
+  }
+
+  bool IsEmpty() const {
+    return !exclusion_space_ || exclusion_space_->IsEmpty();
+  }
+
+  bool operator==(const NGExclusionSpace& other) const {
+    if (exclusion_space_ == other.exclusion_space_)
+      return true;
+    if (exclusion_space_ && other.exclusion_space_)
+      return *exclusion_space_ == *other.exclusion_space_;
+    return false;
+  }
+  bool operator!=(const NGExclusionSpace& other) const {
+    return !(*this == other);
+  }
+
+ private:
+  std::unique_ptr<NGExclusionSpaceInternal> exclusion_space_;
+};
+
 }  // namespace blink
 
 #endif  // NGExclusionSpace_h
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
index 670bb2f1..97e8c200 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
@@ -613,8 +613,7 @@
 }
 
 scoped_refptr<NGLayoutResult> NGInlineLayoutAlgorithm::Layout() {
-  std::unique_ptr<NGExclusionSpace> initial_exclusion_space(
-      std::make_unique<NGExclusionSpace>(ConstraintSpace().ExclusionSpace()));
+  NGExclusionSpace initial_exclusion_space(ConstraintSpace().ExclusionSpace());
 
   bool is_empty_inline = Node().IsEmptyInline();
 
@@ -649,13 +648,12 @@
 
   // In order to get the correct list of layout opportunities, we need to
   // position any "leading" items (floats) within the exclusion space first.
-  unsigned handled_item_index =
-      PositionLeadingFloats(initial_exclusion_space.get());
+  unsigned handled_item_index = PositionLeadingFloats(&initial_exclusion_space);
 
   // We query all the layout opportunities on the initial exclusion space up
   // front, as if the line breaker may add floats and change the opportunities.
   const LayoutOpportunityVector opportunities =
-      initial_exclusion_space->AllLayoutOpportunities(
+      initial_exclusion_space.AllLayoutOpportunities(
           ConstraintSpace().BfcOffset(),
           ConstraintSpace().AvailableSize().inline_size);
 
@@ -663,7 +661,7 @@
   // We shouldn't have any unpositioned floats if we aren't empty.
   DCHECK(unpositioned_floats_.IsEmpty() || is_empty_inline);
 
-  std::unique_ptr<NGExclusionSpace> exclusion_space;
+  NGExclusionSpace exclusion_space;
   NGInlineBreakToken* break_token = BreakToken();
 
   LayoutUnit line_block_size;
@@ -694,19 +692,17 @@
     positioned_floats.clear();
     unpositioned_floats_.clear();
     container_builder_.Reset();
-    exclusion_space =
-        std::make_unique<NGExclusionSpace>(*initial_exclusion_space);
+    exclusion_space = initial_exclusion_space;
 
     NGLineLayoutOpportunity line_opportunity =
         opportunity.ComputeLineLayoutOpportunity(ConstraintSpace(),
                                                  line_block_size, block_delta);
 
     NGLineInfo line_info;
-    NGLineBreaker line_breaker(Node(), NGLineBreakerMode::kContent,
-                               constraint_space_, &positioned_floats,
-                               &unpositioned_floats_, &container_builder_,
-                               exclusion_space.get(), handled_item_index,
-                               line_opportunity, break_token);
+    NGLineBreaker line_breaker(
+        Node(), NGLineBreakerMode::kContent, constraint_space_,
+        &positioned_floats, &unpositioned_floats_, &container_builder_,
+        &exclusion_space, handled_item_index, line_opportunity, break_token);
     line_breaker.NextLine(&line_info);
 
     // If this fragment will be larger than the inline-size of the opportunity,
@@ -734,7 +730,7 @@
     }
 
     PrepareBoxStates(line_info, break_token);
-    CreateLine(&line_info, exclusion_space.get());
+    CreateLine(&line_info, &exclusion_space);
 
     // We now can check the block-size of the fragment, and it fits within the
     // opportunity.
@@ -786,13 +782,13 @@
       DCHECK_EQ(container_builder_.BlockSize(), 0);
     } else {
       // Place any remaining floats which couldn't fit on the line.
-      PositionPendingFloats(line_height, exclusion_space.get());
+      PositionPendingFloats(line_height, &exclusion_space);
 
       // A <br clear=both> will strech the line-box height, such that the
       // block-end edge will clear any floats.
       // TODO(ikilpatrick): Move this into ng_block_layout_algorithm.
       container_builder_.SetBlockSize(
-          ComputeContentSize(line_info, *exclusion_space, line_height));
+          ComputeContentSize(line_info, exclusion_space, line_height));
     }
     break;
   }
@@ -800,9 +796,7 @@
   // We shouldn't have any unpositioned floats if we aren't empty.
   DCHECK(unpositioned_floats_.IsEmpty() || is_empty_inline);
   container_builder_.SwapPositionedFloats(&positioned_floats_);
-  container_builder_.SetExclusionSpace(
-      exclusion_space ? std::move(exclusion_space)
-                      : std::move(initial_exclusion_space));
+  container_builder_.SetExclusionSpace(std::move(exclusion_space));
   container_builder_.MoveOutOfFlowDescendantCandidatesToDescendants(nullptr);
   return container_builder_.ToLineBoxFragment();
 }
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h
index 4522aee3..44f800f 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h
@@ -19,6 +19,7 @@
 namespace blink {
 
 class NGConstraintSpace;
+class NGExclusionSpace;
 class NGInlineBreakToken;
 class NGInlineNode;
 class NGInlineItem;
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.cc
index b6ee9a0..18aea29 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.cc
@@ -149,9 +149,10 @@
                        : NGInlineBreakToken::Create(node_)));
 
   return base::AdoptRef(new NGLayoutResult(
-      std::move(fragment), oof_positioned_descendants_, positioned_floats_,
-      unpositioned_list_marker_, std::move(exclusion_space_), bfc_line_offset_,
-      bfc_block_offset_, end_margin_strut_,
+      std::move(fragment), std::move(oof_positioned_descendants_),
+      std::move(positioned_floats_), unpositioned_list_marker_,
+      std::move(exclusion_space_), bfc_line_offset_, bfc_block_offset_,
+      end_margin_strut_,
       /* intrinsic_block_size */ LayoutUnit(),
       /* minimal_space_shortage */ LayoutUnit::Max(), EBreakBetween::kAuto,
       EBreakBetween::kAuto, /* has_forced_break */ false, is_pushed_by_floats_,
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h b/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
index e107aef2..5149c48e 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
@@ -183,6 +183,8 @@
   scoped_refptr<NGInlineBreakToken> break_token_;
 
   TextDirection base_direction_;
+
+  DISALLOW_COPY_AND_ASSIGN(NGLineBoxFragmentBuilder);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
index d1e91f9..e65db54 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
@@ -158,7 +158,7 @@
                                                NGBlockBreakToken* break_token)
     : NGLayoutAlgorithm(node, space, break_token),
       is_resuming_(break_token && !break_token->IsBreakBefore()),
-      exclusion_space_(new NGExclusionSpace(space.ExclusionSpace())) {}
+      exclusion_space_(space.ExclusionSpace()) {}
 
 // Define the destructor here, so that we can forward-declare more in the
 // header.
@@ -537,9 +537,8 @@
   // If the current layout is a new formatting context, we need to encapsulate
   // all of our floats.
   if (ConstraintSpace().IsNewFormattingContext()) {
-    intrinsic_block_size_ =
-        std::max(intrinsic_block_size_,
-                 exclusion_space_->ClearanceOffset(EClear::kBoth));
+    intrinsic_block_size_ = std::max(
+        intrinsic_block_size_, exclusion_space_.ClearanceOffset(EClear::kBoth));
   }
 
   // The end margin strut of an in-flow fragment contributes to the size of the
@@ -671,7 +670,6 @@
 
   // An exclusion space is confined to nodes within the same formatting context.
   if (!ConstraintSpace().IsNewFormattingContext()) {
-    DCHECK(exclusion_space_);
     container_builder_.SetExclusionSpace(std::move(exclusion_space_));
   }
 
@@ -966,7 +964,7 @@
     bool abort_if_cleared) {
   // The origin offset is where we should start looking for layout
   // opportunities. It needs to be adjusted by the child's clearance.
-  AdjustToClearance(exclusion_space_->ClearanceOffset(child.Style().Clear()),
+  AdjustToClearance(exclusion_space_.ClearanceOffset(child.Style().Clear()),
                     &origin_offset);
   DCHECK(container_builder_.BfcBlockOffset());
 
@@ -985,7 +983,7 @@
           .ClampNegativeToZero();
 
   LayoutOpportunityVector opportunities =
-      exclusion_space_->AllLayoutOpportunities(origin_offset, inline_size);
+      exclusion_space_.AllLayoutOpportunities(origin_offset, inline_size);
 
   // We should always have at least one opportunity.
   DCHECK_GT(opportunities.size(), 0u);
@@ -1037,7 +1035,7 @@
 
     // Since this child establishes a new formatting context, no exclusion space
     // should be returned.
-    DCHECK(!layout_result->ExclusionSpace());
+    DCHECK(layout_result->ExclusionSpace().IsEmpty());
 
     DCHECK(layout_result->PhysicalFragment());
     NGFragment fragment(ConstraintSpace().GetWritingMode(),
@@ -1233,9 +1231,7 @@
   }
 
   // It is now safe to update our version of the exclusion space.
-  DCHECK(layout_result->ExclusionSpace());
-  exclusion_space_ =
-      std::make_unique<NGExclusionSpace>(*layout_result->ExclusionSpace());
+  exclusion_space_ = layout_result->ExclusionSpace();
 
   // If we don't know our BFC block offset yet, and the child stumbled into
   // something that needs it (unable to position floats when the BFC block
@@ -1843,7 +1839,7 @@
   } else {
     const ComputedStyle& child_style = child.Style();
     LayoutUnit child_clearance_offset =
-        exclusion_space_->ClearanceOffset(child_style.Clear());
+        exclusion_space_.ClearanceOffset(child_style.Clear());
     clearance_offset = std::max(clearance_offset, child_clearance_offset);
     space_builder.SetIsShrinkToFit(ShouldShrinkToFit(Style(), child_style));
     space_builder.SetTextDirection(child_style.Direction());
@@ -1860,7 +1856,7 @@
     space_builder.SetShouldForceClearance(true);
 
   if (!is_new_fc) {
-    space_builder.SetExclusionSpace(*exclusion_space_);
+    space_builder.SetExclusionSpace(exclusion_space_);
     space_builder.SetAdjoiningFloatTypes(
         container_builder_.AdjoiningFloatTypes());
   }
@@ -2052,7 +2048,7 @@
   const auto positioned_floats =
       PositionFloats(child_available_size_, child_percentage_size_,
                      origin_bfc_offset, bfc_block_offset, unpositioned_floats_,
-                     ConstraintSpace(), exclusion_space_.get());
+                     ConstraintSpace(), &exclusion_space_);
 
   AddPositionedFloats(positioned_floats);
 
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h
index dab8d19c..abc0826 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h
@@ -7,6 +7,7 @@
 
 #include "base/memory/scoped_refptr.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_margin_strut.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_block_break_token.h"
 #include "third_party/blink/renderer/core/layout/ng/ng_block_node.h"
@@ -299,7 +300,7 @@
 
   bool has_processed_first_child_ = false;
 
-  std::unique_ptr<NGExclusionSpace> exclusion_space_;
+  NGExclusionSpace exclusion_space_;
   NGUnpositionedFloatVector unpositioned_floats_;
 };
 
diff --git a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc
index 5e32e73..424deb8 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc
@@ -48,7 +48,7 @@
       margin_strut_(margin_strut),
       bfc_offset_(bfc_offset),
       floats_bfc_block_offset_(floats_bfc_block_offset),
-      exclusion_space_(std::make_unique<NGExclusionSpace>(exclusion_space)),
+      exclusion_space_(exclusion_space),
       clearance_offset_(clearance_offset) {
   baseline_requests_.swap(baseline_requests);
 }
@@ -184,10 +184,6 @@
 }
 
 bool NGConstraintSpace::operator==(const NGConstraintSpace& other) const {
-  if (exclusion_space_ && other.exclusion_space_ &&
-      *exclusion_space_ != *other.exclusion_space_)
-    return false;
-
   return available_size_ == other.available_size_ &&
          percentage_resolution_size_ == other.percentage_resolution_size_ &&
          parent_percentage_resolution_inline_size_ ==
@@ -206,6 +202,7 @@
          margin_strut_ == other.margin_strut_ &&
          bfc_offset_ == other.bfc_offset_ &&
          floats_bfc_block_offset_ == other.floats_bfc_block_offset_ &&
+         exclusion_space_ == other.exclusion_space_ &&
          clearance_offset_ == other.clearance_offset_ &&
          baseline_requests_ == other.baseline_requests_;
 }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
index 73c7bd7b..d8b4c02 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
@@ -58,7 +58,7 @@
   static scoped_refptr<NGConstraintSpace> CreateFromLayoutObject(
       const LayoutBox&);
 
-  const NGExclusionSpace& ExclusionSpace() const { return *exclusion_space_; }
+  const NGExclusionSpace& ExclusionSpace() const { return exclusion_space_; }
 
   TextDirection Direction() const {
     return static_cast<TextDirection>(direction_);
@@ -294,7 +294,7 @@
   NGBfcOffset bfc_offset_;
   base::Optional<LayoutUnit> floats_bfc_block_offset_;
 
-  const std::unique_ptr<const NGExclusionSpace> exclusion_space_;
+  const NGExclusionSpace exclusion_space_;
   LayoutUnit clearance_offset_;
 
   Vector<NGBaselineRequest> baseline_requests_;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc b/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc
index fb9e2d2..1d58500 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc
@@ -151,9 +151,8 @@
   bool is_new_fc_ = flags_ & NGConstraintSpace::kNewFormattingContext;
   DCHECK(!is_new_fc_ || !adjoining_floats_);
 
-  DEFINE_STATIC_LOCAL(NGExclusionSpace, empty_exclusion_space, ());
   const NGExclusionSpace& exclusion_space = (is_new_fc_ || !exclusion_space_)
-                                                ? empty_exclusion_space
+                                                ? NGExclusionSpace()
                                                 : *exclusion_space_;
   NGBfcOffset bfc_offset = is_new_fc_ ? NGBfcOffset() : bfc_offset_;
   NGMarginStrut margin_strut = is_new_fc_ ? NGMarginStrut() : margin_strut_;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.cc b/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.cc
index 02ff8195..c0f42002 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.cc
@@ -34,7 +34,7 @@
 }
 
 NGContainerFragmentBuilder& NGContainerFragmentBuilder::SetExclusionSpace(
-    std::unique_ptr<const NGExclusionSpace> exclusion_space) {
+    NGExclusionSpace&& exclusion_space) {
   exclusion_space_ = std::move(exclusion_space);
   return *this;
 }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.h b/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.h
index 7c88074..b83499f 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.h
@@ -7,6 +7,7 @@
 
 #include "base/memory/scoped_refptr.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_bfc_offset.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_logical_size.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_margin_strut.h"
@@ -61,7 +62,7 @@
   NGContainerFragmentBuilder& SetEndMarginStrut(const NGMarginStrut&);
 
   NGContainerFragmentBuilder& SetExclusionSpace(
-      std::unique_ptr<const NGExclusionSpace> exclusion_space);
+      NGExclusionSpace&& exclusion_space);
 
   const NGUnpositionedListMarker& UnpositionedListMarker() const {
     return unpositioned_list_marker_;
@@ -199,7 +200,7 @@
   LayoutUnit bfc_line_offset_;
   base::Optional<LayoutUnit> bfc_block_offset_;
   NGMarginStrut end_margin_strut_;
-  std::unique_ptr<const NGExclusionSpace> exclusion_space_;
+  NGExclusionSpace exclusion_space_;
 
   Vector<NGOutOfFlowPositionedCandidate> oof_positioned_candidates_;
   Vector<NGOutOfFlowPositionedDescendant> oof_positioned_descendants_;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.cc b/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.cc
index fbe4d56..eeddb4c 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.cc
@@ -321,12 +321,12 @@
   Vector<NGPositionedFloat> positioned_floats;
 
   return base::AdoptRef(new NGLayoutResult(
-      std::move(fragment), oof_positioned_descendants_, positioned_floats,
-      unpositioned_list_marker_, std::move(exclusion_space_), bfc_line_offset_,
-      bfc_block_offset_, end_margin_strut_, intrinsic_block_size_,
-      minimal_space_shortage_, initial_break_before_, previous_break_after_,
-      has_forced_break_, is_pushed_by_floats_, adjoining_floats_,
-      NGLayoutResult::kSuccess));
+      std::move(fragment), std::move(oof_positioned_descendants_),
+      std::move(positioned_floats), unpositioned_list_marker_,
+      std::move(exclusion_space_), bfc_line_offset_, bfc_block_offset_,
+      end_margin_strut_, intrinsic_block_size_, minimal_space_shortage_,
+      initial_break_before_, previous_break_after_, has_forced_break_,
+      is_pushed_by_floats_, adjoining_floats_, NGLayoutResult::kSuccess));
 }
 
 scoped_refptr<NGLayoutResult> NGFragmentBuilder::Abort(
@@ -334,8 +334,9 @@
   Vector<NGOutOfFlowPositionedDescendant> oof_positioned_descendants;
   Vector<NGPositionedFloat> positioned_floats;
   return base::AdoptRef(new NGLayoutResult(
-      nullptr, oof_positioned_descendants, positioned_floats,
-      NGUnpositionedListMarker(), nullptr, bfc_line_offset_, bfc_block_offset_,
+      nullptr, std::move(oof_positioned_descendants),
+      std::move(positioned_floats), NGUnpositionedListMarker(),
+      NGExclusionSpace(), bfc_line_offset_, bfc_block_offset_,
       end_margin_strut_, LayoutUnit(), LayoutUnit(), EBreakBetween::kAuto,
       EBreakBetween::kAuto, false, false, kFloatTypeNone, status));
 }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc b/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc
index efb0076..7c47dcb 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc
@@ -14,10 +14,10 @@
 
 NGLayoutResult::NGLayoutResult(
     scoped_refptr<const NGPhysicalFragment> physical_fragment,
-    Vector<NGOutOfFlowPositionedDescendant>& oof_positioned_descendants,
-    Vector<NGPositionedFloat>& positioned_floats,
+    Vector<NGOutOfFlowPositionedDescendant>&& oof_positioned_descendants,
+    Vector<NGPositionedFloat>&& positioned_floats,
     const NGUnpositionedListMarker& unpositioned_list_marker,
-    std::unique_ptr<const NGExclusionSpace> exclusion_space,
+    NGExclusionSpace&& exclusion_space,
     LayoutUnit bfc_line_offset,
     const base::Optional<LayoutUnit> bfc_block_offset,
     const NGMarginStrut end_margin_strut,
@@ -55,18 +55,13 @@
   Vector<NGOutOfFlowPositionedDescendant> oof_positioned_descendants(
       oof_positioned_descendants_);
   Vector<NGPositionedFloat> positioned_floats(positioned_floats_);
-  std::unique_ptr<const NGExclusionSpace> exclusion_space;
-  // TODO(layoutng) Replace this with DCHECK(exclusion_space_) when
-  // callers guarantee exclusion_space_ != null.
-  if (exclusion_space_) {
-    exclusion_space = std::make_unique<NGExclusionSpace>(*exclusion_space_);
-  }
   return base::AdoptRef(new NGLayoutResult(
-      root_fragment_.fragment_, oof_positioned_descendants, positioned_floats,
-      unpositioned_list_marker_, std::move(exclusion_space), bfc_line_offset_,
-      bfc_block_offset_, end_margin_strut_, intrinsic_block_size_,
-      minimal_space_shortage_, initial_break_before_, final_break_after_,
-      has_forced_break_, is_pushed_by_floats_, adjoining_floats_, Status()));
+      root_fragment_.fragment_, std::move(oof_positioned_descendants),
+      std::move(positioned_floats), unpositioned_list_marker_,
+      NGExclusionSpace(exclusion_space_), bfc_line_offset_, bfc_block_offset_,
+      end_margin_strut_, intrinsic_block_size_, minimal_space_shortage_,
+      initial_break_before_, final_break_after_, has_forced_break_,
+      is_pushed_by_floats_, adjoining_floats_, Status()));
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_result.h b/third_party/blink/renderer/core/layout/ng/ng_layout_result.h
index 84e32ed..c62d89d2 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_result.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_result.h
@@ -7,6 +7,7 @@
 
 #include "base/memory/scoped_refptr.h"
 #include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_bfc_offset.h"
 #include "third_party/blink/renderer/core/layout/ng/geometry/ng_margin_strut.h"
 #include "third_party/blink/renderer/core/layout/ng/list/ng_unpositioned_list_marker.h"
@@ -62,9 +63,7 @@
     return unpositioned_list_marker_;
   }
 
-  const NGExclusionSpace* ExclusionSpace() const {
-    return exclusion_space_.get();
-  }
+  const NGExclusionSpace& ExclusionSpace() const { return exclusion_space_; }
 
   NGLayoutResultStatus Status() const {
     return static_cast<NGLayoutResultStatus>(status_);
@@ -116,11 +115,11 @@
   friend class NGLineBoxFragmentBuilder;
 
   NGLayoutResult(scoped_refptr<const NGPhysicalFragment> physical_fragment,
-                 Vector<NGOutOfFlowPositionedDescendant>&
+                 Vector<NGOutOfFlowPositionedDescendant>&&
                      out_of_flow_positioned_descendants,
-                 Vector<NGPositionedFloat>& positioned_floats,
+                 Vector<NGPositionedFloat>&& positioned_floats,
                  const NGUnpositionedListMarker& unpositioned_list_marker,
-                 std::unique_ptr<const NGExclusionSpace> exclusion_space,
+                 NGExclusionSpace&& exclusion_space,
                  LayoutUnit bfc_line_offset,
                  const base::Optional<LayoutUnit> bfc_block_offset,
                  const NGMarginStrut end_margin_strut,
@@ -140,7 +139,7 @@
 
   NGUnpositionedListMarker unpositioned_list_marker_;
 
-  const std::unique_ptr<const NGExclusionSpace> exclusion_space_;
+  const NGExclusionSpace exclusion_space_;
   const LayoutUnit bfc_line_offset_;
   const base::Optional<LayoutUnit> bfc_block_offset_;
   const NGMarginStrut end_margin_strut_;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_link.h b/third_party/blink/renderer/core/layout/ng/ng_link.h
index a36f9d4..0f16e2e 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_link.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_link.h
@@ -27,6 +27,9 @@
   NGLink(NGLink&& o) noexcept
       : fragment_(std::move(o.fragment_)), offset_(o.offset_) {}
   ~NGLink() = default;
+  NGLink(const NGLink&) = default;
+  NGLink& operator=(const NGLink&) = default;
+  NGLink& operator=(NGLink&&) = default;
 
   // Returns the offset relative to the parent fragment's content-box.
   NGPhysicalOffset Offset() const { return offset_; }
@@ -46,8 +49,6 @@
   friend class NGFragmentBuilder;
   friend class NGLineBoxFragmentBuilder;
   friend class NGLayoutResult;
-
-  DISALLOW_COPY_AND_ASSIGN(NGLink);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
index 62d3b18c..f9fa4af 100644
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -137,7 +137,8 @@
       in_data_received_(false),
       data_buffer_(SharedBuffer::Create()),
       devtools_navigation_token_(devtools_navigation_token),
-      user_activated_(false),
+      had_sticky_activation_(false),
+      had_transient_activation_(Frame::HasTransientUserActivation(frame_)),
       use_counter_(frame_->GetChromeClient().IsSVGImageChromeClient()
                        ? UseCounter::kSVGImageContext
                        : UseCounter::kDefaultContext) {
@@ -469,7 +470,7 @@
 }
 
 void DocumentLoader::SetUserActivated() {
-  user_activated_ = true;
+  had_sticky_activation_ = true;
 }
 
 const AtomicString& DocumentLoader::RequiredCSP() {
@@ -1138,10 +1139,12 @@
   // The DocumentLoader was flagged as activated if it needs to notify the frame
   // that it was activated before navigation. Update the frame state based on
   // the new value.
-  if (frame_->HasReceivedUserGestureBeforeNavigation() != user_activated_) {
-    frame_->SetDocumentHasReceivedUserGestureBeforeNavigation(user_activated_);
+  if (frame_->HasReceivedUserGestureBeforeNavigation() !=
+      had_sticky_activation_) {
+    frame_->SetDocumentHasReceivedUserGestureBeforeNavigation(
+        had_sticky_activation_);
     GetLocalFrameClient().SetHasReceivedUserGestureBeforeNavigation(
-        user_activated_);
+        had_sticky_activation_);
   }
 
   if (ShouldClearWindowName(*frame_, previous_security_origin, *document)) {
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
index 5aa5120..07a75d3 100644
--- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -290,6 +290,8 @@
       const SecurityOrigin* previous_security_origin,
       const Document& new_document);
 
+  bool had_transient_activation() const { return had_transient_activation_; }
+
   Vector<KURL> redirect_chain_;
 
  private:
@@ -429,8 +431,11 @@
   scoped_refptr<SharedBuffer> data_buffer_;
   base::UnguessableToken devtools_navigation_token_;
 
-  // Whether this load request comes from a user activation.
-  bool user_activated_;
+  // Whether this load request comes with a sitcky user activation.
+  bool had_sticky_activation_;
+  // Whether this load request had a user activation when created.
+  bool had_transient_activation_;
+
   // This UseCounter tracks feature usage associated with the lifetime of the
   // document load. Features recorded prior to commit will be recorded locally.
   // Once commited, feature usage will be piped to the browser side page load
diff --git a/third_party/blink/renderer/core/loader/frame_loader.cc b/third_party/blink/renderer/core/loader/frame_loader.cc
index 5673852..7791a67 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.cc
+++ b/third_party/blink/renderer/core/loader/frame_loader.cc
@@ -913,7 +913,14 @@
          policy == kNavigationPolicyHandledByClient ||
          policy == kNavigationPolicyHandledByClientForInitialHistory);
 
-  if (!CancelProvisionalLoaderForNewNavigation(policy))
+  bool cancel_scheduled_navigations = policy != kNavigationPolicyCurrentTab;
+  if (!CancelProvisionalLoaderForNewNavigation(cancel_scheduled_navigations))
+    return;
+
+  // TODO(japhet): This case wants to flag the frame as loading and do nothing
+  // else. It'd be nice if it could go through the placeholder DocumentLoader
+  // path, too.
+  if (policy == kNavigationPolicyHandledByClientForInitialHistory)
     return;
 
   provisional_document_loader_ = CreateDocumentLoader(
@@ -1009,8 +1016,10 @@
 
   RecordLatestRequiredCSP();
 
-  if (!CancelProvisionalLoaderForNewNavigation(kNavigationPolicyCurrentTab))
+  if (!CancelProvisionalLoaderForNewNavigation(
+          false /* cancel_scheduled_navigations */)) {
     return;
+  }
 
   // TODO(dgozman): navigation type should probably be passed by the caller.
   // It seems incorrect to pass |false| for |have_event| and then use
@@ -1502,7 +1511,7 @@
 }
 
 bool FrameLoader::CancelProvisionalLoaderForNewNavigation(
-    NavigationPolicy navigation_policy) {
+    bool cancel_scheduled_navigations) {
   bool had_placeholder_client_document_loader =
       provisional_document_loader_ && !provisional_document_loader_->DidStart();
 
@@ -1529,19 +1538,10 @@
     return false;
 
   progress_tracker_->ProgressStarted();
-  // TODO(japhet): This case wants to flag the frame as loading and do nothing
-  // else. It'd be nice if it could go through the placeholder DocumentLoader
-  // path, too.
-  if (navigation_policy == kNavigationPolicyHandledByClientForInitialHistory)
-    return false;
-  DCHECK(navigation_policy == kNavigationPolicyCurrentTab ||
-         navigation_policy == kNavigationPolicyHandledByClient);
 
   // We need to ensure that script initiated navigations are honored.
-  if (!had_placeholder_client_document_loader ||
-      navigation_policy == kNavigationPolicyHandledByClient) {
+  if (!had_placeholder_client_document_loader || cancel_scheduled_navigations)
     frame_->GetNavigationScheduler().Cancel();
-  }
 
   return true;
 }
diff --git a/third_party/blink/renderer/core/loader/frame_loader.h b/third_party/blink/renderer/core/loader/frame_loader.h
index 3360a8c..2771023 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.h
+++ b/third_party/blink/renderer/core/loader/frame_loader.h
@@ -243,7 +243,8 @@
   void ProcessFragment(const KURL&, WebFrameLoadType, LoadStartType);
 
   // Returns whether we should continue with new navigation.
-  bool CancelProvisionalLoaderForNewNavigation(NavigationPolicy);
+  bool CancelProvisionalLoaderForNewNavigation(
+      bool cancel_scheduled_navigations);
 
   void ClearInitialScrollState();
 
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
index 5af515b..061abdd 100644
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -382,6 +382,15 @@
     WebRange range =
         selected_frame->GetInputMethodController().GetSelectionOffsets();
     data.selection_start_offset = range.StartOffset();
+    // TODO(crbug.com/850954): Remove redundant log after we identified the
+    // issue.
+    DCHECK_GE(data.selection_start_offset, 0)
+        << "Log issue against https://crbug.com/850954\n"
+        << "data.selection_start_offset: " << data.selection_start_offset
+        << "\nrange: [" << range.StartOffset() << ", " << range.EndOffset()
+        << "]\nVisibleSelection: "
+        << selected_frame->Selection()
+               .ComputeVisibleSelectionInDOMTreeDeprecated();
   }
 
   if (result.IsContentEditable()) {
diff --git a/third_party/blink/renderer/core/paint/BUILD.gn b/third_party/blink/renderer/core/paint/BUILD.gn
index d13a316..913fe19 100644
--- a/third_party/blink/renderer/core/paint/BUILD.gn
+++ b/third_party/blink/renderer/core/paint/BUILD.gn
@@ -76,6 +76,8 @@
     "embedded_object_painter.h",
     "fallback_theme.cc",
     "fallback_theme.h",
+    "fieldset_paint_info.cc",
+    "fieldset_paint_info.h",
     "fieldset_painter.cc",
     "fieldset_painter.h",
     "file_upload_control_painter.cc",
diff --git a/third_party/blink/renderer/core/paint/fieldset_paint_info.cc b/third_party/blink/renderer/core/paint/fieldset_paint_info.cc
new file mode 100644
index 0000000..4f49214
--- /dev/null
+++ b/third_party/blink/renderer/core/paint/fieldset_paint_info.cc
@@ -0,0 +1,53 @@
+// 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 "third_party/blink/renderer/core/paint/fieldset_paint_info.h"
+
+#include "third_party/blink/renderer/core/style/computed_style.h"
+
+namespace blink {
+
+FieldsetPaintInfo::FieldsetPaintInfo(const ComputedStyle& fieldset_style,
+                                     LayoutSize fieldset_size,
+                                     LayoutRectOutsets fieldset_borders,
+                                     LayoutRect legend_border_box) {
+  if (fieldset_style.IsHorizontalWritingMode()) {
+    // horizontal-tb
+    LayoutUnit legend_size = legend_border_box.Height();
+    LayoutUnit border_size = fieldset_borders.Top();
+    LayoutUnit legend_excess_size = legend_size - border_size;
+    if (legend_excess_size > LayoutUnit())
+      border_outsets.SetTop(legend_excess_size / 2);
+    legend_cutout_rect = LayoutRect(legend_border_box.X(), LayoutUnit(),
+                                    legend_border_box.Width(),
+                                    std::max(legend_size, border_size));
+  } else {
+    LayoutUnit legend_size = legend_border_box.Width();
+    LayoutUnit border_size;
+    if (fieldset_style.IsFlippedBlocksWritingMode()) {
+      // vertical-rl
+      border_size = fieldset_borders.Right();
+      LayoutUnit legend_excess_size = legend_size - border_size;
+      if (legend_excess_size > LayoutUnit())
+        border_outsets.SetRight(legend_excess_size / 2);
+    } else {
+      // vertical-lr
+      border_size = fieldset_borders.Left();
+      LayoutUnit legend_excess_size = legend_size - border_size;
+      if (legend_excess_size > LayoutUnit())
+        border_outsets.SetLeft(legend_excess_size / 2);
+    }
+    LayoutUnit legend_total_block_size = std::max(legend_size, border_size);
+    legend_cutout_rect =
+        LayoutRect(LayoutUnit(), legend_border_box.Y(), legend_total_block_size,
+                   legend_border_box.Height());
+    if (fieldset_style.IsFlippedBlocksWritingMode()) {
+      // Offset cutout to right fieldset edge for vertical-rl
+      LayoutUnit clip_x = fieldset_size.Width() - legend_total_block_size;
+      legend_cutout_rect.Move(clip_x, LayoutUnit());
+    }
+  }
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/fieldset_paint_info.h b/third_party/blink/renderer/core/paint/fieldset_paint_info.h
new file mode 100644
index 0000000..c8442df
--- /dev/null
+++ b/third_party/blink/renderer/core/paint/fieldset_paint_info.h
@@ -0,0 +1,35 @@
+// 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 THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_FIELDSET_PAINT_INFO_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_FIELDSET_PAINT_INFO_H_
+
+#include "third_party/blink/renderer/platform/geometry/layout_rect.h"
+#include "third_party/blink/renderer/platform/geometry/layout_rect_outsets.h"
+
+namespace blink {
+
+class ComputedStyle;
+
+struct FieldsetPaintInfo {
+  // Calculate the fieldset block-start border offset and the cut-out rectangle
+  // caused by the rendered legend.
+  FieldsetPaintInfo(const ComputedStyle& fieldset_style,
+                    LayoutSize fieldset_size,
+                    LayoutRectOutsets fieldset_borders,
+                    LayoutRect legend_border_box);
+
+  // Block-start border outset caused by the rendered legend.
+  LayoutRectOutsets border_outsets;
+
+  // The cutout rectangle (where the border is not to be painted) occupied by
+  // the legend. Note that this may intersect with other border sides than the
+  // block-start one, if the legend happens to overlap with any of the other
+  // borders.
+  LayoutRect legend_cutout_rect;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_FIELDSET_PAINT_INFO_H_
diff --git a/third_party/blink/renderer/core/paint/fieldset_painter.cc b/third_party/blink/renderer/core/paint/fieldset_painter.cc
index 845d6b93..5d762f2c 100644
--- a/third_party/blink/renderer/core/paint/fieldset_painter.cc
+++ b/third_party/blink/renderer/core/paint/fieldset_painter.cc
@@ -9,12 +9,27 @@
 #include "third_party/blink/renderer/core/paint/box_decoration_data.h"
 #include "third_party/blink/renderer/core/paint/box_model_object_painter.h"
 #include "third_party/blink/renderer/core/paint/box_painter.h"
+#include "third_party/blink/renderer/core/paint/fieldset_paint_info.h"
 #include "third_party/blink/renderer/core/paint/paint_info.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_context_state_saver.h"
 #include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
 
 namespace blink {
 
+namespace {
+
+FieldsetPaintInfo CreateFieldsetPaintInfo(const LayoutBox& fieldset,
+                                          const LayoutBox& legend) {
+  LayoutRectOutsets fieldset_borders(
+      fieldset.BorderTop(), fieldset.BorderRight(),
+      LayoutUnit(),  // bottom border will always be left alone.
+      fieldset.BorderLeft());
+  return FieldsetPaintInfo(fieldset.StyleRef(), fieldset.Size(),
+                           fieldset_borders, legend.FrameRect());
+}
+
+}  // anonymous namespace
+
 void FieldsetPainter::PaintBoxDecorationBackground(
     const PaintInfo& paint_info,
     const LayoutPoint& paint_offset) {
@@ -28,24 +43,9 @@
           paint_info.context, layout_fieldset_, paint_info.phase))
     return;
 
-  // FIXME: We need to work with "rl" and "bt" block flow directions.  In those
-  // cases the legend is embedded in the right and bottom borders respectively.
-  // https://bugs.webkit.org/show_bug.cgi?id=47236
-  if (layout_fieldset_.StyleRef().IsHorizontalWritingMode()) {
-    LayoutUnit y_off =
-        (legend->Location().Y() > 0)
-            ? LayoutUnit()
-            : (legend->Size().Height() - layout_fieldset_.BorderTop()) / 2;
-    paint_rect.SetHeight(paint_rect.Height() - y_off);
-    paint_rect.SetY(paint_rect.Y() + y_off);
-  } else {
-    LayoutUnit x_off =
-        (legend->Location().X() > 0)
-            ? LayoutUnit()
-            : (legend->Size().Width() - layout_fieldset_.BorderLeft()) / 2;
-    paint_rect.SetWidth(paint_rect.Width() - x_off);
-    paint_rect.SetX(paint_rect.X() + x_off);
-  }
+  FieldsetPaintInfo fieldset_paint_info =
+      CreateFieldsetPaintInfo(layout_fieldset_, *legend);
+  paint_rect.Contract(fieldset_paint_info.border_outsets);
 
   DrawingRecorder recorder(paint_info.context, layout_fieldset_,
                            paint_info.phase);
@@ -68,27 +68,9 @@
   GraphicsContext& graphics_context = paint_info.context;
   GraphicsContextStateSaver state_saver(graphics_context);
 
-  // FIXME: We need to work with "rl" and "bt" block flow directions.  In those
-  // cases the legend is embedded in the right and bottom borders respectively.
-  // https://bugs.webkit.org/show_bug.cgi?id=47236
-  if (layout_fieldset_.StyleRef().IsHorizontalWritingMode()) {
-    LayoutUnit clip_top = paint_rect.Y();
-    LayoutUnit clip_height = max(
-        static_cast<LayoutUnit>(layout_fieldset_.StyleRef().BorderTopWidth()),
-        legend->Size().Height() -
-            ((legend->Size().Height() - layout_fieldset_.BorderTop()) / 2));
-    graphics_context.ClipOut(
-        PixelSnappedIntRect(paint_rect.X() + legend->Location().X(), clip_top,
-                            legend->Size().Width(), clip_height));
-  } else {
-    LayoutUnit clip_left = paint_rect.X();
-    LayoutUnit clip_width = max(
-        static_cast<LayoutUnit>(layout_fieldset_.StyleRef().BorderLeftWidth()),
-        legend->Size().Width());
-    graphics_context.ClipOut(
-        PixelSnappedIntRect(clip_left, paint_rect.Y() + legend->Location().Y(),
-                            clip_width, legend->Size().Height()));
-  }
+  LayoutRect legend_cutout_rect = fieldset_paint_info.legend_cutout_rect;
+  legend_cutout_rect.MoveBy(paint_offset);
+  graphics_context.ClipOut(PixelSnappedIntRect(legend_cutout_rect));
 
   Node* node = nullptr;
   const LayoutObject* layout_object = &layout_fieldset_;
@@ -114,24 +96,9 @@
           paint_info.context, layout_fieldset_, paint_info.phase))
     return;
 
-  // FIXME: We need to work with "rl" and "bt" block flow directions.  In those
-  // cases the legend is embedded in the right and bottom borders respectively.
-  // https://bugs.webkit.org/show_bug.cgi?id=47236
-  if (layout_fieldset_.StyleRef().IsHorizontalWritingMode()) {
-    LayoutUnit y_off =
-        (legend->Location().Y() > LayoutUnit())
-            ? LayoutUnit()
-            : (legend->Size().Height() - layout_fieldset_.BorderTop()) / 2;
-    paint_rect.Expand(LayoutUnit(), -y_off);
-    paint_rect.Move(LayoutUnit(), y_off);
-  } else {
-    LayoutUnit x_off =
-        (legend->Location().X() > LayoutUnit())
-            ? LayoutUnit()
-            : (legend->Size().Width() - layout_fieldset_.BorderLeft()) / 2;
-    paint_rect.Expand(-x_off, LayoutUnit());
-    paint_rect.Move(x_off, LayoutUnit());
-  }
+  FieldsetPaintInfo fieldset_paint_info =
+      CreateFieldsetPaintInfo(layout_fieldset_, *legend);
+  paint_rect.Contract(fieldset_paint_info.border_outsets);
 
   DrawingRecorder recorder(paint_info.context, layout_fieldset_,
                            paint_info.phase);
diff --git a/third_party/blink/renderer/core/paint/object_paint_properties.h b/third_party/blink/renderer/core/paint/object_paint_properties.h
index 179a1ff..e9415c7 100644
--- a/third_party/blink/renderer/core/paint/object_paint_properties.h
+++ b/third_party/blink/renderer/core/paint/object_paint_properties.h
@@ -209,6 +209,8 @@
     DCHECK(!ScrollTranslation() || !ReplacedContentTransform())
         << "Replaced elements don't scroll so there should never be both a "
            "scroll translation and a replaced content transform.";
+    DCHECK(!ClipPathClip() || !ClipPath())
+        << "ClipPathClip and ClipPathshould be mutually exclusive.";
   }
 #endif
 
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
index c3b6dbf..5320115 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
@@ -56,8 +56,10 @@
       CreateBackingThreadStartupData(ToIsolate(GetExecutionContext())));
 
   if (options.type() == "classic") {
+    // Dedicated worker is origin-bound, so use kSharableCrossOrigin.
     GetWorkerThread()->EvaluateClassicScript(
-        script_url, source_code, nullptr /* cached_meta_data */, stack_id);
+        script_url, kSharableCrossOrigin, source_code,
+        nullptr /* cached_meta_data */, stack_id);
   } else if (options.type() == "module") {
     network::mojom::FetchCredentialsMode credentials_mode;
     bool result =
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_test.cc b/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
index 72c5f55c..b4b93238 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
@@ -22,6 +22,7 @@
 #include "third_party/blink/renderer/core/workers/worker_thread.h"
 #include "third_party/blink/renderer/core/workers/worker_thread_test_helper.h"
 #include "third_party/blink/renderer/platform/cross_thread_functional.h"
+#include "third_party/blink/renderer/platform/loader/fetch/access_control_status.h"
 #include "third_party/blink/renderer/platform/testing/unit_test_helpers.h"
 #include "third_party/blink/renderer/platform/weborigin/security_policy.h"
 
@@ -143,9 +144,9 @@
         WorkerBackingThreadStartupData(
             WorkerBackingThreadStartupData::HeapLimitMode::kDefault,
             WorkerBackingThreadStartupData::AtomicsWaitMode::kAllow));
-    GetWorkerThread()->EvaluateClassicScript(script_url, source,
-                                             nullptr /* cached_meta_data */,
-                                             v8_inspector::V8StackTraceId());
+    GetWorkerThread()->EvaluateClassicScript(
+        script_url, kOpaqueResource, source, nullptr /* cached_meta_data */,
+        v8_inspector::V8StackTraceId());
   }
 
   DedicatedWorkerThreadForTest* GetDedicatedWorkerThread() {
diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.cc b/third_party/blink/renderer/core/workers/worker_global_scope.cc
index 398301b..2c272cdb 100644
--- a/third_party/blink/renderer/core/workers/worker_global_scope.cc
+++ b/third_party/blink/renderer/core/workers/worker_global_scope.cc
@@ -195,6 +195,14 @@
       return;
     }
 
+    // importScripts always uses "no-cors", so simply checking the origin is
+    // enough.
+    // TODO(yhirano): Remove this ad-hoc logic and use the response type.
+    const AccessControlStatus access_control_status =
+        execution_context.GetSecurityOrigin()->CanReadContent(response_url)
+            ? kSharableCrossOrigin
+            : kOpaqueResource;
+
     ErrorEvent* error_event = nullptr;
     SingleCachedMetadataHandler* handler(
         CreateWorkerScriptCachedMetadataHandler(complete_url,
@@ -204,7 +212,7 @@
     ScriptController()->Evaluate(
         ScriptSourceCode(source_code, ScriptSourceLocationType::kUnknown,
                          handler, response_url),
-        &error_event, v8_cache_options_);
+        access_control_status, &error_event, v8_cache_options_);
     if (error_event) {
       ScriptController()->RethrowExceptionFromImportedScript(error_event,
                                                              exception_state);
@@ -322,20 +330,22 @@
 
 void WorkerGlobalScope::EvaluateClassicScriptPausable(
     const KURL& script_url,
+    AccessControlStatus access_control_status,
     String source_code,
     std::unique_ptr<Vector<char>> cached_meta_data,
     const v8_inspector::V8StackTraceId& stack_id) {
   if (IsContextPaused()) {
-    paused_calls_.push_back(
-        WTF::Bind(&WorkerGlobalScope::EvaluateClassicScriptPausable,
-                  WrapWeakPersistent(this), script_url, source_code,
-                  WTF::Passed(std::move(cached_meta_data)), stack_id));
+    paused_calls_.push_back(WTF::Bind(
+        &WorkerGlobalScope::EvaluateClassicScriptPausable,
+        WrapWeakPersistent(this), script_url, access_control_status,
+        source_code, WTF::Passed(std::move(cached_meta_data)), stack_id));
     return;
   }
   ThreadDebugger* debugger = ThreadDebugger::From(GetThread()->GetIsolate());
   if (debugger)
     debugger->ExternalAsyncTaskStarted(stack_id);
-  EvaluateClassicScript(script_url, source_code, std::move(cached_meta_data));
+  EvaluateClassicScript(script_url, access_control_status, source_code,
+                        std::move(cached_meta_data));
   if (debugger)
     debugger->ExternalAsyncTaskFinished(stack_id);
 }
@@ -382,6 +392,7 @@
 
 void WorkerGlobalScope::EvaluateClassicScript(
     const KURL& script_url,
+    AccessControlStatus access_control_status,
     String source_code,
     std::unique_ptr<Vector<char>> cached_meta_data) {
   DCHECK(IsContextThread());
@@ -395,7 +406,7 @@
   bool success = ScriptController()->Evaluate(
       ScriptSourceCode(source_code, ScriptSourceLocationType::kUnknown, handler,
                        script_url),
-      nullptr /* error_event */, v8_cache_options_);
+      access_control_status, nullptr /* error_event */, v8_cache_options_);
   ReportingProxy().DidEvaluateClassicScript(success);
 }
 
diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.h b/third_party/blink/renderer/core/workers/worker_global_scope.h
index 982fd28..f9043c4 100644
--- a/third_party/blink/renderer/core/workers/worker_global_scope.h
+++ b/third_party/blink/renderer/core/workers/worker_global_scope.h
@@ -138,6 +138,7 @@
   // so that WorkerGlobalScope can be paused.
   void EvaluateClassicScriptPausable(
       const KURL& script_url,
+      AccessControlStatus access_control_status,
       String source_code,
       std::unique_ptr<Vector<char>> cached_meta_data,
       const v8_inspector::V8StackTraceId& stack_id);
@@ -177,6 +178,7 @@
   // Evaluates the given top-level classic script.
   virtual void EvaluateClassicScript(
       const KURL& script_url,
+      AccessControlStatus access_control_status,
       String source_code,
       std::unique_ptr<Vector<char>> cached_meta_data);
 
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
index 36ee681..745fa5b 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc
@@ -167,6 +167,7 @@
 
 void WorkerThread::EvaluateClassicScript(
     const KURL& script_url,
+    AccessControlStatus access_control_status,
     const String& source_code,
     std::unique_ptr<Vector<char>> cached_meta_data,
     const v8_inspector::V8StackTraceId& stack_id) {
@@ -174,7 +175,8 @@
   PostCrossThreadTask(
       *GetTaskRunner(TaskType::kInternalWorker), FROM_HERE,
       CrossThreadBind(&WorkerThread::EvaluateClassicScriptOnWorkerThread,
-                      CrossThreadUnretained(this), script_url, source_code,
+                      CrossThreadUnretained(this), script_url,
+                      access_control_status, source_code,
                       WTF::Passed(std::move(cached_meta_data)), stack_id));
 }
 
@@ -496,11 +498,13 @@
 
 void WorkerThread::EvaluateClassicScriptOnWorkerThread(
     const KURL& script_url,
+    AccessControlStatus access_control_status,
     String source_code,
     std::unique_ptr<Vector<char>> cached_meta_data,
     const v8_inspector::V8StackTraceId& stack_id) {
   ToWorkerGlobalScope(GlobalScope())
-      ->EvaluateClassicScriptPausable(script_url, std::move(source_code),
+      ->EvaluateClassicScriptPausable(script_url, access_control_status,
+                                      std::move(source_code),
                                       std::move(cached_meta_data), stack_id);
 }
 
diff --git a/third_party/blink/renderer/core/workers/worker_thread.h b/third_party/blink/renderer/core/workers/worker_thread.h
index c3ae979..41c1ce3 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.h
+++ b/third_party/blink/renderer/core/workers/worker_thread.h
@@ -43,6 +43,7 @@
 #include "third_party/blink/renderer/core/workers/parent_execution_context_task_runners.h"
 #include "third_party/blink/renderer/core/workers/worker_backing_thread_startup_data.h"
 #include "third_party/blink/renderer/core/workers/worker_inspector_proxy.h"
+#include "third_party/blink/renderer/platform/loader/fetch/access_control_status.h"
 #include "third_party/blink/renderer/platform/scheduler/public/worker_scheduler.h"
 #include "third_party/blink/renderer/platform/web_task_runner.h"
 #include "third_party/blink/renderer/platform/wtf/allocator.h"
@@ -106,6 +107,7 @@
   // Posts a task to evaluate a top-level classic script on the worker thread.
   // Called on the main thread after Start().
   void EvaluateClassicScript(const KURL& script_url,
+                             AccessControlStatus access_control_status,
                              const String& source_code,
                              std::unique_ptr<Vector<char>> cached_meta_data,
                              const v8_inspector::V8StackTraceId& stack_id);
@@ -281,6 +283,7 @@
 
   void EvaluateClassicScriptOnWorkerThread(
       const KURL& script_url,
+      AccessControlStatus access_control_status,
       String source_code,
       std::unique_ptr<Vector<char>> cached_meta_data,
       const v8_inspector::V8StackTraceId& stack_id);
diff --git a/third_party/blink/renderer/core/workers/worker_thread_test_helper.h b/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
index d5ffccb9..0341251 100644
--- a/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
+++ b/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
@@ -27,6 +27,7 @@
 #include "third_party/blink/renderer/core/workers/worker_thread.h"
 #include "third_party/blink/renderer/platform/cross_thread_functional.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
+#include "third_party/blink/renderer/platform/loader/fetch/access_control_status.h"
 #include "third_party/blink/renderer/platform/network/content_security_policy_parsers.h"
 #include "third_party/blink/renderer/platform/waitable_event.h"
 #include "third_party/blink/renderer/platform/web_thread_supporting_gc.h"
@@ -103,7 +104,8 @@
           WorkerBackingThreadStartupData::CreateDefault(),
           WorkerInspectorProxy::PauseOnWorkerStart::kDontPause,
           parent_execution_context_task_runners);
-    EvaluateClassicScript(script_url, source, nullptr /* cached_meta_data */,
+    EvaluateClassicScript(script_url, kOpaqueResource, source,
+                          nullptr /* cached_meta_data */,
                           v8_inspector::V8StackTraceId());
   }
 
diff --git a/third_party/blink/renderer/devtools/BUILD.gn b/third_party/blink/renderer/devtools/BUILD.gn
index a3b41d2..a3609bbd1 100644
--- a/third_party/blink/renderer/devtools/BUILD.gn
+++ b/third_party/blink/renderer/devtools/BUILD.gn
@@ -527,6 +527,7 @@
   "front_end/profiler/ProfileTypeRegistry.js",
   "front_end/profiler/ProfileView.js",
   "front_end/profiler/TopDownProfileDataGrid.js",
+  "front_end/protocol/NodeURL.js",
   "front_end/protocol/InspectorBackend.js",
   "front_end/protocol/module.json",
   "front_end/quick_open/CommandMenu.js",
diff --git a/third_party/blink/renderer/devtools/front_end/protocol/InspectorBackend.js b/third_party/blink/renderer/devtools/front_end/protocol/InspectorBackend.js
index d4d9a4a..c8f5919 100644
--- a/third_party/blink/renderer/devtools/front_end/protocol/InspectorBackend.js
+++ b/third_party/blink/renderer/devtools/front_end/protocol/InspectorBackend.js
@@ -229,9 +229,10 @@
  */
 Protocol.TargetBase = class extends Common.Object {
   /**
-   *  @param {!Protocol.InspectorBackend.Connection.Factory} connectionFactory
+   * @param {!Protocol.InspectorBackend.Connection.Factory} connectionFactory
+   * @param {boolean} isNodeJS
    */
-  constructor(connectionFactory) {
+  constructor(connectionFactory, isNodeJS) {
     super();
     this._connection =
         connectionFactory({onMessage: this._onMessage.bind(this), onDisconnect: this._onDisconnect.bind(this)});
@@ -248,6 +249,7 @@
     }
     if (!Protocol.InspectorBackend.sendRawMessageForTesting)
       Protocol.InspectorBackend.sendRawMessageForTesting = this._sendRawMessageForTesting.bind(this);
+    this._isNodeJS = isNodeJS;
   }
 
   /**
@@ -361,6 +363,8 @@
 
     const messageObject = /** @type {!Object} */ ((typeof message === 'string') ? JSON.parse(message) : message);
 
+    Protocol.NodeURL.patch(this, messageObject);
+
     if ('id' in messageObject) {  // just a response for some request
       const callback = this._callbacks[messageObject.id];
       if (!callback) {
@@ -500,6 +504,17 @@
             this._agent(domain), messageObject, methodName, callback),
         0);
   }
+
+  /**
+   * @return {boolean}
+   */
+  isNodeJS() {
+    return this._isNodeJS;
+  }
+
+  markAsNodeJSForTest() {
+    this._isNodeJS = true;
+  }
 };
 
 Protocol.TargetBase.Events = {
diff --git a/third_party/blink/renderer/devtools/front_end/protocol/NodeURL.js b/third_party/blink/renderer/devtools/front_end/protocol/NodeURL.js
new file mode 100644
index 0000000..b4234cb
--- /dev/null
+++ b/third_party/blink/renderer/devtools/front_end/protocol/NodeURL.js
@@ -0,0 +1,44 @@
+// 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.
+
+Protocol.NodeURL = class {
+  /**
+   * @param {!Protocol.TargetBase} target
+   * @param {!Object} object
+   */
+  static patch(target, object) {
+    if (target.isNodeJS())
+      process(object, '');
+
+    /**
+     * @param {!Object} object
+     * @param {string} path
+     */
+    function process(object, path) {
+      if (object.url && Protocol.NodeURL._isPlatformPath(object.url, Host.isWin()))
+        object.url = Common.ParsedURL.platformPathToURL(object.url);
+      for (const entry of Object.entries(object)) {
+        const key = entry[0];
+        const value = entry[1];
+        const entryPath = path + '.' + key;
+        if (entryPath !== '.result.result.value' && value !== null && typeof value === 'object')
+          process(value, entryPath);
+      }
+    }
+  }
+
+  /**
+   * @param {string} fileSystemPath
+   * @param {boolean} isWindows
+   * @return {boolean}
+   */
+  static _isPlatformPath(fileSystemPath, isWindows) {
+    if (isWindows) {
+      const re = /^([a-z]:[\/\\]|\\\\)/i;
+      return re.test(fileSystemPath);
+    } else {
+      return fileSystemPath.length ? fileSystemPath[0] === '/' : false;
+    }
+  }
+};
diff --git a/third_party/blink/renderer/devtools/front_end/protocol/module.json b/third_party/blink/renderer/devtools/front_end/protocol/module.json
index c69e67ac..9dda4bda 100644
--- a/third_party/blink/renderer/devtools/front_end/protocol/module.json
+++ b/third_party/blink/renderer/devtools/front_end/protocol/module.json
@@ -1,8 +1,10 @@
 {
   "dependencies": [
-    "common"
+    "common",
+    "host"
   ],
   "scripts": [
+    "NodeURL.js",
     "InspectorBackend.js",
     "../InspectorBackendCommands.js"
   ],
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/DebuggerModel.js b/third_party/blink/renderer/devtools/front_end/sdk/DebuggerModel.js
index f5d1082..add9a53 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/DebuggerModel.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/DebuggerModel.js
@@ -563,14 +563,7 @@
     let isContentScript = false;
     if (executionContextAuxData && ('isDefault' in executionContextAuxData))
       isContentScript = !executionContextAuxData['isDefault'];
-    // Support file URL for node.js.
-    if (this.target().isNodeJS() && sourceURL && !hasSourceURLComment) {
-      const nodeJSPath = sourceURL;
-      sourceURL = Common.ParsedURL.platformPathToURL(nodeJSPath);
-      sourceURL = this._internString(sourceURL);
-    } else {
-      sourceURL = this._internString(sourceURL);
-    }
+    sourceURL = this._internString(sourceURL);
     const script = new SDK.Script(
         this, scriptId, sourceURL, startLine, startColumn, endLine, endColumn, executionContextId,
         this._internString(hash), isContentScript, isLiveEdit, sourceMapURL, hasSourceURLComment, length,
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/Target.js b/third_party/blink/renderer/devtools/front_end/sdk/Target.js
index d338bda..9ed9f30 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/Target.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/Target.js
@@ -19,7 +19,7 @@
    * @param {boolean} isNodeJS
    */
   constructor(targetManager, id, name, capabilitiesMask, connectionFactory, parentTarget, suspended, isNodeJS) {
-    super(connectionFactory);
+    super(connectionFactory, isNodeJS);
     this._targetManager = targetManager;
     this._name = name;
     this._inspectedURL = '';
@@ -28,7 +28,6 @@
     this._id = id;
     this._modelByConstructor = new Map();
     this._isSuspended = suspended;
-    this._isNodeJS = isNodeJS;
   }
 
   createModels(required) {
@@ -45,17 +44,6 @@
   }
 
   /**
-   * @return {boolean}
-   */
-  isNodeJS() {
-    return this._isNodeJS;
-  }
-
-  markAsNodeJSForTest() {
-    this._isNodeJS = true;
-  }
-
-  /**
    * @return {string}
    */
   id() {
diff --git a/third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope_test.cc b/third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope_test.cc
index 04887c1..ecb7f0e 100644
--- a/third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope_test.cc
+++ b/third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope_test.cc
@@ -262,13 +262,14 @@
 
     ScriptState::Scope scope(script_state);
     global_scope->ScriptController()->Evaluate(ScriptSourceCode(
-        R"JS(
+                                                   R"JS(
             registerAnimator('test', class {
               animate (currentTime, effect) {
                 effect.localTime = 123;
               }
             });
-          )JS"));
+          )JS"),
+                                               kSharableCrossOrigin);
 
     // Passing a new input state with a new animation id should cause the
     // worklet to create and animate an animator.
@@ -307,13 +308,14 @@
 
     ScriptState::Scope scope(script_state);
     global_scope->ScriptController()->Evaluate(ScriptSourceCode(
-        R"JS(
+                                                   R"JS(
             registerAnimator('test', class {
               animate (currentTime, effect) {
                 effect.localTime = 123;
               }
             });
-          )JS"));
+          )JS"),
+                                               kSharableCrossOrigin);
 
     cc::WorkletAnimationId animation_id = {1, 1};
     AnimationWorkletInput state;
@@ -355,13 +357,14 @@
 
     ScriptState::Scope scope(script_state);
     global_scope->ScriptController()->Evaluate(ScriptSourceCode(
-        R"JS(
+                                                   R"JS(
             registerAnimator('test', class {
               animate (currentTime, effect) {
                 effect.localTime = 123;
               }
             });
-          )JS"));
+          )JS"),
+                                               kSharableCrossOrigin);
 
     cc::WorkletAnimationId animation_id = {1, 1};
     AnimationWorkletInput state;
diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_test.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet_test.cc
index a9f8c45c..a58249d1 100644
--- a/third_party/blink/renderer/modules/csspaint/paint_worklet_test.cc
+++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_test.cc
@@ -106,7 +106,8 @@
 TEST_F(PaintWorkletTest, GarbageCollectionOfCSSPaintDefinition) {
   PaintWorkletGlobalScope* global_scope = GetProxy()->global_scope();
   global_scope->ScriptController()->Evaluate(
-      ScriptSourceCode("registerPaint('foo', class { paint() { } });"));
+      ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
+      kSharableCrossOrigin);
 
   CSSPaintDefinition* definition = global_scope->FindDefinition("foo");
   DCHECK(definition);
@@ -147,7 +148,8 @@
 TEST_F(PaintWorkletTest, PaintWithNullPaintArguments) {
   PaintWorkletGlobalScope* global_scope = GetProxy()->global_scope();
   global_scope->ScriptController()->Evaluate(
-      ScriptSourceCode("registerPaint('foo', class { paint() { } });"));
+      ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
+      kSharableCrossOrigin);
 
   CSSPaintDefinition* definition = global_scope->FindDefinition("foo");
   ASSERT_TRUE(definition);
@@ -168,7 +170,8 @@
 TEST_F(PaintWorkletTest, SinglyRegisteredDocumentDefinitionNotUsed) {
   PaintWorkletGlobalScope* global_scope = GetProxy()->global_scope();
   global_scope->ScriptController()->Evaluate(
-      ScriptSourceCode("registerPaint('foo', class { paint() { } });"));
+      ScriptSourceCode("registerPaint('foo', class { paint() { } });"),
+      kSharableCrossOrigin);
 
   CSSPaintImageGeneratorImpl* generator =
       static_cast<CSSPaintImageGeneratorImpl*>(
diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
index 1489cec6..ea4caf3dc 100644
--- a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
+++ b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
@@ -469,9 +469,10 @@
     // > "classic": Fetch a classic worker script given job’s serialized script
     // > url, job’s client, "serviceworker", and the to-be-created environment
     // > settings object for this service worker.
+    // Service worker is origin-bound, so use kSharableCrossOrigin.
     worker_thread_->EvaluateClassicScript(
-        worker_start_data_.script_url, source_code, std::move(cached_meta_data),
-        v8_inspector::V8StackTraceId());
+        worker_start_data_.script_url, kSharableCrossOrigin, source_code,
+        std::move(cached_meta_data), v8_inspector::V8StackTraceId());
   } else {
     // > "module": Fetch a module worker script graph given job’s serialized
     // > script url, job’s client, "serviceworker", "omit", and the
diff --git a/third_party/blink/renderer/modules/filesystem/OWNERS b/third_party/blink/renderer/modules/filesystem/OWNERS
index a4c6d78..373163c 100644
--- a/third_party/blink/renderer/modules/filesystem/OWNERS
+++ b/third_party/blink/renderer/modules/filesystem/OWNERS
@@ -1,3 +1,4 @@
+mek@chromium.org
 jsbell@chromium.org
 kinuko@chromium.org
 pwnall@chromium.org
diff --git a/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.cc b/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.cc
index 2aabdee..ed71550 100644
--- a/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.cc
+++ b/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.cc
@@ -9,6 +9,7 @@
 
 #include "services/network/public/mojom/fetch_api.mojom-blink.h"
 #include "services/network/public/mojom/request_context_frame_type.mojom-blink.h"
+#include "third_party/blink/public/common/blob/blob_utils.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_response.h"
 #include "third_party/blink/public/platform/task_type.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
@@ -287,25 +288,23 @@
       return;
     }
     // Handle the stream response body.
-    mojo::ScopedDataPipeProducerHandle producer;
-    mojo::ScopedDataPipeConsumerHandle consumer;
-    MojoResult result = mojo::CreateDataPipe(nullptr, &producer, &consumer);
-    if (result != MOJO_RESULT_OK) {
+    mojo::DataPipe pipe(BlobUtils::GetDataPipeCapacity());
+    if (!pipe.consumer_handle.is_valid()) {
       OnResponseRejected(ServiceWorkerResponseError::kDataPipeCreationFailed);
       return;
     }
-    DCHECK(producer.is_valid());
-    DCHECK(consumer.is_valid());
+    DCHECK(pipe.producer_handle.is_valid());
 
     std::unique_ptr<WebServiceWorkerStreamHandle> body_stream_handle =
-        std::make_unique<WebServiceWorkerStreamHandle>(std::move(consumer));
+        std::make_unique<WebServiceWorkerStreamHandle>(
+            std::move(pipe.consumer_handle));
     ServiceWorkerGlobalScopeClient::From(GetExecutionContext())
         ->RespondToFetchEventWithResponseStream(event_id_, web_response,
                                                 body_stream_handle.get(),
                                                 event_dispatch_time_);
 
     buffer->StartLoading(FetchDataLoader::CreateLoaderAsDataPipe(
-                             std::move(producer), task_runner_),
+                             std::move(pipe.producer_handle), task_runner_),
                          new FetchLoaderClient(std::move(body_stream_handle)),
                          exception_state);
     if (exception_state.HadException()) {
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_client.cc b/third_party/blink/renderer/modules/service_worker/service_worker_client.cc
index 959f27b..cb30ae7b 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_client.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_client.cc
@@ -120,7 +120,7 @@
     return;
 
   ServiceWorkerGlobalScopeClient::From(context)->PostMessageToClient(
-      uuid_, ToTransferableMessage(std::move(msg)));
+      uuid_, std::move(msg));
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_clients.cc b/third_party/blink/renderer/modules/service_worker/service_worker_clients.cc
index 662f0e1a..4ae4923 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_clients.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_clients.cc
@@ -11,7 +11,6 @@
 #include "base/memory/ptr_util.h"
 #include "base/memory/scoped_refptr.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_client.mojom-blink.h"
-#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_client_query_options.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_clients_info.h"
 #include "third_party/blink/renderer/bindings/core/v8/callback_promise_adapter.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
@@ -130,14 +129,13 @@
   ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
   ScriptPromise promise = resolver->Promise();
 
-  WebServiceWorkerClientQueryOptions web_options;
-  web_options.client_type = GetClientType(options.type());
-  web_options.include_uncontrolled = options.includeUncontrolled();
   ServiceWorkerGlobalScopeClient::From(execution_context)
-      ->GetClients(web_options,
-                   std::make_unique<
-                       CallbackPromiseAdapter<ClientArray, ServiceWorkerError>>(
-                       resolver));
+      ->GetClients(
+          mojom::blink::ServiceWorkerClientQueryOptions::New(
+              options.includeUncontrolled(), GetClientType(options.type())),
+          std::make_unique<
+              CallbackPromiseAdapter<ClientArray, ServiceWorkerError>>(
+              resolver));
   return promise;
 }
 
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
index 077b0eb8..6a45a51 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
@@ -116,6 +116,7 @@
 
 void ServiceWorkerGlobalScope::EvaluateClassicScript(
     const KURL& script_url,
+    AccessControlStatus access_control_status,
     String source_code,
     std::unique_ptr<Vector<char>> cached_meta_data) {
   DCHECK(IsContextThread());
@@ -123,8 +124,8 @@
   if (!evaluate_script_ready_) {
     evaluate_script_ =
         WTF::Bind(&ServiceWorkerGlobalScope::EvaluateClassicScript,
-                  WrapWeakPersistent(this), script_url, std::move(source_code),
-                  std::move(cached_meta_data));
+                  WrapWeakPersistent(this), script_url, access_control_status,
+                  std::move(source_code), std::move(cached_meta_data));
     return;
   }
 
@@ -164,7 +165,8 @@
     ReportingProxy().DidLoadInstalledScript();
   }
 
-  WorkerGlobalScope::EvaluateClassicScript(script_url, source_code,
+  WorkerGlobalScope::EvaluateClassicScript(script_url, access_control_status,
+                                           source_code,
                                            std::move(cached_meta_data));
 }
 
@@ -181,6 +183,13 @@
                     new WorkerModuleTreeClient(modulator));
 }
 
+void ServiceWorkerGlobalScope::Dispose() {
+  DCHECK(IsContextThread());
+  ServiceWorkerGlobalScopeClient::From(GetExecutionContext())
+      ->WillDestroyWorkerContext();
+  WorkerGlobalScope::Dispose();
+}
+
 void ServiceWorkerGlobalScope::CountWorkerScript(size_t script_size,
                                                  size_t cached_metadata_size) {
   DEFINE_THREAD_SAFE_STATIC_LOCAL(
@@ -261,6 +270,12 @@
   return promise;
 }
 
+void ServiceWorkerGlobalScope::BindServiceWorkerHost(
+    mojom::blink::ServiceWorkerHostAssociatedPtrInfo service_worker_host) {
+  ServiceWorkerGlobalScopeClient::From(GetExecutionContext())
+      ->BindServiceWorkerHost(std::move(service_worker_host));
+}
+
 void ServiceWorkerGlobalScope::SetRegistration(
     std::unique_ptr<WebServiceWorkerRegistration::Handle> handle) {
   if (!GetExecutionContext())
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
index f00b656..8738cff 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
@@ -31,6 +31,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_SERVICE_WORKER_GLOBAL_SCOPE_H_
 
 #include <memory>
+#include "third_party/blink/public/mojom/service_worker/service_worker.mojom-blink.h"
 #include "third_party/blink/public/platform/modules/cache_storage/cache_storage.mojom-blink.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_registration.h"
 #include "third_party/blink/renderer/bindings/core/v8/request_or_usv_string.h"
@@ -70,12 +71,14 @@
   // Implements WorkerGlobalScope.
   void EvaluateClassicScript(
       const KURL& script_url,
+      AccessControlStatus access_control_status,
       String source_code,
       std::unique_ptr<Vector<char>> cached_meta_data) override;
   void ImportModuleScript(
       const KURL& module_url_record,
       FetchClientSettingsObjectSnapshot* outside_settings_object,
       network::mojom::FetchCredentialsMode) override;
+  void Dispose() override;
 
   // Counts an evaluated script and its size. Called for the main worker script.
   void CountWorkerScript(size_t script_size, size_t cached_metadata_size);
@@ -98,6 +101,8 @@
 
   ScriptPromise skipWaiting(ScriptState*);
 
+  void BindServiceWorkerHost(mojom::blink::ServiceWorkerHostAssociatedPtrInfo);
+
   void SetRegistration(std::unique_ptr<WebServiceWorkerRegistration::Handle>);
 
   // EventTarget
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.cc
index ae17974..58c02a2 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.cc
@@ -33,51 +33,223 @@
 #include <memory>
 #include <utility>
 #include "third_party/blink/public/platform/modules/payments/web_payment_handler_response.h"
+#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_error.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_response.h"
-#include "third_party/blink/public/platform/web_url.h"
 #include "third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/fetch/response.h"
 #include "third_party/blink/renderer/core/workers/worker_global_scope.h"
+#include "third_party/blink/renderer/platform/wtf/vector.h"
 
 namespace blink {
 
+namespace {
+
+// TODO(leonhsl): Remove this function, pass ServiceWorkerClientInfoPtr through
+// to replace WebServiceWorkerClientInfo.
+blink::WebServiceWorkerClientInfo ToWebServiceWorkerClientInfo(
+    mojom::blink::ServiceWorkerClientInfoPtr client_info) {
+  DCHECK(!client_info->client_uuid.IsEmpty());
+
+  blink::WebServiceWorkerClientInfo web_client_info;
+
+  web_client_info.uuid = client_info->client_uuid;
+  web_client_info.page_visibility_state = client_info->page_visibility_state;
+  web_client_info.is_focused = client_info->is_focused;
+  web_client_info.url = client_info->url;
+  web_client_info.frame_type = client_info->frame_type;
+  web_client_info.client_type = client_info->client_type;
+
+  return web_client_info;
+}
+
+void DidGetClient(
+    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
+    mojom::blink::ServiceWorkerClientInfoPtr client) {
+  std::unique_ptr<blink::WebServiceWorkerClientInfo> web_client;
+  if (client) {
+    web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
+        ToWebServiceWorkerClientInfo(std::move(client)));
+  }
+  callbacks->OnSuccess(std::move(web_client));
+}
+
+void DidGetClients(
+    std::unique_ptr<blink::WebServiceWorkerClientsCallbacks> callbacks,
+    Vector<mojom::blink::ServiceWorkerClientInfoPtr> clients) {
+  blink::WebServiceWorkerClientsInfo info;
+  blink::WebVector<blink::WebServiceWorkerClientInfo> web_clients(
+      clients.size());
+  for (size_t i = 0; i < clients.size(); ++i)
+    web_clients[i] = ToWebServiceWorkerClientInfo(std::move(clients[i]));
+  info.clients.Swap(web_clients);
+  callbacks->OnSuccess(info);
+}
+
+void DidOpenWindow(
+    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
+    bool success,
+    mojom::blink::ServiceWorkerClientInfoPtr client,
+    const String& error_msg) {
+  if (!success) {
+    DCHECK(!client);
+    DCHECK(!error_msg.IsNull());
+    callbacks->OnError(blink::WebServiceWorkerError(
+        mojom::blink::ServiceWorkerErrorType::kNavigation, error_msg));
+    return;
+  }
+
+  std::unique_ptr<blink::WebServiceWorkerClientInfo> web_client;
+  if (client) {
+    web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
+        ToWebServiceWorkerClientInfo(std::move(client)));
+  }
+  callbacks->OnSuccess(std::move(web_client));
+}
+
+void DidFocusClient(
+    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
+    mojom::blink::ServiceWorkerClientInfoPtr client) {
+  if (!client) {
+    callbacks->OnError(blink::WebServiceWorkerError(
+        mojom::blink::ServiceWorkerErrorType::kNotFound,
+        "The client was not found."));
+    return;
+  }
+  auto web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
+      ToWebServiceWorkerClientInfo(std::move(client)));
+  callbacks->OnSuccess(std::move(web_client));
+}
+
+void DidNavigateClient(
+    std::unique_ptr<blink::WebServiceWorkerClientCallbacks> callbacks,
+    bool success,
+    mojom::blink::ServiceWorkerClientInfoPtr client,
+    const String& error_msg) {
+  if (!success) {
+    DCHECK(!client);
+    DCHECK(!error_msg.IsNull());
+    callbacks->OnError(blink::WebServiceWorkerError(
+        mojom::blink::ServiceWorkerErrorType::kNavigation, error_msg));
+    return;
+  }
+
+  std::unique_ptr<blink::WebServiceWorkerClientInfo> web_client;
+  if (client) {
+    web_client = std::make_unique<blink::WebServiceWorkerClientInfo>(
+        ToWebServiceWorkerClientInfo(std::move(client)));
+  }
+  callbacks->OnSuccess(std::move(web_client));
+}
+
+void DidSkipWaiting(
+    std::unique_ptr<blink::WebServiceWorkerSkipWaitingCallbacks> callbacks,
+    bool success) {
+  // OnError() should not be called here since per spec the promise returned by
+  // skipWaiting() can never reject.
+  if (!success)
+    return;
+  callbacks->OnSuccess();
+}
+
+void DidClaimClients(
+    std::unique_ptr<blink::WebServiceWorkerClientsClaimCallbacks> callbacks,
+    mojom::blink::ServiceWorkerErrorType error,
+    const String& error_msg) {
+  if (error != blink::mojom::ServiceWorkerErrorType::kNone) {
+    DCHECK(!error_msg.IsNull());
+    callbacks->OnError(blink::WebServiceWorkerError(error, error_msg));
+    return;
+  }
+  DCHECK(error_msg.IsNull());
+  callbacks->OnSuccess();
+}
+
+}  // namespace
+
 ServiceWorkerGlobalScopeClient::ServiceWorkerGlobalScopeClient(
     WebServiceWorkerContextClient& client)
     : client_(client) {}
 
 void ServiceWorkerGlobalScopeClient::GetClient(
-    const WebString& id,
+    const String& id,
     std::unique_ptr<WebServiceWorkerClientCallbacks> callbacks) {
-  client_.GetClient(id, std::move(callbacks));
+  DCHECK(callbacks);
+  service_worker_host_->GetClient(
+      id, WTF::Bind(&DidGetClient, std::move(callbacks)));
 }
 
 void ServiceWorkerGlobalScopeClient::GetClients(
-    const WebServiceWorkerClientQueryOptions& options,
+    mojom::blink::ServiceWorkerClientQueryOptionsPtr options,
     std::unique_ptr<WebServiceWorkerClientsCallbacks> callbacks) {
-  client_.GetClients(options, std::move(callbacks));
+  DCHECK(callbacks);
+  service_worker_host_->GetClients(
+      std::move(options), WTF::Bind(&DidGetClients, std::move(callbacks)));
 }
 
 void ServiceWorkerGlobalScopeClient::OpenWindowForClients(
-    const WebURL& url,
+    const KURL& url,
     std::unique_ptr<WebServiceWorkerClientCallbacks> callbacks) {
-  client_.OpenNewTab(url, std::move(callbacks));
+  DCHECK(callbacks);
+  service_worker_host_->OpenNewTab(
+      url, WTF::Bind(&DidOpenWindow, std::move(callbacks)));
 }
 
 void ServiceWorkerGlobalScopeClient::OpenWindowForPaymentHandler(
-    const WebURL& url,
+    const KURL& url,
     std::unique_ptr<WebServiceWorkerClientCallbacks> callbacks) {
-  client_.OpenPaymentHandlerWindow(url, std::move(callbacks));
+  DCHECK(callbacks);
+  service_worker_host_->OpenPaymentHandlerWindow(
+      url, WTF::Bind(&DidOpenWindow, std::move(callbacks)));
 }
 
-void ServiceWorkerGlobalScopeClient::SetCachedMetadata(const WebURL& url,
+void ServiceWorkerGlobalScopeClient::SetCachedMetadata(const KURL& url,
                                                        const char* data,
                                                        size_t size) {
-  client_.SetCachedMetadata(url, data, size);
+  Vector<uint8_t> meta_data;
+  meta_data.Append(data, size);
+  service_worker_host_->SetCachedMetadata(url, meta_data);
 }
 
-void ServiceWorkerGlobalScopeClient::ClearCachedMetadata(const WebURL& url) {
-  client_.ClearCachedMetadata(url);
+void ServiceWorkerGlobalScopeClient::ClearCachedMetadata(const KURL& url) {
+  service_worker_host_->ClearCachedMetadata(url);
+}
+
+void ServiceWorkerGlobalScopeClient::PostMessageToClient(
+    const String& client_uuid,
+    BlinkTransferableMessage message) {
+  service_worker_host_->PostMessageToClient(client_uuid, std::move(message));
+}
+
+void ServiceWorkerGlobalScopeClient::SkipWaiting(
+    std::unique_ptr<WebServiceWorkerSkipWaitingCallbacks> callbacks) {
+  DCHECK(callbacks);
+  service_worker_host_->SkipWaiting(
+      WTF::Bind(&DidSkipWaiting, std::move(callbacks)));
+}
+
+void ServiceWorkerGlobalScopeClient::Claim(
+    std::unique_ptr<WebServiceWorkerClientsClaimCallbacks> callbacks) {
+  DCHECK(callbacks);
+  service_worker_host_->ClaimClients(
+      WTF::Bind(&DidClaimClients, std::move(callbacks)));
+}
+
+void ServiceWorkerGlobalScopeClient::Focus(
+    const String& client_uuid,
+    std::unique_ptr<WebServiceWorkerClientCallbacks> callbacks) {
+  DCHECK(callbacks);
+  service_worker_host_->FocusClient(
+      client_uuid, WTF::Bind(&DidFocusClient, std::move(callbacks)));
+}
+
+void ServiceWorkerGlobalScopeClient::Navigate(
+    const String& client_uuid,
+    const KURL& url,
+    std::unique_ptr<WebServiceWorkerClientCallbacks> callbacks) {
+  DCHECK(callbacks);
+  service_worker_host_->NavigateClient(
+      client_uuid, url, WTF::Bind(&DidNavigateClient, std::move(callbacks)));
 }
 
 void ServiceWorkerGlobalScopeClient::DidHandleActivateEvent(
@@ -247,33 +419,15 @@
                                        event_dispatch_time);
 }
 
-void ServiceWorkerGlobalScopeClient::PostMessageToClient(
-    const WebString& client_uuid,
-    TransferableMessage message) {
-  client_.PostMessageToClient(client_uuid, std::move(message));
+void ServiceWorkerGlobalScopeClient::BindServiceWorkerHost(
+    mojom::blink::ServiceWorkerHostAssociatedPtrInfo service_worker_host) {
+  DCHECK(service_worker_host.is_valid());
+  DCHECK(!service_worker_host_);
+  service_worker_host_.Bind(std::move(service_worker_host));
 }
 
-void ServiceWorkerGlobalScopeClient::SkipWaiting(
-    std::unique_ptr<WebServiceWorkerSkipWaitingCallbacks> callbacks) {
-  client_.SkipWaiting(std::move(callbacks));
-}
-
-void ServiceWorkerGlobalScopeClient::Claim(
-    std::unique_ptr<WebServiceWorkerClientsClaimCallbacks> callbacks) {
-  client_.Claim(std::move(callbacks));
-}
-
-void ServiceWorkerGlobalScopeClient::Focus(
-    const WebString& client_uuid,
-    std::unique_ptr<WebServiceWorkerClientCallbacks> callback) {
-  client_.Focus(client_uuid, std::move(callback));
-}
-
-void ServiceWorkerGlobalScopeClient::Navigate(
-    const WebString& client_uuid,
-    const WebURL& url,
-    std::unique_ptr<WebServiceWorkerClientCallbacks> callback) {
-  client_.Navigate(client_uuid, url, std::move(callback));
+void ServiceWorkerGlobalScopeClient::WillDestroyWorkerContext() {
+  service_worker_host_.reset();
 }
 
 const char ServiceWorkerGlobalScopeClient::kSupplementName[] =
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.h
index d6b8b7f..593467d4 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_client.h
@@ -35,6 +35,7 @@
 
 #include "base/macros.h"
 #include "third_party/blink/public/common/messaging/transferable_message.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker.mojom-blink.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom-blink.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_clients_claim_callbacks.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_clients_info.h"
@@ -43,21 +44,21 @@
 #include "third_party/blink/renderer/core/messaging/message_port.h"
 #include "third_party/blink/renderer/core/workers/worker_clients.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
 namespace blink {
 
 struct WebPaymentHandlerResponse;
-struct WebServiceWorkerClientQueryOptions;
 class ExecutionContext;
 class WebServiceWorkerContextClient;
 class WebServiceWorkerResponse;
-class WebURL;
+class KURL;
 class WorkerClients;
 
 // See WebServiceWorkerContextClient for documentation for the methods in this
 // class.
-class MODULES_EXPORT ServiceWorkerGlobalScopeClient
-    : public GarbageCollected<ServiceWorkerGlobalScopeClient>,
+class MODULES_EXPORT ServiceWorkerGlobalScopeClient final
+    : public GarbageCollectedFinalized<ServiceWorkerGlobalScopeClient>,
       public Supplement<WorkerClients> {
   USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerGlobalScopeClient);
 
@@ -67,17 +68,25 @@
   explicit ServiceWorkerGlobalScopeClient(WebServiceWorkerContextClient&);
 
   // Called from ServiceWorkerClients.
-  void GetClient(const WebString&,
+  void GetClient(const String&,
                  std::unique_ptr<WebServiceWorkerClientCallbacks>);
-  void GetClients(const WebServiceWorkerClientQueryOptions&,
+  void GetClients(mojom::blink::ServiceWorkerClientQueryOptionsPtr,
                   std::unique_ptr<WebServiceWorkerClientsCallbacks>);
-  void OpenWindowForClients(const WebURL&,
+  void OpenWindowForClients(const KURL&,
                             std::unique_ptr<WebServiceWorkerClientCallbacks>);
   void OpenWindowForPaymentHandler(
-      const WebURL&,
+      const KURL&,
       std::unique_ptr<WebServiceWorkerClientCallbacks>);
-  void SetCachedMetadata(const WebURL&, const char*, size_t);
-  void ClearCachedMetadata(const WebURL&);
+  void SetCachedMetadata(const KURL&, const char*, size_t);
+  void ClearCachedMetadata(const KURL&);
+  void PostMessageToClient(const String& client_uuid, BlinkTransferableMessage);
+  void SkipWaiting(std::unique_ptr<WebServiceWorkerSkipWaitingCallbacks>);
+  void Claim(std::unique_ptr<WebServiceWorkerClientsClaimCallbacks>);
+  void Focus(const String& client_uuid,
+             std::unique_ptr<WebServiceWorkerClientCallbacks>);
+  void Navigate(const String& client_uuid,
+                const KURL&,
+                std::unique_ptr<WebServiceWorkerClientCallbacks>);
 
   void DidHandleActivateEvent(int event_id,
                               mojom::ServiceWorkerEventStatus,
@@ -145,14 +154,11 @@
   void DidHandlePaymentRequestEvent(int payment_request_event_id,
                                     mojom::ServiceWorkerEventStatus,
                                     double event_dispatch_time);
-  void PostMessageToClient(const WebString& client_uuid, TransferableMessage);
-  void SkipWaiting(std::unique_ptr<WebServiceWorkerSkipWaitingCallbacks>);
-  void Claim(std::unique_ptr<WebServiceWorkerClientsClaimCallbacks>);
-  void Focus(const WebString& client_uuid,
-             std::unique_ptr<WebServiceWorkerClientCallbacks>);
-  void Navigate(const WebString& client_uuid,
-                const WebURL&,
-                std::unique_ptr<WebServiceWorkerClientCallbacks>);
+
+  void BindServiceWorkerHost(
+      mojom::blink::ServiceWorkerHostAssociatedPtrInfo service_worker_host);
+
+  void WillDestroyWorkerContext();
 
   static ServiceWorkerGlobalScopeClient* From(ExecutionContext*);
 
@@ -161,6 +167,12 @@
  private:
   WebServiceWorkerContextClient& client_;
 
+  // Lives on the service worker thread, is bound by BindServiceWorkerHost()
+  // which is triggered by the first Mojo call received on the service worker
+  // thread content::mojom::ServiceWorker::InitializeGlobalScope(), and is
+  // closed by WillDestroyWorkerContext().
+  mojom::blink::ServiceWorkerHostAssociatedPtr service_worker_host_;
+
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerGlobalScopeClient);
 };
 
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
index e6a8d2b..1f91d168 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
@@ -182,8 +182,13 @@
   visitor->Trace(parent_execution_context_task_runners_);
 }
 
-void ServiceWorkerGlobalScopeProxy::ReadyToEvaluateScript() {
-  WorkerGlobalScope()->ReadyToEvaluateScript();
+void ServiceWorkerGlobalScopeProxy::BindServiceWorkerHost(
+    mojo::ScopedInterfaceEndpointHandle service_worker_host) {
+  DCHECK(WorkerGlobalScope()->IsContextThread());
+  WorkerGlobalScope()->BindServiceWorkerHost(
+      mojom::blink::ServiceWorkerHostAssociatedPtrInfo(
+          std::move(service_worker_host),
+          mojom::blink::ServiceWorkerHost::Version_));
 }
 
 void ServiceWorkerGlobalScopeProxy::SetRegistration(
@@ -192,6 +197,10 @@
   WorkerGlobalScope()->SetRegistration(std::move(handle));
 }
 
+void ServiceWorkerGlobalScopeProxy::ReadyToEvaluateScript() {
+  WorkerGlobalScope()->ReadyToEvaluateScript();
+}
+
 void ServiceWorkerGlobalScopeProxy::DispatchBackgroundFetchAbortEvent(
     int event_id,
     const WebBackgroundFetchRegistration& registration) {
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
index 21491661..ac4863e 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
@@ -77,9 +77,13 @@
   ~ServiceWorkerGlobalScopeProxy() override;
 
   // WebServiceWorkerContextProxy overrides:
-  void ReadyToEvaluateScript() override;
+  void BindServiceWorkerHost(
+      mojo::ScopedInterfaceEndpointHandle service_worker_host) override;
   void SetRegistration(
       std::unique_ptr<WebServiceWorkerRegistration::Handle>) override;
+  // Must be called after the above BindServiceWorkerHost() and
+  // SetRegistration() got called.
+  void ReadyToEvaluateScript() override;
   void DispatchActivateEvent(int) override;
   void DispatchBackgroundFetchAbortEvent(
       int event_id,
diff --git a/third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc b/third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc
index 7a29b91..a4431d2b 100644
--- a/third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc
+++ b/third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc
@@ -64,43 +64,6 @@
     return std::unique_ptr<WebServiceWorkerProvider>(
         CreateServiceWorkerProviderProxy());
   }
-  void GetClient(const WebString&,
-                 std::unique_ptr<WebServiceWorkerClientCallbacks>) override {
-    NOTREACHED();
-  }
-  void GetClients(const WebServiceWorkerClientQueryOptions&,
-                  std::unique_ptr<WebServiceWorkerClientsCallbacks>) override {
-    NOTREACHED();
-  }
-  void OpenNewTab(const WebURL&,
-                  std::unique_ptr<WebServiceWorkerClientCallbacks>) override {
-    NOTREACHED();
-  }
-  void OpenPaymentHandlerWindow(
-      const WebURL&,
-      std::unique_ptr<WebServiceWorkerClientCallbacks>) override {
-    NOTREACHED();
-  }
-  void PostMessageToClient(const WebString& uuid,
-                           TransferableMessage) override {
-    NOTREACHED();
-  }
-  void SkipWaiting(
-      std::unique_ptr<WebServiceWorkerSkipWaitingCallbacks>) override {
-    NOTREACHED();
-  }
-  void Claim(std::unique_ptr<WebServiceWorkerClientsClaimCallbacks>) override {
-    NOTREACHED();
-  }
-  void Focus(const WebString& uuid,
-             std::unique_ptr<WebServiceWorkerClientCallbacks>) override {
-    NOTREACHED();
-  }
-  void Navigate(const WebString& uuid,
-                const WebURL&,
-                std::unique_ptr<WebServiceWorkerClientCallbacks>) override {
-    NOTREACHED();
-  }
   void WorkerContextDestroyed() override { termination_event_.Signal(); }
 
   void WaitUntilScriptEvaluated() { script_evaluated_event_.Wait(); }
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
index 78bb325..f06cfa4 100644
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -484,7 +484,11 @@
   DCHECK(IsMainThread());
   DCHECK(audio_context_manager_);
 
-  audio_context_manager_->AudioContextAudiblePlaybackStopped(context_id_);
+  // If we don't have a document, we don't need to notify anyone that we've
+  // stopped.
+  if (GetDocument()) {
+    audio_context_manager_->AudioContextAudiblePlaybackStopped(context_id_);
+  }
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/fonts/font.cc b/third_party/blink/renderer/platform/fonts/font.cc
index 4acff51..def231a9 100644
--- a/third_party/blink/renderer/platform/fonts/font.cc
+++ b/third_party/blink/renderer/platform/fonts/font.cc
@@ -255,11 +255,9 @@
     return;
 
   ShapeResultBloberizer bloberizer(*this, device_scale_factor);
-  // TODO(layout-dev): This should either not take a direction argument or we
-  // need to plumb the proper one through. I don't think we need it.
-  bloberizer.FillTextEmphasisGlyphs(
-      text_info.text, TextDirection::kLtr, text_info.from, text_info.to,
-      emphasis_glyph_data, text_info.shape_result);
+  bloberizer.FillTextEmphasisGlyphs(text_info.text, text_info.from,
+                                    text_info.to, emphasis_glyph_data,
+                                    text_info.shape_result);
   DrawBlobs(canvas, flags, bloberizer.Blobs(), point);
 }
 
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
index 3788c84..b39e912 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
@@ -710,6 +710,105 @@
   return total_advance;
 }
 
+namespace {
+
+inline unsigned CountGraphemesInCluster(const UChar* str,
+                                        unsigned str_length,
+                                        uint16_t start_index,
+                                        uint16_t end_index) {
+  if (start_index > end_index)
+    std::swap(start_index, end_index);
+  uint16_t length = end_index - start_index;
+  DCHECK_LE(static_cast<unsigned>(start_index + length), str_length);
+  TextBreakIterator* cursor_pos_iterator =
+      CursorMovementIterator(&str[start_index], length);
+
+  int cursor_pos = cursor_pos_iterator->current();
+  int num_graphemes = -1;
+  while (0 <= cursor_pos) {
+    cursor_pos = cursor_pos_iterator->next();
+    num_graphemes++;
+  }
+  return std::max(0, num_graphemes);
+}
+
+}  // anonymous namespace
+
+float ShapeResult::ForEachGraphemeClusters(const StringView& text,
+                                           float initial_advance,
+                                           unsigned from,
+                                           unsigned to,
+                                           unsigned index_offset,
+                                           GraphemeClusterCallback callback,
+                                           void* context) const {
+  unsigned run_offset = index_offset;
+  float advance_so_far = initial_advance;
+  for (const auto& run : runs_) {
+    unsigned graphemes_in_cluster = 1;
+    float cluster_advance = 0;
+
+    // FIXME: should this be run->direction_?
+    bool rtl = Direction() == TextDirection::kRtl;
+
+    // A "cluster" in this context means a cluster as it is used by HarfBuzz:
+    // The minimal group of characters and corresponding glyphs, that cannot be
+    // broken down further from a text shaping point of view.  A cluster can
+    // contain multiple glyphs and grapheme clusters, with mutually overlapping
+    // boundaries.
+    uint16_t cluster_start = static_cast<uint16_t>(
+        rtl ? run->start_index_ + run->num_characters_ + run_offset
+            : run->GlyphToCharacterIndex(0) + run_offset);
+
+    const unsigned num_glyphs = run->glyph_data_.size();
+    for (unsigned i = 0; i < num_glyphs; ++i) {
+      const HarfBuzzRunGlyphData& glyph_data = run->glyph_data_[i];
+      uint16_t current_character_index =
+          run->start_index_ + glyph_data.character_index + run_offset;
+      bool is_run_end = (i + 1 == num_glyphs);
+      bool is_cluster_end =
+          is_run_end || (run->GlyphToCharacterIndex(i + 1) + run_offset !=
+                         current_character_index);
+
+      if ((rtl && current_character_index >= to) ||
+          (!rtl && current_character_index < from)) {
+        advance_so_far += glyph_data.advance;
+        rtl ? --cluster_start : ++cluster_start;
+        continue;
+      }
+
+      cluster_advance += glyph_data.advance;
+
+      if (text.Is8Bit()) {
+        callback(context, current_character_index, advance_so_far, 1,
+                 glyph_data.advance, run->canvas_rotation_);
+
+        advance_so_far += glyph_data.advance;
+      } else if (is_cluster_end) {
+        uint16_t cluster_end;
+        if (rtl) {
+          cluster_end = current_character_index;
+        } else {
+          cluster_end = static_cast<uint16_t>(
+              is_run_end ? run->start_index_ + run->num_characters_ + run_offset
+                         : run->GlyphToCharacterIndex(i + 1) + run_offset);
+        }
+        graphemes_in_cluster = CountGraphemesInCluster(
+            text.Characters16(), text.length(), cluster_start, cluster_end);
+        if (!graphemes_in_cluster || !cluster_advance)
+          continue;
+
+        callback(context, current_character_index, advance_so_far,
+                 graphemes_in_cluster, cluster_advance, run->canvas_rotation_);
+        advance_so_far += cluster_advance;
+
+        cluster_start = cluster_end;
+        cluster_advance = 0;
+      }
+    }
+  }
+  return advance_so_far;
+}
+
 // TODO(kojii): VC2015 fails to explicit instantiation of a member function.
 // Typed functions + this private function are to instantiate instances.
 template <typename TextContainerType>
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result.h
index c157513d..2716bf6b 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.h
@@ -97,6 +97,13 @@
                               CanvasRotationInVertical,
                               const SimpleFontData*);
 
+typedef void (*GraphemeClusterCallback)(void* context,
+                                        unsigned character_index,
+                                        float total_advance,
+                                        unsigned graphemes_in_cluster,
+                                        float cluster_advance,
+                                        CanvasRotationInVertical);
+
 class PLATFORM_EXPORT ShapeResult : public RefCounted<ShapeResult> {
  public:
   static scoped_refptr<ShapeResult> Create(const Font* font,
@@ -258,6 +265,21 @@
                      GlyphCallback,
                      void* context) const;
 
+  // Iterates over, and calls the specified callback function, for all the
+  // grapheme clusters. As ShapeResuls do not contain the original text content
+  // a StringView with the text must be supplied and must match the text that
+  // was used generate the ShapeResult.
+  // Also tracks (and returns) a seeded total advance.
+  // The context parameter will be given as the first parameter for the callback
+  // function.
+  float ForEachGraphemeClusters(const StringView& text,
+                                float initial_advance,
+                                unsigned from,
+                                unsigned to,
+                                unsigned index_offset,
+                                GraphemeClusterCallback,
+                                void* context) const;
+
   String ToString() const;
   void ToString(StringBuilder*) const;
 
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc
index f3b38f9f..d9dc728 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.cc
@@ -8,7 +8,6 @@
 #include "third_party/blink/renderer/platform/fonts/font.h"
 #include "third_party/blink/renderer/platform/fonts/shaping/caching_word_shaper.h"
 #include "third_party/blink/renderer/platform/fonts/shaping/shape_result.h"
-#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h"
 #include "third_party/blink/renderer/platform/fonts/text_run_paint_info.h"
 #include "third_party/blink/renderer/platform/text/text_break_iterator.h"
 #include "third_party/blink/renderer/platform/text/text_run.h"
@@ -123,45 +122,6 @@
   return FillGlyphsForResult(result, text, from, to, advance, word_offset);
 }
 
-void ShapeResultBloberizer::FillTextEmphasisGlyphs(
-    const TextRunPaintInfo& run_info,
-    const GlyphData& emphasis_data,
-    const ShapeResultBuffer& result_buffer) {
-  float advance = 0;
-  unsigned word_offset = run_info.run.Rtl() ? run_info.run.length() : 0;
-  auto results = result_buffer.results_;
-
-  for (unsigned j = 0; j < results.size(); j++) {
-    unsigned resolved_index = run_info.run.Rtl() ? results.size() - 1 - j : j;
-    const scoped_refptr<const ShapeResult>& word_result = results[resolved_index];
-    for (unsigned i = 0; i < word_result->runs_.size(); i++) {
-      unsigned resolved_offset =
-          word_offset - (run_info.run.Rtl() ? word_result->NumCharacters() : 0);
-      advance += FillTextEmphasisGlyphsForRun(
-          word_result->runs_[i].get(), run_info.run.ToStringView(),
-          run_info.run.CharactersLength(), run_info.run.Direction(),
-          run_info.from, run_info.to, emphasis_data, advance, resolved_offset);
-    }
-    word_offset += word_result->NumCharacters() * (run_info.run.Rtl() ? -1 : 1);
-  }
-}
-
-void ShapeResultBloberizer::FillTextEmphasisGlyphs(const StringView& text,
-                                                   TextDirection direction,
-                                                   unsigned from,
-                                                   unsigned to,
-                                                   const GlyphData& emphasis,
-                                                   const ShapeResult* result) {
-  float advance = 0;
-  unsigned offset = 0;
-
-  for (unsigned i = 0; i < result->runs_.size(); i++) {
-    advance += FillTextEmphasisGlyphsForRun(result->runs_[i].get(), text,
-                                            text.length(), direction, from, to,
-                                            emphasis, advance, offset);
-  }
-}
-
 namespace {
 
 inline bool IsSkipInkException(const ShapeResultBloberizer& bloberizer,
@@ -199,29 +159,6 @@
   }
 }
 
-inline unsigned CountGraphemesInCluster(const UChar* str,
-                                        unsigned str_length,
-                                        uint16_t start_index,
-                                        uint16_t end_index) {
-  if (start_index > end_index) {
-    uint16_t temp_index = start_index;
-    start_index = end_index;
-    end_index = temp_index;
-  }
-  uint16_t length = end_index - start_index;
-  DCHECK_LE(static_cast<unsigned>(start_index + length), str_length);
-  TextBreakIterator* cursor_pos_iterator =
-      CursorMovementIterator(&str[start_index], length);
-
-  int cursor_pos = cursor_pos_iterator->current();
-  int num_graphemes = -1;
-  while (0 <= cursor_pos) {
-    cursor_pos = cursor_pos_iterator->next();
-    num_graphemes++;
-  }
-  return std::max(0, num_graphemes);
-}
-
 class GlyphCallbackContext {
   WTF_MAKE_NONCOPYABLE(GlyphCallbackContext);
   STACK_ALLOCATED();
@@ -268,8 +205,102 @@
                   advance + glyph_offset.Width());
 }
 
+class ClusterCallbackContext {
+  WTF_MAKE_NONCOPYABLE(ClusterCallbackContext);
+  STACK_ALLOCATED();
+
+ public:
+  ShapeResultBloberizer* bloberizer;
+  const StringView& text;
+  const GlyphData& emphasis_data;
+  FloatPoint glyph_center;
+};
+
+void AddEmphasisMarkToBloberizer(void* context,
+                                 unsigned character_index,
+                                 float advance_so_far,
+                                 unsigned graphemes_in_cluster,
+                                 float cluster_advance,
+                                 CanvasRotationInVertical canvas_rotation) {
+  ClusterCallbackContext* parsed_context =
+      static_cast<ClusterCallbackContext*>(context);
+  ShapeResultBloberizer* bloberizer = parsed_context->bloberizer;
+  const StringView& text = parsed_context->text;
+  const GlyphData& emphasis_data = parsed_context->emphasis_data;
+  FloatPoint glyph_center = parsed_context->glyph_center;
+
+  if (text.Is8Bit()) {
+    if (Character::CanReceiveTextEmphasis(text[character_index])) {
+      AddEmphasisMark(*bloberizer, emphasis_data, canvas_rotation, glyph_center,
+                      advance_so_far + cluster_advance / 2);
+    }
+  } else {
+    float glyph_advance_x = cluster_advance / graphemes_in_cluster;
+    for (unsigned j = 0; j < graphemes_in_cluster; ++j) {
+      // Do not put emphasis marks on space, separator, and control
+      // characters.
+      if (Character::CanReceiveTextEmphasis(text[character_index])) {
+        AddEmphasisMark(*bloberizer, emphasis_data, canvas_rotation,
+                        glyph_center, advance_so_far + glyph_advance_x / 2);
+      }
+      advance_so_far += glyph_advance_x;
+    }
+  }
+}
+
 }  // namespace
 
+void ShapeResultBloberizer::FillTextEmphasisGlyphs(
+    const TextRunPaintInfo& run_info,
+    const GlyphData& emphasis,
+    const ShapeResultBuffer& result_buffer) {
+  FloatPoint glyph_center =
+      emphasis.font_data->BoundsForGlyph(emphasis.glyph).Center();
+
+  float advance = 0;
+  auto results = result_buffer.results_;
+
+  if (run_info.run.Rtl()) {
+    unsigned word_offset = run_info.run.length();
+    for (unsigned j = 0; j < results.size(); j++) {
+      unsigned resolved_index = results.size() - 1 - j;
+      const scoped_refptr<const ShapeResult>& word_result =
+          results[resolved_index];
+      word_offset -= word_result->NumCharacters();
+      StringView text = run_info.run.ToStringView();
+      ClusterCallbackContext context = {this, text, emphasis, glyph_center};
+      advance = word_result->ForEachGraphemeClusters(
+          text, advance, run_info.from, run_info.to, word_offset,
+          AddEmphasisMarkToBloberizer, static_cast<void*>(&context));
+    }
+  } else {  // Left-to-right.
+    unsigned word_offset = 0;
+    for (const auto& word_result : results) {
+      StringView text = run_info.run.ToStringView();
+      ClusterCallbackContext context = {this, text, emphasis, glyph_center};
+      advance = word_result->ForEachGraphemeClusters(
+          text, advance, run_info.from, run_info.to, word_offset,
+          AddEmphasisMarkToBloberizer, static_cast<void*>(&context));
+      word_offset += word_result->NumCharacters();
+    }
+  }
+}
+
+void ShapeResultBloberizer::FillTextEmphasisGlyphs(const StringView& text,
+                                                   unsigned from,
+                                                   unsigned to,
+                                                   const GlyphData& emphasis,
+                                                   const ShapeResult* result) {
+  FloatPoint glyph_center =
+      emphasis.font_data->BoundsForGlyph(emphasis.glyph).Center();
+  ClusterCallbackContext context = {this, text, emphasis, glyph_center};
+  float initial_advance = 0;
+  unsigned index_offset = 0;
+  result->ForEachGraphemeClusters(text, initial_advance, from, to, index_offset,
+                                  AddEmphasisMarkToBloberizer,
+                                  static_cast<void*>(&context));
+}
+
 float ShapeResultBloberizer::FillGlyphsForResult(const ShapeResult* result,
                                                  const StringView& text,
                                                  unsigned from,
@@ -327,93 +358,4 @@
                               static_cast<void*>(this));
 }
 
-float ShapeResultBloberizer::FillTextEmphasisGlyphsForRun(
-    const ShapeResult::RunInfo* run,
-    const StringView& text,
-    unsigned text_length,
-    TextDirection direction,
-    unsigned from,
-    unsigned to,
-    const GlyphData& emphasis_data,
-    float initial_advance,
-    unsigned run_offset) {
-  if (!run)
-    return 0;
-
-  unsigned graphemes_in_cluster = 1;
-  float cluster_advance = 0;
-
-  FloatPoint glyph_center =
-      emphasis_data.font_data->BoundsForGlyph(emphasis_data.glyph).Center();
-
-  // A "cluster" in this context means a cluster as it is used by HarfBuzz:
-  // The minimal group of characters and corresponding glyphs, that cannot be
-  // broken down further from a text shaping point of view.  A cluster can
-  // contain multiple glyphs and grapheme clusters, with mutually overlapping
-  // boundaries. Below we count grapheme clusters per HarfBuzz clusters, then
-  // linearly split the sum of corresponding glyph advances by the number of
-  // grapheme clusters in order to find positions for emphasis mark drawing.
-  uint16_t cluster_start = static_cast<uint16_t>(
-      direction == TextDirection::kRtl
-          ? run->start_index_ + run->num_characters_ + run_offset
-          : run->GlyphToCharacterIndex(0) + run_offset);
-
-  float advance_so_far = initial_advance;
-  const unsigned num_glyphs = run->glyph_data_.size();
-  for (unsigned i = 0; i < num_glyphs; ++i) {
-    const HarfBuzzRunGlyphData& glyph_data = run->glyph_data_[i];
-    uint16_t current_character_index =
-        run->start_index_ + glyph_data.character_index + run_offset;
-    bool is_run_end = (i + 1 == num_glyphs);
-    bool is_cluster_end =
-        is_run_end || (run->GlyphToCharacterIndex(i + 1) + run_offset !=
-                       current_character_index);
-
-    if ((direction == TextDirection::kRtl && current_character_index >= to) ||
-        (direction != TextDirection::kRtl && current_character_index < from)) {
-      advance_so_far += glyph_data.advance;
-      direction == TextDirection::kRtl ? --cluster_start : ++cluster_start;
-      continue;
-    }
-
-    cluster_advance += glyph_data.advance;
-
-    if (text.Is8Bit()) {
-      float glyph_advance_x = glyph_data.advance;
-      if (Character::CanReceiveTextEmphasis(text[current_character_index])) {
-        AddEmphasisMark(*this, emphasis_data, run->CanvasRotation(),
-                        glyph_center, advance_so_far + glyph_advance_x / 2);
-      }
-      advance_so_far += glyph_advance_x;
-    } else if (is_cluster_end) {
-      uint16_t cluster_end;
-      if (direction == TextDirection::kRtl) {
-        cluster_end = current_character_index;
-      } else {
-        cluster_end = static_cast<uint16_t>(
-            is_run_end ? run->start_index_ + run->num_characters_ + run_offset
-                       : run->GlyphToCharacterIndex(i + 1) + run_offset);
-      }
-      graphemes_in_cluster = CountGraphemesInCluster(
-          text.Characters16(), text_length, cluster_start, cluster_end);
-      if (!graphemes_in_cluster || !cluster_advance)
-        continue;
-
-      float glyph_advance_x = cluster_advance / graphemes_in_cluster;
-      for (unsigned j = 0; j < graphemes_in_cluster; ++j) {
-        // Do not put emphasis marks on space, separator, and control
-        // characters.
-        if (Character::CanReceiveTextEmphasis(text[current_character_index])) {
-          AddEmphasisMark(*this, emphasis_data, run->CanvasRotation(),
-                          glyph_center, advance_so_far + glyph_advance_x / 2);
-        }
-        advance_so_far += glyph_advance_x;
-      }
-      cluster_start = cluster_end;
-      cluster_advance = 0;
-    }
-  }
-  return advance_so_far - initial_advance;
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.h
index 083e806..571f250 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_bloberizer.h
@@ -44,12 +44,10 @@
                               const GlyphData& emphasis_data,
                               const ShapeResultBuffer&);
   void FillTextEmphasisGlyphs(const StringView&,
-                              TextDirection,
                               unsigned from,
                               unsigned to,
                               const GlyphData& emphasis_data,
                               const ShapeResult*);
-
   void Add(Glyph glyph,
            const SimpleFontData* font_data,
            CanvasRotationInVertical canvas_rotation,
@@ -125,16 +123,6 @@
   float FillFastHorizontalGlyphs(const ShapeResultBuffer&, TextDirection);
   float FillFastHorizontalGlyphs(const ShapeResult*, float advance = 0);
 
-  float FillTextEmphasisGlyphsForRun(const ShapeResult::RunInfo*,
-                                     const StringView&,
-                                     unsigned text_length,
-                                     TextDirection,
-                                     unsigned from,
-                                     unsigned to,
-                                     const GlyphData& emphasis_data,
-                                     float initial_advance,
-                                     unsigned run_offset);
-
   void CommitPendingRun();
   void CommitPendingBlob();
 
diff --git a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
index cf0048aa..9603c55 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
@@ -318,8 +318,7 @@
     ReportResourceProviderCreationFailure();
 
   if (resource_provider && IsAccelerated() && !layer_) {
-    layer_ = cc::TextureLayer::CreateForMailbox(
-        this, cc::TextureLayer::kMaxResourcesWaitingCanvasWebGL);
+    layer_ = cc::TextureLayer::CreateForMailbox(this);
     layer_->SetIsDrawable(true);
     layer_->SetContentsOpaque(ColorParams().GetOpacityMode() == kOpaque);
     layer_->SetBlendBackgroundColor(ColorParams().GetOpacityMode() != kOpaque);
diff --git a/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.cc b/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.cc
index 70f2a59..7920d50 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.cc
@@ -12,7 +12,8 @@
 void ChunkToLayerMapper::SwitchToChunk(const PaintChunk& chunk) {
   outset_for_raster_effects_ = chunk.outset_for_raster_effects;
 
-  const auto& new_chunk_state = chunk.properties.GetPropertyTreeState();
+  const auto& new_chunk_state =
+      chunk.properties.GetPropertyTreeState().Unalias();
   if (new_chunk_state == chunk_state_)
     return;
 
@@ -35,7 +36,8 @@
   if (new_chunk_state.Effect() != chunk_state_.Effect()) {
     new_has_filter_that_moves_pixels = false;
     for (const auto* effect = new_chunk_state.Effect();
-         effect && effect != layer_state_.Effect(); effect = effect->Parent()) {
+         effect && effect != layer_state_.Effect();
+         effect = effect->Parent()->Unalias()) {
       if (effect->HasFilterThatMovesPixels()) {
         new_has_filter_that_moves_pixels = true;
         break;
diff --git a/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.h b/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.h
index dc83ce0fd..e699f59 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.h
+++ b/third_party/blink/renderer/platform/graphics/compositing/chunk_to_layer_mapper.h
@@ -22,7 +22,7 @@
   ChunkToLayerMapper(const PropertyTreeState& layer_state,
                      const gfx::Vector2dF& layer_offset,
                      const FloatSize& visual_rect_subpixel_offset = FloatSize())
-      : layer_state_(layer_state),
+      : layer_state_(layer_state.Unalias()),
         layer_offset_(layer_offset),
         visual_rect_subpixel_offset_(visual_rect_subpixel_offset),
         chunk_state_(nullptr, nullptr, nullptr) {}
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
index 7d84c4d1..ce41070 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
@@ -288,7 +288,8 @@
     : bounds(first_paint_chunk.bounds),
       rect_known_to_be_opaque(
           first_paint_chunk.known_to_be_opaque ? bounds : FloatRect()),
-      property_tree_state(first_paint_chunk.properties.GetPropertyTreeState()),
+      property_tree_state(
+          first_paint_chunk.properties.GetPropertyTreeState().Unalias()),
       requires_own_layer(chunk_requires_own_layer) {
   paint_chunk_indices.push_back(chunk_index);
 }
@@ -313,8 +314,10 @@
     const PendingLayer& guest) const {
   if (requires_own_layer || guest.requires_own_layer)
     return false;
-  if (property_tree_state.Effect() != guest.property_tree_state.Effect())
+  if (property_tree_state.Effect()->Unalias() !=
+      guest.property_tree_state.Effect()->Unalias()) {
     return false;
+  }
   return CanUpcastTo(guest.property_tree_state, property_tree_state);
 }
 
@@ -368,21 +371,27 @@
 //    transform space.
 static bool CanUpcastTo(const PropertyTreeState& guest,
                         const PropertyTreeState& home) {
-  DCHECK_EQ(home.Effect(), guest.Effect());
+  DCHECK_EQ(home.Effect()->Unalias(), guest.Effect()->Unalias());
 
   if (IsBackfaceHidden(home.Transform()) != IsBackfaceHidden(guest.Transform()))
     return false;
 
-  for (const ClipPaintPropertyNode* current_clip = guest.Clip();
-       current_clip != home.Clip(); current_clip = current_clip->Parent()) {
+  auto* home_clip = home.Clip()->Unalias();
+  for (const ClipPaintPropertyNode* current_clip = guest.Clip()->Unalias();
+       current_clip != home_clip;
+       current_clip = current_clip->Parent() ? current_clip->Parent()->Unalias()
+                                             : nullptr) {
     if (!current_clip || current_clip->HasDirectCompositingReasons())
       return false;
-    if (!IsNonCompositingAncestorOf(home.Transform(),
-                                    current_clip->LocalTransformSpace()))
+    if (!IsNonCompositingAncestorOf(
+            home.Transform()->Unalias(),
+            current_clip->LocalTransformSpace()->Unalias())) {
       return false;
+    }
   }
 
-  return IsNonCompositingAncestorOf(home.Transform(), guest.Transform());
+  return IsNonCompositingAncestorOf(home.Transform()->Unalias(),
+                                    guest.Transform()->Unalias());
 }
 
 // Returns nullptr if 'ancestor' is not a strict ancestor of 'node'.
@@ -413,10 +422,11 @@
 bool PaintArtifactCompositor::CanDecompositeEffect(
     const EffectPaintPropertyNode* effect,
     const PendingLayer& layer) {
+  effect = effect->Unalias();
   // If the effect associated with the layer is deeper than than the effect
   // we are attempting to decomposite, than implies some previous decision
   // did not allow to decomposite intermediate effects.
-  if (layer.property_tree_state.Effect() != effect)
+  if (layer.property_tree_state.Effect()->Unalias() != effect)
     return false;
   if (layer.requires_own_layer)
     return false;
@@ -475,7 +485,8 @@
     Vector<PaintChunk>::const_iterator& chunk_it) {
   // Skip paint chunks that are effectively invisible due to opacity and don't
   // have a direct compositing reason.
-  if (SkipGroupIfEffectivelyInvisible(paint_artifact, current_group, chunk_it))
+  if (SkipGroupIfEffectivelyInvisible(paint_artifact, *current_group.Unalias(),
+                                      chunk_it))
     return;
 
   size_t first_layer_in_current_group = pending_layers.size();
@@ -502,7 +513,7 @@
     // A. The next chunk belongs to the current group but no subgroup.
     // B. The next chunk does not belong to the current group.
     // C. The next chunk belongs to some subgroup of the current group.
-    const auto* chunk_effect = chunk_it->properties.Effect();
+    const auto* chunk_effect = chunk_it->properties.Effect()->Unalias();
     if (chunk_effect == &current_group) {
       // Case A: The next chunk belongs to the current group but no subgroup.
       const auto& last_display_item =
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
index 1f57e88..d4e7543 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
@@ -354,6 +354,46 @@
   }
 }
 
+TEST_P(PaintArtifactCompositorTest, OneTransformWithAlias) {
+  // A 90 degree clockwise rotation about (100, 100).
+  auto real_transform = CreateTransform(t0(), TransformationMatrix().Rotate(90),
+                                        FloatPoint3D(100, 100, 0),
+                                        CompositingReason::k3DTransform);
+  auto transform = TransformPaintPropertyNode::CreateAlias(*real_transform);
+
+  TestPaintArtifact artifact;
+  artifact.Chunk(*transform, c0(), e0())
+      .RectDrawing(FloatRect(0, 0, 100, 100), Color::kWhite);
+  artifact.Chunk().RectDrawing(FloatRect(0, 0, 100, 100), Color::kGray);
+  artifact.Chunk(*transform, c0(), e0())
+      .RectDrawing(FloatRect(100, 100, 200, 100), Color::kBlack);
+  Update(artifact.Build());
+
+  ASSERT_EQ(2u, ContentLayerCount());
+  {
+    const cc::Layer* layer = ContentLayerAt(0);
+
+    Vector<RectWithColor> rects_with_color;
+    rects_with_color.push_back(
+        RectWithColor(FloatRect(0, 0, 100, 100), Color::kWhite));
+    rects_with_color.push_back(
+        RectWithColor(FloatRect(100, 100, 200, 100), Color::kBlack));
+
+    EXPECT_THAT(layer->GetPicture(),
+                Pointee(DrawsRectangles(rects_with_color)));
+    gfx::RectF mapped_rect(0, 0, 100, 100);
+    layer->ScreenSpaceTransform().TransformRect(&mapped_rect);
+    EXPECT_EQ(gfx::RectF(100, 0, 100, 100), mapped_rect);
+  }
+  {
+    const cc::Layer* layer = ContentLayerAt(1);
+    EXPECT_THAT(
+        layer->GetPicture(),
+        Pointee(DrawsRectangle(FloatRect(0, 0, 100, 100), Color::kGray)));
+    EXPECT_EQ(gfx::Transform(), layer->ScreenSpaceTransform());
+  }
+}
+
 TEST_P(PaintArtifactCompositorTest, TransformCombining) {
   // A translation by (5, 5) within a 2x scale about (10, 10).
   auto transform1 =
@@ -480,6 +520,59 @@
   }
 }
 
+TEST_P(PaintArtifactCompositorTest, FlattensInheritedTransformWithAlias) {
+  for (bool transform_is_flattened : {true, false}) {
+    SCOPED_TRACE(transform_is_flattened);
+
+    // The flattens_inherited_transform bit corresponds to whether the _parent_
+    // transform node flattens the transform. This is because Blink's notion of
+    // flattening determines whether content within the node's local transform
+    // is flattened, while cc's notion applies in the parent's coordinate space.
+    auto real_transform1 = CreateTransform(t0(), TransformationMatrix());
+    auto transform1 = TransformPaintPropertyNode::CreateAlias(*real_transform1);
+    auto real_transform2 =
+        CreateTransform(*transform1, TransformationMatrix().Rotate3d(0, 45, 0));
+    auto transform2 = TransformPaintPropertyNode::CreateAlias(*real_transform2);
+    TransformPaintPropertyNode::State transform3_state;
+    transform3_state.matrix = TransformationMatrix().Rotate3d(0, 45, 0);
+    transform3_state.flattens_inherited_transform = transform_is_flattened;
+    auto real_transform3 = TransformPaintPropertyNode::Create(
+        *transform2, std::move(transform3_state));
+    auto transform3 = TransformPaintPropertyNode::CreateAlias(*real_transform3);
+
+    TestPaintArtifact artifact;
+    artifact.Chunk(*transform3, c0(), e0())
+        .RectDrawing(FloatRect(0, 0, 300, 200), Color::kWhite);
+    Update(artifact.Build());
+
+    ASSERT_EQ(1u, ContentLayerCount());
+    const cc::Layer* layer = ContentLayerAt(0);
+    EXPECT_THAT(
+        layer->GetPicture(),
+        Pointee(DrawsRectangle(FloatRect(0, 0, 300, 200), Color::kWhite)));
+
+    // The leaf transform node should flatten its inherited transform node
+    // if and only if the intermediate rotation transform in the Blink tree
+    // flattens.
+    const cc::TransformNode* transform_node3 =
+        GetPropertyTrees().transform_tree.Node(layer->transform_tree_index());
+    EXPECT_EQ(transform_is_flattened,
+              transform_node3->flattens_inherited_transform);
+
+    // Given this, we should expect the correct screen space transform for
+    // each case. If the transform was flattened, we should see it getting
+    // an effective horizontal scale of 1/sqrt(2) each time, thus it gets
+    // half as wide. If the transform was not flattened, we should see an
+    // empty rectangle (as the total 90 degree rotation makes it
+    // perpendicular to the viewport).
+    gfx::RectF rect(0, 0, 100, 100);
+    layer->ScreenSpaceTransform().TransformRect(&rect);
+    if (transform_is_flattened)
+      EXPECT_FLOAT_RECT_EQ(gfx::RectF(0, 0, 50, 100), rect);
+    else
+      EXPECT_TRUE(rect.IsEmpty());
+  }
+}
 TEST_P(PaintArtifactCompositorTest, SortingContextID) {
   // Has no 3D rendering context.
   auto transform1 = CreateTransform(t0(), TransformationMatrix());
@@ -580,6 +673,32 @@
   EXPECT_EQ(gfx::RectF(100, 100, 300, 200), clip_node->clip);
 }
 
+TEST_P(PaintArtifactCompositorTest, OneClipWithAlias) {
+  auto real_clip =
+      CreateClip(c0(), &t0(), FloatRoundedRect(100, 100, 300, 200));
+  auto clip = ClipPaintPropertyNode::CreateAlias(*real_clip);
+
+  TestPaintArtifact artifact;
+  artifact.Chunk(t0(), *clip, e0())
+      .RectDrawing(FloatRect(220, 80, 300, 200), Color::kBlack);
+  Update(artifact.Build());
+
+  ASSERT_EQ(1u, ContentLayerCount());
+  const cc::Layer* layer = ContentLayerAt(0);
+  // The layer is clipped.
+  EXPECT_EQ(gfx::Size(180, 180), layer->bounds());
+  EXPECT_EQ(gfx::Vector2dF(220, 100), layer->offset_to_transform_parent());
+  EXPECT_THAT(
+      layer->GetPicture(),
+      Pointee(DrawsRectangle(FloatRect(0, 0, 300, 180), Color::kBlack)));
+  EXPECT_EQ(Translation(220, 100), layer->ScreenSpaceTransform());
+
+  const cc::ClipNode* clip_node =
+      GetPropertyTrees().clip_tree.Node(layer->clip_tree_index());
+  EXPECT_EQ(cc::ClipNode::ClipType::APPLIES_LOCAL_CLIP, clip_node->clip_type);
+  EXPECT_EQ(gfx::RectF(100, 100, 300, 200), clip_node->clip);
+}
+
 TEST_P(PaintArtifactCompositorTest, NestedClips) {
   auto clip1 = CreateClip(c0(), &t0(), FloatRoundedRect(100, 100, 700, 700),
                           CompositingReason::kOverflowScrollingTouch);
@@ -638,6 +757,68 @@
   EXPECT_EQ(outer_clip->id, inner_clip->parent_id);
 }
 
+TEST_P(PaintArtifactCompositorTest, NestedClipsWithAlias) {
+  auto real_clip1 =
+      CreateClip(c0(), &t0(), FloatRoundedRect(100, 100, 700, 700),
+                 CompositingReason::kOverflowScrollingTouch);
+  auto clip1 = ClipPaintPropertyNode::CreateAlias(*real_clip1);
+  auto real_clip2 =
+      CreateClip(*clip1, &t0(), FloatRoundedRect(200, 200, 700, 700),
+                 CompositingReason::kOverflowScrollingTouch);
+  auto clip2 = ClipPaintPropertyNode::CreateAlias(*real_clip2);
+
+  TestPaintArtifact artifact;
+  artifact.Chunk(t0(), *clip1, e0())
+      .RectDrawing(FloatRect(300, 350, 100, 100), Color::kWhite);
+  artifact.Chunk(t0(), *clip2, e0())
+      .RectDrawing(FloatRect(300, 350, 100, 100), Color::kLightGray);
+  artifact.Chunk(t0(), *clip1, e0())
+      .RectDrawing(FloatRect(300, 350, 100, 100), Color::kDarkGray);
+  artifact.Chunk(t0(), *clip2, e0())
+      .RectDrawing(FloatRect(300, 350, 100, 100), Color::kBlack);
+  Update(artifact.Build());
+
+  ASSERT_EQ(4u, ContentLayerCount());
+
+  const cc::Layer* white_layer = ContentLayerAt(0);
+  EXPECT_THAT(
+      white_layer->GetPicture(),
+      Pointee(DrawsRectangle(FloatRect(0, 0, 100, 100), Color::kWhite)));
+  EXPECT_EQ(Translation(300, 350), white_layer->ScreenSpaceTransform());
+
+  const cc::Layer* light_gray_layer = ContentLayerAt(1);
+  EXPECT_THAT(
+      light_gray_layer->GetPicture(),
+      Pointee(DrawsRectangle(FloatRect(0, 0, 100, 100), Color::kLightGray)));
+  EXPECT_EQ(Translation(300, 350), light_gray_layer->ScreenSpaceTransform());
+
+  const cc::Layer* dark_gray_layer = ContentLayerAt(2);
+  EXPECT_THAT(
+      dark_gray_layer->GetPicture(),
+      Pointee(DrawsRectangle(FloatRect(0, 0, 100, 100), Color::kDarkGray)));
+  EXPECT_EQ(Translation(300, 350), dark_gray_layer->ScreenSpaceTransform());
+
+  const cc::Layer* black_layer = ContentLayerAt(3);
+  EXPECT_THAT(
+      black_layer->GetPicture(),
+      Pointee(DrawsRectangle(FloatRect(0, 0, 100, 100), Color::kBlack)));
+  EXPECT_EQ(Translation(300, 350), black_layer->ScreenSpaceTransform());
+
+  EXPECT_EQ(white_layer->clip_tree_index(), dark_gray_layer->clip_tree_index());
+  const cc::ClipNode* outer_clip =
+      GetPropertyTrees().clip_tree.Node(white_layer->clip_tree_index());
+  EXPECT_EQ(cc::ClipNode::ClipType::APPLIES_LOCAL_CLIP, outer_clip->clip_type);
+  EXPECT_EQ(gfx::RectF(100, 100, 700, 700), outer_clip->clip);
+
+  EXPECT_EQ(light_gray_layer->clip_tree_index(),
+            black_layer->clip_tree_index());
+  const cc::ClipNode* inner_clip =
+      GetPropertyTrees().clip_tree.Node(black_layer->clip_tree_index());
+  EXPECT_EQ(cc::ClipNode::ClipType::APPLIES_LOCAL_CLIP, inner_clip->clip_type);
+  EXPECT_EQ(gfx::RectF(200, 200, 700, 700), inner_clip->clip);
+  EXPECT_EQ(outer_clip->id, inner_clip->parent_id);
+}
+
 TEST_P(PaintArtifactCompositorTest, DeeplyNestedClips) {
   Vector<scoped_refptr<ClipPaintPropertyNode>> clips;
   for (unsigned i = 1; i <= 10; i++) {
@@ -671,12 +852,16 @@
   }
 }
 
-TEST_P(PaintArtifactCompositorTest, SiblingClips) {
-  auto common_clip = CreateClip(c0(), &t0(), FloatRoundedRect(0, 0, 800, 600));
-  auto clip1 =
+TEST_P(PaintArtifactCompositorTest, SiblingClipsWithAlias) {
+  auto real_common_clip =
+      CreateClip(c0(), &t0(), FloatRoundedRect(0, 0, 800, 600));
+  auto common_clip = ClipPaintPropertyNode::CreateAlias(*real_common_clip);
+  auto real_clip1 =
       CreateClip(*common_clip, &t0(), FloatRoundedRect(0, 0, 400, 600));
-  auto clip2 =
+  auto clip1 = ClipPaintPropertyNode::CreateAlias(*real_clip1);
+  auto real_clip2 =
       CreateClip(*common_clip, &t0(), FloatRoundedRect(400, 0, 400, 600));
+  auto clip2 = ClipPaintPropertyNode::CreateAlias(*real_clip2);
 
   TestPaintArtifact artifact;
   artifact.Chunk(t0(), *clip1, e0())
@@ -738,17 +923,21 @@
   EXPECT_EQ(Translation(50, 60), layer->ScreenSpaceTransform());
 }
 
-TEST_P(PaintArtifactCompositorTest, EffectTreeConversion) {
+TEST_P(PaintArtifactCompositorTest, EffectTreeConversionWithAlias) {
   EffectPaintPropertyNode::State effect1_state;
   effect1_state.local_transform_space = &t0();
   effect1_state.output_clip = &c0();
   effect1_state.opacity = 0.5;
   effect1_state.direct_compositing_reasons = CompositingReason::kAll;
   effect1_state.compositor_element_id = CompositorElementId(2);
-  auto effect1 =
+  auto real_effect1 =
       EffectPaintPropertyNode::Create(e0(), std::move(effect1_state));
-  auto effect2 = CreateOpacityEffect(*effect1, 0.3, CompositingReason::kAll);
-  auto effect3 = CreateOpacityEffect(e0(), 0.2, CompositingReason::kAll);
+  auto effect1 = EffectPaintPropertyNode::CreateAlias(*real_effect1);
+  auto real_effect2 =
+      CreateOpacityEffect(*effect1, 0.3, CompositingReason::kAll);
+  auto effect2 = EffectPaintPropertyNode::CreateAlias(*real_effect2);
+  auto real_effect3 = CreateOpacityEffect(e0(), 0.2, CompositingReason::kAll);
+  auto effect3 = EffectPaintPropertyNode::CreateAlias(*real_effect3);
 
   TestPaintArtifact artifact;
   artifact.Chunk(t0(), c0(), *effect2)
@@ -1311,16 +1500,52 @@
   }
 }
 
-TEST_P(PaintArtifactCompositorTest, MergeNested) {
+TEST_P(PaintArtifactCompositorTest, MergeOpacityWithAlias) {
+  float opacity = 2.0 / 255.0;
+  auto real_effect = CreateOpacityEffect(e0(), opacity);
+  auto effect = EffectPaintPropertyNode::CreateAlias(*real_effect);
+
+  TestPaintArtifact test_artifact;
+  test_artifact.Chunk().RectDrawing(FloatRect(0, 0, 100, 100), Color::kWhite);
+  test_artifact.Chunk(t0(), c0(), *effect)
+      .RectDrawing(FloatRect(0, 0, 100, 100), Color::kBlack);
+  test_artifact.Chunk().RectDrawing(FloatRect(0, 0, 200, 300), Color::kGray);
+
+  auto artifact = test_artifact.Build();
+  ASSERT_EQ(3u, artifact->PaintChunks().size());
+  Update(artifact);
+  ASSERT_EQ(1u, ContentLayerCount());
+  {
+    Vector<RectWithColor> rects_with_color;
+    rects_with_color.push_back(
+        RectWithColor(FloatRect(0, 0, 100, 100), Color::kWhite));
+    // Transform is applied to this PaintChunk.
+    rects_with_color.push_back(
+        RectWithColor(FloatRect(0, 0, 100, 100),
+                      Color(Color::kBlack).CombineWithAlpha(opacity).Rgb()));
+    rects_with_color.push_back(
+        RectWithColor(FloatRect(0, 0, 200, 300), Color::kGray));
+
+    const cc::Layer* layer = ContentLayerAt(0);
+    EXPECT_THAT(layer->GetPicture(),
+                Pointee(DrawsRectangles(rects_with_color)));
+  }
+}
+
+TEST_P(PaintArtifactCompositorTest, MergeNestedWithAlias) {
   // Tests merging of an opacity effect, inside of a clip, inside of a
   // transform.
-  auto transform =
+  auto real_transform =
       CreateTransform(t0(), TransformationMatrix().Translate(50, 50),
                       FloatPoint3D(100, 100, 0));
-  auto clip =
+  auto transform = TransformPaintPropertyNode::CreateAlias(*real_transform);
+  auto real_clip =
       CreateClip(c0(), transform.get(), FloatRoundedRect(10, 20, 50, 60));
+  auto clip = ClipPaintPropertyNode::CreateAlias(*real_clip);
   float opacity = 2.0 / 255.0;
-  auto effect = CreateOpacityEffect(e0(), transform.get(), clip.get(), opacity);
+  auto real_effect =
+      CreateOpacityEffect(e0(), transform.get(), clip.get(), opacity);
+  auto effect = EffectPaintPropertyNode::CreateAlias(*real_effect);
 
   TestPaintArtifact test_artifact;
   test_artifact.Chunk().RectDrawing(FloatRect(0, 0, 100, 100), Color::kWhite);
@@ -1759,6 +1984,18 @@
   EXPECT_EQ(2, ElementIdToEffectNodeIndex(effect->GetCompositorElementId()));
 }
 
+TEST_P(PaintArtifactCompositorTest, EffectWithElementIdWithAlias) {
+  auto real_effect = CreateSampleEffectNodeWithElementId();
+  auto effect = EffectPaintPropertyNode::CreateAlias(*real_effect);
+  TestPaintArtifact artifact;
+  artifact.Chunk(t0(), c0(), *effect)
+      .RectDrawing(FloatRect(100, 100, 200, 100), Color::kBlack);
+  Update(artifact.Build());
+
+  EXPECT_EQ(2,
+            ElementIdToEffectNodeIndex(real_effect->GetCompositorElementId()));
+}
+
 TEST_P(PaintArtifactCompositorTest, CompositedLuminanceMask) {
   auto masked = CreateOpacityEffect(
       e0(), 1.0, CompositingReason::kIsolateCompositedDescendants);
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
index 96605f2e..ae00c26 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
@@ -42,7 +42,7 @@
         layer_offset_(layer_offset),
         current_transform_(Unalias(layer_state.Transform())),
         current_clip_(Unalias(layer_state.Clip())),
-        current_effect_(layer_state.Effect()),
+        current_effect_(Unalias(layer_state.Effect())),
         chunk_to_layer_mapper_(layer_state_,
                                layer_offset_,
                                visual_rect_subpixel_offset),
@@ -419,12 +419,13 @@
 
 void ConversionContext::SwitchToEffect(
     const EffectPaintPropertyNode* target_effect) {
+  target_effect = Unalias(target_effect);
   if (target_effect == current_effect_)
     return;
 
   // Step 1: Exit all effects until the lowest common ancestor is found.
   const EffectPaintPropertyNode* lca_effect =
-      &LowestCommonAncestor(*target_effect, *current_effect_);
+      LowestCommonAncestor(*target_effect, *current_effect_).Unalias();
   while (current_effect_ != lca_effect) {
     // This EndClips() and the later EndEffect() pop to the parent effect.
     EndClips();
@@ -444,7 +445,7 @@
   // effect. At this point the current effect must be an ancestor of the target.
   Vector<const EffectPaintPropertyNode*, 1u> pending_effects;
   for (const EffectPaintPropertyNode* effect = target_effect;
-       effect != current_effect_; effect = effect->Parent()) {
+       effect != current_effect_; effect = Unalias(effect->Parent())) {
     // This should never happen unless the DCHECK in step 1 failed.
     if (!effect)
       break;
@@ -454,12 +455,14 @@
   // Step 3: Now apply the list of effects in top-down order.
   for (size_t i = pending_effects.size(); i--;) {
     const EffectPaintPropertyNode* sub_effect = pending_effects[i];
-    DCHECK_EQ(current_effect_, sub_effect->Parent());
+    DCHECK_EQ(current_effect_, Unalias(sub_effect->Parent()));
     StartEffect(sub_effect);
   }
 }
 
 void ConversionContext::StartEffect(const EffectPaintPropertyNode* effect) {
+  DCHECK_EQ(effect, Unalias(effect));
+
   // Before each effect can be applied, we must enter its output clip first,
   // or exit all clips if it doesn't have one.
   if (effect->OutputClip())
@@ -560,7 +563,7 @@
 void ConversionContext::EndEffect() {
   const auto& previous_state = state_stack_.back();
   DCHECK_EQ(previous_state.type, StateEntry::kEffect);
-  DCHECK_EQ(current_effect_->Parent(), previous_state.effect);
+  DCHECK(Unalias(current_effect_->Parent()) == previous_state.effect);
   DCHECK_EQ(current_clip_, previous_state.clip);
 
   DCHECK(effect_bounds_stack_.size());
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc
index a3aeb43..7fe9338 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc
@@ -1186,5 +1186,42 @@
   EXPECT_THAT(*output, PaintRecordMatcher::Make({cc::PaintOpType::DrawRecord}));
 }
 
+TEST_F(PaintChunksToCcLayerTest, NoopEffectDoesNotEmitItems) {
+  auto e1 = CreateOpacityEffect(e0(), 0.5f);
+  auto noop_e2 = EffectPaintPropertyNode::CreateAlias(*e1);
+  auto noop_e3 = EffectPaintPropertyNode::CreateAlias(*noop_e2);
+  auto e4 = CreateOpacityEffect(*noop_e3, 0.5f);
+
+  TestChunks chunks;
+  chunks.AddChunk(t0(), c0(), e0());
+  chunks.AddChunk(t0(), c0(), *e1);
+  chunks.AddChunk(t0(), c0(), *noop_e2);
+  chunks.AddChunk(t0(), c0(), *noop_e3);
+  chunks.AddChunk(t0(), c0(), *e4);
+  chunks.AddChunk(t0(), c0(), *noop_e2);
+  chunks.AddChunk(t0(), c0(), *e1);
+
+  auto output =
+      PaintChunksToCcLayer::Convert(
+          chunks.chunks, PropertyTreeState::Root(), gfx::Vector2dF(),
+          chunks.items, cc::DisplayItemList::kToBeReleasedAsPaintOpBuffer)
+          ->ReleaseAsRecord();
+
+  EXPECT_THAT(*output,
+              PaintRecordMatcher::Make({
+                  cc::PaintOpType::DrawRecord,      // e0
+                  cc::PaintOpType::SaveLayerAlpha,  // e1
+                  cc::PaintOpType::DrawRecord,      // draw with e1
+                  cc::PaintOpType::DrawRecord,      // draw with noop_e2
+                  cc::PaintOpType::DrawRecord,      // draw_with noop_e3
+                  cc::PaintOpType::SaveLayerAlpha,  // e4
+                  cc::PaintOpType::DrawRecord,      // draw with e4
+                  cc::PaintOpType::Restore,         // end e4
+                  cc::PaintOpType::DrawRecord,      // draw with noop_e2
+                  cc::PaintOpType::DrawRecord,      // draw with e1
+                  cc::PaintOpType::Restore          // end noop_e2 (or e1)
+              }));
+}
+
 }  // namespace
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
index 5f87eeea..c68dd5a 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
@@ -161,6 +161,7 @@
   if (!transform_node)
     return kSecondaryRootNodeId;
 
+  transform_node = transform_node->Unalias();
   auto it = transform_node_map_.find(transform_node);
   if (it != transform_node_map_.end())
     return it->value;
@@ -279,6 +280,7 @@
   if (!clip_node)
     return kSecondaryRootNodeId;
 
+  clip_node = clip_node->Unalias();
   auto it = clip_node_map_.find(clip_node);
   if (it != clip_node_map_.end())
     return it->value;
@@ -479,7 +481,8 @@
   // At last, the caller invokes Finalize() to close the unclosed synthetic
   // effect. Another mask layer L_C1_2 is generated, along with its internal
   // effect node for blending.
-  const auto& ancestor = LowestCommonAncestor(*current_effect_, next_effect);
+  const auto& ancestor =
+      *LowestCommonAncestor(*current_effect_, next_effect).Unalias();
   while (current_effect_ != &ancestor)
     CloseCcEffect();
 
@@ -510,6 +513,7 @@
     const ClipPaintPropertyNode* target_clip,
     SkBlendMode delegated_blend,
     bool effect_is_newly_built) {
+  target_clip = target_clip->Unalias();
   if (delegated_blend != SkBlendMode::kSrcOver) {
     // Exit all synthetic effect node for rounded clip if the next child has
     // exotic blending mode because it has to access the backdrop of enclosing
@@ -524,7 +528,8 @@
   } else {
     // Exit synthetic effects until there are no more synthesized clips below
     // our lowest common ancestor.
-    const auto& lca = LowestCommonAncestor(*current_clip_, *target_clip);
+    const auto& lca =
+        *LowestCommonAncestor(*current_clip_, *target_clip).Unalias();
     while (current_clip_ != &lca) {
       DCHECK(IsCurrentCcEffectSynthetic());
       const auto* pre_exit_clip = current_clip_;
@@ -549,7 +554,8 @@
   DCHECK(current_clip_->IsAncestorOf(*target_clip));
 
   Vector<const ClipPaintPropertyNode*> pending_clips;
-  for (; target_clip != current_clip_; target_clip = target_clip->Parent()) {
+  for (; target_clip != current_clip_;
+       target_clip = target_clip->Parent()->Unalias()) {
     DCHECK(target_clip);
     bool should_synthesize =
         target_clip->ClipRect().IsRounded() || target_clip->ClipPath();
@@ -590,12 +596,13 @@
 
 bool PropertyTreeManager::BuildEffectNodesRecursively(
     const EffectPaintPropertyNode* next_effect) {
+  next_effect = next_effect ? next_effect->Unalias() : nullptr;
   if (next_effect == current_effect_)
     return false;
   DCHECK(next_effect);
 
   bool newly_built = BuildEffectNodesRecursively(next_effect->Parent());
-  DCHECK_EQ(next_effect->Parent(), current_effect_);
+  DCHECK_EQ(next_effect->Parent()->Unalias(), current_effect_);
 
 #if DCHECK_IS_ON()
   DCHECK(!effect_nodes_converted_.Contains(next_effect))
@@ -675,7 +682,7 @@
   current_effect_type_ = CcEffectType::kEffect;
   current_effect_ = next_effect;
   if (next_effect->OutputClip())
-    current_clip_ = next_effect->OutputClip();
+    current_clip_ = next_effect->OutputClip()->Unalias();
 
   return true;
 }
diff --git a/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc b/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
index 2b71c43e..66b94d2 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
@@ -913,8 +913,7 @@
 
 cc::Layer* DrawingBuffer::CcLayer() {
   if (!layer_) {
-    layer_ = cc::TextureLayer::CreateForMailbox(
-        this, cc::TextureLayer::kMaxResourcesWaitingCanvasWebGL);
+    layer_ = cc::TextureLayer::CreateForMailbox(this);
 
     layer_->SetIsDrawable(true);
     layer_->SetContentsOpaque(!want_alpha_channel_);
diff --git a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
index 13c0caf..10ff62a 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
@@ -26,8 +26,7 @@
 
 ImageLayerBridge::ImageLayerBridge(OpacityMode opacity_mode)
     : opacity_mode_(opacity_mode) {
-  layer_ = cc::TextureLayer::CreateForMailbox(
-      this, cc::TextureLayer::kMaxResourcesWaitingCanvasWebGL);
+  layer_ = cc::TextureLayer::CreateForMailbox(this);
   layer_->SetIsDrawable(true);
   layer_->SetNearestNeighbor(filter_quality_ == kNone_SkFilterQuality);
   if (opacity_mode_ == kOpaque) {
diff --git a/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.cc b/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.cc
index 29802333..2d198ba 100644
--- a/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.cc
@@ -11,8 +11,10 @@
 const EffectPaintPropertyNode& EffectPaintPropertyNode::Root() {
   DEFINE_STATIC_REF(EffectPaintPropertyNode, root,
                     base::AdoptRef(new EffectPaintPropertyNode(
-                        nullptr, State{&TransformPaintPropertyNode::Root(),
-                                       &ClipPaintPropertyNode::Root()})));
+                        nullptr,
+                        State{&TransformPaintPropertyNode::Root(),
+                              &ClipPaintPropertyNode::Root()},
+                        true /* is_parent_alias */)));
   return *root;
 }
 
@@ -27,14 +29,23 @@
 bool EffectPaintPropertyNode::Changed(
     const PropertyTreeState& relative_to_state,
     const TransformPaintPropertyNode* transform_not_to_check) const {
-  for (const auto* node = this; node && node != relative_to_state.Effect();
-       node = node->Parent()) {
+  auto* relative_effect = relative_to_state.Effect()
+                              ? relative_to_state.Effect()->Unalias()
+                              : nullptr;
+  if (transform_not_to_check)
+    transform_not_to_check = transform_not_to_check->Unalias();
+  for (const auto* node = Unalias(); node && node != relative_effect;
+       node = node->Parent() ? node->Parent()->Unalias() : nullptr) {
     if (node->NodeChanged())
       return true;
+    auto* local_transform = node->LocalTransformSpace()
+                                ? node->LocalTransformSpace()->Unalias()
+                                : nullptr;
     if (node->HasFilterThatMovesPixels() &&
-        node->LocalTransformSpace() != transform_not_to_check &&
-        node->LocalTransformSpace()->Changed(*relative_to_state.Transform()))
+        local_transform != transform_not_to_check &&
+        local_transform->Changed(*relative_to_state.Transform()->Unalias())) {
       return true;
+    }
     // We don't check for change of OutputClip here to avoid N^3 complexity.
     // The caller should check for clip change in other ways.
   }
diff --git a/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
index 54c773fa..11e4600 100644
--- a/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
+++ b/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
@@ -69,8 +69,13 @@
   static scoped_refptr<EffectPaintPropertyNode> Create(
       const EffectPaintPropertyNode& parent,
       State&& state) {
-    return base::AdoptRef(
-        new EffectPaintPropertyNode(&parent, std::move(state)));
+    return base::AdoptRef(new EffectPaintPropertyNode(
+        &parent, std::move(state), false /* is_parent_alias */));
+  }
+  static scoped_refptr<EffectPaintPropertyNode> CreateAlias(
+      const EffectPaintPropertyNode& parent) {
+    return base::AdoptRef(new EffectPaintPropertyNode(
+        &parent, State{}, true /* is_parent_alias */));
   }
 
   bool Update(const EffectPaintPropertyNode& parent, State&& state) {
@@ -78,6 +83,7 @@
     if (state == state_)
       return parent_changed;
 
+    DCHECK(!IsParentAlias()) << "Changed the state of an alias node.";
     SetChanged();
     state_ = std::move(state);
     return true;
@@ -95,37 +101,58 @@
                const TransformPaintPropertyNode* transform_not_to_check) const;
 
   const TransformPaintPropertyNode* LocalTransformSpace() const {
+    DCHECK(!Parent() || !IsParentAlias());
     return state_.local_transform_space.get();
   }
   const ClipPaintPropertyNode* OutputClip() const {
+    DCHECK(!Parent() || !IsParentAlias());
     return state_.output_clip.get();
   }
 
-  SkBlendMode BlendMode() const { return state_.blend_mode; }
-  float Opacity() const { return state_.opacity; }
-  const CompositorFilterOperations& Filter() const { return state_.filter; }
-  ColorFilter GetColorFilter() const { return state_.color_filter; }
+  SkBlendMode BlendMode() const {
+    DCHECK(!Parent() || !IsParentAlias());
+    return state_.blend_mode;
+  }
+  float Opacity() const {
+    DCHECK(!Parent() || !IsParentAlias());
+    return state_.opacity;
+  }
+  const CompositorFilterOperations& Filter() const {
+    DCHECK(!Parent() || !IsParentAlias());
+    return state_.filter;
+  }
+  ColorFilter GetColorFilter() const {
+    DCHECK(!Parent() || !IsParentAlias());
+    return state_.color_filter;
+  }
 
   bool HasFilterThatMovesPixels() const {
+    DCHECK(!Parent() || !IsParentAlias());
     return state_.filter.HasFilterThatMovesPixels();
   }
 
-  FloatPoint PaintOffset() const { return state_.paint_offset; }
+  FloatPoint PaintOffset() const {
+    DCHECK(!Parent() || !IsParentAlias());
+    return state_.paint_offset;
+  }
 
   // Returns a rect covering the pixels that can be affected by pixels in
   // |inputRect|. The rects are in the space of localTransformSpace.
   FloatRect MapRect(const FloatRect& input_rect) const;
 
   bool HasDirectCompositingReasons() const {
+    DCHECK(!Parent() || !IsParentAlias());
     return state_.direct_compositing_reasons != CompositingReason::kNone;
   }
 
   bool RequiresCompositingForAnimation() const {
+    DCHECK(!Parent() || !IsParentAlias());
     return state_.direct_compositing_reasons &
            CompositingReason::kComboActiveAnimation;
   }
 
   const CompositorElementId& GetCompositorElementId() const {
+    DCHECK(!Parent() || !IsParentAlias());
     return state_.compositor_element_id;
   }
 
@@ -133,13 +160,15 @@
   // The clone function is used by FindPropertiesNeedingUpdate.h for recording
   // an effect node before it has been updated, to later detect changes.
   scoped_refptr<EffectPaintPropertyNode> Clone() const {
-    return base::AdoptRef(new EffectPaintPropertyNode(Parent(), State(state_)));
+    return base::AdoptRef(
+        new EffectPaintPropertyNode(Parent(), State(state_), IsParentAlias()));
   }
 
   // The equality operator is used by FindPropertiesNeedingUpdate.h for checking
   // if an effect node has changed.
   bool operator==(const EffectPaintPropertyNode& o) const {
-    return Parent() == o.Parent() && state_ == o.state_;
+    return Parent() == o.Parent() && state_ == o.state_ &&
+           IsParentAlias() == o.IsParentAlias();
   }
 #endif
 
@@ -149,8 +178,10 @@
   size_t TreeMemoryUsageInBytes() const;
 
  private:
-  EffectPaintPropertyNode(const EffectPaintPropertyNode* parent, State&& state)
-      : PaintPropertyNode(parent), state_(std::move(state)) {}
+  EffectPaintPropertyNode(const EffectPaintPropertyNode* parent,
+                          State&& state,
+                          bool is_parent_alias)
+      : PaintPropertyNode(parent, is_parent_alias), state_(std::move(state)) {}
 
   State state_;
 };
diff --git a/third_party/blink/renderer/platform/graphics/paint/geometry_mapper.cc b/third_party/blink/renderer/platform/graphics/paint/geometry_mapper.cc
index ae00c4d..4513fb9 100644
--- a/third_party/blink/renderer/platform/graphics/paint/geometry_mapper.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/geometry_mapper.cc
@@ -9,6 +9,11 @@
 
 namespace blink {
 
+template <typename NodeType>
+const NodeType* SafeUnalias(const NodeType* node) {
+  return node ? node->Unalias() : nullptr;
+}
+
 const TransformationMatrix& GeometryMapper::SourceToDestinationProjection(
     const TransformPaintPropertyNode* source,
     const TransformPaintPropertyNode* destination) {
@@ -67,6 +72,9 @@
   DEFINE_STATIC_LOCAL(TransformationMatrix, identity, (TransformationMatrix()));
   DEFINE_STATIC_LOCAL(TransformationMatrix, temp, (TransformationMatrix()));
 
+  source = source->Unalias();
+  destination = destination->Unalias();
+
   if (source == destination) {
     success = true;
     return identity;
@@ -145,8 +153,9 @@
     const PropertyTreeState& local_state,
     const PropertyTreeState& ancestor_state,
     const FloatPoint& local_point) {
-  for (const auto* clip = local_state.Clip();
-       clip && clip != ancestor_state.Clip(); clip = clip->Parent()) {
+  auto* ancestor_clip = ancestor_state.Clip()->Unalias();
+  for (const auto* clip = local_state.Clip()->Unalias();
+       clip && clip != ancestor_clip; clip = SafeUnalias(clip->Parent())) {
     FloatPoint mapped_point =
         SourceToDestinationProjection(local_state.Transform(),
                                       clip->LocalTransformSpace())
@@ -175,7 +184,8 @@
     return true;
   }
 
-  if (local_state.Effect() != ancestor_state.Effect()) {
+  if (SafeUnalias(local_state.Effect()) !=
+      SafeUnalias(ancestor_state.Effect())) {
     return SlowLocalToAncestorVisualRectWithEffects(
         local_state, ancestor_state, rect_to_map, clip_behavior,
         inclusive_behavior, success);
@@ -236,8 +246,10 @@
   PropertyTreeState last_transform_and_clip_state(local_state.Transform(),
                                                   local_state.Clip(), nullptr);
 
-  for (const auto* effect = local_state.Effect();
-       effect && effect != ancestor_state.Effect(); effect = effect->Parent()) {
+  auto* ancestor_effect = ancestor_state.Effect()->Unalias();
+  for (const auto* effect = local_state.Effect()->Unalias();
+       effect && effect != ancestor_effect;
+       effect = SafeUnalias(effect->Parent())) {
     if (!effect->HasFilterThatMovesPixels())
       continue;
 
@@ -272,7 +284,7 @@
     const PropertyTreeState& local_state,
     const PropertyTreeState& ancestor_state,
     OverlayScrollbarClipBehavior clip_behavior) {
-  if (local_state.Clip() == ancestor_state.Clip())
+  if (local_state.Clip()->Unalias() == ancestor_state.Clip()->Unalias())
     return FloatClipRect();
 
   bool success = false;
@@ -282,7 +294,7 @@
   DCHECK(success);
 
   // Many effects (e.g. filters, clip-paths) can make a clip rect not tight.
-  if (local_state.Effect() != ancestor_state.Effect())
+  if (SafeUnalias(local_state.Effect()) != SafeUnalias(ancestor_state.Effect()))
     result.ClearIsTight();
 
   return result;
@@ -290,6 +302,7 @@
 
 static FloatClipRect GetClipRect(const ClipPaintPropertyNode* clip_node,
                                  OverlayScrollbarClipBehavior clip_behavior) {
+  clip_node = clip_node->Unalias();
   FloatClipRect clip_rect(
       UNLIKELY(clip_behavior == kExcludeOverlayScrollbarSizeForHitTesting)
           ? clip_node->ClipRectExcludingOverlayScrollbars()
@@ -306,12 +319,14 @@
     OverlayScrollbarClipBehavior clip_behavior,
     InclusiveIntersectOrNot inclusive_behavior,
     bool& success) {
+  descendant = descendant->Unalias();
+  ancestor_clip = ancestor_clip->Unalias();
   if (descendant == ancestor_clip) {
     success = true;
     return FloatClipRect();
   }
-
-  if (descendant->Parent() == ancestor_clip &&
+  ancestor_transform = ancestor_transform->Unalias();
+  if (SafeUnalias(descendant->Parent()) == ancestor_clip &&
       descendant->LocalTransformSpace() == ancestor_transform) {
     success = true;
     return GetClipRect(descendant, clip_behavior);
@@ -337,7 +352,7 @@
     }
 
     intermediate_nodes.push_back(clip_node);
-    clip_node = clip_node->Parent();
+    clip_node = SafeUnalias(clip_node->Parent());
   }
   if (!clip_node) {
     success = false;
diff --git a/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_test.cc b/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_test.cc
index 9eef0c8..58d4e40 100644
--- a/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_test.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_test.cc
@@ -113,22 +113,21 @@
     EXPECT_EQ(expected_transform, actual_transform_to_ancestor);  \
   } while (false)
 
-#define CHECK_CACHED_CLIP()                                       \
-  do {                                                            \
-    if (ancestor_state.Effect() != local_state.Effect())          \
-      break;                                                      \
-    SCOPED_TRACE("Check cached clip");                            \
-    const auto* cached_clip =                                     \
-        GetCachedClip(local_state.Clip(), ancestor_state);        \
-    if (ancestor_state.Clip() == local_state.Clip() ||            \
-        (ancestor_state.Clip() == local_state.Clip()->Parent() && \
-         ancestor_state.Transform() ==                            \
-             local_state.Clip()->LocalTransformSpace())) {        \
-      EXPECT_EQ(nullptr, cached_clip);                            \
-      break;                                                      \
-    }                                                             \
-    ASSERT_NE(nullptr, cached_clip);                              \
-    EXPECT_CLIP_RECT_EQ(expected_clip, *cached_clip);             \
+#define CHECK_CACHED_CLIP()                                                  \
+  do {                                                                       \
+    if (ancestor_state.Effect() != local_state.Effect())                     \
+      break;                                                                 \
+    SCOPED_TRACE("Check cached clip");                                       \
+    auto* local_clip = local_state.Clip()->Unalias();                        \
+    const auto* cached_clip = GetCachedClip(local_clip, ancestor_state);     \
+    if (ancestor_state.Clip() == local_clip ||                               \
+        (ancestor_state.Clip() == local_clip->Parent() &&                    \
+         ancestor_state.Transform() == local_clip->LocalTransformSpace())) { \
+      EXPECT_EQ(nullptr, cached_clip);                                       \
+      break;                                                                 \
+    }                                                                        \
+    ASSERT_NE(nullptr, cached_clip);                                         \
+    EXPECT_CLIP_RECT_EQ(expected_clip, *cached_clip);                        \
   } while (false)
 
 // See the data fields of GeometryMapperTest for variables that will be used in
@@ -181,6 +180,22 @@
   EXPECT_FLOAT_RECT_NEAR(input_rect, rect);
 }
 
+TEST_P(GeometryMapperTest, TranslationTransformWithAlias) {
+  expected_transform = TransformationMatrix().Translate(20, 10);
+  auto real_transform = CreateTransform(t0(), expected_transform);
+  auto transform = TransformPaintPropertyNode::CreateAlias(*real_transform);
+  local_state.SetTransform(transform.get());
+
+  input_rect = FloatRect(0, 0, 100, 100);
+  expected_transformed_rect = expected_transform.MapRect(input_rect);
+  expected_visual_rect = FloatClipRect(expected_transformed_rect);
+  CHECK_MAPPINGS();
+
+  FloatRect rect = expected_transformed_rect;
+  GeometryMapper::SourceToDestinationRect(&t0(), local_state.Transform(), rect);
+  EXPECT_FLOAT_RECT_NEAR(input_rect, rect);
+}
+
 TEST_P(GeometryMapperTest, RotationAndScaleTransform) {
   expected_transform = TransformationMatrix().Rotate(45).Scale(2);
   auto transform = CreateTransform(t0(), expected_transform);
@@ -193,6 +208,19 @@
   CHECK_MAPPINGS();
 }
 
+TEST_P(GeometryMapperTest, RotationAndScaleTransformWithAlias) {
+  expected_transform = TransformationMatrix().Rotate(45).Scale(2);
+  auto real_transform = CreateTransform(t0(), expected_transform);
+  auto transform = TransformPaintPropertyNode::CreateAlias(*real_transform);
+  local_state.SetTransform(transform.get());
+
+  input_rect = FloatRect(0, 0, 100, 100);
+  expected_transformed_rect = expected_transform.MapRect(input_rect);
+  expected_visual_rect = FloatClipRect(expected_transformed_rect);
+  expected_visual_rect.ClearIsTight();
+  CHECK_MAPPINGS();
+}
+
 TEST_P(GeometryMapperTest, RotationAndScaleTransformWithTransformOrigin) {
   expected_transform = TransformationMatrix().Rotate(45).Scale(2);
   auto transform =
@@ -294,6 +322,18 @@
   CHECK_MAPPINGS();
 }
 
+TEST_P(GeometryMapperTest, SimpleClipWithAlias) {
+  auto real_clip = CreateClip(c0(), &t0(), FloatRoundedRect(10, 10, 50, 50));
+  auto clip = ClipPaintPropertyNode::CreateAlias(*real_clip);
+  local_state.SetClip(clip.get());
+
+  input_rect = FloatRect(0, 0, 100, 100);
+  expected_transformed_rect = input_rect;  // not clipped.
+  expected_clip = FloatClipRect(clip->Unalias()->ClipRect());
+  expected_visual_rect = expected_clip;
+  CHECK_MAPPINGS();
+}
+
 TEST_P(GeometryMapperTest, SimpleClipOverlayScrollbars) {
   ClipPaintPropertyNode::State clip_state;
   clip_state.local_transform_space = &t0();
@@ -652,6 +692,55 @@
   CHECK_MAPPINGS();
 }
 
+TEST_P(GeometryMapperTest, FilterWithClipsAndTransformsWithAlias) {
+  auto transform_above_effect =
+      CreateTransform(t0(), TransformationMatrix().Translate(40, 50));
+  auto transform_below_effect = CreateTransform(
+      *transform_above_effect, TransformationMatrix().Translate(20, 30));
+
+  // This clip is between transformAboveEffect and the effect.
+  auto clip_above_effect = CreateClip(c0(), transform_above_effect.get(),
+                                      FloatRoundedRect(-100, -100, 200, 200));
+  // This clip is between the effect and transformBelowEffect.
+  auto clip_below_effect =
+      CreateClip(*clip_above_effect, transform_above_effect.get(),
+                 FloatRoundedRect(10, 10, 100, 100));
+
+  CompositorFilterOperations filters;
+  filters.AppendBlurFilter(20);
+  auto real_effect = CreateFilterEffect(e0(), transform_above_effect.get(),
+                                        clip_above_effect.get(), filters);
+  auto effect = EffectPaintPropertyNode::CreateAlias(*real_effect);
+
+  local_state = PropertyTreeState(transform_below_effect.get(),
+                                  clip_below_effect.get(), effect.get());
+
+  input_rect = FloatRect(0, 0, 100, 100);
+  // 1. transformBelowEffect
+  auto output = transform_below_effect->Matrix().MapRect(input_rect);
+  // 2. clipBelowEffect
+  output.Intersect(clip_below_effect->ClipRect().Rect());
+  EXPECT_EQ(FloatRect(20, 30, 90, 80), output);
+  // 3. effect (the outset is 3 times of blur amount).
+  output = filters.MapRect(output);
+  EXPECT_EQ(FloatRect(-40, -30, 210, 200), output);
+  // 4. clipAboveEffect
+  output.Intersect(clip_above_effect->ClipRect().Rect());
+  EXPECT_EQ(FloatRect(-40, -30, 140, 130), output);
+  // 5. transformAboveEffect
+  output = transform_above_effect->Matrix().MapRect(output);
+  EXPECT_EQ(FloatRect(0, 20, 140, 130), output);
+
+  expected_transform =
+      transform_above_effect->Matrix() * transform_below_effect->Matrix();
+  expected_transformed_rect = expected_transform.MapRect(input_rect);
+  expected_visual_rect = FloatClipRect(output);
+  expected_visual_rect.ClearIsTight();
+  expected_clip = FloatClipRect(FloatRect(50, 60, 90, 90));
+  expected_clip.ClearIsTight();
+  CHECK_MAPPINGS();
+}
+
 TEST_P(GeometryMapperTest, ReflectionWithPaintOffset) {
   CompositorFilterOperations filters;
   filters.AppendReferenceFilter(PaintFilterBuilder::BuildBoxReflectFilter(
diff --git a/third_party/blink/renderer/platform/graphics/paint/property_tree_state.cc b/third_party/blink/renderer/platform/graphics/paint/property_tree_state.cc
index 8b0bfc87..45263767 100644
--- a/third_party/blink/renderer/platform/graphics/paint/property_tree_state.cc
+++ b/third_party/blink/renderer/platform/graphics/paint/property_tree_state.cc
@@ -16,6 +16,12 @@
   return root;
 }
 
+PropertyTreeState PropertyTreeState::Unalias() const {
+  return PropertyTreeState(transform_ ? transform_->Unalias() : nullptr,
+                           clip_ ? clip_->Unalias() : nullptr,
+                           effect_ ? effect_->Unalias() : nullptr);
+}
+
 const CompositorElementId PropertyTreeState::GetCompositorElementId(
     const CompositorElementIdSet& element_ids) const {
   // The effect or transform nodes could have a compositor element id. The order
diff --git a/third_party/blink/renderer/platform/graphics/paint/property_tree_state.h b/third_party/blink/renderer/platform/graphics/paint/property_tree_state.h
index 521aa15..60d60a0 100644
--- a/third_party/blink/renderer/platform/graphics/paint/property_tree_state.h
+++ b/third_party/blink/renderer/platform/graphics/paint/property_tree_state.h
@@ -25,7 +25,8 @@
                     const EffectPaintPropertyNode* effect)
       : transform_(transform), clip_(clip), effect_(effect) {}
 
-  bool HasDirectCompositingReasons() const;
+  // Returns an unaliased property tree state.
+  PropertyTreeState Unalias() const;
 
   const TransformPaintPropertyNode* Transform() const { return transform_; }
   void SetTransform(const TransformPaintPropertyNode* node) {
diff --git a/third_party/blink/renderer/platform/testing/paint_property_test_helpers.h b/third_party/blink/renderer/platform/testing/paint_property_test_helpers.h
index 5d852e9..3126bba 100644
--- a/third_party/blink/renderer/platform/testing/paint_property_test_helpers.h
+++ b/third_party/blink/renderer/platform/testing/paint_property_test_helpers.h
@@ -41,8 +41,9 @@
     const EffectPaintPropertyNode& parent,
     float opacity,
     CompositingReasons compositing_reasons = CompositingReason::kNone) {
-  return CreateOpacityEffect(parent, parent.LocalTransformSpace(),
-                             parent.OutputClip(), opacity, compositing_reasons);
+  return CreateOpacityEffect(parent, parent.Unalias()->LocalTransformSpace(),
+                             parent.Unalias()->OutputClip(), opacity,
+                             compositing_reasons);
 }
 
 inline scoped_refptr<EffectPaintPropertyNode> CreateFilterEffect(
@@ -66,9 +67,9 @@
     CompositorFilterOperations filter,
     const FloatPoint& paint_offset = FloatPoint(),
     CompositingReasons compositing_reasons = CompositingReason::kNone) {
-  return CreateFilterEffect(parent, parent.LocalTransformSpace(),
-                            parent.OutputClip(), filter, paint_offset,
-                            compositing_reasons);
+  return CreateFilterEffect(parent, parent.Unalias()->LocalTransformSpace(),
+                            parent.Unalias()->OutputClip(), filter,
+                            paint_offset, compositing_reasons);
 }
 
 inline scoped_refptr<ClipPaintPropertyNode> CreateClip(
diff --git a/third_party/blink/renderer/platform/wtf/threading_primitives.h b/third_party/blink/renderer/platform/wtf/threading_primitives.h
index 281c49f0..2d6f306 100644
--- a/third_party/blink/renderer/platform/wtf/threading_primitives.h
+++ b/third_party/blink/renderer/platform/wtf/threading_primitives.h
@@ -56,7 +56,9 @@
 #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
 struct PlatformMutex {
   pthread_mutex_t internal_mutex_;
+#if DCHECK_IS_ON()
   size_t recursion_count_;
+#endif
 };
 typedef pthread_cond_t PlatformCondition;
 #endif
diff --git a/third_party/blink/renderer/platform/wtf/threading_pthreads.cc b/third_party/blink/renderer/platform/wtf/threading_pthreads.cc
index 030c0364..4e7db8d 100644
--- a/third_party/blink/renderer/platform/wtf/threading_pthreads.cc
+++ b/third_party/blink/renderer/platform/wtf/threading_pthreads.cc
@@ -70,7 +70,9 @@
 
   int result = pthread_mutex_init(&mutex_.internal_mutex_, &attr);
   DCHECK_EQ(result, 0);
+#if DCHECK_IS_ON()
   mutex_.recursion_count_ = 0;
+#endif
 
   pthread_mutexattr_destroy(&attr);
 }
@@ -83,14 +85,18 @@
 void MutexBase::lock() {
   int result = pthread_mutex_lock(&mutex_.internal_mutex_);
   DCHECK_EQ(result, 0);
-  CHECK(!mutex_.recursion_count_)
+#if DCHECK_IS_ON()
+  DCHECK(!mutex_.recursion_count_)
       << "WTF does not support recursive mutex acquisition!";
   ++mutex_.recursion_count_;
+#endif
 }
 
 void MutexBase::unlock() {
+#if DCHECK_IS_ON()
   DCHECK(mutex_.recursion_count_);
   --mutex_.recursion_count_;
+#endif
   int result = pthread_mutex_unlock(&mutex_.internal_mutex_);
   DCHECK_EQ(result, 0);
 }
@@ -103,11 +109,13 @@
 bool Mutex::TryLock() {
   int result = pthread_mutex_trylock(&mutex_.internal_mutex_);
   if (result == 0) {
+#if DCHECK_IS_ON()
     // The Mutex class is not recursive, so the recursionCount should be
     // zero after getting the lock.
-    CHECK(!mutex_.recursion_count_)
+    DCHECK(!mutex_.recursion_count_)
         << "WTF does not support recursive mutex acquisition!";
     ++mutex_.recursion_count_;
+#endif
     return true;
   }
   if (result == EBUSY)
@@ -120,9 +128,11 @@
 bool RecursiveMutex::TryLock() {
   int result = pthread_mutex_trylock(&mutex_.internal_mutex_);
   if (result == 0) {
-    CHECK(!mutex_.recursion_count_)
+#if DCHECK_IS_ON()
+    DCHECK(!mutex_.recursion_count_)
         << "WTF does not support recursive mutex acquisition!";
     ++mutex_.recursion_count_;
+#endif
     return true;
   }
   if (result == EBUSY)
@@ -142,10 +152,14 @@
 
 void ThreadCondition::Wait() {
   base::ScopedBlockingCall scoped_blocking_call(base::BlockingType::MAY_BLOCK);
+#if DCHECK_IS_ON()
   --mutex_.recursion_count_;
+#endif
   int result = pthread_cond_wait(&condition_, &mutex_.internal_mutex_);
   DCHECK_EQ(result, 0);
+#if DCHECK_IS_ON()
   ++mutex_.recursion_count_;
+#endif
 }
 
 void ThreadCondition::Signal() {
diff --git a/third_party/blink/renderer/platform/wtf/threading_win.cc b/third_party/blink/renderer/platform/wtf/threading_win.cc
index fc375f8..4898e9a 100644
--- a/third_party/blink/renderer/platform/wtf/threading_win.cc
+++ b/third_party/blink/renderer/platform/wtf/threading_win.cc
@@ -122,7 +122,7 @@
 
 void MutexBase::lock() {
   EnterCriticalSection(&mutex_.internal_mutex_);
-  CHECK(!mutex_.recursion_count_)
+  DCHECK(!mutex_.recursion_count_)
       << "WTF does not support recursive mutex acquisition!";
   ++mutex_.recursion_count_;
 }
@@ -149,7 +149,7 @@
     // check in the lock method (presumably due to performance?). This
     // means lock() will succeed even if the current thread has already
     // entered the critical section.
-    CHECK(!mutex_.recursion_count_)
+    DCHECK(!mutex_.recursion_count_)
         << "WTF does not support recursive mutex acquisition!";
     if (mutex_.recursion_count_ > 0) {
       LeaveCriticalSection(&mutex_.internal_mutex_);
@@ -169,7 +169,7 @@
   if (result == 0) {  // We didn't get the lock.
     return false;
   }
-  CHECK(!mutex_.recursion_count_)
+  DCHECK(!mutex_.recursion_count_)
       << "WTF does not support recursive mutex acquisition!";
   ++mutex_.recursion_count_;
   return true;
diff --git a/third_party/blink/tools/audit_non_blink_usage.py b/third_party/blink/tools/audit_non_blink_usage.py
index eb63f531..acd308d 100755
--- a/third_party/blink/tools/audit_non_blink_usage.py
+++ b/third_party/blink/tools/audit_non_blink_usage.py
@@ -521,6 +521,8 @@
         A list of line number, disallowed identifier tuples.
     """
     results = []
+    # Because Windows.
+    path = path.replace('\\', '/')
     basename, ext = os.path.splitext(path)
     # Only check code. Ignore tests.
     # TODO(tkent): Remove 'Test' after the great mv.
diff --git a/third_party/closure_compiler/externs/file_manager_private.js b/third_party/closure_compiler/externs/file_manager_private.js
index de5ae60..ddeeac9 100644
--- a/third_party/closure_compiler/externs/file_manager_private.js
+++ b/third_party/closure_compiler/externs/file_manager_private.js
@@ -798,13 +798,6 @@
 chrome.fileManagerPrivate.requestWebStoreAccessToken = function(callback) {};
 
 /**
- * Requests a share dialog url for the specified file.
- * @param {!Entry} entry
- * @param {function((string|undefined))} callback Callback with the result url.
- */
-chrome.fileManagerPrivate.getShareUrl = function(entry, callback) {};
-
-/**
  * Requests a download url to download the file contents.
  * @param {!Entry} entry
  * @param {function((string|undefined))} callback Callback with the result url.
diff --git a/third_party/libaom/README.chromium b/third_party/libaom/README.chromium
index 36d9de6..f9f90329 100644
--- a/third_party/libaom/README.chromium
+++ b/third_party/libaom/README.chromium
@@ -2,9 +2,9 @@
 Short Name: libaom
 URL: https://aomedia.googlesource.com/aom/
 Version: 0
-Date: Tuesday September 11 2018
+Date: Thursday September 13 2018
 Branch: master
-Commit: 7d447f5b0021abd363dd64912c59196393e9b159
+Commit: 67645b8f529cd4e56b31147db57882089345bedc
 License: BSD
 License File: source/libaom/LICENSE
 Security Critical: yes
diff --git a/third_party/libaom/source/config/config/aom_version.h b/third_party/libaom/source/config/config/aom_version.h
index cb2f632..af5e3774 100644
--- a/third_party/libaom/source/config/config/aom_version.h
+++ b/third_party/libaom/source/config/config/aom_version.h
@@ -12,8 +12,8 @@
 #define VERSION_MAJOR 1
 #define VERSION_MINOR 0
 #define VERSION_PATCH 0
-#define VERSION_EXTRA "541-g7d447f5b0"
+#define VERSION_EXTRA "566-g67645b8f5"
 #define VERSION_PACKED \
   ((VERSION_MAJOR << 16) | (VERSION_MINOR << 8) | (VERSION_PATCH))
-#define VERSION_STRING_NOSP "1.0.0-541-g7d447f5b0"
-#define VERSION_STRING " 1.0.0-541-g7d447f5b0"
+#define VERSION_STRING_NOSP "1.0.0-566-g67645b8f5"
+#define VERSION_STRING " 1.0.0-566-g67645b8f5"
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h
index 7ad23d63..f23dae8 100644
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h
@@ -556,6 +556,12 @@
                                      const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -568,6 +574,12 @@
                                    const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -964,36 +976,36 @@
     const int subpel_y_q4,
     ConvolveParams* conv_params);
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_neon(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
-RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t* dgd8,
-                                               int width,
-                                               int height,
-                                               int dgd_stride,
-                                               int32_t* flt0,
-                                               int32_t* flt1,
-                                               int flt_stride,
-                                               int sgr_params_idx,
-                                               int bit_depth,
-                                               int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_neon(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
+RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8,
+                                              int width,
+                                              int height,
+                                              int dgd_stride,
+                                              int32_t* flt0,
+                                              int32_t* flt1,
+                                              int flt_stride,
+                                              int sgr_params_idx,
+                                              int bit_depth,
+                                              int highbd);
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
 #define av1_upsample_intra_edge av1_upsample_intra_edge_c
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h b/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h
index 18c2386..7433e42 100644
--- a/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h
@@ -495,6 +495,12 @@
                                      const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -507,6 +513,12 @@
                                    const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -856,26 +868,26 @@
                              ConvolveParams* conv_params);
 #define av1_jnt_convolve_y av1_jnt_convolve_y_neon
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_neon(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_neon(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
 #define av1_selfguided_restoration av1_selfguided_restoration_neon
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
diff --git a/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h b/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h
index c01c44b..919c420 100644
--- a/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h
@@ -430,6 +430,12 @@
                                      const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -442,6 +448,12 @@
                                    const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -743,16 +755,16 @@
                           ConvolveParams* conv_params);
 #define av1_jnt_convolve_y av1_jnt_convolve_y_c
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
 #define av1_selfguided_restoration av1_selfguided_restoration_c
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
diff --git a/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h b/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h
index 18c2386..7433e42 100644
--- a/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h
@@ -495,6 +495,12 @@
                                      const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -507,6 +513,12 @@
                                    const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -856,26 +868,26 @@
                              ConvolveParams* conv_params);
 #define av1_jnt_convolve_y av1_jnt_convolve_y_neon
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_neon(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_neon(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
 #define av1_selfguided_restoration av1_selfguided_restoration_neon
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
diff --git a/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h b/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h
index ade634d..2e48c32 100644
--- a/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h
@@ -430,6 +430,12 @@
                                      const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_16x16 av1_highbd_inv_txfm_add_16x16_c
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_16x8 av1_highbd_inv_txfm_add_16x8_c
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -442,6 +448,12 @@
                                    const TxfmParam* txfm_param);
 #define av1_highbd_inv_txfm_add_4x4 av1_highbd_inv_txfm_add_4x4_c
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+#define av1_highbd_inv_txfm_add_8x16 av1_highbd_inv_txfm_add_8x16_c
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -743,16 +755,16 @@
                           ConvolveParams* conv_params);
 #define av1_jnt_convolve_y av1_jnt_convolve_y_c
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
 #define av1_selfguided_restoration av1_selfguided_restoration_c
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
diff --git a/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h b/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h
index a1a5fae..e7019f2 100644
--- a/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h
@@ -940,6 +940,19 @@
                                                   int stride,
                                                   const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -966,6 +979,19 @@
                                                 int stride,
                                                 const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -1655,46 +1681,46 @@
     const int subpel_y_q4,
     ConvolveParams* conv_params);
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
-                                       int width,
-                                       int height,
-                                       int dgd_stride,
-                                       int32_t* flt0,
-                                       int32_t* flt1,
-                                       int flt_stride,
-                                       int sgr_params_idx,
-                                       int bit_depth,
-                                       int highbd);
-void av1_selfguided_restoration_avx2(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
-RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t* dgd8,
-                                               int width,
-                                               int height,
-                                               int dgd_stride,
-                                               int32_t* flt0,
-                                               int32_t* flt1,
-                                               int flt_stride,
-                                               int sgr_params_idx,
-                                               int bit_depth,
-                                               int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
+                                      int width,
+                                      int height,
+                                      int dgd_stride,
+                                      int32_t* flt0,
+                                      int32_t* flt1,
+                                      int flt_stride,
+                                      int sgr_params_idx,
+                                      int bit_depth,
+                                      int highbd);
+int av1_selfguided_restoration_avx2(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
+RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8,
+                                              int width,
+                                              int height,
+                                              int dgd_stride,
+                                              int32_t* flt0,
+                                              int32_t* flt1,
+                                              int flt_stride,
+                                              int sgr_params_idx,
+                                              int bit_depth,
+                                              int highbd);
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
 void av1_upsample_intra_edge_sse4_1(uint8_t* p, int sz);
@@ -2121,12 +2147,18 @@
   av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
+  av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
   av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
   if (flags & HAS_AVX2)
     av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
   av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
+  av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
   av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
diff --git a/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h b/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h
index e6e4c68..6aa4f72 100644
--- a/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h
@@ -973,6 +973,19 @@
                                                   int stride,
                                                   const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -999,6 +1012,19 @@
                                                 int stride,
                                                 const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -1688,46 +1714,46 @@
     const int subpel_y_q4,
     ConvolveParams* conv_params);
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
-                                       int width,
-                                       int height,
-                                       int dgd_stride,
-                                       int32_t* flt0,
-                                       int32_t* flt1,
-                                       int flt_stride,
-                                       int sgr_params_idx,
-                                       int bit_depth,
-                                       int highbd);
-void av1_selfguided_restoration_avx2(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
-RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t* dgd8,
-                                               int width,
-                                               int height,
-                                               int dgd_stride,
-                                               int32_t* flt0,
-                                               int32_t* flt1,
-                                               int flt_stride,
-                                               int sgr_params_idx,
-                                               int bit_depth,
-                                               int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
+                                      int width,
+                                      int height,
+                                      int dgd_stride,
+                                      int32_t* flt0,
+                                      int32_t* flt1,
+                                      int flt_stride,
+                                      int sgr_params_idx,
+                                      int bit_depth,
+                                      int highbd);
+int av1_selfguided_restoration_avx2(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
+RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8,
+                                              int width,
+                                              int height,
+                                              int dgd_stride,
+                                              int32_t* flt0,
+                                              int32_t* flt1,
+                                              int flt_stride,
+                                              int sgr_params_idx,
+                                              int bit_depth,
+                                              int highbd);
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
 void av1_upsample_intra_edge_sse4_1(uint8_t* p, int sz);
@@ -2154,12 +2180,18 @@
   av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
+  av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
   av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
   if (flags & HAS_AVX2)
     av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
   av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
+  av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
   av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
diff --git a/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h b/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h
index a1a5fae..e7019f2 100644
--- a/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h
@@ -940,6 +940,19 @@
                                                   int stride,
                                                   const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -966,6 +979,19 @@
                                                 int stride,
                                                 const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -1655,46 +1681,46 @@
     const int subpel_y_q4,
     ConvolveParams* conv_params);
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
-                                       int width,
-                                       int height,
-                                       int dgd_stride,
-                                       int32_t* flt0,
-                                       int32_t* flt1,
-                                       int flt_stride,
-                                       int sgr_params_idx,
-                                       int bit_depth,
-                                       int highbd);
-void av1_selfguided_restoration_avx2(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
-RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t* dgd8,
-                                               int width,
-                                               int height,
-                                               int dgd_stride,
-                                               int32_t* flt0,
-                                               int32_t* flt1,
-                                               int flt_stride,
-                                               int sgr_params_idx,
-                                               int bit_depth,
-                                               int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
+                                      int width,
+                                      int height,
+                                      int dgd_stride,
+                                      int32_t* flt0,
+                                      int32_t* flt1,
+                                      int flt_stride,
+                                      int sgr_params_idx,
+                                      int bit_depth,
+                                      int highbd);
+int av1_selfguided_restoration_avx2(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
+RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8,
+                                              int width,
+                                              int height,
+                                              int dgd_stride,
+                                              int32_t* flt0,
+                                              int32_t* flt1,
+                                              int flt_stride,
+                                              int sgr_params_idx,
+                                              int bit_depth,
+                                              int highbd);
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
 void av1_upsample_intra_edge_sse4_1(uint8_t* p, int sz);
@@ -2121,12 +2147,18 @@
   av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
+  av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
   av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
   if (flags & HAS_AVX2)
     av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
   av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
+  av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
   av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
diff --git a/third_party/libaom/source/config/win/x64/config/av1_rtcd.h b/third_party/libaom/source/config/win/x64/config/av1_rtcd.h
index e6e4c68..6aa4f72 100644
--- a/third_party/libaom/source/config/win/x64/config/av1_rtcd.h
+++ b/third_party/libaom/source/config/win/x64/config/av1_rtcd.h
@@ -973,6 +973,19 @@
                                                   int stride,
                                                   const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_16x8_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_16x8_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_16x8)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_32x32_c(const tran_low_t* dqcoeff,
                                      uint8_t* dst,
                                      int stride,
@@ -999,6 +1012,19 @@
                                                 int stride,
                                                 const TxfmParam* txfm_param);
 
+void av1_highbd_inv_txfm_add_8x16_c(const tran_low_t* dqcoeff,
+                                    uint8_t* dst,
+                                    int stride,
+                                    const TxfmParam* txfm_param);
+void av1_highbd_inv_txfm_add_8x16_sse4_1(const tran_low_t* dqcoeff,
+                                         uint8_t* dst,
+                                         int stride,
+                                         const TxfmParam* txfm_param);
+RTCD_EXTERN void (*av1_highbd_inv_txfm_add_8x16)(const tran_low_t* dqcoeff,
+                                                 uint8_t* dst,
+                                                 int stride,
+                                                 const TxfmParam* txfm_param);
+
 void av1_highbd_inv_txfm_add_8x8_c(const tran_low_t* dqcoeff,
                                    uint8_t* dst,
                                    int stride,
@@ -1688,46 +1714,46 @@
     const int subpel_y_q4,
     ConvolveParams* conv_params);
 
-void av1_selfguided_restoration_c(const uint8_t* dgd8,
-                                  int width,
-                                  int height,
-                                  int dgd_stride,
-                                  int32_t* flt0,
-                                  int32_t* flt1,
-                                  int flt_stride,
-                                  int sgr_params_idx,
-                                  int bit_depth,
-                                  int highbd);
-void av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
-                                       int width,
-                                       int height,
-                                       int dgd_stride,
-                                       int32_t* flt0,
-                                       int32_t* flt1,
-                                       int flt_stride,
-                                       int sgr_params_idx,
-                                       int bit_depth,
-                                       int highbd);
-void av1_selfguided_restoration_avx2(const uint8_t* dgd8,
-                                     int width,
-                                     int height,
-                                     int dgd_stride,
-                                     int32_t* flt0,
-                                     int32_t* flt1,
-                                     int flt_stride,
-                                     int sgr_params_idx,
-                                     int bit_depth,
-                                     int highbd);
-RTCD_EXTERN void (*av1_selfguided_restoration)(const uint8_t* dgd8,
-                                               int width,
-                                               int height,
-                                               int dgd_stride,
-                                               int32_t* flt0,
-                                               int32_t* flt1,
-                                               int flt_stride,
-                                               int sgr_params_idx,
-                                               int bit_depth,
-                                               int highbd);
+int av1_selfguided_restoration_c(const uint8_t* dgd8,
+                                 int width,
+                                 int height,
+                                 int dgd_stride,
+                                 int32_t* flt0,
+                                 int32_t* flt1,
+                                 int flt_stride,
+                                 int sgr_params_idx,
+                                 int bit_depth,
+                                 int highbd);
+int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8,
+                                      int width,
+                                      int height,
+                                      int dgd_stride,
+                                      int32_t* flt0,
+                                      int32_t* flt1,
+                                      int flt_stride,
+                                      int sgr_params_idx,
+                                      int bit_depth,
+                                      int highbd);
+int av1_selfguided_restoration_avx2(const uint8_t* dgd8,
+                                    int width,
+                                    int height,
+                                    int dgd_stride,
+                                    int32_t* flt0,
+                                    int32_t* flt1,
+                                    int flt_stride,
+                                    int sgr_params_idx,
+                                    int bit_depth,
+                                    int highbd);
+RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8,
+                                              int width,
+                                              int height,
+                                              int dgd_stride,
+                                              int32_t* flt0,
+                                              int32_t* flt1,
+                                              int flt_stride,
+                                              int sgr_params_idx,
+                                              int bit_depth,
+                                              int highbd);
 
 void av1_upsample_intra_edge_c(uint8_t* p, int sz);
 void av1_upsample_intra_edge_sse4_1(uint8_t* p, int sz);
@@ -2154,12 +2180,18 @@
   av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_16x16 = av1_highbd_inv_txfm_add_16x16_sse4_1;
+  av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_16x8 = av1_highbd_inv_txfm_add_16x8_sse4_1;
   av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_c;
   if (flags & HAS_AVX2)
     av1_highbd_inv_txfm_add_32x32 = av1_highbd_inv_txfm_add_32x32_avx2;
   av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_4x4 = av1_highbd_inv_txfm_add_4x4_sse4_1;
+  av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_c;
+  if (flags & HAS_SSE4_1)
+    av1_highbd_inv_txfm_add_8x16 = av1_highbd_inv_txfm_add_8x16_sse4_1;
   av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_c;
   if (flags & HAS_SSE4_1)
     av1_highbd_inv_txfm_add_8x8 = av1_highbd_inv_txfm_add_8x8_sse4_1;
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index b8a84d9..1d4b447 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -29218,6 +29218,7 @@
   <int value="-170986053" label="EnableManualFallbacksFilling:enabled"/>
   <int value="-167744090" label="EnableHomeLauncher:enabled"/>
   <int value="-165756594" label="enable-touch-feedback"/>
+  <int value="-161782023" label="AndroidMessagesProdEndpoint:enabled"/>
   <int value="-159877930" label="MaterialDesignUserManager:disabled"/>
   <int value="-158549277" label="enable-embeddedsearch-api"/>
   <int value="-152677714" label="AsmJsToWebAssembly:enabled"/>
@@ -30243,6 +30244,7 @@
   <int value="1888812860" label="ChromeModernAlternateCardLayout:enabled"/>
   <int value="1889076955" label="disable-app-link"/>
   <int value="1891210939" label="enable-blink-features"/>
+  <int value="1891312456" label="AndroidMessagesProdEndpoint:disabled"/>
   <int value="1892201400" label="enable-password-separated-signin-flow"/>
   <int value="1892311584" label="NewStyleNotifications:disabled"/>
   <int value="1892640848" label="third-party-doodle-url"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 725d174..9aa248b 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -121093,6 +121093,8 @@
 </histogram_suffixes>
 
 <histogram_suffixes name="CustomTabOpenSource" separator=".">
+  <suffix name="MediaLauncherActivity"
+      label="CustomTab opened by MediaLauncherActivity."/>
   <suffix name="Other" label="CustomTab opened by other apps."/>
   <suffix name="TWA" label="CustomTab opened by Trusted Web Activity."/>
   <suffix name="WebApk" label="CustomTab opened by WebApk."/>
@@ -124570,6 +124572,10 @@
 
 <histogram_suffixes name="NavigationTypeTiming" separator=".">
   <suffix name="BackForward" label="History (back/forward) navigation"/>
+  <suffix name="BackgroundProcessPriority"
+      label="process priority = background"/>
+  <suffix name="ForegroundProcessPriority"
+      label="process priority = foreground"/>
   <suffix name="NewNavigation" label="New navigation"/>
   <suffix name="Reload" label="Reload"/>
   <affected-histogram name="Navigation.IsSameProcess"/>
diff --git a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
index 809a927c..a64e32e 100644
--- a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
+++ b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
@@ -22,6 +22,10 @@
 
 scoped_refptr<BitmapCursorOzone> CreateDefaultBitmapCursor(CursorType type) {
   Cursor cursor(type);
+  // Ozone must honor the lowest possible scale value, which is 1.0f. Otherwise,
+  // it can happen that cursor chooses wrong hotspots if max scaling value is
+  // set to 200p, for example.
+  cursor.set_device_scale_factor(1.0f);
   SkBitmap bitmap = cursor.GetBitmap();
   gfx::Point hotspot = cursor.GetHotspot();
   if (!bitmap.isNull())
diff --git a/ui/file_manager/externs/command_handler_deps.js b/ui/file_manager/externs/command_handler_deps.js
index 2e5ff96..7573da93 100644
--- a/ui/file_manager/externs/command_handler_deps.js
+++ b/ui/file_manager/externs/command_handler_deps.js
@@ -94,7 +94,7 @@
 CommandHandlerDeps.prototype.volumeManager;
 
 /**
- * @return {DirectoryEntry|FakeEntry|FilesAppEntry}
+ * @return {DirectoryEntry|FilesAppEntry}
  */
 CommandHandlerDeps.prototype.getCurrentDirectoryEntry = function() {};
 
diff --git a/ui/file_manager/externs/volume_info_list.js b/ui/file_manager/externs/volume_info_list.js
index da5715f..09a362b 100644
--- a/ui/file_manager/externs/volume_info_list.js
+++ b/ui/file_manager/externs/volume_info_list.js
@@ -47,7 +47,7 @@
 
 /**
  * Searches the information of the volume that contains the passed entry.
- * @param {!Entry|!FakeEntry|!FilesAppEntry} entry Entry on the volume to be
+ * @param {!Entry|!FilesAppEntry} entry Entry on the volume to be
  *     found.
  * @return {VolumeInfo} The volume's information, or null if not found.
  */
diff --git a/ui/file_manager/externs/volume_manager.js b/ui/file_manager/externs/volume_manager.js
index ba92628..4072811 100644
--- a/ui/file_manager/externs/volume_manager.js
+++ b/ui/file_manager/externs/volume_manager.js
@@ -59,7 +59,7 @@
 /**
  * Obtains location information from an entry.
  *
- * @param {!Entry|!FakeEntry|!FilesAppEntry} entry File or directory entry. It
+ * @param {!Entry|!FilesAppEntry} entry File or directory entry. It
  *     can be a fake entry.
  * @return {EntryLocation} Location information.
  */
diff --git a/ui/file_manager/file_manager/background/js/device_handler_unittest.html b/ui/file_manager/file_manager/background/js/device_handler_unittest.html
index 0ef3316..49a1c13 100644
--- a/ui/file_manager/file_manager/background/js/device_handler_unittest.html
+++ b/ui/file_manager/file_manager/background/js/device_handler_unittest.html
@@ -19,6 +19,7 @@
 <script src="../../common/js/mock_entry.js"></script>
 <script src="../../common/js/volume_manager_common.js"></script>
 <script src="../../common/js/importer_common.js"></script>
+<script src="../../common/js/files_app_entry_types.js"></script>
 <script src="../../common/js/util.js"></script>
 <script src="device_handler.js"></script>
 <script src="mock_volume_manager.js"></script>
diff --git a/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.html b/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.html
index dce0ddb..04ee1fe 100644
--- a/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.html
+++ b/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.html
@@ -17,6 +17,7 @@
   <script src="../../common/js/mock_entry.js"></script>
   <script src="../../common/js/test_tracker.js"></script>
   <script src="../../common/js/unittest_util.js"></script>
+  <script src="../../common/js/files_app_entry_types.js"></script>
   <script src="../../common/js/util.js"></script>
   <script src="../../common/js/volume_manager_common.js"></script>
   <script src="../../common/js/importer_common.js"></script>
diff --git a/ui/file_manager/file_manager/background/js/media_import_handler_unittest.html b/ui/file_manager/file_manager/background/js/media_import_handler_unittest.html
index b58a48c..db6286d5 100644
--- a/ui/file_manager/file_manager/background/js/media_import_handler_unittest.html
+++ b/ui/file_manager/file_manager/background/js/media_import_handler_unittest.html
@@ -18,6 +18,7 @@
   <script src="../../common/js/metrics_events.js"></script>
   <script src="../../common/js/mock_entry.js"></script>
   <script src="../../common/js/unittest_util.js"></script>
+  <script src="../../common/js/files_app_entry_types.js"></script>
   <script src="../../common/js/util.js"></script>
   <script src="../../common/js/volume_manager_common.js"></script>
   <script src="../../common/js/importer_common.js"></script>
diff --git a/ui/file_manager/file_manager/background/js/mock_volume_manager.js b/ui/file_manager/file_manager/background/js/mock_volume_manager.js
index 19402d5..6fe0b63 100644
--- a/ui/file_manager/file_manager/background/js/mock_volume_manager.js
+++ b/ui/file_manager/file_manager/background/js/mock_volume_manager.js
@@ -59,7 +59,7 @@
 /**
  * Returns the corresponding VolumeInfo.
  *
- * @param {!Entry|!FakeEntry|!FilesAppEntry} entry FileEntry pointing anywhere
+ * @param {!Entry|!FilesAppEntry} entry FileEntry pointing anywhere
  *     on a volume.
  * @return {VolumeInfo} Corresponding VolumeInfo.
  */
@@ -71,13 +71,13 @@
  * Obtains location information from an entry.
  * Current implementation can handle only fake entries.
  *
- * @param {!Entry|!FakeEntry|!FilesAppEntry} entry A fake entry.
+ * @param {!Entry|!FilesAppEntry} entry A fake entry.
  * @return {EntryLocation} Location information.
  */
 MockVolumeManager.prototype.getLocationInfo = function(entry) {
   if (util.isFakeEntry(entry)) {
     return new EntryLocationImpl(
-        this.volumeInfoList.item(0), entry.rootType, true, true);
+        this.volumeInfoList.item(0), assert(entry.rootType), true, true);
   }
 
   if (entry.filesystem.name === VolumeManagerCommon.VolumeType.DRIVE) {
@@ -242,7 +242,7 @@
  * Obtains location information from an entry.
  * Current implementation can handle only fake entries.
  *
- * @param {!Entry} entry A fake entry.
+ * @param {!Entry|!FilesAppEntry} entry A fake entry.
  * @return {EntryLocation} Location information.
  */
 MockVolumeManagerWrapper.prototype.getLocationInfo = function(entry) {
diff --git a/ui/file_manager/file_manager/background/js/volume_info_impl.js b/ui/file_manager/file_manager/background/js/volume_info_impl.js
index 7075b68..230072aa 100644
--- a/ui/file_manager/file_manager/background/js/volume_info_impl.js
+++ b/ui/file_manager/file_manager/background/js/volume_info_impl.js
@@ -69,17 +69,15 @@
   this.displayRootPromise_ = null;
 
   if (volumeType === VolumeManagerCommon.VolumeType.DRIVE) {
-    // TODO(mtomasz): Convert fake entries to DirectoryProvider.
-    this.fakeEntries_[VolumeManagerCommon.RootType.DRIVE_OFFLINE] = {
-      isDirectory: true,
-      rootType: VolumeManagerCommon.RootType.DRIVE_OFFLINE,
-      toURL: function() { return 'fake-entry://drive_offline'; }
-    };
-    this.fakeEntries_[VolumeManagerCommon.RootType.DRIVE_SHARED_WITH_ME] = {
-      isDirectory: true,
-      rootType: VolumeManagerCommon.RootType.DRIVE_SHARED_WITH_ME,
-      toURL: function() { return 'fake-entry://drive_shared_with_me'; }
-    };
+    this.fakeEntries_[VolumeManagerCommon.RootType.DRIVE_OFFLINE] =
+        new FakeEntry(
+            str('DRIVE_OFFLINE_COLLECTION_LABEL'),
+            VolumeManagerCommon.RootType.DRIVE_OFFLINE, true);
+
+    this.fakeEntries_[VolumeManagerCommon.RootType.DRIVE_SHARED_WITH_ME] =
+        new FakeEntry(
+            str('DRIVE_SHARED_WITH_ME_COLLECTION_LABEL'),
+            VolumeManagerCommon.RootType.DRIVE_SHARED_WITH_ME, true);
   }
 
   // Note: This represents if the mounting of the volume is successfully done
diff --git a/ui/file_manager/file_manager/background/js/volume_manager_impl.js b/ui/file_manager/file_manager/background/js/volume_manager_impl.js
index 60095e8c..d26067d 100644
--- a/ui/file_manager/file_manager/background/js/volume_manager_impl.js
+++ b/ui/file_manager/file_manager/background/js/volume_manager_impl.js
@@ -290,7 +290,7 @@
 
   if (util.isFakeEntry(entry)) {
     return new EntryLocationImpl(
-        volumeInfo, entry.rootType,
+        volumeInfo, assert(entry.rootType),
         true /* the entry points a root directory. */,
         true /* fake entries are read only. */);
   }
diff --git a/ui/file_manager/file_manager/background/js/volume_manager_unittest.html b/ui/file_manager/file_manager/background/js/volume_manager_unittest.html
index 94ed65c..4e3aff7 100644
--- a/ui/file_manager/file_manager/background/js/volume_manager_unittest.html
+++ b/ui/file_manager/file_manager/background/js/volume_manager_unittest.html
@@ -14,6 +14,7 @@
   <script src="../../common/js/async_util.js"></script>
   <script src="../../common/js/mock_entry.js"></script>
   <script src="../../common/js/unittest_util.js"></script>
+  <script src="../../common/js/files_app_entry_types.js"></script>
   <script src="../../common/js/util.js"></script>
   <script src="../../common/js/volume_manager_common.js"></script>
   <script src="entry_location_impl.js"></script>
diff --git a/ui/file_manager/file_manager/common/js/files_app_entry_types.js b/ui/file_manager/file_manager/common/js/files_app_entry_types.js
index 47238ef..faad490c 100644
--- a/ui/file_manager/file_manager/common/js/files_app_entry_types.js
+++ b/ui/file_manager/file_manager/common/js/files_app_entry_types.js
@@ -35,14 +35,14 @@
 class FilesAppEntry {
   constructor() {
     /**
-     * @public {!boolean} true if this entry represents a Directory-like entry,
+     * @public {boolean} true if this entry represents a Directory-like entry,
      * as in have sub-entries and implements {createReader} method.
      * This attribute is defined on Entry.
      */
     this.isDirectory = false;
 
     /**
-     * @public {!boolean} true if this entry represents a File-like entry.
+     * @public {boolean} true if this entry represents a File-like entry.
      * Implementations of FilesAppEntry are expected to have this as |true|.
      * Whereas implementations of FilesAppDirEntry are expected to have this as
      * |false|.
@@ -66,11 +66,14 @@
     this.name = '';
 
     /**
-     * @public {!string} the class name for this class. It's workaround for the
+     * @public {string} the class name for this class. It's workaround for the
      * fact that an instance created on foreground page and sent to background
      * page can't be checked with "instanceof".
      */
     this.type_name = 'FilesAppEntry';
+
+    /** @public {VolumeManagerCommon.RootType|null} */
+    this.rootType = null;
   }
 
   /**
@@ -81,7 +84,7 @@
   getParent(success, error) {}
 
   /**
-   * @return {!string} used to compare entries. It should return an unique
+   * @return {string} used to compare entries. It should return an unique
    * identifier for such entry, usually prefixed with it's root type like:
    * "fake-entry://unique/path/to/entry".
    * This method is defined on Entry.
@@ -101,7 +104,7 @@
   /**
    * Returns true if this entry object has a native representation such as Entry
    * or DirectoryEntry, this means it can interact with VolumeManager.
-   * @return {!boolean}
+   * @return {boolean}
    */
   get isNativeType() {}
 }
@@ -115,7 +118,7 @@
  */
 class StaticReader {
   /**
-   * @param {Array<Entry|FakeEntry|FilesAppEntry>} children: Array of Entry-like
+   * @param {!Array<!Entry|!FilesAppEntry>} children: Array of Entry-like
    * instances that will be returned/read by this reader.
    */
   constructor(children) {
@@ -158,7 +161,7 @@
   constructor() {
     super();
     /**
-     * @public {!boolean} true if this entry represents a Directory-like entry,
+     * @public {boolean} true if this entry represents a Directory-like entry,
      * as in have sub-entries and implements {createReader} method.
      * Implementations of FilesAppEntry are expected to have this as |true|.
      * This attribute is defined on Entry.
@@ -200,7 +203,7 @@
     this.rootType_ = rootType;
 
     /**
-     * @private {!Array<!Entry|!FilesAppEntry|!FakeEntry>} children entries of
+     * @private {!Array<!Entry|!FilesAppEntry>} children entries of
      * this EntryList instance.
      */
     this.children_ = [];
@@ -238,7 +241,7 @@
   }
 
   /**
-   * @return {!string} used to compare entries.
+   * @return {string} used to compare entries.
    * @override
    */
   toURL() {
@@ -259,7 +262,7 @@
   }
 
   /**
-   * @param {!Entry|!FakeEntry|!FilesAppEntry} entry that should be added as
+   * @param {!Entry|!FilesAppEntry} entry that should be added as
    * child of this EntryList.
    * This method is specific to EntryList instance.
    */
@@ -285,7 +288,7 @@
   }
 
   /**
-   * @param {!Entry|!FakeEntry|!FilesAppEntry} entry that should be removed as
+   * @param {!Entry|!FilesAppEntry} entry that should be removed as
    * child of this EntryList.
    * This method is specific to EntryList instance.
    * @return {boolean} if entry was removed.
@@ -399,7 +402,7 @@
   }
 
   /**
-   * @return {!string} Full path for this volume.
+   * @return {string} Full path for this volume.
    * This method is defined on Entry.
    * @override.
    */
@@ -414,7 +417,7 @@
   }
 
   /**
-   * @return {!string} Name for this volume.
+   * @return {string} Name for this volume.
    * @override.
    */
   get name() {
@@ -479,3 +482,86 @@
     this.volumeInfo_.prefixEntry = entry;
   }
 }
+
+/**
+ * FakeEntry is used for entries that used only for UI, that weren't generated
+ * by FileSystem API, like Drive, Downloads or Provided.
+ *
+ * @implements FilesAppEntry
+ */
+class FakeEntry {
+  /**
+   * @param {string} label Translated text to be displayed to user.
+   * @param {!VolumeManagerCommon.RootType} rootType Root type of this entry.
+   * @param {boolean} isDirectory Is this entry a directory-like entry?
+   * @param {chrome.fileManagerPrivate.SourceRestriction=} opt_sourceRestriction
+   *    used on Recents to filter the source of recent files/directories.
+   */
+  constructor(label, rootType, isDirectory, opt_sourceRestriction) {
+    /**
+     * @public {string} label: Label to be used when displaying to user, it
+     *      should be already translated. */
+    this.label = label;
+
+    /** @public {string} Name for this volume. */
+    this.name = label;
+
+    /** @public {!VolumeManagerCommon.RootType} */
+    this.rootType = rootType;
+
+    /**
+     * @public {boolean} true if this entry represents a Directory-like entry.
+     */
+    this.isDirectory = isDirectory;
+
+    /** @public {boolean} true if this entry represents a File-like entry. */
+    this.isFile = !this.isDirectory;
+
+    /**
+     * @public {chrome.fileManagerPrivate.SourceRestriction|undefined} It's used
+     * to communicate restrictions about sources to
+     * chrome.fileManagerPrivate.getRecentFiles API.
+     */
+    this.sourceRestriction = opt_sourceRestriction;
+
+    /**
+     * @public {string} the class name for this class. It's workaround for the
+     * fact that an instance created on foreground page and sent to background
+     * page can't be checked with "instanceof".
+     */
+    this.type_name = 'FakeEntry';
+  }
+
+  /**
+   * FakeEntry is used as root, so doesn't have a parent and should return
+   * itself.
+   *
+   *  @override
+   */
+  getParent(success, error) {
+    setTimeout(success, 0, this);
+  }
+
+  /** @override */
+  toURL() {
+    return 'fake-entry://' + this.rootType;
+  }
+
+  /**
+   * String used to determine the icon.
+   * @return {string}
+   */
+  get iconName() {
+    return /** @type{string} */ (this.rootType);
+  }
+
+  /** @override */
+  getMetadata(success, error) {
+    setTimeout(() => success({}));
+  }
+
+  /** @override */
+  get isNativeType() {
+    return false;
+  }
+}
diff --git a/ui/file_manager/file_manager/common/js/files_app_entry_types_unittest.js b/ui/file_manager/file_manager/common/js/files_app_entry_types_unittest.js
index a8ac05e..262fd15 100644
--- a/ui/file_manager/file_manager/common/js/files_app_entry_types_unittest.js
+++ b/ui/file_manager/file_manager/common/js/files_app_entry_types_unittest.js
@@ -337,3 +337,50 @@
   // entryList is parent of volumeEntry so it should be its prefix.
   assertEquals(entryList, volumeEntry.volumeInfo.prefixEntry);
 }
+
+/**
+ * Test FakeEntry, which is only static data.
+ */
+function testFakeEntry(testReportCallback) {
+  let fakeEntry =
+      new FakeEntry('label', VolumeManagerCommon.RootType.CROSTINI, true, null);
+
+  assertEquals(null, fakeEntry.sourceRestriction);
+  assertEquals('FakeEntry', fakeEntry.type_name);
+  assertEquals('label', fakeEntry.label);
+  assertEquals('label', fakeEntry.name);
+  assertEquals('fake-entry://crostini', fakeEntry.toURL());
+  assertEquals('crostini', fakeEntry.iconName);
+  assertEquals(VolumeManagerCommon.RootType.CROSTINI, fakeEntry.rootType);
+  assertFalse(fakeEntry.isNativeType);
+  assertTrue(fakeEntry.isDirectory);
+  assertFalse(fakeEntry.isFile);
+
+  // Check the isDirectory and sourceRestriction constructor args.
+  fakeEntry = new FakeEntry(
+      'label', VolumeManagerCommon.RootType.CROSTINI, false,
+      AllowedPaths.NATIVE_PATH);
+  assertEquals(AllowedPaths.NATIVE_PATH, fakeEntry.sourceRestriction);
+  assertFalse(fakeEntry.isDirectory);
+  assertTrue(fakeEntry.isFile);
+
+  let callCounter = 0;
+
+  fakeEntry.getMetadata((metadata) => {
+    // Returns empty metadata {}.
+    assertEquals(0, Object.keys(metadata).length);
+    callCounter++;
+  });
+  fakeEntry.getParent((parentEntry) => {
+    // Should return itself.
+    assertEquals(fakeEntry, parentEntry);
+    callCounter++;
+  });
+
+  reportPromise(
+      waitUntil(() => {
+        // It should be called for getMetadata and for getParent.
+        return callCounter == 2;
+      }),
+      testReportCallback);
+}
diff --git a/ui/file_manager/file_manager/common/js/importer_common.js b/ui/file_manager/file_manager/common/js/importer_common.js
index bca92c9..eb36378 100644
--- a/ui/file_manager/file_manager/common/js/importer_common.js
+++ b/ui/file_manager/file_manager/common/js/importer_common.js
@@ -183,7 +183,7 @@
  * Returns true if the entry represents a media directory for the purposes
  * of Cloud Import.
  *
- * @param {Entry|FakeEntry|FilesAppEntry} entry
+ * @param {Entry|FilesAppEntry} entry
  * @param {VolumeManagerCommon.VolumeInfoProvider} volumeInfoProvider
  * @return {boolean}
  */
diff --git a/ui/file_manager/file_manager/common/js/importer_common_unittest.html b/ui/file_manager/file_manager/common/js/importer_common_unittest.html
index 0e83618..601a062 100644
--- a/ui/file_manager/file_manager/common/js/importer_common_unittest.html
+++ b/ui/file_manager/file_manager/common/js/importer_common_unittest.html
@@ -11,6 +11,7 @@
   <script src="../../../../../ui/webui/resources/js/cr/ui/array_data_model.js"></script>
   <script src="../../../../../ui/webui/resources/js/load_time_data.js"></script>
   <script src="volume_manager_common.js"></script>
+  <script src="files_app_entry_types.js"></script>
   <script src="../../common/js/lru_cache.js"></script>
   <script src="../../background/js/entry_location_impl.js"></script>
   <script src="../../background/js/metadata_proxy.js"></script>
diff --git a/ui/file_manager/file_manager/common/js/util.js b/ui/file_manager/file_manager/common/js/util.js
index 86e07ec..2f8fb65 100644
--- a/ui/file_manager/file_manager/common/js/util.js
+++ b/ui/file_manager/file_manager/common/js/util.js
@@ -649,7 +649,7 @@
 
 /**
  * Obtains whether an entry is fake or not.
- * @param {(!Entry|!FakeEntry|!FilesAppEntry)} entry Entry or a fake entry.
+ * @param {(!Entry|!FilesAppEntry)} entry Entry or a fake entry.
  * @return {boolean} True if the given entry is fake.
  * @suppress {missingProperties} Closure compiler doesn't allow to call isNative
  * on Entry which is native and thus doesn't define this property, however we
@@ -665,7 +665,7 @@
 
 /**
  * Obtains whether an entry is the root directory of a Team Drive.
- * @param {(!Entry|!FakeEntry|!FilesAppEntry)|null} entry Entry or a fake entry.
+ * @param {Entry|FilesAppEntry} entry Entry or a fake entry.
  * @return {boolean} True if the given entry is root of a Team Drive.
  */
 util.isTeamDriveRoot = function(entry) {
@@ -691,7 +691,7 @@
 
 /**
  * Obtains whether an entry is descendant of the Team Drives directory.
- * @param {(!Entry|!FakeEntry|!FilesAppEntry)} entry Entry or a fake entry.
+ * @param {!Entry|!FilesAppEntry} entry Entry or a fake entry.
  * @return {boolean} True if the given entry is under Team Drives.
  */
 util.isTeamDriveEntry = function(entry) {
@@ -719,7 +719,7 @@
 
 /**
  * Returns true if the given entry is the root folder of recent files.
- * @param {(!Entry|!FakeEntry|!FilesAppEntry)} entry Entry or a fake entry.
+ * @param {!Entry|!FilesAppEntry} entry Entry or a fake entry.
  * @returns {boolean}
  */
 util.isRecentRoot = function(entry) {
@@ -779,10 +779,10 @@
 
 /**
  * Compares two entries.
- * @param {Entry|FakeEntry|FilesAppEntry} entry1 The entry to be compared. Can
- *     be a fake.
- * @param {Entry|FakeEntry|FilesAppEntry} entry2 The entry to be compared. Can
- *     be a fake.
+ * @param {Entry|FilesAppEntry} entry1 The entry to be compared. Can
+ * be a fake.
+ * @param {Entry|FilesAppEntry} entry2 The entry to be compared. Can
+ * be a fake.
  * @return {boolean} True if the both entry represents a same file or
  *     directory. Returns true if both entries are null.
  */
@@ -880,7 +880,7 @@
  * Checks if {@code entry} is an immediate child of {@code directory}.
  *
  * @param {Entry} entry The presumptive child.
- * @param {DirectoryEntry|FakeEntry|FilesAppEntry} directory The presumptive
+ * @param {DirectoryEntry|FilesAppEntry} directory The presumptive
  *     parent.
  * @return {!Promise<boolean>} Resolves with true if {@code directory} is
  *     parent of {@code entry}.
@@ -904,9 +904,9 @@
  * Checks if the child entry is a descendant of another entry. If the entries
  * point to the same file or directory, then returns false.
  *
- * @param {!DirectoryEntry|!FakeEntry} ancestorEntry The ancestor directory
- *     entry. Can be a fake.
- * @param {!Entry|!FakeEntry} childEntry The child entry. Can be a fake.
+ * @param {!DirectoryEntry|!FilesAppEntry} ancestorEntry The ancestor
+ *     directory entry. Can be a fake.
+ * @param {!Entry|!FilesAppEntry} childEntry The child entry. Can be a fake.
  * @return {boolean} True if the child entry is contained in the ancestor path.
  */
 util.isDescendantEntry = function(ancestorEntry, childEntry) {
@@ -1469,7 +1469,7 @@
  * property without Closure compiler complaining.
  * TODO(lucmult): Wrap Entry in a FilesAppEntry derived class and remove
  * this function. https://crbug.com/835203.
- * @param {Entry|FilesAppEntry|FakeEntry} entry
+ * @param {Entry|FilesAppEntry} entry
  * @return {FilesAppEntry}
  */
 util.toFilesAppEntry = function(entry) {
@@ -1481,7 +1481,7 @@
  * returns false if it's FakeEntry or any one of the FilesAppEntry types.
  * TODO(lucmult): Wrap Entry in a FilesAppEntry derived class and remove
  * this function. https://crbug.com/835203.
- * @param {Entry|FilesAppEntry|FakeEntry} entry
+ * @param {Entry|FilesAppEntry} entry
  * @return {boolean}
  */
 util.isNativeEntry = function(entry) {
diff --git a/ui/file_manager/file_manager/common/js/volume_manager_common.js b/ui/file_manager/file_manager/common/js/volume_manager_common.js
index ef373583..73a29aa 100644
--- a/ui/file_manager/file_manager/common/js/volume_manager_common.js
+++ b/ui/file_manager/file_manager/common/js/volume_manager_common.js
@@ -341,7 +341,7 @@
 
 /**
  * Obtains a volume info containing the passed entry.
- * @param {!Entry|!FakeEntry|!FilesAppEntry} entry Entry on the volume to be
+ * @param {!Entry|!FilesAppEntry} entry Entry on the volume to be
  *     returned. Can be fake.
  * @return {?VolumeInfo} The VolumeInfo instance or null if not found.
  */
@@ -373,19 +373,6 @@
 };
 
 /**
- * Fake entries for virtual folders which hold Google Drive offline files,
- * Google Drive "Shared with me" files, and mixed Recent files.
- * |sourceRestriction| is valid only for the Recent folder.
- * @typedef {{
- *   isDirectory: boolean,
- *   rootType: VolumeManagerCommon.RootType,
- *   toURL: function(): string,
- *   sourceRestriction: (string|undefined)
- * }}
- */
-var FakeEntry;
-
-/**
   * An event name trigerred when a user tries to mount the volume which is
   * already mounted. The event object must have a volumeId property.
   * @const {string}
diff --git a/ui/file_manager/file_manager/foreground/elements/files_quick_view.html b/ui/file_manager/file_manager/foreground/elements/files_quick_view.html
index 7245e280..4f14f6ec 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_quick_view.html
+++ b/ui/file_manager/file_manager/foreground/elements/files_quick_view.html
@@ -40,7 +40,7 @@
             </template>
             <!-- document/HTML -->
             <template is="dom-if" if="[[isHtml_(type, subtype)]]">
-              <files-safe-media hidden="[[!contentUrl]]" type="html" class="content" src="[[contentUrl]]"></files-safe-media>
+              <files-safe-media hidden="[[!contentUrl]]" type="html" class="content text-content" src="[[contentUrl]]"></files-safe-media>
               <template is="dom-if" if="[[!contentUrl]]">
                 <div generic-thumbnail="[[type]]"></div>
                 <div class="no-preview">[[noPreviewText]]</div>
diff --git a/ui/file_manager/file_manager/foreground/js/BUILD.gn b/ui/file_manager/file_manager/foreground/js/BUILD.gn
index 4387a271..45305c7 100644
--- a/ui/file_manager/file_manager/foreground/js/BUILD.gn
+++ b/ui/file_manager/file_manager/foreground/js/BUILD.gn
@@ -56,7 +56,6 @@
     ":scan_controller",
     ":search_controller",
     ":selection_menu_controller",
-    ":share_client",
     ":sort_menu_controller",
     ":spinner_controller",
     ":task_controller",
@@ -117,11 +116,11 @@
 js_library("actions_model") {
   deps = [
     ":folder_shortcuts_data_model",
+    "../../common/js:util",
     "metadata:metadata_model",
     "ui:error_dialog",
     "ui:files_alert_dialog",
     "ui:list_container",
-    "ui:share_dialog",
     "//ui/webui/resources/js:cr",
   ]
 }
@@ -549,14 +548,6 @@
   ]
 }
 
-js_library("share_client") {
-  deps = [
-    "../../../externs:webview_tag",
-    "../../common/js:volume_manager_common",
-    "//ui/webui/resources/js/cr:event_target",
-  ]
-}
-
 js_library("sort_menu_controller") {
   deps = [
     ":file_list_model",
diff --git a/ui/file_manager/file_manager/foreground/js/actions_model.js b/ui/file_manager/file_manager/foreground/js/actions_model.js
index 632241f..3a762ac0 100644
--- a/ui/file_manager/file_manager/foreground/js/actions_model.js
+++ b/ui/file_manager/file_manager/foreground/js/actions_model.js
@@ -34,7 +34,6 @@
  *  alertDialog: FilesAlertDialog,
  *  errorDialog: ErrorDialog,
  *  listContainer: ListContainer,
- *  shareDialog: ShareDialog,
  * }}
  */
 var ActionModelUI;
@@ -91,32 +90,25 @@
  * @override
  */
 DriveShareAction.prototype.execute = function() {
-  // For Team Drives entries, open the Sharing dialog in a new window.
-  if (util.isTeamDriveEntry(this.entry_)) {
-    chrome.fileManagerPrivate.getEntryProperties(
-        [this.entry_], ['shareUrl'], function(results) {
-          if (chrome.runtime.lastError) {
-            console.error(chrome.runtime.lastError.message);
-            return;
-          }
-          if (results.length != 1) {
-            console.error(
-                'getEntryProperties for shareUrl should return 1 entry ' +
-                '(returned ' + results.length + ')');
-            return;
-          }
-          if (results[0].shareUrl === undefined) {
-            console.error('getEntryProperties shareUrl is undefined');
-            return;
-          }
-          util.visitURL(results[0].shareUrl);
-        }.bind(this));
-    return;
-  }
-  this.ui_.shareDialog.showEntry(this.entry_, function(result) {
-    if (result == ShareDialog.Result.NETWORK_ERROR)
-      this.ui_.errorDialog.show(str('SHARE_ERROR'), null, null, null);
-  }.bind(this));
+  // Open the Sharing dialog in a new window.
+  chrome.fileManagerPrivate.getEntryProperties(
+      [this.entry_], ['shareUrl'], function(results) {
+        if (chrome.runtime.lastError) {
+          console.error(chrome.runtime.lastError.message);
+          return;
+        }
+        if (results.length != 1) {
+          console.error(
+              'getEntryProperties for shareUrl should return 1 entry ' +
+              '(returned ' + results.length + ')');
+          return;
+        }
+        if (results[0].shareUrl === undefined) {
+          console.error('getEntryProperties shareUrl is undefined');
+          return;
+        }
+        util.visitURL(results[0].shareUrl);
+      }.bind(this));
 };
 
 /**
diff --git a/ui/file_manager/file_manager/foreground/js/actions_model_unittest.html b/ui/file_manager/file_manager/foreground/js/actions_model_unittest.html
index b1adba13..4e16461 100644
--- a/ui/file_manager/file_manager/foreground/js/actions_model_unittest.html
+++ b/ui/file_manager/file_manager/foreground/js/actions_model_unittest.html
@@ -14,6 +14,7 @@
 
 <script src="../../common/js/mock_entry.js"></script>
 <script src="../../common/js/unittest_util.js"></script>
+<script src="../../common/js/files_app_entry_types.js"></script>
 <script src="../../common/js/util.js"></script>
 <script src="../../common/js/volume_manager_common.js"></script>
 
diff --git a/ui/file_manager/file_manager/foreground/js/directory_contents.js b/ui/file_manager/file_manager/foreground/js/directory_contents.js
index 668b0d3..d04448f 100644
--- a/ui/file_manager/file_manager/foreground/js/directory_contents.js
+++ b/ui/file_manager/file_manager/foreground/js/directory_contents.js
@@ -787,8 +787,8 @@
 
 /**
  * @return {DirectoryEntry|FakeEntry|FilesAppDirEntry} A DirectoryEntry for
- *     current directory.
- *     In case of search -- the top directory from which search is run.
+ *     current directory. In case of search -- the top directory from which
+ *     search is run.
  */
 DirectoryContents.prototype.getDirectoryEntry = function() {
   return this.directoryEntry_;
diff --git a/ui/file_manager/file_manager/foreground/js/directory_model.js b/ui/file_manager/file_manager/foreground/js/directory_model.js
index 8c073fc..d30947e8 100644
--- a/ui/file_manager/file_manager/foreground/js/directory_model.js
+++ b/ui/file_manager/file_manager/foreground/js/directory_model.js
@@ -1209,7 +1209,7 @@
  * Creates directory contents for the entry and query.
  *
  * @param {FileListContext} context File list context.
- * @param {!DirectoryEntry|!FakeEntry|!FilesAppEntry} entry Current directory.
+ * @param {!DirectoryEntry|!FilesAppEntry} entry Current directory.
  * @param {string=} opt_query Search query string.
  * @return {DirectoryContents} Directory contents.
  * @private
diff --git a/ui/file_manager/file_manager/foreground/js/file_manager.js b/ui/file_manager/file_manager/foreground/js/file_manager.js
index 63e14f4..78b6df95 100644
--- a/ui/file_manager/file_manager/foreground/js/file_manager.js
+++ b/ui/file_manager/file_manager/foreground/js/file_manager.js
@@ -1204,14 +1204,11 @@
         fakeEntriesVisible &&
                 !DialogType.isFolderDialog(this.launchParams_.type) ?
             new NavigationModelFakeItem(
-                str('RECENT_ROOT_LABEL'), NavigationModelItemType.RECENT, {
-                  isDirectory: true,
-                  rootType: VolumeManagerCommon.RootType.RECENT,
-                  toURL: function() {
-                    return 'fake-entry://recent';
-                  },
-                  sourceRestriction: this.getSourceRestriction_()
-                }) :
+                str('RECENT_ROOT_LABEL'), NavigationModelItemType.RECENT,
+                new FakeEntry(
+                    str('RECENT_ROOT_LABEL'),
+                    VolumeManagerCommon.RootType.RECENT, true,
+                    this.getSourceRestriction_())) :
             null,
         null,  // TODO(crbug.com/869252) remove this null.
         this.commandLineFlags_['disable-my-files-navigation']);
@@ -1227,18 +1224,10 @@
     chrome.fileManagerPrivate.isCrostiniEnabled((enabled) => {
       this.directoryTree.dataModel.linuxFilesItem = enabled ?
           new NavigationModelFakeItem(
-              str('LINUX_FILES_ROOT_LABEL'), NavigationModelItemType.CROSTINI, {
-                isDirectory: true,
-                rootType: VolumeManagerCommon.RootType.CROSTINI,
-                name: str('LINUX_FILES_ROOT_LABEL'),
-                toURL: () => {
-                  return 'fake-entry://linux-files';
-                },
-                getMetadata: (onSuccess) => {
-                  onSuccess({});
-                },
-                iconName: VolumeManagerCommon.VolumeType.CROSTINI,
-              }) :
+              str('LINUX_FILES_ROOT_LABEL'), NavigationModelItemType.CROSTINI,
+              new FakeEntry(
+                  str('LINUX_FILES_ROOT_LABEL'),
+                  VolumeManagerCommon.RootType.CROSTINI, true)) :
           null;
       this.directoryTree.redraw(false);
     });
diff --git a/ui/file_manager/file_manager/foreground/js/file_manager_commands.js b/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
index e41092d..6099bfe0 100644
--- a/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
+++ b/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
@@ -69,7 +69,7 @@
  *
  * @param {EventTarget} element Element which is the command event's target.
  * @param {DirectoryModel} directoryModel
- * @return {DirectoryEntry|FakeEntry|FilesAppEntry} The extracted parent entry.
+ * @return {DirectoryEntry|FilesAppEntry} The extracted parent entry.
  */
 CommandUtil.getParentEntry = function(element, directoryModel) {
   if (element instanceof DirectoryTree) {
diff --git a/ui/file_manager/file_manager/foreground/js/file_transfer_controller.js b/ui/file_manager/file_manager/foreground/js/file_transfer_controller.js
index 53f2130..5840cd33 100644
--- a/ui/file_manager/file_manager/foreground/js/file_transfer_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/file_transfer_controller.js
@@ -1501,7 +1501,7 @@
 
 /**
  * @param {!ClipboardData} clipboardData Clipboard data object.
- * @param {DirectoryEntry|FakeEntry|FilesAppEntry} destinationEntry Destination
+ * @param {DirectoryEntry|FilesAppEntry} destinationEntry Destination
  *    entry.
  * @return {boolean} Returns true if items stored in {@code clipboardData} can
  *     be pasted to {@code destinationEntry}. Otherwise, returns false.
@@ -1541,7 +1541,7 @@
 /**
  * Execute paste command.
  *
- * @param {DirectoryEntry|FakeEntry|FilesAppEntry} destinationEntry
+ * @param {DirectoryEntry|FilesAppEntry} destinationEntry
  * @return {boolean}  Returns true, the paste is success. Otherwise, returns
  *     false.
  */
@@ -1649,7 +1649,7 @@
  * @param {!Event} event Drag event.
  * @param {Object<string>} dragAndDropData drag & drop data from
  *     getDragAndDropGlobalData_().
- * @param {DirectoryEntry|FakeEntry|FilesAppEntry} destinationEntry Destination
+ * @param {DirectoryEntry|FilesAppEntry} destinationEntry Destination
  *     entry.
  * @return {DropEffectAndLabel} Returns the appropriate drop query type
  *     ('none', 'move' or copy') to the current modifiers status and the
diff --git a/ui/file_manager/file_manager/foreground/js/import_controller.js b/ui/file_manager/file_manager/foreground/js/import_controller.js
index c935ab6..74444fc 100644
--- a/ui/file_manager/file_manager/foreground/js/import_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/import_controller.js
@@ -1071,7 +1071,7 @@
 
 /**
  * Returns the directory entry for the current directory.
- * @return {DirectoryEntry|FakeEntry|FilesAppEntry}
+ * @return {DirectoryEntry|FilesAppEntry}
  */
 importer.ControllerEnvironment.prototype.getCurrentDirectory;
 
diff --git a/ui/file_manager/file_manager/foreground/js/import_controller_unittest.html b/ui/file_manager/file_manager/foreground/js/import_controller_unittest.html
index 56930128..27cc1c9 100644
--- a/ui/file_manager/file_manager/foreground/js/import_controller_unittest.html
+++ b/ui/file_manager/file_manager/foreground/js/import_controller_unittest.html
@@ -17,6 +17,7 @@
   <script src="../../common/js/async_util.js"></script>
   <script src="../../common/js/mock_entry.js"></script>
   <script src="../../common/js/unittest_util.js"></script>
+  <script src="../../common/js/files_app_entry_types.js"></script>
   <script src="../../common/js/util.js"></script>
   <script src="../../common/js/metrics_base.js"></script>
   <script src="../../common/js/metrics_events.js"></script>
diff --git a/ui/file_manager/file_manager/foreground/js/main_scripts.js b/ui/file_manager/file_manager/foreground/js/main_scripts.js
index 99d513d..3d346db 100644
--- a/ui/file_manager/file_manager/foreground/js/main_scripts.js
+++ b/ui/file_manager/file_manager/foreground/js/main_scripts.js
@@ -152,7 +152,6 @@
 // <include src="scan_controller.js">
 // <include src="search_controller.js">
 // <include src="selection_menu_controller.js">
-// <include src="share_client.js">
 // <include src="spinner_controller.js">
 // <include src="task_controller.js">
 // <include src="task_history.js">
@@ -186,7 +185,6 @@
 // <include src="ui/progress_center_panel.js">
 // <include src="ui/providers_menu.js">
 // <include src="ui/search_box.js">
-// <include src="ui/share_dialog.js">
 // <include src="ui/suggest_apps_dialog.js">
 // <include src="main_window_component.js">
 // <include src="volume_manager_wrapper.js">
diff --git a/ui/file_manager/file_manager/foreground/js/main_window_component.js b/ui/file_manager/file_manager/foreground/js/main_window_component.js
index b7fd19f..cb61acef 100644
--- a/ui/file_manager/file_manager/foreground/js/main_window_component.js
+++ b/ui/file_manager/file_manager/foreground/js/main_window_component.js
@@ -474,7 +474,6 @@
 MainWindowComponent.prototype.onDriveConnectionChanged_ = function() {
   var connection = this.volumeManager_.getDriveConnectionState();
   this.ui_.dialogContainer.setAttribute('connection', connection.type);
-  this.ui_.shareDialog.hideWithResult(ShareDialog.Result.NETWORK_ERROR);
   this.ui_.suggestAppsDialog.onDriveConnectionChanged(connection.type);
 };
 
diff --git a/ui/file_manager/file_manager/foreground/js/navigation_list_model.js b/ui/file_manager/file_manager/foreground/js/navigation_list_model.js
index 048f898..3f8e3aa6 100644
--- a/ui/file_manager/file_manager/foreground/js/navigation_list_model.js
+++ b/ui/file_manager/file_manager/foreground/js/navigation_list_model.js
@@ -163,7 +163,7 @@
  *
  * @param {string} label Label on the menu button.
  * @param {NavigationModelItemType} type
- * @param {!FakeEntry} entry Fake entry for the root folder.
+ * @param {!FilesAppEntry} entry Fake entry for the root folder.
  * @constructor
  * @extends {NavigationModelItem}
  * @struct
diff --git a/ui/file_manager/file_manager/foreground/js/providers_model_unittest.html b/ui/file_manager/file_manager/foreground/js/providers_model_unittest.html
index 4e005fe..b2c1115 100644
--- a/ui/file_manager/file_manager/foreground/js/providers_model_unittest.html
+++ b/ui/file_manager/file_manager/foreground/js/providers_model_unittest.html
@@ -15,6 +15,7 @@
 
 <script src="../../common/js/mock_entry.js"></script>
 <script src="../../common/js/unittest_util.js"></script>
+<script src="../../common/js/files_app_entry_types.js"></script>
 <script src="../../common/js/util.js"></script>
 <script src="../../common/js/volume_manager_common.js"></script>
 
diff --git a/ui/file_manager/file_manager/foreground/js/share_client.js b/ui/file_manager/file_manager/foreground/js/share_client.js
deleted file mode 100644
index f332dd6b..0000000
--- a/ui/file_manager/file_manager/foreground/js/share_client.js
+++ /dev/null
@@ -1,178 +0,0 @@
-// Copyright 2013 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.
-
-/**
- * @param {WebView} webView Web View tag.
- * @param {string} url Share Url for an entry.
- * @param {ShareClient.Observer} observer Observer instance.
- * @constructor
- */
-function ShareClient(webView, url, observer) {
-  this.webView_ = webView;
-  this.url_ = url;
-  this.observer_ = observer;
-  this.loaded_ = false;
-  this.loading_ = false;
-  this.onMessageBound_ = this.onMessage_.bind(this);
-  this.onLoadStopBound_ = this.onLoadStop_.bind(this);
-  this.onLoadAbortBound_ = this.onLoadAbort_.bind(this);
-}
-
-/**
- * Target origin of the embedded dialog.
- * @type {string}
- * @const
- */
-ShareClient.SHARE_TARGET = 'https://drive.google.com';
-
-/**
- * Observes for state changes of the embedded dialog.
- * @interface
- */
-ShareClient.Observer = function() {
-};
-
-/**
- * Notifies about the embedded dialog being loaded.
- */
-ShareClient.Observer.prototype.onLoaded = function() {
-};
-
-/**
- * Notifies when the the embedded dialog failed to load.
- */
-ShareClient.Observer.prototype.onLoadFailed = function() {
-};
-
-/**
- * Notifies about changed dimensions of the embedded dialog.
- * @param {number} width Width in pixels.
- * @param {number} height Height in pixels.
- * @param {function()} callback Completion callback. Call when finished
- *     handling the resize.
- */
-ShareClient.Observer.prototype.onResized = function(width, height, callback) {
-};
-
-/**
- * Notifies about the embedded dialog being closed.
- */
-ShareClient.Observer.prototype.onClosed = function() {
-};
-
-/**
- * Handles messages from the embedded dialog.
- * @param {Event} e Message event.
- * @private
- */
-ShareClient.prototype.onMessage_ = function(e) {
-  if (e.origin != ShareClient.SHARE_TARGET && !window.IN_TEST) {
-    // Logs added temporarily to track crbug.com/288783.
-    console.debug('Received a message from an illegal origin: ' + e.origin);
-    return;
-  }
-
-  var data = JSON.parse(e.data);
-  // Logs added temporarily to track crbug.com/288783.
-  console.debug('Received message: ' + data.type);
-
-  switch (data.type) {
-    case 'resize':
-      this.observer_.onResized(data.args.width,
-                               data.args.height,
-                               this.postMessage_.bind(this, 'resizeComplete'));
-      break;
-    case 'prepareForVisible':
-      this.postMessage_('prepareComplete');
-      if (!this.loaded_) {
-        this.loading_ = false;
-        this.loaded_ = true;
-        this.observer_.onLoaded();
-      }
-      break;
-    case 'setVisible':
-      if (!data.args.visible)
-        this.observer_.onClosed();
-      break;
-  }
-};
-
-/**
- * Handles completion of the web view request.
- * @param {Event} e Message event.
- * @private
- */
-ShareClient.prototype.onLoadStop_ = function(e) {
-  // Logs added temporarily to track crbug.com/288783.
-  console.debug('Web View loaded.');
-
-  this.postMessage_('makeBodyVisible');
-};
-
-/**
- * Handles termination of the web view request.
- * @param {Event} e Message event.
- * @private
- */
-ShareClient.prototype.onLoadAbort_ = function(e) {
-  // Logs added temporarily to track crbug.com/288783.
-  console.debug('Web View failed to load with error: ' + e.reason + ', url: ' +
-      e.url + ' while requested: ' + this.url_);
-
-  this.observer_.onLoadFailed();
-};
-
-/**
- * Sends a message to the embedded dialog.
- * @param {string} type Message type.
- * @param {Object=} opt_args Optional arguments.
- * @private
- */
-ShareClient.prototype.postMessage_ = function(type, opt_args) {
-  // Logs added temporarily to track crbug.com/288783.
-  console.debug('Sending message: ' + type);
-
-  var message = {
-    type: type,
-    args: opt_args
-  };
-  this.webView_.contentWindow.postMessage(
-      JSON.stringify(message),
-      !window.IN_TEST ? ShareClient.SHARE_TARGET : '*');
-};
-
-/**
- * Loads the embedded dialog. Can be called only one.
- */
-ShareClient.prototype.load = function() {
-  if (this.loading_ || this.loaded_)
-    throw new Error('Already loaded.');
-  this.loading_ = true;
-
-  // Logs added temporarily to track crbug.com/288783.
-  console.debug('Loading.');
-
-  window.addEventListener('message', this.onMessageBound_);
-  this.webView_.addEventListener('loadstop', this.onLoadStopBound_);
-  this.webView_.addEventListener('loadabort', this.onLoadAbortBound_);
-  this.webView_.setAttribute('src', this.url_);
-};
-
-/**
- * Aborts loading of the embedded dialog and performs cleanup.
- */
-ShareClient.prototype.abort = function() {
-  window.removeEventListener('message', this.onMessageBound_);
-  this.webView_.removeEventListener('loadstop', this.onLoadStopBound_);
-  this.webView_.removeEventListener(
-      'loadabort', this.onLoadAbortBound_);
-  this.webView_.stop();
-};
-
-/**
- * Cleans the dialog by removing all handlers.
- */
-ShareClient.prototype.dispose = function() {
-  this.abort();
-};
diff --git a/ui/file_manager/file_manager/foreground/js/task_controller.js b/ui/file_manager/file_manager/foreground/js/task_controller.js
index ab85fd53..eea1b09d 100644
--- a/ui/file_manager/file_manager/foreground/js/task_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/task_controller.js
@@ -269,7 +269,11 @@
 TaskController.prototype.executeDefaultTask = function() {
   this.getFileTasks()
       .then(function(tasks) {
-        tasks.execute(this.ui_.fileContextMenu.defaultTaskMenuItem);
+        var task = {
+          taskId: this.ui_.fileContextMenu.defaultTaskMenuItem.taskId,
+          title: this.ui_.fileContextMenu.defaultTaskMenuItem.label,
+        };
+        tasks.execute(task);
       }.bind(this))
       .catch(function(error) {
         if (error)
diff --git a/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn b/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn
index 59d232e..51f062e 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn
+++ b/ui/file_manager/file_manager/foreground/js/ui/BUILD.gn
@@ -38,7 +38,6 @@
     ":progress_center_panel",
     ":providers_menu",
     ":search_box",
-    ":share_dialog",
     ":suggest_apps_dialog",
   ]
 }
@@ -211,7 +210,6 @@
     ":progress_center_panel",
     ":providers_menu",
     ":search_box",
-    ":share_dialog",
     ":suggest_apps_dialog",
     "..:launch_param",
     "..:providers_model",
@@ -358,17 +356,6 @@
   ]
 }
 
-# TODO(tapted): Move this into //ui/file_manager/base.
-js_library("share_dialog") {
-  visibility += [ "//ui/file_manager/gallery/*" ]
-  deps = [
-    ":file_manager_dialog_base",
-    "..:share_client",
-    "../../../common/js:async_util",
-    "../../../common/js:util",
-  ]
-}
-
 js_library("suggest_apps_dialog") {
   deps = [
     ":file_manager_dialog_base",
diff --git a/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.html b/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.html
index 2cd9bc5..79118e09 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.html
+++ b/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.html
@@ -16,6 +16,7 @@
   <script src="../../../common/js/async_util.js"></script>
   <script src="../../../common/js/mock_entry.js"></script>
   <script src="../../../common/js/unittest_util.js"></script>
+  <script src="../../../common/js/files_app_entry_types.js"></script>
   <script src="../../../common/js/util.js"></script>
   <script src="../../../common/js/volume_manager_common.js"></script>
 
diff --git a/ui/file_manager/file_manager/foreground/js/ui/file_manager_ui.js b/ui/file_manager/file_manager/foreground/js/ui/file_manager_ui.js
index bade340..f5c3216 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/file_manager_ui.js
+++ b/ui/file_manager/file_manager/foreground/js/ui/file_manager_ui.js
@@ -89,13 +89,6 @@
   this.copyConfirmDialog.setOkLabel(str('CONFIRM_COPY_BUTTON_LABEL'));
 
   /**
-   * Share dialog.
-   * @type {!ShareDialog}
-   * @const
-   */
-  this.shareDialog = new ShareDialog(this.element);
-
-  /**
    * Multi-profile share dialog.
    * @type {!MultiProfileShareDialog}
    * @const
diff --git a/ui/file_manager/file_manager/foreground/js/ui/location_line.js b/ui/file_manager/file_manager/foreground/js/ui/location_line.js
index 3d70dc49e..ffe396b 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/location_line.js
+++ b/ui/file_manager/file_manager/foreground/js/ui/location_line.js
@@ -60,7 +60,7 @@
 
 /**
  * Get components for the path of entry.
- * @param {!Entry|!FakeEntry|!FilesAppEntry} entry An entry.
+ * @param {!Entry|!FilesAppEntry} entry An entry.
  * @return {!Array<!LocationLine.PathComponent>} Components.
  * @private
  */
@@ -358,7 +358,7 @@
  * Path component.
  * @param {string} name Name.
  * @param {string} url Url.
- * @param {FakeEntry|FilesAppEntry=} opt_fakeEntry Fake entry should be set when
+ * @param {FilesAppEntry=} opt_fakeEntry Fake entry should be set when
  *     this component represents fake entry.
  * @constructor
  * @struct
@@ -371,12 +371,12 @@
 
 /**
  * Resolve an entry of the component.
- * @return {!Promise<!Entry|!FakeEntry|!FilesAppEntry>} A promise which is
+ * @return {!Promise<!Entry|!FilesAppEntry>} A promise which is
  *     resolved with an entry.
  */
 LocationLine.PathComponent.prototype.resolveEntry = function() {
   if (this.fakeEntry_)
-    return /** @type {!Promise<!Entry|!FakeEntry|!FilesAppEntry>} */ (
+    return /** @type {!Promise<!Entry|!FilesAppEntry>} */ (
         Promise.resolve(this.fakeEntry_));
   else
     return new Promise(
diff --git a/ui/file_manager/file_manager/foreground/js/ui/share_dialog.js b/ui/file_manager/file_manager/foreground/js/ui/share_dialog.js
deleted file mode 100644
index e6dcf93..0000000
--- a/ui/file_manager/file_manager/foreground/js/ui/share_dialog.js
+++ /dev/null
@@ -1,361 +0,0 @@
-// Copyright 2013 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.
-
-/**
- * @param {HTMLElement} parentNode Node to be parent for this dialog.
- * @constructor
- * @extends {FileManagerDialogBase}
- * @implements {ShareClient.Observer}
- */
-function ShareDialog(parentNode) {
-  this.queue_ = new AsyncUtil.Queue();
-  this.onQueueTaskFinished_ = null;
-  this.shareClient_ = null;
-  this.webViewWrapper_ = null;
-  this.webView_ = null;
-  this.failureTimeout_ = null;
-  this.callback_ = null;
-  this.overrideURLForTesting_ = null;
-
-  FileManagerDialogBase.call(this, parentNode);
-}
-
-/**
- * Timeout for loading the share dialog before giving up.
- * @type {number}
- * @const
- */
-ShareDialog.FAILURE_TIMEOUT = 20000;
-
-/**
- * Polling interval for detecting the end of resizing animation.
- * @type {number}
- * @const
- */
-ShareDialog.WEBVIEW_CHECKSIZE_INTERVAL = 66;
-
-/**
- * The result of opening the dialog.
- * @enum {string}
- * @const
- */
-ShareDialog.Result = {
-  // The dialog is closed normally. This includes user cancel.
-  SUCCESS: 'success',
-  // The dialog is closed by network error.
-  NETWORK_ERROR: 'networkError',
-  // The dialog is not opened because it is already showing.
-  ALREADY_SHOWING: 'alreadyShowing'
-};
-Object.freeze(ShareDialog.Result);
-
-/**
- * Wraps a Web View element and adds authorization headers to it.
- * @param {string} urlPattern Pattern of urls to be authorized.
- * @param {WebView} webView Web View element to be wrapped.
- * @constructor
- */
-ShareDialog.WebViewAuthorizer = function(urlPattern, webView) {
-  this.urlPattern_ = urlPattern;
-  this.webView_ = webView;
-  this.initialized_ = false;
-  this.accessToken_ = null;
-};
-
-/**
- * Initializes the web view by installing hooks injecting the authorization
- * headers.
- * @param {function()} callback Completion callback.
- */
-ShareDialog.WebViewAuthorizer.prototype.initialize = function(callback) {
-  if (this.initialized_) {
-    callback();
-    return;
-  }
-
-  var registerInjectionHooks = function() {
-    this.webView_.removeEventListener('loadstop', registerInjectionHooks);
-    this.webView_.request.onBeforeSendHeaders.addListener(
-        this.authorizeRequest_.bind(this),
-        /** @type {!RequestFilter} */ ({urls: [this.urlPattern_]}),
-        ['blocking', 'requestHeaders']);
-    this.initialized_ = true;
-    callback();
-  }.bind(this);
-
-  this.webView_.addEventListener('loadstop', registerInjectionHooks);
-  this.webView_.setAttribute('src', 'data:text/html,');
-};
-
-/**
- * Authorizes the web view by fetching the freshest access tokens.
- * @param {function()} callback Completion callback.
- */
-ShareDialog.WebViewAuthorizer.prototype.authorize = function(callback) {
-  // Fetch or update the access token.
-  chrome.fileManagerPrivate.requestAccessToken(false,  // force_refresh
-      function(inAccessToken) {
-        this.accessToken_ = inAccessToken;
-        callback();
-      }.bind(this));
-};
-
-/**
- * Injects headers into the passed request.
- * @param {!Object} e Request event.
- * @return {!BlockingResponse} Modified headers.
- * @private
- */
-ShareDialog.WebViewAuthorizer.prototype.authorizeRequest_ = function(e) {
-  e.requestHeaders.push({
-    name: 'Authorization',
-    value: 'Bearer ' + this.accessToken_
-  });
-  return /** @type {!BlockingResponse} */ ({requestHeaders: e.requestHeaders});
-};
-
-ShareDialog.prototype = {
-  __proto__: FileManagerDialogBase.prototype
-};
-
-/**
- * Sets an override URLs for testing. It will be used instead of the sharing URL
- * fetched from Drive. Note, that the domain still has to match
- * ShareClient.SHARE_TARGET, as well as the hostname access enabled in the
- * manifest (if different).
- *
- * @param {?string} url
- */
-ShareDialog.prototype.setOverrideURLForTesting = function(url) {
-  this.overrideURLForTesting_ = url;
-};
-
-/**
- * One-time initialization of DOM.
- * @protected
- */
-ShareDialog.prototype.initDom_ = function() {
-  FileManagerDialogBase.prototype.initDom_.call(this);
-  this.frame_.classList.add('share-dialog-frame');
-
-  this.webViewWrapper_ = this.document_.createElement('div');
-  this.webViewWrapper_.className = 'share-dialog-webview-wrapper';
-  this.cancelButton_.hidden = true;
-  this.okButton_.hidden = true;
-  this.closeButton_.hidden = true;
-  this.frame_.insertBefore(this.webViewWrapper_,
-                           this.frame_.querySelector('.cr-dialog-buttons'));
-};
-
-/**
- * @override
- */
-ShareDialog.prototype.onResized = function(width, height, callback) {
-  if (!width || !height)
-    return;
-
-  this.webViewWrapper_.style.width = width + 'px';
-  this.webViewWrapper_.style.height = height + 'px';
-
-  // Wait sending 'resizeComplete' event until the size of the WebView
-  // stabilizes. This is a workaround for crbug.com/693416.
-  // TODO(yamaguchi): Detect animation end by the absolute size to distinguish
-  // it from frame drops.
-  /**
-   * @param {number} previousWidth Width in pixels.
-   * @param {number} previousHeight Height in pixels.
-   */
-  var checkSize = function(previousWidth, previousHeight) {
-    this.webView_.executeScript({
-      code: "[document.documentElement.clientWidth," +
-            " document.documentElement.clientHeight];"
-    }, function(results) {
-      var newWidth = results[0][0];
-      var newHeight = results[0][1];
-      if (newWidth === previousWidth && newHeight === previousHeight) {
-        callback();
-      } else {
-        setTimeout(checkSize.bind(null, newWidth, newHeight),
-            ShareDialog.WEBVIEW_CHECKSIZE_INTERVAL);
-      }
-    }.bind(this));
-  }.bind(this);
-
-  setTimeout(checkSize.bind(null, -1, -1),
-      ShareDialog.WEBVIEW_CHECKSIZE_INTERVAL);
-};
-
-/**
- * @override
- */
-ShareDialog.prototype.onClosed = function() {
-  this.hide();
-};
-
-/**
- * @override
- */
-ShareDialog.prototype.onLoaded = function() {
-  if (this.failureTimeout_) {
-    clearTimeout(this.failureTimeout_);
-    this.failureTimeout_ = null;
-  }
-
-  // Logs added temporarily to track crbug.com/288783.
-  console.debug('Loaded.');
-
-  this.okButton_.hidden = false;
-  this.webViewWrapper_.classList.add('loaded');
-  this.webView_.focus();
-};
-
-/**
- * @override
- */
-ShareDialog.prototype.onLoadFailed = function() {
-  this.hideWithResult(ShareDialog.Result.NETWORK_ERROR);
-};
-
-/**
- * @param {Function=} opt_onHide Called when the dialog is hidden.
- * @override
- */
-ShareDialog.prototype.hide = function(opt_onHide) {
-  this.hideWithResult(ShareDialog.Result.SUCCESS, opt_onHide);
-};
-
-/**
- * Hide the dialog with the result and the callback.
- * @param {ShareDialog.Result} result Result passed to the closing callback.
- * @param {Function=} opt_onHide Callback called at the end of hiding.
- */
-ShareDialog.prototype.hideWithResult = function(result, opt_onHide) {
-  if (!this.isShowing())
-    return;
-
-  if (this.shareClient_) {
-    this.shareClient_.dispose();
-    this.shareClient_ = null;
-  }
-
-  this.webViewWrapper_.textContent = '';
-  if (this.failureTimeout_) {
-    clearTimeout(this.failureTimeout_);
-    this.failureTimeout_ = null;
-  }
-
-  FileManagerDialogBase.prototype.hide.call(
-      this,
-      function() {
-        if (opt_onHide)
-          opt_onHide();
-        this.callback_(result);
-        this.callback_ = null;
-      }.bind(this));
-};
-
-/**
- * Shows the dialog.
- * @param {!Entry} entry Entry to share.
- * @param {function(ShareDialog.Result)} callback Callback to be called when the
- *     showing task is completed. The argument is whether to succeed or not.
- *     Note that cancel is regarded as success.
- */
-ShareDialog.prototype.showEntry = function(entry, callback) {
-  // If the dialog is already showing, return the error.
-  if (this.isShowing()) {
-    callback(ShareDialog.Result.ALREADY_SHOWING);
-    return;
-  }
-
-  // Initialize the variables.
-  this.callback_ = callback;
-  this.webViewWrapper_.style.width = '';
-  this.webViewWrapper_.style.height = '';
-  this.webViewWrapper_.classList.remove('loaded');
-
-  // If the embedded share dialog is not started within some time, then
-  // give up and show an error message.
-  this.failureTimeout_ = setTimeout(function() {
-    this.hideWithResult(ShareDialog.Result.NETWORK_ERROR);
-
-    // Logs added temporarily to track crbug.com/288783.
-    console.debug('Timeout. Web View points at: ' + this.webView_.src);
-  }.bind(this), ShareDialog.FAILURE_TIMEOUT);
-
-  // TODO(mtomasz): Move to initDom_() once and reuse <webview> once it gets
-  // fixed. See: crbug.com/260622.
-  this.webView_ = /** @type {WebView} */ (util.createChild(
-      this.webViewWrapper_, 'share-dialog-webview', 'webview'));
-  this.webViewAuthorizer_ = new ShareDialog.WebViewAuthorizer(
-      !window.IN_TEST ? (ShareClient.SHARE_TARGET + '/*') : '<all_urls>',
-      this.webView_);
-  this.webView_.addEventListener('newwindow', function(e) {
-    e = /** @type {NewWindowEvent} */ (e);
-    // Discard the window object and reopen in an external window.
-    e.window.discard();
-    util.visitURL(e.targetUrl);
-  });
-  var show = FileManagerDialogBase.prototype.showBlankDialog.call(this);
-  if (!show) {
-    // The code shoundn't get here, since already-showing was handled before.
-    console.error('ShareDialog can\'t be shown.');
-    return;
-  }
-
-  // Initialize and authorize the Web View tag asynchronously.
-  var group = new AsyncUtil.Group();
-
-  var shareUrl;
-  if (this.overrideURLForTesting_) {
-    console.debug('Using an override URL for testing: ' +
-        this.overrideURLForTesting_);
-    shareUrl = this.overrideURLForTesting_;
-  } else {
-    // Fetches an url to the sharing dialog.
-    group.add(function(inCallback) {
-      chrome.fileManagerPrivate.getShareUrl(
-          entry,
-          function(inShareUrl) {
-            if (!chrome.runtime.lastError)
-              shareUrl = inShareUrl;
-            else
-              console.error(chrome.runtime.lastError.message);
-            inCallback();
-          });
-    });
-  }
-
-  group.add(this.webViewAuthorizer_.initialize.bind(this.webViewAuthorizer_));
-  group.add(this.webViewAuthorizer_.authorize.bind(this.webViewAuthorizer_));
-
-  // Loads the share widget once all the previous async calls are finished.
-  group.run(function() {
-    // If the url is not obtained, return the network error.
-    if (!shareUrl) {
-      // Logs added temporarily to track crbug.com/288783.
-      console.debug('The share URL is not available.');
-
-      this.hideWithResult(ShareDialog.Result.NETWORK_ERROR);
-      return;
-    }
-    // Already inactive, therefore ignore.
-    if (!this.isShowing())
-      return;
-    this.shareClient_ = new ShareClient(this.webView_,
-                                        shareUrl,
-                                        this);
-    this.shareClient_.load();
-  }.bind(this));
-};
-
-/**
- * Tells whether the share dialog is showing or not.
- *
- * @return {boolean} True since the show method is called and until the closing
- *     callback is invoked.
- */
-ShareDialog.prototype.isShowing = function() {
-  return !!this.callback_;
-};
diff --git a/ui/file_manager/file_manager/foreground/js/volume_manager_wrapper.js b/ui/file_manager/file_manager/foreground/js/volume_manager_wrapper.js
index 4a3696e..db346d2 100644
--- a/ui/file_manager/file_manager/foreground/js/volume_manager_wrapper.js
+++ b/ui/file_manager/file_manager/foreground/js/volume_manager_wrapper.js
@@ -300,7 +300,7 @@
 /**
  * Obtains location information from an entry.
  *
- * @param {(!Entry|!FakeEntry|!FilesAppEntry)} entry File or directory entry.
+ * @param {(!Entry|!FilesAppEntry)} entry File or directory entry.
  * @return {EntryLocation} Location information.
  */
 VolumeManagerWrapper.prototype.getLocationInfo = function(entry) {
diff --git a/ui/file_manager/file_manager/test/crostini.js b/ui/file_manager/file_manager/test/crostini.js
index 2966aaac..0ca0b22 100644
--- a/ui/file_manager/file_manager/test/crostini.js
+++ b/ui/file_manager/file_manager/test/crostini.js
@@ -195,6 +195,57 @@
       });
 };
 
+crostini.testErrorOpeningDownloadsWithDefaultCrostiniApp = (done) => {
+  // Save old fmp.getFileTasks and replace with version that returns
+  // crostini app and chrome Text app.
+  let oldGetFileTasks = chrome.fileManagerPrivate.getFileTasks;
+  chrome.fileManagerPrivate.getFileTasks = (entries, callback) => {
+    setTimeout(callback, 0, [{
+                 taskId: 'crostini-app-id|crostini|open-with',
+                 title: 'Crostini App',
+                 verb: 'open_with',
+                 isDefault: true,
+               }]);
+  };
+
+  test.setupAndWaitUntilReady()
+      .then(() => {
+        // Right click on 'world.ogv' file, wait for dialog with the default
+        // task action.
+        assertTrue(test.fakeMouseRightClick('[file-name="world.ogv"]'));
+        return test.repeatUntil(() => {
+          return document
+                     .querySelector(
+                         'cr-menu-item[command="#default-task"]:not([hidden])')
+                     .label === 'Crostini App' ||
+              test.pending('Waiting for default task menu item');
+        });
+      })
+      .then(() => {
+        // Click 'Open with', wait for picker.
+        assertTrue(
+            test.fakeMouseClick('cr-menu-item[command="#default-task"]'));
+        return test.waitForElement('.cr-dialog-container');
+      })
+      .then(() => {
+        // Validate error messages, click 'OK' to close.  Ensure dialog closes.
+        assertEquals(
+            'Unable to open with Crostini App',
+            document.querySelector('.cr-dialog-title').innerText);
+        assertEquals(
+            'To open files with Crostini App, ' +
+                'first copy to Linux files folder.',
+            document.querySelector('.cr-dialog-text').innerText);
+        assertTrue(test.fakeMouseClick('button.cr-dialog-ok'));
+        return test.waitForElementLost('.cr-dialog-container.shown');
+      })
+      .then(() => {
+        // Restore fmp.getFileTasks.
+        chrome.fileManagerPrivate.getFileTasks = oldGetFileTasks;
+        done();
+      });
+};
+
 crostini.testSharePathCrostiniSuccess = (done) => {
   let sharePathCalled = false;
   chrome.fileManagerPrivate.sharePathWithCrostini = (callback) => {
diff --git a/ui/file_manager/file_manager/test/js/test_util.js b/ui/file_manager/file_manager/test/js/test_util.js
index 0004e04a..9642706 100644
--- a/ui/file_manager/file_manager/test/js/test_util.js
+++ b/ui/file_manager/file_manager/test/js/test_util.js
@@ -8,7 +8,7 @@
 var test = test || {};
 
 // Update paths for testing.
-constants.FILES_QUICK_VIEW_HTML = 'test/gen/elements/files_quick_view.html';
+constants.FILES_QUICK_VIEW_HTML = 'test/gen/foreground/elements/files_quick_view.html';
 constants.DRIVE_WELCOME_CSS = FILE_MANAGER_ROOT + constants.DRIVE_WELCOME_CSS;
 
 // Stores Blobs loaded from src/chrome/test/data/chromeos/file_manager.
@@ -238,7 +238,12 @@
   hiddenFile: new test.TestEntryInfo(
     test.EntryType.FILE, 'text.txt', '.hiddenfile.txt',
     'text/plain', test.SharedOption.NONE, 'Sep 30, 2014, 3:30 PM',
-    '.hiddenfile.txt', '51 bytes', 'Plain text')
+    '.hiddenfile.txt', '51 bytes', 'Plain text'),
+
+  mhtml: new test.TestEntryInfo(
+      test.EntryType.FILE, 'text.txt', 'hello.mhtml', 'text/html',
+      test.SharedOption.NONE, 'Sep 4, 1998, 12:34 PM', 'hello.mhtml',
+      '51 bytes', 'HTML document'),
 };
 
 /**
diff --git a/ui/file_manager/file_manager/test/quick_view.js b/ui/file_manager/file_manager/test/quick_view.js
index bd45cc8..6c16936 100644
--- a/ui/file_manager/file_manager/test/quick_view.js
+++ b/ui/file_manager/file_manager/test/quick_view.js
@@ -6,12 +6,15 @@
 
 /**
  * Helper function to open and close Quick View.
+ * @param {string} file file to open and close.
+ * @param {function(!Element)=} opt_validate optional validation function that
+ *   receives the QuickView element as argument.
  */
-quickview.openCloseQuickView = () => {
+quickview.openCloseQuickView = (file, opt_validate) => {
   // Using an image file for testing https://crbug.com/845830.
   // If this test starts to take too long on the bots, the image could be
   // changed to text file 'hello.txt'.
-  assertTrue(test.selectFile('My Desktop Background.png'));
+  assertTrue(test.selectFile(file));
   // Press Space key.
   assertTrue(test.fakeKeyDown('#file-list', ' ', ' ', false, false, false));
   // Wait until Quick View is displayed and files-safe-media.src is set.
@@ -27,6 +30,10 @@
         return test.pending('Quick View is not opened yet.');
       })
       .then((result) => {
+        // Run optional validate.
+        if (opt_validate)
+          opt_validate(result);
+
         // Click panel and wait for close.
         assertTrue(test.fakeMouseClick(['#quick-view', '#contentPanel']));
         return test.repeatUntil(() => {
@@ -43,7 +50,25 @@
 quickview.testOpenCloseQuickViewDownloads = (done) => {
   test.setupAndWaitUntilReady()
       .then(() => {
-        return quickview.openCloseQuickView();
+        return quickview.openCloseQuickView('My Desktop Background.png');
+      })
+      .then(() => {
+        // Add hello.mhtml file and verify background is white.
+        const entriesWithMhtml =
+            test.BASIC_LOCAL_ENTRY_SET.concat([test.ENTRIES.mhtml]);
+        test.addEntries(entriesWithMhtml, [], []);
+        assertTrue(test.fakeMouseClick('#refresh-button'), 'click refresh');
+        return test.waitForFiles(
+            test.TestEntryInfo.getExpectedRows(entriesWithMhtml));
+      })
+      .then(() => {
+        return quickview.openCloseQuickView('hello.mhtml', (qv) => {
+          const htmlPanel = qv.querySelector(
+              '#innerContentPanel files-safe-media[type="html"]');
+          const style = window.getComputedStyle(htmlPanel);
+          // White background is 'rgb(255, 255, 255)'.
+          assertEquals('rgb(255, 255, 255)', style.backgroundColor, 'bg white');
+        });
       })
       .then(() => {
         done();
@@ -67,7 +92,7 @@
             test.TestEntryInfo.getExpectedRows(test.BASIC_CROSTINI_ENTRY_SET));
       })
       .then(() => {
-        return quickview.openCloseQuickView();
+        return quickview.openCloseQuickView('My Desktop Background.png');
       })
       .then(() => {
         chrome.fileManagerPrivate.removeMount('crostini');
diff --git a/ui/file_manager/file_manager/test/scripts/create_test_main.py b/ui/file_manager/file_manager/test/scripts/create_test_main.py
index f19105b1..0ef82c0a 100755
--- a/ui/file_manager/file_manager/test/scripts/create_test_main.py
+++ b/ui/file_manager/file_manager/test/scripts/create_test_main.py
@@ -129,6 +129,7 @@
     '../../webui/resources/js/load_time_data.js',
     '../../webui/resources/js/webui_resource_test.js',
     'test/js/strings.js',
+    'common/js/files_app_entry_types.js',
     'common/js/util.js',
     'common/js/mock_entry.js',
     'common/js/volume_manager_common.js',
diff --git a/ui/file_manager/gallery/js/BUILD.gn b/ui/file_manager/gallery/js/BUILD.gn
index 55b0ac3..cdeb20b 100644
--- a/ui/file_manager/gallery/js/BUILD.gn
+++ b/ui/file_manager/gallery/js/BUILD.gn
@@ -81,7 +81,6 @@
     "../../file_manager/common/js:util",
     "../../file_manager/foreground/js:volume_manager_wrapper",
     "../../file_manager/foreground/js/ui:files_confirm_dialog",
-    "../../file_manager/foreground/js/ui:share_dialog",
     "../../gallery/js:slide_mode",
     "//ui/webui/resources/js:i18n_template_no_process",
   ]
diff --git a/ui/file_manager/gallery/js/gallery.js b/ui/file_manager/gallery/js/gallery.js
index ba9eb5c..9f1fd20c 100644
--- a/ui/file_manager/gallery/js/gallery.js
+++ b/ui/file_manager/gallery/js/gallery.js
@@ -181,8 +181,6 @@
   this.selectionModel_.addEventListener('change', this.onSelection_.bind(this));
   this.slideMode_.addEventListener('useraction', this.onUserAction_.bind(this));
 
-  this.shareDialog_ = new ShareDialog(this.container_);
-
   // -----------------------------------------------------------------
   // Initialize listeners.
 
@@ -739,10 +737,6 @@
       break;
   }
 
-  // Do not capture keys when share dialog is shown.
-  if (this.shareDialog_.isShowing())
-    return;
-
   // Show UIs when user types any key.
   this.dimmableUIController_.kick();
 
@@ -991,7 +985,24 @@
   var item = this.getSingleSelectedItem();
   if (!item)
     return;
-  this.shareDialog_.showEntry(item.getEntry(), function() {});
+  chrome.fileManagerPrivate.getEntryProperties(
+      [item.getEntry()], ['shareUrl'], results => {
+        if (chrome.runtime.lastError) {
+          console.error(chrome.runtime.lastError.message);
+          return;
+        }
+        if (results.length != 1) {
+          console.error(
+              'getEntryProperties for shareUrl should return 1 entry ' +
+              '(returned ' + results.length + ')');
+          return;
+        }
+        if (results[0].shareUrl === undefined) {
+          console.error('getEntryProperties shareUrl is undefined');
+          return;
+        }
+        util.visitURL(assert(results[0].shareUrl));
+      });
 };
 
 /**
diff --git a/ui/file_manager/gallery/js/gallery_scripts.js b/ui/file_manager/gallery/js/gallery_scripts.js
index b86d48a4..00371b9 100644
--- a/ui/file_manager/gallery/js/gallery_scripts.js
+++ b/ui/file_manager/gallery/js/gallery_scripts.js
@@ -55,12 +55,10 @@
 // <include src="../../file_manager/foreground/js/metadata/metadata_model.js">
 // <include src="../../file_manager/foreground/js/metadata/multi_metadata_provider.js">
 // <include src="../../file_manager/foreground/js/metadata/thumbnail_model.js">
-// <include src="../../file_manager/foreground/js/share_client.js">
 // <include src="../../file_manager/foreground/js/thumbnail_loader.js">
 // <include src="../../file_manager/foreground/js/ui/file_manager_dialog_base.js">
 // <include src="../../file_manager/foreground/js/ui/files_alert_dialog.js">
 // <include src="../../file_manager/foreground/js/ui/files_confirm_dialog.js">
-// <include src="../../file_manager/foreground/js/ui/share_dialog.js">
 // <include src="../../file_manager/foreground/js/volume_manager_wrapper.js">
 
 // <include src="image_editor/image_util.js">
diff --git a/ui/file_manager/image_loader/image_loader_util.js b/ui/file_manager/image_loader/image_loader_util.js
index df19d05..07b1727 100644
--- a/ui/file_manager/image_loader/image_loader_util.js
+++ b/ui/file_manager/image_loader/image_loader_util.js
@@ -2,30 +2,30 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-var ImageLoaderUtil = {};
+function ImageLoaderUtil() {}
 
 /**
- * Checks if the options contain any image processing.
+ * Checks if the options on the request contain any image processing.
  *
  * @param {number} width Source width.
  * @param {number} height Source height.
- * @param {!LoadImageRequest} options The request, containing resizing options.
+ * @param {!LoadImageRequest} request The request, containing resizing options.
  * @return {boolean} True if yes, false if not.
  */
-ImageLoaderUtil.shouldProcess = function(width, height, options) {
-  var targetDimensions = ImageLoaderUtil.resizeDimensions(
-      width, height, options);
+ImageLoaderUtil.shouldProcess = function(width, height, request) {
+  const targetDimensions =
+      ImageLoaderUtil.resizeDimensions(width, height, request);
 
   // Dimensions has to be adjusted.
   if (targetDimensions.width != width || targetDimensions.height != height)
     return true;
 
   // Orientation has to be adjusted.
-  if (!options.orientation.isIdentity())
+  if (!request.orientation.isIdentity())
     return true;
 
   // Non-standard color space has to be converted.
-  if (options.colorSpace && options.colorSpace !== ColorSpace.SRGB)
+  if (request.colorSpace && request.colorSpace !== ColorSpace.SRGB)
     return true;
 
   // No changes required.
@@ -41,33 +41,33 @@
  *
  * @param {number} width Source width.
  * @param {number} height Source height.
- * @param {!LoadImageRequest} options The request, containing resizing options.
+ * @param {!LoadImageRequest} request The request, containing resizing options.
  * @return {!{width: number, height:number}} Dimensions.
  */
-ImageLoaderUtil.resizeDimensions = function(width, height, options) {
-  var scale = options.scale || 1;
-  var targetDimensions = options.orientation.getSizeAfterCancelling(
-      width * scale, height * scale);
-  var targetWidth = targetDimensions.width;
-  var targetHeight = targetDimensions.height;
+ImageLoaderUtil.resizeDimensions = function(width, height, request) {
+  const scale = request.scale || 1;
+  const targetDimensions =
+      request.orientation.getSizeAfterCancelling(width * scale, height * scale);
+  let targetWidth = targetDimensions.width;
+  let targetHeight = targetDimensions.height;
 
-  if (options.maxWidth && targetWidth > options.maxWidth) {
-    var scale = options.maxWidth / targetWidth;
+  if (request.maxWidth && targetWidth > request.maxWidth) {
+    const scale = request.maxWidth / targetWidth;
     targetWidth *= scale;
     targetHeight *= scale;
   }
 
-  if (options.maxHeight && targetHeight > options.maxHeight) {
-    var scale = options.maxHeight / targetHeight;
+  if (request.maxHeight && targetHeight > request.maxHeight) {
+    const scale = request.maxHeight / targetHeight;
     targetWidth *= scale;
     targetHeight *= scale;
   }
 
-  if (options.width)
-    targetWidth = options.width;
+  if (request.width)
+    targetWidth = request.width;
 
-  if (options.height)
-    targetHeight = options.height;
+  if (request.height)
+    targetHeight = request.height;
 
   targetWidth = Math.round(targetWidth);
   targetHeight = Math.round(targetHeight);
@@ -80,20 +80,20 @@
  *
  * @param {HTMLCanvasElement|Image} source Source image or canvas.
  * @param {HTMLCanvasElement} target Target canvas.
- * @param {!LoadImageRequest} options The request, containing resizing options.
+ * @param {!LoadImageRequest} request The request, containing resizing options.
  */
-ImageLoaderUtil.resizeAndCrop = function(source, target, options) {
+ImageLoaderUtil.resizeAndCrop = function(source, target, request) {
   // Calculates copy parameters.
-  var copyParameters = ImageLoaderUtil.calculateCopyParameters(
-      source, options);
+  const copyParameters =
+      ImageLoaderUtil.calculateCopyParameters(source, request);
   target.width = copyParameters.canvas.width;
   target.height = copyParameters.canvas.height;
 
   // Apply.
-  var targetContext =
+  let targetContext =
       /** @type {CanvasRenderingContext2D} */ (target.getContext('2d'));
   targetContext.save();
-  options.orientation.cancelImageOrientation(
+  request.orientation.cancelImageOrientation(
       targetContext, copyParameters.target.width, copyParameters.target.height);
   targetContext.drawImage(
       source,
@@ -121,45 +121,45 @@
  * Calculates copy parameters.
  *
  * @param {HTMLCanvasElement|Image} source Source image or canvas.
- * @param {!LoadImageRequest} options The request, containing resizing options.
+ * @param {!LoadImageRequest} request The request, containing resizing options.
  * @return {!ImageLoaderUtil.CopyParameters} Calculated copy parameters.
  */
-ImageLoaderUtil.calculateCopyParameters = function(source, options) {
-  if (options.crop) {
+ImageLoaderUtil.calculateCopyParameters = function(source, request) {
+  if (request.crop) {
     // When an image is cropped, target should be a fixed size square.
-    assert(options.width);
-    assert(options.height);
-    assert(options.width === options.height);
+    assert(request.width);
+    assert(request.height);
+    assert(request.width === request.height);
 
     // The length of shorter edge becomes dimension of cropped area in the
     // source.
-    var cropSourceDimension = Math.min(source.width, source.height);
+    const cropSourceDimension = Math.min(source.width, source.height);
 
     return {
       source: {
         x: Math.floor((source.width / 2) - (cropSourceDimension / 2)),
         y: Math.floor((source.height / 2) - (cropSourceDimension / 2)),
         width: cropSourceDimension,
-        height: cropSourceDimension
+        height: cropSourceDimension,
       },
       target: {
         x: 0,
         y: 0,
-        width: options.width,
-        height: options.height
+        width: request.width,
+        height: request.height,
       },
       canvas: {
-        width: options.width,
-        height: options.height
+        width: request.width,
+        height: request.height,
       }
     };
   }
 
   // Target dimension is calculated in the rotated(transformed) coordinate.
-  var targetCanvasDimensions = ImageLoaderUtil.resizeDimensions(
-      source.width, source.height, options);
+  const targetCanvasDimensions =
+      ImageLoaderUtil.resizeDimensions(source.width, source.height, request);
 
-  var targetDimensions = options.orientation.getSizeAfterCancelling(
+  const targetDimensions = request.orientation.getSizeAfterCancelling(
       targetCanvasDimensions.width, targetCanvasDimensions.height);
 
   return {
@@ -201,15 +201,16 @@
   if (colorSpace === ColorSpace.SRGB)
     return;
   if (colorSpace === ColorSpace.ADOBE_RGB) {
-    var matrix = ImageLoaderUtil.MATRIX_FROM_ADOBE_TO_STANDARD;
-    var context = target.getContext('2d');
-    var imageData = context.getImageData(0, 0, target.width, target.height);
-    var data = imageData.data;
-    for (var i = 0; i < data.length; i += 4) {
+    const matrix = ImageLoaderUtil.MATRIX_FROM_ADOBE_TO_STANDARD;
+    let context =
+        assertInstanceof(target.getContext('2d'), CanvasRenderingContext2D);
+    let imageData = context.getImageData(0, 0, target.width, target.height);
+    let data = imageData.data;
+    for (let i = 0; i < data.length; i += 4) {
       // Scale to [0, 1].
-      var adobeR = data[i] / 255;
-      var adobeG = data[i + 1] / 255;
-      var adobeB = data[i + 2] / 255;
+      let adobeR = data[i] / 255;
+      let adobeG = data[i + 1] / 255;
+      let adobeB = data[i + 2] / 255;
 
       // Revert gannma transformation.
       adobeR = adobeR <= 0.0556 ? adobeR / 32 : Math.pow(adobeR, 2.2);
@@ -217,9 +218,9 @@
       adobeB = adobeB <= 0.0556 ? adobeB / 32 : Math.pow(adobeB, 2.2);
 
       // Convert color space.
-      var sR = matrix[0] * adobeR + matrix[1] * adobeG + matrix[2] * adobeB;
-      var sG = matrix[3] * adobeR + matrix[4] * adobeG + matrix[5] * adobeB;
-      var sB = matrix[6] * adobeR + matrix[7] * adobeG + matrix[8] * adobeB;
+      let sR = matrix[0] * adobeR + matrix[1] * adobeG + matrix[2] * adobeB;
+      let sG = matrix[3] * adobeR + matrix[4] * adobeG + matrix[5] * adobeB;
+      let sB = matrix[6] * adobeR + matrix[7] * adobeG + matrix[8] * adobeB;
 
       // Gannma transformation.
       sR = sR <= 0.0031308 ? 12.92 * sR : 1.055 * Math.pow(sR, 1 / 2.4) - 0.055;
diff --git a/ui/file_manager/integration_tests/file_manager/share_and_manage_dialog.js b/ui/file_manager/integration_tests/file_manager/share_and_manage_dialog.js
index 0102473..15782216 100644
--- a/ui/file_manager/integration_tests/file_manager/share_and_manage_dialog.js
+++ b/ui/file_manager/integration_tests/file_manager/share_and_manage_dialog.js
@@ -8,7 +8,7 @@
  * Test sharing dialog for a file or directory on Drive
  * @param {string} path Path for a file or a directory to be shared.
  */
-function share(path) {
+function share(path, expected_share_url) {
   var appId;
   var caller = getCaller();
   StepsRunner.run([
@@ -46,31 +46,14 @@
       const item = ['#share-menu [command="#share"]'];
       remoteCall.callRemoteTestUtil('fakeMouseClick', appId, item, this.next);
     },
-    // Wait until the share dialog's (mocked) content is shown.
+    // Wait for the browser window to appear.
     function(result) {
       chrome.test.assertTrue(!!result);
-      remoteCall.waitForElement(appId, '.share-dialog-webview-wrapper.loaded')
-          .then(this.next);
+      remoteCall.callRemoteTestUtil('getLastVisitedURL', appId, [], this.next);
     },
-    // Wait until the share dialog's contents are shown.
-    function() {
-      remoteCall.callRemoteTestUtil(
-          'executeScriptInWebView', appId,
-          [
-            '.share-dialog-webview-wrapper.loaded webview',
-            'document.querySelector("button").click()'
-          ],
-          this.next);
-    },
-    // Wait until the share dialog's contents are hidden.
-    function(result) {
-      chrome.test.assertTrue(!!result);
-      remoteCall
-          .waitForElementLost(appId, '.share-dialog-webview-wrapper.loaded')
-          .then(this.next);
-    },
-    // Check for Javascript errros.
-    function() {
+    // Check we went to the correct URL, and for Javascript errors.
+    function(visitedUrl) {
+      chrome.test.assertEq(expected_share_url, visitedUrl);
       checkIfNoErrorsOccured(this.next);
     }
   ]);
@@ -153,14 +136,16 @@
  * Tests sharing a file on Drive.
  */
 testcase.shareFileDrive = function() {
-  share('world.ogv');
+  share(
+      'world.ogv',
+      'https://file_alternate_link/world.ogv?userstoinvite=%22%22');
 };
 
 /**
  * Tests sharing a directory on Drive.
  */
 testcase.shareDirectoryDrive = function() {
-  share('photos');
+  share('photos', 'https://folder_alternate_link/photos?userstoinvite=%22%22');
 };
 
 // TODO(sashab): Add tests for sharing a file on Team Drives.
diff --git a/ui/gl/gl_context_egl.cc b/ui/gl/gl_context_egl.cc
index 66d5f54d..a8f1c62 100644
--- a/ui/gl/gl_context_egl.cc
+++ b/ui/gl/gl_context_egl.cc
@@ -27,17 +27,17 @@
 
 #ifndef EGL_CHROMIUM_create_context_bind_generates_resource
 #define EGL_CHROMIUM_create_context_bind_generates_resource 1
-#define EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM 0x3AAD
+#define EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM 0x33AD
 #endif /* EGL_CHROMIUM_create_context_bind_generates_resource */
 
 #ifndef EGL_ANGLE_create_context_webgl_compatibility
 #define EGL_ANGLE_create_context_webgl_compatibility 1
-#define EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE 0x3AAC
+#define EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE 0x33AC
 #endif /* EGL_ANGLE_create_context_webgl_compatibility */
 
 #ifndef EGL_ANGLE_display_texture_share_group
 #define EGL_ANGLE_display_texture_share_group 1
-#define EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE 0x3AAF
+#define EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE 0x33AF
 #endif /* EGL_ANGLE_display_texture_share_group */
 
 #ifndef EGL_ANGLE_create_context_client_arrays
diff --git a/ui/strings/ui_strings.grd b/ui/strings/ui_strings.grd
index fcf59a3d..cf60587 100644
--- a/ui/strings/ui_strings.grd
+++ b/ui/strings/ui_strings.grd
@@ -444,6 +444,9 @@
       <message name="IDS_APP_ACCNAME_MENU" desc="The accessible name for the Menu button.">
         Menu
       </message>
+      <message name="IDS_APP_ACCNAME_COLOR_CHOOSER_HEX_INPUT" desc="The accessible name for the color chooser hexadecimal input field">
+        Hex color value
+      </message>
 
       <!-- Scroll Bar Context Menu Labels -->
       <message name="IDS_APP_SCROLLBAR_CXMENU_SCROLLHERE" desc="The label for the 'Scroll Here' item">
diff --git a/ui/strings/ui_strings_grd/IDS_APP_ACCNAME_COLOR_CHOOSER_HEX_INPUT.png.sha1 b/ui/strings/ui_strings_grd/IDS_APP_ACCNAME_COLOR_CHOOSER_HEX_INPUT.png.sha1
new file mode 100644
index 0000000..6b9993fc
--- /dev/null
+++ b/ui/strings/ui_strings_grd/IDS_APP_ACCNAME_COLOR_CHOOSER_HEX_INPUT.png.sha1
@@ -0,0 +1 @@
+6f818215e03008c17e7fe7f3ac6b88d0ca52e958
\ No newline at end of file
diff --git a/ui/strings/ui_strings_grd/OWNERS b/ui/strings/ui_strings_grd/OWNERS
new file mode 100644
index 0000000..72e8ffc
--- /dev/null
+++ b/ui/strings/ui_strings_grd/OWNERS
@@ -0,0 +1 @@
+*
diff --git a/ui/views/cocoa/bridged_content_view.mm b/ui/views/cocoa/bridged_content_view.mm
index 8af88bc..f311338 100644
--- a/ui/views/cocoa/bridged_content_view.mm
+++ b/ui/views/cocoa/bridged_content_view.mm
@@ -34,10 +34,6 @@
 #import "ui/views/cocoa/bridged_native_widget.h"
 #import "ui/views/cocoa/bridged_native_widget_host.h"
 #import "ui/views/cocoa/drag_drop_client_mac.h"
-#include "ui/views/controls/label.h"
-#include "ui/views/view.h"
-#include "ui/views/widget/native_widget_mac.h"
-#include "ui/views/widget/widget.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
 namespace {
diff --git a/ui/views/cocoa/bridged_native_widget_host_impl.h b/ui/views/cocoa/bridged_native_widget_host_impl.h
index fa54a1b..7e72147b 100644
--- a/ui/views/cocoa/bridged_native_widget_host_impl.h
+++ b/ui/views/cocoa/bridged_native_widget_host_impl.h
@@ -7,6 +7,7 @@
 
 #include <memory>
 
+#include "base/mac/scoped_nsobject.h"
 #include "base/macros.h"
 #include "ui/accelerated_widget_mac/accelerated_widget_mac.h"
 #include "ui/base/ime/input_method_delegate.h"
@@ -16,13 +17,11 @@
 #include "ui/views/views_export.h"
 #include "ui/views/widget/widget.h"
 #include "ui/views/window/dialog_observer.h"
+#include "ui/views_bridge_mac/mojo/bridged_native_widget.mojom.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
-namespace views_bridge_mac {
-namespace mojom {
-class BridgedNativeWidget;
-}  // namespace mojom
-}  // namespace views_bridge_mac
+@class NativeWidgetMacNSWindow;
+@class NSView;
 
 namespace ui {
 class RecyclableCompositorMac;
@@ -67,6 +66,11 @@
     return native_widget_mac_;
   }
 
+  // A NSWindow that is guaranteed to exist in this process. If the bridge
+  // object for this host is in this process, then this points to the bridge's
+  // NSWindow. Otherwise, it mirrors the id and bounds of the child window.
+  NativeWidgetMacNSWindow* GetLocalNSWindow() const;
+
   // The mojo interface through which to communicate with the underlying
   // NSWindow and NSView.
   views_bridge_mac::mojom::BridgedNativeWidget* bridge() const;
@@ -78,6 +82,10 @@
 
   TooltipManager* tooltip_manager() { return tooltip_manager_.get(); }
 
+  // Create and set the bridge object to be in this process.
+  void CreateLocalBridge(base::scoped_nsobject<NativeWidgetMacNSWindow> window,
+                         NSView* parent);
+
   void InitWindow(const Widget::InitParams& params);
 
   // Changes the bounds of the window and the hosted layer if present. The
@@ -268,6 +276,9 @@
   // instance that may be in another process.
   std::unique_ptr<BridgedNativeWidgetImpl> bridge_impl_;
 
+  // Window that is guaranteed to exist in this process (see GetLocalNSWindow).
+  base::scoped_nsobject<NativeWidgetMacNSWindow> local_window_;
+
   std::unique_ptr<TooltipManager> tooltip_manager_;
   std::unique_ptr<ui::InputMethod> input_method_;
   FocusManager* focus_manager_ = nullptr;  // Weak. Owned by our Widget.
diff --git a/ui/views/cocoa/bridged_native_widget_host_impl.mm b/ui/views/cocoa/bridged_native_widget_host_impl.mm
index 616579d..501af48 100644
--- a/ui/views/cocoa/bridged_native_widget_host_impl.mm
+++ b/ui/views/cocoa/bridged_native_widget_host_impl.mm
@@ -74,9 +74,7 @@
 
 BridgedNativeWidgetHostImpl::BridgedNativeWidgetHostImpl(
     NativeWidgetMac* parent)
-    : id_(++g_last_bridged_native_widget_id),
-      native_widget_mac_(parent),
-      bridge_impl_(new BridgedNativeWidgetImpl(id_, this, this)) {
+    : id_(++g_last_bridged_native_widget_id), native_widget_mac_(parent) {
   DCHECK(GetIdToWidgetHostImplMap().find(id_) ==
          GetIdToWidgetHostImplMap().end());
   GetIdToWidgetHostImplMap().insert(std::make_pair(id_, this));
@@ -100,9 +98,25 @@
   DestroyCompositor();
 }
 
+NativeWidgetMacNSWindow* BridgedNativeWidgetHostImpl::GetLocalNSWindow() const {
+  return local_window_.get();
+}
+
 views_bridge_mac::mojom::BridgedNativeWidget*
 BridgedNativeWidgetHostImpl::bridge() const {
-  return bridge_impl_.get();
+  if (bridge_impl_)
+    return bridge_impl_.get();
+  return nullptr;
+}
+
+void BridgedNativeWidgetHostImpl::CreateLocalBridge(
+    base::scoped_nsobject<NativeWidgetMacNSWindow> window,
+    NSView* parent) {
+  local_window_ = window;
+  bridge_impl_ = std::make_unique<BridgedNativeWidgetImpl>(id_, this, this);
+  bridge_impl_->SetWindow(window);
+  if (parent)
+    bridge_impl_->SetParent(parent);
 }
 
 void BridgedNativeWidgetHostImpl::InitWindow(const Widget::InitParams& params) {
@@ -112,8 +126,6 @@
   widget_type_ = params.type;
   tooltip_manager_.reset(new TooltipManagerMac(bridge()));
 
-  bridge_impl_->SetParent(params.parent);
-
   // Initialize the window.
   {
     auto bridge_params = BridgedNativeWidgetInitParams::New();
diff --git a/ui/views/cocoa/bridged_native_widget_unittest.mm b/ui/views/cocoa/bridged_native_widget_unittest.mm
index 7213a28..e1ac3a8 100644
--- a/ui/views/cocoa/bridged_native_widget_unittest.mm
+++ b/ui/views/cocoa/bridged_native_widget_unittest.mm
@@ -308,7 +308,7 @@
                       styleMask:NSBorderlessWindowMask
                         backing:NSBackingStoreBuffered
                           defer:NO]);
-    bridge_impl()->SetWindow(window);
+    bridge_host_for_testing()->CreateLocalBridge(window, params.parent);
     bridge_host_for_testing()->InitWindow(params);
 
     // Usually the bridge gets initialized here. It is skipped to run extra
@@ -384,7 +384,9 @@
   }
 
   NSWindow* bridge_window() const {
-    return native_widget_mac_->bridge_impl()->ns_window();
+    if (native_widget_mac_->bridge_impl())
+      return native_widget_mac_->bridge_impl()->ns_window();
+    return nil;
   }
 
  protected:
@@ -844,8 +846,8 @@
   std::unique_ptr<MockNativeWidgetMac> native_widget(
       new MockNativeWidgetMac(nullptr));
   native_widget_mac_ = native_widget.get();
-  EXPECT_FALSE(bridge()->ns_view());
-  EXPECT_FALSE(bridge()->ns_window());
+  EXPECT_FALSE(bridge());
+  EXPECT_FALSE(bridge_host()->GetLocalNSWindow());
 }
 
 // Tests the shadow type given in InitParams.
diff --git a/ui/views/color_chooser/color_chooser_view.cc b/ui/views/color_chooser/color_chooser_view.cc
index d844b6a5..19eab2e 100644
--- a/ui/views/color_chooser/color_chooser_view.cc
+++ b/ui/views/color_chooser/color_chooser_view.cc
@@ -15,10 +15,12 @@
 #include "cc/paint/paint_shader.h"
 #include "third_party/skia/include/core/SkPath.h"
 #include "third_party/skia/include/effects/SkGradientShader.h"
+#include "ui/base/l10n/l10n_util.h"
 #include "ui/events/event.h"
 #include "ui/events/keycodes/keyboard_codes.h"
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/geometry/insets.h"
+#include "ui/strings/grit/ui_strings.h"
 #include "ui/views/background.h"
 #include "ui/views/border.h"
 #include "ui/views/color_chooser/color_chooser_listener.h"
@@ -389,6 +391,8 @@
   textfield_ = new Textfield();
   textfield_->set_controller(this);
   textfield_->SetDefaultWidthInChars(kTextfieldLengthInChars);
+  textfield_->SetAccessibleName(
+      l10n_util::GetStringUTF16(IDS_APP_ACCNAME_COLOR_CHOOSER_HEX_INPUT));
   layout->AddView(textfield_);
   selected_color_patch_ = new SelectedColorPatchView();
   layout->AddView(selected_color_patch_);
diff --git a/ui/views/widget/native_widget_mac.mm b/ui/views/widget/native_widget_mac.mm
index db456522..5a08128 100644
--- a/ui/views/widget/native_widget_mac.mm
+++ b/ui/views/widget/native_widget_mac.mm
@@ -111,7 +111,7 @@
   name_ = params.name;
   base::scoped_nsobject<NativeWidgetMacNSWindow> window(
       [CreateNSWindow(params) retain]);
-  bridge_impl()->SetWindow(window);
+  bridge_host_->CreateLocalBridge(std::move(window), params.parent);
   bridge_host_->InitWindow(params);
 
   // Only set always-on-top here if it is true since setting it may affect how
@@ -174,7 +174,7 @@
 }
 
 gfx::NativeWindow NativeWidgetMac::GetNativeWindow() const {
-  return bridge_impl() ? bridge_impl()->ns_window() : nil;
+  return bridge_host_ ? bridge_host_->GetLocalNSWindow() : nil;
 }
 
 Widget* NativeWidgetMac::GetTopLevelWidget() {
diff --git a/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js b/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js
index 45d8db17..3eb059e 100644
--- a/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js
+++ b/ui/webui/resources/cr_elements/cr_container_shadow_behavior.js
@@ -29,7 +29,7 @@
     var dropShadow = document.createElement('div');
     // This ID should match the CSS rules in shared_styles_css.html.
     dropShadow.id = 'cr-container-shadow';
-    this.shadowRoot.insertBefore(dropShadow, this.$.container);
+    this.$.container.parentNode.insertBefore(dropShadow, this.$.container);
 
     // Dummy element used to detect scrolling. Has a 0px height intentionally.
     var intersectionProbe = document.createElement('div');
diff --git a/webrunner/app/sandbox_policy b/webrunner/app/sandbox_policy
index cb3a3c7..2da7fcd 100644
--- a/webrunner/app/sandbox_policy
+++ b/webrunner/app/sandbox_policy
@@ -2,7 +2,7 @@
   "features": [],
   "services": [
       "chromium.web.ContextProvider",
-      "fuchsia.fonts.FontProvider",
+      "fuchsia.fonts.Provider",
       "fuchsia.media.Audio",
       "fuchsia.net.LegacySocketProvider",
       "fuchsia.netstack.Netstack",